:root{--bg: #050505;--bg-2: #0a0a0a;--surface: #0f0f10;--line: #1c1c1e;--line-2: #262628;--text: #f5f5f3;--text-2: #a8a8a4;--text-3: #6a6a66;--accent: #6ee7ff;--accent-warm: #ffb86b;--good: #6ee7a8;--warn: #ffb86b;--crit: #ff7a7a;--radius: 2px;--maxw: 1320px;--grid-gap: 88px;--font: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--serif: "Instrument Serif", Georgia, serif;--c-1: #6ee7ff;--c-2: #7aa2ff;--c-3: #b39dff;--c-4: #ffb86b;--c-5: #5fd0c5;--c-6: #8a93a8}:root[data-theme=light]{--bg: #f4f1ea;--bg-2: #ebe7dd;--surface: #ffffff;--line: #d8d3c6;--line-2: #c4bea9;--text: #0a0a0a;--text-2: #4a4a46;--text-3: #8a8a82;--accent: #1454ff;--accent-warm: #c8521b;--good: #1a8f4c;--warn: #c8521b;--crit: #c23b3b;--c-1: #1454ff;--c-2: #4f74d6;--c-3: #7a5ac9;--c-4: #c8521b;--c-5: #0f8a80;--c-6: #6a6a66}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.grid-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:var(--grid-gap) var(--grid-gap);opacity:.35;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 90% 70% at 50% 30%,#000 40%,transparent 100%)}#root{position:relative;z-index:1}.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;color:var(--text-3)}.serif{font-family:var(--serif);font-style:italic}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none}.glow{color:var(--accent)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:14px 28px;background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-weight:600;letter-spacing:-.02em;font-size:15px}.brand .mark{width:16px;height:16px;transform:rotate(45deg);background:var(--surface);border:1px solid var(--accent);position:relative}.brand .mark:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;background:var(--accent)}.brand small{color:var(--text-3);font-weight:400;letter-spacing:0}.spacer{flex:1}.egm-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line-2);border-radius:var(--radius);padding:6px 11px;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2)}.egm-chip b{color:var(--text)}.egm-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden}.seg button{font:inherit;font-size:13px;font-weight:500;border:0;cursor:pointer;padding:7px 16px;color:var(--text-2);background:transparent}.seg button+button{border-left:1px solid var(--line-2)}.seg button.active{background:var(--accent);color:#04121a;font-weight:600}:root[data-theme=light] .seg button.active{color:#fff}.btn{font:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--line-2);background:transparent;color:var(--text);display:inline-flex;align-items:center;gap:8px;transition:border-color .15s,background .15s,color .15s}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#04121a;font-weight:600}:root[data-theme=light] .btn.accent{color:#fff}.btn.accent:hover:not(:disabled){color:#04121a;filter:brightness(1.08)}.btn.lg{padding:11px 24px;font-size:14px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn .arrow{transition:transform .15s}.btn:hover:not(:disabled) .arrow{transform:translate(3px)}.iconbtn{font:inherit;background:transparent;border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text-2);cursor:pointer;padding:7px 10px}.iconbtn:hover{border-color:var(--accent);color:var(--accent)}.wrap{max-width:var(--maxw);margin:0 auto;padding:28px 28px 64px}.title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:500;letter-spacing:-.045em;line-height:1;margin:0 0 6px;text-wrap:balance}.lede{color:var(--text-2);max-width:72ch;margin:0 0 26px;text-wrap:pretty}.sectag{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px}.sectag:before{content:"";width:24px;height:1px;background:var(--accent)}.sectag .mono{color:var(--text-2)}.stepper{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:30px}.step{display:inline-flex;align-items:center;gap:10px;font:inherit;background:transparent;border:0;cursor:pointer;color:var(--text-3);padding:4px}.step .n{width:24px;height:24px;border:1px solid var(--line-2);display:grid;place-items:center;font-family:var(--mono);font-size:.72rem;color:var(--text-3);border-radius:var(--radius)}.step.done{color:var(--text-2)}.step.done .n{border-color:var(--accent);color:var(--accent)}.step.active{color:var(--text)}.step.active .n{background:var(--accent);border-color:var(--accent);color:#04121a}:root[data-theme=light] .step.active .n{color:#fff}.step:disabled{opacity:.4;cursor:not-allowed}.stepper .sep{color:var(--text-3);font-family:var(--mono)}.panel{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.panel:before,.panel:after,.panel>.tick-tr,.panel>.tick-bl{content:"";position:absolute;width:7px;height:7px;border-color:var(--line-2);border-style:solid;pointer-events:none}.panel:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.panel:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.panel>.tick-tr{top:-1px;right:-1px;border-width:1px 1px 0 0}.panel>.tick-bl{bottom:-1px;left:-1px;border-width:0 0 1px 1px}.panel .pl{position:absolute;top:10px;left:14px}.panel .body{padding:18px}.drop{text-align:center;padding:56px 24px;cursor:pointer;transition:border-color .15s,background .15s}.drop.hover,.drop:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface));outline:none}.drop .mark-lg{width:42px;height:42px;transform:rotate(45deg);border:1px solid var(--accent);margin:0 auto 18px;position:relative}.drop .mark-lg:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;background:var(--accent)}.drop h3{margin:0 0 6px;font-weight:500;font-size:17px;letter-spacing:-.02em}.drop p{margin:0;color:var(--text-2);font-size:14px}.det-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.det-grid .cell{background:var(--surface);padding:14px 16px}.det-grid .k{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3)}.det-grid .v{font-family:var(--mono);font-size:20px;margin-top:5px;color:var(--text)}.det-grid .v.accent{color:var(--accent)}.toolbar{display:flex;flex-wrap:wrap;gap:20px;padding:16px 18px;align-items:flex-end}.field{display:flex;flex-direction:column;gap:5px}.field label{font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3)}.field input,.field select{font:inherit;font-family:var(--mono);font-size:14px;padding:8px 10px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text)}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.tbl-scroll{overflow-x:auto}table.calc{width:100%;border-collapse:collapse;min-width:860px}table.calc th{text-align:left;font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-3);font-weight:400;padding:12px;border-bottom:1px solid var(--line-2);white-space:nowrap}table.calc th.r,table.calc td.r{text-align:right}table.calc td{padding:7px 12px;border-bottom:1px solid var(--line);font-size:14px}table.calc tr.off td{opacity:.4}table.calc tbody tr:hover td{background:var(--bg-2)}.m-name{display:flex;align-items:center;gap:10px}.m-name .sw{width:9px;height:9px;flex:none}.m-name .code{font-family:var(--mono);font-size:.64rem;color:var(--text-3);border:1px solid var(--line-2);padding:0 5px}.cell-in{width:104px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;text-align:right;padding:6px 8px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text)}.cell-in.sm{width:66px}.cell-in:focus{outline:none;border-color:var(--accent)}.cell-in:disabled{opacity:.4}.chk{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.egm-pct{font-family:var(--mono);color:var(--text-2)}.calc-imp{font-family:var(--mono);color:var(--text-3)}.calc-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 18px;border-top:1px solid var(--line-2)}.calc-foot .tot{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.calc-foot .tot b{font-size:15px;color:var(--text);letter-spacing:0}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.kpi{padding:18px}.kpi .k{font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3)}.kpi .v{font-family:var(--mono);font-size:32px;letter-spacing:-.02em;margin-top:8px;line-height:1}.kpi.hero .v{color:var(--accent)}.kpi .sub{font-size:13px;color:var(--text-2);margin-top:6px}.meter{height:3px;background:var(--line-2);margin-top:12px;overflow:hidden}.meter>i{display:block;height:100%;background:var(--accent)}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.card.span{grid-column:1 / -1}.card .hd{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px 0}.card .hd h3{margin:0;font-size:15px;font-weight:500;letter-spacing:-.01em}.card .hd p{margin:5px 0 0;font-size:12.5px;color:var(--text-2);max-width:54ch}.card .plot{padding:8px 10px 14px}.tag{font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;padding:4px 8px;border:1px solid var(--line-2);border-radius:var(--radius);white-space:nowrap;color:var(--text-2)}.tag.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--line-2))}.rows{padding:6px 18px 16px}.row{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:14px;padding:9px 0}.row+.row{border-top:1px solid var(--line)}.row .nm{font-size:13.5px}.track{position:relative;height:14px;background:var(--bg-2);border:1px solid var(--line);overflow:hidden}.track>i{position:absolute;left:0;top:0;bottom:0}.val{font-family:var(--mono);font-size:12.5px;display:inline-flex;align-items:center;gap:8px}.pill{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:var(--radius);border:1px solid}.pill.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,transparent)}.pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.pill.crit{color:var(--crit);border-color:color-mix(in srgb,var(--crit) 45%,transparent)}.callout{margin:0 18px 18px;padding:11px 13px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);font-size:12.5px;color:var(--text-2)}.callout b{color:var(--text)}.foot{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.errbar{margin-bottom:18px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--crit) 50%,var(--line));color:var(--crit);border-radius:var(--radius);font-size:13.5px}.stack{display:flex;flex-direction:column;gap:18px}.right{text-align:right}select.mini{font:inherit;font-family:var(--mono);font-size:12px;background:var(--bg-2);border:1px solid var(--line-2);color:var(--text);padding:4px 8px;border-radius:var(--radius)}@media (max-width: 900px){.kpis,.det-grid{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}
