:root{color-scheme:dark;--gold:#ffd23d;--org:#ff6a1f;--red:#ff2d48;--cyan:#5deaff;--ink:#f2f5fa;--muted:#a3adbf;--panel:#0d1424e0;--line:#ffffff22;font-family:Arial,Helvetica,sans-serif;color:var(--ink)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#070a14;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}
#shell{position:fixed;inset:0;display:grid;place-items:center;background:#070a14}
#stage{--sky0:#4cb6ff;--sky1:#9ad8ff;position:absolute;width:1280px;height:720px;overflow:hidden;transform-origin:center;isolation:isolate;background:linear-gradient(180deg,var(--sky1),var(--sky0) 70%)}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block}
#screen{position:absolute;inset:0;z-index:8}#screen:empty{pointer-events:none}
.coin{display:inline-block;width:.85em;height:.85em;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6c0,#ffd23d 45%,#d68a00);box-shadow:inset 0 -2px 0 #a86200;vertical-align:-.08em;margin-right:6px}
/* buttons */
.btn{position:relative;border:0;min-height:62px;min-width:150px;padding:12px 26px;font-size:21px;font-weight:900;font-style:italic;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;border-radius:14px;transition:filter .12s,transform .12s;background:linear-gradient(180deg,#2b3550,#18203a);color:#fff;box-shadow:inset 0 -5px 0 #0007,0 4px 0 #0005}
.btn.primary{background:linear-gradient(180deg,#ff8a3a,#ff4a17);box-shadow:inset 0 -6px 0 #b8300a,inset 0 2px 0 #ffc49a,0 5px 0 #0006}
.btn.dark{background:linear-gradient(180deg,#26304a,#141b2e);box-shadow:inset 0 -5px 0 #000a,inset 0 1px 0 #ffffff22,0 4px 0 #0005}
.btn.danger{background:linear-gradient(180deg,#6a1824,#33090f)}
.btn.gold{background:linear-gradient(180deg,#ffe58a,#f5a91a);color:#2a1700;box-shadow:inset 0 -6px 0 #b06a0a,0 4px 0 #0005}
.btn.big{min-height:76px;font-size:28px;min-width:300px}
.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){transform:translateY(3px) scale(.98)}
.btn small{display:block;font-size:15px;font-style:normal;font-weight:bold;opacity:.85;text-transform:none;margin-top:4px}
.adTag{display:inline-block;font-style:normal;font-size:.6em;background:#2a1700;color:#ffd23d;border-radius:5px;padding:2px 7px;margin-right:9px;vertical-align:middle}
.dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);margin-left:8px;vertical-align:middle;animation:pulse .9s infinite alternate}
@keyframes pulse{to{transform:scale(1.25)}}
.eyebrow{display:block;font-size:16px;font-weight:900;letter-spacing:4px;color:var(--gold)}
.small{font-size:16px;color:var(--muted)}
.stars i{font-style:normal;color:#ffffff33;font-size:20px;margin-right:2px}.stars i.on{color:var(--gold);text-shadow:0 0 8px #ffb000aa}.stars.big i{font-size:46px;margin:0 4px}
/* cover (transparent: the live arena drives behind it) */
.menu{position:absolute;inset:0;display:flex;flex-direction:column}
.cover .coverShade{position:absolute;inset:0;background:linear-gradient(90deg,#07102af0 0%,#07102ab8 34%,#07102a00 62%),linear-gradient(0deg,#07102acc,#0000 30%)}
.coverInner{position:absolute;left:52px;top:22px;bottom:30px;width:600px;display:flex;flex-direction:column;align-items:flex-start}
.brandLogo{width:260px}.titleLogo{width:470px;margin:6px 0 2px;filter:drop-shadow(0 10px 24px #000a)}
.tagline{margin:4px 0 0;font-size:19px;font-weight:bold;color:#dfe8f7;text-shadow:0 2px 6px #000}
.coverNav{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin-top:auto;width:470px}.coverNav .row{display:flex;gap:10px}.coverNav .row .btn{flex:1;min-width:0}
.coverStats{position:absolute;right:28px;bottom:26px;display:flex;gap:10px}.coverStats span{padding:8px 14px;border-radius:20px;background:#0b1224cc;font-weight:900;font-size:17px;color:var(--gold)}
.copy{position:absolute;right:28px;top:20px;font-weight:900;letter-spacing:3px;color:#ffffffaa;text-shadow:0 2px 4px #000}
.portrait .cover .coverShade{background:linear-gradient(0deg,#07102af4 0%,#07102ac0 45%,#07102a00 70%),linear-gradient(180deg,#07102ae6,#0000 34%)}
.portrait .coverInner{left:28px;right:28px;width:auto;top:36px;bottom:110px;align-items:center;text-align:center}
.portrait .brandLogo{width:300px}.portrait .titleLogo{width:100%;max-width:600px}.portrait .tagline{font-size:22px}
.portrait .coverNav{width:100%}.portrait .coverNav .btn{font-size:24px;min-height:74px}
.portrait .coverStats{left:28px;right:28px;bottom:36px;justify-content:center}.portrait .copy{top:auto;bottom:8px;right:0;left:0;text-align:center;font-size:13px}
/* shared frame */
.topbar{flex:none;height:90px;padding:0 22px;display:flex;align-items:center;gap:16px;background:linear-gradient(90deg,#ff4a17,#b8300a 30%,#0b1224f0 65%);border-bottom:4px solid var(--gold)}
.topbar h1{flex:1;margin:0;font-size:38px;font-style:italic;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 3px 0 #0006}
.back{width:62px;height:62px;border-radius:50%;border:3px solid #fff9;background:#0008;font-size:44px;line-height:50px;padding:0}
.bal{font-size:19px;color:var(--muted);white-space:nowrap;padding:6px 14px;border-radius:20px;background:#0007}.bal b{font-size:26px;color:var(--gold)}.bal.sp b{color:var(--cyan)}
.body{flex:1;overflow:auto;padding:16px 22px;touch-action:pan-y}
.tabs{display:flex;gap:6px}.tabs button{flex:1;height:54px;border:0;border-radius:12px;background:#1b2338;font-size:20px;font-weight:900;font-style:italic}.tabs button.on{background:linear-gradient(180deg,#ffe58a,#f5a91a);color:#2a1700}
/* level select */
.levels,.skills,.result{background:#08101fd9}
.lvBody{display:grid;grid-template-columns:1fr 380px;grid-template-rows:auto auto 1fr;gap:10px 18px}
.worldTabs{grid-column:1;display:flex;gap:8px}.worldTabs button{flex:1;border:0;border-radius:12px;padding:8px 6px;background:#1b2338;font-size:19px;font-weight:900;font-style:italic;line-height:1.2}.worldTabs small{display:block;font-size:15px;font-style:normal;color:var(--gold)}
.worldTabs button.on{background:linear-gradient(180deg,#ff8a3a,#ff4a17);box-shadow:0 0 16px #ff6a1f88}.worldTabs button.lk{opacity:.5}
.wsub{grid-column:1;margin:0;color:var(--muted);font-size:17px}
.tiles{grid-column:1;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:84px;gap:9px;align-content:start}
.tile{border:2px solid #ffffff22;border-radius:12px;background:#151d31;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.tile{position:relative}.tile b{font-size:30px;font-style:italic}.tile .mi{position:absolute;left:7px;top:5px;font-style:normal;font-size:17px}.tile.sel{border:3px solid var(--gold);box-shadow:0 0 18px #ffd23d66;background:#2a2410}.tile.locked{opacity:.4}.tile.done b{color:var(--gold)}
.brief{grid-column:2;grid-row:1/4;background:var(--panel);border:1px solid var(--line);border-top:5px solid var(--org);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;min-height:0}
.brief h2{margin:0;font-size:40px;font-style:italic}
.mission{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:#ffffff0d;border-left:5px solid var(--mc)}.mission i{font-style:normal;font-size:38px;color:var(--mc)}.mission small{display:block;font-size:13px;letter-spacing:3px;color:var(--muted);font-weight:900}.mission b{display:block;font-size:24px;font-style:italic;color:var(--mc)}.mission span{display:block;font-size:17px;color:#e8eef8}
.obj{list-style:none;margin:4px 0;padding:0;font-size:19px;line-height:1.6}.obj li:before{content:'▸ ';color:var(--org)}.obj b{color:var(--gold)}.obj .stx{color:var(--muted);font-size:16px}
.carLine{font-size:17px;color:var(--muted)}.carLine b{color:#fff}.carLine em{color:var(--cyan);font-style:normal;font-weight:900}
.briefBtns{margin-top:auto;display:flex;flex-direction:column;gap:8px}.briefBtns .btn{width:100%;min-width:0;white-space:normal}
.portrait .lvBody{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}
.portrait .worldTabs button{font-size:17px}.portrait .tiles{grid-template-columns:repeat(5,1fr);grid-auto-rows:96px}.portrait .brief{grid-column:1;grid-row:auto}.portrait .obj{font-size:22px}
/* garage: the 3D turntable shows through the left (landscape) / top (portrait) */
.garage{background:linear-gradient(90deg,#0a1226e6,#0a122600 30%,#0a122600 52%,#0a1226f2 60%)}
.gWrap{flex:1;display:grid;grid-template-columns:1fr 600px;min-height:0}
.showSpot{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:16px 22px;pointer-events:none}
.carName h2{margin:2px 0;font-size:44px;font-style:italic;text-shadow:0 3px 8px #000}.carName p{margin:0;font-size:19px;color:#dfe8f7;text-shadow:0 2px 4px #000}
.statBars{display:grid;gap:8px;width:360px;background:#0b1224cc;border-radius:12px;padding:12px 16px}
.st{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;font-size:17px;font-weight:bold}.st i{height:10px;background:#ffffff1c;border-radius:5px;overflow:hidden}.st b{display:block;height:100%;background:linear-gradient(90deg,var(--org),var(--gold))}
.gPanel{display:flex;flex-direction:column;gap:10px;padding:14px 18px;min-height:0;overflow:auto}
.carList{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.carCard{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:2px solid #ffffff22;border-radius:12px;background:#151d31;text-align:left}
.carCard b{font-size:19px;font-style:italic}.carCard small{font-size:16px;color:var(--gold);font-weight:bold}.carCard.own small{color:#7dffa4}.carCard.sel{border-color:var(--gold);box-shadow:0 0 14px #ffd23d55;background:#2a2410}
.carAct{display:flex;gap:8px}.carAct .btn{flex:1;min-width:0;white-space:normal}
.upList{display:grid;gap:8px}.upg{display:flex;align-items:center;gap:12px;background:#151d31;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.uInfo{flex:1;min-width:0}.upg h3{margin:0;font-size:22px;font-style:italic}.upg p{margin:2px 0 6px;font-size:16px;color:var(--muted)}
.pips{display:flex;gap:5px}.pips i{width:34px;height:10px;border-radius:3px;background:#ffffff22}.pips i.on{background:var(--gold);box-shadow:0 0 6px #ffd23d88}.upg .btn{min-width:150px;font-size:20px}
.gFoot{margin-top:auto;display:flex}.gFoot .btn{flex:1}
.portrait .garage{background:linear-gradient(180deg,#0a1226d0,#0a122600 14%,#0a122600 40%,#0a1226f4 48%)}
.portrait .gWrap{grid-template-columns:1fr;grid-template-rows:520px 1fr}.portrait .showSpot{padding:12px 22px}.portrait .statBars{width:100%}
/* skills */
.intro{margin:0 0 12px;font-size:20px;color:var(--muted)}.intro b{color:var(--cyan)}
.skillTree{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.branch{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--org);border-radius:12px;padding:10px}
.branch h3{margin:0 0 8px;text-align:center;font-size:22px;font-style:italic;letter-spacing:2px;color:var(--gold)}
.skill{position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px;border:2px solid #ffffff22;border-radius:12px;background:#151d31;opacity:1!important}
.skill b{font-size:20px;font-style:italic}.skill span{font-size:16px;color:var(--muted)}.skill em{font-style:normal;font-weight:900;font-size:18px;color:var(--cyan)}
.skill.own{border-color:var(--gold);background:#2a2410}.skill.own em{color:var(--gold)}.skill.lock{filter:brightness(.55)}.skill .dot{position:absolute;right:8px;top:8px;margin:0}
.link{display:block;width:4px;height:12px;margin:0 auto;background:#ffffff33}
.foot{display:flex;gap:10px;margin-top:14px}.foot .btn{flex:1}
.portrait .skillTree{grid-template-columns:1fr}.portrait .skill b{font-size:22px}.portrait .skill span{font-size:18px}
/* overlays */
.overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#040814d0}
.dialog{position:relative;width:720px;max-width:100%;max-height:100%;overflow:auto;text-align:center;padding:28px;border-radius:18px;background:linear-gradient(180deg,#16203a,#0b1224);border:2px solid #ffffff2a;border-top:6px solid var(--org);box-shadow:0 20px 60px #000c}
.dialog h1{margin:8px 0 14px;font-size:46px;font-style:italic;font-weight:900}
.dialog p{font-size:21px;line-height:1.5;color:#d8e0ec}.dialog p b{color:var(--gold)}
.actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.actions .btn{flex:1;min-width:0}.actions.col{flex-direction:column}
.x{position:absolute;right:10px;top:10px;width:50px;height:50px;border:0;border-radius:50%;background:#ffffff14;font-size:22px}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:6px}.day{padding:12px 4px;border:2px solid #ffffff22;border-radius:12px;background:#151d31;display:flex;flex-direction:column;gap:3px}
.day small{font-size:15px;color:var(--muted)}.day b{font-size:22px;color:var(--gold)}.day span{font-size:13px;color:var(--muted)}.day.got{opacity:.45}.day.today{border-color:var(--gold);box-shadow:0 0 18px #ffd23d66;transform:scale(1.06)}
.portrait .days{grid-template-columns:repeat(4,1fr)}
.setRows{display:grid;grid-template-columns:auto 1fr;gap:12px 16px;align-items:center;text-align:left;font-size:21px;font-weight:900}
.seg{display:flex;gap:6px}.seg button{flex:1;min-height:56px;border:0;border-radius:12px;background:#1b2338;font-size:18px;font-weight:900}.seg button.on{background:linear-gradient(180deg,#ff8a3a,#ff4a17)}
.ctrl .btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:170px;font-size:21px;white-space:normal}.ci{font-size:42px;font-style:normal}
.revive .bar{position:relative;height:10px;border-radius:5px;background:#ffffff18;overflow:hidden;margin:10px 0}.revive .bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--org),var(--gold))}
.crashImg{width:340px;max-width:80%;filter:drop-shadow(0 8px 14px #000a)}
.ending .dialog{border-top-color:var(--gold);background:radial-gradient(circle at 50% 0,#5a3a10,#0b1224 65%)}.endLogo{width:320px}
/* result */
.rHead{flex:none;padding:14px 22px 4px;text-align:center}.rHead small{font-size:18px;color:var(--muted);letter-spacing:2px;font-weight:bold}.rHead h1{margin:0;font-size:64px;font-style:italic;font-weight:900}.rHead h1.good{color:var(--gold);text-shadow:0 4px 0 #a85a00,0 0 30px #ffb00066}
.rHead .crashImg{width:380px}
.rBody{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start;max-width:1100px;width:100%;margin:0 auto}
.rMain{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 18px;text-align:center}
.goal{font-size:20px;padding:9px 0;border-bottom:1px solid #ffffff12;color:var(--muted);text-align:left}.goal b{font-size:24px;margin-right:10px}.goal.done{color:#fff}.goal.done b{color:var(--gold)}
.rStats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rStats>div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.rStats small{display:block;font-size:15px;color:var(--muted);font-weight:bold;letter-spacing:1px}.rStats b{font-size:30px;font-style:italic}
.rStats .earn{grid-column:1/-1}.earn b{color:var(--gold);font-size:40px}.earn em{display:block;font-style:normal;font-size:16px;color:var(--muted)}.earn em.spg{color:var(--cyan);font-weight:900;font-size:19px}
.rBtns{flex:none;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:10px 22px 6px}.rBtns .btn{flex:1;min-width:170px;max-width:340px}
.spaceHint{margin:0 0 10px;text-align:center;font-size:15px;color:#ffffff88;font-weight:bold;letter-spacing:2px}
.portrait .rBody{grid-template-columns:1fr}.portrait .rBtns .btn{flex:1 1 45%;max-width:none;min-height:76px;font-size:24px}
/* HUD: borderless floating text */
#hud{position:absolute;inset:0;z-index:5;pointer-events:none;text-shadow:0 2px 4px #000c,0 0 12px #0008}#hud button{pointer-events:auto}
.hTop{position:absolute;left:20px;right:20px;top:12px;display:flex;align-items:flex-start;gap:28px}
.hs{font-size:34px;font-weight:900;font-style:italic;line-height:1}.hs small{display:block;font-size:15px;font-style:normal;letter-spacing:2px;color:var(--gold);margin-bottom:4px}
.snow{font-size:46px}.snow em{font-style:normal;font-size:.55em;color:#ff7a8a;margin-left:12px}.snow .you{color:#7dffa4}.snow .riv{color:#ff7a8a}.snow .vs{margin:0 10px;color:#fff8}.snow .you,.snow .riv{font-size:.8em}.snow i{font-style:normal;font-size:.7em;margin-right:6px;color:#cfe9ff}.snow span{font-size:.55em;color:#e0e6f0}
.hMid{position:absolute;left:50%;transform:translateX(-50%);top:0;text-align:center}.hMid b{display:block;font-size:40px;font-style:italic;color:var(--gold)}.hMid span{font-size:20px;font-weight:bold;color:#fff}.hMid span.warn{color:#ff4b4b;font-size:30px;animation:pulse .3s infinite alternate;display:inline-block}
.hBtns{margin-left:auto;display:flex;gap:10px}.sq{width:58px;height:58px;border-radius:50%;border:2px solid #ffffff77;background:#0006;font-size:22px;font-weight:900}
#pw{position:absolute;left:20px;top:110px;display:flex;flex-direction:column;gap:6px;font-size:22px;font-weight:900}
#hint{position:absolute;left:50%;transform:translateX(-50%);top:96px;max-width:90%;text-align:center;font-size:18px;font-weight:bold;letter-spacing:1px;color:#fff;background:#0004;border-radius:20px;padding:6px 16px;transition:opacity .6s;opacity:0;white-space:nowrap}
#combo{position:absolute;right:24px;top:100px;text-align:right}#combo b{display:block;font-size:64px;font-style:italic;font-weight:900;color:var(--gold);animation:pulse .3s infinite alternate}#combo i{display:block;margin-left:auto;height:6px;width:0;background:var(--gold);border-radius:3px;max-width:140px}
#notice{position:absolute;left:0;right:0;top:170px;text-align:center;font-size:32px;font-weight:900;font-style:italic;padding:0 20px}
#notice .good{color:#fff}#notice .hot{color:var(--gold);font-size:42px}#notice .info{color:var(--cyan)}#notice .drift{color:#ffb36a}
#count{position:absolute;left:0;right:0;top:36%;display:flex;justify-content:center}
#count .cdWrap{display:flex;flex-direction:column;align-items:center;gap:14px}.mBan{display:flex;flex-direction:column;align-items:center;padding:10px 22px;border-radius:14px;background:#050a18b0;border-bottom:4px solid var(--mc)}.mBan b{font-size:30px;font-style:italic;color:var(--mc)}.mBan span{font-size:20px;font-weight:bold;color:#fff}
#count .cd{font-size:96px;font-weight:900;font-style:italic;color:#fff;letter-spacing:4px}#count .go{font-size:120px;font-weight:900;font-style:italic;color:#7dff6a;text-shadow:0 0 30px #7dff6a99,0 5px 0 #0008}#count .crashBan{width:520px;max-width:84%;animation:ban .35s ease-out}@keyframes ban{from{transform:scale(2.2) rotate(-8deg);opacity:0}}
#count .go.win{font-size:84px;color:var(--gold);text-shadow:0 5px 0 #a85a00,0 0 30px #ffb00088}
#pops{position:absolute;inset:0}.pop{position:absolute;transform:translate(-50%,-50%);font-size:30px;font-weight:900;font-style:italic;color:#fff;opacity:0;animation:popup .9s ease-out forwards;white-space:nowrap}
.pop.hot{color:var(--gold);font-size:36px}.pop.gold{color:#ffe14a;font-size:42px}.pop.bad{color:#ff5a5a}
@keyframes popup{0%{opacity:1;margin-top:0;scale:.6}20%{scale:1.15}100%{opacity:0;margin-top:-70px;scale:1}}
.bars{position:absolute;left:20px;right:20px;bottom:10px;display:flex;gap:18px}.bar{flex:1;position:relative;height:20px}
.bar i{position:absolute;left:0;bottom:0;height:7px;width:0;border-radius:4px;transition:width .1s}.bar::before{content:'';position:absolute;left:0;right:0;bottom:0;height:7px;background:#ffffff26;border-radius:4px}
.bar span{position:absolute;left:0;top:-6px;font-size:13px;font-weight:900;letter-spacing:2px;color:#ffffffcc}
.bar.hp i{background:#5dff8a}.bar.hp.low i{background:#ff3d3d;animation:pulse .3s infinite alternate}.bar.nitro i{background:#4aa8c0}.bar.nitro.ready i{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.bar.nitro.burn i{background:#fff}
.zone{display:none;position:absolute;bottom:44px;width:120px;height:120px;border-radius:50%;border:3px solid #ffffff55;background:#0b122444;font-size:44px;line-height:114px;text-align:center;color:#ffffffaa;text-shadow:none}.zone.l{left:24px}.zone.r{right:24px}.zone.on{background:#ffffff40;border-color:#fff;color:#fff}
#nbtn{display:none;position:absolute;left:50%;bottom:44px;transform:translateX(-50%);width:150px;height:96px;border-radius:48px;border:3px solid var(--cyan);background:#0b1224aa;color:var(--cyan);font-size:24px;font-weight:900;font-style:italic;text-shadow:none;opacity:.55}#nbtn.ready{opacity:1;box-shadow:0 0 18px #5deaff88}
.coarse .zone,.mouseOnly .zone,.coarse #nbtn,.mouseOnly #nbtn{display:block}
.portrait .hTop{gap:18px}.portrait .hMid{top:70px}.portrait #pw{top:180px}.portrait #combo{top:180px}.portrait #notice{top:250px}.portrait #hint{top:150px;white-space:normal;width:80%;font-size:20px}
.portrait .zone{width:150px;height:150px;line-height:144px;bottom:56px}.portrait #nbtn{bottom:70px;width:170px;height:110px}
/* misc */
#toast{position:absolute;z-index:50;left:50%;bottom:34px;transform:translateX(-50%);max-width:90%;padding:14px 24px;border-radius:12px;background:#0b1224f2;border:2px solid var(--gold);color:var(--gold);font-size:22px;font-weight:900;display:none;pointer-events:none;text-align:center}
.portrait #toast{top:45%;bottom:auto;font-size:26px}
#loading{position:absolute;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:radial-gradient(circle at 50% 40%,#1d3a7a,#070d22 70%)}
#loading .lb1{width:min(320px,60%)}#loading .lb2{width:min(560px,86%)}.lb{width:min(460px,80%);height:10px;background:#ffffff1f;border-radius:5px;overflow:hidden}#loadFill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--org),var(--gold));transition:width .2s}
[hidden]{display:none!important}
.devAd{position:fixed;inset:0;z-index:9999;background:#050c15f2;display:grid;place-items:center;font-family:Arial;color:#fff}.devAd>div{display:flex;flex-direction:column;gap:14px;align-items:center}.devAd small{letter-spacing:3px;color:#ffd45c}.devAd strong{font-size:60px}.devAd button{background:none;border:1px solid #fff6;color:#fff;padding:8px 14px;border-radius:6px}
/* ===== GT Rush additions ===== */
.events,.skills,.result{background:#08101fd9}
.evBody{display:grid;grid-template-columns:1fr 380px;gap:16px}
.evGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-content:start}
.tcol{display:flex;flex-direction:column;gap:7px}.thead{padding:8px 10px;border-radius:12px;background:#ffffff10;border-left:4px solid var(--org)}.thead b{display:block;font-size:20px;font-style:italic}.thead small{font-size:14px;color:var(--muted)}
.evt{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid #ffffff1c;border-radius:12px;background:#151d31;text-align:left;min-height:58px}
.evt i{font-style:normal;font-size:24px;width:30px;text-align:center;color:var(--mc)}.evt b{flex:1;font-size:17px;font-style:italic}.evt .stars i{font-size:15px;width:auto}
.evt.sel{border-color:var(--gold);background:#2a2410;box-shadow:0 0 14px #ffd23d55}.evt.locked{opacity:.42}.evt.done b{color:var(--gold)}
.evt.champ{grid-column:1/-1;justify-content:center;min-height:64px;background:linear-gradient(90deg,#3a2a08,#151d31 40%,#151d31 60%,#3a2a08)}.evt.champ b{flex:none;font-size:22px}
.brief{grid-column:2;border-top:5px solid var(--mc)!important}.brief h2 i{font-style:normal;color:var(--mc)}.desc{font-size:19px;line-height:1.45;color:#e3e9f3;margin:4px 0}.meta{margin:0;color:var(--muted);font-size:17px}.meta b{color:var(--gold)}
.portrait .evBody{grid-template-columns:1fr}.portrait .evGrid{grid-template-columns:1fr 1fr 1fr}.portrait .evt{flex-direction:column;align-items:flex-start;gap:2px;min-height:86px}.portrait .evt b{font-size:15px}.portrait .brief{grid-column:1}
.champT{margin-top:10px;text-align:left}.champT h3{margin:6px 0;font-size:17px;letter-spacing:2px;color:var(--gold)}.champT div{display:flex;gap:10px;padding:4px 6px;font-size:17px;border-bottom:1px solid #ffffff12}.champT div b{width:22px;color:var(--muted)}.champT div span{margin-left:auto;font-weight:900}.champT .me{background:#ff6a1f44;font-weight:900}
/* HUD */
#pos b,#lap b{font-style:normal}.hs span{font-size:.55em;color:#e0e6f0}.hs .warn{color:#ff4b4b;font-size:1em;animation:pulse .3s infinite alternate;display:inline-block}
.hMid{text-align:center}.hMid b{display:block;font-size:34px;font-style:italic;color:#fff;font-variant-numeric:tabular-nums}.hMid b.drift{color:#ffb36a;font-size:44px}.hMid small{display:block;font-size:16px;font-weight:900;letter-spacing:1px;color:var(--cyan)}
#map{position:absolute;right:16px;top:84px;width:170px;height:170px;opacity:.92}
#gap{position:absolute;left:20px;top:112px;font-size:22px;font-weight:900;font-style:italic}#gap .good{color:#7dff6a}#gap .bad{color:#ff6a6a}
#notice{top:150px}#notice .drift{color:#ffb36a}#notice .bad{color:#ff5a5a}#notice .good{color:var(--gold)}#notice .info{color:#fff}
#count{top:24%}#count .lights{display:flex;gap:14px;padding:14px 22px;background:#000b;border-radius:16px}#count .lights i{width:48px;height:48px;border-radius:50%;background:#330006;border:4px solid #111}#count .lights i.red{background:#ff1a2e;box-shadow:0 0 22px #ff1a2e}
.evTitle{display:flex;flex-direction:column;align-items:center;padding:12px 24px;border-radius:16px;background:#050a18c0;border-bottom:4px solid var(--mc);max-width:80%}.evTitle b{font-size:34px;font-style:italic;color:var(--mc)}.evTitle span{font-size:19px;font-weight:bold;text-align:center}
.hBot{position:absolute;left:20px;right:20px;bottom:30px;display:flex;justify-content:flex-end;pointer-events:none}
.spd{text-align:right}.spd b{font-size:64px;font-style:italic;font-weight:900;font-variant-numeric:tabular-nums}.spd small{display:block;font-size:16px;font-weight:900;color:var(--gold);letter-spacing:2px;margin-top:-6px}
.bar.draft i{background:#9ddbe7}.bar.draft.full i{background:var(--gold)}
#msteer{display:none;position:absolute;left:50%;transform:translateX(-50%);bottom:96px;width:420px;height:8px;border-radius:4px;background:#0007;border:1px solid #fff4}#msteer i{position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:var(--gold);border:3px solid #fff}
.mouseOnly #msteer{display:block}
#touch{display:none;position:absolute;left:14px;right:14px;bottom:40px;gap:12px;align-items:flex-end}#touch span{flex:1}
#touch button{width:120px;height:120px;border-radius:50%;border:3px solid #ffffff88;background:#0b1224aa;font-size:34px;font-weight:900;touch-action:none;text-shadow:none;pointer-events:auto}
#touch #tb{font-size:21px;border-color:#ff6a6a}#touch #tn{font-size:22px;border-color:var(--cyan);color:var(--cyan);opacity:.6}#touch #tn.ready{opacity:1;box-shadow:0 0 16px #5deaff88}#touch button.on{transform:scale(.92);background:#ffffff33}
.coarse #touch{display:flex}.coarse .hBot{bottom:178px}.mouseOnly #touch{display:flex;left:auto;right:18px;bottom:110px}.mouseOnly #touch button:not(#tn),.mouseOnly #touch span{display:none}.mouseOnly #touch button{width:92px;height:92px}
.portrait #map{top:150px;width:150px;height:150px}.portrait #gap{top:170px}.portrait #notice{top:330px}.portrait #count{top:30%}.portrait #touch button{width:140px;height:140px}.portrait.coarse .hBot{bottom:200px}
.portrait .hMid{top:76px}

/* GT-style standings tower + lens vignette */
#vig{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 75% 70% at 50% 52%,transparent 62%,rgba(0,0,0,.26) 100%)}
#tower{position:absolute;left:20px;top:112px;width:208px;font-size:14px;font-weight:800;pointer-events:none}
#tower div{display:flex;align-items:center;height:23px;margin-bottom:2px;background:rgba(8,12,22,.62);padding:0 8px 0 0;white-space:nowrap}
#tower b{width:26px;text-align:center;background:rgba(255,255,255,.12);height:100%;line-height:23px;margin-right:8px;font-style:normal}
#tower span{flex:1;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px}#tower i{font-style:normal;font-size:12px;color:#ffb4a8}#tower i.g{color:#9dffb0}
#tower .me{background:rgba(255,190,40,.92);color:#111}#tower .me b{background:rgba(0,0,0,.18)}#tower .out{opacity:.45}#tower .boss span{color:#d9a8ff}
.portrait #tower{top:170px;width:172px;font-size:13px}.portrait #tower div:not(.nb){display:none}
/* GameMonetize build: More Games button and screen-safe compact menu layout. */
.coverNav .btn.moregames{min-height:45px;font-size:17px;padding:6px 14px;background:linear-gradient(180deg,#1686ad,#13577c);box-shadow:inset 0 -4px 0 #0c354e,0 3px 0 #0005}
.portrait .coverNav .btn.moregames{min-height:48px;font-size:19px;padding:7px 14px}
.adTag{font-size:.56em;letter-spacing:.2px}
html,body{overscroll-behavior:none}
