:root {
  color-scheme: dark;
  --bg: #0c1218; --panel: #121b23; --line: #2b3944; --soft-line: #22313c;
  --text: #edf5f7; --sub: #a7b8c4; --muted: #91a6b4; --mint: #98e7ca;
  --amber: #ecc28c; --blue: #9abaf1; --red: #f4aaa7; --lavender:#c4a7e9;
  font: 15px/1.48 "Segoe UI", system-ui, sans-serif; font-variant-numeric: tabular-nums;
}
* { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--bg); color: var(--text); }
button,a { -webkit-tap-highlight-color: transparent; } button { font: inherit; cursor: pointer; } a { color: inherit; text-decoration: none; }
button:focus-visible,a:focus-visible { outline: 2px solid var(--mint); outline-offset: 4px; }
[hidden] { display: none !important; } h1,h2,p,dl,dd { margin:0; } h2 { font-size: 1.25rem; line-height: 1.35; letter-spacing: -.035em; font-weight: 600; }
.skip { position: fixed; z-index: 5; left: 1rem; top:-6rem; padding:.75rem; background:var(--mint); color:var(--bg); } .skip:focus { top: 1rem; }
header { background:#10181f; border-bottom:1px solid var(--line); }
.header-inner,main { max-width:1390px; width: calc(100% - clamp(32px,8.5vw,140px)); margin:auto; }
.header-inner,.brand,.header-state,.account-name,.account-line,.legend,.legend span,.health,footer,footer>span { display:flex; align-items:center; }
.header-inner { min-height:68px; justify-content:space-between; gap:12px; } .brand { gap:10px; }
.brand b { font-size: 1.34rem; letter-spacing:-.045em; font-weight:650; }.brand-divider { height:18px; width:1px; margin:0 4px; background:var(--line); }
.brand-sub { color:var(--sub); font-size:.94rem; } .header-state { gap:18px; font-size:.82rem; }
.paper-badge,.small-badge { background:#17252d; border:1px solid var(--line); color:var(--sub); border-radius:6px; padding:4px 8px; font-size:.76rem; font-weight:550; white-space:nowrap; }
.paper-badge { color:var(--mint); background:#172c28; border-color:#34534b; }
.health { gap:8px; color:var(--sub); } .health i,.dot { display:inline-block; width:8px; height:8px; border-radius:100%; background:var(--muted); flex:none; }
.health.good i,.dot.mint { background:var(--mint); } .health.warn i,.dot.amber { background:var(--amber); } .health.bad i { background:var(--red); } .dot.blue { background:var(--blue); }
nav { border-bottom:1px solid var(--line); display:flex; gap:25px; } nav a { padding:15px 2px 13px; border-bottom:2px solid transparent; color:var(--muted); font-size:.89rem; font-weight:550; }
nav a[aria-current="page"] { border-color:var(--mint); color:var(--text); } nav a:hover,.text-link:hover { color:var(--mint); }
#notice { margin:18px 0 0; padding:10px 14px; border:1px solid #695437; background:#29251e; border-radius:6px; color:var(--amber); font-size:.88rem; }
.page-title { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin:34px 0 22px; }
h1 { font-size:clamp(2rem,3.4vw,3.25rem); font-weight:580; letter-spacing:-.058em; line-height:1.1; margin:8px 0; } .page-title p,.reason,.footnote,.research-verdict p { color:var(--sub); }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--muted); text-transform:uppercase; letter-spacing:.14em; font:600 .65rem/1.4 ui-monospace,Consolas,monospace; }
.page-title .eyebrow { color:var(--mint); } .dash { display:inline-block; width:22px; height:2px; background:var(--mint); }
.page-title .page-stamp { font-size:.78rem; text-align:right; color:var(--muted); }
.accounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
.account { border:1px solid var(--line); background:var(--panel); color:var(--text); border-radius:10px; padding:16px 21px; text-align:left; min-width:0; transition:border-color .15s,background .15s; }
.account:hover { border-color:#526774; } .account.selected { border-color:#579b88; background:linear-gradient(110deg,#1a302d,#17262a); }
.account[data-account="shadow"].selected { background:linear-gradient(110deg,#332e23,#252729); border-color:#9f855c; }
.account[data-account="benchmark"].selected { background:linear-gradient(110deg,#232e42,#1c2731); border-color:#6988b3; }
.account-name { gap:8px; font-size:.86rem; font-weight:600; } .account-line { gap:9px; flex-wrap:wrap; margin:7px 0 1px; }
.account-line b { font-size:clamp(1.15rem,2.1vw,1.84rem); letter-spacing:-.045em; line-height:1.25; font-weight:580; }
.account-note,.currency { color:var(--muted); font-size:.75rem; } .change { font-size:.79rem; color:var(--sub); } .pos { color:var(--mint)!important; } .neg { color:var(--red)!important; }
.desk-grid,.lower-grid { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(240px,1fr); gap:16px; margin-bottom:16px; }
.panel { min-width:0; border:1px solid var(--line); border-radius:10px; padding:21px 23px; background:var(--panel); overflow:hidden; }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; } .panel h2 { margin-top:3px; }
.segmented { display:flex; padding:3px; border:1px solid var(--line); border-radius:6px; } .segmented button { border:0; border-radius:3px; padding:3px 8px; font-size:.76rem; color:var(--sub); background:transparent; }
.segmented button[aria-pressed="true"] { background:var(--line); color:var(--text); } .plot { min-height:174px; display:flex; align-items:center; width:100%; }
.plot svg { width:100%; height:179px; display:block; overflow:visible; } .plot text { fill:var(--muted); font:11px ui-monospace,Consolas,monospace; }
.plot .grid { stroke:var(--soft-line); stroke-width:1; stroke-dasharray:3 4; } .plot .line { fill:none; stroke-width:2; stroke-linejoin:round; stroke-linecap:round; }
.plot-empty { width:100%; color:var(--muted); text-align:center; font-size:.85rem; padding:38px 12px; }
.chart-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--soft-line); padding-top:12px; gap:10px; }
dt { font-size:.8rem; color:var(--muted); } .chart-stats dd { font-size:1.05rem; font-weight:550; margin-top:2px; } .strategy-panel { display:flex; flex-direction:column; align-items:stretch; }
.decision { display:block; font-size:1.15rem; font-weight:570; color:var(--mint); letter-spacing:-.025em; margin-top:14px; } .reason { font-size:.86rem; line-height:1.5; margin:4px 0 8px; overflow-wrap:anywhere; }
.rows { margin-top:auto; } .rows>div { display:flex; justify-content:space-between; align-items:baseline; gap:14px; border-top:1px solid var(--soft-line); padding:7px 0; }
.rows dt { flex:none; } .rows dd { text-align:right; font-size:.83rem; font-weight:500; min-width:0; overflow-wrap:anywhere; } .text-link { display:inline-block; font-size:.84rem; color:var(--mint); margin-top:10px; }
.text-link span { margin-left:4px; } .table-wrap { overflow-x:auto; scrollbar-width:thin; } table { width:100%; border-collapse:collapse; text-align:left; }
th { color:var(--muted); font-weight:500; font-size:.76rem; white-space:nowrap; } th small { font-size:.66rem; opacity:.85; }
td { font-size:.865rem; } th,td { padding:9px 8px; border-bottom:1px solid var(--soft-line); vertical-align:middle; } th:first-child,td:first-child { padding-left:0; } th:last-child,td:last-child { padding-right:0; } tbody tr:last-child td { border-bottom:0; }
.num { text-align:right; white-space:nowrap; } .table-empty { color:var(--muted); text-align:center; padding:23px 8px!important; font-size:.84rem; } .footnote { font-size:.77rem; margin-top:9px; }
.research-verdict { margin-bottom:16px; display:flex; justify-content:space-between; gap:18px; align-items:flex-start; border-left:3px solid var(--mint); }
.research-verdict p { margin-top:4px; font-size:.9rem; } .run-record { margin-top:14px; } .run-record>div { padding:8px 0; } .legend { gap:16px; justify-content:flex-start; flex-wrap:wrap; margin-top:10px; color:var(--sub); font-size:.77rem; }
.legend span { gap:6px; } .legend i { width:12px; height:2px; display:inline-block; } .legend .trend { background:var(--lavender); } .legend .strategy { background:var(--mint); } .legend .cash { background:var(--muted); } .legend .passive { background:var(--blue); }
.research-table { margin-bottom:16px; } footer { justify-content:space-between; gap:10px; padding:26px 0 30px; color:var(--muted); font-size:.75rem; } footer>span { gap:8px; } footer b { color:#4a616e; font-weight:400; }
.research-bottom { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr)); gap:16px; }
.journal { list-style:none; padding:0; margin:0; } .journal li { border-top:1px solid var(--soft-line); padding:12px 0; }
.journal-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.journal-heading strong { font-size:.92rem; font-weight:600; } .journal-meta { font-size:.75rem; color:var(--muted); }
.journal p { color:var(--sub); font-size:.84rem; margin-top:4px; overflow-wrap:anywhere; }
.research-list { list-style:none; padding:0; margin:12px 0 0; } .research-list li { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:6px 0; border-top:1px solid var(--soft-line); font-size:.84rem; color:var(--sub); }
.research-list a { color:var(--mint); text-decoration:underline; text-underline-offset:3px; } .research-list strong { font-size:.78rem; font-weight:570; white-space:nowrap; }
.footer-mark { height:8px; width:8px; border:2px solid var(--mint); transform:rotate(45deg); }
@media(max-width:950px){.header-inner,main{width:calc(100% - 40px)} .desk-grid,.lower-grid{grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr)}.panel{padding:16px}.account{padding:13px 14px}}
@media(max-width:700px){.desk-grid,.lower-grid{grid-template-columns:minmax(0,1fr)} .accounts{gap:7px}.account{padding:10px}.account-line{gap:3px}.account-line b{font-size:1.12rem}.account-name{gap:5px;font-size:.77rem}.account .dot{width:6px;height:6px}.page-title{display:block;margin:24px 0 16px}.page-title .page-stamp{text-align:left;margin-top:6px}.change{font-size:.73rem}.header-inner,main{width:calc(100% - 28px)}.header-inner{min-height:54px}.header-state{gap:10px}.panel{padding:17px}.brand-sub,.brand-divider{display:none} .plot svg{height:165px}.plot{min-height:165px} footer{align-items:flex-start;flex-wrap:wrap}.account-note{font-size:.67rem}.account-name,.account-line b{overflow-wrap:anywhere}}
@media(max-width:430px){.health{font-size:.74rem}.brand b{font-size:1.15rem}.account-line{display:grid;gap:0}.account-note{display:block;line-height:1.25;margin-top:4px}.chart-stats dd{font-size:.9rem}.paper-badge{padding:3px 5px}.page-title p{font-size:.88rem}.account-name{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
#meme .page-title .eyebrow { color:#f0ab96; } #meme .dash { background:#f0ab96; }
nav a[data-route="meme"][aria-current="page"] { border-color:#f0ab96; }
.meme-metrics { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:12px; margin-bottom:16px; }
.meme-metrics .panel { padding:16px 20px; }
.meme-balance { background:linear-gradient(115deg,#342923,#232329); border-color:#886451; }
.meme-balance .eyebrow, #meme .decision { color:#f0ab96; }
.metric-value { font-size:clamp(1.35rem,2.4vw,2rem); line-height:1.2; font-weight:580; letter-spacing:-.04em; margin:6px 0; }
.meme-metrics p, #meme-quote-time { font-size:.78rem; color:var(--muted); }
#meme details summary { cursor:pointer; font-weight:600; }
#meme details[open] summary { margin-bottom:8px; }
#mnq .page-title .eyebrow, #mnq .decision, .mnq-balance .eyebrow { color:#adc9ff; }
#mnq .dash { background:#adc9ff; } nav a[data-route="mnq"][aria-current="page"] { border-color:#adc9ff; }
.mnq-balance { border-color:#47638b; background:linear-gradient(115deg,#1c3046,#182530); }
nav { overflow-x:auto; } nav a { white-space:nowrap; }
@media (max-width:680px) {
  .meme-metrics { grid-template-columns:1fr 1fr; gap:8px; }
  .meme-metrics .meme-balance { grid-column:1 / -1; }
  .meme-metrics .panel { padding:12px 14px; }
}
