:root{--paper:#141414;--surface:#1C1C1C;--surface-2:#242424;--line:#2C2C2C;--line-2:#3D3D3D;--ink:#EDEDEA;--ink-2:#AFAFAA;--ink-3:#848480;--accent:#D0F882;--on-accent:#141414;--accent-soft:#242A1E;--focus:#D0F882;--mark:#A6A6A1;--mark-soft:#3A3A38;--p1:#FFB13B;--p2:#A98BFF;--pos:#6CC58C;--neg:#F07A6A;--warn:#A5ADB5;--bound-1:#616A72;--bound-2:#A5ADB5;--free:#4A4A47;--hatch:rgba(0,0,0,.22);--mark-2:color-mix(in srgb,var(--ink) 45%,var(--surface));--hero-bg:#222222;--hero-ink:#EDEDEA;--hero-ink-2:#A9A9A4;--hero-line:rgba(255,255,255,.1);--hero-num:#D0F882;--hero-neg:#F2A094;--shadow:none;--r:16px;--r-sm:8px;color-scheme:dark}:root[data-theme=light]{--paper:#FFFFFF;--surface:#FFFFFF;--surface-2:#F4F5F3;--line:#E6E8E4;--line-2:#CFD4CD;--ink:#193333;--ink-2:#4E6262;--ink-3:#6E8282;--accent:#D0F882;--on-accent:#193333;--accent-soft:#F6FBEE;--focus:#193333;--mark:#193333;--mark-soft:#C9D6C9;--p1:#F5921B;--p2:#8A5CF0;--pos:#237A50;--neg:#C8402F;--warn:#5C7373;--bound-1:#93A5A5;--bound-2:#5C7373;--free:#D5DDD5;--hatch:rgba(255,255,255,.3);--mark-2:color-mix(in srgb,var(--ink) 55%,var(--surface));--hero-bg:#193333;--hero-ink:#F2F7F2;--hero-ink-2:#A9BDB7;--hero-line:rgba(255,255,255,.12);--hero-num:#D0F882;--hero-neg:#F5A094;--shadow:0 1px 2px rgba(25,51,51,.04),0 12px 32px -16px rgba(25,51,51,.18);color-scheme:light}*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:24px;-webkit-font-smoothing:antialiased}.wrap{max-width:1000px;margin:0 auto;padding-inline:16px;padding-block:32px 64px}h1,h2{font-family:Geist,sans-serif;font-weight:500;margin:0;text-wrap:balance}h1{font-size:40px;line-height:48px;letter-spacing:-.025em}@media(max-width:600px){h1{font-size:32px;line-height:40px}}h2{font-size:24px;line-height:32px;letter-spacing:-.015em}h3{font-size:16px;line-height:24px;font-weight:600;margin:0}.eyebrow{font-family:Geist Mono,monospace;font-size:11px;line-height:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-2)}.small{font-size:13px;line-height:20px}.n{font-family:Geist Mono,monospace;font-variant-numeric:tabular-nums}header.page{border-bottom:1px solid var(--line-2);padding-bottom:32px;margin-bottom:40px}header.page .eyebrow{margin-bottom:8px}header.page p{margin:16px 0 0;font-size:16px;line-height:24px;color:var(--ink-2);max-width:60ch}section{margin-bottom:48px}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.sec-head p{margin:0;max-width:58ch;line-height:20px}.sec-head .acts{display:flex;gap:8px;margin-left:auto;align-items:center}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}.card,.controls,.chain,.pcard,.cv,details,.mdl{box-shadow:var(--shadow)}.topbar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar .in{max-width:1000px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;gap:16px;justify-content:space-between;min-height:48px}.topbar .left{display:flex;align-items:baseline;gap:12px;min-width:0}.topbar .brand{display:inline-flex;align-items:center;gap:8px;font-size:15px;line-height:24px;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none;white-space:nowrap}.topbar .mark{width:12px;height:12px;border-radius:3px;background:var(--accent);flex:none}.topbar .sub{font-size:13px;line-height:20px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.topbar .sub,.topbar .who>span:not(.badge){display:none}.topbar .badge{max-width:46vw;overflow:hidden;text-overflow:ellipsis}}.topbar .who{font-size:13px;line-height:20px;color:var(--ink-2);display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.badge{font-family:Geist Mono,monospace;font-size:11px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--accent-soft);color:var(--ink-2);white-space:nowrap}.badge.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.btn{font-family:Geist,sans-serif;font-size:13px;line-height:20px;font-weight:500;height:32px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--ink-3)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{opacity:.88}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}.btn.danger{color:var(--neg);border-color:transparent;background:transparent}.btn.danger:hover{background:color-mix(in srgb,var(--neg) 10%,transparent)}.btn:disabled{opacity:.5;cursor:default;filter:none}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn.sm{height:24px;padding:0 8px;font-size:12px}.btn.theme{gap:6px}.btn.theme svg{width:14px;height:14px;flex:none}.screen .theme{position:fixed;top:12px;right:16px}.controls{background:var(--surface-2);border:1px solid transparent;border-radius:var(--r);padding:16px 24px;display:flex;flex-wrap:wrap;gap:24px 40px;align-items:flex-start}.ctl{display:flex;flex-direction:column;gap:8px}.ctl>label,.ctl>.lbl{font-size:13px;line-height:20px;font-weight:500}.tabs{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden}.tabs button{font-family:Geist,sans-serif;font-size:13px;line-height:20px;height:32px;padding:0 16px;border:none;background:var(--surface);color:var(--ink-2);cursor:pointer}.tabs button+button{border-left:1px solid var(--line-2)}.tabs button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:500}.tabs button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.rate{display:flex;align-items:center;gap:8px;min-height:32px}.rate input[type=range]{width:120px;accent-color:var(--accent)}.rate input[type=number]{font-family:Geist Mono,monospace;font-size:14px;height:32px;padding:0 8px;width:104px;text-align:right;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.rate input[type=number]:focus{outline:2px solid var(--focus);outline-offset:-1px}.rate .v{font-family:Geist Mono,monospace;font-size:16px;line-height:24px;font-weight:500;min-width:48px}.sw{display:flex;align-items:center;gap:8px;font-size:13px;line-height:20px;min-height:32px;cursor:pointer}.sw input{width:16px;height:16px;accent-color:var(--accent);margin:0;cursor:pointer}.sw input:disabled{cursor:default}.sw:has(input:disabled){color:var(--ink-3);cursor:default}.models{display:flex;flex-direction:column;gap:8px}.mdl{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(var(--figs,3),minmax(88px,auto));gap:16px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}.mdl:hover{border-color:var(--line-2);background:var(--surface-2)}.mdl[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.mdl[aria-pressed=true] .nm:after{content:"";width:16px;height:16px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M4 8.5l2.5 2.5L12 5.5%27 fill=%27none%27 stroke=%27%23193333%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") center/16px no-repeat}.mdl:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mdl .nm{font-weight:600;font-size:15px;line-height:24px;margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mdl .ex{font-size:13px;color:var(--ink-2);line-height:20px}.mdl .fig{display:flex;flex-direction:column;align-items:flex-end}.mdl .fig em{font-style:normal;font-size:11px;line-height:16px;color:var(--ink-3);white-space:nowrap}.mdl .fig b{font-family:Geist Mono,monospace;font-size:14px;line-height:24px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:700px){.mdl{grid-template-columns:repeat(var(--figs,3),1fr)}.mdl>div:first-child{grid-column:1/-1}.mdl .fig{align-items:flex-start}}.chain{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}.step{display:grid;grid-template-columns:minmax(184px,1.3fr) minmax(0,3fr) minmax(96px,auto);gap:16px;align-items:center;padding-block:8px}.step .lbl{font-size:13px;line-height:20px}.bar-track{height:28px;background:var(--surface-2);border-radius:8px;overflow:hidden}.bar{height:100%;border-radius:8px}.step .val{text-align:right;font-family:Geist Mono,monospace;font-size:14px;line-height:24px;font-variant-numeric:tabular-nums}.step.result .lbl{font-weight:600}.step.result .val{font-weight:500;font-size:15px}.cut{display:grid;grid-template-columns:minmax(184px,1.3fr) minmax(0,3fr) minmax(96px,auto);gap:16px;align-items:center;padding-block:4px}.cut .lbl{font-size:12px;line-height:16px;color:var(--ink-2);text-align:right}.cut .dash{display:flex;align-items:center;gap:8px;color:var(--neg);font-size:12px;line-height:16px}.cut .dash span.line{flex:1;height:1px;background:var(--line-2)}.cut .val{text-align:right;font-family:Geist Mono,monospace;font-size:12px;color:var(--neg)}@media(max-width:620px){.step,.cut{grid-template-columns:1fr auto;gap:8px}.step .bar-track{grid-column:1/-1;order:3}.cut .dash{display:none}.cut .lbl{text-align:left}}.partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:16px}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}.pcard .who{display:flex;align-items:center;gap:12px;min-width:0}.pbadge{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:600;font-size:15px;background:color-mix(in srgb,var(--tone) 18%,var(--surface));color:var(--tone);flex:none}.pcard .top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.pcard .nm{font-size:16px;line-height:24px;height:32px;font-weight:600;font-family:Geist,sans-serif;border:1px solid transparent;border-radius:var(--r-sm);padding:0 8px;margin-left:-8px;background:transparent;color:var(--ink);width:11ch;min-width:0}.pcard .nm:hover{border-color:var(--line-2)}.pcard .nm:focus{outline:2px solid var(--focus);outline-offset:-1px;background:var(--surface-2)}.chip{font-family:Geist Mono,monospace;font-size:11px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;font-weight:500;white-space:nowrap}.chip.over{background:color-mix(in srgb,var(--neg) 14%,transparent);color:var(--neg)}.chip.under{background:color-mix(in srgb,var(--pos) 14%,transparent);color:var(--pos)}.chip.offen{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn);margin-left:6px;font-size:10px;padding:2px 6px}.rows{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.row{display:flex;justify-content:space-between;gap:16px;font-size:13px;line-height:20px}.row .n,.cv .pl .n{white-space:nowrap}.row.sub{color:var(--ink-2);padding-left:16px}.row.tot{font-weight:600;border-top:1px solid var(--line);padding-top:8px}.saldo{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.saldo .k{font-size:13px;line-height:20px;font-weight:600}.saldo .v{font-family:Geist,sans-serif;font-size:32px;line-height:40px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.saldo .v.pos{color:var(--pos)}.saldo .v.neg{color:var(--neg)}.cover{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.cv{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}.cv .yr{display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:Geist Mono,monospace;font-size:11px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}.cv .yr .chip{letter-spacing:.06em}.cv .pair{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.cv .pl{display:flex;justify-content:space-between;font-size:13px;line-height:20px;gap:8px}.cv .res{font-family:Geist,sans-serif;font-size:28px;line-height:32px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums;border-top:1px solid var(--line);padding-top:16px}.cv .res.pos{color:var(--pos)}.cv .res.neg{color:var(--neg)}.cv .res small{display:block;font-family:Geist,sans-serif;font-size:12px;line-height:16px;font-weight:400;color:var(--ink-2);margin-top:8px}.rank{display:flex;flex-direction:column;gap:8px}.rk{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2.5fr) minmax(88px,auto);gap:16px;align-items:center;font-size:13px;line-height:20px}.rk .rb{height:16px;background:var(--surface-2);border-radius:4px;overflow:hidden}.rk .rb i{display:block;height:100%;background:var(--mark-2);border-radius:4px}.rk .rv{text-align:right;font-family:Geist Mono,monospace;font-variant-numeric:tabular-nums}.rk.tot{border-top:1px solid var(--line);padding-top:8px;margin-top:8px;font-weight:600}@media(max-width:560px){.rk{grid-template-columns:1fr auto}.rk .rb{grid-column:1/-1;order:3}}.stack{display:flex;height:48px;border-radius:12px;overflow:hidden;gap:3px;margin-bottom:16px;background:var(--surface-2)}.seg{min-width:2px}.bound{background-image:repeating-linear-gradient(135deg,var(--hatch) 0 3px,transparent 3px 7px)}.legend{display:flex;flex-wrap:wrap;gap:16px}.lg{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:20px}.lg .sw2{width:12px;height:12px;border-radius:2px;margin-top:4px;flex:none}.lg .t{display:flex;flex-direction:column}.lg .t b{font-weight:500}.lg .t span{font-family:Geist Mono,monospace;font-size:13px;line-height:20px;color:var(--ink-2)}.check{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:20px;color:var(--ink-2);margin-top:16px}.check .dot{width:8px;height:8px;border-radius:50%;background:var(--pos);flex:none;margin-top:6px}.check .dot.bad{background:var(--neg)}details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}details+details{margin-top:16px}summary{padding:16px;cursor:pointer;font-weight:600;font-size:15px;line-height:24px;display:flex;justify-content:space-between;gap:16px;align-items:center;list-style:none}summary::-webkit-details-marker{display:none}summary .sm{font-family:Geist Mono,monospace;font-size:13px;line-height:20px;font-weight:400;color:var(--ink-2);margin-left:auto;margin-right:8px}summary:after{content:"+";font-family:Geist Mono,monospace;color:var(--ink-3);font-size:18px;line-height:1}details[open] summary:after{content:"–"}summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.tbl-wrap{overflow-x:auto;border-top:1px solid var(--line);max-height:480px;overflow-y:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{position:sticky;top:0;z-index:1;background:var(--surface);text-align:left;font-family:Geist Mono,monospace;font-size:11px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:8px 16px;white-space:nowrap;border-bottom:1px solid var(--line)}th.r{text-align:right}td{padding:6px 16px;line-height:20px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:nth-child(2n){background:var(--surface-2)}td.num{text-align:right;font-family:Geist Mono,monospace;font-variant-numeric:tabular-nums}td.act{text-align:right;width:1%;padding-block:4px}tr.rowbtn{cursor:pointer}tr.rowbtn:hover td{background:var(--accent-soft)}tr.rowbtn td .btn.sm{visibility:hidden}tr.rowbtn:hover td .btn.sm,tr.rowbtn:focus-within td .btn.sm{visibility:visible}tr.addrow td{padding:4px 8px;border-bottom:none}tbody tr.addrow:nth-child(2n){background:transparent}tr.off td{opacity:.6}tr.off:hover td{opacity:1}footer.page{border-top:1px solid var(--line-2);padding-top:32px;margin-top:64px;font-size:13px;line-height:20px;color:var(--ink-2)}footer.page p{margin:0 0 8px;max-width:66ch}.status{font-size:12px;line-height:16px;color:var(--ink-3);margin-top:16px;min-height:16px}.status.err{color:var(--neg)}.modal{border:none;padding:0;background:transparent;max-width:min(560px,calc(100vw - 32px));width:100%;margin:auto}.modal::backdrop{background:#0a0e0c73;backdrop-filter:blur(2px)}.modal-body{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:24px;max-height:calc(100vh - 64px);overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.form{display:flex;flex-direction:column;gap:16px}.form .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:520px){.form .grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:20px;min-width:0}.field>span{font-weight:500}.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{font-family:Geist,sans-serif;font-size:15px;line-height:24px;height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);width:100%;min-width:0}.field input.n{font-family:Geist Mono,monospace;text-align:right}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:-1px}.field .hint{font-size:12px;line-height:16px;color:var(--ink-3)}.form-err{margin:0;color:var(--neg);font-size:13px;line-height:20px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actions .spacer{flex:1}.radios{display:flex;flex-direction:column;gap:4px}.radios label{display:flex;align-items:center;gap:8px;font-size:13px;line-height:20px;min-height:24px;cursor:pointer}.radios input{accent-color:var(--accent);margin:0;width:16px;height:16px;flex:none}.screen{min-height:100vh;display:grid;place-items:center;padding:16px}.screen-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:32px;width:100%;max-width:440px}.screen-card h1{font-size:32px;line-height:40px;margin:8px 0 16px}.screen-card p{margin:0 0 16px;line-height:24px;color:var(--ink-2)}.screen-card p b{color:var(--ink)}@media(prefers-reduced-motion:no-preference){.bar,.seg,.rk .rb i{transition:width .25s ease}}.hero{background:var(--hero-bg);color:var(--hero-ink);border-radius:24px;padding:32px;position:relative;overflow:hidden;isolation:isolate;box-shadow:var(--shadow)}.hero .eyebrow{color:var(--hero-ink-2);margin-bottom:8px}.hero h1{color:var(--hero-ink)}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-bottom:32px}.hero .tabs{border-color:var(--hero-line);background:#ffffff0f;overflow:hidden}.hero .tabs button{background:transparent;color:var(--hero-ink-2)}.hero .tabs button+button{border-left-color:var(--hero-line)}.hero .tabs button[aria-pressed=true]{background:var(--accent);color:#193333}.hero .tabs button:focus-visible{outline-color:var(--accent)}.kpis{display:grid;border-top:1px solid var(--hero-line)}.kpi{display:flex;flex-direction:column;gap:8px;padding:24px 24px 0 0;min-width:0}.kpi+.kpi{padding-left:24px;border-left:1px solid var(--hero-line)}.kpi-l{display:flex;align-items:center;gap:8px;font-size:13px;line-height:20px;color:var(--hero-ink-2)}.kpi-l .dot{width:10px;height:10px;border-radius:50%;flex:none}.kpi-v{font-size:clamp(26px,3.4vw,36px);line-height:40px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--hero-num);white-space:nowrap}.kpi-v.neg{color:var(--hero-neg)}.kpi-v.plain{color:var(--hero-ink)}.kpi-s{font-size:12px;line-height:16px;color:var(--hero-ink-2)}@media(max-width:720px){.kpis{grid-template-columns:1fr!important}.kpi{padding-right:0}.kpi+.kpi{padding-left:0;border-left:none;border-top:1px solid var(--hero-line)}}@media(max-width:600px){.hero{padding:24px;border-radius:16px}.kpi-v{font-size:32px}}
