@font-face{font-family:Anton;font-weight:400;src:url(/fonts/Anton-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}@font-face{font-family:Anton;font-weight:400;src:url(/fonts/Anton-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}@font-face{font-family:Barlow Condensed;font-weight:600;src:url(/fonts/BarlowCondensed-600-latin.woff2) format("woff2");font-display:swap}@font-face{font-family:Barlow Condensed;font-weight:700;src:url(/fonts/BarlowCondensed-700-latin.woff2) format("woff2");font-display:swap}@font-face{font-family:Barlow Condensed;font-weight:800;src:url(/fonts/BarlowCondensed-800-latin.woff2) format("woff2");font-display:swap}:root{--y: #F6C21C;--y-deep: #B38700;--k: #0B0B0C;--red: #E53935;--panel: rgba(12, 12, 14, .62);--line: rgba(255, 255, 255, .14);--g: #3DDC84;--r: #FF5A4E;--muted: rgba(255, 255, 255, .72);--disp: Anton, "Arial Narrow", Impact, sans-serif;--cond: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;--body: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--ctrl-h: 132px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:#1a1612;color:#fff;font-family:var(--body);overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}#game{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;font-size:14px}#ui .on{pointer-events:auto}.hide{display:none!important}.panel{background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 26px #0000004d}.lab{font:700 11px var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.disp{font-family:var(--disp);font-weight:400;letter-spacing:.01em;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:12px;font:800 17px var(--cond);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:#fff;background:#0c0c0ead;border:1px solid rgba(255,255,255,.26)}.btn.y{background:var(--y);color:var(--k);border-color:transparent;box-shadow:0 4px 0 var(--y-deep)}.btn:active{transform:translateY(2px);box-shadow:none}.btn small{font:600 11px var(--body);letter-spacing:0;text-transform:none;opacity:.8}.row{display:flex;align-items:center}.stripes{height:7px;background:linear-gradient(var(--k),var(--k)) 0 1px / 100% 2px no-repeat,linear-gradient(var(--k),var(--k)) 0 4px / 100% 2px no-repeat,var(--y)}.tag{display:inline-block;padding:3px 7px 2px;border-radius:5px;font:800 11px var(--cond);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.tag.y{background:var(--y);color:var(--k)}.stars{color:var(--y);letter-spacing:0;font-size:12px}.stars s{text-decoration:none;color:#ffffff40}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px}.screen.dim{background:radial-gradient(ellipse at center,#00000040,#000000a6)}.logo{text-align:center}.logo .kick{font:800 14px var(--cond);letter-spacing:.48em;margin-left:.48em;text-shadow:0 2px 10px rgba(0,0,0,.6)}.logo .word{font:400 clamp(54px,13vw,118px) var(--disp);line-height:.95;-webkit-text-stroke:3px var(--k);paint-order:stroke fill;text-shadow:0 6px 0 var(--k),0 16px 34px rgba(0,0,0,.5)}.logo .word .a{color:var(--y)}.logo .word .b{color:#fff;display:inline-block;transform:skew(-8deg);margin-left:.12em}.title-stripes{width:min(440px,70vw);margin:12px auto 0}.logo .tag-line{margin-top:12px;font:700 clamp(15px,2.6vw,21px) var(--cond);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.7)}.title-actions{margin-top:22px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.title-actions .btn.y{min-height:56px;font-size:22px;padding:0 28px}.footnote{position:absolute;left:0;right:0;bottom:calc(12px + var(--safe-b));text-align:center;font:600 12px var(--cond);letter-spacing:.14em;text-transform:uppercase;color:#fffc;text-shadow:0 1px 6px rgba(0,0,0,.6);padding:0 16px}.loader-bar{width:min(320px,70vw);height:6px;border-radius:9px;background:#ffffff2e;overflow:hidden;margin:18px auto 8px}.loader-bar i{display:block;height:100%;width:0;background:var(--y);transition:width .2s}.modal{width:min(560px,94vw);max-height:88vh;overflow:auto;padding:18px 20px}.modal h2{font:400 30px var(--disp);margin-bottom:8px}.modal p,.modal li{font:500 14px/1.45 var(--body);color:#ffffffe6}.modal ul{padding-left:18px;margin:6px 0 10px}.modal li{margin-bottom:3px}.modal .btn{margin-top:10px}.pause-panel{text-align:center;width:min(440px,92vw);max-height:94vh}.pause-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.pause-grid .btn{margin:0;font-size:15px;padding:0 10px}.pause-grid .btn.y{grid-column:1 / -1;min-height:52px;font-size:19px}#hud{position:absolute;top:0;right:0;bottom:0;left:0}.top{z-index:4;position:absolute;left:calc(10px + var(--safe-l));right:calc(10px + var(--safe-r));top:calc(10px + var(--safe-t));display:flex;gap:8px;align-items:stretch}.pill{background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;padding:7px 11px 8px;min-width:0}.route-pill{flex:1 1 auto;max-width:340px;overflow:hidden}.route-pill .r1{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.route-pill .nm{font:400 19px var(--disp);overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;min-width:0}.route-pill .dist{font:400 17px var(--disp);color:var(--y);margin-left:auto}.route-pill .r2{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:3px;font:700 12px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.route-pill .callto b{color:var(--y);font-weight:800}.route-pill .clock{font:400 15px var(--disp);color:#fff;letter-spacing:.04em}.route-pill .clock.low{color:var(--r);animation:flash .9s infinite}.money-pill .rank{font:400 13px var(--disp);color:var(--y)}.minimap{position:absolute;right:calc(10px + var(--safe-r));top:calc(78px + var(--safe-t));width:120px;height:120px;border-radius:50%;z-index:3;opacity:.92;box-shadow:0 6px 18px #00000059;cursor:pointer}.rev-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:400 22px var(--disp);background:var(--panel);border:2px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;touch-action:none;align-self:flex-end;margin-bottom:2px}.rev-btn.on-rev{background:var(--y);color:var(--k);border-color:transparent;box-shadow:0 0 0 4px #f6c21c4d}.cd-choices.n3{grid-template-columns:1fr 1fr 1fr}.cd-choices.n3 .btn{font-size:14px;padding:6px 4px}.bigmap{display:block;width:100%;max-height:52vh;aspect-ratio:600 / 760;border-radius:12px;margin:4px 0 10px;background:#3b5a60}.sum-lab{margin:10px 0 2px}.sumrow.small{font-size:14px;padding:4px 0}.track{position:relative;height:10px;margin-top:6px}.track .line{position:absolute;left:0;right:0;top:4px;height:2px;background:#ffffff47;border-radius:2px;overflow:hidden}.track .line b{position:absolute;left:0;top:0;bottom:0;background:var(--y)}.track .stop{position:absolute;top:1px;width:8px;height:8px;margin-left:-4px;border-radius:50%;border:2px solid var(--y);background:#222}.track .stop.done{background:var(--y)}.track .me{position:absolute;top:-2px;width:14px;height:14px;margin-left:-7px;border-radius:4px;background:var(--y);box-shadow:0 0 0 2px #111}.money-pill{flex:0 0 auto;text-align:right;min-width:104px}.money-pill .fare{font:400 23px var(--disp);color:var(--y);line-height:1.05}.money-pill .fare.neg{color:var(--r)}.money-pill .sub{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:2px;font:700 12px var(--cond);letter-spacing:.06em}.money-pill .seats:before{content:"";display:inline-block;width:8px;height:9px;margin-right:4px;border-radius:3px 3px 1px 1px;background:#ffffffd9;vertical-align:-1px}.icon-btn{flex:0 0 auto;width:42px;border-radius:14px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);font-size:17px;cursor:pointer;color:#fff}.alert{position:absolute;left:50%;top:calc(76px + var(--safe-t));transform:translate(-50%);width:max-content;max-width:min(560px,calc(100vw - 20px));padding:8px 14px;border-radius:999px;font:700 14px/1.2 var(--body);text-align:center;opacity:0;transition:opacity .2s;box-shadow:0 6px 18px #0000004d}.alert.show{opacity:1}.alert b{font-weight:800}.alert.red{background:#d62828f0}.alert.yellow{background:var(--y);color:var(--k)}.alert.blue{background:#1565c0f0}.alert.green{background:#2ea05af0}.alert.dark{background:var(--panel);border:1px solid var(--line)}.alert.flash{animation:flash .9s infinite}.alert .arrow{display:inline-block;animation:nudge .7s infinite}@keyframes flash{50%{filter:brightness(1.3);transform:translate(-50%) scale(1.03)}}@keyframes nudge{50%{transform:translate(4px)}}.say{position:absolute;left:50%;top:calc(118px + var(--safe-t));transform:translate(-50%);width:max-content;max-width:min(460px,calc(100vw - 40px));background:#fff;color:#141414;border-radius:14px;padding:6px 12px 7px;font:800 15px/1.2 var(--body);box-shadow:0 6px 16px #0000004d;opacity:0}.say .who{display:block;font:700 10px var(--cond);letter-spacing:.14em;text-transform:uppercase;color:#8a8a8a}.say.on-show{animation:say 2.6s ease-out forwards}@keyframes say{0%{opacity:0;transform:translate(-50%,6px)}8%{opacity:1;transform:translate(-50%)}85%{opacity:1}to{opacity:0}}.pops{position:absolute;right:calc(62px + var(--safe-r));top:calc(62px + var(--safe-t));display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pop{font:400 18px var(--disp);color:var(--g);text-shadow:0 2px 6px rgba(0,0,0,.6);animation:pop 1.5s ease-out forwards;white-space:nowrap}.pop.down{color:var(--r)}.pop.warn{color:var(--y);font:700 13px var(--body)}.pop.neutral{color:#fff;font:700 13px var(--body)}@keyframes pop{0%{opacity:0;transform:translateY(6px)}12%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.banner-wrap{position:absolute;left:0;right:0;top:30%;display:flex;justify-content:center;pointer-events:none}.banner{text-align:center;animation:bin .3s ease-out}.banner .big{display:inline-block;padding:6px 20px 4px;border-radius:12px;font:400 40px var(--disp);letter-spacing:.04em;box-shadow:0 10px 26px #0006}.banner.red .big{background:var(--red)}.banner.yellow .big{background:var(--y);color:var(--k);font-size:32px}.banner.blue .big{background:#1565c0}.banner .sub{margin-top:6px;display:inline-block;padding:5px 12px;border-radius:999px;background:var(--panel);font:700 14px var(--body)}@keyframes bin{0%{opacity:0;transform:scale(.9)}}.card-dock{position:absolute;left:50%;transform:translate(-50%);bottom:calc(14px + var(--safe-b));width:min(460px,calc(100vw - 380px));z-index:5}.card{padding:10px 12px 9px;background:#0c0c0ecc}.cd-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.cd-head .who{font:700 11px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cd-say{margin-top:4px;font:800 16px/1.25 var(--body)}.cd-facts{margin-top:3px;font:400 17px var(--disp)}.cd-facts em{color:var(--y);font-style:normal}.cd-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.cd-choices .btn{min-width:0;min-height:52px;padding:6px 8px;flex-direction:column;gap:1px;line-height:1.08;font-size:15px;letter-spacing:.04em;text-align:center;white-space:normal}.cd-timer{height:3px;background:#ffffff1f;border-radius:2px;margin-top:8px;overflow:hidden}.cd-timer i{display:block;height:100%;background:var(--y);transform-origin:left;animation-name:shrink;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.cd-more{font:600 11px var(--body);color:var(--muted);margin-top:5px;text-align:right}.card.k-police{border-color:#ff5a4e99}.card.k-police .tag{background:var(--red);color:#fff}.wheel-zone{position:absolute;left:0;bottom:0;width:42%;height:58%;z-index:1}.wheel{position:absolute;left:calc(22px + var(--safe-l));bottom:calc(18px + var(--safe-b));width:112px;height:112px;border-radius:50%;border:9px solid rgba(20,20,22,.78);box-shadow:inset 0 0 0 2px #ffffff29,0 8px 20px #00000059;pointer-events:none}.wheel:before{content:"";position:absolute;left:50%;top:50%;width:82%;height:9px;background:#141416c7;transform:translate(-50%,-50%);border-radius:5px}.wheel:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:46%;background:#141416c7;transform:translate(-50%);border-radius:5px}.wheel .hub{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:var(--y);z-index:1;box-shadow:0 0 0 3px #141416c7;display:grid;place-items:center;font-size:17px}.wheel .hub.honk{animation:honk .3s}@keyframes honk{50%{transform:scale(1.25)}}.wheel-hint{position:absolute;left:calc(14px + var(--safe-l));bottom:calc(138px + var(--safe-b));font:700 11px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:#fffc;text-shadow:0 1px 4px #000}.wheel-hint.gone{opacity:0;transition:opacity .8s}.card-dock:not(:empty)~.wheel-hint{opacity:0}.pedals{z-index:2;position:absolute;right:calc(14px + var(--safe-r));bottom:calc(16px + var(--safe-b));display:flex;align-items:flex-end;gap:10px}.pedal{border-radius:14px;display:grid;place-items:center;font:800 14px var(--cond);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;touch-action:none;border:2px solid rgba(255,255,255,.25);box-shadow:0 6px 16px #00000059}.pedal.gas{width:78px;height:118px;background:linear-gradient(180deg,#2fb45a,#1d7e3d)}.pedal.brake{width:88px;height:80px;background:linear-gradient(180deg,#e2463b,#a92a22)}.pedal.down{filter:brightness(1.3);transform:scale(.96)}.speed{position:absolute;right:calc(256px + var(--safe-r));bottom:calc(18px + var(--safe-b));padding:5px 10px 6px;text-align:center;min-width:62px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.speed b{display:block;font:400 28px var(--disp);line-height:1}.speed small{font:700 10px var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.summary{width:min(560px,94vw);max-height:92vh;overflow:auto;padding:18px 22px;background:#0c0c0edb}.sum-top{justify-content:space-between}.sum-title{font-size:38px;margin-top:4px}.sum-stripes{margin:12px 0 4px}.sum-keep{border:0!important;font-size:19px!important}.sum-keep span:first-child{color:#fff!important;font-weight:700!important}.sum-keep .disp{font-size:28px}.sum-notes{font:500 13px/1.45 var(--body);color:var(--muted)}.amc-icon{font-size:40px;color:var(--y)}.amc-head{font:700 15px var(--body)}.amc-sub{font:500 13px var(--body);color:var(--muted)}.summary .title-actions{position:sticky;bottom:-18px;margin:14px -22px -18px;padding:10px 22px 16px;background:linear-gradient(180deg,#0c0c0e00,#0c0c0ef7 32%)}.sumrow{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.1);font:600 16px var(--body)}.sumrow span:first-child{color:#ffffffd1;font-weight:500}.up{color:var(--g)}.down{color:var(--r)}.amcash{margin-top:12px;display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;background:#f6c21c1a;border:1px solid rgba(246,194,28,.4)}.shake{animation:shake .35s}@keyframes shake{20%{transform:translate(-6px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px)}}@media(orientation:portrait){.route-pill{max-width:none}.route-pill .nm{font-size:18px}.money-pill{min-width:96px}.money-pill .fare{font-size:21px}.alert{top:calc(72px + var(--safe-t));font-size:13px}.say{top:calc(114px + var(--safe-t))}.card-dock{width:calc(100vw - 20px - var(--safe-l) - var(--safe-r));max-width:480px;bottom:calc(146px + var(--safe-b))}.wheel{width:104px;height:104px;left:calc(14px + var(--safe-l));bottom:calc(18px + var(--safe-b));border-width:8px}.wheel-hint{left:calc(12px + var(--safe-l));bottom:calc(130px + var(--safe-b))}.wheel-zone{width:50%;height:calc(150px + var(--safe-b))}.pedals{right:calc(10px + var(--safe-r));bottom:calc(14px + var(--safe-b));gap:8px}.minimap{width:104px;height:104px;top:calc(84px + var(--safe-t))}.rev-btn{width:40px;height:40px;font-size:20px}.pedal.gas{width:70px;height:114px}.pedal.brake{width:78px;height:78px}.speed{right:auto;left:calc(120px + var(--safe-l) + (100vw - 120px - 168px - var(--safe-l) - var(--safe-r)) / 2);transform:translate(-50%)}}@media(orientation:portrait)and (max-width:360px){.cd-choices .btn{font-size:13px}.cd-say,.route-pill .dist{font-size:15px}}@media(max-height:430px)and (orientation:landscape){.top{top:calc(6px + var(--safe-t))}.pill{padding:5px 10px 6px}.route-pill .nm{font-size:17px}.money-pill .fare{font-size:20px}.alert{top:calc(58px + var(--safe-t));padding:6px 12px;font-size:13px}.say{top:calc(94px + var(--safe-t));font-size:14px}.pops{top:calc(52px + var(--safe-t))}.card-dock{bottom:calc(8px + var(--safe-b))}.card{padding:8px 10px 7px}.cd-say{font-size:14px}.cd-facts{font-size:15px}.cd-choices .btn{min-height:44px;font-size:14px}.pause-panel{max-height:96vh;overflow-y:auto;padding:8px 14px 10px}.pause-panel h2{display:none}.bigmap{max-height:40vh;margin:2px auto 8px;width:auto}.pause-grid .btn{min-height:40px}.wheel{width:100px;height:100px}.pedal.gas{height:104px}.pedal.brake{height:72px}.banner .big{font-size:32px}.summary{padding:12px 18px;max-height:96vh}.summary .sumrow{padding:3px 0;font-size:14px}.sum-title{font-size:28px;margin-top:2px}.sum-stripes{margin:8px 0 2px}.sum-keep{font-size:16px!important}.sum-keep .disp{font-size:24px}.sum-notes{font-size:12px;line-height:1.35}.summary .amcash{margin-top:6px;padding:6px 12px;gap:10px}.amc-icon{font-size:24px}.amc-head{font-size:13px}.amc-sub{display:none}.summary .title-actions{bottom:-12px;margin:10px -18px -12px;padding:8px 18px 10px}}.title-actions.roles{flex-wrap:wrap;justify-content:center;gap:8px}.title-actions.roles .btn{min-width:150px}.route-pill.no-call .callto{opacity:.85}.route-pill.no-call .nm{font-size:17px}.garage{width:min(520px,94vw);padding:14px 16px 16px}.garage-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.garage-head h2{margin:0}.garage-line{margin-top:8px;font:700 12px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--y);min-height:14px;text-shadow:0 1px 6px rgba(0,0,0,.6)}.g-acct{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#f6c21c1a;border:1px solid rgba(246,194,28,.4)}.g-acct.col{flex-direction:column;align-items:stretch}.g-name{font:700 15px var(--body)}.g-bal{font:500 13px var(--body);color:var(--muted)}.g-bal b{color:var(--y);font:400 16px var(--disp)}.g-signin{display:flex;flex-direction:column;gap:8px;margin-top:8px}.g-form{display:grid;grid-template-columns:1fr 1fr auto;gap:6px}.g-form input{min-width:0;min-height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:#ffffff14;color:#fff;font:500 14px var(--body)}.g-form input::placeholder{color:#ffffff80}.g-note{font:500 12px/1.4 var(--body);color:var(--muted);margin-top:8px}.g-note a{color:var(--y)}.g-sec{margin:12px 0 4px;font:700 12px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.g-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.g-info{min-width:0}.g-title{font:700 15px var(--body);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.g-what{font:500 12px/1.35 var(--body);color:var(--muted)}.pips{display:inline-flex;gap:3px}.pips i{width:9px;height:9px;border-radius:50%;background:#fff3}.pips i.on{background:var(--y)}.g-max{font:700 12px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--g)}.g-tag{font:700 11px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--k);background:var(--y);border-radius:6px;padding:2px 6px}.btn.small{min-height:36px;padding:0 12px;font-size:15px;flex:0 0 auto}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:34px;padding:0 11px;border-radius:999px;border:1px solid var(--line);background:#ffffff14;color:#fff;font:600 13px var(--body);cursor:pointer}.chip.on{background:var(--y);color:var(--k);border-color:transparent}.chip.buy{border-style:dashed;color:var(--y)}.chip:disabled,.btn:disabled{opacity:.45;cursor:default}.g-msg{margin-top:8px;padding:8px 10px;border-radius:10px;font:600 13px/1.35 var(--body);background:#ffffff1a}.g-msg.good{background:#3ddc8426;color:var(--g)}.g-msg.bad{background:#ff5a4e26;color:var(--r)}.g-msg.warn{background:#f6c21c26;color:var(--y)}.g-best{margin-top:10px;font:500 13px var(--body);color:var(--muted)}.g-best b{color:var(--y)}.amcash .btn.small{margin:0 0 0 auto}.title-actions .btn.race{background:linear-gradient(90deg,#ff8a3d,#ff3d6e);border-color:transparent;color:#fff;box-shadow:0 4px #9c1f3f}.title-actions .btn.race .new{font:800 10px var(--cond);letter-spacing:.12em;background:#fff;color:#c2185b;border-radius:4px;padding:2px 5px 1px;margin-left:4px}.race-lobby h2 .y,.modal h2 .y{color:var(--y)}.rl-tag{font:700 15px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:#ffffffdb;margin:-2px 0 10px}.rl-name{display:flex;align-items:center;gap:10px;margin-bottom:6px}.rl-name input,.rl-join input{flex:1;min-width:0;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.26);background:#00000059;color:#fff;padding:0 12px;font:700 17px var(--cond);letter-spacing:.04em;user-select:text;-webkit-user-select:text}.rl-join{display:flex;gap:8px;margin-top:10px}.rl-join input{flex:0 0 120px;text-transform:uppercase;letter-spacing:.3em;text-align:center;font:400 22px var(--disp)}.race-tracks{display:grid;gap:8px}.race-track{text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 12px;border-radius:12px;cursor:pointer;color:#fff;background:#00000052;border:1px solid rgba(255,255,255,.18);font:inherit}.race-track.on{border-color:var(--y);background:#f6c21c24;box-shadow:inset 0 0 0 1px var(--y)}.race-track:disabled{cursor:default;opacity:.75}.race-track.on:disabled{opacity:1}.rt-name{font:400 20px var(--disp);letter-spacing:.02em}.rt-km{font:800 14px var(--cond);color:var(--y);align-self:center}.rt-blurb{grid-column:1 / -1;font:500 13px/1.35 var(--body);color:#ffffffc7}.rt-best{grid-column:1 / -1;font:700 12px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--g)}.rl-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}.rl-actions .btn.y{flex:1 1 200px;min-height:52px;font-size:20px}.rl-actions .btn:not(.y){flex:1 1 160px}.btn.small{min-height:36px;font-size:14px;padding:0 12px}.btn.wa{background:#25d366;color:#06291a;border-color:transparent;box-shadow:0 3px #128c7e}.rl-room{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#f6c21c1f;border:1px dashed rgba(246,194,28,.6)}.rl-code{font:400 46px var(--disp);letter-spacing:.22em;color:var(--y);line-height:1}.rl-share{display:flex;flex-direction:column;gap:6px;align-items:stretch}.rl-players{display:grid;gap:6px}.rl-p{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#00000047;font:700 17px var(--cond)}.rl-p i{width:14px;height:14px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 2px #0006}.rl-p .nm{flex:1}.rl-p em,.rr-nm em{font-style:normal;font:700 11px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-left:4px}.rl-p.you{box-shadow:inset 0 0 0 1px #ffffff4d}.rl-wait{flex:1 1 200px;font:700 15px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--y);animation:blink 1.6s infinite}@keyframes blink{50%{opacity:.5}}.race-count{position:absolute;left:0;right:0;top:18%;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:6;pointer-events:none}.rc-lights{display:flex;gap:14px;padding:12px 18px;border-radius:18px;background:#0a0a0cd1;box-shadow:0 10px 30px #00000073}.rc-lights i{width:38px;height:38px;border-radius:50%;background:#2b2b2e;box-shadow:inset 0 3px 6px #0009}.rc-lights i.r{background:radial-gradient(circle at 40% 35%,#ff8a80,#e53935 60%);box-shadow:0 0 22px #e53935}.rc-lights i.g{background:radial-gradient(circle at 40% 35%,#b9f6ca,#2ecc71 60%);box-shadow:0 0 26px #2ecc71}.rc-word{font:400 clamp(64px,18vw,140px) var(--disp);color:#fff;-webkit-text-stroke:3px var(--k);paint-order:stroke fill;text-shadow:0 8px 0 var(--k),0 18px 36px rgba(0,0,0,.5);line-height:1}.rc-word.go{color:var(--y)}.rc-word.pulse{animation:rcpulse .6s ease-out}@keyframes rcpulse{0%{transform:scale(1.6);opacity:0}40%{transform:scale(.94);opacity:1}to{transform:scale(1)}}.race-hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.rh-left{position:absolute;left:calc(10px + var(--safe-l));top:calc(10px + var(--safe-t));padding:6px 12px 8px;border-radius:14px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.rh-pos b{font:400 40px var(--disp);line-height:1;color:var(--y)}.rh-pos small{font:400 20px var(--disp);color:#ffffffb3;margin-left:2px}.rh-time{font:700 20px var(--cond);letter-spacing:.06em;font-variant-numeric:tabular-nums}.rh-time.pen:after{content:" +pen";font-size:11px;color:var(--r);letter-spacing:.1em}.rh-gate{position:absolute;left:50%;top:calc(10px + var(--safe-t));transform:translate(-50%);padding:7px 14px;border-radius:999px;background:#0c0c0ec7;border:1px solid var(--line);white-space:nowrap;font:700 15px var(--cond);letter-spacing:.04em}.rh-gate b{color:var(--y);font-weight:800;text-transform:uppercase}.rh-gate .lab{font-size:10px}.rh-gate .gd{color:#fffc;font-variant-numeric:tabular-nums}.rh-gate:empty{display:none}.rh-board{position:absolute;left:calc(10px + var(--safe-l));top:calc(92px + var(--safe-t));display:grid;gap:3px;min-width:150px}.rb-row{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:8px;background:#0c0c0e99;font:700 13px var(--cond);letter-spacing:.03em}.rb-row .n{width:12px;color:var(--muted)}.rb-row i{width:9px;height:9px;border-radius:50%}.rb-row .nm{flex:1;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-row .gap{color:#ffffffbf;font-variant-numeric:tabular-nums;font-size:12px}.rb-row.you{background:#f6c21ce6;color:var(--k)}.rb-row.you .n,.rb-row.you .gap{color:#000000a6}.rb-row.done .gap{color:var(--g)}.rb-row.you.done .gap{color:#0b5d2e}.rh-shouts{position:absolute;left:50%;bottom:calc(14px + var(--safe-b));transform:translate(-50%);display:flex;gap:8px;z-index:2}.rh-shout{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--panel);font-size:19px;cursor:pointer;touch-action:none}.rh-shout:active{transform:scale(.9)}.rh-boost{position:absolute;right:calc(20px + var(--safe-r));bottom:calc(146px + var(--safe-b));width:84px;height:84px;border-radius:50%;border:0;padding:0;cursor:pointer;touch-action:none;background:radial-gradient(circle at 50% 40%,#3a3a40,#141416 70%);color:#ffffff8c;box-shadow:0 6px 18px #0006;display:grid;place-items:center}.rh-boost .rb-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.rb-bg{fill:none;stroke:#ffffff14;stroke-width:7}.rb-seg{fill:none;stroke:var(--y);stroke-width:7;stroke-linecap:round;transition:opacity .2s}.rb-word{position:relative;font:400 19px var(--disp);letter-spacing:.04em;margin-top:8px}.rb-sub{position:relative;font:800 10px var(--cond);letter-spacing:.12em;text-transform:uppercase;margin-top:-18px}.rh-boost.ready{color:var(--k);background:radial-gradient(circle at 50% 40%,#ffe27a,#f6c21c 60%,#c99400);animation:boostready 1s infinite}.rh-boost.active{color:#fff;background:radial-gradient(circle at 50% 40%,#ff9e5e,#ff3d6e 70%);animation:none;transform:scale(1.06)}@keyframes boostready{50%{box-shadow:0 0 0 8px #f6c21c47,0 6px 18px #0006}}#hud.race .route-pill,#hud.race .money-pill,#hud.race .card-dock{display:none}#hud.race .top{justify-content:flex-end}#hud.race .minimap{top:calc(64px + var(--safe-t))}.speedlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .25s;z-index:2;background:repeating-conic-gradient(from 0deg at 50% 46%,#fff0,#fff0 5deg,#ffffff29,#ffffff29,#fff0 6.5deg,#fff0 11deg);-webkit-mask:radial-gradient(ellipse at 50% 46%,transparent 32%,#000 72%);mask:radial-gradient(ellipse at 50% 46%,transparent 32%,#000 72%)}.speedlines.on{opacity:1;animation:lines .18s linear infinite}@keyframes lines{50%{transform:scale(1.04)}}.race-res{position:relative;overflow-x:hidden}.rr-big{font:400 34px var(--disp);color:var(--y);margin-left:auto}.rr-best{margin:8px 0 4px;padding:6px 10px;border-radius:10px;background:#3ddc8429;color:var(--g);font:800 15px var(--cond);letter-spacing:.08em;text-transform:uppercase}.rr-note{margin:8px 0 2px;font:700 13px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.rr-list{display:grid;gap:6px;margin-top:10px}.rr-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:#ffffff0f;font:700 17px var(--cond)}.rr-row.you{background:#f6c21c2e;box-shadow:inset 0 0 0 1px #f6c21cb3}.rr-pos{font:400 22px var(--disp);width:22px;color:var(--y)}.rr-row i{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.rr-nm{flex:1}.rr-t{text-align:right;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:flex-end}.rr-t small{font:600 11px var(--body);color:var(--muted)}.rr-t small.pen{color:var(--r)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;animation:confetti 2.6s linear infinite}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(720deg);opacity:.6}}@media(orientation:portrait){.rh-gate{top:calc(64px + var(--safe-t));font-size:14px;max-width:calc(100vw - 150px);overflow:hidden;text-overflow:ellipsis;left:calc(50% - 30px)}.rh-board{top:calc(110px + var(--safe-t));min-width:128px}.rh-boost{width:76px;height:76px;right:calc(16px + var(--safe-r));bottom:calc(140px + var(--safe-b))}.rl-code{font-size:38px}.rh-shouts{left:auto;right:calc(10px + var(--safe-r));top:calc(196px + var(--safe-t));bottom:auto;transform:none;flex-direction:column}}@media(max-height:430px)and (orientation:landscape){.rh-board{top:calc(78px + var(--safe-t))}.rh-boost{bottom:calc(132px + var(--safe-b));width:70px;height:70px;right:calc(110px + var(--safe-r))}.race-count{top:8%}.race-lobby{padding:12px 16px}.race-lobby h2{font-size:24px;margin-bottom:2px}.rl-tag,.rt-blurb{display:none}.race-tracks{grid-template-columns:repeat(3,1fr)}.race-track{padding:8px 10px}.rt-name{font-size:16px;grid-column:1 / -1}.rl-actions{margin-top:10px}.rl-actions .btn.y{min-height:46px;font-size:18px}.rl-join{margin-top:8px}.rl-room{padding:6px 10px}.rl-code{font-size:34px}}
