:root {
  color-scheme: dark;
  --bg: #07111f;
  --panel: #0d1b2a;
  --panel-2: #132337;
  --text: #f8fafc;
  --muted: #94a3b8;
  --line: #22334a;
  --good: #2dd4bf;
  --warn: #f59e0b;
  --bad: #fb7185;
  --accent: #60a5fa;
  --accent-2: #818cf8;
  --shadow: 0 20px 50px rgba(0,0,0,.28);
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; background:var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
body { min-height:100vh; }
button, input { font:inherit; }
button { cursor:pointer; }
.app-shell { max-width: 760px; margin:0 auto; min-height:100vh; padding: env(safe-area-inset-top) 16px calc(92px + env(safe-area-inset-bottom)); }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:20px 2px 16px; position:sticky; top:0; z-index:20; background:linear-gradient(180deg, rgba(7,17,31,.98) 70%, rgba(7,17,31,0)); backdrop-filter: blur(10px); }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:1.45rem; margin-bottom:0; }
h2 { font-size:1.35rem; margin-bottom:0; }
h3 { font-size:1rem; }
.eyebrow { font-size:.7rem; font-weight:800; letter-spacing:.12em; color:var(--accent); margin-bottom:4px; }
.muted { color:var(--muted); }
.small { font-size:.88rem; line-height:1.5; }
.card { background:linear-gradient(180deg, rgba(19,35,55,.95), rgba(13,27,42,.98)); border:1px solid var(--line); border-radius:20px; padding:18px; box-shadow:var(--shadow); margin-bottom:14px; }
.hero { padding:20px; }
.hero-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.hero-value { font-size:2rem; font-weight:800; letter-spacing:-.03em; margin-top:2px; }
.stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; }
.stat-grid div { background:rgba(255,255,255,.035); padding:12px; border-radius:14px; border:1px solid rgba(255,255,255,.045); }
.stat-grid span { display:block; color:var(--muted); font-size:.75rem; margin-bottom:5px; }
.stat-grid strong { font-size:.98rem; }
.pill { border-radius:999px; padding:7px 10px; font-size:.78rem; font-weight:800; }
.pill.good { background:rgba(45,212,191,.12); color:var(--good); }
.pill.bad { background:rgba(251,113,133,.12); color:var(--bad); }
.pill.neutral { background:rgba(148,163,184,.12); color:#cbd5e1; }
.section-head { display:flex; justify-content:space-between; align-items:flex-end; margin:24px 2px 12px; }
.data-chip { color:var(--muted); font-size:.72rem; border:1px solid var(--line); padding:5px 8px; border-radius:999px; }
.stack { display:flex; flex-direction:column; gap:12px; }
.opportunity-card { padding:16px; }
.card-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.ticker-line { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.ticker { font-size:1.2rem; font-weight:850; }
.exchange { font-size:.7rem; color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:3px 7px; }
.price { font-size:1.15rem; font-weight:800; white-space:nowrap; }
.company { color:var(--muted); font-size:.88rem; margin:3px 0 12px; }
.thesis { font-size:.95rem; line-height:1.42; margin-bottom:14px; }
.mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.mini-grid div { border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:12px; padding:9px; }
.mini-grid span { display:block; color:var(--muted); font-size:.7rem; margin-bottom:4px; }
.mini-grid strong { font-size:.82rem; }
.risk-line { display:flex; justify-content:space-between; gap:12px; padding:10px 0 0; border-top:1px solid var(--line); font-size:.82rem; }
.risk-line span:last-child { text-align:right; }
.btn-row { display:flex; gap:10px; margin-top:14px; }
.primary-btn, .secondary-btn, .danger-btn, .ghost-btn { border:none; border-radius:14px; padding:13px 15px; font-weight:800; }
.primary-btn { width:100%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:white; }
.secondary-btn { width:100%; margin-top:8px; background:#17283c; color:#dbeafe; border:1px solid var(--line); }
.ghost-btn { background:rgba(96,165,250,.1); color:#bfdbfe; border:1px solid rgba(96,165,250,.3); padding:9px 12px; }
.danger-btn { background:rgba(251,113,133,.12); color:#fecdd3; border:1px solid rgba(251,113,133,.3); }
.good { color:var(--good); }
.bad { color:var(--bad); }
.warn { color:var(--warn); }
.alert { display:flex; gap:12px; align-items:flex-start; }
.alert-dot { width:9px; height:9px; border-radius:50%; background:var(--warn); margin-top:7px; flex:0 0 auto; }
.alert strong { display:block; margin-bottom:4px; }
.empty { text-align:center; color:var(--muted); padding:34px 18px; border:1px dashed var(--line); border-radius:18px; }
.holding-card .holding-head { display:flex; justify-content:space-between; gap:12px; }
.holding-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:14px 0; }
.holding-metrics div { background:rgba(255,255,255,.03); border-radius:12px; padding:10px; }
.holding-metrics span { display:block; color:var(--muted); font-size:.68rem; }
.holding-metrics strong { font-size:.84rem; }
.sell-btn { width:100%; background:transparent; border:1px solid var(--line); color:#e2e8f0; border-radius:12px; padding:11px; font-weight:750; }
.journal-row { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; }
.journal-icon { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font-weight:900; background:rgba(96,165,250,.12); }
.journal-row p { margin:0; }
.journal-row .meta { color:var(--muted); font-size:.78rem; margin-top:4px; }
.setting-row { display:flex; justify-content:space-between; gap:18px; padding:11px 0; border-top:1px solid var(--line); font-size:.9rem; }
.setting-row:first-of-type { border-top:none; }
.setting-row strong { text-align:right; }
.danger-zone { margin-top:24px; }
.bottom-nav { position:fixed; z-index:30; left:50%; transform:translateX(-50%); bottom:0; width:min(760px,100%); padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:rgba(7,17,31,.96); backdrop-filter:blur(18px); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.nav-btn { border:none; background:transparent; color:var(--muted); padding:8px 4px; border-radius:12px; font-size:.69rem; font-weight:700; }
.nav-btn span { display:block; font-size:1.15rem; margin-bottom:3px; }
.nav-btn.active { color:#dbeafe; background:rgba(96,165,250,.1); }
.view { display:none; }
.view.active { display:block; }
.modal { position:fixed; inset:0; z-index:100; display:none; }
.modal.open { display:block; }
.modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); }
.modal-sheet { position:absolute; left:0; right:0; bottom:0; max-width:760px; margin:0 auto; background:#0c1928; border:1px solid var(--line); border-bottom:none; border-radius:26px 26px 0 0; padding:18px 18px calc(22px + env(safe-area-inset-bottom)); max-height:92vh; overflow:auto; box-shadow:0 -24px 60px rgba(0,0,0,.45); }
.modal-grabber { width:42px; height:5px; background:#334155; border-radius:999px; margin:0 auto 16px; }
.modal-close { position:absolute; right:16px; top:15px; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:#132337; color:white; font-size:1.25rem; }
.price-line { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0; }
.price-line div { background:rgba(255,255,255,.035); border:1px solid var(--line); border-radius:13px; padding:11px; }
.price-line span { display:block; font-size:.72rem; margin-bottom:4px; }
.field-label { display:block; color:var(--muted); font-size:.78rem; margin-bottom:7px; }
.amount-input { width:100%; background:#07111f; color:white; border:1px solid #34506f; border-radius:15px; padding:15px; font-size:1.25rem; font-weight:800; outline:none; }
.amount-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(96,165,250,.15); }
.quick-amounts { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:9px 0 18px; }
.quick-amounts button { background:#132337; border:1px solid var(--line); color:#dbeafe; border-radius:10px; padding:8px 5px; font-weight:700; font-size:.78rem; }
.scenario-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.scenario { border-radius:14px; padding:11px; border:1px solid var(--line); }
.scenario span,.scenario small { display:block; }
.scenario span { color:var(--muted); font-size:.7rem; }
.scenario strong { display:block; margin:4px 0; }
.scenario.downside strong { color:var(--bad); }
.scenario.base strong { color:#fde68a; }
.scenario.upside strong { color:var(--good); }
.risk-box { margin:14px 0; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.risk-box div { display:flex; justify-content:space-between; gap:14px; padding:11px 12px; border-top:1px solid var(--line); }
.risk-box div:first-child { border-top:none; }
.risk-box span { color:var(--muted); font-size:.8rem; }
.risk-box strong { text-align:right; font-size:.84rem; }
.warning { color:#fde68a; background:rgba(245,158,11,.1); border:1px solid rgba(245,158,11,.3); padding:11px; border-radius:12px; font-size:.82rem; margin-bottom:12px; }
.fineprint { color:var(--muted); font-size:.71rem; line-height:1.4; }
.toast { position:fixed; z-index:200; left:50%; transform:translateX(-50%) translateY(30px); bottom:100px; background:#e2e8f0; color:#0f172a; border-radius:999px; padding:10px 14px; font-size:.82rem; font-weight:800; opacity:0; pointer-events:none; transition:.25s ease; white-space:nowrap; max-width:calc(100% - 30px); overflow:hidden; text-overflow:ellipsis; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
@media (min-width:700px) {
  .app-shell { padding-left:22px; padding-right:22px; }
  .modal-sheet { bottom:24px; border-radius:26px; border-bottom:1px solid var(--line); }
}

/* Live market chart */
.market-chart-card { padding:12px; overflow:hidden; }
.chart-toolbar { display:flex; gap:8px; padding:2px 2px 10px; }
.chart-symbol-btn { border:1px solid var(--line); background:#0b1726; color:var(--muted); border-radius:999px; padding:8px 13px; font-size:.78rem; font-weight:850; }
.chart-symbol-btn.active { color:#eff6ff; border-color:rgba(96,165,250,.65); background:rgba(96,165,250,.14); }
.live-data-chip { color:#a7f3d0; border-color:rgba(45,212,191,.28); background:rgba(45,212,191,.07); }
.live-chart { height:390px; width:100%; border-radius:14px; overflow:hidden; background:#07111f; }
.live-chart .tradingview-widget-container,
.live-chart .tradingview-widget-container__widget { width:100%; height:100%; }
.chart-note { margin:10px 4px 2px; }
@media (max-width:480px) {
  .live-chart { height:350px; }
}

/* v1.2 Scout + Watchlist */
.bottom-nav.five { grid-template-columns:repeat(5,1fr); }
.bottom-nav.five .nav-btn { font-size:.64rem; }
.scout-intro { position:relative; overflow:hidden; }
.scout-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.scout-mark { width:46px; height:46px; border-radius:15px; display:grid; place-items:center; flex:0 0 auto; font-size:1.35rem; background:rgba(129,140,248,.12); border:1px solid rgba(129,140,248,.28); color:#c7d2fe; }
.scout-card { padding:16px; }
.score-pill { min-width:58px; text-align:center; border-radius:14px; padding:8px 10px; font-size:1.2rem; font-weight:900; background:rgba(45,212,191,.1); border:1px solid rgba(45,212,191,.28); color:#99f6e4; }
.score-pill small { display:block; font-size:.58rem; color:var(--muted); font-weight:800; }
.tag-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:-2px 0 12px; }
.research-tag { display:inline-block; padding:5px 8px; border-radius:999px; background:rgba(96,165,250,.1); border:1px solid rgba(96,165,250,.22); color:#bfdbfe; font-size:.7rem; font-weight:800; }
.tiny { font-size:.68rem; }
.research-lines { border-top:1px solid var(--line); padding-top:10px; }
.research-lines p { margin:0 0 8px; font-size:.83rem; line-height:1.42; }
.btn-row.split { display:grid; grid-template-columns:auto auto 1fr; gap:8px; }
.secondary-inline,.primary-inline { border-radius:12px; padding:10px 12px; font-weight:800; border:1px solid var(--line); }
.secondary-inline { background:#132337; color:#dbeafe; }
.primary-inline { background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:white; border:none; }
.primary-inline.wide { width:100%; }
.primary-inline:disabled { opacity:.45; cursor:default; }
.source-link { display:block; color:#93c5fd; text-decoration:none; font-size:.7rem; margin-top:12px; line-height:1.4; }
.add-watch-card .field-gap { margin-top:13px; }
.compact-input { font-size:1rem; padding:13px 14px; }
.add-watch-btn { margin-top:14px; }
.watch-main { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.symbol-line { margin:-7px 0 0; font-size:.7rem; color:#64748b; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.icon-btn { width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:#132337; color:#cbd5e1; font-size:1.15rem; }
.watch-card .btn-row.split { grid-template-columns:1fr 1.35fr; }
.research-sheet { max-height:94vh; }
.analysis-loading { min-height:180px; display:flex; align-items:center; justify-content:center; gap:14px; border:1px dashed var(--line); border-radius:16px; padding:20px; }
.analysis-loading p { margin:4px 0 0; }
.spinner { width:24px; height:24px; border-radius:50%; border:3px solid #334155; border-top-color:#60a5fa; animation:spin .85s linear infinite; flex:0 0 auto; }
@keyframes spin { to { transform:rotate(360deg); } }
.prompt-box { width:100%; min-height:190px; resize:vertical; border:1px solid #34506f; border-radius:14px; background:#07111f; color:#dbeafe; padding:13px; font:inherit; font-size:.8rem; line-height:1.45; margin-bottom:10px; }
.research-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:14px 0; }
.research-summary div { border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:12px; padding:10px; }
.research-summary span { display:block; font-size:.68rem; color:var(--muted); margin-bottom:5px; }
.research-summary strong { font-size:.8rem; line-height:1.25; display:block; }
.research-scenarios { margin:14px 0; }
.takeaway-box { margin:14px 0; padding:14px; border-radius:14px; background:rgba(96,165,250,.08); border:1px solid rgba(96,165,250,.22); }
.takeaway-box span { display:block; color:#93c5fd; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.takeaway-box strong { display:block; line-height:1.45; }
.source-list { margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.source-list b { display:block; font-size:.78rem; margin-bottom:7px; }
.source-list a { display:block; color:#93c5fd; text-decoration:none; font-size:.72rem; line-height:1.4; margin:6px 0; }
.alert + .alert { margin-top:12px; }
@media (max-width:480px) {
  .bottom-nav.five { padding-left:8px; padding-right:8px; }
  .bottom-nav.five .nav-btn { font-size:.58rem; }
  .research-summary { grid-template-columns:1fr; }
  .btn-row.split { grid-template-columns:1fr 1fr; }
  .btn-row.split .primary-inline { grid-column:1 / -1; }
  .watch-card .btn-row.split { grid-template-columns:1fr 1fr; }
  .watch-card .btn-row.split .primary-inline { grid-column:auto; }
}

/* v1.3 — clickable move explorer */
.bottom-nav.six { grid-template-columns:repeat(6,1fr); padding-left:8px; padding-right:8px; }
.bottom-nav.six .nav-btn { font-size:.58rem; padding-left:2px; padding-right:2px; }
.select-input { width:100%; background:#07111f; color:white; border:1px solid #34506f; border-radius:14px; padding:12px 13px; font-weight:750; outline:none; }
.select-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(96,165,250,.15); }
.moves-control-row { display:grid; grid-template-columns:1fr auto; align-items:end; gap:10px; margin-top:12px; }
.compact-action { width:auto; min-width:128px; height:46px; }
.history-chart-card { padding:12px; overflow:hidden; }
.history-chart { height:390px; width:100%; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#07111f; position:relative; }
.chart-empty { height:100%; display:grid; place-items:center; color:var(--muted); text-align:center; padding:24px; }
.history-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:10px; }
.history-summary div { border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:12px; padding:9px; min-width:0; }
.history-summary span { display:block; color:var(--muted); font-size:.66rem; margin-bottom:4px; }
.history-summary strong { font-size:.78rem; overflow-wrap:anywhere; }
.inline-head { margin:0 0 12px; align-items:center; }
.move-pill { border-radius:999px; padding:7px 10px; font-weight:850; font-size:.78rem; background:rgba(148,163,184,.12); color:#cbd5e1; }
.move-pill.good { color:var(--good); background:rgba(45,212,191,.12); }
.move-pill.bad { color:var(--bad); background:rgba(251,113,133,.12); }
.move-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0 0 14px; }
.move-stats div { border:1px solid var(--line); border-radius:12px; padding:9px; background:rgba(255,255,255,.025); }
.move-stats span { display:block; color:var(--muted); font-size:.66rem; margin-bottom:4px; }
.move-stats strong { font-size:.82rem; }
.big-move-card { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; text-align:left; width:100%; color:inherit; }
.big-move-card button { grid-column:1 / -1; }
.move-rank { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:rgba(96,165,250,.12); font-weight:900; }
.move-main p { margin:0; }
.move-main .move-date { font-weight:800; }
.move-main .move-detail { color:var(--muted); font-size:.74rem; margin-top:3px; }
.move-change { font-weight:900; white-space:nowrap; }
.deep-driver-list { display:flex; flex-direction:column; gap:8px; margin:12px 0; }
.deep-driver { border:1px solid var(--line); border-radius:12px; padding:10px; background:rgba(255,255,255,.025); }
.deep-driver strong { display:block; margin-bottom:4px; }
.deep-driver p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.45; }
.deep-summary { background:rgba(96,165,250,.08); border:1px solid rgba(96,165,250,.25); border-radius:14px; padding:12px; margin:12px 0; }
.deep-summary span { display:block; color:#bfdbfe; font-size:.68rem; font-weight:800; letter-spacing:.06em; margin-bottom:5px; }
.deep-summary strong { line-height:1.45; }
@media (max-width:520px) {
  .bottom-nav.six .nav-btn { font-size:.52rem; }
  .bottom-nav.six .nav-btn span { font-size:1rem; }
  .history-summary, .move-stats { grid-template-columns:1fr 1fr; }
  .history-chart { height:340px; }
  .moves-control-row { grid-template-columns:1fr; }
  .compact-action { width:100%; }
}
