:root{color-scheme:dark;--ground:#0a0d12;--surface:#11151c;--surface-2:#181d26;--surface-3:#1f2530;--ink:#e9edf2;--ink-2:#d2d8e1;--ink-3:#a9b3c0;--rule:#1e2530;--rule-2:#2c3542;--accent:#E0B23A;--accent-ink:#F0C44E;--on-accent:#1a1400;--good:#5cc08e;--bad:#e2605a;--prev:#7d8796;--own-soft:rgba(224,178,58,.12)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-size:14px;line-height:1.55;font-family:Instrument Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.tab{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}a{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.shell{--pad:clamp(16px,2.5vw,40px);padding:clamp(16px,2vw,32px) var(--pad) 96px;display:flex;flex-direction:column;gap:22px;max-width:1600px;margin:0 auto}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;margin:0 calc(-1 * var(--pad));padding:10px var(--pad);min-height:52px;background:color-mix(in srgb,var(--ground) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}.nav-home{display:flex;flex:none}.nav-home .logo{height:12px;margin:0}.nav-links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1 1}.nav-links::-webkit-scrollbar{display:none}@media (max-width:1100px){.nav-links{position:relative;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}}.nav-links button{flex:none;font-size:13.5px;color:var(--ink-2);padding:6px 12px;border-radius:8px;white-space:nowrap}@media (hover:hover){.nav-links button:hover{color:var(--ink);background:var(--surface-2)}}.nav-links button[aria-selected=true]{color:var(--accent-ink);background:var(--own-soft);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.panel{display:flex;flex-direction:column;gap:22px;min-height:60vh}.panel>.block>h2{margin-top:4px}.nav-period{flex:none;font-size:11px;color:var(--ink-3)}.seg-sm button{height:26px;padding:0 10px;font-size:11.5px}.nav-select{display:none;height:32px;border-radius:8px;border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;padding:0 8px}@media (max-width:1520px){.nav-period{display:none}}@media (max-width:1100px){.navbar .seg-sm{display:none}.nav-select{display:block;flex:none}}@media (max-width:600px){.nav-home{display:none}.navbar{flex-wrap:wrap;gap:6px 10px;padding-top:8px;padding-bottom:8px}.nav-links{flex-basis:100%}.nav-select{flex:1 1;width:auto}}.top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--own-soft)}h1{font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-.025em;margin:0}.lede{font-size:14px;color:var(--ink-2);max-width:70ch;margin:8px 0 0}.logo{height:22px;width:auto;color:var(--accent);display:block;margin-bottom:14px}.picker{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.seg{display:inline-flex;flex-wrap:wrap;background:var(--surface-2);padding:3px;gap:2px}.seg,.seg button{border-radius:999px}.seg button{font-size:12px;height:28px;padding:0 12px;color:var(--ink-2)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.range{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-3)}.range input{background:var(--surface);color:var(--ink);border:1px solid var(--rule-2);padding:0 8px;font:inherit;color-scheme:dark}.range button,.range input{border-radius:8px;height:30px}.range button{padding:0 12px;border:1px solid var(--rule-2)}.range button:hover{border-color:var(--accent)}.vs{font-size:12px;color:var(--ink-3)}.vs b{color:var(--ink-2);font-weight:500}@media (max-width:900px){.picker{align-items:flex-start}}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin:0}.kpi{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:16px 18px;margin:0;display:flex;flex-direction:column}.kpis .kpi dt{min-height:2.9em}.kpi .spark{width:100%;height:36px;margin-top:auto;padding-top:10px;overflow:visible;flex:none}.kpi .spark path{fill:none;stroke:var(--ink-3);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.kpi.hot .spark path{stroke:var(--accent)}@media (min-width:1100px){.kpis.six{grid-template-columns:repeat(6,1fr)}}.step .head em.cost{font-style:normal;font-weight:500;color:var(--accent-ink)}@media (max-width:600px){.kpis{gap:8px}.kpi{padding:12px 14px;border-radius:12px}.kpi dd{font-size:22px}.kpi .sub{font-size:11px}.kpi .spark{height:30px;padding-top:6px}}.kpi dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px}.kpi dd{margin:0;font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1.05}.kpi .sub{font-size:12px;color:var(--ink-3);margin:6px 0 0}.kpi.hot{background:linear-gradient(135deg,var(--own-soft),transparent 70%);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.kpi.hot dd{color:var(--accent-ink)}.delta{font-size:12px;font-weight:500}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.delta.flat{color:var(--ink-3)}.block{display:flex;flex-direction:column;gap:14px;scroll-margin-top:64px}.block>h2{font-size:19px;font-weight:600;letter-spacing:-.015em;margin:12px 0 0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.block>h2 .src{font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--ink-3);border:1px solid var(--rule-2);border-radius:999px;padding:2px 9px}.block>p.note{font-size:13px;color:var(--ink-3);margin:-6px 0 0;max-width:90ch}.card{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:12px;min-width:0}.card h3{font-size:15px;font-weight:600;margin:0}.card .desc{font-size:12.5px;color:var(--ink-3);margin:-6px 0 0}.grid2{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr))}.grid2.roomy{grid-template-columns:repeat(auto-fit,minmax(min(100%,700px),1fr))}.grid3{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.chart{height:260px}.chart-tall{height:340px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.zoom-btn{width:30px;height:28px;border-radius:8px;border:1px solid var(--rule-2);color:var(--ink-3);font-size:15px;flex:none}.zoom-btn:hover{color:var(--accent-ink);border-color:var(--accent)}@media (hover:hover){.chart.clickable{cursor:zoom-in}}dialog.zoom{width:min(1500px,95vw);max-width:none;height:min(860px,90vh);padding:0;border:1px solid var(--rule-2);border-radius:18px;background:var(--surface);color:var(--ink)}dialog.zoom::-webkit-backdrop{background:rgba(5,7,10,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog.zoom::backdrop{background:rgba(5,7,10,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zoom-body{display:flex;flex-direction:column;gap:12px;height:100%;padding:20px 24px}.zoom-head{display:flex;align-items:center;gap:16px}.zoom-head h3{font-size:17px;font-weight:600;margin:0}.zoom-hint{flex:1 1;font-size:12px;color:var(--ink-3)}.zoom-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--rule-2);font-size:15px}.zoom-close:hover{border-color:var(--accent)}.chart-zoom{flex:1 1;height:auto;min-height:0}@media (max-width:600px){.zoom-hint{display:none}.zoom-body{padding:14px}}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}.chart-head h3{font-size:16px;font-weight:600;margin:0;flex:1 1}.note-sm{font-size:12.5px;margin:-6px 0 0;max-width:100ch}.empty,.note-sm{color:var(--ink-3)}.empty{font-size:13px;margin:0}.scroll{overflow-x:auto;background:linear-gradient(90deg,var(--surface) 30%,transparent) 0 /32px 100% no-repeat local,linear-gradient(270deg,var(--surface) 30%,transparent) 100% /32px 100% no-repeat local,linear-gradient(90deg,rgba(224,178,58,.16),transparent) 0 /12px 100% no-repeat scroll,linear-gradient(270deg,rgba(224,178,58,.16),transparent) 100% /12px 100% no-repeat scroll}@media (max-width:600px){table.t td.name{min-width:140px}.rowbar{max-width:160px}}table.t{border-collapse:collapse;width:100%;font-size:13px}table.t th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:500;text-align:left;padding:0 10px 8px 0;border-bottom:1px solid var(--rule-2);white-space:nowrap}table.t td{padding:8px 10px 8px 0;border-bottom:1px solid var(--rule);vertical-align:top}table.t tr:last-child td{border-bottom:none}table.t .r{text-align:right;white-space:nowrap;padding-left:12px}table.t td.name{overflow-wrap:anywhere;min-width:180px}table.t .muted,table.t td.dim{color:var(--ink-3)}table.t tfoot td{border-top:1px solid var(--rule-2);font-weight:600}details summary{cursor:pointer;font-size:13px;color:var(--ink-2)}table.t tbody tr:hover td{background:var(--surface-2)}table.t td:first-child,table.t th:first-child{padding-left:6px}.rowbar{height:3px;margin-top:5px;background:var(--surface-3);max-width:260px}.rowbar,.rowbar i{display:block;border-radius:2px}.rowbar i{height:100%;background:var(--accent);opacity:.7}.flag{margin-right:8px}th button.sort{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;display:inline-flex;gap:4px;align-items:center;padding:0}th button.sort i{font-style:normal;opacity:.35;font-size:9px}th[aria-sort] button.sort{color:var(--accent-ink)}th[aria-sort] button.sort i{opacity:1}th button.sort:hover{color:var(--ink)}th button.sort:hover i{opacity:.8}.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:12.5px;color:var(--ink-3);flex-wrap:wrap}.pager select{background:var(--surface-2);color:var(--ink);padding:0 6px;font:inherit;margin-left:6px}.pager button,.pager select{border:1px solid var(--rule-2);border-radius:6px;height:28px}.pager button{width:30px;color:var(--ink-2);font-size:15px}.pager button:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.pager button:disabled{opacity:.35;cursor:default}.more{align-self:flex-start;font-size:12.5px;color:var(--ink-2);border:1px solid var(--rule-2);border-radius:8px;padding:5px 12px}.more:hover{color:var(--ink);border-color:var(--accent)}.funnel{display:flex;flex-direction:column;gap:14px}.step .head{display:flex;justify-content:space-between;gap:12px;font-size:13px}.step .head span{color:var(--ink-3)}.step .bar{position:relative;height:8px;border-radius:4px;background:var(--surface-3);margin-top:6px}.step .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--accent)}.step .bar.p{height:4px;margin-top:3px}.step .bar.p i{background:var(--prev)}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.gate-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--rule);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:14px}.gate-card input{height:42px;border-radius:10px;border:1px solid var(--rule-2);background:var(--ground);color:var(--ink);padding:0 12px;font:inherit}.gate-card button{height:42px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-weight:600}.gate-card button:disabled{opacity:.6}.gate-error{color:var(--bad);font-size:13px;margin:0}.picker-col{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fresh-row{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;margin-top:12px}.fresh{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;border:1px solid var(--rule-2);color:var(--ink-2)}.fresh i{width:7px;height:7px;border-radius:50%;background:var(--good)}.fresh.old i{background:var(--ink-3)}.eyebrow i.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.eyebrow i.pulse{animation:none}}.alert-box{position:relative;flex:none}.alert-btn{position:relative;width:34px;height:34px;border-radius:50%;font-weight:700;font-size:16px;display:grid;place-items:center;border:1px solid var(--rule-2);color:var(--ink-2);background:var(--surface-2)}.alert-btn.critical{background:rgba(226,96,90,.18);border-color:#e2605a;color:#ff9a94}.alert-btn.warning{background:rgba(226,162,58,.16);border-color:#e2a23a;color:#f6cf7d}.alert-btn:hover{filter:brightness(1.15)}.alert-btn i{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:9px;padding:0 5px;font-style:normal;font-size:11px;line-height:18px;font-weight:700;background:#e2605a;color:#fff}.alert-btn.warning i{background:#e2a23a;color:#1a1400}.alerts-pop{position:absolute;right:0;top:calc(100% + 10px);z-index:40;width:min(640px,92vw);max-height:min(70vh,640px);overflow:auto;background:var(--surface);border:1px solid var(--rule-2);border-radius:14px;padding:16px 18px;box-shadow:0 18px 48px rgba(0,0,0,.55)}.alerts-pop h3{font-size:14px;margin:0 0 10px}.alerts-pop p{margin:0 0 8px;font-size:13px;color:var(--ink-2)}.alerts-pop ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.alerts-pop ul:empty{display:none}.alerts-pop li{font-size:13.5px;color:var(--ink);line-height:1.5}.alerts-pop li b{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:1px 7px;margin-right:8px}.alerts-pop li.critical b{background:rgba(226,96,90,.18);color:#f08a84}.alerts-pop li.warning b{background:rgba(226,162,58,.18);color:#f0c46e}.alerts-pop li.info b{background:var(--surface-3);color:var(--ink-2)}.alerts-pop li .stop{display:block;margin:6px 0 0;padding:3px 9px;border-radius:6px;background:var(--surface-2);font-size:12.5px;color:var(--ink)}.alerts-pop li .stop i{font-style:normal;color:var(--ink-3)}@media (max-width:600px){.alerts-pop{position:fixed;left:12px;right:12px;top:120px;width:auto}}.alerts{border:1px solid color-mix(in srgb,#e2a23a 45%,var(--rule));border-radius:14px;background:color-mix(in srgb,#e2a23a 7%,var(--surface));padding:14px 18px}.alerts.calm{border-color:color-mix(in srgb,var(--good) 35%,var(--rule));background:color-mix(in srgb,var(--good) 6%,var(--surface))}.alerts h3{font-size:14px;margin:0 0 8px}.alerts p{margin:0;font-size:13px;color:var(--ink-2)}.alerts ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.alerts li{font-size:13.5px;color:var(--ink);padding-left:2px}.alerts li b{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:1px 7px;margin-right:8px}.alerts li.critical b{background:rgba(226,96,90,.18);color:#f08a84}.alerts li.warning b{background:rgba(226,162,58,.18);color:#f0c46e}.alerts li.info b{background:var(--surface-3);color:var(--ink-2)}.alerts ul:empty{display:none}.margin-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}.margin-row label{color:var(--ink-2);white-space:nowrap}.margin-row input{width:64px;height:30px;border-radius:8px;border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);font:inherit;padding:0 8px;margin-left:6px}.margin-row b{color:var(--ink);font-weight:600}.thin{color:var(--ink-3);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px;cursor:help}.hot-cell{color:#f0c46e;font-weight:600}.cell-spark{width:90px;height:22px;overflow:visible;display:block;margin-left:auto}.cell-spark path{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.alerts li .stop{display:inline-block;margin:4px 10px 0 0;padding:1px 8px;border-radius:6px;background:var(--surface-2);font-size:12.5px;color:var(--ink-2)}.alerts li .stop i{font-style:normal;color:var(--ink-3)}.alerts-pop li em.new{font-style:normal;font-size:11px;margin-left:8px;padding:1px 7px;border-radius:6px;background:var(--own-soft);color:var(--accent-ink)}button.code{display:inline-flex;align-items:center;gap:7px;padding:2px 9px 2px 7px;border-radius:999px;border:1px solid var(--rule-2);color:var(--ink);font-size:12.5px}button.code i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink-3)}button.code.on i{border-color:transparent}button.code:hover{border-color:var(--accent)}.sub-h{font-size:16px;font-weight:600;margin:8px 0 0}label.check{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2);cursor:pointer}label.check input{accent-color:var(--accent);width:15px;height:15px}.switch{display:inline-flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap;color:var(--ink-2)}.switch i{position:relative;width:26px;height:15px;border-radius:8px;background:var(--surface-3);border:1px solid var(--rule-2);flex:none}.switch i b{position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:var(--ink-3)}.switch.on{color:#8fe0b5}.switch.on i{background:rgba(92,192,142,.25);border-color:#5cc08e}.switch.on i b{left:13px;background:#5cc08e}.switch.bad{color:#f08a84}.switch.bad i{border-color:#e2605a}.switch.bad i b{background:#e2605a}.switch.review{color:#f0c46e}.switch.review i{border-color:#e2a23a}.switch.review i b{left:8px;background:#e2a23a}.switch.ended i b{background:transparent;border:1.5px solid var(--ink-3);width:6px;height:6px}.budget-row{margin:0;font-size:13.5px;color:var(--ink-2);background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:12px 16px}.budget-row b{color:var(--ink);font-weight:600}.budget-row .over{color:#f08a84;font-weight:600}.budget-row .under{color:#f0c46e;font-weight:600}