:root{color:#e8ece6;background:#0e100f;--bg: #0e100f;--bg-grid: rgba(226, 236, 224, .035);--panel: rgba(22, 25, 23, .96);--panel-solid: #161917;--panel-raised: #1d211e;--panel-inset: #121513;--panel-hover: #242a25;--border: #363d37;--border-soft: #28302a;--text: #e8ece6;--text-strong: #f7faf5;--muted: #9ba59a;--muted-strong: #bdc6bb;--green: #35d08d;--green-strong: #18b978;--green-surface: #123226;--red: #ff5d67;--red-surface: #3a171b;--amber: #d8a348;--shadow: rgba(0, 0, 0, .34);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}*{scrollbar-color:#465149 #141815;scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#111411}*::-webkit-scrollbar-thumb{border:2px solid #111411;border-radius:999px;background:#465149}*::-webkit-scrollbar-thumb:hover{background:#59665c}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#10120f,#0d0f0e 46%,#11140f),repeating-linear-gradient(90deg,var(--bg-grid) 0,var(--bg-grid) 1px,transparent 1px,transparent 80px)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:24px 0 40px}.app-shell.in-game{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;overflow:hidden}.app-shell:not(.in-game) .topbar{justify-content:center;text-align:center}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.topbar h1,.start-copy h2{margin:0;color:var(--text-strong);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.1;letter-spacing:0}.topbar p,.start-copy p{margin:6px 0 0;color:var(--muted)}.topbar-actions,.timeline-controls,.settings-grid,.ticket-foot{display:flex;align-items:center;gap:8px}.primary-button,.secondary-button,.danger-button,.control-button,.trade-ticket button,.save-actions button,.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--border);border-radius:7px;padding:8px 12px;background:var(--panel-raised);color:var(--text);font-weight:700}.primary-button{border-color:var(--green-strong);background:var(--green-strong);color:#06100c}.primary-button:hover{background:var(--green)}.secondary-button:hover,.danger-button:hover,.control-button:hover,.save-actions button:hover,.stock-row:hover,.segmented-control button:hover{border-color:var(--muted-strong)}.danger-button{border-color:#7e3037;background:var(--red-surface);color:#ffd6d9}.danger-button:hover{border-color:var(--red)}.large{min-height:46px;padding-inline:18px}.start-panel,.empty-state{display:grid;gap:18px;max-width:760px;padding:28px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 14px 36px var(--shadow)}.empty-state{margin-top:20vh}.empty-state.compact{margin-top:0;box-shadow:none}.start-panel{width:min(760px,100%);margin:clamp(20px,8vh,84px) auto 0;justify-items:center;text-align:center}.login-panel{display:grid;justify-items:center;gap:18px;width:min(440px,100%);margin:clamp(32px,12vh,120px) auto 0;border:1px solid var(--border);border-radius:8px;padding:28px;background:var(--panel);box-shadow:0 14px 36px var(--shadow);text-align:center}.auth-mode{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--panel-inset)}.auth-form{display:grid;gap:12px;width:100%;text-align:left}.auth-form .large{width:100%}.start-copy{max-width:620px}.home-tabs{width:min(360px,100%);grid-template-columns:repeat(auto-fit,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--panel-inset)}.challenge-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}.challenge-card{display:grid;align-content:start;justify-items:center;gap:14px;min-height:260px;border:1px solid var(--border-soft);border-radius:8px;padding:18px;background:var(--panel-solid)}.challenge-card h3{margin:0;color:var(--text-strong);font-size:1rem}.challenge-card p{margin:6px 0 0;color:var(--muted-strong);font-size:.84rem;line-height:1.35}.challenge-card .large{width:100%}.challenge-card button:disabled{border-color:var(--border);background:var(--panel-raised);color:var(--muted)}.challenge-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.challenge-meta span{border:1px solid var(--border);border-radius:999px;padding:5px 10px;background:var(--panel-inset);color:var(--muted-strong);font-size:.78rem;font-weight:900;text-transform:uppercase}.challenge-note,.compact-text{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}.daily-leaderboard{display:grid;gap:6px;width:100%;border:1px solid var(--border-soft);border-radius:8px;padding:10px;background:var(--panel-solid);text-align:left}.daily-leaderboard h4{margin:0 0 2px;color:var(--muted-strong);font-size:.78rem;text-align:center;text-transform:uppercase}.daily-leaderboard-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--border-soft);border-radius:7px;padding:6px 8px;background:var(--panel-inset);color:var(--muted-strong);font-size:.78rem}.daily-leaderboard-row strong{min-width:0;overflow:hidden;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.home-leaderboards{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;width:100%;text-align:left}.overall-leaderboard,.daily-board-list{display:grid;align-content:start;gap:10px;min-height:260px;max-height:min(54vh,560px);overflow:auto;border:1px solid var(--border-soft);border-radius:8px;padding:14px;background:var(--panel-solid)}.overall-leaderboard h3,.daily-board-list h3{margin:0;color:var(--text-strong);font-size:1rem;text-align:center}.overall-leaderboard p{margin:0;color:var(--muted-strong);font-size:.82rem;line-height:1.35;text-align:center}.overall-leaderboard-list{display:grid;gap:6px}.overall-leaderboard-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid var(--border-soft);border-radius:7px;padding:7px 8px;background:var(--panel-inset);color:var(--muted-strong);font-size:.78rem}.overall-leaderboard-row strong{min-width:0;overflow:hidden;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.overall-leaderboard-row small{color:var(--muted);font-size:.72rem;font-weight:800}.daily-board-list .daily-leaderboard{border-color:var(--border-soft)}.admin-panel{display:grid;gap:12px;width:100%;text-align:left}.admin-panel-heading,.admin-user-summary,.admin-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-panel-heading h3,.admin-user-summary h4{margin:0;color:var(--text-strong)}.admin-panel-heading p,.admin-user-summary p,.admin-save-row span{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}.admin-panel-heading>span,.admin-user-summary h4 span{border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:var(--panel-inset);color:var(--muted-strong);font-size:.72rem;font-weight:900;text-transform:uppercase}.admin-user-summary h4{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-user-list{display:grid;gap:10px;max-height:min(56vh,620px);overflow:auto;padding-right:8px}.admin-user-card{display:grid;gap:10px;border:1px solid var(--border-soft);border-radius:8px;padding:12px;background:var(--panel-solid)}.admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.admin-actions .secondary-button,.admin-actions .danger-button,.admin-save-row .danger-button{min-height:30px;padding:5px 8px;font-size:.72rem}.admin-save-list{display:grid;gap:6px}.admin-save-row{min-width:0;border:1px solid var(--border-soft);border-radius:7px;padding:8px;background:var(--panel-inset)}.admin-save-row>div{display:grid;min-width:0}.admin-save-row strong{min-width:0;overflow:hidden;color:var(--text-strong);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.account-chip{border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:var(--panel-inset);color:var(--muted-strong);font-size:.8rem;font-weight:900}.start-panel .settings-grid{justify-content:center}.start-panel .settings-grid label{text-align:left}.start-panel .recent-rounds{width:100%;max-height:min(42vh,430px);overflow:auto;padding-right:10px;text-align:left}.start-panel .recent-rounds h3{text-align:center}.settings-grid{flex-wrap:wrap}label{display:grid;gap:6px;color:var(--muted-strong);font-size:.84rem;font-weight:800}input,select{width:100%;min-height:38px;border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:var(--panel-inset);color:var(--text)}.settings-grid input{width:120px}.game-workspace{display:grid;min-height:0;gap:16px}.app-shell.in-game .game-workspace{grid-template-rows:auto minmax(0,1fr)}.game-grid{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.2fr) minmax(300px,.82fr);gap:16px;align-items:start;min-height:0}.app-shell.in-game .game-grid{align-items:stretch}.market-panel,.detail-panel,.results-panel{display:grid;min-height:0;gap:14px}.app-shell.in-game .market-panel{grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.app-shell.in-game .detail-panel{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.app-shell.in-game .results-panel{align-content:start;overflow:auto;padding-right:4px}.app-shell.in-game .stock-list,.app-shell.in-game .stock-detail,.app-shell.in-game .market-overview,.app-shell.in-game .dictionary-panel{min-height:0;overflow:auto}.mobile-game-tabs.segmented-control{display:none}.round-header,.stock-list,.stock-detail,.market-overview,.trade-ticket,.portfolio-panel,.saved-results-panel,.results-summary-panel,.round-progress-strip,.timeline-controls,.recent-rounds{border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 10px 28px var(--shadow)}.round-header{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden}.metric{min-width:0;padding:13px;background:var(--panel-solid)}.metric span{display:block;color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.metric .metric-label{display:flex;align-items:center;gap:6px}.metric-info-button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-height:20px;border:1px solid var(--border);border-radius:999px;padding:0;background:var(--panel-inset);color:var(--muted-strong)}.metric-info-button:hover,.metric-info-button[aria-expanded=true]{border-color:var(--green);color:var(--green)}.metric strong{display:block;margin-top:5px;color:var(--text-strong);font-size:1rem;overflow-wrap:anywhere}.metric-peer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:baseline;margin-top:8px;border-top:1px solid var(--border-soft);padding-top:7px}.metric-peer span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.metric-peer strong{margin:0;color:var(--muted-strong);font-size:.78rem;text-align:right}.metric-info-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#020617ad;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.metric-info{width:min(460px,100%);max-height:min(620px,calc(100vh - 48px));overflow:auto;border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--panel-solid);box-shadow:0 24px 70px #00000073;color:var(--muted-strong);font-size:.86rem;line-height:1.5}.metric-info-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;border-bottom:1px solid var(--border-soft);padding-bottom:10px}.metric-info-header h3{margin:0;color:var(--text-strong);font-size:.95rem}.metric-info-header button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;border:1px solid var(--border);border-radius:999px;padding:0;background:var(--panel-inset);color:var(--muted-strong)}.metric-info p{margin:0}.metric-info p+p{margin-top:7px}.metric-info strong{display:inline;margin:0;color:var(--text);font-size:inherit}.metric-info-terms{display:grid;gap:8px;margin-top:12px;border-top:1px solid var(--border-soft);padding-top:10px}.metric-info-terms>strong{color:var(--text-strong);font-size:.78rem;text-transform:uppercase}.metric-info-terms div{display:flex;flex-wrap:wrap;gap:6px}.metric-info-terms button{min-height:28px;border:1px solid var(--border);border-radius:999px;padding:4px 9px;background:var(--panel-inset);color:var(--muted-strong);font-size:.76rem;font-weight:800}.metric-info-terms button:hover{border-color:var(--green);color:var(--green)}.metric.good strong,.good-text{color:var(--green)}.metric.bad strong,.bad-text{color:var(--red)}.timeline-controls{flex-wrap:wrap;padding:10px}.review-controls{display:grid;grid-template-columns:1fr;gap:8px}.review-button-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.review-controls .control-button{min-width:0;padding:7px 6px;white-space:nowrap}.review-slider{display:grid;gap:4px;min-width:0;border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:var(--panel-raised);color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.review-slider input{width:100%;min-height:24px}.control-button.active,.segmented-control .active{border-color:var(--green);background:var(--green-surface);color:var(--green)}.stock-list{overflow:hidden}.table-header,.stock-row{display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(82px,.8fr) minmax(54px,.55fr) minmax(72px,.7fr);gap:10px;align-items:center;width:100%;min-height:54px;padding:10px 12px;text-align:left}.table-header{min-height:38px;background:#20251f;color:var(--muted-strong);font-size:.74rem;font-weight:900;text-transform:uppercase}.stock-row{border:0;border-top:1px solid var(--border-soft);border-radius:0;background:var(--panel-solid);color:var(--text)}.stock-row.selected{background:#17281f;box-shadow:inset 4px 0 0 var(--green)}.stock-row strong,.stock-row small{display:block}.stock-row small{color:var(--muted);font-size:.75rem;line-height:1.25}.stock-detail,.market-overview,.trade-ticket,.portfolio-panel,.saved-results-panel,.results-summary-panel,.recent-rounds{padding:16px}.stock-detail{padding:12px}.stock-detail .detail-heading h2,.market-overview .detail-heading h2,.dictionary-panel .detail-heading h2{font-size:.96rem}.stock-detail .detail-heading p,.market-overview .detail-heading p,.dictionary-panel .detail-heading p{font-size:.8rem;line-height:1.3}.round-progress-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:10px 14px}.round-progress-copy{display:flex;gap:8px;align-items:baseline;min-width:128px}.round-progress-copy span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.round-progress-copy strong{color:var(--text-strong);font-size:.92rem}.detail-tabs{grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--panel);box-shadow:0 10px 28px var(--shadow)}.detail-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.results-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.results-summary-heading h3{margin-bottom:0}.detail-heading h2,.portfolio-panel h3,.recent-rounds h3,.saved-results-panel h3,.results-summary-panel h3,.results-summary-panel h4{margin:0 0 8px;color:var(--text-strong);font-size:1rem;letter-spacing:0}.results-summary-panel h4{margin-top:12px;font-size:.86rem}.dictionary-panel{display:grid;gap:12px}.dictionary-search{display:grid;gap:6px;color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.dictionary-search input{min-height:38px;border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:var(--panel-inset);color:var(--text);text-transform:none}.dictionary-content{display:grid;gap:10px}.dictionary-picker{display:grid;gap:6px;color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.dictionary-picker select{min-height:38px;border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:var(--panel-inset);color:var(--text);text-transform:none}.dictionary-definition{border:1px solid var(--border-soft);border-radius:8px;padding:13px;background:var(--panel-solid)}.dictionary-definition span{display:block;margin-bottom:6px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.dictionary-definition h3{margin:0 0 8px;color:var(--text-strong);font-size:1rem}.dictionary-definition p{margin:0;color:var(--muted-strong);font-size:.82rem;line-height:1.45}.dictionary-definition p+p{margin-top:6px}.dictionary-definition strong{color:var(--text)}.detail-heading p{max-width:70ch;margin:0;color:var(--muted-strong);font-size:.88rem;line-height:1.35}.reveal-inline{margin-top:6px!important;color:var(--muted)!important;font-size:.8rem;font-weight:800}.price-chip{min-width:112px;border:1px solid var(--border);border-radius:7px;padding:10px;background:var(--panel-inset);text-align:right}.price-chip strong,.price-chip span{display:block}.sparkline{width:100%;min-height:128px;margin:14px 0;border:1px solid var(--border);border-radius:8px;background:#101311}.sparkline-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.sparkline-line.positive{stroke:var(--green)}.sparkline-line.negative{stroke:var(--red)}.sparkline-dot.positive{fill:var(--green)}.sparkline-dot.negative{fill:var(--red)}.sparkline-grid{fill:none;stroke:#2c342e;stroke-width:1}.sparkline-axis{stroke:#475149;stroke-width:1}.sparkline-axis-label{fill:var(--muted);font-size:10px;font-weight:700}.sparkline-axis-label.y-axis{font-size:9px}.sparkline-empty{display:grid;min-height:128px;place-items:center;color:var(--muted);border:1px solid var(--border);border-radius:8px;background:#101311}.comparison-section{margin-bottom:14px}.comparison-controls{display:grid;gap:8px;margin-bottom:10px}.strategy-guide{border:1px solid var(--border-soft);border-radius:7px;padding:8px 10px;background:var(--panel-inset)}.strategy-guide summary{display:inline-flex;align-items:center;gap:7px;color:var(--muted-strong);cursor:pointer;font-size:.78rem;font-weight:900;text-transform:uppercase}.strategy-info-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.strategy-info-buttons button{min-height:28px;border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:var(--panel-raised);color:var(--muted-strong);font-size:.7rem;font-weight:800}.strategy-info-buttons button.active{border-color:var(--green);color:var(--green)}.strategy-info-detail{display:grid;gap:5px;margin-top:8px;border-top:1px solid var(--border-soft);padding-top:8px;color:var(--muted-strong);font-size:.76rem;line-height:1.35}.strategy-info-detail strong{color:var(--text-strong)}.strategy-info-detail p{margin:0}.strategy-info-detail span{width:fit-content;border:1px solid var(--border);border-radius:999px;padding:2px 7px;color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.comparison-series-toggles{display:grid;gap:8px;min-width:0;border:1px solid var(--border-soft);border-radius:7px;margin:0;padding:8px 10px 10px;background:var(--panel-inset)}.comparison-series-toggles legend{padding:0 4px;color:var(--muted-strong);font-size:.76rem;font-weight:900;text-transform:uppercase}.comparison-toggle-actions,.comparison-toggle-list{display:flex;flex-wrap:wrap;gap:6px}.comparison-toggle-actions button{min-height:26px;border:1px solid var(--border);border-radius:999px;padding:3px 8px;background:var(--panel-raised);color:var(--muted-strong);font-size:.68rem;font-weight:900;text-transform:uppercase}.strategy-toggle{display:inline-flex;grid-template-columns:none;align-items:center;gap:6px;min-height:28px;border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:var(--panel-raised);color:var(--muted-strong);font-size:.7rem;font-weight:800;text-transform:none}.strategy-toggle input{width:auto;min-height:auto;accent-color:var(--green)}.strategy-toggle span{white-space:nowrap}.comparison-chart-wrap{display:grid;gap:8px}.comparison-chart-expandable{position:relative;cursor:zoom-in;outline:none}.comparison-chart-expandable:focus-visible{border-radius:8px;box-shadow:0 0 0 2px var(--green)}.chart-expand-hint{position:absolute;top:8px;right:8px;border:1px solid var(--border-soft);border-radius:999px;padding:3px 8px;background:#121513d6;color:var(--muted-strong);font-size:.66rem;font-weight:900;text-transform:uppercase;pointer-events:none}.chart-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#000000b8}.chart-modal{display:grid;gap:12px;width:min(1120px,100%);max-height:min(88vh,820px);overflow:auto;border:1px solid var(--border);border-radius:8px;padding:16px;background:var(--panel-solid);box-shadow:0 20px 60px #00000080}.chart-modal-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.chart-modal-header h3{margin:0;color:var(--text-strong);font-size:1rem}.chart-modal .comparison-chart,.chart-modal .comparison-chart-empty{min-height:min(62vh,560px)}.comparison-chart,.comparison-chart-empty{width:100%;min-height:220px;border:1px solid var(--border);border-radius:8px;background:#101311}.comparison-chart-empty{display:grid;place-items:center;color:var(--muted)}.comparison-chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.comparison-chart-line.player{stroke:#34d399}.comparison-chart-line.cash{stroke:#cbd5e1;stroke-dasharray:5 5}.comparison-chart-line.equal-weight{stroke:#facc15}.comparison-chart-line.market{stroke:#60a5fa}.comparison-chart-line.best-stock{stroke:#fde047}.comparison-chart-line.worst-stock{stroke:#f87171}.comparison-chart-line.random-median{stroke:#a78bfa;stroke-dasharray:2 6}.comparison-chart-line.momentum{stroke:#22d3ee}.comparison-chart-line.value-strategy{stroke:#fb923c}.comparison-chart-line.quality-strategy{stroke:#bef264}.comparison-chart-line.low-volatility{stroke:#2dd4bf;stroke-dasharray:7 3}.comparison-chart-line.your-picks{stroke:#f472b6;stroke-dasharray:3 3}.comparison-chart-grid{fill:none;stroke:#2c342e;stroke-width:1}.comparison-chart-axis{stroke:#475149;stroke-width:1}.comparison-chart-marker{stroke:var(--text-strong);stroke-dasharray:4 4;stroke-width:1.5}.comparison-chart-axis-label{fill:var(--muted);font-size:10px;font-weight:700}.comparison-chart-axis-label.y-axis{font-size:9px}.comparison-chart-legend{display:flex;flex-wrap:wrap;gap:8px}.comparison-chart-key{display:inline-flex;align-items:center;gap:6px;color:var(--muted-strong);font-size:.74rem;font-weight:800}.comparison-chart-key:before{width:16px;height:3px;border-radius:999px;content:""}.comparison-chart-key.player:before{background:#34d399}.comparison-chart-key.cash:before{background:#cbd5e1}.comparison-chart-key.equal-weight:before{background:#facc15}.comparison-chart-key.market:before{background:#60a5fa}.comparison-chart-key.best-stock:before{background:#fde047}.comparison-chart-key.worst-stock:before{background:#f87171}.comparison-chart-key.random-median:before{background:#a78bfa}.comparison-chart-key.momentum:before{background:#22d3ee}.comparison-chart-key.value-strategy:before{background:#fb923c}.comparison-chart-key.quality-strategy:before{background:#bef264}.comparison-chart-key.low-volatility:before{background:#2dd4bf}.comparison-chart-key.your-picks:before{background:#f472b6}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metrics-grid .metric{border:1px solid var(--border-soft);border-radius:7px}.stock-detail .sparkline{min-height:112px;margin:10px 0}.stock-detail .metric{padding:8px}.stock-detail .metric span{font-size:.66rem}.stock-detail .metric strong{margin-top:3px;font-size:.9rem}.stock-detail .metric-peer{margin-top:5px;padding-top:5px}.stock-detail .metric-peer span{font-size:.62rem}.stock-detail .metric-peer strong{font-size:.72rem}.stock-detail .price-chip{padding:8px}.stock-detail .price-chip strong{font-size:.92rem}.stock-detail .reveal-inline{font-size:.72rem}.mobile-stock-picker,.mobile-stock-classification,.stock-stats-button{display:none}.stock-stats-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:18px;background:#000000b8}.stock-stats-modal{display:grid;gap:12px;width:min(760px,100%);max-height:min(86vh,760px);overflow:auto;border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--panel-solid);box-shadow:0 20px 60px #00000080}.summary-metrics{display:grid;gap:8px;margin-bottom:12px}.summary-metrics .metric{border:1px solid var(--border-soft);border-radius:7px}.market-selector{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:10px}.market-select-label{min-width:0}.market-select-meta{padding-bottom:10px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.market-overview .sparkline{margin:10px 0}.market-metrics{margin-bottom:0}.selected-market-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-market-metrics .metric{padding:10px}.metric-sections{display:grid;gap:7px}.metric-section{display:grid;gap:5px}.metric-section h3{margin:0;color:var(--muted-strong);font-size:.78rem;letter-spacing:0}.portfolio-chart{display:grid;gap:8px;margin-bottom:12px}.portfolio-chart .sparkline{margin:0}.portfolio-chart-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portfolio-chart-stats span{display:grid;gap:3px;min-width:0;border:1px solid var(--border-soft);border-radius:7px;padding:8px 10px;background:var(--panel-inset);color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.portfolio-chart-stats strong{color:var(--text-strong);font-size:.92rem;text-transform:none;overflow-wrap:anywhere}.portfolio-chart-stats .good-text{color:var(--green)}.portfolio-chart-stats .bad-text{color:var(--red)}.trade-ticket{display:grid;grid-template-columns:auto minmax(92px,1fr) auto;gap:10px;align-items:end}.results-panel .trade-ticket{grid-template-columns:1fr}.trade-stock-picker{display:none;grid-column:1 / -1}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.segmented-control button{min-width:72px}.ticket-foot,.ticket-estimate,.form-error{grid-column:1 / -1}.ticket-estimate{display:grid;gap:3px;border:1px solid var(--border-soft);border-radius:7px;padding:8px 10px;background:var(--panel-inset)}.ticket-estimate span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.ticket-estimate strong{color:var(--text-strong);font-size:1rem}.ticket-estimate small{color:var(--muted);font-size:.75rem}.ticket-foot{justify-content:space-between;color:var(--muted);font-size:.82rem}.ticket-mobile-cash{display:none}.form-error{margin:0;color:var(--red);font-weight:800}.muted{margin:0;color:var(--muted)}.position-list,.trade-history,.benchmark-list,.strategy-return-list,.recent-rounds,.saved-round-list{display:grid;gap:8px}.position-row,.history-row,.benchmark-row,.strategy-return-row,.recent-row,.save-row{display:grid;grid-template-columns:minmax(80px,1fr) auto auto;gap:10px;align-items:center;min-height:38px;border:1px solid var(--border-soft);border-radius:7px;padding:8px 10px;background:var(--panel-inset)}.history-row{grid-template-columns:auto auto 1fr auto;font-size:.85rem}.recent-row{grid-template-columns:1fr auto}.save-row{grid-template-columns:minmax(120px,1fr);align-items:stretch}.save-main{display:grid;gap:3px;min-width:0}.save-main strong{color:var(--text-strong);font-size:.9rem;overflow-wrap:anywhere}.save-main span{color:var(--muted);font-size:.76rem;font-weight:700}.save-main input{width:100%}.save-actions{display:flex;flex-wrap:wrap;gap:6px}.save-actions button{min-height:30px;padding:5px 8px;font-size:.74rem}.progress-track{height:12px;overflow:hidden;border-radius:999px;background:#252d27}.progress-fill{height:100%;background:linear-gradient(90deg,var(--green-strong),var(--amber))}@media (max-width: 1180px){.app-shell.in-game{display:block;height:auto;overflow:visible}.app-shell.in-game .game-workspace,.app-shell.in-game .game-grid,.app-shell.in-game .market-panel,.app-shell.in-game .detail-panel,.app-shell.in-game .results-panel,.app-shell.in-game .stock-list,.app-shell.in-game .stock-detail,.app-shell.in-game .market-overview,.app-shell.in-game .dictionary-panel{overflow:visible}.game-grid{grid-template-columns:minmax(340px,1fr) minmax(340px,1fr)}.results-panel{grid-column:1 / -1}}@media (max-width: 820px){.app-shell{width:min(100% - 18px,760px);padding-top:12px}.app-shell.in-game{display:grid;grid-template-rows:auto minmax(0,1fr);height:100dvh;overflow:hidden;padding-bottom:10px}.topbar,.detail-heading{align-items:stretch;flex-direction:column}.topbar{gap:10px;margin-bottom:10px}.topbar-actions{flex-wrap:nowrap;gap:5px;width:100%}.topbar-actions .account-chip{flex:0 1 74px;min-width:0;overflow:hidden;padding:6px 7px;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.topbar-actions .primary-button,.topbar-actions .secondary-button{flex:1 1 0;min-width:0;min-height:34px;gap:4px;padding:6px 5px;font-size:.7rem;white-space:nowrap}.topbar-actions svg{width:14px;height:14px;flex:0 0 auto}.app-shell.in-game .game-workspace{grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-height:0;overflow:hidden}.mobile-game-tabs.segmented-control{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--panel-inset)}.mobile-game-tabs button{gap:4px;min-height:34px;padding:6px 3px;font-size:.68rem}.detail-panel .detail-tabs{display:none}.app-shell.in-game .game-grid{display:block;min-height:0;overflow:hidden}.app-shell.in-game .game-grid>section{display:none}.app-shell.in-game .game-grid>section.mobile-panel-active{display:grid;height:100%;min-width:0}.app-shell.in-game .market-panel.mobile-panel-active{align-content:start;grid-template-rows:auto auto auto;overflow:auto;padding-right:4px}.app-shell.in-game .detail-panel.mobile-panel-active{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.app-shell.in-game .results-panel.mobile-panel-active{align-content:start;overflow:auto;padding-right:4px}.app-shell.in-game .stock-list,.app-shell.in-game .stock-detail,.app-shell.in-game .market-overview,.app-shell.in-game .dictionary-panel{min-height:0;overflow:auto}.round-progress-strip{grid-template-columns:1fr;gap:8px;padding:9px 10px}.round-progress-copy{justify-content:space-between}.game-grid,.challenge-options,.home-leaderboards,.metrics-grid,.dictionary-content,.market-selector,.review-controls,.trade-ticket{grid-template-columns:1fr}.round-header{grid-template-columns:repeat(2,minmax(0,1fr))}.round-header .metric{padding:9px 10px}.review-controls{gap:6px;padding:8px}.review-button-row{gap:4px}.review-controls .control-button{min-height:32px;padding:5px 4px;font-size:.7rem}.table-header,.stock-row{grid-template-columns:minmax(116px,1fr) minmax(76px,auto) minmax(46px,auto)}.table-header span:nth-child(4),.stock-row span:nth-child(4){display:none}.price-chip{width:100%;text-align:left}.mobile-stock-picker{display:grid;gap:6px;color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.trade-stock-picker{display:grid}.ticket-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}.ticket-mobile-cash{display:inline}.mobile-stock-picker select{min-height:38px;border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:var(--panel-inset);color:var(--text);text-transform:none}.mobile-stock-picker+.detail-heading{margin-top:6px}.mobile-stock-classification{display:block;margin:6px 0 10px;color:var(--muted);font-size:.76rem;font-weight:900;line-height:1.25;text-transform:uppercase}.stock-detail .detail-heading h2,.desktop-stock-metrics{display:none}.stock-stats-button{display:inline-flex;width:100%}.stock-stats-modal{max-height:min(82dvh,720px);padding:12px}.admin-panel-heading,.admin-user-summary,.admin-save-row{align-items:stretch;flex-direction:column}.admin-actions{justify-content:stretch}.admin-actions .secondary-button,.admin-actions .danger-button,.admin-save-row .danger-button{width:100%}}
