:root{font-family:Pretendard,"Malgun Gothic",sans-serif;color:#163b38;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#bfe9ef;overflow:hidden}button,input{font:inherit}button{border:1px solid #d7e3dc;background:#fffdf4;color:#163b38;min-height:44px;border-radius:12px;padding:10px 16px;font-weight:750;cursor:pointer;touch-action:none}button:hover{filter:brightness(.96)}button:focus-visible,input:focus-visible{outline:3px solid #ec9d2d;outline-offset:3px}button:disabled{opacity:.48;cursor:default}button.primary{background:#174c43;color:#fff;border-color:#174c43;display:flex;align-items:center;justify-content:space-between}button.primary b{font-size:24px}input{width:100%;border:1px solid #c7d6ce;background:#fff;padding:12px;border-radius:10px;min-height:46px;color:#173c36}#scene{position:fixed;inset:0;width:100%;height:100%;display:block}header{position:fixed;top:0;left:0;right:0;height:60px;display:flex;align-items:center;gap:18px;padding:10px 25px;z-index:4;background:linear-gradient(#ffffffbb,transparent)}header a{font-size:13px;letter-spacing:1.2px;font-weight:900;text-decoration:none;color:#163b38}header span{font-size:12px;margin-left:auto}header button{padding:5px 12px;min-height:34px;font-size:12px}#panel{position:absolute;left:30px;top:76px;bottom:24px;width:390px;padding:26px;background:#fffdf2f5;border:1px solid #fff;border-radius:24px;box-shadow:0 15px 50px #203c391f;overflow:auto;scrollbar-width:thin}.brand-line{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:1px;color:#567267}.flag{font-size:25px;color:#e5a34c}h1{margin:8px 0 26px;font-size:54px;line-height:1.04;letter-spacing:-4px;font-weight:950}h1 span{color:#dc9140}h1 i{display:block;font-size:11px;font-style:normal;letter-spacing:4px;margin:13px 0 0 3px;color:#638175}label{display:block;font-weight:700;font-size:12px;margin-bottom:7px}.entry-actions{display:flex;gap:8px;margin:10px 0}.entry-actions button:first-child{flex:1}.join{display:flex;gap:8px;margin-top:12px}.join input{min-width:0}.join button{min-width:76px}#error{font-size:13px;color:#b14438;margin:8px 0;min-height:0}.section-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0 10px}.section-title h2{font-size:14px;margin:0}.section-title span{font-size:9px;letter-spacing:1px;color:#7c8e81}#maps{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-button{padding:8px;text-align:left;display:flex;align-items:center;gap:8px;min-height:59px;background:#f3f5ec;border:2px solid transparent}.map-button[aria-pressed=true]{border-color:#266454;background:#e4edda}.map-button svg{width:46px;height:36px;flex-shrink:0}.map-button span{font-size:11px}.room-row{display:flex;align-items:center;justify-content:space-between}.room-row strong{font-size:23px;letter-spacing:3px}.room-row button{font-size:11px;padding:6px}ol{padding:0;list-style:none}#members{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:12px 0}#members li{font-size:12px;padding:8px;background:#eef2e8;border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}.race-top{position:absolute;left:25px;top:80px;right:25px;display:flex;justify-content:space-between;pointer-events:none}#rank{font-style:italic;font-size:64px;line-height:1;color:#fff;text-shadow:0 3px 0 #193e45,0 0 14px #193e4588}#rank small{font-size:24px}#track-name{display:block;background:#173b39dd;color:white;font-size:12px;padding:6px 10px;border-radius:8px;margin-top:8px}.lap{text-align:right;color:#163b38;background:#fffdf2e8;border-radius:14px;padding:12px 18px;align-self:start}.lap b{display:block;font-size:20px}.lap span{font-variant-numeric:tabular-nums;font-size:12px}#standings{position:absolute;left:25px;top:209px;padding:10px 12px;background:#fffdf2db;border-radius:12px;min-width:120px}#standings li{font-size:11px;margin:6px 0}#standings li.me{font-weight:900;color:#a26720}#minimap{position:absolute;right:20px;top:175px;width:160px;height:144px;background:#163b3830;border-radius:18px}.speed{position:absolute;bottom:126px;right:32px;text-align:right;color:#fff;text-shadow:0 2px 4px #183b48}.speed b{font-size:47px;font-style:italic}.speed small{font-size:12px;margin-left:5px}.meter{width:160px;height:8px;background:#173b3977;border-radius:8px;overflow:hidden;margin:5px 0}.meter i{display:block;height:100%;width:0;background:#ffd66a}.speed>span{font-size:9px;letter-spacing:2px}#event{position:absolute;top:65px;left:50%;transform:translateX(-50%);font-size:13px;font-weight:700;background:#fffdf2df;border-radius:30px;padding:8px 18px;white-space:nowrap}#event:empty{display:none}#countdown{position:absolute;top:38%;left:50%;transform:translateX(-50%);color:#fffdf2;font-size:112px;font-weight:1000;font-style:italic;text-shadow:0 6px 0 #1e594c;pointer-events:none}#controls{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:22px;right:22px;display:flex;justify-content:space-between;gap:12px;user-select:none}.steering,.actions{display:flex;align-items:end;gap:8px}#controls button{height:64px;min-width:68px;border:2px solid #ffffffa0;background:#fffdf2e6;padding:10px;box-shadow:0 4px 0 #173b3928;font-size:13px}#controls button small{display:block;font-size:9px;margin-top:4px;opacity:.65}#controls button.held{background:#ffd16b;transform:translateY(3px);box-shadow:none}#controls .gas{background:#205f50;color:white}#item{min-width:110px!important}#item b{font-size:17px}#results{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,92vw);max-height:85dvh;overflow:auto;border:1px solid #fff;border-radius:25px;padding:28px;background:#fffdf4f7;box-shadow:0 20px 100px #183b4866}#results h2{font-size:34px;margin:10px 0 16px}#result-list li{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #dce5d9;font-size:13px}#result-list li.me{background:#efe6c8;font-weight:800}#results button{width:100%;margin-top:8px}[hidden]{display:none!important}
@media(max-width:600px){header{height:48px;padding:8px 14px;gap:10px}header a{font-size:11px}#panel{left:12px;right:12px;top:58px;bottom:14px;width:auto;padding:20px;background:#fffdf2ed}h1{font-size:45px;margin-bottom:17px}h1 i{margin-top:9px}.section-title{margin-top:18px}.map-button{min-height:55px}.race-top{left:14px;right:14px;top:61px}#rank{font-size:46px}#rank small{font-size:18px}.lap{padding:9px 12px}.lap b{font-size:16px}#standings{left:12px;top:153px;padding:6px 9px;min-width:105px}#standings li{font-size:10px;margin:4px 0}#minimap{width:115px;height:104px;right:12px;top:136px}#controls{left:9px;right:9px;bottom:16px;gap:8px;align-items:end}.steering{flex-wrap:wrap;width:105px;gap:5px}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}#controls button{height:54px;min-width:47px;font-size:11px;padding:5px;border-radius:11px}#controls .steering button[data-control=brake]{width:100%;height:44px}#controls #item{min-width:92px!important}#item b{font-size:13px}.speed{right:16px;bottom:144px}.speed b{font-size:36px}#event{top:50px;font-size:10px;max-width:70%;overflow:hidden;text-overflow:ellipsis}#countdown{font-size:80px}.meter{width:135px}}
@media(max-height:480px) and (min-width:601px){header{height:42px}#panel{top:48px;bottom:10px;left:16px;width:360px;padding:18px}h1{font-size:36px;margin-bottom:14px}.race-top{top:52px}#rank{font-size:43px}#standings{top:137px}#standings li{font-size:9px;margin:3px 0}#minimap{top:114px;width:113px;height:102px}#controls{bottom:10px}#controls button{height:49px;min-width:55px;font-size:11px}.speed{bottom:75px;right:24px}.speed b{font-size:32px}#event{top:45px}}
#event.incoming{background:#18589a;color:#fff;box-shadow:0 0 0 3px #9de2ff}
#item small{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){#item small{max-width:82px}}
#mode-picker{display:flex;gap:6px;margin:0 0 15px}#mode-picker button{flex:1;font-size:12px;padding:9px 7px}#mode-picker button[aria-pressed=true]{background:#174c43;color:#fff}#swap{min-width:110px}#swap b{font-size:14px}#swap small{font-size:10px}#controls .actions{align-items:end}#controls .actions button small{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){#swap{min-width:92px!important}#swap b{font-size:12px}.actions{grid-template-columns:repeat(2,1fr)}#item,#swap{height:48px!important}#controls .actions{gap:4px}.speed{bottom:198px}#controls .actions .gas{grid-column:2}#controls .actions button[data-control=boost]{grid-row:2;grid-column:1}#controls .actions button[data-control=drift]{grid-row:2;grid-column:2}}
@media(max-height:480px) and (min-width:601px){#swap{min-width:85px}#controls .actions{gap:5px}#controls .actions button{min-width:55px}#item{min-width:92px!important}}

#maps{display:block}
.current-track{display:flex;align-items:center;gap:12px;min-height:72px;padding:9px 12px;border:1px solid #d6e1d2;border-radius:14px;background:#f3f5ec}
.current-track svg{width:62px;height:48px;flex:none}
.current-track div{display:grid;gap:4px;min-width:0}
.current-track small{font-size:9px;letter-spacing:.6px;color:#75877b}
.current-track strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#show-tracks{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:8px;background:#174c43;color:#fff;border-color:#174c43;text-align:left}
#show-tracks b{font-size:20px}
#track-modal:not([hidden]){display:grid}
#track-modal{position:fixed;inset:0;z-index:8;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#102a29c9;backdrop-filter:blur(5px)}
#track-dialog{width:min(900px,100%);max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:1px solid #fff;border-radius:24px;background:#fffdf4;box-shadow:0 24px 90px #102a2980}
.track-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.track-dialog-head h2{margin:0;font-size:23px;color:#163b38}
.track-dialog-head p{margin:5px 0 0;font-size:12px;color:#687d71}
.track-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.track-grid .map-button{width:100%;min-width:0;min-height:82px;padding:10px;gap:10px}
.track-grid .map-button svg{width:62px;height:50px}
.track-grid .map-button span{display:grid;gap:5px;min-width:0}
.track-grid .map-button small{font-size:9px;letter-spacing:.65px;color:#74867a}
.track-grid .map-button strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.track-grid .map-button[aria-pressed=true]{background:#e4edda;border-color:#266454}
@media(max-width:600px){#show-tracks{min-height:48px}.track-dialog-head{margin-bottom:12px}#track-dialog{padding:16px;border-radius:20px}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.track-grid .map-button{min-height:72px;padding:8px;gap:7px}.track-grid .map-button svg{width:48px;height:42px}.track-grid .map-button strong{font-size:11px}}
@media(max-height:480px) and (min-width:601px){#track-dialog{padding:14px}.track-dialog-head{margin-bottom:9px}.track-grid{gap:7px}.track-grid .map-button{min-height:65px;padding:7px}.track-grid .map-button svg{width:52px;height:42px}}
@media(max-height:480px) and (min-width:601px){#map-picker .section-title{margin:8px 0 6px}.current-track{min-height:58px;padding:6px 10px}.current-track svg{width:52px;height:40px}#show-tracks{min-height:42px;margin-top:5px}}

#event.collision{z-index:2;background:#ffcf69;color:#523a12;border:1px solid #fff2bd;box-shadow:0 7px 24px #d8762680;animation:impact-callout .24s cubic-bezier(.16,1,.3,1)}
#lap-progress{display:flex;gap:3px;width:100px;height:5px;margin:7px 0 0 auto}
#lap-progress>div{flex:1;overflow:hidden;border-radius:8px;background:#d7e1d4}
#lap-progress i{display:block;width:0;height:100%;border-radius:8px;background:linear-gradient(90deg,#eda64d,#ffcf64);transition:width .18s linear}
#catchup{display:inline-block;margin-top:6px;padding:4px 8px;border:1px solid #fff3bf;border-radius:8px;background:#174c43e8;color:#fff2ba;text-shadow:none;font-size:10px;font-weight:850;letter-spacing:0}
@keyframes impact-callout{0%{transform:translateX(-50%) scale(.76);opacity:.5}100%{transform:translateX(-50%) scale(1);opacity:1}}
.results-kicker{display:flex;justify-content:space-between;align-items:center;gap:10px}
#result-meta{font-size:10px;color:#74867a;text-align:right}
#podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;margin:0 0 10px}
.podium-card{display:grid;justify-items:center;align-content:end;gap:5px;min-width:0;padding:8px 5px 9px;border:1px solid #e5e0ca;border-radius:14px;background:#f4f2e8}
.podium-card.place-1{min-height:102px;background:linear-gradient(160deg,#fff3bd,#f2d476);border-color:#d9ac3e}
.podium-card.place-2{min-height:84px}
.podium-card.place-3{min-height:72px}
.podium-card.me{outline:2px solid #266454;outline-offset:1px}
.podium-medal{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff8e4;color:#765016;font-size:12px;font-weight:950;box-shadow:inset 0 0 0 2px #dcba63}
.podium-card strong{max-width:100%;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.podium-card small{font-size:10px;font-variant-numeric:tabular-nums}
#result-list{margin:0 0 8px}
#result-list li{min-height:35px;align-items:center;padding:8px 10px;border-bottom:1px solid #e4e8dc;font-variant-numeric:tabular-nums}
#result-list li:first-child{border-radius:10px 10px 0 0}
#results button{margin-top:7px}
@media(max-width:600px){#results{padding:20px;width:min(420px,94vw)}#results h2{font-size:29px;margin:8px 0 12px}#podium{gap:5px}.podium-card{padding:7px 3px}.podium-card strong{font-size:10px}.podium-card small{font-size:9px}#result-list li{min-height:32px;padding:7px 8px;font-size:11px}}
@media(max-height:480px) and (min-width:601px){#results{max-height:calc(100dvh - 18px);padding:16px}#results h2{font-size:27px;margin:6px 0 8px}#podium{gap:6px;margin-bottom:6px}.podium-card{min-height:60px!important;padding:5px}.podium-card.place-1{min-height:72px!important}#result-list{margin-bottom:4px}#result-list li{min-height:28px;padding:5px 8px}#results button{min-height:38px;margin-top:5px}}
@media(prefers-reduced-motion:reduce){#event.collision{animation:none}#lap-progress i{transition:none}}

#open-garage{width:100%;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:12px;margin:16px 0 2px;padding:10px 14px;text-align:left;background:linear-gradient(115deg,#e9f1df,#fffdf4);border:1px solid #d8e3d1;box-shadow:0 3px 0 #163b3814}
.garage-open-icon{display:grid;place-items:center;width:44px;height:40px;border-radius:11px;background:#174c43;color:#ffe4a1;font-size:22px;transform:skew(-7deg)}
.garage-open-copy{display:grid;gap:3px}.garage-open-copy b{font-size:13px}.garage-open-copy small{font-size:11px;color:#668076}.garage-open-arrow{font-size:19px;color:#648073}
#garage-modal{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));background:#102d2bd9;backdrop-filter:blur(7px)}
#garage-modal[hidden]{display:none}
#garage-dialog{width:min(900px,100%);max-height:calc(100dvh - 26px);overflow:auto;padding:clamp(16px,3vw,28px);border:1px solid #fff;border-radius:22px;background:#fffdf4;color:#183e38;box-shadow:0 22px 70px #092a2870;outline:none}
.garage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.garage-kicker{font-size:9px;font-weight:900;letter-spacing:2px;color:#5e7e70}.garage-head h2{margin:4px 0;font-size:28px;letter-spacing:-1px}.garage-head p{margin:0;color:#697e73;font-size:12px}.garage-head button{min-width:64px;padding:8px 12px;min-height:38px}
#garage-showcase{display:grid;grid-template-columns:minmax(220px,42%) 1fr;align-items:center;gap:18px;min-height:142px;margin:0 0 14px;padding:8px 18px;border:1px solid #e1e8dc;border-radius:15px;background:linear-gradient(112deg,#e9f1e2,#f7f6ed 62%,#f1efe3)}#garage-preview{display:block;width:100%;height:126px;min-width:0}#garage-showcase>div{padding:8px 4px}#garage-showcase>div>span{font-size:9px;font-weight:900;letter-spacing:1.3px;color:#688276}#garage-preview-name{margin:5px 0;font-size:23px;letter-spacing:-.5px}#garage-preview-detail{margin:0;color:#64786d;font-size:11px}
#garage-stats{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}#garage-stats span{padding:7px 10px;border:1px solid #e2e8da;border-radius:9px;background:#f3f5ec;font-size:11px;font-weight:800;color:#4e6c5e}
#garage-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#garage-cards button{min-width:0;min-height:121px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;padding:10px;text-align:left;border:2px solid #e4e8dc;border-radius:14px;background:#fbfaf1;touch-action:manipulation;transition:border-color .15s,transform .15s,background .15s}
#garage-cards button:hover:not(:disabled){transform:translateY(-2px);border-color:#8ca99a}#garage-cards button:focus-visible{outline:3px solid #ec9d2d;outline-offset:2px}#garage-cards button[aria-pressed=true]{border-color:#216455;background:#edf3e4;box-shadow:inset 0 0 0 1px #216455}
#garage-cards button:disabled{opacity:.86;cursor:not-allowed;background:#f2f1e9}
.garage-card-top{display:flex;align-items:center;gap:9px;min-width:0}.garage-card-name{display:grid;gap:3px;min-width:0}.garage-card-name b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.garage-card-name small{font-size:9px;color:#728278;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#garage-cards [data-skin=apex] .garage-card-name small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}
.garage-car{position:relative;flex:none;width:49px;height:40px;border-radius:12px;background:#e9ece1}.garage-car-body{position:absolute;left:11px;top:9px;width:27px;height:24px;border-radius:10px 10px 7px 7px;background:var(--kart-color);box-shadow:inset -5px -4px 0 #00000016,0 2px 3px #183b382e;transform:skew(-7deg)}.garage-car-body:before{content:"";position:absolute;left:6px;top:3px;width:15px;height:8px;border-radius:7px 7px 3px 3px;background:#e8f1e9c9}.garage-car-body:after{content:"";position:absolute;left:11px;top:-4px;width:5px;height:4px;border-radius:5px 5px 0 0;background:#fff0c6}.garage-wheel{position:absolute;z-index:1;width:5px;height:9px;border-radius:3px;background:#18342f}.garage-wheel.a{left:9px;top:13px}.garage-wheel.b{right:9px;top:13px}.garage-wheel.c{left:9px;top:25px}.garage-wheel.d{right:9px;top:25px}
.garage-progress{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;font-weight:800;color:#587265}.garage-progress span:last-child{font-size:9px;color:#8a9589}.garage-selected{color:#17604f!important}.garage-locked{color:#9a7663!important}.garage-locked .garage-car{filter:grayscale(.65)}
#garage-status{min-height:17px;margin:11px 2px 0;color:#587265;font-size:11px}#garage-status[data-state=error]{color:#b14438}#garage-status[data-state=success]{color:#17604f;font-weight:800}
@media(max-width:680px){#garage-showcase{grid-template-columns:minmax(120px,42%) 1fr;gap:10px;min-height:104px;padding:5px 10px;margin-bottom:10px}#garage-preview{height:94px}#garage-preview-name{font-size:20px}#garage-preview-detail{font-size:10px}#garage-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#garage-cards button{min-height:102px;padding:8px}.garage-head h2{font-size:25px}}
@media(max-height:450px) and (min-width:681px){#garage-dialog{max-height:calc(100dvh - 12px);padding:12px 18px}.garage-head{margin-bottom:8px}.garage-head h2{font-size:22px}.garage-head p{font-size:10px}#garage-stats{margin-bottom:8px}#garage-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}#garage-cards button{min-height:78px;flex-direction:row;align-items:center;padding:6px 9px}.garage-car{width:42px;height:36px;transform:scale(.88)}}
@media(prefers-reduced-motion:reduce){#garage-cards button{transition:none}}
