@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";:root{--deep-sea-blue:#010927;--ocean-blue:#0e44e1;--coral-green:#00ffa7;--light-blue:#d5dff7;--paper:#eef3fd;--white:#fff;--deep-blue-sea:#092793;--signal-yellow:#ffd93b;--signal-red:#f01c55;--signal-orange:#ff965f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,var(--paper))var(--lightningcss-dark,var(--deep-sea-blue));--bg-raised:var(--lightningcss-light,var(--white))var(--lightningcss-dark,#060f2c);--bg-sunken:var(--lightningcss-light,#e2eaf9)var(--lightningcss-dark,#040b21);--ink:var(--lightningcss-light,var(--deep-sea-blue))var(--lightningcss-dark,var(--light-blue));--ink-soft:var(--lightningcss-light,#414d75)var(--lightningcss-dark,#93a2ca);--ink-faint:var(--lightningcss-light,#6f7c9f)var(--lightningcss-dark,#5f6d92);--rule:var(--lightningcss-light,#ccd8f0)var(--lightningcss-dark,#14204a);--rule-strong:var(--lightningcss-light,#a8b9e0)var(--lightningcss-dark,#22305f);--accent:var(--lightningcss-light,var(--ocean-blue))var(--lightningcss-dark,#4d7bff);--accent-ink:var(--lightningcss-light,var(--white))var(--lightningcss-dark,var(--deep-sea-blue));--primary-bg:var(--lightningcss-light,var(--ocean-blue))var(--lightningcss-dark,var(--coral-green));--primary-ink:var(--lightningcss-light,var(--white))var(--lightningcss-dark,var(--deep-sea-blue));--positive:var(--lightningcss-light,#00714f)var(--lightningcss-dark,var(--coral-green));--warn:var(--lightningcss-light,#7a5800)var(--lightningcss-dark,var(--signal-yellow));--danger:var(--lightningcss-light,#c1123f)var(--lightningcss-dark,#ff5c82);--warn-bg:var(--lightningcss-light,#fdf3d6)var(--lightningcss-dark,#221b04);--danger-bg:var(--lightningcss-light,#fde8ee)var(--lightningcss-dark,#2b0a15);--font-display:"Space Grotesk", "Helvetica Neue", Arial, system-ui, sans-serif;--font-body:"Inter", "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, Menlo, monospace;--track-heading:-.02em;--track-display:-.045em;--measure:62ch;--radius:0;--radius-lg:0;--ease:cubic-bezier(.25, 1, .5, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" off;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--track-heading);margin:0;font-weight:600;line-height:1.15}h1{font-size:1.75rem}h2{font-size:1.05rem}h3{font-size:.9rem}p{max-width:var(--measure);margin:0 0 .75rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.badge,.eyebrow,.mono,.tile-label,th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:400}.eyebrow{color:var(--ink-faint);display:block}.shell{max-width:1240px;margin:0 auto;padding:0 1.75rem 6rem}.topbar{border-bottom:1px solid var(--rule);background:var(--bg);margin-bottom:2.25rem}.topbar-inner{flex-wrap:wrap;align-items:center;gap:1rem;max-width:1240px;margin:0 auto;padding:.85rem 1.75rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:var(--track-heading);color:var(--ink);font-size:.95rem;font-weight:700}.brand:hover{text-decoration:none}.brand-sub{color:var(--ink-faint);font-weight:400}.spacer{flex:1}.tabs{border-bottom:1px solid var(--rule);gap:1.5rem;margin:0 0 2rem;display:flex;overflow-x:auto}.tab{color:var(--ink-faint);white-space:nowrap;transition:color .15s var(--ease);border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 0 .7rem;font-size:.85rem;font-weight:500}.tab:hover{color:var(--ink);text-decoration:none}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.hero{border-bottom:1px solid var(--rule);margin-bottom:2rem;padding:.5rem 0 2rem}.hero-figure{font-family:var(--font-display);letter-spacing:var(--track-display);font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-size:clamp(3.25rem,8.5vw,5.5rem);font-weight:600;line-height:.95;display:block}.hero-unit{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin-top:.55rem;font-size:.7rem;display:block}.hero-second{font-family:var(--font-display);letter-spacing:var(--track-heading);margin-top:1.1rem;font-size:1.15rem}.hero-meta{color:var(--ink-soft);max-width:var(--measure);margin-top:.4rem;font-size:.83rem}.hero-rule{border:0;border-top:1px solid var(--rule);max-width:320px;margin:1.25rem 0 0}.card{background:var(--bg-raised);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.25rem 1.4rem}.card-title{flex-wrap:wrap;align-items:baseline;gap:.7rem;margin-bottom:1rem;display:flex}.grid{gap:1.25rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-row{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 2rem;padding-top:1.1rem;display:grid}.stat{padding-bottom:.9rem}.stat-value{font-family:var(--font-display);letter-spacing:var(--track-heading);font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:1.6rem;font-weight:500;line-height:1.1}.stat-note{color:var(--ink-faint);margin-top:.2rem;font-size:.78rem}.tile-label{color:var(--ink-faint);display:block}.tile-value{font-family:var(--font-display);letter-spacing:var(--track-heading);font-variant-numeric:tabular-nums;margin-top:.3rem;font-size:1.6rem;font-weight:500;line-height:1.1}.tile-value.sm{font-size:1.2rem}.tile-note{color:var(--ink-faint);margin-top:.3rem;font-size:.78rem}.num{font-variant-numeric:tabular-nums}.badge{white-space:nowrap;border:1px solid #0000;align-items:center;gap:.25rem;padding:.12rem .42rem;font-size:.62rem;display:inline-flex}.badge-measured{background:color-mix(in srgb,var(--positive) 12%,transparent);color:var(--positive);border-color:color-mix(in srgb,var(--positive) 32%,transparent)}.badge-uploaded{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.badge-estimated,.badge-tbd{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 38%,transparent)}.badge-neutral{background:var(--bg-sunken);color:var(--ink-soft);border-color:var(--rule)}.notice{border:0;border-top:2px solid var(--rule-strong);background:0 0;align-items:baseline;gap:.6rem;padding:.8rem 0 .9rem;font-size:.86rem;line-height:1.5;display:flex}.notice>:first-child:not(:last-child){font-family:var(--font-mono);flex:none;font-weight:700}.notice>:last-child{flex:1;min-width:0}.notice+.notice{border-top-width:1px;margin-top:0}.notice-warn{border-top-color:var(--warn);color:var(--warn)}.notice-danger{border-top-color:var(--danger);color:var(--danger)}.notice-info{border-top-color:var(--rule-strong);color:var(--ink-soft)}.btn,button{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid var(--rule-strong);color:var(--ink);transition:border-color .15s var(--ease),color .15s var(--ease),transform 80ms var(--ease);background:0 0;align-items:center;gap:.4rem;padding:.42rem .8rem;font-size:.85rem;font-weight:500;display:inline-flex}.btn:hover,button:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.btn:active,button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary,button.primary{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-ink)}.btn-primary:hover,button.primary:hover{color:var(--primary-ink);filter:brightness(1.08)}.btn-danger:hover{border-color:var(--danger);color:var(--danger)}input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{font:inherit;color:var(--ink);background:var(--bg-raised);border:1px solid var(--rule-strong);border-radius:var(--radius);width:100%;padding:.42rem .6rem;font-size:.86rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{color:var(--ink-soft);margin-bottom:.25rem;font-size:.78rem;font-weight:500;display:block}.field{margin-bottom:.95rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}input[type=range]{width:100%;accent-color:var(--accent);padding:0}code{font-family:var(--font-mono);font-size:.85em}.table-scroll{margin:0 -1.4rem;padding:0 1.4rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.84rem}td,th{text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap;padding:.5rem .65rem}th{color:var(--ink-faint);font-weight:400}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr{transition:background .12s var(--ease)}tbody tr:hover{background:var(--bg-sunken)}.muted{color:var(--ink-faint)}.small{font-size:.8rem}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.enter{animation:rise .42s var(--ease) both}.enter-1{animation-delay:40ms}.enter-2{animation-delay:.1s}.enter-3{animation-delay:.16s}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}}@media print{@page{size:A4;margin:18mm 16mm 20mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-raised:#fff;--bg-sunken:#fff;--ink:#000;--ink-soft:#333;--ink-faint:#555;--rule:#bbb;--rule-strong:#999;--accent:#000;--warn:#000;--warn-bg:#fff;--danger:#000;--danger-bg:#fff;--primary-bg:#000;--primary-ink:#fff}.no-print,.tabs,.topbar,button,input[type=range]{display:none!important}body{color:#000;background:#fff;font-size:9.5pt;line-height:1.4}.shell{max-width:none;padding:0}.hero{border-bottom:1.5pt solid #000;margin-bottom:12pt;padding-bottom:10pt}.hero-figure{font-size:44pt}.hero-unit{font-size:7pt}.card{-moz-column-break-inside:avoid;break-inside:avoid;border:0;border-top:.5pt solid #999;border-radius:0;padding:8pt 0 4pt}.grid{gap:0}.grid-2{-moz-column-gap:14pt;grid-template-columns:1fr 1fr;column-gap:14pt}.grid-4,.stat-row{grid-template-columns:repeat(4,1fr)}table{font-size:8pt}td,th{padding:2.5pt 4pt}thead{display:table-header-group}tr{-moz-column-break-inside:avoid;break-inside:avoid}.badge{border:.5pt solid #666;color:#000!important;background:0 0!important}.badge-tbd:before{content:"△ "}.badge-estimated:before{content:"≈ "}.notice{border:.5pt solid #000;border-left-width:2pt;color:#000!important;background:0 0!important}a{color:#000;text-decoration:none}.table-scroll{margin:0;padding:0;overflow:visible}.enter{animation:none}}.help-toggle{width:2rem;height:2rem;font-family:var(--font-display);color:var(--ink-soft);justify-content:center;padding:0;font-size:.95rem;font-weight:700}.help-toggle:hover,.help-toggle[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.drawer-scrim{z-index:40;background:#01092759;position:fixed;inset:0}.drawer{background:var(--bg-raised);border-left:1px solid var(--rule);width:min(34rem,100vw);transition:transform .28s var(--ease);z-index:41;outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer-open{transform:none}.drawer-head{border-bottom:1px solid var(--rule);align-items:center;gap:1rem;padding:.85rem 1.75rem;display:flex}.drawer-title{font-family:var(--font-display);letter-spacing:var(--track-heading);font-weight:700}.drawer-body{padding:1.5rem 1.75rem 3rem;overflow-y:auto}.prose{max-width:var(--measure);font-size:.9rem;line-height:1.55}.prose h1{margin:0 0 1rem;font-size:1.35rem}.prose h2{border-top:1px solid var(--rule);margin:2rem 0 .6rem;padding-top:1rem;font-size:1rem}.prose p{margin:0 0 .85rem}.prose ul{margin:0 0 1rem;padding-left:1.1rem}.prose li{margin-bottom:.4rem}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-soft);margin:0 0 1rem;padding:.6rem 0 .6rem 1rem}.prose blockquote p{margin:0}.prose code{font-family:var(--font-mono);background:var(--bg-sunken);padding:.05em .3em;font-size:.8em}.prose table{border-collapse:collapse;width:100%;margin:0 0 1.25rem;font-size:.85rem}.prose td,.prose th{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:.45rem .6rem .45rem 0}.prose th{color:var(--ink-soft);border-bottom-color:var(--rule-strong);font-weight:600}@media (prefers-reduced-motion:reduce){.drawer{transition:none}}@media print{.drawer,.drawer-scrim,.help-toggle,.theme-toggle{display:none}}.theme-toggle{width:2rem;height:2rem;color:var(--ink-soft);justify-content:center;padding:0}.theme-toggle svg{width:1rem;height:1rem;display:block}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.topbar .nav-link{color:var(--ink-soft);font-size:.85rem;font-weight:500}.topbar .nav-link.router-link-active,.topbar .nav-link:hover{color:var(--ink);text-decoration:none}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(280px,22rem);align-items:start;gap:0 clamp(1.5rem,3vw,2.75rem);display:grid}.admin-side{border-left:1px solid var(--rule);padding-left:clamp(1.5rem,3vw,2.75rem);position:sticky;top:1rem}.arow{border-bottom:1px solid var(--rule);grid-template-columns:minmax(180px,1.2fr) 4.5rem minmax(220px,1.6fr) 6rem;align-items:start;gap:.75rem;padding:.7rem 0;display:grid}.arow-head{padding:0 0 .5rem}.arow-name{font-size:.86rem;font-weight:500}.arow-sub{color:var(--ink-faint);max-width:34ch;margin-top:.15rem;font-size:.72rem;line-height:1.4;display:block}.arow input[type=number]{font-variant-numeric:tabular-nums;width:100%}.arow select{width:100%}.arow .rate{grid-template-columns:minmax(0,1.3fr) minmax(5rem,.8fr);gap:.4rem;display:grid}.arow .rate.with-term{grid-template-columns:minmax(0,1.3fr) minmax(4.5rem,.7fr) minmax(4rem,.6fr)}.arow .reset{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem}.arow .reset:hover{text-decoration:underline}.cond{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.4fr) auto;align-items:center;gap:.4rem;margin-bottom:.4rem;display:grid}.cond input,.cond select{width:100%}.admin-form .field{max-width:none}.admin-form .two{grid-template-columns:1fr 1fr;gap:0 .8rem;display:grid}@media (width<=980px){.admin-grid{grid-template-columns:1fr}.admin-side{border-left:0;border-top:1px solid var(--rule);margin-top:1.5rem;padding-top:1.25rem;padding-left:0;position:static}.arow{grid-template-columns:1fr 1fr}}
