:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#dce4eb;background:#0c1118;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{width:218px;position:fixed;inset:0 auto 0 0;background:#101720;border-right:1px solid #26303c;padding:32px 22px}.brand{color:#69e0c0;text-decoration:none;font-size:25px;display:flex;gap:12px;align-items:center}.brand span{font-size:18px;font-weight:650;color:#ecf1f5}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#81909f;font-weight:650;margin:0 0 12px}aside .eyebrow{margin-top:55px}.nav{padding:13px;border-radius:8px;color:#75ddc6;background:#192f32}.aside-note{position:absolute;bottom:30px;font-size:12px;line-height:2;color:#a5b1bc}small{font-size:11px;color:#8593a4}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6de0bc;margin-right:6px}main{margin-left:218px;max-width:1600px;padding:38px 42px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}h1{font-size:29px;letter-spacing:-.7px;font-weight:600;margin:0 0 10px}.sub{color:#8d9aaa;margin:0}button,select{border:1px solid #303d4b;border-radius:7px;padding:10px 15px;background:#161f2a;color:#d6dfe7;font:inherit;cursor:pointer}button:hover{background:#263540}button:focus-visible,select:focus-visible{outline:2px solid #69e0c0;outline-offset:3px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.tabs{display:flex;background:#111923;border:1px solid #26313f;padding:4px;border-radius:9px}.tabs button{border:0;background:transparent;color:#96a4b3}.tabs button[aria-pressed=true]{background:#28343f;color:#f0f5f7}#updated{color:#81909f;font-size:11px}#banner{border:1px solid #4b4030;background:#211f1b;color:#d9be88;padding:12px 16px;border-radius:8px;font-size:12px;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metrics article,.panel{background:#121b25;border:1px solid #25323f;border-radius:11px}.metrics article{padding:20px}.metrics p{color:#9cabb9;font-size:12px;margin:0 0 14px}h2{font-size:29px;letter-spacing:-.6px;margin:0 0 10px;font-weight:550}.metrics #mode{font-size:23px;padding-top:6px}.columns{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.panel{padding:23px;margin-bottom:22px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}h3{font-size:15px;margin:0 0 7px;font-weight:600}.panel-head p{font-size:11px;color:#8292a3;margin:0}.tag{font-size:10px;border:1px solid #324555;border-radius:5px;padding:6px;color:#99b5c6}#chart{height:210px;display:flex;align-items:center;justify-content:center;color:#748797;font-size:12px}#chart svg{width:100%;height:100%}.chart-foot{display:flex;justify-content:space-between;color:#8495a5;font-size:10px;margin-top:10px}.status .eyebrow{margin-top:24px}.status h2{font-size:21px}.status #reason{color:#aab8c5;line-height:1.5;font-size:12px}dl{display:grid;grid-template-columns:1fr 1.2fr;gap:13px;font-size:11px;margin-top:23px}dt{color:#8495a5}dd{margin:0;text-align:right;color:#c7d2dc}.note{color:#728696;font-size:11px;line-height:1.6;border-top:1px solid #25323f;padding-top:15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{color:#8093a6;font-weight:400;font-size:11px;padding:0 12px 16px}td{padding:18px 12px;border-top:1px solid #243240;font-size:12px}td:first-child{color:#76d9c1;font-weight:600}.empty{color:#8295a6!important;text-align:center;padding:28px;font-weight:400!important}.event{display:grid;grid-template-columns:145px 1fr auto;gap:18px;padding:15px 0;border-top:1px solid #243240}.event time{font-size:11px;color:#8295a6}.event strong{display:block;font-size:12px;font-weight:500}.event p{font-size:11px;color:#8295a6;margin:5px 0 0;overflow-wrap:anywhere}.event .tag{height:fit-content}footer{font-size:11px;color:#788a9b;line-height:1.7}#warnings{display:block;color:#d9be88}@media(max-width:1100px){aside{width:175px;padding:30px 16px}main{margin-left:175px;padding:28px 22px}.metrics{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.brand span{font-size:15px}}@media(max-width:650px){aside{position:static;width:100%;padding:18px}.nav,aside .eyebrow,.aside-note{display:none}main{margin:0;padding:24px 16px}h1{font-size:23px}header{align-items:flex-start}.sub{font-size:12px;line-height:1.5}.toolbar{align-items:flex-start;flex-direction:column}.metrics{gap:10px}.metrics article{padding:15px}h2{font-size:24px}.panel{padding:18px}.event{grid-template-columns:100px 1fr}.event .tag{display:none}.tag{white-space:nowrap}}

.pnl-panel{background:linear-gradient(125deg,#13252b 0%,#121b25 48%);overflow:hidden}.pnl-numbers{display:flex;gap:65px;margin:26px 0 20px}.pnl-numbers span{display:block;color:#93a6b6;font-size:11px;margin-bottom:10px}.pnl-numbers strong{font-size:25px;font-weight:550;letter-spacing:-.5px}.pnl-numbers>div:first-child strong{font-size:35px}.profit{color:#70e3bf}.loss{color:#ff8997}#pnl-chart{height:260px;display:flex;align-items:center;justify-content:center;color:#8aa0b0;font-size:12px}#pnl-chart svg{height:100%;width:100%}.pnl-panel .note{margin-bottom:0}@media(max-width:650px){.pnl-numbers{gap:20px;flex-wrap:wrap}.pnl-numbers strong{font-size:20px}.pnl-panel .panel-head{align-items:flex-start;flex-direction:column}#pnl-chart{height:220px}}

[hidden]{display:none!important}#news-list a{color:#8ddfc9;text-decoration:none;font-size:12px}#paper-summary{font-size:13px;color:#c2d9d2;line-height:1.6}

.logout{text-align:right;margin-bottom:20px}#cron-path{white-space:pre-wrap;overflow-wrap:anywhere;color:#70e3bf}#server-check{line-height:1.8;font-size:12px}
/* Independent paper portfolios */
[hidden]{display:none!important}
.portfolio-overview{margin:8px 0 30px}
.portfolio-overview-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.portfolio-overview-head h2{font-size:24px;margin:0 0 9px;letter-spacing:-.5px}
.portfolio-overview-head p:not(.eyebrow){color:#99aabb;font-size:12px;line-height:1.6;margin:0;max-width:660px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.portfolio-card{--accent:#60a5fa;position:relative;overflow:hidden;min-width:0;padding:22px;border:1px solid #2a3948;border-radius:16px;background:linear-gradient(150deg,#1a2939 0%,#121b25 65%);box-shadow:0 10px 30px #00000014;font-variant-numeric:tabular-nums}
.portfolio-card:before{content:'';position:absolute;left:22px;right:22px;top:0;height:3px;background:var(--accent);border-radius:0 0 4px 4px}
.portfolio-chart_only{--accent:#a78bfa;background:linear-gradient(150deg,#282439,#121b25 65%)}
.portfolio-pullback{--accent:#fbbf24;background:linear-gradient(150deg,#302a20,#121b25 65%)}
.portfolio-active{--accent:#34d399;background:linear-gradient(150deg,#16332f,#121b25 65%)}
.portfolio-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:10px}
.portfolio-index{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent)}
.portfolio-state{font-size:10px;letter-spacing:.5px;padding:5px 8px;border:1px solid #405060;border-radius:20px;color:#c4d1dd}
.portfolio-state.needs-attention{color:#f9cf8a;border-color:#87633a}
.portfolio-name{font-size:17px;font-weight:650;letter-spacing:-.3px;margin:0 0 7px}
.portfolio-description{font-size:11px;line-height:1.5;color:#a2b0be;margin:0 0 24px;min-height:33px}
.portfolio-value-label{font-size:11px;color:#a2b0be;margin:0 0 8px}
.portfolio-value{display:block;font-size:clamp(26px,2.35vw,38px);letter-spacing:-1.2px;line-height:1.15;color:#f3f7fa;white-space:nowrap}
.portfolio-change{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px 0 22px;font-size:12px;font-weight:600}
.portfolio-change.positive{color:#7ce4bc}.portfolio-change.negative{color:#ff9b9b}.portfolio-change.neutral{color:#b5c3d1}
.portfolio-details{border-top:1px solid #324151;padding-top:18px;margin:0;grid-template-columns:1fr auto;gap:12px;font-size:12px}
.portfolio-details dt{color:#a1b1c1}.portfolio-details dd{color:#e2eaf1;font-weight:550}
.portfolio-baseline{font-size:10px;line-height:1.6;color:#95a6b6;margin:20px 0 0}
@media(max-width:1200px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-value{font-size:34px}}
@media(max-width:540px){.portfolio-grid{grid-template-columns:1fr}.portfolio-overview-head{align-items:flex-start}.portfolio-overview-head>.tag{display:none}.portfolio-card{padding:22px}.portfolio-description{min-height:0;margin-bottom:20px}.portfolio-value{font-size:38px}}

.portfolio-value-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.portfolio-arrow{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;font-size:24px;line-height:1;font-weight:700}
.portfolio-arrow.up{color:#7ce4bc;background:#7ce4bc18}
.portfolio-arrow.down{color:#ff9b9b;background:#ff9b9b18}
.portfolio-arrow.flat{color:#9cabb9;background:#9cabb912;font-size:18px}

.portfolio-fast{--accent:#fb923c;background:linear-gradient(150deg,#38271f,#121b25 65%)}

.portfolio-gradual{--accent:#22d3ee;background:linear-gradient(150deg,#15343a,#121b25 65%)} #market-watch select{max-width:100%;padding:12px;background:#17232d;color:#e2e8f0;border:1px solid #344454;border-radius:8px} #market-watch details{max-height:420px;overflow:auto}

.portfolio-continuation{--accent:#f472b6;background:linear-gradient(150deg,#352034,#121b25 65%)}

.portfolio-bounce{--accent:#fb7185;background:linear-gradient(150deg,#39222d,#121b25 65%)}

.portfolio-slow{--accent:#84cc16}.portfolio-rotation{--accent:#38bdf8}.portfolio-squeeze{--accent:#c084fc}.portfolio-bounce_small{--accent:#fda4af}.portfolio-buy_hold{--accent:#94a3b8}.portfolio-cash_control{--accent:#e2e8f0}

/* Compact overview: details remain available without an endless activity feed. */
.dashboard-disclosure { margin: 16px 0; border: 1px solid #293d4b; border-radius: 12px; padding: 16px; }
.dashboard-disclosure > summary, .portfolio-notes > summary { cursor: pointer; font-weight: 600; color: #b4c8d5; }
.dashboard-disclosure[open] > summary { margin-bottom: 20px; }
.dashboard-disclosure #events, #active-panel { max-height: 70vh; overflow: auto; }
.portfolio-notes { margin-top: 14px; font-size: 12px; }
.portfolio-card { padding: 20px; }
.portfolio-description { min-height: 0; }
.portfolio-value { font-size: clamp(24px, 2.5vw, 36px); }
@media (min-width: 1400px) { .portfolio-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }

.portfolio-vwap{--accent:#2dd4bf}.portfolio-divergence{--accent:#fb923c}.portfolio-obv{--accent:#a3e635}

/* Links to the separate, on-demand trade chart. */
a.nav{display:block;margin-top:8px;text-decoration:none;background:transparent;color:#a8bacb}a.nav:hover,a.nav.active{background:#192f32;color:#75ddc6}a.nav:focus-visible{outline:2px solid #69e0c0;outline-offset:3px}
