:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05080d;--panel:#0d1823db;--panel-2:#132330e6;--glass:#0a1620b8;--text:#f2fbff;--muted:#9bb0bd;--line:#84d9ff2e;--cyan:#65e4ff;--green:#62e6a0;--red:#ff6f86;--gold:#f6d06f;--violet:#a78bfa;--orange:#ffb15f}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);background:radial-gradient(circle at 20% 0,#65e4ff29,#0000 34rem),radial-gradient(circle at 82% 18%,#a78bfa21,#0000 30rem),linear-gradient(#07111c 0%,#05080d 58%,#070b12 100%);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,.buttonLink,.cta{border:1px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;background:#122330f2;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffffff0d}button:hover,.buttonLink:hover,.cta:hover{background:#193244f5;border-color:#65e4ffb3}button:disabled,input:disabled{opacity:.55;cursor:not-allowed}button.danger{color:#ffd9df;background:#431822f2;border-color:#ff6f868c}a{color:var(--cyan)}main{min-height:100vh}nav{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.topbar{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#05080de0;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex;position:sticky;top:0}.topbar div:first-child{align-items:baseline;gap:14px;display:flex}.topbar strong{font-size:20px}.topbar span,.muted{color:var(--muted)}.code{color:var(--gold);letter-spacing:0;font-weight:700}.hero{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#65e4ff14,#f6d06f0a),linear-gradient(#0c1b29b8,#05080d4d);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:50px 24px 28px;display:grid}.landingHero{align-items:center;min-height:calc(100vh - 64px)}.compactHero{padding-top:36px}.hero h1,.authPanel h1{letter-spacing:0;margin:0;font-size:clamp(42px,7vw,82px);line-height:.96}.hero p{color:#c7dce5;max-width:780px;font-size:20px;line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:0;font-weight:700;color:var(--gold)!important;font-size:13px!important}.heroActions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.cta{min-width:230px;min-height:56px;font-size:18px;font-weight:800}.secondary{background:#122330eb}.ticker{grid-template-columns:repeat(2,74px);gap:10px;display:grid}.ticker span{border:1px solid var(--line);text-align:center;color:var(--green);background:#09131edb;border-radius:8px;padding:13px 10px;font-weight:800;box-shadow:0 0 24px #62e6a014}.bigCode{background:#17160cb3;border:1px solid #f6d06f52;border-radius:8px;min-width:250px;padding:20px}.bigCode span{color:var(--muted);margin-bottom:8px;display:block}.bigCode strong{color:var(--gold);letter-spacing:0;font-size:clamp(30px,4vw,54px);display:block}.notice{background:#092330d6;border:1px solid #65e4ff4d;border-radius:8px;margin:18px 24px 0;padding:12px 14px}.notice.warn{color:#ffe7a8;background:#30230ad6;border-color:#f6d06f6b}.notice.success{color:#d9ffe9;background:#0e3222d6;border-color:#62e6a06b}.studentLoginShell{background:linear-gradient(135deg,#65e4ff1f,#f6d06f14),radial-gradient(circle at 50% 30%,#62e6a01f,#0000 28rem);place-items:center;min-height:calc(100vh - 62px);padding:32px 16px;display:grid}.loginCard{background:linear-gradient(145deg,#091824f5,#080d17f0);border:1px solid #65e4ff47;border-radius:8px;width:min(720px,100%);padding:clamp(22px,4vw,42px);box-shadow:0 26px 90px #0000006b,inset 0 1px #ffffff0f}.loginCard h1{letter-spacing:0;margin:0 0 12px;font-size:clamp(34px,6vw,64px);line-height:1}.loginCard p{color:#c7dce5;line-height:1.5}.joinCodeInput{text-transform:uppercase;letter-spacing:0;text-align:center;min-height:64px;color:var(--gold);font-size:clamp(26px,6vw,42px);font-weight:900}.joinButton{min-height:58px;font-size:18px}.resumeStrip,.missingRoundBox{border:1px solid var(--line);background:#050c14b8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px;display:flex}.resumeStrip span{color:var(--muted);font-size:13px;display:block}.resumeStrip b{color:var(--text);display:block}.missingRoundBox{background:#431822ad;border-color:#ff6f866b}.grid,.dashboard{gap:18px;padding:24px;display:grid}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.studentDash{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:18px;box-shadow:0 18px 54px #00000038,inset 0 1px #ffffff0a}.commandCard{background:linear-gradient(135deg,#102231f2,#0c1522eb)}.authPanel{width:min(760px,100% - 32px);margin:80px auto}.wide{grid-column:1/-1}.sectionHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}h2{margin:0 0 16px;font-size:20px}.sectionHead h2{margin:0}label{color:var(--muted);gap:7px;margin-bottom:12px;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#040b11eb;border-radius:8px;outline:none;padding:12px}input:focus,select:focus,textarea:focus{border-color:#65e4ffbf;box-shadow:0 0 0 3px #65e4ff1f}textarea{resize:vertical;min-height:92px}.row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.primary{background:linear-gradient(135deg, var(--cyan), #91f6d2);color:#031016;border-color:#0000;width:100%;font-weight:800}.buy{width:100%;color:var(--green);background:#173c2af2;border-color:#62e6a066;font-weight:800}.sell{width:100%;color:var(--red);background:#431822f2;border-color:#ff6f8673;font-weight:800}.coinselect,.controls,.newsbar,.actionrow{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.chip{color:var(--muted);min-height:38px;padding:8px 11px}.chip.active{color:#051019;background:var(--gold);border-color:var(--gold);font-weight:800}.chip.locked,.coin.locked{opacity:.5}.status{color:var(--gold);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;display:flex}.ok{color:var(--green)}.closed{color:var(--orange)}.dot{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.dot:before{content:"";background:currentColor;border-radius:50%;width:10px;height:10px;box-shadow:0 0 12px}.dot.green{color:var(--green)}.dot.yellow{color:var(--gold)}.dot.red{color:var(--red)}.marketgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.coin{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;min-height:120px;padding:13px;display:grid}.coin div{gap:3px;display:grid}.coin span,.event span,.rank span{color:var(--muted)}.coin .chart{grid-column:1/-1}.segmented{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.segmented .active{border-color:var(--cyan);background:#214559f2}.person,.rank{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.person span,.rank span{text-align:right}.up{color:var(--green);font-style:normal}.down{color:var(--red);font-style:normal}.event{border-bottom:1px solid var(--line);gap:5px;padding:11px 0;display:grid}.chart{width:100%;height:50px;color:var(--cyan);overflow:visible}.chart.empty{color:var(--muted);border:1px dashed var(--line);border-radius:8px;place-items:center;display:grid}.codeDisplay{color:var(--gold);margin:0 0 20px;font-size:clamp(32px,6vw,68px);font-weight:900}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metrics p{border:1px solid var(--line);background:#050c14b8;border-radius:8px;margin:0;padding:14px}.metrics span{color:var(--muted);margin-bottom:8px;display:block}.metrics b{font-size:20px}.studentStatus,.missionMetrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.studentStatus>div{border:1px solid var(--line);background:#050c14b8;border-radius:8px;padding:14px}.studentStatus span{color:var(--muted);margin-bottom:8px;display:block}.studentStatus b{font-size:clamp(18px,2vw,24px)}.finalPanel{background:linear-gradient(135deg,#2a230ce6,#0d1823e0);border-color:#f6d06f57}.gameStatusOverlay{text-align:center;background:linear-gradient(135deg,#2a230ceb,#0d1823e6);border:1px solid #f6d06f70;border-radius:8px;justify-items:center;gap:8px;padding:22px;display:grid}.gameStatusOverlay strong{color:var(--gold);letter-spacing:0;font-size:clamp(30px,5vw,56px)}.gameStatusOverlay span{color:#ffe7a8}.gameStatusOverlay.ended{background:linear-gradient(135deg,#431822e6,#0d1823e6);border-color:#ff6f8680}.gameStatusOverlay.ended strong{color:var(--red)}.portfolioPanel{border-color:#62e6a047}.tradePanel{border-color:#65e4ff47}.newsPanel{border-color:#f6d06f47}.breakingNews{background:linear-gradient(135deg,#431822d1,#17160cb8);border:1px solid #f6d06f4d;border-radius:8px;gap:8px;margin-bottom:12px;padding:14px;display:grid}.breakingLabel{background:var(--red);color:#fff;border-radius:4px;width:max-content;padding:5px 8px;font-size:12px;font-weight:900}.breakingNews b{font-size:18px}.breakingNews p{color:#f4d7dc;margin:0;line-height:1.45}.breakingNews time{color:var(--muted);font-size:13px}.tickerStack{gap:8px;display:grid}.breakingTicker{background:linear-gradient(90deg,#781020f5,#431822eb);border:1px solid #ff6f8680;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden;box-shadow:0 14px 40px #78102033}.breakingTicker.privateTicker{background:linear-gradient(90deg,#104078f5,#0c2344eb);border-color:#65e4ff8c;box-shadow:0 14px 40px #10407833}.breakingTicker>span{background:var(--red);color:#fff;place-items:center;height:100%;padding:12px 14px;font-weight:900;display:grid}.breakingTicker.privateTicker>span{background:#2f8cff}.breakingTicker>div{white-space:nowrap;overflow:hidden}.breakingTicker p{color:#fff3f5;width:max-content;margin:0;padding:0 24px;font-weight:800;animation:24s linear infinite tickerSlide}.tickerDismiss{color:#fff;width:42px;height:42px;min-height:0;box-shadow:none;background:#ffffff1f;border-color:#ffffff47;margin-right:6px;padding:0;font-size:24px;line-height:1}@keyframes tickerSlide{0%{transform:translate(100%)}to{transform:translate(-100%)}}.ownRank,.rankingRow.active{background:#2a230ca6;border-color:#f6d06f80}.roundList,.eventTemplateGrid,.detailGrid{gap:12px;display:grid}.roundRow{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.roundRow span{color:var(--muted);margin-top:4px;display:block}.eventTemplateGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.eventTemplate{border:1px solid var(--line);background:#050c14a8;border-radius:8px;padding:14px}.eventTemplate p{color:#c7dce5;margin:8px 0 0;line-height:1.45}.customScenario{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.customScenario h3,.playerDetail h3{margin:0 0 12px;font-size:17px}.checkLabel{grid-template-columns:none;align-items:center;gap:10px;display:flex}.checkLabel input{width:auto}.rankingTable{gap:8px;display:grid;overflow:visible}.rankingHeader,.rankingRow{grid-template-columns:44px minmax(110px,1.4fr) repeat(5,minmax(76px,1fr));align-items:center;gap:8px;display:grid}.rankingHeader{color:var(--muted);padding:0 10px 8px;font-size:13px}.rankingRow{text-align:left;width:100%;min-height:48px;margin-bottom:8px}.detailGrid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.detailGrid section{border:1px solid var(--line);background:#050c148a;border-radius:8px;min-width:0;padding:12px}@media (max-width:1120px){.dashboard,.studentDash,.marketgrid,.metrics,.studentStatus,.missionMetrics,.eventTemplateGrid,.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.two,.dashboard,.studentDash,.marketgrid,.hero{grid-template-columns:1fr}.ticker{grid-template-columns:repeat(4,1fr)}.landingHero{min-height:auto}}@media (max-width:620px){.row,.coin,.metrics,.studentStatus,.missionMetrics,.roundRow,.eventTemplateGrid,.detailGrid{grid-template-columns:1fr}.resumeStrip,.missingRoundBox{flex-direction:column;align-items:stretch}.breakingTicker{grid-template-columns:1fr auto}.breakingTicker>span{grid-column:1/-1}.breakingTicker p{animation-duration:18s}.rankingHeader{display:none}.rankingRow{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column;align-items:flex-start}.grid,.dashboard,.hero{padding-left:14px;padding-right:14px}.sectionHead{flex-direction:column;align-items:flex-start}.cta{width:100%}}
