@font-face{font-family:Berkeley Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/BerkeleyMono-Regular.woff2) format("woff2"),url(/fonts/BerkeleyMono-Regular.woff) format("woff")}@font-face{font-family:Berkeley Mono;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/BerkeleyMono-Bold.woff2) format("woff2"),url(/fonts/BerkeleyMono-Bold.woff) format("woff")}@font-face{font-family:Berkeley Mono;font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/BerkeleyMono-Italic.woff2) format("woff2"),url(/fonts/BerkeleyMono-Italic.woff) format("woff")}@font-face{font-family:Berkeley Mono;font-weight:700;font-style:italic;font-display:swap;src:url(/fonts/BerkeleyMono-BoldItalic.woff2) format("woff2"),url(/fonts/BerkeleyMono-BoldItalic.woff) format("woff")}:root{--bg: #0a0d0a;--panel: #0e120e;--fg: #cdd6cd;--dim: #6f7a6f;--dimmer: #485148;--line: #1c241c;--green: #36e06a;--green-dim: #3fae5e;--red: #ff5d5d;--pos: #4ec07a;--neg: #e8625f;--yellow: #e8c14a;--cyan: #4fd0d0;--magenta: #c98bd9}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:Berkeley Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(to bottom,#0000,#0000 2px,#00000021,#0000 4px),radial-gradient(ellipse at center,#0000 55%,#00000059)}a{color:var(--cyan)}.pos{color:var(--pos)}.neg{color:var(--neg)}.dim{color:var(--dim)}.green{color:var(--green)}.yellow{color:var(--yellow)}.right{text-align:right}.mono-nums{font-variant-numeric:tabular-nums}.app{max-width:none;margin:0;padding:0 18px 80px}.topbar{position:sticky;top:0;z-index:50;background:linear-gradient(to bottom,var(--bg) 78%,rgba(10,13,10,0));padding:16px 0 10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.prompt{color:var(--green);font-weight:700;text-shadow:0 0 10px rgba(54,224,106,.35);white-space:nowrap}.prompt .path{color:var(--cyan);font-weight:400}.prompt .mode-live{color:var(--green)}.prompt .mode-dry{color:var(--yellow)}.cursor{display:inline-block;width:8px;height:1.05em;background:var(--green);margin-left:3px;vertical-align:text-bottom;box-shadow:0 0 8px #36e06a99;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.spacer{flex:1}.nav{display:flex;gap:4px}.nav button{background:transparent;border:1px solid var(--line);color:var(--dim);font:inherit;padding:3px 12px;cursor:pointer;border-radius:2px}.nav button:hover{color:var(--fg);border-color:var(--dimmer)}.nav button.active{color:var(--green);border-color:var(--green-dim);background:#36e06a12}.clock{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}.badge{font-size:11px;padding:1px 7px;border-radius:2px;border:1px solid currentColor;letter-spacing:.04em}.badge.demo{color:var(--yellow)}.badge.live{color:var(--green)}.badge.err{color:var(--red)}.ring-wrap{display:flex;align-items:center;gap:6px;color:var(--dim);cursor:pointer}.ring-wrap:hover{color:var(--fg)}.ring{transform:rotate(-90deg)}.ring .track{stroke:var(--line)}.ring .arc{stroke:var(--green-dim);transition:stroke-dashoffset 1s linear}.section{margin-top:26px}.section>h2{font-size:15px;font-weight:700;color:var(--dim);margin:0 0 8px;letter-spacing:.02em;display:flex;align-items:baseline;gap:10px}.section>h2:before{content:"===";color:var(--dimmer)}.section>h2:after{content:"===";color:var(--dimmer);flex:1}.section>h2 .meta{color:var(--dimmer);font-weight:400;font-size:14px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:right;color:var(--dimmer);font-weight:400;font-size:13px;text-transform:uppercase;letter-spacing:.05em;padding:3px 12px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}td{padding:4px 12px;white-space:nowrap}tbody tr:hover{background:#ffffff05}tr.total-row td{border-top:1px solid var(--line);padding-top:6px;font-weight:700}.asset-name{color:var(--fg)}tr.deployed-row td{border-top:none;padding-top:0}tr.spacer-row td{height:14px;border:none}tr.spacer-row:hover{background:none}.nav-hero{display:flex;align-items:baseline;gap:14px;margin-top:18px;flex-wrap:wrap}.nav-hero .k{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.nav-hero .v{color:var(--green);font-size:26px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.hero-perf{display:flex;align-items:baseline;gap:16px;margin-left:auto;font-variant-numeric:tabular-nums}.hero-perf .hp{display:flex;align-items:baseline;gap:6px}.hero-perf .hp .lbl{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.portfolio-block{margin-top:18px}.stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:10px 16px;min-width:165px}.stat .k{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.stat .v{font-size:20px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums}.sent-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.summary{color:var(--dim);margin:8px 0 14px;max-width:92ch;line-height:1.6}.pill{display:inline-block;padding:1px 9px;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.04em;border:1px solid currentColor}.pill.risk_on{color:var(--green)}.pill.risk_off{color:var(--red)}.pill.neutral{color:var(--yellow)}.coins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1100px){.coins{grid-template-columns:repeat(2,minmax(0,1fr))}}.coin{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:14px 16px}.coin.benched{opacity:.62}.coin-top{display:flex;align-items:center;gap:9px}.coin-sym{font-weight:700;font-size:19px}.coin-px{color:var(--dim);margin-left:auto;font-variant-numeric:tabular-nums}.bench-tag{color:var(--red);font-size:13px}.coin-metrics{display:flex;gap:18px;margin:12px 0;font-size:14px;font-variant-numeric:tabular-nums}.coin-metrics .cm-col{flex:1;display:flex;flex-direction:column;gap:5px;align-self:flex-start}.coin-metrics .cm{display:flex;justify-content:space-between;gap:8px}.coin-metrics .cm .lbl{color:var(--dim)}.moves{display:flex;gap:12px;align-items:center;margin-top:10px;font-size:13px}.moves .m{display:flex;flex-direction:column;align-items:flex-end}.moves .m .lbl{color:var(--dimmer)}.spark{display:block}.rationale{color:var(--dim);margin-top:10px;line-height:1.55}.rationale .cr{color:var(--dimmer);font-style:italic;display:block;margin-top:4px}.side-buy{color:var(--green)}.side-sell{color:var(--red)}.tag-dry{color:var(--yellow);border:1px solid var(--yellow);border-radius:2px;padding:0 4px;font-size:10px}.skips{margin-top:10px}.skip{color:var(--dim);font-size:12px;padding:1px 0}.skip .s-sym{color:var(--fg)}.logs-controls{display:flex;gap:8px;align-items:center;margin-bottom:10px}.logs-controls select,.logs-controls button{background:var(--panel);border:1px solid var(--line);color:var(--fg);font:inherit;padding:3px 10px;border-radius:2px;cursor:pointer}.logview{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:10px 12px;max-height:70vh;overflow:auto;font-size:12.5px}.logline{display:flex;gap:12px;padding:1px 0;white-space:pre-wrap;word-break:break-word}.logline:hover{background:#ffffff05}.logline .lt{color:var(--dimmer);flex:0 0 auto;font-variant-numeric:tabular-nums}.logline .ll{flex:0 0 152px;font-weight:700;white-space:nowrap}.logline .lm{flex:1;color:var(--fg)}.lbl-RunnerFn{color:var(--green)}.lbl-SentimentFn{color:var(--cyan)}.lbl-MacroFn{color:var(--magenta)}.lbl-StopWatcherFn{color:var(--red)}.lbl-BreakoutWatcherFn{color:var(--yellow)}.lbl-ReconcilerFn{color:var(--dim)}@media (max-width: 640px){body{font-size:16px}.app{padding:0 12px 60px}.prompt{white-space:normal}.topbar .spacer{display:none}.section,.portfolio-block{overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-hero .v{font-size:30px}.hero-perf{margin-left:0;flex-wrap:wrap;gap:8px 14px;width:100%;font-size:15px}.hero-perf .hp{gap:4px}.hero-perf .hp .lbl{font-size:10px}.coins{grid-template-columns:1fr}.logline{flex-wrap:wrap}.logline .ll{flex-basis:auto}.logline .lm{flex:1 1 100%}}.empty{color:var(--dimmer);padding:6px 0}.error{color:var(--red);border:1px solid var(--red);border-radius:3px;padding:10px 14px;margin-top:20px}.loading{color:var(--dim);padding:30px 0}.loading:after{content:"▮";animation:blink .9s steps(1) infinite;margin-left:4px}
