:root{--ink:#3c4b43;--muted:#839084;--green:#547c66;--mint:#8ccbb3;--cream:#fbf8ee;--line:#e6e7db;--pink:#d791a3;--purple:#a798c9;--shadow:0 8px 32px #52643e08;font-family:ui-rounded,'Trebuchet MS',Arial,sans-serif;color:var(--ink);background:#f7f7ef}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overscroll-behavior:none}body{overflow:hidden;background:radial-gradient(ellipse at 0 0,#e7f1df 0,transparent 50%),radial-gradient(ellipse at 100% 90%,#f7eadb,transparent 50%),#f8f8f0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #86b99b;outline-offset:3px}a{color:inherit;text-decoration:none}button,input,select{touch-action:manipulation}button{transition:transform .15s,background .15s,box-shadow .15s}button:not(:disabled):active{transform:translateY(2px)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-1px}h1{font-size:clamp(34px,4vw,58px);line-height:1.09}h2{font-size:28px}p{font-size:14px;line-height:1.65;color:#7a877b}.app{height:100dvh;max-width:1800px;margin:auto;padding:0 42px;display:flex;flex-direction:column;min-height:0}.topbar{height:92px;flex:0 0 92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font:700 22px/.94 Georgia,serif;letter-spacing:-.6px}.brand-bottom{display:block}.brand-star{color:#d79c5c;font-size:17px;margin-left:10px}.brand-mark{width:46px;height:46px;display:grid;grid-template:repeat(2,1fr)/repeat(2,1fr);gap:3px;transform:rotate(-6deg)}.brand-mark i{background:#8ccbb3;border:1px solid #649c83;border-radius:5px;box-shadow:inset 0 3px #ffffff5c,0 3px #6f998632}.brand-mark i:nth-child(2){background:#edcd7c;border-color:#c4a55c}.brand-mark i:nth-child(3){background:transparent;border:0;box-shadow:none}.brand-mark i:nth-child(4){background:#afa0d2;border-color:#9182b1}nav{display:flex;gap:28px;height:100%;align-items:center}nav button{height:100%;font-size:14px;color:#8b958a;position:relative}nav button.nav-active{color:var(--ink);font-weight:bold}nav button.nav-active:after{content:'';position:absolute;bottom:21px;height:2px;width:20px;background:var(--pink);left:calc(50% - 10px)}.top-actions{display:flex;align-items:center;gap:9px}.icon-button{border:1px solid #e1e5d7;border-radius:13px;width:39px;height:39px;font-size:20px;background:#fdfcf65e}.profile-button{height:43px;width:43px;padding:0}.profile-button svg,.avatar svg,.avatar-choice svg{width:100%;height:100%;display:block}#menuScreen{flex:1;overflow:auto;min-height:0;scrollbar-width:thin}.page{max-width:1440px;margin:0 auto;padding:40px 0 24px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2.2px;color:#91a18d;display:block;margin-bottom:13px}.intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;min-height:300px;margin-bottom:30px}.intro h1{margin-bottom:17px}.intro p{font-size:15px}.dot{color:#d49e68}.hero-road{position:relative;height:290px;max-width:620px}.hero-road canvas{width:100%;height:100%}.hero-sticker{position:absolute;right:17px;top:25px;transform:rotate(8deg);background:#f7df9a;border:3px solid #fff7d8;box-shadow:0 4px 0 #dfc58358;border-radius:22px;padding:14px 19px;font:15px/1.4 Georgia,serif;color:#8e7546}.hero-sticker b{font:700 13px Arial}.lobby-columns{display:grid;grid-template-columns:.8fr 1.35fr;gap:25px}.quick-card,.rooms-card{background:#fffdf6aa;border:1px solid var(--line);border-radius:24px;padding:27px 30px;box-shadow:var(--shadow)}.quick-card{background:linear-gradient(135deg,#eef3e4,#fbf6e7);position:relative;overflow:hidden}.quick-card p{margin:10px 0 20px}.quick-card>small{display:block;margin-top:14px;color:#92a087;font-size:10px}.primary,.soft{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:12px;padding:13px 21px;font-weight:bold;font-size:13px;white-space:nowrap}.primary{color:#fffaf0;background:#5f896d;border:1px solid #547b62;box-shadow:0 4px 0 #3d63483b}.primary:hover{background:#527f61}.primary span{margin-left:auto}.quick-card .primary{width:100%;margin-top:17px}.soft{background:#fffdf5;border:1px solid #e2e3d7;color:#6a7b6b;box-shadow:0 2px 0 #e9e7d84a;padding:10px 15px}.soft:hover{background:#f0f4e8}.track-options{display:flex;gap:7px}.track-option{flex:1;padding:10px 5px;border-radius:10px;border:1px solid #dce3d3;background:#ffffff4f;font-size:10px;min-width:0}.track-option b{display:block;margin-bottom:5px;font-size:17px}.track-option[aria-pressed=true]{background:#fffdf4;border-color:#a7bd98;box-shadow:0 0 0 2px #93b1841f}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.section-heading .eyebrow{margin-bottom:8px}.join-form{display:flex;gap:10px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:16px}input,select{border:1px solid #dfe3d6;border-radius:10px;padding:12px 14px;background:#fffef8;color:#5d705e;min-width:0}input::placeholder{color:#a5b09f}.join-form input{flex:1;font-size:12px}.room-list{max-height:240px;overflow:auto;min-height:148px}.empty{display:grid;justify-items:center;text-align:center;padding:25px 10px;color:#99a08f;font-size:13px;gap:7px}.empty b{font-size:25px;color:#bdc9ae}.empty small{font-size:11px}.room-row{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #eeeee3;gap:13px}.track-mini{width:49px;height:45px;border-radius:12px;display:grid;place-items:center;font-size:24px;background:#eaf0e0}.room-row .room-info{flex:1}.room-row b{font-size:14px}.room-row small{display:block;font-size:10px;color:#95a18e;margin-top:5px}.room-row>span{font-size:11px;color:#8d9988}.lobby-bottom{display:flex;justify-content:space-between;gap:15px;color:#98a18e;font-size:10px;margin-top:27px;padding:4px}.garage-showcase{display:flex;gap:50px;align-items:center;background:linear-gradient(130deg,#e6eedc,#f9efd9);border:1px solid #dee4d0;border-radius:28px;padding:30px;margin-bottom:35px}.garage-showcase>canvas{width:43%;height:240px}.garage-showcase h2{font-size:36px;margin-bottom:10px}.profile-stats{display:flex;gap:25px;margin-top:20px}.profile-stats b{font-size:23px;display:block;color:#637b5f}.profile-stats small{font-size:10px;color:#8d9a82}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.achievement{background:#fffdf6;border:1px solid var(--line);border-radius:20px;padding:22px;opacity:.65}.achievement.unlocked{opacity:1;border-color:#cfdbb8;background:linear-gradient(125deg,#fff9e6,#f2f5e9)}.achievement>span{font-size:35px;display:block;margin-bottom:12px}.achievement b{font:20px Georgia}.achievement p{font-size:12px;margin-top:8px}.achievement small{font-size:10px;color:#8b9f83;display:block;margin-top:10px}.ranking-table{margin:25px 0 35px;border-radius:22px;border:1px solid var(--line);overflow:hidden;background:#fffdf6}.rank-row{display:grid;grid-template-columns:45px 47px 1fr 90px 70px;align-items:center;gap:15px;padding:15px 25px;border-bottom:1px solid #eceee2;font-size:13px}.rank-row.self{background:#edf3e4}.rank-row .avatar{width:40px;height:40px}.rank-row>strong{font-size:18px;color:#678765}.rank-row small{font-size:10px;color:#98a38e}.history-list{display:flex;flex-direction:column;gap:9px;margin-top:20px}.history-row{display:flex;gap:20px;padding:15px;background:#fffdf6;border:1px solid var(--line);border-radius:12px;font-size:12px}.history-row b{margin-right:auto}.history-row .positive{color:#5a9b75}.history-row .negative{color:#c17e7f}
#raceScreen{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.race-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0 16px;flex-shrink:0}.race-heading h1{font-size:26px}.race-heading .eyebrow{font-size:8px;margin-bottom:5px}.race-actions{display:flex;gap:8px}.race-actions .soft{font-size:11px;padding:9px 12px}.race-stage{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(300px,1.1fr) minmax(210px,.7fr);gap:18px;flex:1;min-height:0;padding-bottom:18px}.board-panel{background:#fffdf7;border:1px solid #e2e6d8;border-radius:21px;padding:13px;min-height:0;display:flex;flex-direction:column;box-shadow:0 4px 0 #e3e7d659}.board-panel.own{border-color:#afc6a3;background:linear-gradient(150deg,#fffff8,#f0f5e6);box-shadow:0 4px 0 #bbcbb16b}.player-heading{display:flex;align-items:center;gap:8px;min-height:41px;margin-bottom:10px;flex-shrink:0}.avatar{height:37px;width:37px;flex-shrink:0}.avatar.frame-laurel{border:2px solid #d9bf7d;border-radius:50%}.avatar.frame-aurora{border-radius:50%;box-shadow:0 0 0 2px #b1c6d3,0 0 12px #bbcfcb}.player-info{min-width:0;flex:1}.player-info b{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-info small{display:block;font-size:9px;color:#9aa88f;margin-top:4px}.player-heading>strong{font-size:24px;color:#74966c;letter-spacing:-1px}.player-heading>strong span{font-size:10px;letter-spacing:0;color:#a4af99;margin-left:3px}.board-layout{display:flex;gap:11px;flex:1;min-height:0;justify-content:center}.board-wrap{position:relative;height:100%;aspect-ratio:1/2;max-width:calc(100% - 67px);overflow:hidden;border-radius:12px;background:#e9eddf;border:1px solid #d5ddc8;touch-action:none;user-select:none}.board-wrap canvas{width:100%;height:100%;display:block}.piece-sidebar{width:53px;flex:0 0 53px;text-align:center;padding-top:9px}.piece-sidebar>span{font-size:7px;letter-spacing:1.3px;font-weight:bold;color:#96a18c;display:block;margin-bottom:5px}.piece-sidebar canvas{width:53px;display:block}.piece-sidebar #nextCanvas{height:164px;margin-bottom:18px}#holdCanvas{height:50px}.hold-button{margin-top:5px;border:1px solid #dfe6d4;border-radius:7px;padding:5px 10px;font-size:10px}.piece-sidebar>small{font-size:8px;line-height:1.5;display:block;color:#8d9a81;margin-top:16px}.controls{display:flex;gap:6px;flex-shrink:0;margin-top:12px;justify-content:center}.controls button{height:41px;flex:1;max-width:62px;font-size:22px;background:#fffdf5;border:1px solid #d7dfcd;border-radius:10px;box-shadow:0 3px 0 #d2dac85a;touch-action:none}.controls .drop-button{background:#8ba77a;color:#fffdf0;border-color:#749863;max-width:85px;display:flex;align-items:center;gap:5px;justify-content:center}.drop-button small{font:700 7px Arial}.keyboard-hint{font-size:7px;text-align:center;margin-top:10px;white-space:nowrap;color:#a2ac97}.board-overlay{position:absolute;inset:0;background:#f9f8eccc;backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;color:#648263;z-index:2;padding:8px}.board-overlay>span{font-size:35px}.board-overlay b{font:19px Georgia}.board-overlay small{font-size:10px;letter-spacing:1px}.board-overlay#countdown b{font:75px Georgia;color:#5f855e}.track-panel{position:relative;display:flex;flex-direction:column;min-height:0;background:linear-gradient(145deg,#f1f5e8,#e6efdd);border:1px solid #dfe7d2;border-radius:24px;overflow:hidden;padding:20px 15px 10px}.track-heading{text-align:center;position:relative;flex-shrink:0}.track-heading h2{font-size:24px}.track-heading .eyebrow{font-size:7px;margin-bottom:6px}.track-heading #raceClock{font-size:10px;color:#8ea081;margin-top:8px}.track-canvas-wrap{flex:1;min-height:0;position:relative}.track-canvas-wrap canvas{width:100%;height:100%;display:block}.race-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;position:relative;z-index:1}.legend-driver{display:flex;align-items:center;gap:6px;font-size:8px;min-width:0;background:#fffdf2b3;border-radius:9px;padding:7px 9px}.legend-driver i{width:9px;height:9px;border-radius:3px;flex-shrink:0}.legend-driver span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-driver b{margin-left:auto;font-size:10px}.track-note{text-align:center;font-size:8px;color:#93a187;line-height:1.6;padding:10px 0 0}.opponent-area{min-height:0;display:flex;flex-direction:column}.opponent-heading{display:flex;align-items:center;justify-content:space-between;height:22px;flex-shrink:0}.opponent-heading .eyebrow{font-size:7px;margin:0}.text-button{font-size:10px;color:#82947a;display:none}.opponent-boards{min-height:0;flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:10px}.opponent-boards>.board-panel:first-child{grid-column:1/-1}.opponent-boards .board-panel{padding:9px;border-radius:16px}.opponent-boards .player-heading{gap:5px;min-height:27px;margin-bottom:7px}.opponent-boards .avatar{width:24px;height:24px}.opponent-boards .player-info b{font-size:9px}.opponent-boards .player-info small{font-size:7px;margin-top:2px}.opponent-boards .player-heading>strong{font-size:16px}.opponent-boards .player-heading>strong span{font-size:7px}.opponent-boards .board-wrap{max-width:100%;align-self:center;height:100%;min-height:0}.opponent-boards .board-layout{min-height:0}.opponent-boards .board-panel.left{opacity:.45}.waiting-panel{text-align:center;margin:auto;padding:30px;width:min(600px,100%);background:#fffdf5;border:1px solid var(--line);border-radius:28px}.waiting-art{font-size:62px;margin:10px 0 20px}.waiting-panel h2{font-size:38px}.waiting-panel p{margin:15px 0}.waiting-players{display:flex;gap:10px;justify-content:center}.waiting-player{display:flex;align-items:center;gap:8px;padding:12px 15px;background:#eff3e6;border-radius:12px;font-size:12px;margin:10px 0}.waiting-player svg{width:35px}.waiting-panel .primary{margin-top:15px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#45674e;color:#fff9e8;border-radius:13px;box-shadow:0 7px 35px #34493625;padding:12px 20px;font-size:12px;max-width:calc(100vw - 24px);z-index:30}.connection{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);padding:10px 16px;background:#fff2cf;color:#9b7749;border:1px solid #e5d5a7;border-radius:12px;font-size:11px;z-index:25}
dialog{width:min(570px,calc(100vw - 24px));max-height:calc(100dvh - 30px);padding:34px;border:1px solid #e0e3d4;border-radius:25px;background:#fffdf5;color:var(--ink);box-shadow:0 25px 100px #33492725;overflow:auto}dialog::backdrop{background:#36463854;backdrop-filter:blur(5px)}dialog h2{font-size:34px;margin:4px 0 18px}dialog p{font-size:13px;margin:12px 0}dialog>small{display:block;font-size:10px;color:#97a08e;margin-top:18px;line-height:1.6}.close{position:absolute;right:15px;top:12px;width:32px;height:32px;font-size:24px;color:#96a18c}form label{display:block;font-size:11px;font-weight:bold;margin:18px 0}form label input,form label select{display:block;width:100%;margin-top:9px;font-size:14px}form>.primary,dialog>.primary{width:100%;margin-top:17px}.field-label{display:block;color:#94a18a;font-size:10px;margin:20px 0 10px}.avatar-options{display:flex;gap:6px}.avatar-choice{padding:3px;border:2px solid transparent;border-radius:50%;min-width:0;width:12.5%;aspect-ratio:1}.avatar-choice[aria-pressed=true]{border-color:#85a979;background:#eef3df}.hue-options{display:flex;gap:12px}.hue-options button{width:30px;height:30px;border-radius:50%;border:3px solid #fffdf5;box-shadow:0 0 0 1px #dce2d2}.hue-options button[aria-pressed=true]{box-shadow:0 0 0 2px #6e9461}.help-steps>div{display:flex;gap:17px;border-top:1px solid #e8eadd;padding:13px 0;align-items:center}.help-steps b{color:#c2d0b1;font:30px Georgia}.help-steps p{margin:0}.result-flag{display:block;text-align:center;font-size:55px;margin:5px 0 18px}#resultDialog{text-align:center}#podium{margin:20px 0;display:flex;flex-direction:column;gap:8px}.podium-row{display:flex;align-items:center;gap:12px;background:#f0f4e7;border-radius:12px;padding:11px;font-size:13px;text-align:left}.podium-row .avatar{width:32px;height:32px}.podium-row b{margin-left:auto}.podium-row small{font-size:9px;color:#96a28e}#resultReward{padding:15px;border-radius:14px;background:#f5edcf;color:#998142;font-size:16px}.dialog-actions{display:flex;gap:12px;margin-top:20px}.dialog-actions button{flex:1}.shop-dialog{width:min(1050px,calc(100vw - 24px))}.shop-wallet{display:inline-block;border-radius:10px;padding:9px 12px;background:#f4ebcf;color:#947d47;font-size:12px;font-weight:bold}.shop-tabs{display:flex;gap:8px;margin:20px 0}.shop-tabs button{padding:9px 15px;border-radius:10px;border:1px solid var(--line);font-size:12px}.shop-tabs button.active{background:#eaf0df;color:#6b875e;border-color:#bccaac}.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:24px}.shop-preview{background:#eff3e4;padding:15px;border-radius:20px;text-align:center}.shop-preview canvas{width:100%;height:190px}.shop-preview h3{font:23px Georgia;margin-top:4px}.shop-preview p{font-size:11px}.shop-preview button{font-size:10px;padding:10px;margin-top:12px}.shop-products{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shop-product{border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column}.shop-product.selected{border-color:#9fb68f;box-shadow:0 0 0 2px #b4c3a42f}.product-art{height:100px;background:#f2f3e8;border-radius:11px;padding:0}.product-art canvas{width:100%;height:100%}.shop-product h3{font:18px Georgia;margin:12px 0 7px}.shop-product p{font-size:10px;line-height:1.5;flex:1}.shop-product small{display:block;font-size:8px;color:#93a18a;margin:10px 0}.shop-product .soft{font-size:10px;width:100%;padding:9px 7px}#shopMessage{font-size:11px;color:#689160;min-height:18px}.error{color:#b76e6b!important}
@media(min-width:1600px){.race-stage{grid-template-columns:minmax(340px,.9fr) minmax(400px,1.1fr) minmax(330px,.85fr)}.player-info b{font-size:14px}.opponent-boards .player-info b{font-size:11px}.opponent-boards .player-info small{font-size:9px}.opponent-boards .avatar{width:29px;height:29px}}
@media(max-width:1050px){.app{padding:0 20px}.topbar{height:76px;flex-basis:76px}.race-stage{grid-template-columns:minmax(210px,1fr) minmax(240px,1fr);gap:12px}.opponent-area{position:fixed;right:15px;top:145px;width:220px;bottom:70px;background:#fffdf6;border:1px solid #d5dfcb;padding:10px;border-radius:18px;box-shadow:0 20px 80px #39502c38;z-index:9;display:none}.opponent-area.open{display:flex}.text-button{display:block}.race-heading .eyebrow{margin-bottom:3px}.track-panel .opponent-trigger{display:block}.lobby-columns{grid-template-columns:1fr 1.3fr}.quick-card,.rooms-card{padding:24px}.intro{min-height:270px;gap:15px}.hero-road{height:240px}.lobby-bottom{font-size:8px}.shop-products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.app{padding:0 13px}.topbar{height:68px;flex-basis:68px;gap:10px}.brand{font-size:17px;gap:8px}.brand-mark{width:32px;height:32px;gap:2px}.brand-star{font-size:12px;margin-left:5px}nav{gap:14px;position:fixed;bottom:0;left:0;right:0;height:59px;z-index:5;background:#fbfcf2ed;backdrop-filter:blur(10px);border-top:1px solid #e4e8d9;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}nav button{font-size:12px;flex:1}nav button.nav-active:after{bottom:9px}.top-actions{gap:5px}.icon-button{width:31px;height:31px;border-radius:9px;font-size:17px}.profile-button{width:35px;height:35px}.page{padding:25px 0 80px}.intro{display:block;position:relative;margin-bottom:20px;min-height:0}.intro h1{font-size:39px;max-width:340px}.intro p{font-size:12px;max-width:330px}.intro .eyebrow{font-size:8px;letter-spacing:1.6px}.desktop-br{display:none}.hero-road{height:160px;margin-top:10px}.hero-sticker{font-size:11px;top:10px;right:20px;padding:9px 11px;border-radius:16px}.hero-sticker b{font-size:10px}.lobby-columns{display:flex;flex-direction:column;gap:18px}.quick-card,.rooms-card{padding:23px 21px;border-radius:20px}.quick-card h2,.rooms-card h2{font-size:25px}.quick-card p{font-size:12px;margin-bottom:14px}.quick-card .eyebrow,.rooms-card .eyebrow{font-size:8px;letter-spacing:1.4px}.quick-card .track-options{margin-top:5px}.room-list{min-height:110px;max-height:260px}.lobby-bottom{flex-wrap:wrap;gap:14px;margin:20px 7px}.lobby-bottom span{width:45%;font-size:8px}.section-heading{gap:10px}.section-heading .soft{font-size:10px;padding:9px}.join-form{gap:5px}.join-form .soft{font-size:10px;padding:9px}.race-heading{padding:10px 0;gap:5px;min-height:60px}.race-heading h1{font-size:19px}.race-heading .eyebrow{font-size:6px;letter-spacing:1.4px}.race-actions{gap:5px}.race-actions .soft{padding:7px;font-size:8px;border-radius:8px}#roomCode{display:none}.race-stage{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.track-panel{order:-1;flex:0 0 clamp(108px,18dvh,156px);border-radius:15px;padding:4px 9px}.track-heading h2{font:13px Georgia}.track-heading .eyebrow,.track-note{display:none}.track-heading #raceClock{position:absolute;right:3px;top:0;font-size:8px;margin:0}.track-canvas-wrap{min-height:0}.race-legend{display:flex;gap:4px}.legend-driver{padding:4px;flex:1;font-size:6px;gap:3px;border-radius:5px}.legend-driver i{width:6px;height:6px}.legend-driver b{font-size:8px}.own{flex:1;padding:9px 11px 8px!important;min-height:0;max-height:100%;border-radius:15px}.player-heading{min-height:30px;margin-bottom:7px}.avatar{width:29px;height:29px}.player-info b{font-size:10px}.player-info small{font-size:7px}.player-heading>strong{font-size:20px}.player-heading>strong span{font-size:8px}.board-layout{gap:10px;justify-content:center}.board-wrap{border-radius:8px;max-width:calc(100% - 60px)}.piece-sidebar{width:45px;flex-basis:45px}.piece-sidebar canvas{width:45px}.piece-sidebar #nextCanvas{height:126px;margin-bottom:10px}.piece-sidebar>span{font-size:6px}.piece-sidebar>small{font-size:7px;margin-top:10px}.controls{margin-top:8px;gap:7px}.controls button{height:39px;max-width:64px;border-radius:9px;font-size:21px}.controls .drop-button{max-width:84px}.keyboard-hint{display:none}.race-mode nav{display:none}.race-mode .topbar{height:55px;flex-basis:55px}.race-mode #menu{display:none}.race-mode .brand{font-size:15px}.race-mode .brand-mark{width:28px;height:28px}.race-mode .icon-button{width:28px;height:28px}.race-mode .profile-button{width:29px;height:29px}.opponent-area{top:122px;right:10px;bottom:80px;width:210px}.waiting-panel{padding:24px 18px}.waiting-panel h2{font-size:30px}.waiting-panel p{font-size:12px}.waiting-art{font-size:45px;margin-top:0}.waiting-player{font-size:10px;padding:8px;gap:5px}.waiting-player svg{width:28px}.garage-showcase{padding:18px;gap:10px;flex-direction:column;margin-bottom:25px}.garage-showcase>canvas{width:100%;height:150px}.garage-showcase>div{width:100%;text-align:center}.garage-showcase h2{font-size:28px}.profile-stats{justify-content:center;gap:25px}.achievement-grid{grid-template-columns:1fr 1fr;gap:10px}.achievement{padding:16px}.achievement b{font-size:17px}.achievement p{font-size:10px}.achievement small{font-size:8px}.rank-row{padding:12px 10px;grid-template-columns:23px 32px 1fr 50px 35px;gap:7px;font-size:11px}.rank-row .avatar{width:29px;height:29px}.rank-row>strong{font-size:15px}.rank-row small{font-size:8px}.history-row{font-size:10px;gap:9px;padding:12px}.page>.section-heading{align-items:flex-start}.page>.section-heading h1{font-size:32px}.page>.section-heading .primary{font-size:10px;padding:11px;white-space:normal}dialog{padding:28px 21px;border-radius:20px}dialog h2{font-size:29px}dialog .eyebrow{font-size:8px}.shop-layout{grid-template-columns:1fr}.shop-preview{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:11px}.shop-preview canvas{width:100px;height:85px}.shop-preview h3{flex:1;font-size:20px;margin:0}.shop-preview p{display:none}.shop-preview button{margin:0;font-size:8px;padding:8px}.shop-tabs{gap:5px;margin:15px 0}.shop-tabs button{padding:9px 10px;font-size:10px;flex:1}.shop-products{gap:8px;grid-template-columns:1fr 1fr}.shop-product{padding:10px}.shop-product h3{font-size:16px}.product-art{height:85px}.shop-wallet{font-size:10px}.toast{font-size:10px;bottom:15px;padding:10px 14px}.connection{font-size:9px;bottom:5px;width:90%;text-align:center}}
@media(max-height:650px) and (min-width:641px){.topbar{height:55px;flex-basis:55px}.brand{font-size:17px}.brand-mark{width:32px;height:32px}.race-heading{padding:8px 0}.race-heading h1{font-size:20px}.race-stage{padding-bottom:8px}.board-panel{padding:8px;border-radius:14px}.player-heading{min-height:27px;margin-bottom:5px}.avatar{width:25px;height:25px}.controls button{height:29px;font-size:17px}.controls{margin-top:6px}.keyboard-hint{display:none}.piece-sidebar #nextCanvas{height:100px;margin-bottom:5px}.piece-sidebar>small{margin-top:5px}.piece-sidebar>span{font-size:6px}.track-panel{padding:10px}.track-heading h2{font-size:20px}.track-heading .eyebrow{margin-bottom:2px}.track-note{display:none}.opponent-area{top:104px;bottom:15px}.legend-driver{padding:5px}.board-overlay#countdown b{font-size:45px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.opponents-button{display:none;position:absolute;left:0;top:0;font-size:8px;color:#778f70;padding:3px}.opponent-boards[data-count="2"]{grid-template-columns:1fr}.opponent-boards[data-count="2"]>.board-panel:first-child{grid-column:auto}.board-layout{align-items:center}.board-wrap{flex-shrink:0}.waiting-player .avatar{display:block}.race-mode #profileDialog{display:none}.shop-preview canvas{touch-action:none}
@media(max-width:1050px){.opponents-button{display:block}}
@media(max-width:360px){.drop-button small{display:none}.controls button{min-width:0}.race-mode .topbar{height:48px;flex-basis:48px}.race-heading{min-height:53px}.track-panel{flex-basis:100px}}

.platform-entry{position:fixed;z-index:40;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;background:#f8f6ec}.platform-entry>span{font-size:54px;margin-bottom:24px}.platform-entry h2{font-size:34px}.platform-entry p{max-width:470px;margin:18px 0 25px}.platform-entry button{max-width:300px}

.language-switch{display:flex;align-items:center;flex-shrink:0;gap:2px;padding:3px;border-radius:10px;background:#e8eddf}.language-switch a{font:700 11px Arial,sans-serif;text-decoration:none;padding:6px 7px;color:#5e7059;border-radius:7px}.language-switch a[aria-current="page"]{background:#fffdf4;color:#314c33;box-shadow:0 1px 3px #65795622}.language-switch a:focus-visible{outline:2px solid #4f8155;outline-offset:1px}.race-mode .language-switch{display:none}@media(max-width:640px){.top-actions{gap:5px}.language-switch a{font-size:10px;padding:5px}.language-switch{padding:2px}}
