:root{--bg:#121212;--panel:#1a1a1a;--border:#2a2a2a;--text:#e0e0e0;--muted:#888;--pos:#5b8c5a;--accent:#e0a458}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 ui-monospace,SF Mono,Menlo,monospace}.app{max-width:1100px;margin:0 auto;padding:24px}header h1{margin:0;font-size:20px}header .meta{color:var(--muted);margin-top:4px;font-size:12px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-top:18px;display:flex}.tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-sub{margin:-2px 0 14px;font-size:12px}section{margin-top:28px}section h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:6px;font-size:14px}.loading,.error{text-align:center;color:var(--muted);padding:40px}.error{color:#c45}.controls{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 20px;display:grid}.control{grid-template-columns:70px 1fr 80px;align-items:center;gap:10px;display:grid}.control .label{color:var(--muted)}.control .value{text-align:right;color:var(--accent)}.control input[type=range]{accent-color:var(--accent)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:6px 10px}th{color:var(--muted);font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums}.asset{color:var(--accent);font-weight:600}.pos{color:var(--pos)}.src{color:var(--muted);font-size:12px}.muted{color:var(--muted)}.subtotal td{border-top:1px solid var(--border,#333);color:var(--muted);font-weight:600}.group td{padding-top:10px;font-weight:600}.indent{color:var(--muted);padding-left:18px}.networth td{color:var(--text,#ddd);font-weight:700}.risk-card{border:1px solid var(--border,#333);border-radius:6px;margin:10px 0;padding:10px 12px}.risk-grid{grid-template-columns:max-content auto;gap:2px 16px;font-size:13px;display:grid}.risk-grid .num{text-align:right}.ltv-ok{color:var(--pos,#5b8c5a)}.ltv-mid{color:#e0a458}.ltv-high{color:#c4564a;font-weight:600}.scenario{grid-template-columns:1fr 1fr;align-items:center;gap:24px;display:grid}@media (width<=760px){.scenario{grid-template-columns:1fr}}.back,.link{border:1px solid var(--border);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:12px}.link{border:none;padding:0 4px}.play{background:var(--accent);border:1px solid var(--accent);color:#1a1a1a;font:inherit;cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:3px 12px;font-size:12px;font-weight:700;display:inline-flex}.play:hover{filter:brightness(1.12)}.play-row{border:1px solid var(--border);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:12px;line-height:1}.play-row:hover{border-color:var(--accent);background:#e0a4581f}.scenario-picker{flex-wrap:wrap;gap:10px;margin:10px 0 14px;display:flex}.scenario-picker button{background:var(--panel);border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600}.scenario-picker button:hover{border-color:var(--accent)}.scenario-picker button.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel))}.phases{gap:10px;margin-top:16px;display:grid}.phase{border-left:2px solid var(--border);padding-left:12px}.phase-name{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-size:11px}.step{align-items:baseline;gap:10px;padding:2px 0;display:flex}.step-kind{min-width:52px;font-size:11px;font-weight:700}.atom-grid{grid-template-columns:92px max-content max-content 1fr;align-items:baseline;gap:1px 14px;margin-top:2px;margin-left:16px;font-size:12px;display:grid}.atom-grid .atom-op{letter-spacing:.04em;font-size:10px;font-weight:700}.atom-grid .atom-qty{font-variant-numeric:tabular-nums}.atom-grid .atom-asset{color:var(--muted)}.atom-grid .atom-detail{font-variant-numeric:tabular-nums}.atom-grid .atom-usd{text-align:right;font-variant-numeric:tabular-nums}.state-board{grid-template-columns:max-content max-content 1fr max-content 1fr;align-items:baseline;gap:3px 12px;margin-top:2px;font-size:12px;display:grid}.state-col-h{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:4px;font-size:10px;font-weight:600}.state-phase{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;font-size:10px}.state-now{flex-direction:column;gap:2px;display:flex}.state-sep{border-bottom:1px solid var(--border);grid-column:1/6;height:0;margin:2px 0}.state-cell{grid-template-columns:max-content 1fr;align-items:baseline;gap:3px 10px;display:grid}.state-cat{white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.state-cat.cat-wallet{color:#b3a23a}.state-cat.cat-lending{color:#5b9c5a}.state-cat.cat-lp{color:#4ea1a1}.state-cat.cat-collat{color:#5a86a0}.state-cat.cat-owed{color:#c4564a}.state-items{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:1px 12px;display:flex}.state-items.state-liab{color:#c4564a}.state-chip{white-space:nowrap}.state-empty{color:var(--border)}.cap-card{border:1px solid var(--border);border-radius:6px;margin:10px 0 4px;padding:10px 12px}.cap-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.cap-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px;font-weight:600}.cap-pct{color:var(--accent);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.cap-bar{background:var(--bg);border-radius:3px;height:12px;margin:8px 0 6px;display:flex;overflow:hidden}.cap-seg{height:100%}.cap-seg+.cap-seg{border-left:1px solid var(--panel)}.cap-legend{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;font-size:11px;display:flex}.cap-leg{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.cap-dot{border-radius:2px;width:9px;height:9px;display:inline-block}.legend{border:1px solid var(--border);background:var(--panel);border-radius:6px;margin-bottom:14px;font-size:12px}.legend>summary{cursor:pointer;color:var(--accent);padding:8px 12px;font-weight:600;list-style:none}.legend>summary::-webkit-details-marker{display:none}.legend>summary:before{content:"▸ ";color:var(--muted)}.legend[open]>summary:before{content:"▾ "}.legend-body{border-top:1px solid var(--border);padding:4px 14px 12px}.legend-body p{color:var(--text);margin:8px 0;line-height:1.6}.legend-body .legend-lead{color:var(--muted)}.legend-steps{color:var(--text);margin:6px 0 12px;padding-left:20px}.legend-steps li{margin:3px 0}.legend-cols{grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0 2px;display:grid}.legend-cols dt{color:var(--accent);white-space:nowrap;font-weight:600}.legend-cols dd{color:var(--muted);margin:0}.legend-cols dd .hl{color:var(--text)}.knob-grid{grid-template-columns:max-content max-content 1fr max-content;align-items:center;gap:5px 14px;margin-top:8px;font-size:12px;display:grid}.knob-label{color:var(--text)}.knob-value{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.knob-track{background:var(--border);border-radius:2px;min-width:60px;height:4px;position:relative}.knob-fill{background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:50%;transform:translate(-50%,-50%)}.knob-range{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.sens-controls{flex-wrap:wrap;gap:24px;margin-bottom:12px;display:flex}.sens-weights{flex-direction:column;gap:4px;min-width:280px;display:flex}.sens-knobs{flex-direction:column;gap:4px;min-width:240px;display:flex}.sens-row{grid-template-columns:110px 1fr 44px;align-items:center;gap:8px;font-size:12px;display:grid}.sens-label{color:var(--muted)}.sens-val{text-align:right;font-variant-numeric:tabular-nums}.sens-table{border-collapse:collapse;width:100%;font-size:13px}.sens-table th,.sens-table td{text-align:left;padding:3px 8px}.sens-table .num{text-align:right;font-variant-numeric:tabular-nums}.sens-winner{background:#1d2a1d}
