:root{--lobby-bg:#0d0f14f0;--lobby-line:#2f3440;--lobby-text:#eef0f4;--lobby-dim:#9aa2b1;--lobby-accent:#ffd84a;--lobby-accent-dark:#c79a12;--lobby-accent-text:#1a1a1a;--lobby-ok:#6fe39a;--lobby-me:#8fd0ff;--lobby-error:#ff8f8f;--lobby-font:"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;--lobby-outline:-2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000, 0 -2px 0 #000, 0 2px 0 #000, -2px 0 0 #000, 2px 0 0 #000}#ui{font-family:var(--lobby-font);color:var(--lobby-text);z-index:10;background:radial-gradient(at 50% 45%,#080a0e59,#050608ed 78%),url(/assets/tiles/floor_classroom.png) 0 0/64px 64px,#15171c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}#ui[hidden]{display:none}.lobby-stage{pointer-events:none;z-index:0;height:90px;position:fixed;bottom:0;left:0;right:0}.lobby-stage img{filter:drop-shadow(0 4px #00000073);width:64px;height:64px;animation:.9s ease-in-out infinite lobby-bob;position:absolute;bottom:10px}.lobby-stage img.flip{transform:scaleX(-1)}@keyframes lobby-bob{50%{translate:0 -4px}}@media (height<=560px){.lobby-stage{display:none}}.lobby-card{z-index:1;box-sizing:border-box;background:var(--lobby-bg);width:100%;max-width:492px;box-shadow:inset 0 0 0 1px var(--lobby-line), 0 8px 0 #0000008c, 0 24px 60px #0009;border:2px solid #000;border-radius:12px;margin:auto;padding:22px 24px 24px;position:relative}.lobby-hero{justify-content:center;align-items:flex-end;gap:6px;margin:-6px 0 2px;display:flex}.lobby-hero img{filter:drop-shadow(0 3px #00000080);width:56px;height:56px;animation:.9s ease-in-out infinite lobby-bob}.lobby-hero img.flip{animation-delay:.45s;transform:scaleX(-1)}.lobby-title{color:var(--lobby-accent);text-align:center;letter-spacing:1px;text-shadow:var(--lobby-outline), 0 5px 0 #000;white-space:nowrap;margin:0 0 6px;font-size:36px;font-weight:900;transform:rotate(-2deg)}.lobby-version{color:#6a7180;letter-spacing:.5px;font-size:11px;font-weight:700;text-decoration:none;position:absolute;bottom:8px;right:12px}.lobby-version:hover{color:var(--lobby-accent);text-decoration:underline}.lobby-update{background:var(--lobby-accent);box-shadow:inset 0 -3px 0 var(--lobby-accent-dark);border:2px solid #000;border-radius:10px;align-items:center;gap:6px;margin:-8px -10px 14px;padding:8px 8px 8px 12px;animation:.4s ease-out lobby-update-in;display:flex}.lobby-update-link{color:var(--lobby-accent-text);flex:1;font-size:14px;font-weight:800;text-decoration:none}.lobby-update-close{width:26px;height:26px;color:var(--lobby-accent-text);font:700 16px var(--lobby-font);cursor:pointer;background:#00000026;border:0;border-radius:50%;flex:none}.lobby-notice{background:#8fd0ff;box-shadow:inset 0 -3px #4d93c4}.lobby-notice .lobby-update-link{word-break:break-all}@keyframes lobby-update-in{0%{opacity:0;transform:translateY(-8px)}}.lobby-sub{text-align:center;color:var(--lobby-dim);margin:4px 0 18px;font-size:14px}.lobby-card h2{color:#fff;text-shadow:0 2px #000;margin:0 0 8px;font-size:22px;font-weight:900}.lobby-card h3{color:var(--lobby-accent);letter-spacing:.5px;align-items:center;gap:6px;margin:18px 0 8px;font-size:13px;font-weight:800;display:flex}.lobby-card h3:before{content:"";background:var(--lobby-accent);border-radius:2px;width:4px;height:14px}.lobby-head{justify-content:space-between;align-items:center;display:flex}.lobby-input{box-sizing:border-box;width:100%;box-shadow:inset 0 0 0 1px var(--lobby-line), inset 0 3px 0 #00000059;color:var(--lobby-text);font:inherit;background:#1a1e27;border:2px solid #000;border-radius:10px;outline:none;margin-bottom:10px;padding:11px 12px;font-size:16px}.lobby-input:focus{box-shadow:inset 0 0 0 2px var(--lobby-accent), inset 0 3px 0 #00000059}.lobby-input.code{text-transform:uppercase;letter-spacing:4px;text-align:center;margin-bottom:0}.lobby-row{gap:10px;display:flex}.lobby-row>*{flex:1}.lobby-btn{color:var(--lobby-text);font:inherit;cursor:pointer;background:#2b3140;border:2px solid #000;border-radius:10px;padding:11px 14px 13px;font-size:15px;font-weight:800;transition:transform 50ms,filter .1s;box-shadow:inset 0 -4px #00000059,inset 0 2px #ffffff14}.lobby-btn:hover:not(:disabled){filter:brightness(1.12)}.lobby-btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 -2px #00000059}.lobby-btn.primary{background:var(--lobby-accent);color:var(--lobby-accent-text);box-shadow:inset 0 -4px 0 var(--lobby-accent-dark), inset 0 2px 0 #ffffff73}.lobby-btn.primary:active:not(:disabled){box-shadow:inset 0 -2px 0 var(--lobby-accent-dark)}.lobby-btn:disabled{opacity:.5;cursor:default}.lobby-btn.small{flex:none;padding:6px 12px 8px;font-size:13px}.lobby-link{color:var(--lobby-dim);font:inherit;cursor:pointer;background:0 0;border:none;text-decoration:underline}.lobby-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.lobby-item{min-height:24px;box-shadow:inset 0 0 0 1px var(--lobby-line);background:#1a1e27;border:2px solid #000;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.lobby-item.me{box-shadow:inset 0 0 0 2px #8fd0ff8c}.lobby-item.me .lobby-room-name{color:var(--lobby-me)}.lobby-item.empty{color:#5a6170;box-shadow:none;background:#1a1e2780;border-style:dashed;border-color:#3a404c}.lobby-avatar{filter:drop-shadow(0 2px #00000080);width:32px;height:32px;margin:-6px 0}.lobby-item.empty .lobby-avatar{opacity:.25;filter:grayscale()}.lobby-empty{color:var(--lobby-dim);padding:8px 0}.lobby-room-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:700;overflow:hidden}.lobby-count{color:var(--lobby-dim);font-variant-numeric:tabular-nums}.lobby-state{color:var(--lobby-dim);font-size:13px}.lobby-state.ok{color:var(--lobby-ok)}.lobby-check{color:var(--lobby-dim);margin:0 0 10px;font-size:14px;display:block}.lobby-btn.block{width:100%}.lobby-code{color:var(--lobby-dim);margin:0 0 14px}.lobby-code strong{color:var(--lobby-accent);letter-spacing:4px;text-shadow:0 2px #000;background:#1a1e27;border:2px solid #000;border-radius:8px;margin-left:6px;padding:2px 10px 3px;font-size:22px;display:inline-block}.lobby-badge{background:#2f3542;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px}.lobby-help{color:var(--lobby-dim);background:#0000004d;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;margin:18px 0 0;padding:12px 14px;font-size:13px;line-height:1.4;display:grid}.lobby-help dt{text-align:right;white-space:nowrap}.lobby-help dd{margin:0}.lobby-help kbd{min-width:14px;color:var(--lobby-text);font:700 11px var(--lobby-font);text-align:center;background:#2b3140;border:1px solid #000;border-radius:5px;margin:0 1px;padding:1px 5px 2px;display:inline-block;box-shadow:inset 0 -2px #0006}.lobby-status{color:var(--lobby-error);text-align:center;margin:14px 0 0;font-size:14px;font-weight:700}.install-hint{z-index:30;color:var(--lobby-text);background:#000000bf;justify-content:center;align-items:center;padding:16px;font-family:Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif;display:flex;position:fixed;inset:0;overflow-y:auto}.install-card h2{text-align:center;color:var(--lobby-accent)}.install-steps{margin:0 0 16px;padding-left:22px;font-size:16px;line-height:1.8}.install-card .lobby-btn.block{margin-bottom:10px}.install-steps li{white-space:pre-line;margin-bottom:4px}.install-skip{margin:12px auto 0;font-size:13px;display:block}.install-arrow{z-index:31;color:var(--lobby-accent);text-shadow:var(--lobby-outline), 0 4px 0 #000;pointer-events:none;font-size:44px;line-height:1;animation:.8s ease-in-out infinite install-bounce;position:fixed}.install-arrow.bottom{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 6px);translate:-50%}.install-arrow.bottom-right{right:24px;bottom:calc(env(safe-area-inset-bottom,0px) + 6px)}.install-arrow.top-right{right:18px;top:calc(env(safe-area-inset-top,0px) + 6px);animation-name:install-bounce-up}@keyframes install-bounce{50%{transform:translateY(10px)}}@keyframes install-bounce-up{50%{transform:translateY(-10px)}}.game-chat{font-family:Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif}.game-chat-log{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:3px;width:min(420px,60vw);display:flex;position:fixed;bottom:130px;left:50%;transform:translate(-50%)}.game-chat.typing .game-chat-log{display:none}.game-chat-history{left:50%;bottom:calc(var(--chat-lift,0px) + 64px);z-index:6;width:min(480px,100vw - 32px);max-height:min(260px, calc(100dvh - var(--chat-lift,0px) - 90px));overscroll-behavior:contain;box-sizing:border-box;background:#0d0f14bf;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:8px;display:flex;position:fixed;overflow-y:auto;transform:translate(-50%)}.game-chat-history[hidden]{display:none}.game-chat-history:empty:before{content:attr(data-empty);color:#9aa0aa;font-size:13px}.game-chat-history .game-chat-line{background:0 0;padding:1px 4px}.game-chat-line{color:#fff;word-break:break-all;background:#0000008c;border-radius:8px;padding:3px 8px;font-size:14px;line-height:1.35;transition:opacity .8s}.game-chat-line b{color:#ffd84a}.game-chat-line.me b{color:#8fd0ff}.game-chat-line.fade{opacity:0}.game-chat-bar{bottom:calc(var(--chat-lift,0px) + 12px);z-index:6;gap:6px;width:min(480px,100vw - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.game-chat-bar[hidden],.game-chat-open[hidden]{display:none}.game-chat-bar input{color:#fff;min-width:0;font:inherit;background:#0d0f14eb;border:2px solid #ffd84a;border-radius:10px;outline:none;flex:1;padding:10px 12px;font-size:16px}.game-chat-bar button{color:#1a1a1a;font:inherit;background:#ffd84a;border:0;border-radius:10px;padding:0 14px;font-weight:700}.game-chat-open{z-index:5;cursor:pointer;background:#00000080;border:0;border-radius:50%;width:44px;height:44px;padding:0;font-size:22px;line-height:44px;position:fixed;bottom:8px;left:50%;transform:translate(-50%)}.room-chat{margin:14px 0 0}.room-chat-log{height:120px;box-shadow:inset 0 0 0 1px var(--lobby-line);word-break:break-all;background:#0000004d;border:2px solid #000;border-radius:10px;padding:8px 10px;font-size:14px;line-height:1.5;overflow-y:auto}.room-chat-log b{color:var(--lobby-accent)}.room-chat-log .me b{color:var(--lobby-me)}.room-chat-log .empty{color:var(--lobby-dim)}.room-chat .lobby-row{margin-top:8px}.room-chat .lobby-input{margin-bottom:0}#ui[data-screen=start]{background:radial-gradient(at 27% 30%,#303b39b8,#0b1015ef 76%),url(/assets/tiles/floor_classroom.png) 0 0/96px 96px,#0d1317;padding:28px clamp(16px,4vw,64px)}#ui[data-screen=start]>.lobby-card{max-width:1080px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.start-layout{animation:.45s ease-out title-arrive}.title-header,.ranking-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.title-header{border-bottom:1px solid #ffffff24;padding-bottom:20px}.eyebrow{letter-spacing:2px;color:#aeb9b7;font-size:10px;font-weight:800}.title-header .lobby-version{color:#bec7c6;white-space:nowrap;font-size:12px;position:static}.start-play{grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(28px,6vw,80px);padding:38px 0 28px;display:grid}.title-copy>.eyebrow{color:#e2cf8b;letter-spacing:1px;margin:0 0 12px}.start-play .lobby-title{text-align:left;letter-spacing:-2px;transform-origin:0;margin:0 0 18px;font-size:clamp(34px,4.6vw,55px);transform:rotate(-3deg)}.start-play .lobby-sub{text-align:left;margin-bottom:4px;font-size:14px}.start-actions{border-left:1px solid #ffffff24;padding-left:clamp(20px,3vw,42px)}.start-actions h2{margin-bottom:20px;font-size:22px}.field-label{color:#c0c9cd;margin-bottom:8px;font-size:12px;display:block}.start-actions .lobby-input{border-radius:4px;margin-bottom:14px;padding:14px}.start-actions .lobby-row{flex-direction:column-reverse}.start-actions .lobby-btn{border-radius:4px;min-height:49px}.entry-note{color:#99a7a9;text-align:center;font-size:12px}.practice-link{margin:16px auto;font-size:12px;display:block}.controls-help{border-top:1px solid #ffffff1c;margin-top:26px;padding-top:14px}.controls-help summary{cursor:pointer;color:#b6c2c5;font-size:12px}.controls-help .lobby-help{background:0 0;padding:0;font-size:12px}.survivor-preview{align-items:center;gap:22px;min-height:176px;display:flex;position:relative;overflow:hidden}.selected-survivor{width:168px;height:168px;image-rendering:pixelated;filter:drop-shadow(0 12px 6px #0008);animation:3s ease-in-out infinite survivor-idle;position:relative}.preview-orbit{border:1px solid var(--skin-color);opacity:.28;background:radial-gradient(ellipse, var(--skin-color), transparent 70%);border-radius:50%;width:156px;height:50px;position:absolute;bottom:18px;left:6px}.survivor-caption{flex-direction:column;gap:10px;display:flex}.survivor-caption strong{color:var(--skin-color);font-size:23px}.survivor-caption>span:last-child{color:#a7b3b6;font-size:12px}.skin-options{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.skin-option{color:#a7b3b6;cursor:pointer;font:11px var(--lobby-font);background:#111a20b3;border:1px solid #ffffff1e;border-radius:3px;padding:2px 0 9px;transition:background .18s,transform .18s,border-color .18s}.skin-option img{width:64px;height:64px;image-rendering:pixelated;margin:auto;display:block}.skin-option.selected{border-color:var(--skin-color);color:var(--skin-color);box-shadow:inset 0 -2px var(--skin-color);background:#253333}.skin-option:hover:not(:disabled){background:#2b373b;transform:translateY(-3px)}.skin-note{color:#88999c;margin:10px 0 0;font-size:11px}.ranking-panel{border-top:1px solid #ffffff30;padding:24px 0 0}.ranking-heading h2{margin:8px 0 0;font-size:21px}.ranking-heading .lobby-link{min-height:40px;font-size:12px}.ranking-rule,.ranking-footnote{color:#a6b2b7;font-size:12px}.ranking-rule{margin:14px 0}.ranking-scroll{max-height:260px;overflow:auto}.ranking-panel table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.ranking-panel th{text-align:left;color:#98a7ac;background:#172127;font-size:11px;font-weight:500;position:sticky;top:0}.ranking-panel td,.ranking-panel th{border-bottom:1px solid #ffffff14;padding:12px 10px}.ranking-panel td:first-child{color:#8a9ca6;width:46px;font-weight:800}.ranking-panel td.rank-first{color:var(--lobby-accent)}.ranking-panel td:nth-last-child(-n+2),.ranking-panel th:nth-last-child(-n+2){text-align:right;white-space:nowrap}.rank-team{overflow-wrap:anywhere}.rank-score{color:#f1d37e;font-variant-numeric:tabular-nums;font-weight:900}.rank-round{color:#c9d2d6;font-weight:700}.ranking-status{color:#a3b3b7;text-align:center;border-bottom:1px solid #ffffff14;margin:0;padding:26px 12px;font-size:13px}.ranking-footnote{padding-bottom:10px;font-size:10px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--lobby-accent);outline-offset:4px}@keyframes title-arrive{0%{opacity:0;transform:translateY(10px)}}@keyframes survivor-idle{50%{transform:translateY(-5px)}}@media (width<=700px){#ui[data-screen=start]{padding:20px 18px}.start-play{grid-template-columns:1fr;gap:26px;padding:26px 0}.title-copy{width:100%;max-width:460px;margin:auto}.start-actions{border-top:1px solid #ffffff24;border-left:0;padding:22px 0 0}.start-actions .lobby-row{flex-direction:row}.start-actions .lobby-btn{padding-left:8px;padding-right:8px}.start-play .lobby-title{font-size:clamp(32px,8.5vw,48px)}.title-header>.eyebrow{letter-spacing:1px;max-width:170px;font-size:8px}.survivor-preview{min-height:158px}.selected-survivor{width:144px;height:144px}.preview-orbit{width:134px}.controls-help{margin-top:18px}.ranking-panel td,.ranking-panel th{padding:12px 5px}.ranking-panel table{font-size:12px}.ranking-footnote{line-height:1.7}}@media (prefers-reduced-motion:reduce){#ui *,#ui :before,#ui :after{transition:none!important;animation:none!important}}.skin-option img,.selected-survivor{object-fit:contain}#ui[data-screen=start] .lobby-stage{opacity:.3}.start-form{flex-direction:column;gap:10px;display:flex}.start-form .lobby-input{margin-bottom:0}.start-form .lobby-btn{width:100%}#ui[data-screen=lobby]>.lobby-card{max-width:1080px}.lobby-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:clamp(20px,3vw,40px);display:grid}.lobby-side{border-left:1px solid #ffffff1c;flex-direction:column;gap:18px;padding-left:clamp(16px,2.5vw,32px);display:flex}.lobby-side .survivor-preview{min-height:132px}.lobby-side .selected-survivor{width:120px;height:120px}.lobby-side .preview-orbit{width:112px;bottom:10px}.lobby-side .ranking-panel{padding-top:18px}.lobby-side .ranking-scroll{max-height:300px}.play-quick>.lobby-btn{width:100%}.lobby-main .practice-link{margin:18px auto 0}.room-actions{margin-top:14px}.lobby-card .skin-options .skin-option img{width:52px;height:52px}.difficulty-picker{gap:6px;margin-bottom:8px;display:flex}.difficulty-option{min-height:40px;color:var(--lobby-dim);font:800 14px var(--lobby-font);cursor:pointer;box-shadow:inset 0 0 0 1px var(--lobby-line);background:#1b2028;border:2px solid #000;border-radius:6px;flex:1;transition:transform .15s,background .15s}.difficulty-option:hover:not(:disabled){transform:translateY(-2px)}.difficulty-option:disabled{cursor:default;opacity:.5}.difficulty-option.selected.d-normal{background:var(--lobby-accent);color:var(--lobby-accent-text)}.difficulty-option.selected.d-hard{color:#fff;background:#e0342f;box-shadow:0 0 14px #ff2a2a88}.difficulty-option.selected.d-rip{color:#fff;background:#5a0fb0;box-shadow:0 0 16px #8a2cff99}.difficulty-desc{color:var(--lobby-dim);margin:0 0 12px;font-size:12px}.difficulty-desc.d-hard{color:#ff9a92}.difficulty-desc.d-rip{color:#c9a0ff}.difficulty-badge{color:var(--lobby-dim);background:#2a303a;border-radius:4px;flex:none;padding:3px 7px;font-size:11px;font-weight:800}.difficulty-badge.d-hard{color:#ff8a80;background:#5a1614}.difficulty-badge.d-rip{color:#d6b0ff;background:#3a0f6e}.difficulty-picker>.difficulty-badge{padding:8px 14px;font-size:14px}.ranking-tabs{border-bottom:1px solid #ffffff1c;gap:4px;margin:14px 0 10px;display:flex}.ranking-tab{color:var(--lobby-dim);font:700 13px var(--lobby-font);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:8px 14px}.ranking-tab.selected{color:var(--lobby-text)}.ranking-tab.selected.d-normal{border-color:var(--lobby-accent)}.ranking-tab.selected.d-hard{color:#ff9a92;border-color:#ff3a33}.ranking-tab.selected.d-rip{color:#d6b0ff;border-color:#8a2cff}.lobby-screen>.lobby-head{gap:12px;margin-bottom:4px}.lobby-tabs{display:none}.create-row .lobby-input{flex:1.4}.create-row .lobby-btn{white-space:nowrap;flex:1}.play-join .lobby-list{max-height:240px;overflow-y:auto}@media (width<=760px),(height<=600px){#ui[data-screen=lobby]{align-items:stretch;padding:8px}#ui[data-screen=lobby]>.lobby-card{flex-direction:column;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);margin:0 auto;padding:12px 14px;display:flex;overflow:hidden}#ui[data-screen=lobby] .lobby-stage{display:none}.lobby-screen{flex-direction:column;flex:1;min-height:0;display:flex}.lobby-screen>.lobby-head{flex-wrap:wrap;row-gap:8px;margin-bottom:6px}.lobby-screen>.lobby-head h2{margin:0;font-size:17px}.lobby-tabs{background:#0b0e13;border-radius:8px;flex-basis:100%;order:3;gap:4px;padding:3px;display:flex}.lobby-tab{min-height:34px;color:var(--lobby-dim);font:800 13px var(--lobby-font);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1}.lobby-tab.selected{background:var(--lobby-accent);color:var(--lobby-accent-text)}.lobby-screen .lobby-layout{flex-direction:column;flex:1;align-items:stretch;gap:0;min-height:0;display:flex}.lobby-screen .lobby-side{border:0;flex:1;gap:0;min-height:0;padding:0}.lobby-screen[data-tab=play] .lobby-side,.lobby-screen:not([data-tab=play]) .lobby-main,.lobby-screen[data-tab=skin] .ranking-panel,.lobby-screen[data-tab=rank] .skin-selector{display:none}.lobby-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.lobby-main h3{margin:10px 0 6px;font-size:12px}.lobby-main .difficulty-option{min-height:36px}.lobby-main .difficulty-desc{margin-bottom:8px;font-size:11px}.lobby-main .lobby-btn{min-height:40px;padding-top:8px;padding-bottom:8px}.lobby-main .lobby-input{margin-bottom:0;padding-top:9px;padding-bottom:9px}.lobby-main .lobby-row{margin-bottom:0}.lobby-main .lobby-check{margin:6px 0 0;font-size:12px}.play-join{flex-direction:column;min-height:0;display:flex}.play-join .lobby-list{flex:1;min-height:44px;max-height:none;margin-bottom:0}.lobby-main .lobby-empty{margin:0;font-size:13px}.play-extra .controls-help{display:none}.lobby-main .practice-link{margin:10px auto 0}.lobby-screen .skin-selector{flex-direction:column;flex:1;justify-content:center;display:flex}.lobby-screen .survivor-preview{min-height:0}.lobby-screen .ranking-panel{border:0;flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.lobby-screen .ranking-heading h2{margin-top:2px;font-size:17px}.lobby-screen .ranking-tabs{margin:8px 0 6px}.lobby-screen .ranking-scroll{flex:0 auto;min-height:0;max-height:none}.lobby-screen .ranking-panel td,.lobby-screen .ranking-panel th{padding:8px 5px}.lobby-screen .ranking-status{padding:14px 8px}.lobby-screen .ranking-footnote{margin:auto 0 0;padding-top:6px}}@media (width<=760px){.lobby-main{overflow-y:auto}.play-join{flex:1}}@media (height<=600px) and (width>=561px){.lobby-screen>.lobby-head{flex-wrap:nowrap}.lobby-tabs{flex:auto;order:0;max-width:360px;margin:0 auto}.lobby-main{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr 1fr;column-gap:18px;display:grid}.play-quick{grid-area:1/1;overflow-y:auto}.play-join{grid-area:1/2/span 2}.play-extra{grid-area:2/1}.lobby-main h3:first-child{margin-top:2px}.lobby-screen .skin-selector{flex-direction:row;align-items:center;gap:18px}.lobby-screen .skin-selector .survivor-preview{flex:1}.lobby-screen .skin-selector .skin-options{flex:1.2}.lobby-screen .skin-selector .skin-note{display:none}}#ui[data-screen=room]>.lobby-card{max-width:880px}.room-screen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,32px);display:grid}.room-main,.room-side{flex-direction:column;min-height:0;display:flex}.room-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.room-side h3:first-child{margin-top:0}.room-main .room-actions{margin-top:auto;padding-top:12px}.room-side .room-chat{flex-direction:column;flex:1;min-height:0;display:flex}.room-side .room-chat-log{flex:1;height:auto;min-height:90px}@media (width<=760px),(height<=600px){#ui[data-screen=room]{align-items:stretch;padding:8px}#ui[data-screen=room]>.lobby-card{flex-direction:column;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);margin:0 auto;padding:12px 14px;display:flex;overflow:hidden}#ui[data-screen=room] .lobby-stage{display:none}.room-screen{flex:1;min-height:0}.room-title h2{margin:0;font-size:17px}.room-title .lobby-code{margin:0 0 8px}.room-screen .lobby-list{gap:4px;margin-bottom:0}.room-screen .lobby-item{min-height:22px;padding:4px 10px}.room-screen h3{margin:8px 0 6px;font-size:12px}.room-screen .difficulty-option{min-height:34px}.room-screen .difficulty-desc{margin-bottom:4px;font-size:11px}.room-screen .skin-option{padding:0 0 4px}.room-screen .skin-option img{width:40px;height:40px}.room-screen .lobby-btn{min-height:40px;padding-top:8px;padding-bottom:8px}.room-screen .room-chat{margin-top:8px}.room-screen .room-chat-log{min-height:48px;font-size:13px}.room-screen .room-chat .lobby-input{padding-top:8px;padding-bottom:8px}}@media (width<=560px){.room-screen{flex-direction:column;gap:0;display:flex}.room-main{flex:none}.room-side{flex:1}.room-main .room-actions{margin-top:0;padding-top:8px}.room-side h3:first-child{margin-top:10px}}@media (height<=600px) and (width>=561px){#ui[data-screen=start]{padding:10px 24px}.title-header{padding-bottom:8px}.start-play{gap:28px;padding:12px 0 0}.start-play .lobby-title{margin-bottom:8px}.start-actions h2{margin-bottom:8px;font-size:18px}.field-label{margin-bottom:4px}.start-actions .lobby-input{padding:10px 12px}.start-actions .lobby-btn{min-height:42px}.entry-note{margin:8px 0 0}.practice-link{margin:6px auto}.controls-help{margin-top:6px;padding-top:6px}.lobby-update{margin-bottom:6px}}button.lobby-update-link{text-align:left;cursor:pointer;font-family:var(--lobby-font);background:0 0;border:0;padding:0}.lobby-new-build{background:#6fe39a;box-shadow:inset 0 -3px #3aa865}.title-links{align-items:center;gap:14px;display:flex}.title-links .reload-link{color:#bec7c6;white-space:nowrap;min-height:32px;font-size:12px}.play-extra .reload-link{margin:6px auto 0;font-size:12px;display:block}
