@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0e2240;--ink-2:#33465f;--ink-3:#56677d;--concrete:#eef1f4;--panel:#fff;--signal:#1f5fbf;--signal-strong:#174a96;--signal-soft:#e6eefa;--sign-yellow:#ffc72c;--sign-text:#fff;--sign-muted:#b9c7da;--line:#d3dae3;--line-strong:#7d8b9d;--ok:#1b7a48;--ok-soft:#e5f4ec;--warn:#9a5400;--warn-soft:#fdf0dc;--bad:#b3261e;--bad-soft:#fbe9e7;--series-1:#1f5fbf;--series-2:#0f8a7e;--series-3:#c77700;--series-4:#7a4cc2;--series-5:#56677d;--font:"Atkinson Hyperlegible Next", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:1.5625rem;--fs-2xl:2.4414rem;--fs-sign:clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r-sm:4px;--r-md:6px;--header-h:60px;--max-w:1440px;--tap:44px}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px)}body{background:var(--concrete);color:var(--ink);font-family:var(--font);font-size:var(--fs-md);font-variant-numeric:tabular-nums;margin:0;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.005em;margin:0;font-weight:700;line-height:1.2}h1,h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0 0 var(--s3);max-width:72ch}a{color:var(--signal);text-underline-offset:2px}a:hover{color:var(--signal-strong)}small,.hint{font-size:var(--fs-sm);color:var(--ink-3)}code,kbd{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92em}pre.formula{background:var(--concrete);border-left:3px solid var(--signal);padding:var(--s3) var(--s4);font-size:var(--fs-sm);white-space:pre;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;overflow-x:auto}:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:2px}.on-ink :focus-visible,.suite-header :focus-visible,.sign :focus-visible,.mobile-bar :focus-visible{outline-color:var(--sign-yellow)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}table.visually-hidden{display:block!important}.skip-link{left:var(--s3);z-index:100;background:var(--sign-yellow);color:var(--ink);padding:var(--s2) var(--s3);border-radius:var(--r-sm);font-weight:700;position:absolute;top:-60px}.skip-link:focus{top:var(--s2)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.suite-header{z-index:40;background:var(--ink);color:var(--sign-text);min-height:var(--header-h);position:sticky;top:0}.suite-header__inner{max-width:var(--max-w);padding:var(--s2) var(--s5);align-items:center;gap:var(--s4);min-height:var(--header-h);margin:0 auto;display:flex}.suite-brand{align-items:center;gap:var(--s3);min-width:0;color:inherit;text-decoration:none;display:flex}.suite-tile{min-width:44px;height:36px;padding:0 var(--s2);background:var(--sign-yellow);color:var(--ink);font-weight:800;font-size:var(--fs-sm);letter-spacing:.02em;border-radius:var(--r-sm);flex:none;place-items:center;display:grid}.suite-title{flex-direction:column;min-width:0;display:flex}.suite-title h1{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.suite-title span{font-size:var(--fs-xs);color:var(--sign-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.suite-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end;margin-left:auto;display:flex}.suite-switch{position:relative}.suite-switch>summary{cursor:pointer;align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r-sm);color:var(--sign-text);font-size:var(--fs-sm);border:1px solid #4a5f80;font-weight:600;list-style:none;display:inline-flex}.suite-switch>summary::-webkit-details-marker{display:none}.suite-switch>summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transform:rotate(45deg)translateY(-2px)}.suite-switch[open]>summary{background:#1b3358}.suite-switch ul{z-index:50;min-width:300px;padding:var(--s2);background:var(--panel);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-md);margin:0;list-style:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #0e224038}.suite-switch li a{gap:var(--s3);padding:var(--s2);border-radius:var(--r-sm);color:var(--ink);min-height:var(--tap);align-items:center;text-decoration:none;display:flex}.suite-switch li a:hover{background:var(--signal-soft)}.suite-switch li a[aria-current=page]{background:var(--concrete);font-weight:700}.suite-switch li .suite-tile{min-width:40px;height:28px;font-size:var(--fs-xs)}.suite-switch li small{color:var(--ink-3);font-size:var(--fs-xs);display:block}.btn-header{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r-sm);color:var(--sign-text);font:600 var(--fs-sm)/1 var(--font);cursor:pointer;background:0 0;border:1px solid #4a5f80;text-decoration:none;display:inline-flex}.btn-header:hover{color:var(--sign-text);background:#1b3358}.suite-main{max-width:var(--max-w);padding:var(--s5);margin:0 auto}.intro{margin-bottom:var(--s5);max-width:80ch}.intro h2{font-size:var(--fs-xl);margin-bottom:var(--s2)}.intro p{color:var(--ink-2)}.workspace{gap:var(--s5);grid-template-columns:minmax(340px,5fr) minmax(0,7fr);align-items:start;display:grid}.workspace>.inputs{gap:var(--s4);min-width:0;display:grid}.workspace>.results{gap:var(--s4);min-width:0;top:calc(var(--header-h) + var(--s4));display:grid;position:sticky}.workspace>.results.results--flow{position:static}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s5);min-width:0}.panel>h2,.panel__title{font-size:var(--fs-md);margin-bottom:var(--s4);align-items:baseline;gap:var(--s2);justify-content:space-between;display:flex}.panel__title small{font-weight:400}.panel+.panel{margin-top:0}.panel--flush{padding:0;overflow:hidden}details.panel>summary{cursor:pointer;align-items:center;gap:var(--s2);min-height:var(--tap);margin:-8px 0;font-weight:700;list-style:none;display:flex}details.panel>summary::-webkit-details-marker{display:none}details.panel>summary:before{content:"";border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);flex:none;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}details.panel[open]>summary:before{transform:rotate(45deg)}details.panel[open]>summary{margin-bottom:var(--s3)}.field{gap:var(--s1);margin-bottom:var(--s4);display:grid}.field:last-child{margin-bottom:0}.field__row{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.field label,.field__label{font-weight:600;font-size:var(--fs-sm);color:var(--ink)}.field__hint{font-size:var(--fs-xs);color:var(--ink-3)}.field__error{font-size:var(--fs-xs);color:var(--bad);font-weight:600}.field__error:empty{display:none}.field-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.field-grid>.field{margin-bottom:0}.input-unit{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);min-height:var(--tap);align-items:stretch;display:flex}.input-unit:focus-within{outline:3px solid var(--signal);outline-offset:1px}.input-unit input{flex:1;min-width:0;border:0!important;outline:none!important}.input-unit .unit{padding:0 var(--s3);color:var(--ink-3);font-size:var(--fs-sm);border-left:1px solid var(--line);white-space:nowrap;place-items:center;display:grid}input[type=text],input[type=number],input[type=email],input[type=datetime-local],input[type=date],input[type=time],select,textarea{font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:0 var(--s3);min-height:var(--tap);font-variant-numeric:tabular-nums;width:100%}textarea{padding:var(--s2) var(--s3);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;line-height:1.45;font-size:var(--fs-sm);resize:vertical;min-height:140px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad);background:var(--bad-soft)}.input-unit:has(input[aria-invalid=true]){border-color:var(--bad);background:var(--bad-soft)}input:disabled,select:disabled{background:var(--concrete);color:var(--ink-3)}input.num{text-align:right}input[type=range]{appearance:none;cursor:pointer;--fill:50%;background:0 0;width:100%;height:28px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--signal) 0 var(--fill), var(--line-strong) var(--fill) 100%);border-radius:3px;height:6px}input[type=range]::-moz-range-track{background:var(--line-strong);border-radius:3px;height:6px}input[type=range]::-moz-range-progress{background:var(--signal);border-radius:3px;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--panel);border:3px solid var(--signal);border-radius:50%;width:24px;height:24px;margin-top:-9px;box-shadow:0 1px 2px #0e22404d}input[type=range]::-moz-range-thumb{background:var(--panel);border:3px solid var(--signal);border-radius:50%;width:18px;height:18px}input[type=range]:focus-visible{outline-offset:4px}input[type=range]:disabled{opacity:.45;cursor:not-allowed}.range-scale{font-size:var(--fs-xs);color:var(--ink-3);justify-content:space-between;display:flex}.segmented{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);flex-wrap:wrap;justify-self:start;max-width:100%;display:inline-flex;overflow:hidden}.segmented button{font:600 var(--fs-sm)/1.2 var(--font);color:var(--ink-2);padding:var(--s2) var(--s4);min-height:var(--tap);cursor:pointer;background:0 0;border:0}.segmented button+button{border-left:1px solid var(--line)}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--sign-text)}.segmented button:hover:not([aria-pressed=true]){background:var(--signal-soft);color:var(--ink)}.tabs{gap:var(--s1);border-bottom:2px solid var(--line);scrollbar-width:thin;display:flex;overflow-x:auto}.tabs [role=tab]{font:600 var(--fs-sm)/1.2 var(--font);color:var(--ink-2);padding:var(--s3) var(--s4);min-height:var(--tap);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-2px}.tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--signal)}.tabs [role=tab]:hover{color:var(--ink)}.btn{justify-content:center;align-items:center;gap:var(--s2);font:600 var(--fs-sm)/1.2 var(--font);min-height:var(--tap);padding:0 var(--s4);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex}.btn:hover{background:var(--signal-soft)}.btn--primary{background:var(--signal);border-color:var(--signal);color:#fff}.btn--primary:hover{background:var(--signal-strong)}.btn--quiet{color:var(--signal);background:0 0;border-color:#0000}.btn--quiet:hover{background:var(--signal-soft)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{gap:var(--s2);flex-wrap:wrap;display:flex}.info{border:1px solid var(--line-strong);background:var(--panel);width:24px;height:24px;color:var(--ink-2);font:700 12px/1 var(--font);cursor:pointer;vertical-align:middle;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.info:after{content:"";position:absolute;inset:-10px}.info[aria-expanded=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.info-text{font-size:var(--fs-xs);color:var(--ink-2);background:var(--concrete);border-left:3px solid var(--signal);padding:var(--s2) var(--s3)}.info-text[hidden]{display:none}.sign{background:var(--ink);color:var(--sign-text);border-radius:var(--r-md);padding:var(--s5);gap:var(--s4);display:grid}.sign__head{justify-content:space-between;align-items:baseline;gap:var(--s3);flex-wrap:wrap;display:flex}.sign__head h2{font-size:var(--fs-md);color:var(--sign-text)}.sign__head span,.sign__note{color:var(--sign-muted);font-size:var(--fs-sm)}.sign__figures{gap:var(--s4) var(--s5);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.sign__figure{padding-left:var(--s3);border-left:3px solid #3a5070;gap:2px;min-width:0;display:grid}.sign__figure--key{border-left-color:var(--sign-yellow)}.sign__label{color:var(--sign-muted);font-size:var(--fs-sm)}.sign__value{font-size:var(--fs-sign);letter-spacing:-.02em;overflow-wrap:anywhere;font-weight:700;line-height:1.05}.sign__figure--key .sign__value{color:var(--sign-yellow)}.sign__figures--compact .sign__value{font-size:var(--fs-xl)}.sign__unit{color:var(--sign-muted);font-size:var(--fs-sm)}.sign a{color:var(--sign-yellow)}.sign .btn{color:var(--sign-text);background:0 0;border-color:#4a5f80}.sign .btn:hover{background:#1b3358}.figures{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.figures>div{padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px solid var(--line);min-width:0}.figures dt,.figures .figures__label{font-size:var(--fs-xs);color:var(--ink-3)}.figures dd,.figures .figures__value{font-size:var(--fs-lg);overflow-wrap:anywhere;margin:0;font-weight:700}.figures small{color:var(--ink-3);font-size:var(--fs-xs);font-weight:400;display:block}.chip{align-items:center;gap:var(--s1);padding:2px var(--s2);font-size:var(--fs-xs);background:var(--concrete);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;font-weight:700;display:inline-flex}.chip--ok{background:var(--ok-soft);color:var(--ok);border-color:#b5dcc6}.chip--warn{background:var(--warn-soft);color:var(--warn);border-color:#f0cf9c}.chip--bad{background:var(--bad-soft);color:var(--bad);border-color:#f0bdb8}.chip--ink{background:var(--ink);color:#fff;border-color:var(--ink)}.notice{border-left:4px solid var(--signal);background:var(--signal-soft);padding:var(--s3) var(--s4);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:var(--fs-sm);color:var(--ink)}.notice--warn{border-color:var(--warn);background:var(--warn-soft)}.notice--bad{border-color:var(--bad);background:var(--bad-soft)}.notice--ok{border-color:var(--ok);background:var(--ok-soft)}.notice p:last-child,.notice ul:last-child{margin-bottom:0}.notice ul{margin:var(--s1) 0 0;padding-left:1.2em}.is-updating{cursor:progress}.is-stale{outline:2px dashed var(--warn);outline-offset:4px}.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}table.data caption{text-align:left;padding:var(--s3);font-weight:700}table.data th,table.data td{padding:var(--s2) var(--s3);text-align:left;border-bottom:1px solid var(--line);vertical-align:top}table.data thead th{background:var(--concrete);color:var(--ink-2);font-weight:700;font-size:var(--fs-xs);position:sticky;top:0}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data tbody tr:last-child td{border-bottom:0}table.data tr.is-key td{background:#f6f8fb;font-weight:700}@media (width<=720px){table.data.stack thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.data.stack,table.data.stack tbody,table.data.stack tr,table.data.stack td{width:100%;display:block}table.data.stack tr{border-bottom:1px solid var(--line);padding:var(--s2) 0}table.data.stack td{justify-content:space-between;gap:var(--s3);padding:var(--s1) var(--s3);text-align:right;border:0;display:flex}table.data.stack td:before{content:attr(data-label);color:var(--ink-3);text-align:left;font-weight:600}table.data.stack td:first-child{text-align:left;font-weight:700}table.data.stack td:first-child:before{content:none}table.data.stack caption:not(.visually-hidden){width:100%;display:block}}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:var(--font);fill:var(--ink-3);font-size:12px}.chart .axis line,.chart .axis path,.chart .grid line{stroke:var(--line)}.chart .label-strong{fill:var(--ink);font-weight:700}.chart-legend{gap:var(--s2) var(--s4);font-size:var(--fs-xs);color:var(--ink-2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.chart-legend i{width:12px;height:12px;margin-right:var(--s1);vertical-align:-1px;border-radius:2px;display:inline-block}.mobile-bar{display:none}@media (width<=960px){.mobile-bar{z-index:45;background:var(--ink);color:var(--sign-text);padding:var(--s2) var(--s4) calc(var(--s2) + env(safe-area-inset-bottom));gap:var(--s3);align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #0e224040}.mobile-bar__figures{gap:var(--s3);scrollbar-width:none;flex:1;min-width:0;display:flex;overflow:auto hidden}.mobile-bar__figure{flex:none;display:grid}.mobile-bar__figure span{color:var(--sign-muted);white-space:nowrap;font-size:11px}.mobile-bar__figure strong{font-size:var(--fs-lg);white-space:nowrap;line-height:1.1}.mobile-bar__figure--key strong{color:var(--sign-yellow)}.mobile-bar a,.mobile-bar button{min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r-sm);color:var(--sign-text);font:600 var(--fs-sm)/1 var(--font);background:0 0;border:1px solid #4a5f80;flex:none;align-items:center;text-decoration:none;display:inline-flex}body.has-mobile-bar{padding-bottom:76px}}.toast{z-index:60;background:var(--ink);color:#fff;padding:var(--s2) var(--s4);border-radius:var(--r-sm);font-size:var(--fs-sm);position:fixed;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0e22404d}.toast[hidden]{display:none}dialog.sheet{border-radius:var(--r-md);width:min(860px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--ink);border:0;padding:0}dialog.sheet::backdrop{background:#0e22408c}.sheet__head{background:var(--panel);justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.sheet__body{padding:var(--s5)}.sheet__body h3{margin:var(--s5) 0 var(--s2)}.sheet__body h3:first-child{margin-top:0}.suite-footer{max-width:var(--max-w);margin:var(--s6) auto 0;padding:var(--s5);border-top:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-xs);gap:var(--s2) var(--s5);flex-wrap:wrap;justify-content:space-between;display:flex}@media (width<=1100px){.workspace{grid-template-columns:minmax(0,1fr)}.workspace>.results{position:static}}@media (width<=720px){:root{--header-h:56px}.suite-main{padding:var(--s4)}.suite-header{position:static}.suite-header__inner{padding:var(--s3) var(--s4);gap:var(--s2) var(--s3);flex-wrap:wrap}.suite-actions{justify-content:flex-start;width:100%;margin-left:0}.suite-actions .btn-header .label-long{display:none}html{scroll-padding-top:12px}.panel,.sign{padding:var(--s4)}.suite-switch ul{width:min(340px,100vw - 32px);min-width:0;left:auto;right:0}input[type=text],input[type=number],select,textarea{font-size:16px}}@media print{@page{margin:14mm}body{background:#fff;font-size:11pt;padding:0!important}.suite-header{color:var(--ink);border-bottom:2px solid var(--ink);background:#fff;position:static}.suite-header .suite-title span{color:var(--ink-3)}.suite-actions,.mobile-bar,.toast,.skip-link,.no-print,input[type=range]{display:none!important}.workspace{display:block}.workspace>.results{position:static}.panel,.sign,.table-wrap{break-inside:avoid;border-color:#999}.sign{color:var(--ink);border:2px solid var(--ink);background:#fff}.sign__value,.sign__label,.sign__unit,.sign__head span,.sign__head h2,.sign h2,.sign h3,.sign p,.sign__note{color:var(--ink)!important}details:not([open])>:not(summary){display:block}.print-only{display:block!important}a{color:var(--ink)}}.print-only{display:none}.field-grid:not(:last-child){margin-bottom:var(--s4)}.check-field{align-items:center;gap:var(--s2);min-height:var(--tap);cursor:pointer;display:inline-flex}label:has(>input[type=checkbox]){align-items:center;gap:var(--s2);min-height:var(--tap);cursor:pointer;display:inline-flex}label:has(>input[type=radio]){align-items:center;gap:var(--s2);min-height:var(--tap);cursor:pointer;display:inline-flex}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--signal);flex:none}.btn,.btn--quiet,.segmented button,.tabs [role=tab]{min-height:var(--tap)}:root{--hub-top-h:56px;--rail-w:64px;--rail-w-open:280px;--rail-row:64px;--rail-pad:var(--s2);--hub-edge:#3a5070;--hub-edge-strong:#4a5f80;--hub-hover:#1b3358;--hub-ease:ease-out;--hub-ease-in-out:cubic-bezier(.645, .045, .355, 1)}.hub-top{z-index:40;align-items:center;gap:var(--s3);height:var(--hub-top-h);padding:0 var(--s4) 0 10px;background:var(--ink);color:var(--sign-text);display:flex;position:sticky;top:0}.hub-top__home{text-decoration:none;display:none}.hub-top__home:hover{color:var(--ink)}.hub-top__tile{font-family:var(--font);cursor:pointer;border:0}.hub-top__tile:hover{outline:2px solid var(--sign-muted);outline-offset:2px}.hub-top__home,.hub-top__tile{position:relative}.hub-top__home:after,.hub-top__tile:after{content:"";position:absolute;inset:-4px 0}.hub-top__title,.hub-top__brand{min-width:0;font-size:var(--fs-lg);color:var(--sign-text);white-space:nowrap;text-overflow:ellipsis;flex:auto;margin:0;font-weight:700;line-height:1.2;overflow:hidden}.hub-top__brand{padding-left:6px;font-weight:600}.hub-actions{align-items:center;gap:var(--s2);flex:none;margin-left:auto;display:flex}.hub-top__menu{flex:none;display:none}.hub-top__menu svg,.drawer__close svg{flex:none}.rail{top:var(--hub-top-h);z-index:30;width:var(--rail-w);background:var(--ink);color:var(--sign-text);border-top:1px solid var(--hub-edge);position:fixed;bottom:0;left:0}.rail.is-expanded{width:var(--rail-w-open)}.rail__inner{flex-direction:column;height:100%;display:flex;overflow:hidden}.rail__track{min-height:0;padding:var(--rail-pad) 0;scrollbar-width:thin;flex:auto;position:relative;overflow:hidden auto}.rail__list{margin:0;padding:0;list-style:none}.rail__item{height:var(--rail-row)}.rail__link{align-items:center;gap:var(--s3);height:100%;color:var(--sign-text);transition:background-color .15s var(--hub-ease);padding:0 10px;text-decoration:none;display:flex;position:relative}.rail__link:hover,.rail__link[aria-current=page]{background:var(--hub-hover);color:var(--sign-text)}.rail__link:focus-visible,.rail__toggle:focus-visible{outline-offset:-3px}.rail__tile{width:44px;color:var(--sign-text);border:1px solid var(--sign-muted);transition:border-color .15s var(--hub-ease);background:0 0;padding:0}.rail__tile svg{display:block}.rail__link:not([aria-current=page]):hover .rail__tile{border-color:var(--sign-text)}.rail__link[aria-current=page] .rail__tile,.rail__tile.is-active{background:var(--sign-yellow);color:var(--ink);border-color:var(--sign-yellow)}.rail__text{min-width:0;width:calc(var(--rail-w-open) - 76px);opacity:0;transition:opacity .16s var(--hub-ease);flex:none;gap:1px;display:grid}.rail.is-expanded .rail__text,.rail.is-expanded .rail__toggle-label{opacity:1}.rail__name{font-size:var(--fs-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.rail__blurb{font-size:var(--fs-xs);color:var(--sign-muted);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.rail__indicator{left:0;top:calc(var(--rail-pad) + 10px);width:3px;height:calc(var(--rail-row) - 20px);background:var(--sign-yellow);transform:translateY(calc(var(--rail-i,0) * var(--rail-row)));transition:transform .26s var(--hub-ease-in-out);position:absolute}.rail:not(.has-active) .rail__indicator{display:none}.rail__toggle{align-items:center;gap:var(--s3);border:0;border-top:1px solid var(--hub-edge);width:100%;height:56px;color:var(--sign-text);font:600 var(--fs-sm)/1 var(--font);text-align:left;cursor:pointer;transition:background-color .15s var(--hub-ease);background:0 0;flex:none;padding:0 10px;display:flex}.rail__toggle:hover{background:var(--hub-hover)}.rail__toggle-icon{flex:none;place-items:center;width:44px;height:44px;display:grid}.rail__toggle-icon svg{transition:transform .2s var(--hub-ease)}.rail.is-expanded .rail__toggle-icon svg{transform:rotate(180deg)}.rail__toggle-label{white-space:nowrap;opacity:0;transition:opacity .16s var(--hub-ease)}.rail__preview{left:calc(100% + var(--s2));z-index:31;width:300px;padding:var(--s4);background:var(--ink);color:var(--sign-text);border:1px solid var(--hub-edge-strong);border-radius:var(--r-md);pointer-events:none;animation:hub-preview-in .15s var(--hub-ease);position:absolute}.rail__preview-eyebrow{margin:0 0 var(--s2);font-size:var(--fs-xs);color:var(--sign-muted)}.rail__preview-head{align-items:center;gap:var(--s3);margin-bottom:var(--s2);display:flex}.rail__preview-name{font-size:var(--fs-md);line-height:1.25}.rail__preview-blurb{margin:0 0 var(--s3);font-size:var(--fs-sm);color:var(--sign-muted)}.rail__preview-figures{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.rail__preview-figures li{border-left:3px solid var(--hub-edge);padding-left:var(--s3);font-size:var(--fs-sm);color:var(--sign-muted)}@keyframes hub-preview-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}.hub-main{min-width:0;margin-left:var(--rail-w);display:block}.rail.is-expanded~.hub-main{margin-left:var(--rail-w-open)}.hub-main:focus{outline:none}.hub-frame-view{height:calc(100vh - var(--hub-top-h));height:calc(100dvh - var(--hub-top-h));position:relative;overflow:hidden}html{scroll-padding-top:calc(var(--hub-top-h) + var(--s3))}.home{--home-gutter:clamp(16px, 4vw, 64px);--home-h2:clamp(1.75rem, 1.2rem + 2vw, 2.75rem);overflow-x:clip}.home__notice{max-width:72ch;margin:var(--s4) var(--home-gutter) 0;overflow-wrap:anywhere}.home .btn{transition:background-color .15s var(--hub-ease), border-color .15s var(--hub-ease), color .15s var(--hub-ease)}.home .btn svg{transition:transform .15s var(--hub-ease);flex:none}.home a.btn--primary,.home a.btn--primary:hover{color:var(--sign-text)}.btn--lg{min-height:52px;padding:0 var(--s5);font-size:var(--fs-md)}.btn--outline{border-color:var(--ink);color:var(--ink);background:0 0}.btn--outline:hover{background:var(--ink);border-color:var(--ink);color:var(--sign-text)}.flight{isolation:isolate;grid-template-columns:minmax(0,1fr);display:grid}.flight>.scene,.flight>.hero{grid-area:1/1}.flight>.journey{grid-area:2/1}.scene{z-index:0;pointer-events:none;background:var(--concrete);position:relative;overflow:hidden}.flight.is-pinned>.scene{top:var(--hub-top-h);height:calc(100vh - var(--hub-top-h));grid-row:1/span 2;align-self:start;position:sticky}.scene__grid,.scene__canvas,.scene__fallback{width:100%;height:100%;position:absolute;inset:0}.scene__grid path{fill:none;stroke:var(--line);stroke-width:1px}.scene__canvas{opacity:0;transition:opacity .8s ease-out;display:block}.scene.is-ready .scene__canvas{opacity:1}.scene__canvas[hidden],.scene__fallback[hidden]{display:none}.scene__fallback svg{right:var(--home-gutter);bottom:var(--s5);width:min(76.8%,936px);height:auto;position:absolute}.scene__fallback svg *{vector-effect:non-scaling-stroke}.hero{z-index:1;min-height:calc(100vh - var(--hub-top-h));min-height:calc(100svh - var(--hub-top-h));padding:var(--s7) var(--home-gutter) var(--s5);border-bottom:1px solid var(--line);grid-template-rows:1fr auto;display:grid;position:relative}.flight.is-pinned>.hero{border-bottom-color:#0000}.hero__inner{align-self:center;column-gap:var(--s5);width:100%;max-width:var(--max-w);grid-template-columns:repeat(12,minmax(0,1fr));margin:0 auto;display:grid}.hero__text{justify-items:start;gap:var(--s5);grid-column:1/span 7;min-width:0;display:grid}.hero__route{align-items:center;gap:var(--s1) var(--s2);font-size:var(--fs-sm);letter-spacing:.04em;color:var(--ink-3);flex-wrap:wrap;margin:0;font-weight:700;display:flex}.hero__route svg{color:var(--line-strong)}.hero__title{letter-spacing:-.02em;max-width:14ch;color:var(--ink);font-size:clamp(2.5rem,1.6rem + 3.6vw,4.5rem);font-weight:800;line-height:1.05}.hero__word{display:inline-block}.hero__blurb{max-width:60ch;color:var(--ink-2);margin:0;font-size:1.125rem;line-height:1.55}.hero__actions{gap:var(--s3);padding-top:var(--s2);flex-wrap:wrap;display:flex}#hero-journey:hover svg{transform:translateY(2px)}.hero__cue{align-items:center;gap:var(--s2);width:100%;max-width:var(--max-w);margin:var(--s6) auto 0;font-size:var(--fs-sm);color:var(--ink-3);display:flex}.journey{z-index:1;background:var(--panel);border-bottom:1px solid var(--line);position:relative}.flight.is-pinned>.journey{background:0 0}.journey__stages{position:relative}.stage{padding:var(--s7) var(--home-gutter);position:relative}.stage+.stage{border-top:1px solid var(--line)}.stage:focus{outline:none}.stage__inner{align-items:center;gap:var(--s6) var(--s7);width:100%;max-width:var(--max-w);grid-template-columns:minmax(0,7fr) minmax(0,5fr);margin:0 auto;display:grid}.stage__copy{justify-items:start;gap:var(--s4);min-width:0;display:grid}.stage__meta{align-items:center;gap:var(--s3);display:flex}.stage__tile{min-width:64px;height:44px;padding:0 var(--s3);font-size:var(--fs-md);background:var(--ink);color:var(--sign-text)}.journey.is-pinned .stage__tile{background:var(--sign-yellow);color:var(--ink)}.stage__eyebrow{font-size:var(--fs-sm);color:var(--ink-3);margin:0;font-weight:600}.stage__title{max-width:22ch;font-size:var(--home-h2);letter-spacing:-.015em;font-weight:700;line-height:1.1}.stage__story{max-width:60ch;color:var(--ink-2);margin:0;font-size:1.125rem;line-height:1.55}.stage__actions{max-width:100%;padding-top:var(--s2)}.stage__open{max-width:100%;padding-block:var(--s2);text-align:left}.stage__open:hover svg{transform:translate(2px)}.sign--mini{min-width:0}.sign--mini .sign__head h3{font-size:var(--fs-md);color:var(--sign-text)}.sign--mini .sign__figures{gap:var(--s4);grid-template-columns:minmax(0,1fr)}.sign--mini .sign__value{font-size:var(--fs-2xl)}.journey.is-pinned{height:calc(100vh - var(--hub-top-h) + var(--stages,6) * 100vh)}.journey.is-pinned .journey__panel{top:var(--hub-top-h);height:calc(100vh - var(--hub-top-h));position:sticky;overflow:hidden}.journey.is-pinned .journey__stages{height:100%}.journey.is-pinned .stage{padding:var(--s6) calc(var(--home-gutter) + 52px + var(--s6)) var(--s6) var(--home-gutter);opacity:0;pointer-events:none;border:0;align-items:center;transition:opacity .12s ease-in;display:grid;position:absolute;inset:0}.journey.is-pinned .stage.is-active{opacity:1;pointer-events:auto;transition:none}.journey__rail{display:none}.journey.is-pinned .journey__rail{z-index:2;top:50%;right:var(--home-gutter);display:block;position:absolute;transform:translateY(-50%)}.journey__line{background:var(--line);width:2px;margin-left:-1px;position:absolute;top:22px;bottom:22px;left:50%}.journey__fill{background:var(--ink);transform-origin:50% 0;position:absolute;inset:0;transform:scaleY(0)}.journey__stops{gap:var(--s5);margin:0;padding:0;list-style:none;display:grid;position:relative}.journey__stop{background:var(--panel);width:52px;height:44px;color:var(--ink-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);font:700 var(--fs-xs)/1 var(--font);letter-spacing:.02em;cursor:pointer;transition:background-color .15s var(--hub-ease), border-color .15s var(--hub-ease), color .15s var(--hub-ease);place-items:center;padding:0;display:grid}.journey__stop:hover,.journey__stop.is-passed{border-color:var(--ink);color:var(--ink)}.journey__stop.is-active{background:var(--ink);border-color:var(--ink);color:var(--sign-text)}.showcase{padding:var(--s7) var(--home-gutter) calc(var(--s7) + var(--s5))}.showcase__inner{max-width:var(--max-w);margin:0 auto}.showcase__head{gap:var(--s2);max-width:60ch;margin-bottom:var(--s6);display:grid}.showcase__title{font-size:var(--home-h2);letter-spacing:-.015em;line-height:1.1}.showcase__lead{color:var(--ink-2);margin:0;font-size:1.125rem;line-height:1.55}.showcase__grid{gap:var(--s4);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.showcase__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.showcase__item{min-width:0;display:flex}.card{align-items:flex-start;gap:var(--s3);min-width:0;padding:var(--s5);background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:var(--r-md);transition:transform .15s var(--hub-ease), border-color .15s var(--hub-ease);flex-direction:column;flex:auto;display:flex;position:relative}.card:hover,.card:focus-within{border-color:var(--signal);transform:translateY(-2px)}.card__tile{background:var(--ink);color:var(--sign-text);transition:background-color .15s var(--hub-ease), color .15s var(--hub-ease)}.card:hover .card__tile,.card:focus-within .card__tile{background:var(--sign-yellow);color:var(--ink)}.card__name{font-size:1.125rem;line-height:1.25}.card__blurb{color:var(--ink-2);margin:0}.card__figures{align-self:stretch;gap:var(--s2);padding:var(--s3) 0 0;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-3);margin:0;line-height:1.35;list-style:none;display:grid}.card__figures li{padding-left:var(--s2);border-left:3px solid var(--line)}.card__open{align-items:center;gap:var(--s1);min-height:var(--tap);color:var(--signal);text-underline-offset:3px;margin-top:auto;font-weight:700;text-decoration:none;display:inline-flex}.card__open:after{content:"";border-radius:var(--r-md);position:absolute;inset:-4px -1px -1px}.card__open svg{transition:transform .15s var(--hub-ease)}.card:hover .card__open,.card:focus-within .card__open{color:var(--signal-strong);text-decoration:underline}.card:hover .card__open svg,.card:focus-within .card__open svg{transform:translate(2px)}.card__open:focus-visible{outline:none}.card__open:focus-visible:after{outline:3px solid var(--signal);outline-offset:2px}.home-footer{padding:var(--s6) var(--home-gutter);background:var(--ink);color:var(--sign-muted)}.home-footer__inner{justify-content:space-between;align-items:center;gap:var(--s3) var(--s6);max-width:var(--max-w);font-size:var(--fs-sm);flex-wrap:wrap;margin:0 auto;display:flex}.home-footer p{max-width:none;margin:0}.home-footer__meta{align-items:center;gap:0 var(--s5);flex-wrap:wrap;display:flex}.frame-slot{z-index:1;height:100%;position:relative}.frame-slot.is-leaving{z-index:0;pointer-events:none;position:absolute;inset:0}.frame-slot:focus{outline:none}.frame-slot iframe{border:0;width:100%;height:100%;display:block}.frame-slot[aria-busy=true] iframe{visibility:hidden}.frame-slot__cover{padding:var(--s5);background:var(--concrete);place-items:center;display:grid;position:absolute;inset:0}.frame-loading{max-width:48ch;padding:var(--s4) var(--s5);color:var(--ink-2)}.frame-loading p{margin:0}.sign-fail{align-items:center;gap:var(--s3);background:var(--ink);max-width:48ch;color:var(--sign-text);border-color:var(--ink);flex-wrap:wrap;display:flex}.sign-fail p{font-size:var(--fs-md);overflow-wrap:anywhere;flex:1 0 100%;margin:0;font-weight:700}dialog.board{--board-cols:1.25rem 44px minmax(0, 1fr) auto;background:var(--ink);width:min(720px,100vw - 32px);color:var(--sign-text);border:1px solid var(--hub-edge-strong);overflow:hidden}dialog.board[open]{animation:hub-board-in .2s var(--hub-ease);flex-direction:column;display:flex}dialog.board[open]::backdrop{animation:hub-scrim-in .2s var(--hub-ease)}.board .sheet__head{border-bottom-color:var(--hub-edge);padding:var(--s4) var(--s4) var(--s4) var(--s5);background:0 0;flex:none;position:static}.board__heading{gap:2px;min-width:0;display:grid}.board__eyebrow{font-size:var(--fs-xs);color:var(--sign-muted);font-weight:600}.board__title{font-size:var(--fs-lg);color:var(--sign-text)}.board__close svg{flex:none}.board__cols,.board__row{grid-template-columns:var(--board-cols);align-items:center;gap:var(--s3);padding:0 var(--s5);display:grid}.board__cols{padding-block:var(--s2);border-bottom:1px solid var(--hub-edge);font-size:var(--fs-xs);color:var(--sign-muted);flex:none}.board__cols span:last-child{text-align:right}.board__list{scrollbar-width:thin;flex:auto;min-height:0;overflow-y:auto}.board__list:focus-visible{outline:none}.board__row{min-height:64px;padding-block:var(--s2);border-bottom:1px solid var(--hub-edge);cursor:pointer;transition:background-color .15s var(--hub-ease)}.board__row:last-child{border-bottom:0}.board__row[aria-selected=true]{background:var(--hub-hover)}.board__list:focus-visible .board__row[aria-selected=true]{outline:3px solid var(--sign-yellow);outline-offset:-3px}.board__key{font-size:var(--fs-sm);color:var(--sign-muted);text-align:center;font-weight:700}.board__tile{width:44px;color:var(--sign-text);border:1px solid var(--sign-muted);transition:background-color .15s var(--hub-ease), border-color .15s var(--hub-ease);background:0 0;padding:0}.board__tile svg{display:block}.board__row[aria-selected=true] .board__tile{background:var(--sign-yellow);color:var(--ink);border-color:var(--sign-yellow)}.board__text{gap:2px;min-width:0;display:grid}.board__name{font-weight:700;line-height:1.25}.board__blurb{font-size:var(--fs-sm);color:var(--sign-muted);line-height:1.3}.board__status{justify-self:end}.board__status:not(:empty){padding:2px var(--s2);border:1px solid var(--sign-muted);font-size:var(--fs-xs);color:var(--sign-text);border-radius:999px;font-weight:700;line-height:1.4}.board__keys{max-width:none;padding:var(--s3) var(--s5);border-top:1px solid var(--hub-edge);font-size:var(--fs-xs);color:var(--sign-muted);flex:none;margin:0}.board__keys strong{margin-right:var(--s2);color:var(--sign-text)}@keyframes hub-board-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.drawer{z-index:50;animation:hub-scrim-in .2s var(--hub-ease);background:#0e22408c;display:none;position:fixed;inset:0}.drawer__panel{background:var(--ink);width:300px;max-width:88vw;height:100%;color:var(--sign-text);border-right:1px solid var(--hub-edge);animation:hub-drawer-in .2s var(--hub-ease);flex-direction:column;display:flex;overflow-y:auto}.drawer__head{justify-content:space-between;align-items:center;gap:var(--s3);height:var(--hub-top-h);padding:0 var(--s3) 0 var(--s4);border-bottom:1px solid var(--hub-edge);flex:none;display:flex}.drawer__label{font-weight:700}.drawer__list{padding:var(--s2) 0}.drawer .rail__item{height:auto}.drawer .rail__link{min-height:var(--rail-row);padding:var(--s3) var(--s4) var(--s3) 10px}.drawer .rail__text{opacity:1;flex:auto;width:auto}.drawer .rail__name{display:block}.drawer .rail__blurb{white-space:normal}.drawer .rail__link[aria-current=page]:before{content:"";background:var(--sign-yellow);width:3px;position:absolute;top:10px;bottom:10px;left:0}.drawer__actions{padding:var(--s4);border-top:1px solid var(--hub-edge);margin-top:auto}.drawer__actions:empty{display:none}.drawer__actions .hub-actions{flex-direction:column;align-items:stretch;margin:0}.drawer__actions .btn-header{justify-content:flex-start}@keyframes hub-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes hub-drawer-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@media (width<=960px){.rail{display:none}.hub-main,.rail.is-expanded~.hub-main{margin-left:0}.drawer{display:block}.hub-top{padding:0 var(--s3)}.hub-top__home{display:grid}.hub-top__tile{display:none}.hub-top__menu{margin-left:auto;display:inline-flex}.hub-top__title,.hub-top__brand{font-size:var(--fs-md);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;display:-webkit-box}.hero__text{grid-column:1/-1}.stage{padding-block:var(--s6)}.stage__inner{gap:var(--s5);grid-template-columns:minmax(0,1fr)}.sign--mini .sign__figures{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (width<=600px){dialog.board{--board-cols:44px minmax(0, 1fr) auto}.board__key,.board__cols span:first-child{display:none}.board__cols,.board__row,.board__keys{padding-inline:var(--s4)}.hero{padding-top:var(--s6)}.hero__actions{width:100%}.hero__actions .btn{flex:100%}.stage__open{justify-content:space-between;width:100%}}@media print{.rail,.hub-top,.drawer{display:none}.stage{position:static}.hub-main,.rail.is-expanded~.hub-main{margin-left:0}.scene,.hero__actions,.hero__cue,.journey__rail,.stage__actions,.card__open{display:none!important}.home,.home *{opacity:1!important;transform:none!important}.hero{min-height:0;padding:0 0 var(--s5);background:0 0;border:0;display:block}.journey,.journey.is-pinned{border:0;height:auto}.journey.is-pinned .journey__panel{height:auto;position:static;overflow:visible}.journey.is-pinned .stage,.stage{padding:var(--s4) 0;break-inside:avoid;position:static}.showcase{padding:var(--s5) 0}.card{break-inside:avoid}.home-footer{padding:var(--s4) 0;color:var(--ink);border-top:1px solid var(--ink);background:0 0}}
