:root{--brand-900:#0c3a2c;--brand-800:#0b4636;--brand-700:#0b5340;--brand-600:#0a7c5a;--brand-500:#0f9268;--brand-400:#26a67e;--gold-600:#b8860b;--gold-500:#c99a3b;--gold-400:#d9b657;--bg:#eef2f0;--surface:#fff;--surface-2:#f5f8f6;--surface-3:#eaf0ec;--border:#d8e0db;--border-strong:#c3cec7;--text:#13211b;--text-muted:#566159;--text-faint:#859189;--primary:var(--brand-600);--primary-ink:#fff;--accent:var(--gold-600);--success:#0a7c5a;--success-bg:#e6f4ec;--warn:#a9760a;--warn-bg:#fbf1de;--danger:#b3361f;--danger-bg:#fbe9e6;--info:#1f6f80;--info-bg:#e4f1f3;--viz-1:#0a7c5a;--viz-2:#c99a3b;--viz-3:#1f6f80;--viz-base:#9aa8a0;--viz-grid:#e3eae6;--viz-fill:rgba(10,124,90,.12);--rank-a:#0a7c5a;--rank-bp:#4a8a2a;--rank-bm:#b07a12;--rank-cp:#b3611f;--rank-c:#b3361f;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:28px;--s7:40px;--s8:56px;--r-sm:6px;--r:10px;--r-lg:14px;--r-pill:999px;--shadow-1:0 1px 2px rgba(16,40,30,.06),0 1px 3px rgba(16,40,30,.05);--shadow-2:0 4px 12px rgba(16,40,30,.08),0 2px 4px rgba(16,40,30,.05);--shadow-pop:0 12px 32px rgba(12,40,30,.16);--font-sans:"Fira Sans","Segoe UI",Roboto,system-ui,sans-serif;--font-mono:"Fira Code","SFMono-Regular",ui-monospace,monospace;--header-h:56px}:root[data-theme=dark]{--bg:#0b1512;--surface:#121e19;--surface-2:#16241f;--surface-3:#1c2c26;--border:#26332d;--border-strong:#33443c;--text:#e7efe9;--text-muted:#a2b1a8;--text-faint:#74847b;--primary:#17a877;--accent:#d9b657;--success:#2bbd8a;--success-bg:#10251d;--warn:#e0b24e;--warn-bg:#2a2210;--danger:#ef6a52;--danger-bg:#2c1512;--info:#4fb6c9;--info-bg:#0f2429;--viz-1:#22b587;--viz-2:#e0b24e;--viz-3:#4fb6c9;--viz-base:#5c6f66;--viz-grid:#21302a;--viz-fill:rgba(34,181,135,.14);--rank-a:#22b587;--rank-bp:#74c04a;--rank-bm:#d4a02e;--rank-cp:#e08a3c;--rank-c:#ef6a52;--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 4px 14px rgba(0,0,0,.45);--shadow-pop:0 14px 36px rgba(0,0,0,.55)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1512;--surface:#121e19;--surface-2:#16241f;--surface-3:#1c2c26;--border:#26332d;--border-strong:#33443c;--text:#e7efe9;--text-muted:#a2b1a8;--text-faint:#74847b;--primary:#17a877;--accent:#d9b657;--success:#2bbd8a;--success-bg:#10251d;--warn:#e0b24e;--warn-bg:#2a2210;--danger:#ef6a52;--danger-bg:#2c1512;--info:#4fb6c9;--info-bg:#0f2429;--viz-1:#22b587;--viz-2:#e0b24e;--viz-3:#4fb6c9;--viz-base:#5c6f66;--viz-grid:#21302a;--viz-fill:rgba(34,181,135,.14);--rank-a:#22b587;--rank-bp:#74c04a;--rank-bm:#d4a02e;--rank-cp:#e08a3c;--rank-c:#ef6a52;--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 4px 14px rgba(0,0,0,.45);--shadow-pop:0 14px 36px rgba(0,0,0,.55)}}*{box-sizing:border-box}body,html{padding:0;margin:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);line-height:1.5;font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}::selection{background:color-mix(in srgb,var(--primary) 28%,transparent)}.kpi .val,.num,.stat .val,td.n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.wrap{max-width:1240px;margin:0 auto;padding:var(--s6) var(--s6) var(--s8)}@media (max-width:640px){.wrap{padding:var(--s5) var(--s4) var(--s7)}}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:var(--header-h);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border)}.topbar .inner{max-width:1240px;height:100%;margin:0 auto;padding:0 var(--s6);display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}@media (max-width:640px){.topbar .inner{padding:0 var(--s4)}}.brand{display:flex;align-items:center;gap:var(--s3);color:var(--text)}.brand:hover{text-decoration:none}.brand .mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(140deg,var(--brand-600),var(--brand-800));display:grid;place-items:center;color:#fff;box-shadow:var(--shadow-1)}.brand .name{font-weight:700;font-size:15px;letter-spacing:-.01em;line-height:1}.brand .name b{color:var(--primary)}.brand .sub{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-top:3px}.topbar nav{display:flex;align-items:center;gap:var(--s5);font-size:13px}.topbar nav a{color:var(--text-muted);font-weight:500}.topbar nav a:hover{color:var(--text);text-decoration:none}@media (max-width:640px){.topbar nav .hide-sm{display:none}}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.icon-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-weight:700}.eyebrow{display:inline-flex;align-items:center;gap:6px}h1.page{font-size:clamp(22px,3vw,30px);margin:var(--s3) 0 var(--s2);letter-spacing:-.02em;font-weight:700;line-height:1.12}h1.page,h2{color:var(--text)}h2{font-size:17px;margin:var(--s7) 0 var(--s3);letter-spacing:-.01em;display:flex;align-items:center;gap:var(--s2)}h2 .h2-num{font-family:var(--font-mono);font-size:11px;color:var(--primary);background:var(--success-bg);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);border-radius:var(--r-sm);padding:1px 6px;font-weight:600}h3{margin:var(--s4) 0 var(--s2);color:var(--text);font-weight:650}.sub,h3{font-size:14px}.sub{max-width:900px;line-height:1.55}.small,.sub{color:var(--text-muted)}.small{font-size:12px;line-height:1.5}.faint{color:var(--text-faint)}.mono{font-family:var(--font-mono)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--s4);box-shadow:var(--shadow-1)}.card.pad-lg{padding:var(--s5)}.grid{display:grid;grid-gap:var(--s4);gap:var(--s4)}.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:940px){.cols-3,.cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--s3);gap:var(--s3);margin:var(--s4) 0}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--s3) var(--s4);position:relative;overflow:hidden;box-shadow:var(--shadow-1)}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:.8}.stat.accent:before{background:var(--accent)}.stat.pos:before{background:var(--success)}.stat.neg:before{background:var(--danger)}.stat .lab{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.stat .val{font-size:21px;font-weight:600;color:var(--text);margin-top:4px;letter-spacing:-.01em}.stat .val .un{font-size:11px;color:var(--text-muted);font-weight:500;font-family:var(--font-sans);margin-left:3px}.stat .delta{font-size:11px;margin-top:3px;font-family:var(--font-mono)}.stat .delta.up{color:var(--success)}.stat .delta.down{color:var(--danger)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--s3);gap:var(--s3);margin:var(--s4) 0}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--s3) var(--s4);box-shadow:var(--shadow-1);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:.8}.kpi.ok:before{background:var(--success)}.kpi.gold:before{background:var(--accent)}.kpi .lab{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.kpi .val{font-size:20px;font-weight:600;color:var(--text);margin-top:4px}.kpi .un{font-size:11px;color:var(--text-muted);font-weight:500;font-family:var(--font-sans)}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1)}table{border-collapse:collapse;width:100%;font-size:12.5px;background:var(--surface)}thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-2);color:var(--text-muted);font-weight:600;text-align:left;padding:9px 11px;border-bottom:1px solid var(--border-strong);white-space:nowrap;font-size:11px;letter-spacing:.02em;text-transform:uppercase;z-index:1}tbody td{padding:9px 11px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}td.n,th.n{text-align:right;white-space:nowrap}tbody tr.rowlink{cursor:pointer;transition:background .12s ease}tbody tr.rowlink:hover td{background:var(--surface-2)}.table-plain{border:none;box-shadow:none}.table-plain thead th{background:transparent;text-transform:none;font-size:12px;letter-spacing:0}.box{border-radius:var(--r);padding:var(--s3) var(--s4);margin:var(--s3) 0;font-size:13px;border:1px solid var(--border);background:var(--surface);display:flex;gap:var(--s3);align-items:flex-start;line-height:1.5}.box .box-ico{flex-shrink:0;margin-top:1px}.box.ok{background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.box.ok .box-ico{color:var(--success)}.box.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 32%,transparent)}.box.warn .box-ico{color:var(--warn)}.box.danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 32%,transparent)}.box.danger .box-ico{color:var(--danger)}.box.note{background:var(--info-bg);border-color:color-mix(in srgb,var(--info) 26%,transparent)}.box.note .box-ico{color:var(--info)}.box.gold{background:var(--warn-bg);border-color:color-mix(in srgb,var(--accent) 34%,transparent)}.box.gold .box-ico{color:var(--accent)}.drop-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--s5);background:color-mix(in srgb,var(--bg) 72%,transparent);pointer-events:none}.drop-overlay>div{display:flex;align-items:center;gap:var(--s3);max-width:540px;padding:var(--s5) var(--s6);border:2px dashed var(--primary);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-pop);font-weight:600;color:var(--text)}.tag{display:inline-block;font-size:10px;font-weight:700;border-radius:var(--r-sm);padding:1px 6px;color:#fff;font-family:var(--font-mono)}.tag.F{background:var(--brand-600)}.tag.R{background:#1f6f80}.tag.D{background:#b07a12}.tag.A{background:#6b6f76}.badge{justify-content:center;font-weight:700;border-radius:var(--r-sm);padding:2px 9px;color:#fff;font-family:var(--font-mono);font-size:12px;min-width:34px;letter-spacing:.02em}.badge,.pill{display:inline-flex;align-items:center}.pill{gap:5px;font-size:11px;background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 10px;font-weight:500}.pill.mono{font-family:var(--font-mono)}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.flag{border-radius:var(--r);padding:10px 13px;margin:var(--s2) 0;font-size:12.5px;border:1px solid var(--border);background:var(--surface);display:flex;gap:var(--s3);align-items:flex-start}.flag .fico{flex-shrink:0;margin-top:1px}.flag .t{font-weight:650;color:var(--text);display:block;margin-bottom:2px}.flag .fd{color:var(--text-muted);line-height:1.5}.flag.info{background:var(--info-bg);border-color:color-mix(in srgb,var(--info) 24%,transparent)}.flag.info .fico{color:var(--info)}.flag.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.flag.warn .fico{color:var(--warn)}.flag.crit{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 32%,transparent)}.flag.crit .fico{color:var(--danger)}.calc-step{display:grid;grid-template-columns:30px 1fr auto;grid-gap:var(--s3);gap:var(--s3);align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:11px 14px;margin:var(--s2) 0;box-shadow:var(--shadow-1)}.calc-step .no{width:26px;height:26px;border-radius:8px;background:var(--brand-600);color:#fff;display:grid;place-items:center;font-family:var(--font-mono);font-weight:700;font-size:12px}.calc-step.emph .no{background:var(--accent);color:#241a03}.calc-step .cs-body .cs-label{font-size:12px;font-weight:600;color:var(--text)}.calc-step .cs-body .cs-formula{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);margin-top:3px;line-height:1.5;word-break:break-word}.calc-step .cs-formula sub,.calc-step .cs-formula sup{font-size:9px}.calc-step .cs-res{font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--primary);white-space:nowrap;text-align:right}.calc-step.emph .cs-res{color:var(--accent)}@media (max-width:640px){.calc-step{grid-template-columns:26px 1fr}.calc-step .cs-res{grid-column:2;text-align:left}}.btn{display:inline-flex;align-items:center;gap:7px;background:var(--primary);color:var(--primary-ink);border:1px solid transparent;border-radius:var(--r-sm);padding:9px 15px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:var(--font-sans)}.btn:hover{background:var(--brand-700);text-decoration:none;box-shadow:var(--shadow-2)}.btn.ghost{background:transparent;color:var(--primary);border-color:var(--border-strong)}.btn.ghost:hover{background:var(--surface-2);box-shadow:none}.btn.gold{background:var(--accent);color:#241a03}.btn.sm{padding:6px 11px;font-size:12px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;background:var(--surface-2);padding:2px;gap:2px}.seg button{background:transparent;border:none;padding:7px 13px;font-size:12.5px;cursor:pointer;color:var(--text-muted);font-family:var(--font-sans);font-weight:500;border-radius:5px;transition:all .15s ease;white-space:nowrap}.seg button:hover{color:var(--text)}.seg button.active{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-1)}.seg button .mono{font-family:var(--font-mono);font-size:11px;opacity:.85}.field{display:flex;gap:var(--s2);align-items:center}.field input{padding:8px 11px;border:1px solid var(--border-strong);border-radius:var(--r-sm);width:150px;font-size:13px;font-family:var(--font-mono);background:var(--surface);color:var(--text);transition:border .15s ease}.field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.pipeline{min-width:860px}.pipe-step,.pipeline{display:flex;gap:var(--s2)}.pipe-step{flex:1 1;align-items:stretch}.pipe-card{flex:1 1;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:11px 12px;box-shadow:var(--shadow-1);transition:transform .15s ease,box-shadow .15s ease}.pipe-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.pipe-card.core{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--warn-bg)}.pipe-card .pm{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--primary);font-weight:700}.pipe-card.core .pm{color:var(--accent)}.pipe-card .pt{font-weight:650;font-size:12.5px;color:var(--text);margin-top:6px}.pipe-card .pd{font-size:10.5px;color:var(--text-muted);margin-top:3px;line-height:1.45}.pipe-arrow{align-self:center;color:var(--text-faint);flex-shrink:0}.report{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-2)}.report-head{background:linear-gradient(135deg,var(--brand-800),var(--brand-600));color:#fff;padding:18px 22px;border-bottom:3px solid var(--accent)}.report-head .rk{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#a9dcc8}.report-head .rt{font-size:18px;font-weight:700;margin-top:6px;letter-spacing:-.01em}.report-body{padding:var(--s5) var(--s5) var(--s4);background:var(--surface)}.formula{background:var(--brand-900);color:#eafaf4;border-radius:var(--r);padding:12px 15px;margin:var(--s3) 0;font-family:var(--font-mono);font-size:12.5px;line-height:1.5}.formula .ttl{font-family:var(--font-sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8fd3ba;margin-bottom:6px;font-weight:600}.formula .res{background:hsla(0,0%,100%,.09);border-radius:var(--r-sm);padding:5px 10px;margin-top:7px;display:inline-block}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--s4);font-size:11.5px;color:var(--text-muted);margin-top:var(--s2)}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:11px;height:3px;border-radius:2px;display:inline-block}.chart-legend i.dot{width:9px;height:9px;border-radius:50%}.engine-term{border:1px solid var(--border-strong);border-radius:var(--r);overflow:hidden;background:var(--brand-900);box-shadow:var(--shadow-2)}.engine-term-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:hsla(0,0%,100%,.05);border-bottom:1px solid hsla(0,0%,100%,.08)}.engine-term-bar .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.engine-term-title{margin-left:8px;font-size:11px;color:#9ad9c0;font-family:var(--font-mono);display:inline-flex;align-items:center;gap:6px}.engine-term-body{padding:12px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.5;min-height:90px}.term-line{display:flex;align-items:flex-start;gap:9px;padding:2px 0;color:#cdeee0}.term-line .term-ico{flex-shrink:0;margin-top:1px;color:#4bb583;width:14px}.term-line.run .term-txt{color:#eafaf4}.term-line.done .term-ico{color:#4bb583}.conf-bar{width:58px;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;flex-shrink:0;display:inline-block}.conf-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand-600),var(--brand-400))}.mini-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 11px}.mini-stat .ms-lab{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:600}.mini-stat .ms-val{font-size:15px;font-family:var(--font-mono);color:var(--text);margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-stat .ms-un{font-size:10.5px;color:var(--text-muted);font-family:var(--font-sans)}footer.doc{margin-top:var(--s8);padding-top:var(--s4);border-top:1px solid var(--border);font-size:11.5px;color:var(--text-faint);line-height:1.6}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.reveal{animation:fadeUp .4s cubic-bezier(.2,.7,.3,1) both}.reveal-2{animation:fadeUp .4s cubic-bezier(.2,.7,.3,1) .06s both}.reveal-3{animation:fadeUp .4s cubic-bezier(.2,.7,.3,1) .12s both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.no-print,.topbar{display:none!important}body{background:#fff}.report{border:none}.card,.report,.table-scroll{box-shadow:none}}