:root{color-scheme:dark;--bg:#0c121e;--card:#151e2e;--line:#2a364a;--text:#f1f5fc;--muted:#b4c1d5;--green:#67e0b7;--red:#ff8c9b;--blue:#91baff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}main{max-width:1240px;margin:auto;padding:24px 28px 30px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-size:1.5rem;font-weight:750}.brand small{display:block;color:var(--muted);font-size:.875rem;font-weight:400}.badge{font-size:.875rem;letter-spacing:.08em;font-weight:750;background:#153b35;color:var(--green);border:1px solid #317b68;border-radius:8px;padding:7px 12px}h1{font-size:clamp(1.6rem,3.3vw,2.4rem);line-height:1.22;margin:5px 0 20px;letter-spacing:-.03em}h2{font-size:1.3rem;margin:0 0 14px;line-height:1.3}h3{font-size:1.15rem;margin-top:30px}.eyebrow{color:var(--muted);letter-spacing:.12em;font-size:.875rem;font-weight:650;margin:0 0 10px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:18px}.card p{margin-top:0}.card small,small{display:block;color:var(--muted);font-size:.875rem}.login{max-width:510px;margin:70px auto}.login h1{font-size:2.6rem}.login form{margin:30px 0}label{display:block;margin:16px 0 8px;font-weight:600}input,select{font:inherit;color:inherit;background:#0c1422;border:1px solid #53637b;border-radius:8px;padding:12px;width:100%;min-height:48px}button{font:inherit;font-weight:650;cursor:pointer;min-height:48px;border-radius:9px;border:1px solid transparent;padding:11px 17px;background:transparent;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.15)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.primary{background:var(--green);color:#072c21}.secondary{border-color:#52647e;background:#1e2a3e}.danger{background:#501e2e;border-color:#b34b65;color:#ffe4e8}.login button{width:100%;margin-top:22px}.muted{color:var(--muted)}#loginError,#controlError{color:var(--red);margin:12px 0 0}.topline,.sectionhead{display:flex;justify-content:space-between;gap:16px;align-items:center}.topline{margin-bottom:16px}.topline h1{margin-bottom:0}.notice{border:1px solid #36544f;background:#102a29;padding:12px 16px;border-radius:10px;color:#b4f0de;margin:20px 0}.notice.error{background:#39202a;border-color:#865063;color:#ffd6dd}nav{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:24px 0;overflow-x:auto;scrollbar-width:thin}nav button{white-space:nowrap;border-radius:0;padding:12px 14px;color:var(--muted);border-bottom:3px solid transparent}nav button.active{border-bottom-color:var(--green);color:var(--text)}.metrics{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:16px}.metrics .card{padding:22px}.metrics strong{display:block;font-size:1.8rem;letter-spacing:-.035em;overflow-wrap:anywhere}.metrics .hero{border-color:#37675e;background:linear-gradient(135deg,#18352f,#15202e)}.hero strong{font-size:2.9rem}.hero p{margin-bottom:6px}.positive{color:var(--green)}.negative{color:var(--red)}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote{display:flex;align-items:center;justify-content:space-between;gap:16px}.quote strong{font-size:1.85rem;letter-spacing:-.02em}.quote h2{margin-bottom:5px}.quote .coin{display:flex;gap:12px;align-items:center}.coinmark{width:42px;height:42px;border-radius:50%;background:#253a50;display:grid;place-items:center;font-weight:800;color:var(--blue)}.quoteprice{text-align:right}.sectionhead h2{margin-bottom:0}.sectionhead{margin-bottom:18px}.sectionhead select{width:auto;max-width:50%}.ranges{display:flex;gap:8px;margin:18px 0}.ranges button{border:1px solid var(--line);font-size:.95rem}.ranges .active{color:var(--green);border-color:var(--green);background:#19352f}.chartwrap{height:280px;position:relative}canvas{display:block;width:100%;height:100%;touch-action:pan-y}#chartEmpty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}#chartEmpty[hidden]{display:none}.chartvalue{margin:14px 0 6px!important;font-variant-numeric:tabular-nums}.row{display:flex;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row b{display:block}.row .right{text-align:right;font-variant-numeric:tabular-nums}.row p{margin:4px 0 0}.row small{margin-top:4px}.pill{display:inline-block;border-radius:6px;background:#26334a;color:#d8e6fa;padding:3px 8px;font-size:.875rem}.pill.ok{background:#183e33;color:var(--green)}.pill.bad{background:#502333;color:#ffc7d0}.controls{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.rules{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.rules div{padding:16px 0;border-bottom:1px solid var(--line)}.rules b,.rules span{display:block}.rules span{color:var(--muted);margin-top:5px}footer{display:flex;justify-content:space-between;gap:16px;margin-top:32px;color:var(--muted);font-size:.875rem}dialog{color:var(--text);background:var(--card);border:1px solid #52647e;border-radius:16px;width:min(94vw,500px);padding:28px}dialog::backdrop{background:#000a}dialog p{color:var(--muted)}[hidden]{display:none!important}.empty{padding:28px 0;color:var(--muted)}.reportgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.log{font-size:.95rem;padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.log time{display:block;color:var(--muted);font-size:.875rem}
@media(max-width:1000px){.metrics{grid-template-columns:1fr 1fr}.metrics .hero strong{font-size:2.4rem}}@media(max-width:600px){main{padding:18px 16px max(28px,env(safe-area-inset-bottom))}header{margin-bottom:26px}.brand{font-size:1.3rem}.brand small{font-size:.875rem}.badge{font-size:.8rem;padding:6px 8px}.topline{align-items:flex-start}.topline h1{font-size:1.6rem}.topline button{padding:10px;font-size:.9rem}.card{padding:19px;border-radius:13px}.metrics{grid-template-columns:1fr 1fr;gap:12px}.metrics .card{padding:16px;margin-bottom:0}.metrics .hero{grid-column:1/-1}.metrics .card:last-child{grid-column:1/-1}.metrics strong{font-size:1.65rem}.metrics .hero strong{font-size:2.7rem}.metrics p{font-size:1rem}.quotes{grid-template-columns:1fr;gap:0;margin-top:18px}.quote strong{font-size:1.8rem}.chartwrap{height:240px}.ranges{gap:6px}.ranges button{flex:1;padding:9px 4px;font-size:.9rem}nav{margin:22px -4px;padding:0 4px}nav button{font-size:1rem;padding:12px 10px}.rules{grid-template-columns:1fr}.row{gap:12px;flex-wrap:wrap}.row .right{margin-left:auto}.controls button{flex:1 1 150px}.sectionhead{flex-wrap:wrap}.sectionhead select{max-width:100%}footer{flex-direction:column;gap:4px}.login{margin:36px 0}.login h1{font-size:2.2rem}.reportgrid{grid-template-columns:1fr}body{font-size:1.0625rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.chart-controls .sectionhead{align-items:center;margin-bottom:12px}.chart-count-field{display:flex;align-items:center;gap:12px;min-width:0}.chart-count-field label{margin:0;font-size:1rem;white-space:nowrap}.chart-controls .chart-count-field select{width:5rem;min-width:5rem;max-width:none;padding-right:36px}.chart-controls #chartCountHint{margin:0;font-size:.95rem}@media(max-width:600px){.chart-controls .sectionhead{align-items:flex-start;gap:14px}.chart-count-field{width:100%;justify-content:space-between;flex-wrap:wrap}.chart-controls .chart-count-field select{width:5rem;max-width:100%}}
.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}.chart-empty[hidden]{display:none}
.chartlegend>span{display:inline-block;margin-right:18px;font-weight:700;font-size:1rem}.legend-price{color:#69b7ff}.legend-buy{color:#4ade80}.legend-sell{color:#ff6b75}.chartlegend small{margin-top:8px}.tradebuy{color:#4ade80}.tradesell{color:#ff6b75}
.chartlegend{color:var(--muted);font-size:.95rem;margin:18px 0 10px!important}.tradebuttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tradebuttons button{font-size:.875rem;text-align:left;max-width:100%;overflow-wrap:anywhere}.tradebuy{color:var(--green);border-color:#367d68;background:#18382f}.tradesell{color:var(--red);border-color:#a54b5f;background:#3c202c}.tradebuttons button[aria-pressed=true]{outline:2px solid var(--text);outline-offset:2px}
/* Independent market monitor: responsive, public observations only. */
.market-chart{width:100%;height:auto;min-height:140px}.market-checks{display:flex;flex-wrap:wrap;gap:16px}#marketPrefs input[type=checkbox]{width:auto;min-height:20px}#marketPrefs label{display:block;margin:10px 0}#marketAnalyses a{color:#67e0b7;overflow-wrap:anywhere}#marketAnalyses small{display:block}#marketAnalyses h4{margin-bottom:8px}#marketComparison .row{flex-wrap:wrap;gap:12px}fieldset{border:1px solid #354154;border-radius:12px;margin:16px 0}nav{overflow-x:auto}#marketSearch button{margin-top:14px}

.lab-scroll{overflow-x:auto;max-width:100%}.lab-scroll table{width:100%;border-collapse:collapse;font-size:.85rem}.lab-scroll th,.lab-scroll td{padding:12px;text-align:left;white-space:nowrap;border-bottom:1px solid #283449}.lab-scroll th{color:#9fb0c7}details.card>summary{cursor:pointer;font-weight:600}

.v3-plot{width:100%;height:260px;background:#0c121e;border-radius:10px}.v3-item{border-bottom:1px solid #29374a;padding:16px 0}.v3-item.unread{border-left:3px solid #69b7ff;padding-left:12px}.v3-item a{color:#91c5ff}.v3-item p{overflow-wrap:anywhere}.v3-zone{font-size:13px;color:#becbe0}#workspace nav{flex-wrap:wrap}#capitalForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}#capitalForm input,#capitalForm select{width:100%}#research canvas{touch-action:pan-y}details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
 .v3-mobile-nav{display:none}@media(max-width:650px){#workspace nav{display:none}.v3-mobile-nav{display:grid;gap:8px;margin:20px 0}.v3-mobile-nav select{width:100%}}
