:root{color-scheme:dark;--bg:#0b0b18;--panel:#151528;--line:#303049;--muted:#b1b0ca;--lime:#d9ff59;--purple:#b29bff;--red:#ff9aa6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% 0,#282046 0,transparent 55%),var(--bg);color:#f5f5ff;font:16px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 4vw;border-bottom:1px solid var(--line)}a{color:var(--lime);text-decoration:none}a:hover{text-decoration:underline}.brand{font-weight:900;font-size:24px;display:flex;gap:12px;align-items:center}.brand small{font-size:14px;letter-spacing:.2em;color:var(--purple)}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{font-size:14px;color:#fff}main{max-width:1500px;margin:auto;padding:30px 4vw}h1{font-size:clamp(28px,4vw,48px);letter-spacing:-.04em;line-height:1.1;margin:6px 0}h2{font-size:22px;line-height:1.3;margin:0 0 16px}.title,.sectionhead{display:flex;justify-content:space-between;gap:16px;align-items:center}.eyebrow{font-size:13px;letter-spacing:.12em;color:var(--purple);font-weight:700;margin:0 0 6px}#guest{border:1px solid var(--line);padding:8px 14px;border-radius:100px;font-size:14px}#status{min-height:25px;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.play{min-width:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:22px}.garage{display:grid;grid-template-columns:1fr 220px;background:linear-gradient(125deg,#382562,#171527 75%);overflow:hidden;position:relative}.garage select{max-width:300px;margin:5px 0 14px}.garage h2{font-size:32px;margin:0}.prize{display:flex;flex-direction:column;justify-content:center;text-align:center}.prize span{font-size:100px;filter:drop-shadow(0 18px 18px #0008);animation:float 4s ease-in-out infinite}.prize small{font-size:12px;color:var(--muted);letter-spacing:.1em}.progress{grid-column:1/-1;margin-top:14px}.progress>div{display:flex;justify-content:space-between;gap:12px}.progress strong{color:var(--lime)}progress{width:100%;height:12px;border:0;border-radius:20px;overflow:hidden;margin-top:10px}progress::-webkit-progress-bar{background:#ffffff20}progress::-webkit-progress-value{background:var(--lime);border-radius:20px}progress::-moz-progress-bar{background:var(--lime)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.stats article{padding:18px 14px;background:#161628;border:1px solid var(--line);border-radius:16px}.stats span{font-size:14px;color:var(--muted);display:block}.stats strong{font-size:22px;font-variant-numeric:tabular-nums}.picker{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:12px}label{display:block;font-size:14px;color:var(--muted)}input,select{display:block;width:100%;min-width:0;padding:12px;border:1px solid #454460;background:#0e0e1c;color:#fff;border-radius:10px;font:inherit;margin-top:6px}button,.button{display:inline-flex;justify-content:center;align-items:center;border:0;background:var(--lime);color:#121620;padding:13px 18px;min-height:46px;font:700 14px system-ui;border-radius:12px;cursor:pointer;text-align:center}button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#2a2943;color:#fff}.sell{background:#432333;color:#ffbcc6}.quote{display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;margin:22px 0 8px}.quote strong{font-size:30px}.quote small{font-size:13px;color:var(--muted)}#chart{min-height:180px}#chart svg{display:block;width:100%;height:auto}.indicators{display:flex;flex-wrap:wrap;gap:10px}.indicators span{background:#24233b;padding:8px 12px;border-radius:8px;font-size:14px}.tradebox{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end;margin-top:22px}.muted,footer{font-size:14px;color:var(--muted)}.coach{border-left:4px solid var(--purple)}summary{cursor:pointer;color:var(--lime)}.rule{font-size:14px;margin:8px 0}.position,.historyRow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.position strong,.historyRow strong{display:block}.position small,.historyRow small{font-size:13px;color:var(--muted)}.asset{font-size:28px;margin-right:12px}.leaderboard ol{list-style:none;padding:0;margin:24px 0 0}.leaderboard li{display:grid;grid-template-columns:26px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.leaderboard li.you{color:var(--lime);background:#d9ff5910}.leaderboard li small{display:block;font-size:12px;color:var(--muted)}.leaderboard button{margin-top:10px;width:100%}.up{color:var(--lime)}.down{color:var(--red)}footer{padding:20px 0 40px}dialog{background:#211b36;border:1px solid var(--purple);border-radius:24px;color:#fff;padding:28px;max-width:480px;width:calc(100% - 32px)}dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}dialog .button{width:100%;margin-top:10px}.dialogIcon{display:block;font-size:55px;text-align:center}#closeDialog{display:block;margin-left:auto}.award{text-align:center;background:linear-gradient(120deg,#352154,#25251b)}.awardAvatar{font-size:90px;display:block;animation:float 3s ease-in-out infinite}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--lime);color:#101520;font-weight:700;padding:16px 24px;border-radius:15px;box-shadow:0 10px 60px #0009;pointer-events:none;opacity:0;max-width:calc(100% - 24px)}#toast.show{animation:toast 3s both}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}:focus-visible{outline:3px solid var(--purple);outline-offset:3px}@keyframes float{50%{transform:translateY(-9px) rotate(-2deg)}}@keyframes toast{0%{opacity:0;bottom:0}15%,85%{opacity:1;bottom:24px}100%{opacity:0}}@media(max-width:1100px){.layout{grid-template-columns:minmax(0,1fr) 260px}.stats{grid-template-columns:repeat(2,1fr)}.picker{grid-template-columns:1fr 1fr}.picker label:first-child{grid-column:1/-1}.tradebox{grid-template-columns:1fr 1fr}.tradebox label{grid-column:1/-1}}@media(max-width:800px){.layout{display:block}header{align-items:flex-start;padding:16px}nav{gap:12px}.brand{font-size:20px}main{padding:24px 16px}.title{align-items:flex-start;flex-direction:column}.panel{padding:18px;border-radius:16px}.garage{grid-template-columns:1fr 110px}.garage h2{font-size:26px}.prize span{font-size:70px}.prize small{font-size:12px;letter-spacing:0}.garage select{max-width:100%}.stats strong{font-size:21px}.sectionhead{align-items:flex-start}h2{font-size:20px}.sectionhead button{padding:10px}.position{flex-wrap:wrap}.historyRow{align-items:flex-start}.quote strong{font-size:26px}.progress>div{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}#toast.show{opacity:1}}

.roundbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0;background:#252037;border:1px solid #665090;border-radius:16px;padding:16px 22px}.roundbar span{font-size:14px;color:var(--muted)}.roundbar strong{display:block;font-size:25px;color:var(--lime);font-variant-numeric:tabular-nums;white-space:nowrap}.roundbar p{font-size:14px;max-width:430px;margin:0}.roundbar .level{color:var(--lime);font-weight:800}.broker{display:flex;align-items:center;gap:24px;border-color:#665090;background:linear-gradient(115deg,#2d2245,#151528)}.broker img{width:160px;height:160px;object-fit:cover;border-radius:20px;flex-shrink:0;animation:float 5s ease-in-out infinite}.broker h2{margin:4px 0}.broker p{margin:8px 0 16px}.broker.speaking img{animation:brokerBounce .6s ease-in-out}.marketChips{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}.marketChips button{min-height:44px}.marketChips button.active{background:var(--purple);color:#151528}.picker{grid-template-columns:1fr 1.2fr 1.6fr .8fr}.roundResult{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.roundResult small{display:block;color:var(--muted);font-size:13px}#celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:100}#celebration span{position:absolute;top:20%;font-size:26px;animation:rewardFall 1.8s ease-in forwards}.levelUp{animation:brokerBounce .6s ease-in-out}@keyframes rewardFall{0%{transform:translateY(-10vh) rotate(0);opacity:0}15%{opacity:1}100%{transform:translateY(90vh) rotate(180deg);opacity:0}}@keyframes brokerBounce{50%{transform:translateY(-8px) scale(1.04)}}@media(max-width:1100px){.picker{grid-template-columns:1fr 1fr}.picker label:first-child{grid-column:auto}}@media(max-width:700px){.roundbar{flex-wrap:wrap;padding:16px}.roundbar p{order:3;width:100%;max-width:none}.broker{gap:14px}.broker img{width:95px;height:115px}.broker h2{font-size:19px}.broker p{font-size:14px}.picker{grid-template-columns:1fr 1fr}.picker label:nth-child(3){grid-column:1/-1}.roundbar strong{font-size:22px}}@media(prefers-reduced-motion:reduce){#celebration{display:none}.broker img,.broker.speaking img,.levelUp{animation:none}}

#positions{display:grid;gap:18px;margin-top:20px}
.position.position-card{--result-color:#c6c5de;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding:24px;border:1px solid #48455f;border-left:5px solid var(--result-color);border-radius:18px;background:#1c1b30;scroll-margin-top:24px}
.position-card.gain{--result-color:#65efad;border-color:#326e55;background:linear-gradient(125deg,#173d30,#171c2a)}
.position-card.loss{--result-color:#ff899c;border-color:#834154;background:linear-gradient(125deg,#432430,#211b2c)}
.position-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;grid-column:1/-1;min-width:0}
.position-heading strong{font-size:20px;overflow-wrap:anywhere}.position-heading small{margin-top:4px}
.position-mood{font-size:36px;flex-shrink:0;line-height:1.2}
.position-result{display:flex;align-items:center;gap:16px;color:var(--result-color)}
.position-card .position-result small{color:var(--result-color);font-size:14px;font-weight:700}
.position-pnl{font-size:clamp(28px,4vw,38px);line-height:1.2;font-variant-numeric:tabular-nums;margin:4px 0}
.position-percent{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.position-arrow{font-size:44px;font-weight:900;line-height:1}
.position-amounts{display:flex;align-items:center;gap:28px;align-self:center}.position-amounts strong{font-size:18px;margin-top:5px;font-variant-numeric:tabular-nums}
.position-card .position-stamp{grid-column:1/-1;font-size:12px;overflow-wrap:anywhere}
.position-card>button{grid-column:1/-1;justify-self:end;min-width:130px}
.position-card.value-changed .position-arrow{animation:positionNudge .7s ease-out}
.position-card.value-changed .position-pnl{animation:positionGlow 1s ease-out}
.position-card.just-bought{animation:positionGlow 1.2s ease-out}
@keyframes positionNudge{40%{transform:translateY(-8px)}75%{transform:translateY(3px)}}
.position-card.loss.value-changed .position-arrow{animation-name:positionDrop}
@keyframes positionDrop{40%{transform:translateY(8px)}75%{transform:translateY(-3px)}}
@keyframes positionGlow{40%{filter:brightness(1.45)}}
@media(max-width:700px){.position.position-card{grid-template-columns:1fr;padding:20px;gap:20px}.position-heading strong{font-size:18px}.position-amounts{justify-content:space-between;gap:18px}.position-card>button{justify-self:stretch;width:100%}.position-arrow{font-size:48px}}
@media(prefers-reduced-motion:reduce){.position-card,.position-card .position-arrow,.position-card .position-pnl{animation:none!important}}

.level-path{grid-column:1/-1;margin:16px 0 0;font-size:14px;color:var(--muted)}

.auto-settings{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:16px}.auto-settings form,.price-alarm-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;margin:16px 0}.auto-settings form button{grid-column:1/-1}.auto-settings small{display:block;margin-top:12px}.price-alarm-form input{margin-top:6px}.alarm-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:14px;border:1px solid #665090;border-radius:12px}#chart svg{cursor:crosshair}#autoNotifications p{padding:12px 0;border-bottom:1px solid var(--line)}@media(max-width:600px){.auto-settings form,.price-alarm-form{grid-template-columns:1fr}.alarm-row{align-items:flex-start;flex-direction:column}.alarm-row button{width:100%}}

.prodigy-mark{display:block;width:44px;height:44px;border:1px solid #4dc491;border-radius:12px}.school-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:26px;align-items:center;overflow:hidden;padding:24px;border:1px solid #665090;border-radius:22px;background:linear-gradient(115deg,#2d2245,#151528)}.school-copy{min-width:0}.school-name{display:flex;align-items:center;gap:10px;color:#65efad}.school-name img{border-radius:9px}.school-banner h1{font-size:clamp(26px,3vw,38px);margin:10px 0 14px}.simulation-notice{font-size:15px;line-height:1.6;color:#dbdaed;margin:0;max-width:720px}.simulation-notice strong{color:#fff}.school-labels{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.school-labels span{padding:6px 10px;border:1px solid #585071;border-radius:9px;background:#0b0b1830;font-size:12px;font-weight:700}.school-art{display:block;width:100%;height:210px;object-fit:cover;border-radius:16px}.school-banner #guest{display:inline-block;font-size:12px}.school-banner #guest:empty{display:none}@media(max-width:700px){.school-banner{grid-template-columns:minmax(0,1fr) 96px;gap:12px;padding:18px;border-radius:16px}.school-copy{display:contents}.school-name{grid-column:1;font-size:11px;letter-spacing:.06em}.school-banner h1{grid-column:1;font-size:26px;margin:0}.school-art{grid-column:2;grid-row:1/3;width:96px;height:110px;border-radius:12px}.simulation-notice,.school-labels,.school-banner #guest{grid-column:1/-1}.simulation-notice{font-size:14px}.school-labels{margin:2px 0}.school-banner #guest{justify-self:start}.prodigy-mark{width:38px;height:38px}}

/* Game statistics and honest missing-data states */
.school-book{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:14px 0;padding:12px;border:1px solid #d9ff5977;border-radius:12px;background:#0b0b1866}.school-book div{flex:1 1 180px}.school-book strong,.school-book small{display:block}.school-book strong{color:var(--lime);font-size:14px}.school-book small{color:#dbdaed;font-size:12px}.school-book .book-buy{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:10px;background:var(--lime);color:#121620;font-weight:800;font-size:13px;text-align:center}.school-book .book-sample{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.school-book{grid-column:1/-1;margin:6px 0}.school-book .book-buy{width:100%}}
.stats article{position:relative;min-width:0;padding:18px;display:flex;flex-direction:column;gap:5px;overflow:hidden}.stats .stat-icon{font-size:34px;line-height:1.2;margin-bottom:8px;color:inherit}.stats small{font-size:14px;color:var(--muted);line-height:1.4}.stats strong{overflow-wrap:anywhere}.stats .player-rank{font-size:18px;line-height:1.35;color:var(--lime)}.rank-stat b{font-size:14px;color:var(--purple);margin-top:4px}.vault-art{height:96px;width:72px;background-image:url('/prodigy-safe.webp');background-size:400% 100%;background-repeat:no-repeat;background-position:0 center;margin:-5px 0 2px}.stats .vault-stat progress{margin-top:5px;height:8px}.vault-updated{animation:vault-pop .5s ease-out}.indicators>.indicator{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:42px}.indicator b{font-weight:600}.indicator>span{padding:0;background:none;font-size:14px}.indicator-missing{border:1px dashed #676482;color:var(--muted)}.missing-dots{display:inline-flex;gap:3px;align-items:center}.missing-dots i{width:4px;height:4px;border-radius:50%;background:var(--purple);animation:data-pulse 2.4s ease-in-out infinite}.missing-dots i:nth-child(2){animation-delay:.25s}.missing-dots i:nth-child(3){animation-delay:.5s}@keyframes data-pulse{0%,100%{opacity:.35}50%{opacity:1}}@keyframes vault-pop{50%{transform:scale(1.08)}}@media(max-width:480px){.stats{gap:10px}.stats article{padding:14px}.stats .player-rank{font-size:16px}.stats strong{font-size:20px}}

.coin-panel{margin:20px 0;padding:24px;border:1px solid #b59450;border-radius:20px;background:linear-gradient(135deg,#201d31,#131927)}.coin-heading{display:flex;gap:16px;align-items:center}.coin-heading h2{margin:0 0 6px}.coin-heading strong{color:#f4d27f;font-size:24px}.coin-transfer{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.coin-transfer label{display:grid;gap:8px}.coin-transfer input{max-width:150px}.coin-optin{display:flex;align-items:center;gap:10px;margin-top:18px}.coin-optin input{width:20px;height:20px;flex:none}.coin-panel p{line-height:1.6;color:#d3cedd}

#gameCoinPanel[hidden]{display:none!important}
dialog.round-outcome{max-width:520px;padding:0;overflow:hidden;border-color:#7560a8;box-shadow:0 28px 90px #000b;text-align:center}dialog.round-outcome::backdrop{background:#070617d9} .round-outcome img{display:block;width:100%;height:auto;max-height:min(56vh,480px);object-fit:contain;background:#171326}.outcome-copy{padding:22px 28px 28px}.outcome-copy h2{font-size:clamp(24px,5vw,32px);margin:4px 0 8px}.outcome-copy p{margin:8px 0;color:var(--muted)}.outcome-copy .eyebrow{color:var(--purple)}.outcome-copy .outcome-reward{color:var(--lime);font-weight:800}.outcome-copy button{width:100%;margin-top:15px}@media(max-width:550px){dialog.round-outcome{max-height:calc(100dvh - 24px)}.round-outcome img{max-height:45vh}.outcome-copy{padding:15px 20px 20px}}
.auto-buy-panel{border-color:#6b6a4a;background:linear-gradient(120deg,#242639,#151528)}.auto-buy-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin:18px 0}.auto-buy-form button{grid-column:1/-1}.auto-buy-panel #autoBuyStatus{color:var(--muted);min-height:1em}@media(max-width:700px){.auto-buy-form{grid-template-columns:1fr}}
.referral-panel{border-color:#7c5ab6;background:linear-gradient(120deg,#2d2245,#151528)}.referral-heading{display:flex;align-items:center;justify-content:space-between;gap:22px}.referral-heading p{max-width:70ch}.referral-heading img{flex-shrink:0}.referral-shares{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.referral-shares a,.referral-shares button{min-height:42px}.referral-panel input[readonly]{font-size:14px}.referral-thanks{display:flex;align-items:center;gap:20px;border:1px solid #7c5ab6;border-radius:18px;overflow:hidden;background:#211930;margin-top:15px}.referral-thanks img{width:170px;height:170px;object-fit:cover;flex-shrink:0}.referral-thanks h3{color:var(--lime);margin:0}.referral-thanks p{margin:5px 0}@media(max-width:600px){.referral-heading img{width:44px;height:44px}.referral-thanks{display:block}.referral-thanks img{width:100%;height:190px;object-position:center 26%}.referral-thanks div{padding:15px}}
.referral-panel[hidden],.referral-thanks[hidden]{display:none}
