/* ---------- Design tokens: Google-style light, consistent across all pages ---------- */
:root{
  --bg:#ffffff;          /* page background */
  --surface:#ffffff;     /* cards / reports */
  --surface2:#f8fafc;    /* subtle panels (inputs, transcript boxes) */
  --surface3:#f1f5f9;    /* table striping / hover */
  --border:#e2e8f0;      /* hairlines */
  --txt:#1f2937;         /* primary text */
  --dim:#64748b;         /* secondary text */
  --accent:#1a73e8;      /* Google Blue 600 */
  --accent-dark:#1765cc;
  --green:#188038;       /* Google Green 700 */
  --red:#d93025;         /* Google Red 600 */
  --radius:10px;
  --shadow:0 1px 2px rgba(16,24,40,.05);
  --shadow-hover:0 2px 8px rgba(16,24,40,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:1100px;margin:0 auto;padding:18px 24px}
.wrap.wide{max-width:1700px}
header{padding:14px 0 12px;border-bottom:1px solid var(--border);margin-bottom:16px}
header h1{font-size:1.4rem;letter-spacing:-.02em;color:var(--txt)}
header .sub{color:var(--dim);font-size:.92rem;margin-top:3px}
.clock{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;align-items:center}
.clock-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:.85rem}
.clock-lbl{color:var(--dim);margin-right:4px}
.clock-val{font-variant-numeric:tabular-nums;font-weight:600;color:var(--txt)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s}
.card:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover);border-color:#cbd5e1}
.card h3{font-size:1.05rem;margin-bottom:4px;color:var(--txt)}
.card .desc{color:var(--dim);font-size:.88rem;margin-bottom:8px}
.card .meta{font-size:.85rem;color:var(--dim)}
.card .updated{color:var(--accent);font-weight:600}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.report{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-top:12px;box-shadow:var(--shadow)}
.report h1{font-size:1.15rem;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border);color:var(--txt)}
.report h2{color:var(--txt);font-size:1.05rem}
table{border-collapse:collapse;width:100%;margin:8px 0}
 th,td{border:1px solid var(--border);padding:7px 10px;text-align:left;font-size:.9rem}
th{background:var(--surface2);color:var(--txt);font-weight:600}
tr:nth-child(even){background:var(--surface3)}
tr:hover{background:var(--surface2)}
/* consistent column widths across all sub-sector tables */
.report table th:nth-child(1),.report table td:nth-child(1){width:16%}
.report table th:nth-child(2),.report table td:nth-child(2){width:9%;text-align:center}
.report table th:nth-child(3),.report table td:nth-child(3){width:11%;text-align:center}
.report table th:nth-child(4),.report table td:nth-child(4){width:13%;text-align:center}
.report table th:nth-child(5),.report table td:nth-child(5){width:13%;text-align:center}
.report table th:nth-child(6),.report table td:nth-child(6){width:12%;text-align:center}
.report table th:nth-child(7),.report table td:nth-child(7){width:12%;text-align:center}
.report table th:nth-child(8),.report table td:nth-child(8){width:14%;text-align:center}
/* totals row */
.report table tr.totals td{background:var(--surface2);font-weight:700;border-top:2px solid var(--accent)}
/* sector/performance table cells — light green bg for positive, light red for negative */
.report table td.pos{background:rgba(52,168,83,.22);color:var(--green)}
.report table td.neg{background:rgba(234,67,53,.22);color:var(--red)}
.report table td.tot-label{text-align:left}
.report ul{list-style:none;margin:4px 0 6px}
/* restore visible bullet dots inside transcript summary boxes */
.summ-box ul,.orig-box ul{list-style:disc;padding-left:22px}
.summ-box ul li,.orig-box ul li{margin-bottom:.3em}
/* Q&A: the answer sits directly under the question text (inside the same li, after the bullet) */
.summ-box ul li.qa-q .qa-answer,.orig-box ul li.qa-q .qa-answer{margin-top:.3em;padding-left:22px}
.summ-box li.qa-answer,.orig-box li.qa-answer{margin-left:0}
.report ul li{padding:2px 0;border-bottom:1px dashed var(--border)}
.report ul li:last-child{border-bottom:none}
.report ul li .mkt-circle{font-size:.8rem;margin-right:2px}
.report p{margin:4px 0}
.report h2{margin-top:26px;margin-bottom:6px}
.report h3{margin-top:28px}
.report h4{margin-top:26px;color:var(--txt)}
/* summary section headers (## Results etc.): underline + bold, no blue bracket */
.report h2,.report h3,.report h4{text-decoration:underline;font-weight:700;color:var(--txt);border-left:none}
.report .sec-title{margin:26px 0 6px;padding:8px 12px;background:var(--surface2);border-left:4px solid var(--accent);border-radius:6px;font-weight:700;font-size:.98rem;color:var(--txt)}
.report .sec-title:first-child{margin-top:10px}
/* 50d MA tracker: clear separation between the NEW ABOVE list and the NEXT signal section */
.report ul + .sec-title, .report ul + p, .report p + p{margin-top:22px}
.report h3 + p{margin-top:14px}
/* Q/Q change highlights — a distinct highlighted block between transcript and summary */
.report .qq-highlights{margin:14px 0;padding:14px 16px;background:var(--surface2);border:1px solid var(--accent);border-left:5px solid var(--accent);border-radius:8px;font-size:.9rem}
.report .qq-highlights ul{margin:6px 0 0;padding-left:18px;list-style:disc}
.report .qq-highlights li{margin-bottom:.4em}
.report .qq-highlights strong{color:var(--accent)}
.report .qq-highlights .qq-title{font-weight:700;color:var(--accent);margin-bottom:4px}
.report .subsec{margin:22px 0 8px;padding:7px 12px;background:var(--surface2);border-left:4px solid var(--accent);border-radius:6px;font-weight:700;font-size:.93rem;color:var(--txt)}
.report .subsec:first-of-type{margin-top:8px}
.report .stat{margin:8px 0 10px;padding:10px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-weight:600}
.report .stat strong{color:var(--green)}
.report .stat .down{color:var(--red)}
.up{color:var(--green)} .down{color:var(--red)}
.breadcrumb{color:var(--dim);font-size:.9rem;margin-bottom:10px}
.ticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;margin:12px 0}
.ticker-cell{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 4px 8px;text-align:center;font-size:.95rem;font-weight:600;color:var(--txt);display:block;transition:border-color .12s,box-shadow .12s}
.ticker-cell:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-hover);text-decoration:none}
.ticker-cell .cnt{display:block;font-size:.75rem;font-weight:400;color:var(--dim);margin-top:2px}
.ticker-cell .sector{display:block;font-size:.66rem;font-weight:400;color:var(--accent);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticker-cell.hide{display:none}
.ticker-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.ticker-badge{background:var(--accent);color:#fff;border-radius:8px;padding:5px 12px;font-weight:700;font-size:1rem}
.search-wrap{margin:12px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.search-box{background:var(--surface2);border:1px solid var(--border);color:var(--txt);border-radius:8px;padding:8px 14px;font-size:.95rem;width:240px;outline:none}
.search-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(26,115,232,.15)}
.search-hint{color:var(--dim);font-size:.85rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:12px}
.split-col{min-width:0}
.orig-box{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:18px;max-height:82vh;overflow-y:auto;font-size:.88rem;line-height:1.6;color:var(--txt)}
.orig-box p{margin-bottom:.65em}
.orig-box strong{color:var(--txt)}
/* speaker-name labels in the original transcript: bold + site accent blue (all tickers) */
.orig-box .spk strong{color:var(--accent)}
/* summary section headers: blue + underline (all tickers) */
.summ-box h2,.summ-box h3,.summ-box h4{color:var(--accent);text-decoration:underline;font-weight:700}
.summ-box{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:18px;max-height:82vh;overflow-y:auto;font-size:.88rem;line-height:1.6}
.summ-box p{margin-bottom:.65em}
.summ-box li{margin-bottom:.3em}
/* Conference transcript — full-width two-column layout (reads like a printed transcript) */
.conf-box{font-size:.92rem;line-height:1.7;column-count:2;column-gap:36px;column-rule:1px solid var(--border)}
.conf-box p{margin-bottom:.8em;break-inside:avoid}
.conf-box strong{color:var(--txt)}
@media(max-width:1000px){.conf-box{column-count:1}}
@media(max-width:1000px){.split{grid-template-columns:1fr}}
.q-wrap{display:flex;gap:8px;flex-wrap:wrap}
.q-input{flex:1;min-width:220px;background:var(--surface2);border:1px solid var(--border);color:var(--txt);border-radius:24px;padding:11px 18px;font-size:.95rem;outline:none}
.q-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(26,115,232,.15)}
.q-btn{background:var(--accent);color:#fff;border:none;border-radius:24px;padding:11px 22px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .12s}
.q-btn:hover{background:var(--accent-dark)}
.q-btn:disabled{opacity:.5;cursor:not-allowed}
.q-answer{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;font-size:.95rem;line-height:1.6}
.q-a-text ul,.q-a-text ol{margin:6px 0 8px}
.q-a-text li{margin:5px 0;padding-left:2px}
.q-a-text li::marker{color:var(--accent)}
.q-a-text strong{color:var(--accent)}
.q-src a{color:var(--dim);font-size:.84rem}
.footer{margin-top:28px;padding-top:12px;border-top:1px solid var(--border);color:var(--dim);font-size:.85rem;text-align:center}
/* ---- dark mode (applied via html[data-theme=dark]) ---- */
html[data-theme=dark]{--bg:#0f1115;--surface:#161a22;--surface2:#1d232e;--surface3:#262e3b;--border:#2c3444;--txt:#e6e9f0;--dim:#9aa4b5;--accent:#8ab4f8;--accent-dark:#a8c7fa;--green:#7fd28a;--red:#f28b82}
html[data-theme=dark] body{background:var(--bg);color:var(--txt)}
html[data-theme=dark] .card,html[data-theme=dark] .report,html[data-theme=dark] .ticker-cell{background:var(--surface)}
html[data-theme=dark] .orig-box,html[data-theme=dark] .summ-box,html[data-theme=dark] .q-answer,html[data-theme=dark] .clock-item{background:var(--surface2)}
html[data-theme=dark] th{background:var(--surface2)}
html[data-theme=dark] tr:nth-child(even){background:var(--surface3)}
.theme-toggle{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:5px 12px;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--txt);margin-left:auto;transition:background .15s}
.theme-toggle:hover{background:var(--surface3)}
/* sliding dark/light switch */
.theme-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;margin-left:10px}
.ts-label{font-size:.78rem;font-weight:600;color:var(--dim);white-space:nowrap;transition:color .15s}
.ts-track{position:relative;width:42px;height:22px;background:var(--surface3);border:1px solid var(--border);border-radius:999px;transition:background .2s;flex-shrink:0}
.ts-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--txt);border-radius:50%;transition:transform .2s,background .2s}
html[data-theme=dark] .ts-track{background:var(--accent)}
html[data-theme=dark] .ts-thumb{transform:translateX(20px);background:#fff}
.doc-list{margin-top:10px;font-size:.82rem;color:var(--dim)}
.doc-list a{color:var(--dim)}
.up-box{margin-top:14px;padding:14px;border:1px dashed var(--border);border-radius:10px;background:var(--surface2);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.up-box input[type=file]{font-size:.82rem;color:var(--txt)}
.up-btn{background:var(--accent);color:#fff;border:none;border-radius:16px;padding:7px 16px;font-size:.85rem;font-weight:600;cursor:pointer}
.up-btn:hover{background:var(--accent-dark)}
.up-status{font-size:.8rem;color:var(--dim);width:100%}
