@font-face{font-family:Galmuri;src:url(/assets/Galmuri11-Bold-QdFGsJ3v.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{color:#fdf8e7;font-synthesis:none;background:#16172e;font-family:Courier New,Noto Sans KR,monospace}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;image-rendering:pixelated;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #fff0a3}.pixel-shell{background:#17182f;min-height:100vh}.title-screen,.game-screen{width:100vw;min-height:100vh}.title-screen{z-index:5;position:fixed;inset:0}.title-stage{background:#58cddd;width:100%;min-height:100vh;position:relative;overflow:hidden}.title-keyart{object-fit:cover;filter:brightness(1.1)saturate(1.08);width:100%;height:100%;image-rendering:pixelated;display:block;position:absolute;inset:0}.title-stage>canvas,.title-stage.fallback-art .title-keyart{display:none}.title-stage.fallback-art>canvas{width:100%;height:100%;image-rendering:pixelated;display:block;position:absolute;inset:0}.title-stage:after{z-index:1;content:"";mix-blend-mode:screen;pointer-events:none;background:linear-gradient(90deg,#6fefe26b 0%,#46c9d040 29%,#1f8ba01a 49%,#0000 68%),linear-gradient(#0000 62%,#1268721a);position:absolute;inset:0}.title-stage .scanlines{display:none}.title-logo{z-index:3;text-align:left;width:min(450px,47vw);position:absolute;top:clamp(78px,18vh,176px);left:clamp(24px,7vw,104px);transform:none}.title-logo>span{color:#d8fff4;letter-spacing:.11em;text-shadow:2px 2px #0a5265;margin-bottom:12px;font-family:Galmuri,Noto Sans KR,monospace;font-size:12px;font-weight:700;display:block}.title-logo h1{letter-spacing:-.1em;text-shadow:3px 0 #16435a,-3px 0 #16435a,0 3px #16435a,5px 5px #f45e66;gap:.19em;margin:0;font-family:Galmuri,Noto Sans KR,monospace;font-size:clamp(48px,6.5vw,98px);font-weight:700;line-height:.83;display:grid}.title-word{width:max-content;display:flex}.title-word-panic{color:#fffdec}.title-word-marathon{color:#ffe36e}.title-logo h1 i{animation:1.45s steps(6,end) infinite title-wave;animation-delay:calc(var(--wave-delay) * -120ms);font-style:normal;display:inline-block}.title-logo>b{color:#f1fff6;letter-spacing:.04em;text-shadow:2px 2px #0a5265;margin-top:20px;font-family:Galmuri,Noto Sans KR,monospace;font-size:clamp(12px,1.15vw,15px);font-weight:700;display:inline-block}.title-actions{z-index:3;gap:11px;width:min(278px,52vw);display:grid;position:absolute;bottom:clamp(30px,9vh,92px);left:clamp(24px,7vw,104px)}.title-action{color:#f3fff9;letter-spacing:.03em;text-align:left;text-shadow:2px 2px #0a5265;background:#023f4e1f;border:2px solid #a2f2d8;align-items:center;gap:12px;padding:13px 15px;font-family:Galmuri,Noto Sans KR,monospace;font-size:clamp(12px,1.25vw,15px);font-weight:700;display:flex;box-shadow:4px 4px #053f4cb8}.title-action span{color:#9be9ff;font-size:12px}.title-action.primary{color:#fff9da;border-color:#fff0a3}.title-action.primary span{color:#ff7e87}.title-action:hover{color:#092f43;text-shadow:none;background:#d9ffef;border-color:#d9ffef;transform:translate(2px,2px);box-shadow:2px 2px #052532cc}.title-action:focus-visible{outline-offset:3px;outline:3px solid #ffdb65}.title-caption{z-index:3;color:#f7fff4;letter-spacing:.08em;text-align:right;text-shadow:2px 2px #07546d;font-family:Galmuri,monospace;font-size:clamp(12px,.9vw,14px);font-weight:700;position:absolute;bottom:clamp(32px,8vh,84px);right:clamp(22px,5vw,72px)}.title-stage.room-panel-open .title-actions{display:none}.title-room-panel{z-index:3;color:#effff8;background:#044251bd;border:2px solid #a2f2d8;width:min(340px,55vw);max-height:calc(100vh - 250px);padding:14px;font-family:Galmuri,Noto Sans KR,monospace;position:absolute;bottom:clamp(28px,7vh,76px);left:clamp(24px,7vw,104px);overflow:auto;box-shadow:5px 5px #043544b8}.title-panel-heading{border-bottom:2px solid #bfffe580;align-items:center;gap:9px;margin-bottom:12px;padding-bottom:9px;display:flex}.title-panel-heading span{color:#8df0d3;letter-spacing:.08em;font-size:12px}.title-panel-heading b{color:#fff6ba;margin-left:auto;font-size:12px}.title-room-panel label,.title-map-label,.title-skill-label{color:#d7fff0;letter-spacing:.05em;font-size:12px;display:block}.title-room-panel input,.title-room-panel select{color:#effff7;background:#052b3bc7;border:2px solid #81dcbf;width:100%;min-height:37px;margin-top:6px;padding:8px 9px;font-family:Galmuri,Noto Sans KR,monospace;font-size:12px;box-shadow:inset 2px 2px #021c2b8c}.title-room-panel select{cursor:pointer}.title-room-panel select option{color:#effff7;background:#052b3b}.title-room-panel input:focus,.title-room-panel select:focus{border-color:#fff0a3}.title-room-panel p{color:#bdeee0;margin:9px 0 0;font-size:12px;line-height:1.5}.title-create-fields,.title-room-panel.create-mode .title-join-fields{display:none}.title-room-panel.create-mode .title-create-fields{display:contents}.title-config-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.title-config-grid input{min-height:33px;padding:6px 7px}.title-skill-label{margin-top:1px}.title-skill-label b{color:#fff0a3}.title-skill-options{flex-wrap:wrap;gap:5px;display:flex}.title-skill-options label{color:#effff8;background:#0e5b6799;border:1px solid #9ff1d79e;align-items:center;gap:4px;padding:5px 6px;font-size:12px;display:flex}.title-skill-options input{accent-color:#ffdf73;width:12px;height:12px;min-height:12px;margin:0;padding:0}.title-panel-actions{grid-template-columns:1fr auto;gap:8px;margin-top:13px;display:grid}.title-panel-confirm,.title-panel-back{min-height:39px;padding:9px 11px;font-family:Galmuri,Noto Sans KR,monospace;font-size:12px}.title-panel-confirm{color:#173a4d;background:#fff0a3;border:2px solid #fff9d2;box-shadow:2px 2px #e57c75}.title-panel-back{color:#ecfff7;background:0 0;border:2px solid #9de8d0;box-shadow:2px 2px #032c3bb3}.title-panel-confirm:hover,.title-panel-back:hover{transform:translate(1px,1px);box-shadow:1px 1px #032c3bb3}.title-room-panel.network-waiting .title-name-field,.title-room-panel.network-waiting .title-join-fields,.title-room-panel.network-waiting .title-create-fields{display:none}.title-panel-confirm:disabled{color:#7b7191;box-shadow:none;cursor:not-allowed;background:#3d3854;border-color:#635c77}.title-room-share{background:#052b3bc7;border:2px solid #81dcbf;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 9px;margin:4px 0 12px;padding:11px;display:grid;box-shadow:inset 2px 2px #021c2b8c}.title-room-share span{color:#bdeee0;letter-spacing:.08em;grid-column:1/-1;font-size:12px}.title-room-share strong{color:#fff0a3;letter-spacing:.1em;text-overflow:ellipsis;-webkit-user-select:all;user-select:all;white-space:nowrap;font-size:20px;overflow:hidden}.title-room-share button{color:#173a4d;background:#fff0a3;border:2px solid #fff9d2;min-height:35px;padding:7px 12px;font-family:Galmuri,Noto Sans KR,monospace;font-size:12px;font-weight:700;box-shadow:2px 2px #e57c75}.title-room-share button:hover{transform:translate(1px,1px);box-shadow:1px 1px #e57c75}.game-stage{background:#1c1d39;width:100%;min-height:100vh;position:relative;overflow:hidden}.scanlines{z-index:8;pointer-events:none;opacity:.15;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000 0 3px,#1b1630 3px 4px);position:absolute;inset:0}.pixel-panel{color:#f8f4e6;background:#2f2d4ff0;border:3px solid #776e96;box-shadow:5px 5px #100f1fe6}input{color:#fff8e2;background:#1e203d;border:3px solid #5a577c;outline:none;flex:1;min-width:0;padding:10px;font-size:12px;font-weight:700;box-shadow:inset 3px 3px #15162e}input:focus{border-color:#f4cd64}.game-screen{z-index:10;background:#121329;position:fixed;inset:0}.game-stage{background:radial-gradient(circle,#2c2c53,#131429 72%);place-items:center;min-height:100vh;display:grid}.game-frame{aspect-ratio:16/9;background:#1c1d39;border:5px solid #e0c477;width:min(100vw,177.778vh);position:relative;overflow:hidden;box-shadow:8px 8px #0d0d1d}.game-frame canvas{cursor:crosshair;width:100%;height:100%;image-rendering:pixelated;display:block}.world-label-layer{z-index:9;pointer-events:none;position:absolute;inset:0;overflow:hidden}.world-label{color:#fff3b1;white-space:nowrap;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;background:#2d2742;border:1px solid #181426;min-height:17px;padding:2px 5px 1px;font-family:Courier New,Noto Sans KR,monospace;font-size:13px;font-weight:700;line-height:1.1;display:block;position:absolute;transform:translateY(calc(-100% - 2px));box-shadow:inset 0 1px #675a7d}.world-label-stack{gap:2px;display:grid;position:absolute;transform:translateY(calc(-100% - 2px))}.world-label-stack .world-label{position:static;transform:none}.world-label.runner-name-label{color:#a0f0c8;background:#183e47;border-color:#102936;box-shadow:inset 0 1px #4b8b88}.world-label.runner-skill-label{color:#fff0a7}.world-label.is-cooling:after{box-sizing:border-box;content:"";vertical-align:middle;border:2px solid #6fd9d2;border-top-color:#fff5b7;border-radius:50%;width:9px;height:9px;margin:0 0 1px 4px;animation:.62s steps(8,end) infinite skill-charge-ring;display:inline-block}@keyframes skill-charge-ring{to{transform:rotate(1turn)}}.frame-button{z-index:4;color:#f8f1dc;background:#2a2846f2;border:2px solid #857a9e;min-height:38px;padding:8px 12px;font-size:13px;font-weight:900;box-shadow:2px 2px #0e0d1be6}.frame-actions{z-index:4;align-items:stretch;gap:7px;display:flex;position:absolute;top:10px;right:10px}.frame-actions .frame-button{white-space:nowrap;min-width:76px;position:static}.frame-button:hover{color:#2d2945;background:#f4cd64}.race-board{z-index:2;color:#f8f1dc;pointer-events:none;background:#1f1f3aeb;border:3px solid #7e759c;width:270px;padding:10px;font-size:13px;position:absolute;top:10px;left:10px;box-shadow:4px 4px #131123e6}.race-title{color:#f4cd64;letter-spacing:.04em;justify-content:space-between;margin-bottom:5px;font-size:13px;font-weight:900;display:flex}.race-row{border-top:1px solid #7e759c59;grid-template-columns:14px 15px minmax(0,1fr) 42px 38px;align-items:center;gap:3px;min-height:26px;padding:4px;display:grid}.race-row.me{color:#fff4af;background:#7ee2b12b}.race-dot{width:10px;height:10px;box-shadow:1px 1px #201d3c}.race-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.race-progress{color:#bcebd4;text-align:right}.race-cp{color:#d4c7df;text-align:right}.message-box{z-index:2;color:#eae4f1;pointer-events:none;background:#1f1f3ae8;border:2px solid #7e759c;width:auto;padding:9px 11px;font-size:12px;line-height:1.55;position:absolute;bottom:10px;left:10px;right:190px}.key{color:#302840;background:#f4cd64;padding:1px 5px;font-weight:900;display:inline-block}.game-chat{z-index:5;pointer-events:none;gap:0;width:min(420px,100% - 20px);font-family:Galmuri,Noto Sans KR,monospace;font-size:12px;display:grid;position:absolute;bottom:58px;left:10px}.game-chat-messages{text-shadow:1px 1px #111326;scrollbar-color:#f4cd64c7 #13172d6b;background:linear-gradient(#10162b61,#14182fc2);border:2px solid #70789c94;border-bottom:0;flex-direction:column;justify-content:flex-end;gap:2px;min-height:82px;max-height:126px;padding:8px 10px;display:flex;overflow:hidden auto;box-shadow:inset 0 -12px 20px #0e112338}.game-chat-empty{color:#e0e5ed9e;margin:0;padding:2px 3px;font-size:12px;line-height:1.45}.game-chat-message{color:#f3edf7;overflow-wrap:anywhere;align-items:baseline;gap:6px;margin:0;padding:2px 3px;line-height:1.45;display:flex}.game-chat-message.me{color:#d8fff0}.game-chat-message strong{flex:none;font-size:12px}.game-chat-message strong:after{color:#d8cfdf;content:":"}.game-chat-form{color:#d9d1e4;pointer-events:none;background:#181b34d6;border:2px solid #70789cd1;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:7px;padding:5px 7px;transition:background-color .12s,border-color .12s;display:grid;box-shadow:3px 3px #0e1022b8}.game-chat.is-open .game-chat-form{pointer-events:auto;background:#191d37f5;border-color:#7ee2b1}.game-chat-form label{color:#f4cd64;font-size:12px;font-weight:900}.game-chat-form input{color:#b9b7c7;opacity:.72;cursor:default;background:#14172db3;border:2px solid #575773;min-height:31px;padding:5px 7px;font-family:inherit;font-size:12px;box-shadow:inset 2px 2px #0c0d1d8c}.game-chat.is-open .game-chat-form input{color:#fff8e2;opacity:1;cursor:text;background:#1e203d;border-color:#f4cd64}.game-chat-form>span{color:#aaa1b9;white-space:nowrap;font-size:12px}.game-chat.is-open .game-chat-form>span{color:#d7d1df}.skill-bar{z-index:2;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute;top:52px;left:10px;right:10px}.skill-bar.track-mode{justify-content:flex-end;inset:auto 10px 59px auto}.skill-chip{color:#fff7dc;text-align:center;background:#2a2544eb;border:1px solid #82769d;min-width:112px;padding:7px 8px;font-size:12px;font-weight:900;line-height:1.35;box-shadow:1px 1px #141125cc}.skill-chip b{color:#f5ce66;font-size:12px;display:block}.skill-chip.cooldown{color:#9e96ad;background:#242237f2;border-color:#5b5772}.skill-chip.cooldown b{color:#a79cac}.skill-chip.active{border-color:#7ee2b1;box-shadow:0 0 0 1px #7ee2b166}.ghost-button{color:#d9d2e3;background:#403d5ff5;border:2px solid #777197;padding:10px;font-size:12px;font-weight:900;transition:color .12s,background-color .12s,transform .12s;box-shadow:3px 3px #18172e}.ghost-button:hover{color:#fff9e5;background:#5d5880;transform:translate(1px,1px)}.game-menu-actions{z-index:3;gap:8px;display:flex;position:absolute;bottom:10px;right:10px}.game-menu-actions .ghost-button{min-width:165px;min-height:42px}.match-results{z-index:12;background:#0e0e22d1;place-items:center;padding:18px;display:grid;position:absolute;inset:0;overflow:auto}.result-card{color:#f8f4e6;background:#302d4f;border:4px solid #f4cd64;width:min(720px,100%);max-height:100%;padding:22px;font-family:Galmuri,Noto Sans KR,monospace;overflow:auto;box-shadow:8px 8px #151329}.result-marker{color:#7ee2b1;letter-spacing:.12em;font-size:12px;display:block}.result-card h2{color:#fff4af;margin:8px 0 4px;font-size:25px;line-height:1.25}.result-summary{color:#cfc6d8;margin:0 0 15px;font-size:12px}.result-standings{gap:4px;margin:0;padding:0;list-style:none;display:grid}.result-row{color:#eae4f1;background:#24223e;border:2px solid #5f5879;grid-template-columns:28px 14px minmax(0,1fr) auto;align-items:center;gap:7px 8px;min-height:70px;padding:8px 9px;font-size:12px;display:grid}.result-row:first-child{color:#fff4af;border-color:#dcae55}.result-row.me{background:#24424a;border-color:#70c9a2}.result-place{color:#f4cd64;text-align:center;font-size:16px}.result-runner{gap:3px;min-width:0;display:grid}.result-name{color:#f8f4e6;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:normal;overflow:hidden}.result-title{color:#8ce4bc;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;overflow:hidden}.result-progress{color:#bcebd4;text-align:right;white-space:nowrap}.result-stats{flex-wrap:wrap;grid-column:3/-1;gap:4px;display:flex}.result-stats span{color:#e8e0ee;white-space:nowrap;background:#191832;border:1px solid #514c6b;align-items:center;gap:4px;min-height:22px;padding:3px 6px;display:inline-flex}.result-stats b{color:#f4cd64;font-weight:700}.result-actions{grid-template-columns:1fr auto;gap:8px;margin-top:16px;display:grid}.result-actions button{min-height:42px;padding:9px 12px;font-family:inherit;font-size:12px;font-weight:700}.result-primary{color:#173a4d;background:#fff0a3;border:2px solid #fff9d2;box-shadow:3px 3px #d76f72}.result-secondary{color:#ecfff7;background:#514b70;border:2px solid #8a82a4;box-shadow:3px 3px #18172e}.result-actions button:hover:not(:disabled){transform:translate(1px,1px);box-shadow:2px 2px #18172e}.result-actions button:disabled{color:#888198;box-shadow:none;cursor:not-allowed;background:#3d3854;border-color:#635c77}.result-status{color:#a9d8cb;min-height:18px;margin:11px 0 0;font-size:12px;line-height:1.5}.match-countdown{z-index:30;pointer-events:none;background:#11122a61;place-items:center;display:grid;position:fixed;inset:0}.match-countdown span{color:#fff4af;letter-spacing:-.08em;text-shadow:5px 0 #3a3158,-5px 0 #3a3158,0 5px #3a3158,8px 8px #e76f79;font-family:Galmuri,Noto Sans KR,monospace;font-size:clamp(84px,18vw,190px);font-weight:700;line-height:1;animation:.9s steps(5,end) infinite countdown-pop}.match-countdown.starting span{color:#9ff0c7;letter-spacing:-.04em;text-shadow:5px 0 #23495a,-5px 0 #23495a,0 5px #23495a,8px 8px #f4cd64;font-size:clamp(58px,12vw,130px);animation-duration:.35s}.toast{z-index:20;color:#2d2945;opacity:0;pointer-events:none;background:#f4cd64;border:3px solid #fff0a5;padding:10px 14px;font-size:13px;font-weight:900;transition:opacity .14s,transform .14s;position:fixed;top:22px;left:50%;transform:translate(-50%,-15px);box-shadow:4px 4px #4b375a}.toast.visible{opacity:1;transform:translate(-50%)}.hidden{display:none!important}@keyframes blink{50%{opacity:.35}}@keyframes countdown-pop{0%{opacity:.4;transform:scale(.74)}18%,72%{opacity:1;transform:scale(1)}to{opacity:.78;transform:scale(.92)}}@keyframes title-wave{0%,to{transform:translateY(0)}25%{transform:translateY(-.09em)}50%{transform:translateY(-.16em)}75%{transform:translateY(-.06em)}}.title-actions{gap:12px;width:min(306px,54vw)}.title-action{background:linear-gradient(#044b5842,#02354433);min-height:50px;padding:14px 17px;font-size:clamp(13px,1.3vw,16px)}.title-room-panel{scrollbar-color:#f4cd64 #163d4b;background:linear-gradient(#044251f0,#032f3ff5);border-width:3px;width:min(380px,100vw - 48px);padding:17px;box-shadow:6px 6px #042a37d1,inset 0 0 0 1px #d1ffef29}.title-room-panel.create-mode{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:min(440px,100vw - 48px);padding:14px;display:grid}.title-room-panel label,.title-map-label,.title-skill-label{font-size:13px}.title-room-panel input,.title-room-panel select{min-height:40px;font-size:13px}.title-room-panel p{font-size:13px}.title-room-panel.create-mode .title-panel-heading{grid-column:1/-1;margin-bottom:0;padding-bottom:8px}.title-room-panel.create-mode .title-name-field{grid-area:2/1;margin-bottom:0}.title-room-panel.create-mode .title-invite-field{grid-area:2/2}.title-room-panel.create-mode .title-config-grid{display:contents}.title-room-panel.create-mode .title-config-grid label:first-child{grid-area:3/1}.title-room-panel.create-mode .title-config-grid label:last-child{grid-area:3/2}.title-room-panel.create-mode .title-map-field{grid-area:4/1}.title-room-panel.create-mode .title-skill-field{grid-area:4/2}.title-room-panel.create-mode .title-map-label,.title-room-panel.create-mode .title-skill-label{letter-spacing:0;white-space:nowrap;margin-top:0}.title-room-panel.create-mode .title-skill-label b{white-space:nowrap}.title-room-panel.create-mode label,.title-room-panel.create-mode .title-map-label,.title-room-panel.create-mode .title-skill-label{font-size:12px}.title-room-panel.create-mode input,.title-room-panel.create-mode select{min-height:36px;padding:7px 8px;font-size:12px}.title-room-panel.create-mode .title-config-grid{gap:7px}.title-room-panel.create-mode .title-config-grid input{min-height:34px;padding:5px 7px}.title-map-field,.title-skill-field{gap:6px;min-width:0;display:grid}.title-popover-select{color:#effff8;min-width:0;font-family:Galmuri,Noto Sans KR,monospace;font-size:12px;position:relative}.title-popover-select>summary{color:#fff9da;cursor:pointer;background:#052b3be0;border:2px solid #81dcbf;align-items:center;min-height:38px;padding:7px 36px 7px 10px;list-style:none;display:flex;position:relative;overflow:hidden;box-shadow:inset 2px 2px #021c2b8c}.title-popover-select>summary::-webkit-details-marker{display:none}.title-popover-select>summary:after{content:"";border-bottom:2px solid #a2f2d8;border-right:2px solid #a2f2d8;width:8px;height:8px;transition:transform .12s;position:absolute;top:50%;right:13px;transform:translateY(-30%)rotate(225deg)}.title-popover-select[open]>summary{border-color:#fff0a3}.title-popover-select[open]>summary:after{transform:translateY(-70%)rotate(45deg)}.title-popover-select>summary:focus-visible{outline-offset:3px;outline:2px solid #fff9d2}.title-skill-select.invalid>summary{border-color:#ff8c91}#title-map-summary,#title-skill-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.title-skill-options{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px;display:grid}.title-map-options{grid-template-columns:1fr;gap:6px;display:grid}.title-map-select .title-map-options,.title-skill-select .title-skill-options{z-index:6;scrollbar-color:#f4cd64 #163d4b;background:#042b39f5;border:2px solid #81dcbfc2;width:calc(200% + 8px);max-height:210px;margin:0;padding:8px;position:absolute;bottom:calc(100% + 7px);overflow-y:auto;box-shadow:3px 3px #032330b8}.title-map-select .title-map-options{left:0}.title-skill-select .title-skill-options{right:0}.title-map-options label,.title-skill-options label{cursor:pointer;background:#053443d1;border:2px solid #81dcbf9e;align-items:center;gap:6px;min-width:0;min-height:36px;padding:6px 8px;transition:border-color .12s,background-color .12s,transform .12s;display:flex;position:relative;overflow:hidden;box-shadow:inset 2px 2px #021c2b7a}.title-map-options label:hover,.title-skill-options label:hover{background:#0e5b67d1;border-color:#a2f2d8}:is(.title-map-options label:has(input:checked),.title-skill-options label:has(input:checked)){color:#fff9da;background:#116970e0;border-color:#a2f2d8}.title-room-panel .title-map-options input[type=radio],.title-room-panel .title-skill-options input[type=checkbox]{cursor:pointer;appearance:none;background:#073142;border:2px solid #81dcbf;border-radius:0;flex:0 0 16px;place-content:center;width:16px;min-width:16px;height:16px;min-height:16px;margin:0;padding:0;display:grid;box-shadow:inset 1px 1px #021622cc}.title-room-panel .title-map-options input[type=radio]:after{content:"";background:#173a4d;width:6px;height:6px;transform:scale(0)}.title-room-panel .title-skill-options input[type=checkbox]:after{content:"";border:2px solid #173a4d;border-width:0 2px 2px 0;width:4px;height:8px;transform:translateY(-1px)rotate(45deg)scale(0)}.title-room-panel .title-map-options input[type=radio]:checked,.title-room-panel .title-skill-options input[type=checkbox]:checked{background:#ffdf73;border-color:#fff0a3;box-shadow:2px 2px #e57c75}.title-room-panel .title-map-options input[type=radio]:checked:after{transform:scale(1)}.title-room-panel .title-skill-options input[type=checkbox]:checked:after{transform:translateY(-1px)rotate(45deg)scale(1)}.title-room-panel .title-map-options input[type=radio]:focus-visible,.title-room-panel .title-skill-options input[type=checkbox]:focus-visible{outline-offset:3px;outline:2px solid #fff9d2}.title-map-options span,.title-skill-options span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.title-skill-label{justify-content:space-between;align-items:center;gap:8px;display:flex}.title-skill-label b.invalid{color:#ff8c91}.title-panel-actions{z-index:2;background:linear-gradient(#0000,#032f3f 28%);margin:15px -17px -17px;padding:12px 17px 17px;position:sticky;bottom:-17px}.title-panel-confirm,.title-panel-back{min-height:44px;font-size:13px}.title-room-panel.create-mode .title-panel-actions{background:0 0;grid-column:1/-1;margin:4px 0 0;padding:0;position:static}.title-room-panel.create-mode .title-panel-confirm,.title-room-panel.create-mode .title-panel-back{min-height:40px;padding:8px 10px;font-size:12px}.title-waiting-summary{gap:9px;margin-bottom:12px;display:grid}.title-waiting-status{color:#eafff7;background:#082d3bb8;border:1px solid #8ee7cc8a;align-items:center;gap:9px;padding:9px 11px;font-size:13px;display:flex}.title-waiting-status i{background:#7ee2b1;width:10px;height:10px;animation:1.2s steps(2,end) infinite blink;box-shadow:0 0 0 2px #174e57,0 0 8px #7ee2b1bf}.title-waiting-meta{grid-template-columns:1fr 1fr;gap:7px;display:grid}.title-waiting-meta span{background:#0a3b47b8;border:1px solid #83dcbf6b;min-width:0;padding:9px 10px}.title-waiting-meta small{color:#8de8d0;letter-spacing:.09em;font-size:11px;display:block}.title-waiting-meta b{color:#fff0a3;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;display:block;overflow:hidden}.title-waiting-roster-heading{color:#bdeee0;letter-spacing:.09em;justify-content:space-between;font-size:11px;display:flex}.title-waiting-roster-heading b{color:#fff0a3}.title-waiting-players{gap:5px;display:grid}.title-waiting-player{color:#f0fff9;background:#092b3ab3;border:1px solid #97decd52;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:7px 9px;font-size:13px;display:grid}.title-waiting-player i{width:10px;height:10px;box-shadow:1px 1px #122939}.title-waiting-player span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.title-waiting-player b{color:#7ee2b1;letter-spacing:.06em;font-size:11px}.title-waiting-player.disconnected{opacity:.55}.title-room-panel.network-waiting{width:min(410px,100vw - 48px)}@media (width<=850px){body{overflow:auto}.title-logo{top:36px}.title-actions,.title-room-panel{bottom:45px;left:20px}.title-room-panel{width:min(330px,100vw - 40px)}.title-caption{display:none}.message-box{font-size:12px}.title-room-panel.create-mode{width:min(440px,100vw - 40px)}}@media (width<=520px){.title-logo{top:28px}.title-logo h1{font-size:49px}.title-logo>b{margin-top:13px;font-size:12px}.title-actions{width:240px;bottom:25px;left:16px}.title-room-panel{width:calc(100vw - 32px);max-height:calc(100vh - 190px);bottom:18px;left:16px}.title-action{padding:11px 12px;font-size:12px}.race-board{width:205px;padding:6px}.race-row{grid-template-columns:10px 12px minmax(0,1fr) 34px 30px;gap:2px}.race-dot{width:8px;height:8px}.skill-bar.track-mode{bottom:59px;right:8px}.skill-chip{min-width:96px;padding:5px 6px}.message-box{padding:7px 8px;font-size:12px;bottom:6px;left:7px;right:7px}.game-chat{width:calc(100% - 14px);bottom:57px;left:7px}.game-chat-form{grid-template-columns:auto 1fr}.game-chat-form>span{display:none}.match-results{padding:10px}.result-card{padding:15px}.result-card h2{font-size:20px}.result-row{grid-template-columns:24px 12px minmax(0,1fr) auto;gap:5px;padding:6px}.result-actions{grid-template-columns:1fr}.title-room-panel.create-mode{width:calc(100vw - 32px);max-height:calc(100vh - 190px);bottom:18px;left:16px}.title-map-select .title-map-options,.title-skill-select .title-skill-options{max-height:176px}.race-board{width:220px;padding:7px;font-size:12px}.frame-actions{top:8px;left:auto;right:8px}.message-box{bottom:56px;left:7px;right:7px}.game-chat{bottom:106px}.game-menu-actions{bottom:7px;left:7px;right:7px}.game-menu-actions .ghost-button{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){.title-logo h1 i,.title-waiting-status i,.world-label.is-cooling:after,.match-countdown span{animation:none}.title-action,.ghost-button,.toast{transition:none}}
