@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap);:root{--bg:#080c14;--panel:#0d1220;--panel-2:#0a0f1b;--inset:#070b12;--line:#1a2235;--line-2:#243050;--text:#eaf2ff;--text-2:#b9cbe6;--muted:#8298bb;--dim:#5a7090;--blue:#4f9eff;--teal:#00d4aa;--red:#ff4d6d;--amber:#ffd666;--mono:"IBM Plex Mono",ui-monospace,monospace;--sans:"IBM Plex Sans",system-ui,sans-serif;--fs-tag:10px;--fs-xs:12px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:26px;--fs-hero:clamp(40px,6.2vw,68px);--topbar-h:52px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#080c14;background:var(--bg);color:#b9cbe6;color:var(--text-2);font-family:IBM Plex Sans,system-ui,sans-serif;font-family:var(--sans);font-size:15px;font-size:var(--fs-md);line-height:1.6;text-rendering:optimizeLegibility}body.sheet-locked{overflow:hidden}a{color:#4f9eff;color:var(--blue);text-decoration:none}a:hover{color:#00d4aa;color:var(--teal)}code{color:#eaf2ff;color:var(--text);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:.92em}h2,h3{font-weight:600}.app{display:flex;flex-direction:column;min-height:100vh}.layout{display:grid;flex:1 1;grid-template-columns:296px minmax(0,1fr)}.topbar{background:#0d1220;background:var(--panel);border-bottom:1px solid #1a2235;border-bottom:1px solid var(--line);gap:16px;height:52px;height:var(--topbar-h);justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:40}.brand,.topbar{align-items:center;display:flex}.brand{gap:12px;min-width:0;overflow:hidden}.brand-mark{background:#00d4aa;background:var(--teal);box-shadow:0 0 10px #00d4aab3;flex:none;height:9px;width:9px}.brand-title{color:#eaf2ff;color:var(--text);font-size:13px;font-size:var(--fs-sm);font-weight:600;letter-spacing:.16em}.brand-sub,.brand-title{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-sub{border-left:1px solid #243050;border-left:1px solid var(--line-2);color:#8298bb;color:var(--muted);font-size:12px;font-size:var(--fs-xs);letter-spacing:.04em;padding-left:12px}.topbar-right{align-items:center;display:flex;flex:none;gap:8px}.engine-state,.topbar-right .ghost-btn{white-space:nowrap}.engine-state{align-items:center;color:#8298bb;color:var(--muted);display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-size:var(--fs-tag);gap:7px;letter-spacing:.14em;margin-right:4px}.engine-state i{background:#5a7090;background:var(--dim);border-radius:50%;height:6px;width:6px}.engine-state.loading i{animation:blink 1.1s ease-in-out infinite;background:#ffd666;background:var(--amber)}.engine-state.ready i{background:#00d4aa;background:var(--teal)}.engine-state.error i{background:#ff4d6d;background:var(--red)}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.ghost-btn{background:#0000;border:1px solid #243050;border:1px solid var(--line-2);border-radius:3px;color:#b9cbe6;color:var(--text-2);cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);letter-spacing:.08em;min-height:34px;padding:7px 12px;transition:border-color .15s,color .15s,background .15s}.ghost-btn:hover{background:#4f9eff14;border-color:#4f9eff;border-color:var(--blue);color:#eaf2ff;color:var(--text)}.ghost-btn.warn{border-color:#ffd66680;color:#ffd666;color:var(--amber)}.ghost-btn.warn:hover{background:#ffd66614;border-color:#ffd666;border-color:var(--amber)}.sidebar{align-self:start;background:#0d1220;background:var(--panel);border-right:1px solid #1a2235;border-right:1px solid var(--line);display:flex;flex-direction:column;max-height:calc(100vh - 52px);max-height:calc(100vh - var(--topbar-h));overflow-y:auto;padding:22px 20px 40px;position:sticky;top:52px;top:var(--topbar-h)}.mobile-bar,.row-cards,.sheet-backdrop,.sheet-close,.sheet-grip{display:none}.section-label{border-bottom:1px solid #1a2235;border-bottom:1px solid var(--line);color:#8298bb;color:var(--muted);display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-size:var(--fs-tag);font-weight:600;letter-spacing:.18em;margin-bottom:18px;padding-bottom:9px;text-transform:uppercase}.sheet-head{align-items:baseline;display:flex;justify-content:space-between}.sheet-head .section-label{flex:1 1}.presets{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}.preset-btn{background:#070b12;background:var(--inset);border:1px solid #1a2235;border:1px solid var(--line);border-radius:3px;color:#8298bb;color:var(--muted);cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-size:var(--fs-tag);font-weight:600;letter-spacing:.08em;min-height:36px;padding:9px 4px;text-transform:uppercase;transition:color .15s,border-color .15s,background .15s}.preset-btn:hover{border-color:#243050;border-color:var(--line-2);color:#eaf2ff;color:var(--text)}.preset-btn.active{background:#4f9eff17;border-color:#4f9eff;border-color:var(--blue);color:#4f9eff;color:var(--blue)}.sliders{display:flex;flex-direction:column;gap:20px}.slider-top{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:9px}.slider-top label{color:#8298bb;color:var(--muted);font-size:12px;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase}.slider-top label,.slider-top output{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.slider-top output{font-feature-settings:"tnum";color:#eaf2ff;color:var(--text);font-size:18px;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}input[type=range]{appearance:none;-webkit-appearance:none;background:#1a2235;background:var(--line);border-radius:2px;cursor:pointer;display:block;height:4px;outline:none;width:100%}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#4f9eff;background:var(--blue);border:3px solid #0d1220;border:3px solid var(--panel);border-radius:50%;box-shadow:0 0 0 1px #4f9eff,0 0 10px #4f9eff8c;box-shadow:0 0 0 1px var(--blue),0 0 10px #4f9eff8c;cursor:grab;height:16px;width:16px}input[type=range]::-moz-range-thumb{background:#4f9eff;background:var(--blue);border:3px solid #0d1220;border:3px solid var(--panel);border-radius:50%;box-shadow:0 0 0 1px #4f9eff;box-shadow:0 0 0 1px var(--blue);cursor:grab;height:14px;width:14px}input[type=range]:focus-visible{box-shadow:0 0 0 2px #4f9eff59}.slider-edges{color:#8298bb;color:var(--muted);display:flex;font-size:10px;font-size:var(--fs-tag);justify-content:space-between;letter-spacing:.06em;margin-top:7px}.run-btn,.slider-edges{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.run-btn{background:#4f9eff;background:var(--blue);border:none;border-radius:3px;color:#06101f;cursor:pointer;font-size:13px;font-size:var(--fs-sm);font-weight:600;letter-spacing:.1em;margin-top:24px;min-height:46px;padding:13px 14px;text-transform:uppercase;transition:filter .15s;width:100%}.run-btn:hover:not(:disabled){filter:brightness(1.12)}.run-btn:disabled{background:#243050;background:var(--line-2);color:#8298bb;color:var(--muted);cursor:progress}.run-btn.inline{margin:16px 0 0;padding:11px 20px;width:auto}.run-note{color:#8298bb;color:var(--muted);font-size:12px;font-size:var(--fs-xs);line-height:1.65;margin-top:10px}.side-block{margin-top:30px}.formula{background:#070b12;background:var(--inset);border:1px solid #1a2235;border-left:2px solid #243050;border:1px solid var(--line);border-left:2px solid var(--line-2);border-radius:2px;color:#b9cbe6;color:var(--text-2);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);letter-spacing:.02em;margin-bottom:6px;overflow-x:auto;padding:8px 10px;white-space:nowrap}.scenario-row{grid-column-gap:10px;column-gap:10px;display:grid;grid-template-columns:3px 1fr;padding-bottom:12px}.scenario-bar{border-radius:2px;grid-row:span 2}.scenario-name{font-weight:600;letter-spacing:.12em}.scenario-desc,.scenario-name{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs)}.scenario-desc{color:#8298bb;color:var(--muted)}.main{gap:16px;min-width:0;padding:20px}.intro,.main{display:flex;flex-direction:column}.intro{gap:12px;padding:2px 2px 4px}.intro p{text-wrap:pretty;font-size:15px;font-size:var(--fs-md);line-height:1.7;max-width:84ch}.intro p,.intro-meta{color:#8298bb;color:var(--muted)}.intro-meta{align-items:center;display:flex;flex-wrap:wrap;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-size:var(--fs-tag);gap:8px 18px;letter-spacing:.12em;text-transform:uppercase}.intro-meta span{align-items:center;display:inline-flex;gap:8px}.intro-meta span:before{background:#243050;background:var(--line-2);content:"";flex:none;height:5px;width:5px}.intro-meta a{color:#4f9eff;color:var(--blue);letter-spacing:.12em}.intro-meta a:hover{color:#00d4aa;color:var(--teal)}.hero{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.hero-lead{background:#0d1220;background:var(--panel);border:1px solid #1a2235;border-top:2px solid #ffd666;border:1px solid var(--line);border-radius:4px;border-top:2px solid var(--amber);display:flex;flex-direction:column;padding:22px 24px 20px}.hero-label{color:#8298bb;color:var(--muted);font-size:10px;font-size:var(--fs-tag);letter-spacing:.2em;text-transform:uppercase}.hero-figure,.hero-label{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-weight:600}.hero-figure{font-feature-settings:"tnum";color:#ffd666;color:var(--amber);font-size:clamp(40px,6.2vw,68px);font-size:var(--fs-hero);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.02;margin:12px 0 10px}.hero-read{text-wrap:pretty;color:#8298bb;color:var(--muted);font-size:13px;font-size:var(--fs-sm);line-height:1.7;max-width:46ch}.hero-read strong{color:#eaf2ff;color:var(--text);font-weight:600}.hero-band{font-feature-settings:"tnum";align-items:center;display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;gap:12px;margin-top:auto;padding-top:20px}.hero-band-pess{color:#ff4d6d;color:var(--red)}.hero-band-opt{color:#00d4aa;color:var(--teal)}.hero-band-track{background:linear-gradient(90deg,#ff4d6d,#ffd666 52%,#00d4aa);background:linear-gradient(90deg,var(--red),var(--amber) 52%,var(--teal));border-radius:2px;flex:1 1;height:4px;opacity:.85;position:relative}.hero-band-track i{background:#243050;background:var(--line-2);height:12px;left:50%;position:absolute;top:-4px;transform:translateX(-50%);width:1px}.cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.card{background:#0d1220;background:var(--panel);border:1px solid #1a2235;border-top:2px solid #243050;border:1px solid var(--line);border-radius:4px;border-top:2px solid var(--accent,var(--line-2));display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px 18px}.card-label{color:#8298bb;color:var(--muted);font-size:10px;font-size:var(--fs-tag);letter-spacing:.14em;text-transform:uppercase}.card-label,.card-value{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-weight:600}.card-value{font-feature-settings:"tnum";font-size:26px;font-size:var(--fs-xl);font-variant-numeric:tabular-nums;line-height:1}.card-note{color:#8298bb;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);margin-top:auto}.panel{background:#0d1220;background:var(--panel);border:1px solid #1a2235;border:1px solid var(--line);border-radius:4px}.panel-header{align-items:center;border-bottom:1px solid #1a2235;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:15px 20px}.panel-header>:first-child{flex:1 1 300px;min-width:0}.panel-title{color:#eaf2ff;color:var(--text);font-size:13px;font-size:var(--fs-sm);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.panel-sub,.panel-title{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.panel-sub{color:#8298bb;color:var(--muted);font-size:12px;font-size:var(--fs-xs);letter-spacing:.02em;margin-top:5px}.panel-tools{align-items:center;display:flex;flex:none;gap:8px}.chip{border:1px solid #243050;border:1px solid var(--line-2);border-radius:3px;color:#8298bb;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-size:var(--fs-tag);font-weight:600;letter-spacing:.14em;padding:6px 10px;text-transform:uppercase;white-space:nowrap}.chip.warn{border-color:#ffd66666;color:#ffd666;color:var(--amber)}.tab-group{display:flex;gap:4px}.tab-btn{background:#0000;border:1px solid #243050;border:1px solid var(--line-2);border-radius:3px;color:#8298bb;color:var(--muted);cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;min-height:34px;padding:7px 16px;transition:all .15s}.tab-btn:hover{color:#eaf2ff;color:var(--text)}.tab-btn.active,.tab-btn:hover{border-color:#4f9eff;border-color:var(--blue)}.tab-btn.active{background:#4f9eff;background:var(--blue);color:#06101f}.chart-wrap{height:340px;padding:18px 12px 6px 4px}.chart-foot{font-feature-settings:"tnum";align-items:center;border-top:1px solid #1a2235;border-top:1px solid var(--line);color:#b9cbe6;color:var(--text-2);display:flex;flex-wrap:wrap;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;gap:18px;padding:12px 20px 14px}.chart-foot span{align-items:center;display:inline-flex;gap:8px}.chart-foot .sw{flex:none;height:2px;width:14px}.chart-foot .sw.dash{background:none!important;border-top:2px dashed;height:0}.chart-foot span:nth-child(2) .sw.dash{color:#00d4aa;color:var(--teal)}.chart-foot span:nth-child(3) .sw.dash{color:#ff4d6d;color:var(--red)}.chart-foot .foot-right{color:#ffd666;color:var(--amber);margin-left:auto}.tt{background:#0a101cf5;border:1px solid #243050;border:1px solid var(--line-2);border-radius:4px;box-shadow:0 10px 30px #0000008c;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);min-width:190px;padding:12px 14px}.tt-head{border-bottom:1px solid #1a2235;border-bottom:1px solid var(--line);font-size:10px;font-size:var(--fs-tag);letter-spacing:.16em;margin-bottom:8px;padding-bottom:8px}.tt-head,.tt-row{color:#8298bb;color:var(--muted)}.tt-row{display:flex;gap:18px;justify-content:space-between;padding:2px 0}.tt-row b{font-feature-settings:"tnum";color:#eaf2ff;color:var(--text);font-variant-numeric:tabular-nums}.tt-spread{border-top:1px solid #1a2235;border-top:1px solid var(--line);margin-top:7px;padding-top:7px}.tt-spread,.tt-spread b{color:#ffd666;color:var(--amber)}.tt-note{display:none}.table-scroll{overflow-x:auto}.data-table{font-feature-settings:"tnum";border-collapse:collapse;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:13px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;width:100%}.data-table th{border-bottom:1px solid #1a2235;border-bottom:1px solid var(--line);color:#8298bb;color:var(--muted);font-size:10px;font-size:var(--fs-tag);font-weight:600;letter-spacing:.14em;padding:10px 18px;text-transform:uppercase}.data-table td,.data-table th{text-align:right;white-space:nowrap}.data-table td{border-bottom:1px solid #1a2235b3;padding:9px 18px}.data-table tbody th{border-bottom:1px solid #1a2235b3;color:#8298bb;color:var(--muted);text-align:left}.data-table tbody th,.data-table thead th:first-child{background:#0d1220;background:var(--panel);left:0;position:sticky}.data-table thead th:first-child{z-index:1}.data-table tbody tr:hover td,.data-table tbody tr:hover th{background:#4f9eff0d}.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-bottom:none}.c-blue{color:#4f9eff;color:var(--blue)}.c-teal{color:#00d4aa;color:var(--teal)}.c-red{color:#ff4d6d;color:var(--red)}.c-amber{color:#ffd666;color:var(--amber)}.spread-cell{position:relative}.spread-bar{background:#ffd6661a;border-right:2px solid #ffd66673;height:20px;position:absolute;right:18px;top:50%;transform:translateY(-50%)}.spread-val{position:relative}.sens-body{grid-gap:22px;display:grid;gap:22px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);padding:18px 20px 20px}.sens-block{min-width:0}.sens-label{border-bottom:1px solid #1a2235;border-bottom:1px solid var(--line);color:#8298bb;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-size:var(--fs-tag);font-weight:600;letter-spacing:.16em;margin-bottom:12px;padding-bottom:9px;text-transform:uppercase}.sens-grid td,.sens-grid th{padding:8px 12px}.sens-grid thead th:first-child{color:#5a7090;color:var(--dim);letter-spacing:.08em;text-align:left}.sens-cell{transition:none}.sens-axis-on{color:#4f9eff!important;color:var(--blue)!important}.sens-here{box-shadow:inset 0 0 0 1px #ffd666;box-shadow:inset 0 0 0 1px var(--amber);color:#eaf2ff;color:var(--text)}.sens-grid tbody tr:hover td{background-image:none}.sens-note{text-wrap:pretty;color:#8298bb;color:var(--muted);font-size:12px;font-size:var(--fs-xs);line-height:1.65;margin-top:11px}.solver-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.solver-row label{color:#8298bb;color:var(--muted);font-size:12px;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}.solver-input,.solver-row label{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono)}.solver-input{font-feature-settings:"tnum";background:#070b12;background:var(--inset);border:1px solid #243050;border:1px solid var(--line-2);border-radius:3px;color:#eaf2ff;color:var(--text);font-size:13px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;min-height:38px;min-width:0;padding:9px 11px;text-align:right;width:46%}.solver-input:focus-visible{border-color:#4f9eff;border-color:var(--blue);outline:none}.solver-out{list-style:none}.solver-out li{grid-gap:2px 14px;border-bottom:1px solid #1a2235b3;display:grid;gap:2px 14px;grid-template-columns:1fr auto;padding:11px 0}.solver-out li:last-child{border-bottom:none}.solver-out span{color:#b9cbe6;color:var(--text-2);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.solver-out em,.solver-out span{font-size:12px;font-size:var(--fs-xs)}.solver-out em{color:#8298bb;color:var(--muted);font-style:normal;grid-column:1}.solver-out b{font-feature-settings:"tnum";align-self:center;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:13px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;grid-column:2;grid-row:1/span 2;max-width:30ch;text-align:right}.c-dim{color:#5a7090;color:var(--dim)}@media (max-width:1180px){.sens-body{gap:26px;grid-template-columns:1fr}}@media (max-width:860px){.sens-body{padding:14px 16px 18px}.sens-grid td,.sens-grid th{padding:7px 10px}.solver-input{width:52%}}.memo-body{max-width:78ch;padding:22px 26px 24px}.memo-h{border-bottom:1px solid #1a2235;border-bottom:1px solid var(--line);color:#4f9eff;color:var(--blue);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.16em;margin:26px 0 10px;padding-bottom:7px;text-transform:uppercase}.memo-h:first-child{margin-top:0}.memo-p{text-wrap:pretty;color:#b9cbe6;color:var(--text-2);font-size:15px;font-size:var(--fs-md);line-height:1.75;margin-bottom:12px}.memo-p strong,.memo-pull strong,.memo-ul strong{color:#eaf2ff;color:var(--text);font-weight:600}.memo-pull{text-wrap:pretty;border-left:2px solid #ffd666;border-left:2px solid var(--amber);color:#eaf2ff;color:var(--text);font-size:18px;font-size:var(--fs-lg);line-height:1.6;margin:4px 0 18px;padding:4px 0 4px 18px}.memo-ul{list-style:none;margin:4px 0 14px}.memo-ul li{color:#b9cbe6;color:var(--text-2);font-size:15px;font-size:var(--fs-md);line-height:1.7;margin-bottom:8px;padding-left:18px;position:relative}.memo-ul li:before{color:#5a7090;color:var(--dim);content:"▸";font-size:11px;left:0;position:absolute;top:2px}.memo-foot{border-top:1px solid #1a2235;border-top:1px solid var(--line);letter-spacing:.03em;margin-top:24px;padding-top:14px}.memo-foot,.warming{color:#8298bb;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs)}.warming{align-items:flex-start;background:#070b12;background:var(--inset);border:1px solid #1a2235;border-left:2px solid #ffd666;border:1px solid var(--line);border-left:2px solid var(--amber);border-radius:2px;display:flex;gap:10px;line-height:1.7;padding:12px 14px}.warming.err{border-left-color:#ff4d6d;border-left-color:var(--red)}.warming b{color:#ffd666;color:var(--amber)}.warming .pulse{animation:blink 1.1s ease-in-out infinite;background:#ffd666;background:var(--amber);border-radius:50%;flex:none;height:7px;margin-top:6px;width:7px}.warming.err .pulse{animation:none;background:#ff4d6d;background:var(--red)}.skeleton{display:flex;flex-direction:column;gap:12px;margin-top:22px}.skeleton span{animation:shimmer 1.6s linear infinite;background:linear-gradient(90deg,#131b2d,#1d2740 50%,#131b2d);background-size:200% 100%;border-radius:2px;height:11px}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.page-foot{color:#8298bb;color:var(--muted);letter-spacing:.02em;padding:4px 2px 8px}.page-foot,.toast{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs)}.toast{background:#0d1220;background:var(--panel);border:1px solid #243050;border-left:2px solid #00d4aa;border:1px solid var(--line-2);border-left:2px solid var(--teal);border-radius:3px;bottom:20px;box-shadow:0 12px 34px #0009;color:#eaf2ff;color:var(--text);letter-spacing:.08em;padding:12px 16px;position:fixed;right:20px;z-index:90}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#080c14;background:var(--bg)}::-webkit-scrollbar-thumb{background:#1e2840;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#243050;background:var(--line-2)}@media (max-width:1180px){.hero{grid-template-columns:1fr}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.brand-sub{display:none}.panel-tools{margin-left:auto}}@media (max-width:860px){.layout{grid-template-columns:1fr}.main{gap:14px;padding:14px 14px 88px}.topbar{gap:10px;padding:0 12px}.topbar-right{gap:6px}.topbar-right .ghost-btn{font-size:11px;padding:7px 10px}.engine-state{display:none}.cards{gap:12px;grid-template-columns:1fr 1fr}.hero-lead{padding:18px 18px 16px}.hero-read{font-size:12px;font-size:var(--fs-xs);max-width:none}.panel-header{gap:10px;padding:14px 16px}.chart-wrap{height:280px;padding:14px 6px 4px 0}.chart-foot{gap:12px 16px;padding:12px 16px}.chart-foot .foot-right{margin-left:0}.table-scroll{display:none}.row-cards{grid-gap:10px;display:grid;gap:10px;list-style:none;padding:14px 16px 16px}.row-cards li{background:#070b12;background:var(--inset);border:1px solid #1a2235;border:1px solid var(--line);border-radius:3px;padding:11px 13px}.rc-head{align-items:baseline;border-bottom:1px solid #1a2235;border-bottom:1px solid var(--line);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);justify-content:space-between;margin-bottom:9px;padding-bottom:9px}.rc-month{color:#eaf2ff;color:var(--text);font-size:13px;font-size:var(--fs-sm);font-weight:600;letter-spacing:.12em}.rc-spread{font-feature-settings:"tnum";color:#ffd666;color:var(--amber);font-size:12px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.rc-grid{grid-gap:4px 8px;align-items:baseline;display:grid;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:12px;font-size:var(--fs-xs);gap:4px 8px;grid-template-columns:auto 1fr auto 1fr auto 1fr}.rc-grid span{color:#8298bb;color:var(--muted);font-size:10px;font-size:var(--fs-tag);letter-spacing:.08em;text-transform:uppercase}.rc-grid b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.memo-body{padding:18px 16px 20px}.intro p{font-size:13px;font-size:var(--fs-sm)}.presets{margin-bottom:18px}.memo-pull{font-size:15px;font-size:var(--fs-md)}.memo-p,.memo-ul li{font-size:13px;font-size:var(--fs-sm)}.sidebar{border-radius:10px 10px 0 0;border-right:none;border-top:1px solid #243050;border-top:1px solid var(--line-2);bottom:0;box-shadow:0 -20px 50px #0009;left:0;max-height:86vh;overscroll-behavior:contain;padding:10px 18px 28px;position:fixed;right:0;top:auto;transform:translateY(102%);transition:transform .26s cubic-bezier(.32,.72,0,1);z-index:70}.sidebar.open{transform:translateY(0)}.sheet-grip{background:#243050;background:var(--line-2);border-radius:2px;display:block;height:4px;margin:2px auto 12px;width:38px}.sheet-close{display:inline-block;margin-bottom:18px}.sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04070db8;display:block;inset:0;position:fixed;z-index:60}.mobile-bar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0f1bf5;border-top:1px solid #243050;border-top:1px solid var(--line-2);bottom:0;display:flex;gap:14px;justify-content:space-between;left:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:50}.mb-read{display:flex;flex-direction:column;gap:2px;min-width:0}.mb-label{color:#8298bb;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:10px;font-size:var(--fs-tag);letter-spacing:.16em;text-transform:uppercase}.mb-value{font-feature-settings:"tnum";color:#ffd666;color:var(--amber);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:18px;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}.mb-btn{background:#4f9eff;background:var(--blue);border:none;border-radius:3px;color:#06101f;cursor:pointer;flex:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--mono);font-size:13px;font-size:var(--fs-sm);font-weight:600;letter-spacing:.08em;min-height:46px;padding:0 22px;text-transform:uppercase}.toast{bottom:82px;left:14px;right:14px;text-align:center}}@media (max-width:460px){.cards{grid-template-columns:1fr}.rc-grid{grid-template-columns:auto 1fr}.brand-title{font-size:12px;font-size:var(--fs-xs);letter-spacing:.1em}.brand-mark{height:7px;width:7px}.brand{gap:9px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.1f30e095.css.map*/