@font-face{font-family:Saira;font-weight:400;src:url(/fonts/saira-latin-400-normal.woff2) format("woff2");font-display:swap}@font-face{font-family:Saira;font-weight:500;src:url(/fonts/saira-latin-500-normal.woff2) format("woff2");font-display:swap}@font-face{font-family:Saira;font-weight:600;src:url(/fonts/saira-latin-600-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:SairaC;font-weight:500;src:url(/fonts/saira-condensed-latin-500-normal.woff2) format("woff2");font-display:swap}@font-face{font-family:SairaC;font-weight:600;src:url(/fonts/saira-condensed-latin-600-normal.woff2) format("woff2");font-display:swap}@font-face{font-family:SairaC;font-weight:700;src:url(/fonts/saira-condensed-latin-700-normal.woff2) format("woff2");font-display:swap}
:root{--ink:#f4efe3;--dim:#a9a598;--faint:rgba(244,239,227,.14);--bg:rgba(14,16,18,.78);--bg2:rgba(14,16,18,.92);--hot:#ff7a2e;--ok:#7fd18c;--bad:#ff5f56;--blue:#6fb6ff;--gold:#e9c46a;--ease:cubic-bezier(.2,.8,.2,1);--safeL:env(safe-area-inset-left,0px);--safeR:env(safe-area-inset-right,0px);--safeT:env(safe-area-inset-top,0px);--safeB:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#0e1012;color:var(--ink);font:400 15px/1.4 Saira,system-ui,sans-serif;user-select:none;-webkit-user-select:none;touch-action:none;overscroll-behavior:none}
h1,h2,h3,.brand,button,#pos,#gear,#spd,#timer,#banner,#card,.cond{font-family:SairaC,Saira,system-ui,sans-serif}
#view{position:fixed;inset:0;width:100%;height:100%;display:block}.hide{display:none!important}
button{font-weight:600;font-size:15px;letter-spacing:.03em;color:var(--ink);background:rgba(255,255,255,.07);border:1px solid var(--faint);border-radius:3px;padding:8px 14px;cursor:pointer;transition:background .15s,transform .12s var(--ease),border-color .15s}button:hover{background:rgba(255,255,255,.16)}button:active{transform:scale(.97)}button.on,button.primary{background:var(--hot);color:#1a0f06;border-color:var(--hot)}button.primary:hover{background:#ff9150}button:disabled{opacity:.4;cursor:default}kbd{opacity:.6;font:inherit;font-size:12px}
input,select{font:inherit;color:var(--ink);background:rgba(0,0,0,.4);border:1px solid var(--faint);border-radius:3px;padding:8px;user-select:text;-webkit-user-select:text;touch-action:auto}select option{background:#17191c}
.brand{font-weight:700;font-size:34px;letter-spacing:.14em;line-height:1}.brand span{color:var(--hot)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes slide{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(255,122,46,.28)}}@keyframes stripe{to{background-position:60px 0}}
/* boot */
#boot{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse at 50% 120%,#2a1a10,#0e1012 62%);z-index:50;transition:opacity .7s}#boot.out{opacity:0;pointer-events:none}#boot .brand{font-size:min(10vw,64px)}#bootT{color:var(--dim);letter-spacing:.08em}#bootBar{width:min(420px,70vw);height:3px;background:var(--faint);overflow:hidden}#bootBar i{display:block;height:100%;width:40%;background:var(--hot);animation:bb 1.2s var(--ease) infinite alternate}@keyframes bb{from{margin-left:0}to{margin-left:60%}}#bootTip{max-width:min(520px,84vw);text-align:center;color:var(--dim);font-size:14px;min-height:42px;padding:0 12px}
/* menu */
#menu{position:fixed;inset:0;display:flex;z-index:30;background:linear-gradient(90deg,rgba(10,11,13,.86),rgba(10,11,13,.35) 34%,transparent 58%)}#menu.dimmed{background:rgba(10,11,13,.66);backdrop-filter:blur(5px)}
#rail{width:min(320px,36vw);flex:none;padding:calc(26px + var(--safeT)) 22px calc(18px + var(--safeB)) calc(30px + var(--safeL));display:flex;flex-direction:column;gap:12px;overflow:auto}#who{color:var(--dim);font-size:14px}#who input{width:100%;margin-top:6px}
#nav{display:flex;flex-direction:column;gap:3px;margin-top:6px}#nav button{background:none;border:0;border-left:3px solid transparent;text-align:left;font-size:25px;font-weight:600;padding:5px 12px;letter-spacing:.02em;color:var(--ink);animation:slide .45s var(--ease) both}#nav button:hover,#nav button.on{background:linear-gradient(90deg,rgba(255,122,46,.2),transparent);border-left-color:var(--hot);color:var(--ink)}#nav button:nth-child(2){animation-delay:.04s}#nav button:nth-child(3){animation-delay:.08s}#nav button:nth-child(4){animation-delay:.12s}#nav button:nth-child(5){animation-delay:.16s}#nav button:nth-child(6){animation-delay:.2s}#nav button:nth-child(7){animation-delay:.24s}
#railFoot{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap;color:var(--dim);font-size:13px}
#screen{flex:1;min-width:0;padding:calc(26px + var(--safeT)) calc(26px + var(--safeR)) calc(18px + var(--safeB)) 8px;overflow:auto;touch-action:pan-y}#screen>.pane{background:var(--bg2);backdrop-filter:blur(14px);border-left:3px solid var(--hot);padding:18px 22px;max-width:980px;animation:rise .35s var(--ease) both}#screen h2{font-size:30px;margin:0 0 4px;font-weight:700;letter-spacing:.02em}#screen h3{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:16px 0 6px;font-weight:600}.sub{color:var(--dim);margin:0 0 12px}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--faint)}.row small{color:var(--dim);display:block}.row b{font-family:SairaC;font-size:19px;font-weight:600}
.set{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,1.3fr);gap:6px 16px;align-items:center}.set label{color:var(--ink)}.set input[type=range]{width:100%;accent-color:var(--hot);padding:0;touch-action:none}.seg{display:flex;gap:2px;flex-wrap:wrap}.seg button{padding:6px 10px;font-size:14px}.keyb{min-width:82px}.keyb.wait{border-color:var(--hot);color:var(--hot)}
/* garage */
#gTabs{display:flex;gap:2px;flex-wrap:wrap;margin-bottom:10px}#gTabs button{padding:5px 10px;font-size:14px}.gBody{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:16px}.gList{display:grid;align-content:start;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px;max-height:min(56vh,520px);overflow:auto;touch-action:pan-y;padding:1px}.gItem{background:rgba(0,0,0,.3);border:1px solid var(--faint);padding:6px;text-align:center;cursor:pointer;font-size:13px;line-height:1.15;transition:border-color .15s}.gItem:hover{border-color:var(--dim)}.gItem.on{border-color:var(--hot);box-shadow:0 0 0 1px var(--hot)}.gItem img{width:64px;height:56px;display:block;margin:0 auto 3px}.gItem .ph{height:56px;display:flex;align-items:center;justify-content:center;font-family:SairaC;font-size:24px;color:var(--dim)}.gItem em{display:block;font-style:normal;color:var(--ok);font-size:12px}.gItem em.buy{color:var(--dim)}.gDetail table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:14px}.gDetail td{padding:2px 0;border-bottom:1px solid var(--faint)}.gDetail td:nth-child(n+2){text-align:right}.gDetail th{font-weight:500;color:var(--dim);text-align:right;font-size:12px}.gDetail th:first-child{text-align:left}.gDetail h4{font-family:SairaC;font-size:22px;margin:0 0 6px}.up{color:var(--ok)}.dn{color:var(--bad)}.gBtns{display:flex;gap:6px;margin-top:10px}.gBtns button{flex:1}.dyno{display:flex;gap:18px;flex-wrap:wrap;margin:8px 0 12px}.dyno div{min-width:64px}.dyno b{display:block;font-family:SairaC;font-size:24px;font-weight:600;line-height:1.05}.dyno small{color:var(--dim);font-size:12px}
/* top + hud */
#top{position:fixed;top:calc(8px + var(--safeT));right:calc(10px + var(--safeR));display:flex;gap:4px;align-items:center;z-index:10;white-space:nowrap}#top button,#top span{background:var(--bg);backdrop-filter:blur(10px);padding:6px 11px;font-size:14px;border-radius:3px;border:1px solid var(--faint)}#cash{color:var(--ok);font-variant-numeric:tabular-nums;font-weight:500}#badge b{color:var(--hot)}body.racing #top>:not(#bPause):not(#bFull){display:none}
#pos{position:fixed;left:calc(16px + var(--safeL));top:calc(8px + var(--safeT));background:var(--bg);padding:2px 12px;font-size:46px;font-weight:700;line-height:1}#pos small{font-size:22px;color:var(--dim);font-weight:500}
#lb{position:fixed;left:calc(16px + var(--safeL));top:calc(70px + var(--safeT));font-variant-numeric:tabular-nums;font-size:14px}#lb div{background:var(--bg);padding:2px 10px;margin-bottom:1px;display:flex;gap:10px;min-width:170px;justify-content:flex-start}#lb span:last-child:not(:first-child){margin-left:auto;color:var(--dim)}#lb .me{color:var(--hot);border-left:2px solid var(--hot)}
#timer:empty,#gap:empty,#pos:empty{display:none}#timer{position:fixed;top:calc(8px + var(--safeT));left:50%;transform:translateX(-50%);background:var(--bg);padding:1px 12px;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;text-shadow:0 1px 8px rgba(0,0,0,.7);white-space:nowrap}#sect{position:fixed;top:calc(46px + var(--safeT));left:50%;transform:translateX(-50%);display:flex;gap:4px}#sect i{width:42px;height:4px;background:var(--faint);transition:background .25s}#sect i.on{background:var(--hot)}#sect i.done{background:var(--ok)}#gap{position:fixed;top:calc(56px + var(--safeT));left:50%;transform:translateX(-50%);background:var(--bg);padding:0 10px;font-family:SairaC;font-size:16px;color:var(--ink);text-shadow:0 1px 6px #000;font-variant-numeric:tabular-nums;white-space:nowrap}
#map{position:fixed;right:calc(14px + var(--safeR));top:calc(52px + var(--safeT));width:136px;height:136px;opacity:.94}
#dash{position:fixed;right:calc(20px + var(--safeR));bottom:calc(14px + var(--safeB));text-align:right;text-shadow:0 1px 8px rgba(0,0,0,.8)}.sp{display:flex;align-items:baseline;justify-content:flex-end;gap:6px}#spd{font-size:60px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}#gear{font-size:34px;color:var(--hot);margin-left:12px;font-weight:700}#dash small{color:var(--dim)}#rev{height:5px;width:250px;background:var(--faint);margin:0 0 6px auto;overflow:hidden}#rev i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7fd18c 40%,#e9c46a 72%,#ff5f56)}
#corners{display:grid;grid-template-columns:repeat(2,18px);gap:5px 36px;justify-content:end;margin-bottom:8px}#corners div{height:30px;width:18px;border-radius:2px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}#corners i{position:absolute;left:0;right:0;bottom:0;background:var(--blue)}
#banner{position:fixed;top:27%;left:50%;transform:translateX(-50%);font-size:58px;font-weight:700;letter-spacing:.03em;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.8);pointer-events:none;white-space:nowrap}#banner>*{animation:rise .3s var(--ease) both}#banner small{display:block;font-size:19px;letter-spacing:.01em;color:var(--ink);font-weight:500;font-family:Saira}
#lights{position:fixed;top:17%;left:50%;transform:translateX(-50%);display:flex;gap:12px;padding:10px 14px;background:rgba(8,9,10,.86);border-radius:6px;z-index:9}#lights i{width:min(7vh,46px);height:min(7vh,46px);border-radius:50%;background:#2a1312;transition:background .06s,box-shadow .06s}#lights i.on{background:#ff3b30;box-shadow:0 0 22px #ff3b30}#lights.go i{background:#37d36a;box-shadow:0 0 22px #37d36a}
#toast{position:fixed;bottom:calc(150px + var(--safeB));left:50%;transform:translateX(-50%);background:var(--bg2);padding:8px 16px;opacity:0;transition:opacity .25s;z-index:60;pointer-events:none;border-left:3px solid var(--hot)}#toast.on{opacity:1}
#hint{position:fixed;left:50%;bottom:calc(16px + var(--safeB));transform:translateX(-50%);background:var(--bg);padding:7px 14px;z-index:9;white-space:nowrap;pointer-events:none;font-size:14px}#hint b{color:var(--hot);font-family:SairaC}
.panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--bg2);backdrop-filter:blur(14px);border-left:3px solid var(--hot);padding:20px 24px;max-width:min(640px,94vw);max-height:86vh;overflow:auto;z-index:25;touch-action:pan-y;animation:rise .3s var(--ease) both}.panel h2{margin:0 0 6px}
table.res{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.res td{padding:4px 8px;border-bottom:1px solid var(--faint)}table.res tr.me{color:var(--hot)}
/* touch */
#touch button{position:fixed;width:min(25vh,108px);height:min(25vh,108px);border-radius:50%;font-size:17px;font-weight:600;background:rgba(14,16,18,.1);border:1.5px solid rgba(255,255,255,.28);color:rgba(255,255,255,.72);z-index:11;touch-action:none;padding:0}#tl{left:calc(14px + var(--safeL));bottom:calc(14px + var(--safeB));font-size:34px!important}#tr{left:calc(14px + var(--safeL) + min(28vh,120px));bottom:calc(14px + var(--safeB));font-size:34px!important}#tgas{right:calc(14px + var(--safeR));bottom:calc(14px + var(--safeB));background:rgba(40,120,70,.14)!important;border-color:rgba(120,230,160,.38)!important}#tbrk{right:calc(14px + var(--safeR) + min(28vh,120px));bottom:calc(14px + var(--safeB));background:rgba(140,50,40,.14)!important;border-color:rgba(240,130,110,.38)!important}#touch #treset{width:44px;height:44px;left:calc(14px + var(--safeL));top:calc(58px + var(--safeT));bottom:auto;font-size:20px}#touch #trev{width:64px;height:64px;font-size:14px;right:calc(14px + var(--safeR));bottom:calc(26px + var(--safeB) + min(25vh,108px))}#touch #tedit{width:44px;height:44px;left:calc(118px + var(--safeL));top:calc(58px + var(--safeT));bottom:auto;font-size:20px}body.layoutEdit #touch #tedit{outline:2px solid var(--hot);color:#fff}#touch button.held{background:rgba(255,255,255,.16)}#touch button.dragging{transform:scale(1.12);outline:2.5px solid var(--hot);outline-offset:3px;box-shadow:0 10px 26px rgba(0,0,0,.45);transition:transform .08s}#touch #tfull{width:44px;height:44px;left:calc(66px + var(--safeL));top:calc(58px + var(--safeT));bottom:auto;font-size:20px}body.touch #top button,body.touch #top span{background:rgba(14,16,18,.14);backdrop-filter:none;border-color:rgba(255,255,255,.18)}#touch.tilt #tl,#touch.tilt #tr{display:none}
body.touch #dash{right:auto;left:50%;transform:translateX(-50%);bottom:calc(4px + var(--safeB));text-align:center}body.touch #corners,body.touch #rev,body.touch #lb,body.touch #sect{display:none}body.touch #spd{font-size:36px}body.touch #gear{font-size:24px}body.touch .sp{justify-content:center}body.touch #map{width:96px;height:96px;top:calc(44px + var(--safeT))}body.touch #pos{font-size:36px}body.touch #hint{bottom:auto;top:calc(52px + var(--safeT))}body.touch #timer{font-size:19px}body.touch #gap{top:calc(36px + var(--safeT));font-size:15px}
#rotate{position:fixed;inset:0;z-index:90;background:#0e1012;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-family:SairaC;font-size:26px;text-align:center}#rotate small{font-family:Saira;font-size:15px;color:var(--dim)}
/* coach */
#coach{position:fixed;left:50%;top:calc(58px + var(--safeT));transform:translateX(-50%);z-index:35;background:var(--bg2);border-left:3px solid var(--hot);padding:10px 16px;width:min(520px,76vw);animation:rise .3s var(--ease) both}#coach b{display:block;font-family:SairaC;font-size:21px}#coach small{color:var(--dim);display:block}#coach .bar{height:3px;background:var(--faint);margin-top:7px}#coach .bar i{display:block;height:100%;background:var(--hot);transition:width .3s}#coach button{position:absolute;right:8px;top:8px;padding:2px 8px;font-size:12px}.glow{animation:pulse 1.1s infinite;border-color:var(--hot)!important;outline:2px solid var(--hot)}
/* build */
#build button{touch-action:manipulation}
#bar{position:fixed;left:0;right:0;bottom:0;background:var(--bg2);border-top:1px solid var(--faint);z-index:12;padding-bottom:var(--safeB)}
#bnav{display:flex;align-items:center;gap:1px;padding:2px 34px 0 calc(4px + var(--safeL));overflow-x:auto;touch-action:pan-x;scrollbar-width:none;position:relative}#bnav::-webkit-scrollbar,#tiles::-webkit-scrollbar{display:none}
#tabs,#subtabs{display:flex;gap:1px;flex:none}#subtabs{margin-left:8px;padding-left:8px;border-left:1px solid var(--faint)}#subtabs:empty{display:none}#tabs button,#subtabs button{padding:1px 8px;font-size:13px;border:0;border-radius:2px;background:none;white-space:nowrap;min-height:24px}#tabs button.on,#subtabs button.on{background:var(--hot);color:#1a0f06}
#bCol{position:fixed;right:calc(2px + var(--safeR));bottom:calc(var(--bar-h) - 26px + var(--safeB));width:30px;height:24px;padding:0;border:0;background:var(--bg2)}
#bar{--bar-h:90px}#bar.short{--bar-h:28px}#bar.short #tiles{display:none}#bar.short #bCol{transform:rotate(180deg)}
#tiles{display:flex;gap:3px;padding:2px 4px 3px calc(4px + var(--safeL));overflow-x:auto;touch-action:pan-x;scrollbar-width:none}
.tile{flex:0 0 74px;height:60px;border:1px solid var(--faint);padding:1px 2px;text-align:center;cursor:pointer;background:rgba(255,255,255,.07);position:relative;overflow:hidden}.tile.on{border-color:var(--hot);box-shadow:inset 0 0 0 1px var(--hot)}.tile img{width:40px;height:32px;display:block;margin:0 auto}.tile span{display:block;font-size:10px;line-height:12px;height:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tile em{display:block;font-style:normal;font-size:10px;line-height:11px;color:var(--ok)}.tile em.buy{color:var(--dim)}
#tools{position:fixed;left:calc(4px + var(--safeL));top:calc(4px + var(--safeT));bottom:calc(var(--safeB) + 94px);width:52px;display:flex;flex-direction:column;gap:2px;z-index:12;overflow-y:auto;touch-action:pan-y;scrollbar-width:none}#tools::-webkit-scrollbar{display:none}#tools button{flex:none;width:100%;height:46px;padding:0;text-align:center;background:var(--bg);font-size:13px}#tools button.on,#bfly button.on,#bctx button.on{background:var(--hot);color:#1a0f06}
#bfly{position:fixed;left:calc(60px + var(--safeL));top:calc(48px + var(--safeT));display:flex;flex-direction:column;gap:2px;z-index:13;background:var(--bg2);padding:4px;max-height:calc(100vh - 150px);overflow:auto}#bfly button{text-align:left;background:rgba(255,255,255,.05);min-height:38px;padding:4px 12px;white-space:nowrap}#bfly small{color:var(--dim);font-size:12px}.swatches{display:grid;grid-template-columns:repeat(7,32px);gap:3px}.swatches i{height:32px;display:block;cursor:pointer;border:2px solid transparent}.swatches i.on{border-color:#fff}
#btop{position:fixed;left:calc(60px + var(--safeL));right:calc(4px + var(--safeR));top:calc(4px + var(--safeT));height:40px;display:flex;align-items:center;gap:4px;z-index:13;pointer-events:none}#btop>*{pointer-events:auto}
#bchip{display:flex;gap:9px;align-items:center;height:36px;padding:0 9px;background:var(--bg);font:400 12.5px Saira,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:0;flex:none}#bchip b{color:var(--hot)}#bchip .c\${color:var(--ok)}#bchip .e{color:var(--bad)}#bchip .b{color:#ffc14d}
#bctx{display:flex;gap:2px;flex:0 1 auto;overflow-x:auto;scrollbar-width:none;touch-action:pan-x}#bctx button{flex:none;height:38px;padding:0 9px;font-size:13px;background:var(--bg)}
#tDone{margin-left:auto;height:38px;padding:0 16px;flex:none}#bt{font-family:SairaC;font-size:20px;font-weight:700;text-shadow:0 2px 10px #000;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:6px;pointer-events:none}#bt.low{color:var(--bad)}
#bstat{position:fixed;left:calc(60px + var(--safeL));right:calc(84px + var(--safeR));bottom:calc(var(--safeB) + var(--strip));height:20px;line-height:20px;font-size:12px;color:var(--ink);z-index:12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;text-shadow:0 1px 3px #000,0 0 6px #000}#bstat b{font-family:SairaC;font-size:13px}#bstat u{text-decoration:none;font-weight:500}#bstat.good u{color:#7fe8a0}#bstat.warn u{color:#ffc14d}#bstat.bad u{color:#ff7a70}
#build{--strip:92px}#build:has(#bar.short){--strip:30px}
#bgiz{position:fixed;left:0;top:0;width:0;height:0;z-index:11;display:none}#bgiz.on{display:block}.gz{position:absolute;left:0;top:0;width:46px;height:46px;padding:0;border-radius:50%;background:rgba(14,16,18,.62);border:2px solid var(--ax);color:var(--ax);will-change:transform;transition:none}.gz svg{display:block;width:62%;height:62%;margin:auto}.gz:active{background:rgba(255,255,255,.2)}
body:not(.touch) .gz{width:38px;height:38px}
#brot{position:fixed;right:calc(4px + var(--safeR));top:calc(48px + var(--safeT));display:none;grid-template-columns:repeat(2,42px);gap:4px;z-index:13}body.building.inhand #brot{display:grid}#build:has(#side:not(.closed)) #brot{display:none!important}#brot .rt{width:42px;height:42px;padding:0;border-radius:50%;background:rgba(14,16,18,.7);border:2px solid var(--rg);color:var(--rg)}#brot .rt svg{display:block;width:70%;height:70%;margin:auto}#brot .rt.ccw svg{transform:scaleX(-1)}#brot .rt:active{background:rgba(255,255,255,.22)}body:not(.touch) #brot{grid-template-columns:repeat(2,38px)}body:not(.touch) #brot .rt{width:38px;height:38px}
#bok,#bno{position:fixed;z-index:13;padding:0;border-radius:50%;right:calc(8px + var(--safeR))}#bok{bottom:calc(var(--safeB) + var(--strip) + 6px);width:62px;height:62px;background:#1f9a55;border:2px solid #7fe8a0;color:#fff}#bok.no{background:#7a2a26;border-color:#ff7a70}#bno{bottom:calc(var(--safeB) + var(--strip) + 74px);width:46px;height:46px;right:calc(16px + var(--safeR));background:var(--bg);color:#ff9a90}#bok svg,#bno svg{display:block;width:60%;height:60%;margin:auto}
#side{position:fixed;right:calc(4px + var(--safeR));top:calc(46px + var(--safeT));bottom:calc(var(--safeB) + var(--strip) + 2px);width:230px;font-size:13px;background:var(--bg2);border-left:2px solid var(--hot);padding:6px 8px;overflow:auto;z-index:14;touch-action:pan-y}#side.closed{display:none}#side h3{margin:8px 0 3px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}#side table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}#side td{padding:1px 0}#side td:last-child{text-align:right}.err{color:var(--bad)}.solve{display:block;margin-top:5px;color:var(--dim);line-height:1.25}.tabs2{display:flex;gap:2px}.tabs2 button{padding:3px 10px}#sClose{margin-left:auto;width:30px;padding:3px;border:0;background:none}#sClose svg{display:block}
.tune label{display:block;font-size:12.5px;margin-top:5px}.tune label span{float:right;color:var(--dim)}.tune input[type=range]{width:100%;margin:0;padding:0;accent-color:var(--hot);touch-action:none}#side select{width:100%;margin:2px 0;padding:5px}
body.building #top{display:none}
@media (min-height:600px) and (min-width:1000px){#bar{--bar-h:128px}#build{--strip:132px}#tools{bottom:calc(var(--safeB) + 136px)}.tile{flex-basis:96px;height:96px}.tile img{width:62px;height:56px}.tile span,.tile em{font-size:11.5px;line-height:14px;height:14px}}
/* cards */
#card{position:fixed;inset:0;z-index:28;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,transparent,rgba(10,11,13,.86) 30%,rgba(10,11,13,.86) 70%,transparent);text-align:center;gap:4px;pointer-events:none}#card>*{animation:rise .4s var(--ease) both}#card small{color:var(--hot);font-size:17px;letter-spacing:.2em;font-weight:600}#card h1{font-size:min(11vw,76px);margin:0;line-height:1;font-weight:700}#card p{margin:2px 0;font-family:Saira;color:var(--ink);max-width:80vw}#card img{height:min(30vh,210px)}#card table{margin-top:6px;border-collapse:collapse;font-family:Saira;font-variant-numeric:tabular-nums}#card td{padding:2px 12px;text-align:left}#card td:last-child{text-align:right}
#podium{position:fixed;inset:0;z-index:28;background:rgba(10,11,13,.8);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;overflow:auto}#podium h2{margin:0;font-size:min(8vw,44px);font-weight:700}#podium .chk{width:min(520px,80vw);height:8px;background:repeating-linear-gradient(90deg,#fff 0 10px,#111 10px 20px);animation:stripe 1s linear infinite}.pod{display:flex;align-items:flex-end;gap:6px}.pod>div{width:min(170px,27vw);text-align:center;animation:rise .55s var(--ease) both}.pod>div:nth-child(2){animation-delay:.35s}.pod>div:nth-child(1){animation-delay:.6s}.pod>div:nth-child(3){animation-delay:.15s}.pod b{display:block;font-family:SairaC;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pod i{display:flex;align-items:flex-start;justify-content:center;font-style:normal;font-family:SairaC;font-size:38px;font-weight:700;background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.04));padding-top:4px}.pod .p1 i{height:min(20vh,130px);color:var(--gold)}.pod .p2 i{height:min(15vh,96px)}.pod .p3 i{height:min(11vh,68px)}.pod small{display:block;color:var(--dim);font-size:13px}#earn{font-family:SairaC;font-size:34px;color:var(--ok);font-weight:700;font-variant-numeric:tabular-nums}#podium table{width:min(460px,86vw)}
@media (max-width:760px),(max-height:460px){#rail{padding:10px 12px;width:min(230px,34vw)}.brand{font-size:24px}#nav button{font-size:18px;padding:2px 8px}#who{font-size:12px}#who input{padding:4px;margin-top:2px}#screen{padding-top:10px}#screen>.pane{padding:10px 12px}#screen h2{font-size:22px}.gBody{grid-template-columns:minmax(0,1fr) 180px;gap:8px}.gList{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));max-height:58vh}#top button,#top span{padding:4px 7px;font-size:12px}#bFull{display:none}#banner{font-size:36px}#card h1{font-size:44px}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important}}
body.inmenu #top,body.inmenu #hud,body.inmenu #hint,body.inmenu #touch,body.inmenu #coach{display:none!important}
body.building #coach{left:calc(64px + var(--safeL));transform:none;top:calc(48px + var(--safeT));width:min(300px,38vw);padding:4px 26px 4px 10px;z-index:12}body.building #coach b{font-size:15px}body.building #coach small{font-size:12px;line-height:1.2}
@media (max-height:460px){#who{display:none}#rail{padding:calc(8px + var(--safeT)) 10px calc(6px + var(--safeB)) calc(12px + var(--safeL));gap:4px;touch-action:pan-y}#nav{margin-top:2px;gap:0}#nav button{font-size:16.5px;padding:1px 8px}#railFoot button{padding:3px 8px;font-size:12px}}

#screen>.pane{max-width:1240px;min-height:calc(100vh - 44px - var(--safeT) - var(--safeB));box-sizing:border-box}.tile{background:rgba(255,255,255,.07)}.tile img,.tile canvas{filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}

/* Career, time trial, photo mode */
.nextUp{position:absolute;right:28px;bottom:28px;background:rgba(14,16,18,.82);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:14px 18px;display:flex;flex-direction:column;gap:6px;max-width:340px}.nextUp small{letter-spacing:.08em;opacity:.7;font-size:11px}.nextUp b{font-size:18px}.nextUp em{font-style:normal;color:#ffb27a;font-size:12px}.nextUp button{margin-top:6px}
#screen{position:relative}
.row.locked{opacity:.5}.row small span.ran{opacity:.45;text-decoration:line-through}.row small span.nxt{color:#ff7a2e;font-weight:600}.cls{font-style:normal;font-size:11px;border:1px solid currentColor;border-radius:3px;padding:0 4px;margin-left:4px;opacity:.8}.row small{display:block}
.sTable{margin:8px 0 14px}.sTable table{width:100%;max-width:340px;border-collapse:collapse;font-size:13px}.sTable td{padding:2px 8px}.sTable td:last-child{text-align:right}.sTable tr.me,.ttb tr.me{color:#ff7a2e;font-weight:600}
.ttb{font-size:12px;border-collapse:collapse;margin-top:4px}.ttb td{padding:1px 10px 1px 0;opacity:.85}
.careerRes{margin-top:10px;font-size:14px;display:flex;flex-direction:column;gap:4px;align-items:center}.careerRes span{opacity:.8;font-size:12px}
body.photo #top,body.photo #hud,body.photo #touch,body.photo #hint,body.photo #lights,body.photo #coach,body.photo #toast{display:none!important}
#photoBar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:30;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;background:rgba(14,16,18,.78);border-radius:8px;padding:10px 14px;color:#f4efe3;font-size:13px;max-width:calc(100vw - 32px)}#photoBar.gone{opacity:0;pointer-events:none}#photoBar label{display:flex;gap:6px;align-items:center}#photoBar input[type=range]{width:110px}
@media (min-height:461px){#nav{gap:0}#nav button{font-size:21px;padding:3px 12px}}
#layoutBar{display:none;position:fixed;top:calc(6px + var(--safeT));left:50%;transform:translateX(-50%);z-index:40;align-items:center;gap:10px;background:var(--bg2);padding:6px 12px;white-space:nowrap;font-size:14px}body.layoutEdit #layoutBar{display:flex}body.inmenu.layoutEdit #menu{display:none!important}body.inmenu.layoutEdit #touch,body.inmenu.layoutEdit #touch.hide{display:block!important}body.layoutEdit #touch button{outline:2px dashed var(--hot);outline-offset:2px;color:#fff}body.layoutEdit #touch #treset,body.layoutEdit #touch #tfull{opacity:.3;outline:none;pointer-events:none}body.layoutEdit #touch button.dragging{background:rgba(255,122,46,.35)!important}
#spd{transition:color .25s}#spd.g0{color:#5fe0b0}#spd.g1{color:#ffe45c}#spd.g2{color:#e8532b}

#verif{position:fixed;top:calc(52px + var(--safeT, 0px));left:50%;transform:translateX(-50%);background:var(--bg2);padding:5px 12px;font-size:13px;z-index:61;pointer-events:none;border-left:3px solid #e8b23a;opacity:0;transition:opacity .25s;white-space:nowrap}#verif.on{opacity:.95}#earn.wait{color:#e8b23a}#earn.wait::after{content:'';display:inline-block;width:.7em;height:.7em;margin-left:.5em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:vspin 1s linear infinite}@keyframes vspin{to{transform:rotate(360deg)}}#earn.bad{color:#e06a5a}
/* Short landscape phones (740x360): the turn cluster runs down to 182 px, so the X sits beside the tick instead of above it. */
@media (max-height:400px){#bno{bottom:calc(var(--safeB) + var(--strip) + 24px);right:calc(80px + var(--safeR))}}
