@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";
:root{--bg0:#0f1412;--bg1:#171e1a;--bg2:#1e2822;--line:#2a3630;--text:#e8eee9;--muted:#8a9a90;--sol:#14f195;--btc:#f2a900;--pos:#3dd68c;--neg:#ff6b6b;--radius:10px}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 600px at 10% -10%, #1a3d2e55, transparent 60%), radial-gradient(900px 500px at 100% 0%, #3a2a0a33, transparent 55%), var(--bg0);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:IBM Plex Sans,system-ui,sans-serif}button{font:inherit}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.shell{max-width:920px;margin:0 auto;padding:1rem 1rem 3rem}header.top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}header.top h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,3.5vw,1.65rem);font-weight:700}.meta{text-align:right;color:var(--muted);flex-direction:column;align-items:flex-end;gap:.35rem;font-size:.8rem;display:flex}.meta .clock{font-variant-numeric:tabular-nums}.meta button{background:var(--bg2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:.35rem .7rem}.meta button:hover{border-color:var(--muted)}.hero-equity,.hero-apy{background:linear-gradient(180deg, var(--bg1), var(--bg2));border:1px solid var(--line);border-radius:var(--radius);text-align:center;margin-bottom:.75rem;padding:1.15rem 1.2rem 1.25rem}button.hero-apy.tappable{cursor:pointer;width:100%;font:inherit;color:inherit;appearance:none;transition:border-color .15s,box-shadow .15s;display:block}button.hero-apy.tappable:hover,button.hero-apy.tappable:focus-visible{border-color:color-mix(in srgb, var(--pos) 45%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--pos) 25%, transparent);outline:none}button.hero-apy.tappable.apr-mode{border-color:color-mix(in srgb, var(--pos) 35%, var(--line))}.hero-equity .k,.hero-apy .k{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.8rem}.hero-equity .v{letter-spacing:-.03em;font-size:clamp(2.6rem,10vw,3.75rem);font-weight:700;line-height:1.05}.hero-apy .v{letter-spacing:-.03em;font-size:clamp(2.2rem,8vw,3.1rem);font-weight:600;line-height:1.05}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn{color:#e6b84d}.summary{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;display:grid}@media (max-width:520px){.summary{grid-template-columns:1fr}}.rates{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.rate-card,.summary .kpi,.book{background:var(--bg1);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.kpi .k,.rate-card .asset{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.3rem;font-size:.75rem}.kpi .v,.rate-card .value{font-size:1.35rem;font-weight:600}.rate-card.sol .asset{color:var(--sol)}.rate-card.btc .asset{color:var(--btc)}.books{flex-direction:column;gap:1.25rem;display:flex}.owner-group{flex-direction:column;gap:.55rem;display:flex}.owner-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;padding:.15rem .15rem .35rem;display:flex}.owner-name{letter-spacing:-.01em;font-size:.95rem;font-weight:700}.owner-stats{color:var(--muted);flex-wrap:wrap;gap:.75rem 1rem;font-size:.78rem;display:flex}.owner-books{flex-direction:column;gap:.55rem;display:flex}.book{padding:0;overflow:hidden}.book-summary{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.book-summary-left{flex-wrap:wrap;align-items:center;gap:.5rem .65rem;min-width:0;display:flex}.badge{letter-spacing:.04em;background:var(--bg2);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.badge.sol{color:var(--sol);border-color:color-mix(in srgb, var(--sol) 40%, var(--line))}.badge.btc{color:var(--btc);border-color:color-mix(in srgb, var(--btc) 40%, var(--line))}.book-title{font-size:1rem;font-weight:600}.book-summary-metrics{flex-wrap:wrap;gap:.75rem 1.1rem;display:flex}.book-summary-metrics .sm .l{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.book-summary-metrics .sm .r{margin-top:.1rem;font-size:.95rem;font-weight:600}.chev{color:var(--muted);font-size:.85rem}.book-detail{border-top:1px solid var(--line);padding:.85rem 1rem 1rem}.book-detail .row{justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.9rem;display:flex}.book-detail .row .l{color:var(--muted)}.book-detail .inputs{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:.35rem;margin-top:.75rem;padding-top:.65rem;font-size:.75rem;line-height:1.45;display:flex}.book-detail .inputs strong{color:var(--text);font-weight:500}.error{background:color-mix(in srgb, var(--neg) 15%, var(--bg1));border:1px solid color-mix(in srgb, var(--neg) 40%, var(--line));color:var(--neg);border-radius:var(--radius);margin-bottom:.75rem;padding:.75rem 1rem}.loading{color:var(--muted);padding:1rem 0}
