@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans: "Space Grotesk Variable", "Space Grotesk", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--fs-xs: 11.5px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 26px;--fs-2xl: 34px;--track-tight: -.02em;--track-label: .08em;--track-code: -.01em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--r-sm: 6px;--r: 10px;--r-lg: 14px;--r-full: 9999px;--tap-min: 44px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--bg: #f1ebdf;--surface: #faf5ea;--surface-2: #e9e1d1;--surface-hover: #e4dbc9;--surface-active: #d9cfb9;--border: #ddd3c0;--border-strong: #c2b6a0;--text: #2b2822;--text-muted: #6b6353;--text-inverse: #faf5ea;--primary: #1d627f;--primary-hover: #16495f;--primary-fg: #f7f3ea;--primary-tint: #e4eef3;--accent-text: #1d627f;--navy: #041f46;--route-b: #4a7c59;--success: #3d6848;--success-solid: #5a8c69;--success-bg: #e9efe4;--success-border: #c3d4bf;--warning: #8a5f28;--warning-solid: #a2722f;--warning-bg: #f4ecdb;--warning-border: #e2cfa8;--danger: #9c4a46;--danger-solid: #bf6360;--danger-bg: #f3e5e2;--danger-border: #e0bcb7;--focus-ring: #1d627f;--shadow-color: 35 25% 30%;--shadow-sm: 0 1px 2px hsl(var(--shadow-color) / .08);--shadow: 0 2px 12px hsl(var(--shadow-color) / .1);--shadow-lg: 0 16px 44px hsl(var(--shadow-color) / .22);--card: var(--surface);--ink: var(--text);--muted: var(--text-muted);--blue: var(--primary);--lblue: #9fc4d4;--line: var(--border);--green: var(--success);--amber: var(--warning);--red: var(--danger);--green-bg: var(--success-bg);--amber-bg: var(--warning-bg);--red-bg: var(--danger-bg);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #2b2a27;--surface: #33322e;--surface-2: #3c3a35;--surface-hover: #43413c;--surface-active: #4d4a44;--border: #45423c;--border-strong: #5e584e;--text: #ece6da;--text-muted: #b0a89a;--text-inverse: #2b2a27;--primary: #8dc1d8;--primary-hover: #a6ccdc;--primary-fg: #2b2a27;--primary-tint: #2f3c42;--accent-text: #9bc4d6;--navy: #b8d7e4;--route-b: #7fae8b;--success: #86b394;--success-solid: #6fa07e;--success-bg: #232f28;--success-border: #3a4d40;--warning: #d3ab6b;--warning-solid: #c39a58;--warning-bg: #342f1f;--warning-border: #4e4530;--danger: #cd908b;--danger-solid: #bd7a75;--danger-bg: #352625;--danger-border: #533b39;--focus-ring: #8dc1d8;--lblue: #a6ccdc;--shadow-color: 220 30% 3%;--shadow-sm: 0 1px 2px hsl(var(--shadow-color) / .4);--shadow: 0 2px 12px hsl(var(--shadow-color) / .45);--shadow-lg: 0 18px 50px hsl(var(--shadow-color) / .55);color-scheme:dark}}:root[data-theme=dark]{--bg: #2b2a27;--surface: #33322e;--surface-2: #3c3a35;--surface-hover: #43413c;--surface-active: #4d4a44;--border: #45423c;--border-strong: #5e584e;--text: #ece6da;--text-muted: #b0a89a;--text-inverse: #2b2a27;--primary: #8dc1d8;--primary-hover: #a6ccdc;--primary-fg: #2b2a27;--primary-tint: #2f3c42;--accent-text: #9bc4d6;--navy: #b8d7e4;--route-b: #7fae8b;--success: #86b394;--success-solid: #6fa07e;--success-bg: #232f28;--success-border: #3a4d40;--warning: #d3ab6b;--warning-solid: #c39a58;--warning-bg: #342f1f;--warning-border: #4e4530;--danger: #cd908b;--danger-solid: #bd7a75;--danger-bg: #352625;--danger-border: #533b39;--focus-ring: #8dc1d8;--lblue: #a6ccdc;--shadow-color: 220 30% 3%;--shadow-sm: 0 1px 2px hsl(var(--shadow-color) / .4);--shadow: 0 2px 12px hsl(var(--shadow-color) / .45);--shadow-lg: 0 18px 50px hsl(var(--shadow-color) / .55);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:color-mix(in srgb,var(--primary) 24%,transparent)}.eyebrow{text-transform:uppercase;letter-spacing:var(--track-label);font-size:var(--fs-xs);font-weight:700;color:var(--text-muted)}button{font:inherit;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:background .12s var(--ease-out),border-color .12s var(--ease-out),color .12s var(--ease-out),box-shadow .12s var(--ease-out),transform .14s var(--ease-out)}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}}button:active:not(:disabled){background:var(--surface-active);transform:scale(.97)}@media(pointer:coarse){button,select,textarea,input:not([type=checkbox]):not([type=radio]),.skip-link{min-height:var(--tap-min)}}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:7px 10px}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 24%,transparent)}.app{display:flex;flex-direction:column;height:100%}.app-disclaimer{flex:0 0 auto;padding:var(--sp-1) var(--sp-4);font-size:var(--fs-xs);line-height:1.4;color:var(--text-muted);background:var(--surface);border-top:1px solid var(--border);text-align:center}.app-disclaimer strong{color:var(--text);font-weight:600}.toolbar{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;padding:var(--sp-2) var(--sp-4);background:var(--surface);color:var(--text);border-bottom:1px solid var(--border);position:relative;z-index:30}.toolbar h1{font-size:var(--fs-md);margin:0 var(--sp-2) 0 0;font-weight:700;white-space:nowrap;color:var(--navy);letter-spacing:var(--track-tight);display:flex;align-items:center;gap:8px}.toolbar h1:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--surface);border:3.5px solid var(--primary);flex:none}.toolbar .spacer{flex:1}@media(max-width:760px){.toolbar{padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}.toolbar .spacer{display:none}.progress{min-width:0;flex:1}}.progress{display:flex;flex-direction:column;gap:4px;min-width:190px}.progress .lbl{font-size:var(--fs-xs);color:var(--text-muted)}.progress .bar{height:6px;background:var(--surface-2);border-radius:var(--r-full);position:relative}.progress .fill{height:100%;background:var(--primary);border-radius:var(--r-full);transition:width .4s var(--ease-out);position:relative}.progress .fill:after{content:"";position:absolute;right:-3px;top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;background:var(--surface);border:3px solid var(--primary)}.legend{display:flex;gap:var(--sp-3);align-items:center;font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap}.legend .lg{display:flex;align-items:center;gap:4px}.legend .line{width:22px;height:0;border-top:2.5px solid var(--border-strong)}.legend .line.dash{border-top-style:dashed}.legend .line.red{border-top-color:var(--danger)}@media(max-width:760px){.legend{display:none}}.viewport{flex:1;overflow:hidden;position:relative;cursor:grab;touch-action:none;background:var(--bg);background-image:radial-gradient(color-mix(in srgb,var(--text) 8%,transparent) 1px,transparent 1px);background-size:24px 24px}.viewport.panning{cursor:grabbing}.world{position:absolute;transform-origin:0 0}.edges{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.col-header{position:absolute;text-align:center;font-weight:700;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text);padding:6px 0}.col-header .cr{display:block;font-weight:500;font-size:var(--fs-xs);color:var(--text-muted);text-transform:none;letter-spacing:0;margin-top:2px}.col-header.gap{color:var(--text-muted)}.col-header .col-act{display:inline-block;margin-top:5px;padding:2px 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-muted);opacity:0;transition:opacity .12s,color .12s,border-color .12s;cursor:pointer}.col-header:hover .col-act{opacity:1}.col-header .col-act:hover{border-color:var(--danger);color:var(--danger)}.col-header.gap .col-act{opacity:1;border-color:var(--primary);color:var(--primary)}@media(pointer:coarse){.col-header .col-act{opacity:1}}.add-zone{position:absolute;border:2px dashed var(--border-strong);border-radius:var(--r-lg);display:flex;align-items:flex-start;justify-content:center;padding-top:40px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:var(--fs-xs);pointer-events:none;background:color-mix(in srgb,var(--text) 3%,transparent)}.add-zone.active{border-color:var(--primary);color:var(--primary);background:var(--primary-tint)}.card{position:absolute;border-radius:var(--r);padding:9px 11px 9px 13px;background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;transition:box-shadow .15s var(--ease-out),transform .15s var(--ease-out),border-color .15s var(--ease-out)}.card .code{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-sm);color:var(--text);display:flex;align-items:center;gap:7px;letter-spacing:var(--track-code)}.card .dot{width:11px;height:11px;border-radius:50%;background:var(--surface);border:3px solid var(--text-muted);flex:none;box-sizing:border-box}.card .title{font-size:var(--fs-xs);color:var(--text);font-weight:600;margin-top:4px;max-height:32px;overflow:hidden;line-height:1.35}.card .cr{font-size:var(--fs-xs);color:var(--text-muted);margin-top:4px}.card.st-ok{border-color:var(--success-border)}.card.st-ok .dot{background:var(--success-solid);border-color:var(--success-solid)}.card.st-warn{border-color:var(--warning-border);background:var(--warning-bg)}.card.st-warn .dot{border-color:var(--warning-solid);background:var(--warning-solid)}.card.st-bad{border-color:var(--danger-border);background:var(--danger-bg)}.card.st-bad .dot{border-color:var(--danger-solid);background:var(--danger-solid)}.card.overridden{border-color:var(--success-border)}.card.overridden .dot{background:var(--success-solid);border-style:dashed;border-color:var(--success-solid)}.card.overridden .code:after{content:"override";margin-left:auto;font-family:var(--font-sans);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--success);border:1px solid var(--success-border);border-radius:var(--r-sm);padding:0 4px}.card.done{opacity:.58}.card.done .code:after{content:"✓";color:var(--success);margin-left:auto}.card.slot{border-style:dashed;background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.card.slot .dot{border-style:dashed;border-color:var(--primary);background:transparent}.card.unverified{border-style:dotted;border-color:var(--warning);background:var(--warning-bg)}.card.unverified .dot{border-color:var(--warning-solid)}@media(hover:hover)and (pointer:fine){.card:hover{box-shadow:var(--shadow);transform:translateY(-1px);border-color:var(--primary)}}.card.dragging{z-index:10;box-shadow:var(--shadow-lg);transform:scale(1.02);border-color:var(--primary)}.searchbox{position:relative}.searchbox input{width:330px}@media(max-width:760px){.searchbox{flex:1 1 100%;min-width:0;order:1}.searchbox input{width:100%}}.search-results{position:absolute;top:42px;left:0;width:430px;max-width:90vw;max-height:55vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-lg);z-index:50;display:none;opacity:0;transform:translateY(-4px);transform-origin:top left;transition:opacity .13s var(--ease-out),transform .13s var(--ease-out),display .13s allow-discrete}.search-results.show{display:block;opacity:1;transform:translateY(0)}@starting-style{.search-results.show{opacity:0;transform:translateY(-4px)}}.sr-item{padding:10px 13px;border-bottom:1px solid var(--border);cursor:pointer;color:var(--text)}.sr-item:last-child{border-bottom:none}.sr-item:hover{background:var(--surface-hover)}.sr-code{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-sm);color:var(--text)}.sr-code .inplan{font-family:var(--font-sans);font-size:10.5px;color:var(--success);background:var(--success-bg);border-radius:var(--r-sm);padding:1px 6px;margin-left:7px}.sr-title{font-size:var(--fs-xs);color:var(--text)}.sr-snip{font-size:var(--fs-xs);color:var(--text-muted);margin-top:3px;line-height:1.4}.sr-snip mark{background:color-mix(in srgb,var(--warning-solid) 32%,transparent);color:inherit;padding:0 1px;border-radius:2px}.sr-empty{padding:14px;color:var(--text-muted);font-size:var(--fs-sm)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1a147a;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .2s var(--ease-out)}@starting-style{.overlay{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:640px;width:100%;max-height:82vh;overflow:auto;padding:20px 22px;box-shadow:var(--shadow-lg);transform-origin:center;transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}@starting-style{.modal{opacity:0;transform:scale(.95)}}.modal h2{margin:0 0 4px;font-size:var(--fs-lg);color:var(--text);font-weight:700;letter-spacing:var(--track-tight)}.modal .sub{color:var(--text-muted);font-size:var(--fs-xs);margin-bottom:10px}.modal .status{border-radius:var(--r-sm);padding:9px 12px;font-size:var(--fs-sm);margin:10px 0}.modal .status.ok{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.modal .status.warn{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}.modal .status.bad{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.modal .desc{font-size:var(--fs-sm);color:var(--text)}.modal .row{display:flex;gap:var(--sp-2);margin-top:14px;flex-wrap:wrap}.modal .verbatim{font-size:var(--fs-xs);color:var(--text-muted);border-left:3px solid var(--primary);padding-left:10px;margin:8px 0}@media(max-width:760px){.overlay{padding:var(--sp-2);align-items:flex-end}.modal{max-height:88vh}}.onboard{max-width:720px;margin:32px auto;padding:0 20px 60px}.onboard-hero{padding:6px 0 4px}.onboard-hero h1{font-size:clamp(30px,5.5vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.04;margin:10px 0 8px;color:var(--text)}.onboard-hero .lede{color:var(--text-muted);font-size:var(--fs-md);margin:0 0 4px;max-width:54ch}.onboard-hero .lede a{color:var(--accent-text)}.route-hero{width:100%;height:auto;margin:18px 0 6px;display:block}.route-line{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:route-draw 1.5s var(--ease-out) forwards}.route-line.rl-a{stroke:var(--primary)}.route-line.rl-b{stroke:var(--route-b);animation-delay:.22s}.route-stop{fill:var(--surface);stroke:var(--text);stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;animation:stop-pop .34s var(--ease-out) forwards}.route-stop.s1{animation-delay:.5s}.route-stop.s2{animation-delay:.64s}.route-stop.s3{animation-delay:.78s}.route-stop.s4{animation-delay:.92s}.route-stop.s5{animation-delay:1.06s}.route-stop.s6{animation-delay:1.2s}@keyframes route-draw{to{stroke-dashoffset:0}}@keyframes stop-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.onboard .step{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;margin:14px 0;box-shadow:var(--shadow-sm)}.onboard .step h3{margin:0 0 10px;font-size:var(--fs-md);color:var(--text);font-weight:700}.onboard .step-help{margin:-4px 0 12px;font-size:var(--fs-sm);color:var(--text-muted);max-width:62ch;line-height:1.55}.onboard .ed-pick{display:flex;flex-direction:column;gap:var(--sp-1);max-width:min(320px,100%)}.onboard select{width:100%;max-width:100%;min-width:0}.onboard .ed-pick select{width:100%}.onboard .ed-pick>span{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}.onboard .ed-warn{margin:var(--sp-3) 0 0;padding:var(--sp-2) var(--sp-3);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out),overlay .18s allow-discrete,display .18s allow-discrete;opacity:1;transform:translateY(0);font-size:var(--fs-sm);line-height:1.55;max-width:62ch;color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--r-sm)}.onboard .ed-warn[hidden]{display:none}@starting-style{.onboard .ed-warn{opacity:0;transform:translateY(-4px)}}.onboard .ed-warn strong{color:var(--warning);font-weight:700}.onboard .grid{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.onboard label.check{display:flex;gap:var(--sp-2);align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 10px;cursor:pointer;font-size:var(--fs-sm)}.onboard .prog-list{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:6px;margin-top:8px}.onboard .prog-item{text-align:left;padding:9px 12px;font-weight:500}.onboard .prog-item .meta{font-size:var(--fs-xs);color:var(--text-muted);display:block;font-weight:400}.onboard .picked{border-color:var(--primary);background:var(--primary-tint);color:var(--accent-text)}.onboard .import-zone{border:2px dashed var(--border-strong);border-radius:var(--r);padding:14px;text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.main-row{display:flex;flex:1;min-height:0}.main-row .viewport{flex:1}.panel-resizer{flex:0 0 6px;cursor:col-resize;background:var(--border);opacity:.5;transition:opacity .15s,background .15s;touch-action:none}.panel-resizer:hover,.panel-resizer:active{opacity:1;background:var(--primary)}@media(max-width:760px){.main-row{flex-direction:column}.sidepanel{width:auto;max-width:none;flex:0 1 auto;border-left:none;border-top:1px solid var(--border);max-height:50vh}.panel-resizer{display:none}.main-row>.viewport,.main-row>.listview{min-height:45vh}.sidepanel{max-height:35vh}}@media(max-width:760px)and (orientation:landscape){.main-row>.viewport,.main-row>.listview{min-height:55vh}.sidepanel{max-height:30vh}}.sidepanel{width:360px;max-width:42vw;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border)}.sidepanel-tabs{display:flex;border-bottom:1px solid var(--border)}.sidepanel-tabs button{flex:1;border:none;border-radius:0;padding:10px;background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-label);font-weight:700}.sidepanel-tabs button.active{background:var(--surface);color:var(--primary);border-bottom:2px solid var(--primary)}.chat-messages{flex:1;overflow-y:auto;padding:var(--sp-3)}.chat-empty{color:var(--text-muted);font-size:var(--fs-sm);padding:10px}.chat-empty ul{padding-left:18px}.chat-msg{margin-bottom:10px;transition:opacity .28s var(--ease-out),transform .28s var(--ease-out)}@starting-style{.chat-msg{opacity:0;transform:translateY(6px)}}.chat-msg.user{text-align:right}.chat-msg .chat-bubble{display:inline-block;text-align:left;max-width:92%;padding:8px 11px;border-radius:var(--r-lg);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:break-word}.chat-msg.user .chat-bubble{background:var(--primary);color:var(--primary-fg);border-bottom-right-radius:4px}.chat-msg.assistant .chat-bubble{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px;white-space:normal}.chat-bubble .md>:first-child{margin-top:0}.chat-bubble .md>:last-child{margin-bottom:0}.chat-bubble .md p{margin:6px 0}.chat-bubble .md h3{font-size:var(--fs-sm);margin:10px 0 4px;color:var(--accent-text)}.chat-bubble .md h4,.chat-bubble .md h5,.chat-bubble .md h6{font-size:var(--fs-xs);margin:8px 0 3px;color:var(--text)}.chat-bubble .md ul,.chat-bubble .md ol{margin:5px 0;padding-left:20px}.chat-bubble .md li{margin:3px 0}.chat-bubble .md li::marker{color:var(--text-muted)}.chat-bubble .md strong{font-weight:700}.chat-bubble .md code{font-family:var(--font-mono);background:color-mix(in srgb,var(--text) 9%,transparent);border-radius:4px;padding:0 4px;font-size:var(--fs-xs)}.chat-bubble .md blockquote{margin:6px 0;padding:2px 0 2px 10px;border-left:3px solid var(--border);color:var(--text-muted)}.chat-tools{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:3px}.chat-undo{margin:0 12px 8px;border-color:var(--warning);color:var(--warning)}.chat-input{display:flex;gap:var(--sp-2);padding:10px 12px;border-top:1px solid var(--border);align-items:flex-end}.chat-input textarea{flex:1;resize:none;max-height:140px;overflow-y:auto;line-height:1.4;font-size:var(--fs-sm)}.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--primary);color:var(--primary-fg);padding:8px 14px;border-radius:0 0 8px}.skip-link:focus{left:0}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;animation:none!important}.route-line{stroke-dashoffset:0!important}.route-stop{opacity:1!important}}.toolbar-menu{position:absolute;right:0;top:40px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:6px;z-index:60;display:flex;flex-direction:column;gap:2px;min-width:230px;box-shadow:var(--shadow-lg);transform-origin:top right;transition:opacity .16s var(--ease-out),transform .16s var(--ease-out)}@starting-style{.toolbar-menu{opacity:0;transform:scale(.96) translateY(-4px)}}.toolbar-menu button{text-align:left;border:none;background:var(--surface);color:var(--text);font-weight:500;border-radius:var(--r-sm)}.toolbar-menu button:hover:not(:disabled){background:var(--surface-hover)}.toolbar-menu button:disabled{color:var(--text-muted);background:var(--surface);cursor:default}.listview{flex:1;overflow-y:auto;padding:16px 22px;background:var(--bg)}.listview section{max-width:860px;margin:0 auto 18px}.listview h2{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--text);margin:0 0 6px;font-weight:700}.listview .lv-credits{font-weight:500;font-size:var(--fs-xs);color:var(--text-muted);text-transform:none;letter-spacing:0}.listview ul{list-style:none;margin:0;padding:0}.listview li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:9px 12px;margin-bottom:6px;font-size:var(--fs-sm)}.listview .lv-main{flex:1;min-width:240px}.listview .lv-status{color:var(--text-muted);font-size:var(--fs-xs)}.listview .lv-status.bad{color:var(--danger);font-weight:700}.listview .lv-status.done{color:var(--text);font-weight:600}.listview .lv-code{font-family:var(--font-mono);letter-spacing:var(--track-code)}.listview .lv-term-actions{max-width:860px;margin:0 auto 18px;display:flex;gap:6px}@media(max-width:760px){.listview{padding:var(--sp-3) var(--sp-4)}.listview .lv-main{min-width:0}.listview li{align-items:flex-start}.listview .lv-actions{width:100%}.listview .lv-actions button{flex:1}}.listview .lv-actions{display:flex;gap:6px}.listview .lv-actions button{font-size:var(--fs-xs);padding:4px 9px}.listview .lv-empty{color:var(--text-muted);border-style:dashed}.legal-body{font-size:var(--fs-sm)}.legal-body h3{color:var(--accent-text);margin:12px 0 4px}.legal-body ul{padding-left:20px}.legal-body li{margin-bottom:6px}.sr-item,.prog-item,.toolbar-menu button{transition:background .1s}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);border-radius:var(--r);padding:10px 16px;z-index:200;box-shadow:var(--shadow-lg);font-size:var(--fs-sm);font-weight:500;max-width:min(560px,92vw);transition:opacity .26s var(--ease-out),transform .26s var(--ease-out)}@starting-style{.toast{opacity:0;transform:translate(-50%) translateY(14px)}}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.slot-offerings{font-size:var(--fs-xs);color:var(--text-muted);border-left:2px solid var(--border-strong);padding-left:var(--sp-2);margin:var(--sp-2) 0 var(--sp-3)}.slot-picks{max-height:40vh;overflow:auto;display:grid;gap:var(--sp-1)}.slot-pick{display:grid;grid-template-columns:minmax(5.5rem,auto) 1fr auto;gap:var(--sp-3);align-items:baseline;width:100%;text-align:left;font-weight:500}.slot-pick .code{font-family:var(--font-mono);font-weight:600;color:var(--accent-text)}.slot-pick-title{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-pick-meta{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.slot-pick-chip{padding:1px var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-xs);background:var(--primary-tint);color:var(--accent-text);border:1px solid var(--border)}.slot-pick-chip.is-ready{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}@media(max-width:560px){.slot-pick{grid-template-columns:1fr;gap:2px}.slot-pick-title{white-space:normal}}.slot-provenance{font-size:var(--fs-xs);color:var(--text-muted);margin-top:var(--sp-2)}.slot-provenance a{color:var(--accent-text)}.slot-caveat{font-size:var(--fs-sm);color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);margin-top:var(--sp-2)}.kw{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;padding:0;margin:var(--sp-3) 0}.kw li{font-size:.78rem;line-height:1;padding:5px 9px;border-radius:var(--r-full);background:var(--primary-tint);color:var(--accent-text);border:1px solid transparent;white-space:nowrap}.fixrow{display:grid;gap:var(--sp-3);margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--warning-bg);border:1px solid var(--warning-border, var(--border));border-radius:var(--r-lg)}.fixrow-why{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--text)}.fixrow button{justify-self:start}.link-missing{font-size:var(--fs-sm);line-height:1.55;color:var(--text);background:var(--warning-bg);border-left:3px solid var(--warning);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);margin:0 0 var(--sp-4);max-width:62ch}.landing{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;position:relative}.canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.canvas-fine,.canvas-coarse,.canvas-vignette{position:absolute;top:0;right:0;bottom:0;left:0}.canvas-fine{opacity:.5;background-image:radial-gradient(color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px);background-size:12px 12px}.canvas-coarse{background-image:radial-gradient(color-mix(in srgb,var(--text) 7%,transparent) 1px,transparent 1px);background-size:24px 24px}.canvas-vignette{background:radial-gradient(ellipse at 50% 40%,transparent 45%,rgb(0 0 0 / .08) 100%)}.bar,main,.foot,.menu{position:relative;z-index:2}.bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:56px;padding:var(--sp-2) clamp(1rem,4vw,3rem);background:var(--surface-2);border-bottom:1px solid var(--border-strong)}.brand{display:inline-flex;align-items:center;gap:var(--sp-3);text-decoration:none}.brand img{width:auto;height:34px;display:block;background:#f1ebdf;border-radius:var(--r-sm);padding:3px 5px}.brand span{font-size:1.08rem;font-weight:700;letter-spacing:-.025em;color:var(--text)}.bar-right{display:flex;align-items:center;gap:var(--sp-4);margin:0}@media(max-width:34rem){.bar .bar-cta{display:none}}.menu-btn{display:inline-flex;align-items:center;gap:var(--sp-2);background:none;border:0;cursor:pointer;padding:var(--sp-2);font:inherit;font-size:var(--fs-sm);font-weight:700;color:var(--text)}.menu-btn-bars{display:grid;gap:4px}.menu-btn-bars i{display:block;width:18px;height:2px;background:currentColor}.menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--bg);display:grid;place-items:center;transform:translateY(-100%);transition:transform .32s var(--ease-out)}.menu[hidden]{display:none}.menu.is-open{transform:translateY(0)}.menu nav{display:grid;gap:var(--sp-4);text-align:center}.menu a{font-size:clamp(1.5rem,7vw,2.4rem);font-weight:700;letter-spacing:-.03em;color:var(--text);text-decoration:none}.menu a:hover,.menu .menu-go{color:var(--primary)}.menu.is-open a{animation:menu-in .3s var(--ease-out) both}.menu.is-open a:nth-child(2){animation-delay:.04s}.menu.is-open a:nth-child(3){animation-delay:.08s}.menu.is-open a:nth-child(4){animation-delay:.12s}.menu.is-open a:nth-child(5){animation-delay:.16s}.menu.is-open a:nth-child(6){animation-delay:.2s}@keyframes menu-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.route{width:min(1280px,100% - clamp(1.5rem,6vw,4rem));margin-inline:auto;position:relative}.route:before{content:"";position:absolute;top:0;bottom:0;left:var(--spine-x, 24px);width:3.5px;margin-left:-1.75px;background:var(--primary);opacity:.5;z-index:0}@media(min-width:64rem){.route{--spine-x: 50%}}.stop{position:relative;z-index:1;padding:clamp(2.5rem,7vh,5rem) 0;display:grid;gap:clamp(1.5rem,3vw,2.5rem)}.stop:before{content:"";position:absolute;top:clamp(2.5rem,7vh,5rem);left:var(--spine-x, 24px);width:13px;height:13px;margin:6px 0 0 -5.5px;border-radius:50%;background:var(--bg);border:3px solid var(--primary);z-index:-1}.stop-end:before{background:var(--primary)}@media(min-width:64rem){.stop{grid-template-columns:1fr 1fr;align-items:center;column-gap:clamp(3rem,6vw,5rem)}.stop>*{grid-column:1;justify-self:end}.stop>.at-right{grid-column:2;justify-self:start}.stop-wide>*{grid-column:1 / -1;justify-self:center}.stop:before{top:50%;margin-top:-6.5px}}.module{margin:0;background:var(--surface-2);border:1.5px solid var(--border-strong);border-radius:var(--r-lg);padding:clamp(1.1rem,2.4vw,1.75rem);box-shadow:var(--shadow),inset 0 1px color-mix(in srgb,var(--text) 10%,transparent);transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),border-color .15s var(--ease-out)}.module:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg),inset 0 1px color-mix(in srgb,var(--text) 10%,transparent);border-color:var(--primary)}.tier-1{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm),inset 0 1px color-mix(in srgb,var(--text) 6%,transparent)}.tier-3{background:var(--surface-hover);box-shadow:var(--shadow-lg),inset 0 1px color-mix(in srgb,var(--text) 12%,transparent)}.w-sm{max-width:280px}.w-md{max-width:420px}.w-lg{max-width:640px}.w-xl{max-width:900px}.landing h1,.landing h2{font-weight:700;letter-spacing:var(--track-tight, -.03em);line-height:1.05;margin:0 0 var(--sp-4);text-wrap:balance}.landing h1{font-size:clamp(30px,5.5vw,46px)}.landing h2{font-size:clamp(24px,3.4vw,34px)}.landing h3{font-size:var(--fs-md);font-weight:700;margin:0 0 var(--sp-3)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin:0 0 var(--sp-4)}.lede{font-size:var(--fs-md);line-height:1.5;color:var(--text-muted);max-width:54ch;margin:0 0 var(--sp-4)}.landing p{line-height:1.6;color:var(--text-muted);margin:0 0 var(--sp-4)}.landing p:last-child{margin-bottom:0}.landing strong{color:var(--text)}.landing a:not(.btn):not(.brand){color:var(--primary)}.note{font-size:var(--fs-sm);line-height:1.6;color:var(--text-muted)}.trust{font-size:var(--fs-xs);color:var(--text-muted)}.actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-4) 0 0}.btn{display:inline-flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:.7rem 1.4rem;border-radius:var(--r-full);font-size:var(--fs-base);font-weight:700;text-decoration:none;border:1px solid transparent;transition:background .2s var(--ease-out),border-color .2s var(--ease-out),transform .12s var(--ease-out)}.btn-sm{min-height:36px;padding:.4rem 1rem;font-size:var(--fs-sm)}.btn-go{background:var(--primary);color:var(--primary-fg)}.btn-go:hover{background:var(--primary-hover)}.btn-quiet{border-color:var(--border-strong);color:var(--text)}.btn-quiet:hover{border-color:var(--primary);color:var(--primary)}.btn:active{transform:scale(.98)}.proof>.proof-row{grid-column:1 / -1;justify-self:stretch}.proof-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:clamp(1rem,2.5vw,2rem)}.proof-item{margin:0;display:grid;gap:var(--sp-2);align-content:center;justify-self:center;width:100%}.proof-item strong{font-family:var(--font-mono);font-size:clamp(1.9rem,4vw,2.6rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums}.proof-item span{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.4}.wip{border-left:3px solid var(--warning);padding:var(--sp-2) 0 var(--sp-2) var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted);margin:var(--sp-4) 0 0}.wip strong{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--warning);display:block;margin-bottom:4px}.example{display:grid;gap:var(--sp-3)}.example-q{font-size:var(--fs-md);color:var(--text);margin:0}.example-list{list-style:none;margin:0;padding:0 0 0 var(--sp-4);border-left:2px solid var(--border-strong);display:grid;gap:var(--sp-2)}.example-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3)}.example-name{color:var(--text);font-weight:700;font-size:var(--fs-sm)}.example-kind{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}.example-sum{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--text-muted);margin:0}.shot{margin:0}.shot img,.shot video{display:block;width:100%;height:auto;border-radius:var(--r-sm);background:var(--bg)}.shot figcaption{margin-top:var(--sp-3)}.lp-route svg{width:100%;height:auto;overflow:visible}.lp-route .route-line{fill:none;stroke:var(--primary);stroke-width:5;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:route-draw 1.5s var(--ease-out) forwards}.lp-route .route-stop{opacity:0;transform-box:fill-box;transform-origin:center;animation:stop-pop .34s var(--ease-out) forwards;animation-delay:calc(.4s + var(--i) * .14s)}.lp-route circle{fill:var(--bg);stroke:var(--primary);stroke-width:5}.lp-route .lp-stn{fill:var(--text-muted);stroke:none;font-family:var(--font-mono);font-size:24px;letter-spacing:.06em;text-anchor:middle}.journey{position:relative}.journey-static svg{width:100%;height:auto;overflow:visible}.journey-static .route-line{fill:none;stroke:var(--primary);stroke-width:4;stroke-linecap:round;stroke-dasharray:1600;stroke-dashoffset:1600;animation:route-draw 1.6s var(--ease-out) forwards}.journey-static .route-branch{fill:none;stroke:var(--warning);stroke-width:3;stroke-linecap:round;stroke-dasharray:6 7;opacity:.85}.journey-static .route-stop{opacity:0;transform-box:fill-box;transform-origin:center;animation:stop-pop .34s var(--ease-out) forwards;animation-delay:calc(.35s + var(--i) * .11s)}.journey-static circle{fill:var(--bg);stroke:var(--primary);stroke-width:4}.journey-static .is-conflict circle{stroke:var(--warning)}.journey-static .lp-stn{fill:var(--text-muted);stroke:none;font-family:var(--font-mono);font-size:19px;letter-spacing:.05em;text-anchor:middle}.journey-static .is-conflict .lp-stn{fill:var(--warning)}.journey-flag{color:var(--warning);display:block}.journey.is-live .journey-static{display:none}.journey.is-live{min-height:clamp(26rem,68vh,44rem);display:flex;flex-direction:column}.journey-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:var(--r-lg);display:block}.journey.is-live>:not(.journey-canvas){position:relative;z-index:1}.journey-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:hidden;border-radius:var(--r-lg)}.journey-label{position:absolute;transform:translate(-50%);transition:opacity .18s linear}.journey-label button{pointer-events:auto;display:grid;gap:2px;text-align:center;background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--text);cursor:default;white-space:nowrap}.journey-label button.has-note{cursor:pointer}.journey-label button.has-note:hover{border-color:var(--primary);color:var(--primary)}.journey-label button:disabled{opacity:.72}.journey-label button span{display:block;font-family:var(--font-sans);font-size:11px;letter-spacing:0;color:var(--text-muted);max-width:18ch;overflow:hidden;text-overflow:ellipsis}.journey-label.is-conflict button{border-color:var(--warning);color:var(--warning)}.journey-dialog{width:min(34rem,calc(100vw - 2rem));background:var(--surface-2);color:var(--text);border:1.5px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg),inset 0 1px color-mix(in srgb,var(--text) 10%,transparent);padding:clamp(1.25rem,3vw,2rem)}.journey-dialog::backdrop{background:#0000008c}.jd-body{transition:opacity .12s var(--ease-out),transform .12s var(--ease-out)}.jd-body.is-swapping{opacity:0;transform:translateY(6px)}.jd-kind{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--warning);margin:0 0 var(--sp-2)}.jd-code{font-family:var(--font-mono);font-size:clamp(1.4rem,3vw,1.9rem);margin:0 0 var(--sp-1);letter-spacing:.02em}.jd-title{color:var(--text-muted);margin:0 0 var(--sp-4)}.jd-facts{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-4);margin:0 0 var(--sp-4);font-size:var(--fs-sm)}.jd-facts dt{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.jd-facts dd{margin:0;color:var(--text)}.jd-question{border-left:3px solid var(--primary);padding-left:var(--sp-4);color:var(--text);margin:0 0 var(--sp-4)}.jd-source{font-size:var(--fs-xs);color:var(--text-muted);margin:0}.jd-nav{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-6)}.jd-nav button{min-height:40px;border-radius:var(--r-full);padding:0 var(--sp-4);font-family:var(--font-mono)}.jd-close{margin-left:auto;background:var(--primary);color:var(--primary-fg);border-color:var(--primary);font-family:var(--font-sans)!important;font-weight:700}.jd-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.jd-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:64rem){.journey.is-live{min-height:clamp(22rem,60vh,32rem)}.journey-label button span{display:none}}.asks{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-2)}.asks li{border-left:2px solid var(--border-strong);padding:var(--sp-2) 0 var(--sp-2) var(--sp-4);color:var(--text);font-size:var(--fs-sm);line-height:1.5}.lp-figure strong{display:block;font-family:var(--font-mono);font-size:clamp(2rem,4vw,2.8rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--primary);margin-bottom:var(--sp-2)}.headline-note{font-size:var(--fs-md);font-weight:700;line-height:1.45;color:var(--text);max-width:42ch}.fb{display:grid;gap:var(--sp-4);margin-top:var(--sp-4)}.fb[hidden]{display:none}.fb-row{display:grid;gap:var(--sp-2)}.fb label{font-size:var(--fs-sm);font-weight:700;color:var(--text)}.fb-opt{font-weight:400;color:var(--text-muted);font-size:var(--fs-xs);margin-left:var(--sp-2)}.fb textarea,.fb input[type=email]{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:var(--sp-3);resize:vertical}.fb textarea::placeholder,.fb input::placeholder{color:color-mix(in srgb,var(--text-muted) 70%,transparent)}.fb textarea:focus-visible,.fb input:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary)}.fb-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);margin:0;min-height:1em;text-align:right}.fb-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.fb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4)}.fb-status{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--text-muted)}.fb[data-state=error] .fb-status{color:var(--danger)}.fb[data-state=sent] .fb-status{color:var(--success)}.fb[data-state=sending] button{opacity:.6;pointer-events:none}.connect-page,.legal-page{padding-bottom:0}.wrap{width:min(1200px,100% - clamp(2rem,8vw,6rem));margin-inline:auto;position:relative;z-index:2}.conn-head{padding:clamp(2rem,6vw,4rem) 0 clamp(1.25rem,3vw,2.25rem);position:relative;z-index:2}.conn-head .home{margin:0 0 var(--sp-6)}.conn-head .brand img{height:42px}.conn-head h1{font-size:clamp(2rem,5vw,3.6rem)}.conn-main{padding-bottom:clamp(3rem,7vw,5rem);position:relative;z-index:2}.legal-body{padding-top:var(--sp-6);padding-bottom:var(--sp-8)}.legal-body p,.legal-body li{line-height:1.65;margin:0 0 var(--sp-4);color:var(--text-muted)}.legal-body ul{padding-left:var(--sp-6);margin:0 0 var(--sp-6)}.legal-body li{margin-bottom:var(--sp-4)}.legal-body strong{color:var(--text)}.steps{list-style:none;counter-reset:step;padding:0;margin:0}.steps>li{counter-increment:step;position:relative;padding:0 0 clamp(2rem,4vw,3rem) clamp(3.2rem,6vw,4.4rem);border-left:2px solid var(--border-strong)}.steps>li:last-child{border-left-color:transparent;padding-bottom:var(--sp-8)}.steps>li:before{content:counter(step);position:absolute;left:0;top:0;transform:translate(-50%);width:clamp(2rem,3.2vw,2.4rem);height:clamp(2rem,3.2vw,2.4rem);display:grid;place-items:center;border-radius:50%;background:var(--bg);border:2px solid var(--primary);color:var(--primary);font-family:var(--font-mono);font-size:.85rem;font-weight:700}.steps h2{font-size:clamp(1.25rem,2.4vw,1.8rem);margin:0 0 var(--sp-3)}.steps p{color:var(--text-muted);line-height:1.6;margin:0 0 var(--sp-4);max-width:54ch}.steps .step-do{margin-top:var(--sp-6)}.copyfield{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);background:var(--surface-2);border:1.5px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow),inset 0 1px color-mix(in srgb,var(--text) 10%,transparent);padding:var(--sp-3) var(--sp-3) var(--sp-3) clamp(.9rem,2vw,1.3rem);margin:0 0 var(--sp-4);max-width:34rem}.copyfield-url{font-family:var(--font-mono);font-size:clamp(.82rem,1.5vw,.98rem);color:var(--text);word-break:break-all;flex:1 1 14rem;-webkit-user-select:all;user-select:all}.copyfield-btn{flex:none;background:var(--primary);color:var(--primary-fg);border:0;border-radius:var(--r-full);padding:.6rem 1.25rem;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:700;cursor:pointer}.copyfield-btn.is-done{background:var(--success)}.copyfield-prose{align-items:flex-start;max-width:42rem}.copyfield-text{flex:1 1 18rem;font-size:var(--fs-sm);line-height:1.55;color:var(--text);-webkit-user-select:all;user-select:all;padding:var(--sp-2) 0}.ask-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin:var(--sp-8) 0 var(--sp-3)}.pending{font-size:var(--fs-sm);line-height:1.6;color:var(--text-muted);border-left:3px solid var(--warning);padding-left:var(--sp-4);max-width:48ch}.pending strong{color:var(--text)}.where{margin:0;padding-left:1.1rem;color:var(--text-muted);line-height:1.75;max-width:56ch}.where strong{color:var(--text)}.try{margin-top:clamp(2rem,4vw,3rem)}.try h2{font-size:clamp(1.5rem,3vw,2.2rem)}.close{text-align:center}.close .actions{justify-content:center}.foot{border-top:1px solid var(--border-strong);padding:clamp(2.5rem,6vh,4rem) 0;margin-top:clamp(2rem,5vh,4rem)}.foot-in{width:min(1280px,100% - clamp(1.5rem,6vw,4rem));margin-inline:auto}.disclaim{font-size:var(--fs-base);line-height:1.6;color:var(--text-muted);max-width:64ch}.small{font-size:var(--fs-sm);color:var(--text-muted)}.small a{color:var(--text-muted);text-decoration:none}.small a:hover{color:var(--text)}.built{font-size:var(--fs-xs);margin-top:var(--sp-4)}@supports (animation-timeline: view()){.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 8% cover 28%}}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.reveals-armed .reveal{opacity:0;transform:translateY(20px);transition:opacity .28s var(--ease-out),transform .28s var(--ease-out)}.reveals-armed .reveal.is-in{opacity:1;transform:none}.landing :is(a,.btn,button):focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--r-sm)}@media(max-width:64rem){.route{--spine-x: 24px}.stop{padding-left:46px}.stop:before{margin-left:-5.5px}.w-sm,.w-md,.w-lg,.w-xl{max-width:44rem;width:100%}}@media(prefers-reduced-motion:reduce){.journey-static .route-line{animation:none;stroke-dashoffset:0}.journey-static .route-stop{animation:none;opacity:1}.jd-body{transition:none}.lp-route .route-line{animation:none;stroke-dashoffset:0}.lp-route .route-stop{animation:none;opacity:1}.menu.is-open a{animation:none}.reveals-armed .reveal{opacity:1;transform:none;transition:none}@supports (animation-timeline: view()){.reveal{animation:none;opacity:1;transform:none}}.landing *{transition:none!important}}
