#fp-overlay{z-index:32;text-align:center;color:#edf6f8;background:#101d28ed;border:1px solid #a3cbd247;border-radius:16px;max-width:440px;padding:28px 36px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 64px #0008}#fp-overlay h2{margin:0 0 12px;font-size:20px}#fp-overlay p{color:#b8c9d0;margin-bottom:20px;font-size:13px}#fp-overlay label{align-items:center;gap:16px;margin:15px 0;font-size:13px;display:flex}#fp-overlay button{color:#102333;cursor:pointer;background:#82d4eb;border:0;border-radius:8px;padding:12px 24px;font-weight:700}#fp-crosshair{z-index:21;color:#fff9;pointer-events:none;text-shadow:0 1px 3px #000;font:18px monospace;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#mobile-menu,.touch-setting{display:none}#touch-controls{pointer-events:none;z-index:22;position:fixed;inset:0}#touch-stick{left:max(20px,env(safe-area-inset-left));bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#10233488;border:2px solid #b7e6f777;border-radius:50%;place-items:center;width:120px;height:120px;display:grid;position:absolute}#touch-knob{pointer-events:none;background:#bde8f5b8;border:2px solid #e6faff;border-radius:50%;width:48px;height:48px}#touch-door{right:max(28px,env(safe-area-inset-right));bottom:calc(42px + env(safe-area-inset-bottom));color:#fff;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#2c708edb;border:2px solid #d8f7ff;border-radius:50%;width:76px;height:76px;font-size:14px;font-weight:800;position:absolute}#touch-help{bottom:calc(8px + env(safe-area-inset-bottom));text-align:center;color:#d2e5ec;text-shadow:0 1px 3px #000;pointer-events:none;font-size:10px;position:absolute;left:160px;right:140px}#mobile-menu-dialog button[data-menu-target]{width:100%;min-height:48px;margin:10px 0;display:block}dialog{max-height:calc(var(--viewport-height,100dvh) - 24px);overflow:auto}.touch-ui #mobile-menu{place-items:center;min-width:44px;min-height:44px;display:inline-grid}.touch-ui .touch-setting{display:block}.touch-ui #touch-controls[data-mode=classic] #touch-help{font-size:0}.touch-ui #touch-controls[data-mode=classic] #touch-help:after{content:"왼쪽 이동 · 문 열기 버튼 · 가로 화면 권장";font-size:10px}.touch-ui body.playing .topbar .brand,.touch-ui body.playing .map-label,.touch-ui body.playing #graphics,.touch-ui body.playing #sound,.touch-ui body.playing #quick-leave,.touch-ui body.playing #room-share,.touch-ui body.playing .bottom-bar .controls,.touch-ui body.playing .map-caption{display:none!important}.touch-ui body.playing .topbar{min-height:54px;padding:4px max(8px,env(safe-area-inset-right));padding-top:env(safe-area-inset-top);pointer-events:none;background:0 0;justify-content:flex-end;display:flex}.touch-ui body.playing .top-right{pointer-events:auto;gap:5px}.touch-ui body.playing .hud{pointer-events:none;min-width:175px;left:50%;transform:translate(-50%);top:calc(8px + env(safe-area-inset-top))!important}.touch-ui body.playing #timer{font-size:32px;line-height:1.1}.touch-ui body.playing .round-label{letter-spacing:1px;font-size:9px}.touch-ui body.playing #match-score{font-size:10px}.touch-ui body.playing #alive-count{margin:5px 0;font-size:11px}.touch-ui body.playing .role-badge{margin:5px 0;padding:4px 10px;font-size:11px}.touch-ui body.playing #minimap{right:max(8px,env(safe-area-inset-right));top:calc(66px + env(safe-area-inset-top));width:104px;height:83px;position:fixed;bottom:auto}.touch-ui body.playing .announcement{max-width:75%;padding:8px 12px;font-size:11px;top:calc(150px + env(safe-area-inset-top))!important}.touch-ui body.playing .door-prompt{display:none!important}.touch-ui body.playing .spectator{bottom:calc(22px + env(safe-area-inset-bottom));white-space:nowrap;width:auto;max-width:95%}.touch-ui .spectator button{min-height:44px}.touch-ui .result{width:min(92vw,460px)}.touch-ui .top-right .icon-button{min-width:44px;min-height:44px}.touch-ui body.playing .topbar{z-index:30}@media (width<=950px){body,#game{height:var(--viewport-height,100dvh)}.topbar{min-height:64px;padding:10px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));padding-top:max(10px,env(safe-area-inset-top));grid-template-columns:1fr auto;gap:8px}.brand{gap:10px;font-size:14px}.brand small{letter-spacing:2px;font-size:7px}.bell{border-width:4px;width:29px;height:29px}.top-right{gap:7px}.map-label,.connection{display:none}.room-share{grid-area:2/1/auto/-1;width:100%}.topbar .room-pill{width:100%;min-width:0;min-height:46px;padding:8px 12px}.room-pill b{font-size:18px}#share-guide{max-width:100%;margin:4px auto 0;font-size:10px}.topbar #quick-leave{min-width:80px;padding:8px}.welcome,.lobby,.in-room .lobby{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));width:auto;top:calc(var(--header-bottom,74px) + 8px);bottom:calc(8px + env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y;height:auto;max-height:none;padding:18px;scroll-padding-bottom:78px;position:fixed;overflow-y:auto;transform:none}.welcome h1{margin:12px 0;font-size:28px}.welcome .intro{line-height:1.6}.welcome .divider{margin:14px 0}.welcome .fineprint{margin-bottom:8px}.welcome .small-pills{margin:12px 0}.panel input,.panel select{min-height:44px;font-size:16px}.panel button{min-height:44px}.lobby .roster{max-height:none;overflow:visible}.lobby .room-settings{gap:12px}.lobby-actions{z-index:2;background:#102334f5;margin:12px -6px -6px;padding:10px 6px;position:sticky;bottom:-18px}.nickname-form{padding:10px}.section-title h2{font-size:20px}.bottom-bar{bottom:8px;left:10px;right:10px}body:not(.playing) .bottom-bar,.touch-ui #graphics,.touch-ui #sound{display:none}.touch-ui #mobile-menu{display:inline-grid}.touch-ui .topbar .brand small{display:none}dialog{width:min(92vw,380px);min-width:0;top:var(--viewport-top,0px);padding:18px}#fp-overlay{max-width:90vw;max-height:80dvh;overflow:auto}#toast{white-space:normal;text-align:center;max-width:90vw}}@media (width<=420px){.room-settings{grid-template-columns:1fr 1fr}.topbar .brand{font-size:12px}.touch-ui body.playing #minimap{top:auto;bottom:calc(136px + env(safe-area-inset-bottom));width:92px;height:74px}.touch-ui body.playing .announcement{max-width:90%;top:160px!important}#touch-help{font-size:9px;left:132px;right:106px}#touch-stick{left:12px}#touch-door{right:14px}.welcome,.lobby,.in-room .lobby{padding:14px}.lobby-actions{bottom:-14px}.touch-ui #seeker-boost{font-size:11px!important}}@media (orientation:landscape) and (height<=480px){.touch-ui body.playing .hud{left:42%;top:4px!important}.touch-ui body.playing #timer{font-size:28px}.touch-ui body.playing .announcement{top:125px!important}.touch-ui body.playing #minimap{top:60px;bottom:auto}.touch-ui #touch-help{bottom:6px}.lobby .section-title{margin-bottom:6px}.welcome h1{font-size:24px}.touch-ui body.playing .result h2{font-size:26px}}main .panel{z-index:2}.hud,.announcement,.countdown,.result,.spectator,.door-prompt{z-index:3}.touch-ui dialog button,.touch-ui dialog input[type=range]{min-height:44px}@media (width<=950px){body.in-room .lobby{max-height:none;bottom:calc(8px + env(safe-area-inset-bottom))}body.in-room .lobby .roster{max-height:none;overflow:visible}}.skin-open{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex;min-height:64px!important;padding:12px!important}.skin-open span{color:#a8c2d5;font-size:11px}.skin-open strong{color:#e9f7ff;margin-top:4px;font-size:14px;display:block}.skin-open b{color:#8cd9f6;white-space:nowrap;font-size:12px}#skin-dialog{width:min(1080px,100vw - 32px);height:min(850px,calc(var(--viewport-height,100dvh) - 32px));color:#eff5fa;background:#122638;border-radius:18px;min-width:0;max-width:none;max-height:none;padding:20px;overflow:hidden}#skin-dialog[open]{flex-direction:column;gap:12px;display:flex}.skin-picker-heading{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.skin-picker-heading h2{margin:0;font-size:22px}#skin-close{min-width:60px;min-height:44px}#skin-tabs{flex:none;gap:8px;display:flex}#skin-tabs button{color:#c1d7e5;background:#193448;border:1px solid #46667c;border-radius:10px;min-width:130px;min-height:44px;font-size:14px;font-weight:700}#skin-tabs [aria-selected=true]{color:#092c43;background:#80d0f2;border-color:#b9ebff}#skin-tabs small{margin-left:5px;font-size:11px;font-weight:400}#skin-list{overscroll-behavior:contain;flex:1;grid-template-rows:repeat(3,minmax(120px,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-height:0;padding:3px;scroll-padding:3px;display:grid;overflow:auto}#skin-list[data-role=seeker]{grid-template-rows:repeat(2,minmax(160px,1fr))}.skin-tile{min-width:0;min-height:0;position:relative}.skin-card{color:#e8f3fb;text-align:center;background:#122638;border:2px solid #34566d;border-radius:12px;flex-direction:column;align-items:stretch;width:100%;height:100%;padding:0;display:flex;position:relative;overflow:hidden}.skin-card:hover:not(:disabled){border-color:#98cce7}.skin-card[aria-pressed=true]{background:#122638;border-color:#9ce5ff;box-shadow:0 0 0 1px #9ce5ff}.skin-card img{object-fit:contain;flex:1;width:100%;height:0;min-height:0;display:block}.skin-card img:not([src]),.skin-card img.failed{visibility:hidden}.skin-card-name{flex:none;padding:8px 6px;font-size:13px;font-weight:650;line-height:18px;display:block}.skin-card[aria-pressed=true] .skin-card-name{background:#28506a}.skin-card[aria-pressed=true] .skin-card-name:after{content:" ✓";color:#b7f0ff}.skin-equipped{color:#b5e9ff;pointer-events:none;background:#102c3ee6;border-radius:12px;padding:4px 7px;font-size:10px;position:absolute;top:7px;left:7px}.skin-image-retry{color:#edf8ff;background:#1c3d52ee;border:1px solid #678da3;border-radius:8px;min-height:44px;font-size:12px;position:absolute;inset:30% 10px auto}.skin-list-feedback{color:#bed6e5;flex:none;font-size:12px}.skin-list-feedback:not(:has(#skin-list-status:not(:empty))):not(:has(#skin-list-retry:not(.hidden))){display:none}#skin-list-retry{min-height:44px;margin-left:8px}.skin-picker-footer{border-top:1px solid #36566e;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding-top:10px;display:flex}.skin-choice>span{color:#a8c8da;margin-bottom:3px;font-size:11px;display:block}.skin-choice strong{font-size:16px}#skin-picker-status{color:#b7d4e4;margin:4px 0 0;font-size:12px;line-height:1.4}#skin-picker-status:empty{display:none}#skin-confirm{min-width:160px;min-height:48px;margin:0}#skin-dialog button:focus-visible,.skin-open:focus-visible{outline-offset:2px;outline:2px solid #d1f3ff}@media (width<=1023px){#skin-dialog{width:calc(100vw - 16px);height:calc(var(--viewport-height,100dvh) - 16px);top:var(--viewport-top,0px);padding:14px}#skin-list,#skin-list[data-role=seeker]{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:180px;align-content:start;gap:8px}}@media (width<=599px){#skin-dialog{gap:10px;padding:12px}#skin-list,#skin-list[data-role=seeker]{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:174px}.skin-picker-heading h2{font-size:20px}#skin-tabs button{flex:1;min-width:0}#skin-confirm{min-width:130px}.skin-card-name{font-size:12px}}@media (height<=500px) and (width>=600px) and (width<=1023px){#skin-dialog{gap:8px;padding:10px}#skin-list,#skin-list[data-role=seeker]{grid-auto-rows:134px}.skin-card-name{padding:5px}.skin-picker-heading h2{font-size:19px}.skin-picker-footer{min-height:54px;padding-top:6px}}#capture-log{pointer-events:none;z-index:24;color:#eff5fa;text-align:center;flex-direction:column;align-items:center;gap:4px;width:min(440px,100vw - 32px);font-size:14px;line-height:20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#capture-log>div{white-space:nowrap;background:#0d1b29e8;border:1px solid #94bbd233;border-radius:7px;max-width:100%;padding:3px 12px;display:flex;box-shadow:0 2px 8px #0003}.capture-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.capture-suffix{flex:none}.touch-ui #capture-log{bottom:calc(8px + env(safe-area-inset-bottom));gap:3px;font-size:12px;line-height:18px}.touch-ui #capture-log>div{padding:2px 9px}@media (width<=599px){#capture-log{bottom:calc(8px + env(safe-area-inset-bottom));gap:3px;font-size:12px;line-height:18px}#capture-log>div{padding:2px 9px}}@media (orientation:landscape) and (height<=600px){.touch-ui #capture-log{width:calc(100vw - 320px);max-width:440px}}body.lobby-active{color:#eff5fa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0d1721;min-height:100dvh}.lobby-active .vignette,.lobby-active #labels,.lobby-active .bottom-bar,.lobby-active .top-right>.map-label,.lobby-active .top-right>#connection,.lobby-active .top-right>#graphics,.lobby-active .top-right>#sound,.lobby-active #mobile-menu{display:none!important}.lobby-active .topbar{z-index:6;background:#101f2ef5;border-bottom:1px solid #30485b;gap:16px;height:auto;min-height:82px;padding:16px 28px;display:flex}.lobby-active .brand{white-space:nowrap;color:#e7f1f8;font-size:18px}.lobby-active .top-right{gap:8px}.lobby-active .room-share{flex:0 350px;min-width:180px;position:relative}.lobby-active .room-pill{color:#19506e;letter-spacing:0;background:#80d0f2;border:1px solid #a6e4ff;border-radius:14px;justify-content:center;width:100%;min-height:48px;position:static;transform:none}.lobby-active .room-pill b{color:#164664;font-size:17px}.lobby-active #share-guide{color:#a5bdcf;text-align:center;margin:5px 0 0;font-size:11px}.lobby-active .share-fallback{z-index:20;background:#142b3d;border-radius:10px;width:100%;padding:14px;position:absolute;top:100%;box-shadow:0 8px 20px #0006}.lobby-active .leave-button{color:#d4e3ee;white-space:nowrap;background:#142b3d;border:1px solid #3c566a;border-radius:12px;min-height:44px}.lobby-active .secondary{color:#d7e7f3;background:#142b3d;border:1px solid #3c566a;border-radius:12px;min-height:44px;font-size:13px}.lobby-active .secondary:hover{background:#244359}.lobby-active .primary{color:#092c43;background:#80d0f2;border-radius:12px;min-height:48px;font-size:15px;box-shadow:0 3px #3c8aad}.lobby-active .primary:hover{background:#a9e7ff}.lobby-active .primary:disabled{box-shadow:none;opacity:.45}body.lobby-active #lobby{left:28px;right:28px;top:calc(var(--header-bottom,82px) + 14px);width:auto;max-width:1440px;height:auto;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;background:0 0;border:0;flex-direction:column;gap:12px;margin:0 auto;padding:0;display:flex;position:fixed;bottom:14px;overflow:visible;transform:none}.lobby-toolbar{z-index:5;flex:none;align-items:center;gap:24px;min-height:88px;display:flex;position:relative}.lobby-map-card{background:#163044;border:1px solid #528aa9;border-radius:16px;flex-shrink:0;width:365px;overflow:hidden}.lobby-active #map-open{color:#e0f3ff;width:100%;height:82px;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:14px;margin:0;padding:8px 14px;display:flex}.lobby-map-art{color:#8bcce9;background:#0c1c29;border-radius:10px;flex:none;place-items:center;width:88px;height:66px;font-size:35px;display:grid;overflow:hidden}.lobby-map-art img{object-fit:contain;background:#101b24;width:100%;height:100%}.lobby-active .map-open-label{text-align:left;color:#9db5c6;margin-bottom:3px;font-size:11px;display:block}.lobby-active #selected-map{text-align:left;font-size:18px;display:block}.lobby-active .map-open-action{white-space:nowrap;margin-left:auto;font-size:12px}.lobby-room-info{flex:1;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;min-width:0;display:grid}.lobby-room-info h2{margin:0;font-size:16px;font-weight:700}.lobby-room-info #player-count{color:#9db5c6;font:13px system-ui}.lobby-room-info #room-summary{color:#b0c6d9;margin:0;font-size:13px;line-height:1.6}.lobby-room-info #room-options-open{grid-area:2/2}.lobby-active .asset-line{color:#adc5d6;align-items:center;gap:8px;margin:0;padding:0 12px 8px;font-size:11px;display:flex}.lobby-active .asset-line:has(#asset-status:empty){display:none}.lobby-active .text-button{color:#80d0f2;min-height:30px;margin:0;font-size:11px}.lobby-active #lobby-map-loading{color:#c0daeb;text-align:left;width:100%;min-width:0;box-shadow:none;background:#102333;border:0;border-radius:0;grid-template-columns:46px 1fr;gap:2px 8px;margin:0;padding:6px 12px;display:grid}.lobby-active #lobby-map-loading img{object-fit:contain;grid-area:1/1/3;width:46px;height:34px;margin:0}.lobby-active #lobby-map-loading strong,.lobby-active #lobby-map-loading p{color:#a6bdcf;grid-column:2;margin:0;font-size:10px;line-height:1.4}.lobby-active #lobby-map-loading button{grid-column:2;width:fit-content;min-height:30px}#lobby-slot-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:3px;position:relative;overflow:auto}#lobby-slots{grid-template-columns:repeat(var(--slot-columns,4),minmax(0,1fr));grid-template-rows:repeat(2,minmax(185px,1fr));gap:12px;height:100%;min-height:100%;display:grid}.lobby-slot,.empty-slot{background:linear-gradient(160deg,#193247,#122638);border:1px solid #31495e;border-radius:18px;min-width:0;min-height:185px;position:relative;box-shadow:0 3px 8px #0003}.lobby-slot.own{background:linear-gradient(160deg,#1b3d53,#132c3e);border:2px solid #80d0f2}.lobby-slot.disconnected{background:#14212d}.slot-heading{z-index:4;pointer-events:none;align-items:center;gap:4px;display:flex;position:absolute;top:12px;left:12px;right:12px}.slot-name{text-overflow:ellipsis;white-space:nowrap;color:#eaf3fa;flex:1;font-size:13px;font-weight:700;overflow:hidden}.slot-badge{color:#80d0f2;white-space:nowrap;font-size:12px}.slot-portrait{pointer-events:none;position:absolute;inset:39px 8px 48px}.slot-portrait:after{content:"";background:radial-gradient(#0009,#0000 70%);border-radius:50%;width:54%;height:13px;position:absolute;bottom:0;left:23%}.slot-footer{z-index:5;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;min-height:24px;display:flex;position:absolute;bottom:10px;left:8px;right:8px}.slot-ready{color:#acbecc;background:#243e50;border-radius:20px;padding:5px 10px;font-size:11px}.is-ready .slot-ready{color:#a2ebd2;background:#17493f;font-weight:700}.slot-loading,.slot-model-status{color:#9db5c6;font-size:10px}.slot-model-status{display:none}.lobby-slot:not([data-model=ready]) .slot-model-status{display:inline}.lobby-slot[data-model=error] .slot-model-status{color:#ffb3a5}.slot-retry{pointer-events:auto;color:#9addfa;z-index:5;background:#142b3d;border-radius:8px;min-height:44px;font-size:10px;display:none;position:relative}.lobby-slot[data-model=error] .slot-retry{display:block}.slot-edit{z-index:4;background:0 0;border-radius:18px;position:absolute;inset:0}.slot-edit:hover{background:0 0;box-shadow:inset 0 0 0 2px #77c6eb66}.empty-slot{color:#7796ac;z-index:4;background:#102332b0;border:1px dashed #38546b;font:300 34px system-ui}.empty-slot:hover{color:#9addfa;background:#1b3549}.lobby-active #game{z-index:3;pointer-events:none;visibility:visible;width:100vw;height:100dvh;position:fixed;inset:0}.lobby-footer{z-index:5;background:#0d1721;flex:none;align-items:center;gap:16px;padding:10px 3px 3px;display:flex;position:relative}.lobby-active .lobby-actions{background:0 0;flex:none;gap:10px;width:auto;min-width:220px;margin:0;padding:0;display:flex;position:static}.lobby-active .lobby-actions button{flex:1;min-width:110px}.lobby-footer #start-hint{color:#b0c6d9;text-align:right;flex:1;margin:0;font-size:12px;line-height:1.5}.lobby-active dialog{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eff5fa;background:#122638;border:1px solid #42637b;box-shadow:0 24px 80px #0006}.lobby-active dialog label,.lobby-active dialog .muted,.lobby-active dialog .fineprint{color:#b0c6d9}.lobby-active dialog input,.lobby-active dialog select{color:#edf5fa;background:#142b3d;border:1px solid #42637b;min-height:44px}.lobby-active dialog label span{color:#9db5c6}.lobby-active dialog .section-title{gap:20px;margin:0 0 18px}.lobby-active dialog .section-title h2{font-size:20px}.lobby-dialog{width:min(94vw,500px);max-height:calc(var(--viewport-height,100dvh) - 24px);min-width:0;overflow:auto}#room-options-dialog .room-settings{grid-template-columns:1fr 1fr;gap:20px 18px;display:grid}#room-options-dialog .room-settings>label:first-child{grid-column:1/-1;display:block}#room-options-dialog select{width:100%;margin-top:8px}#room-options-dialog .seeker-repeat-option{grid-column:1/-1;justify-content:flex-start;gap:10px}#room-options-dialog .match-score{display:none}#room-options-dialog .slider-scale,#room-options-dialog output{color:#b0c6d9}#room-options-dialog #round-duration-hint{color:#b0c6d9;font-size:12px}#character-dialog{width:min(94vw,440px)}#character-preview{background:radial-gradient(at 50% 80%,#23475f,#101f2d 70%);border-radius:16px;height:190px;position:relative;overflow:hidden}.lobby-active #character-preview #game{visibility:visible;z-index:0;width:100%;height:100%;position:absolute;inset:0}.character-tabs{gap:8px;margin:10px 0 18px;display:flex}.character-tabs button{color:#b0c6d9;background:#1d3548;border-radius:10px;flex:1;min-height:44px}.character-tabs [aria-pressed=true]{color:#092c43;background:#80d0f2;font-weight:700}.character-skins{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.character-skins select{width:100%}.lobby-active .nickname-form{background:0 0;border:0;margin:0;padding:0}.lobby-active #nickname-status,.lobby-active #character-load-status{color:#a9c4d7;min-height:14px;font-size:11px}#lobby-settings-dialog>button{width:100%;margin-top:10px;display:block}.lobby-active #toast{z-index:30}@media (width<=1023px){.lobby-active .topbar{flex-wrap:wrap;gap:10px;min-height:65px;padding:10px 16px}.lobby-active .brand{font-size:15px}.lobby-active .top-right{margin-left:auto}.lobby-active .room-share{flex-basis:100%;order:3}.lobby-active .room-pill{min-height:44px;padding:8px}.lobby-active #share-guide{font-size:10px}body.lobby-active #lobby{left:14px;right:14px;top:calc(var(--header-bottom,120px) + 10px);bottom:max(10px,env(safe-area-inset-bottom));gap:8px}.lobby-toolbar{gap:12px}.lobby-map-card{width:310px}.lobby-room-info{gap:4px 8px}.lobby-room-info #room-summary{font-size:11px}#lobby-slots{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px;gap:10px;height:auto;min-height:100%}.lobby-active .lobby-actions{min-width:0}.lobby-active .lobby-actions button{min-width:88px}.lobby-footer{gap:8px}.lobby-footer #start-hint{font-size:10px}}@media (width<=599px){.lobby-active .brand{font-size:13px}.lobby-active .bell{border-width:4px;width:26px;height:26px;font-size:12px}.lobby-active .top-right{gap:5px}.lobby-active .top-right button{padding:8px 10px;font-size:11px}.lobby-toolbar{grid-template-columns:1fr;gap:7px;display:grid}.lobby-map-card{width:100%}.lobby-active #map-open{height:62px}.lobby-map-art{width:62px;height:46px}.lobby-active #selected-map{font-size:16px}.lobby-room-info{flex-wrap:wrap;gap:8px;display:flex}.lobby-room-info h2{display:none}.lobby-room-info #player-count{font-size:11px}.lobby-room-info #room-summary{flex:1;font-size:10px}.lobby-room-info #room-options-open{min-height:44px;padding:8px 10px;font-size:11px}#lobby-slots{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:205px;gap:10px}.lobby-footer{flex-wrap:wrap;padding-top:4px}.lobby-footer #start-hint{text-align:center;flex-basis:100%;order:-1;min-height:14px}.lobby-footer #character-open{font-size:12px}.lobby-active .lobby-actions{margin-left:auto}}@media (height<=500px) and (width>=600px){.lobby-active .topbar{flex-wrap:nowrap;min-height:52px;padding:5px 14px}.lobby-active .room-share{flex-basis:240px;order:0}.lobby-active #share-guide{display:none}.lobby-toolbar{min-height:58px}.lobby-active #map-open{height:58px}.lobby-map-art{width:58px;height:42px}.lobby-room-info #room-summary{font-size:11px}.lobby-footer{padding-top:3px}.lobby-active .asset-line{padding-bottom:4px}}@media (prefers-reduced-motion:reduce){.lobby-active *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.lobby-active #map-open>.lobby-map-art{flex:0 0 88px}@media (width<=599px){.lobby-active #map-open>.lobby-map-art{flex-basis:62px}}.lobby-active #start{border:2px solid #0000;min-width:160px;min-height:56px;font-size:18px;font-weight:800}.lobby-active #start.start-ready{color:#392600;background:#f4c85c;border-color:#ffe6a0;animation:.7s ease-in-out 2 start-ready-pulse;box-shadow:0 0 0 3px #f4c85c26,0 5px 18px #f4c85c35}.lobby-active #start.start-ready:hover{background:#ffdc7d}.lobby-active #ready.start-secondary{color:#cde4f3;box-shadow:none;background:#243e50;border:1px solid #4e718a}.lobby-active .lobby-actions:has(.start-ready){align-items:center}@keyframes start-ready-pulse{50%{box-shadow:0 0 0 7px #f4c85c18,0 0 26px #f4c85c70}}@media (width<=599px){.lobby-active .lobby-actions{flex:1;min-width:0}.lobby-active .lobby-actions button{min-width:0}.lobby-active #start{flex:1.35;min-width:0}.lobby-footer{gap:8px}}@media (prefers-reduced-motion:reduce){.lobby-active #start.start-ready{animation:none}}.loading-preview{color:#dfeef7;text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.loading-preview strong{font-size:15px}.loading-preview img{aspect-ratio:4/3;object-fit:contain;background:#000;border-radius:9px;width:240px;max-width:100%;height:auto}.loading-preview p{color:#b9d4e4;margin:0;font-size:12px;line-height:1.5}.loading-preview button{color:#dfeef7;background:#25475d;border-radius:8px;min-height:44px;padding:8px 14px}.loading-preview button.hidden{display:none}#lobby-map-loading{background:#0a1927;border-radius:12px;margin:12px 0;padding:14px}#lobby-map-loading img{width:160px}#round-map-loading{z-index:5;background:#102334f5;border:1px solid #53738b;border-radius:16px;width:min(340px,90vw);max-height:75dvh;padding:22px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}#next-map-loading{border-top:1px solid #476072;margin-top:16px;padding-top:16px}body .result{max-height:calc(var(--viewport-height,100dvh) - 150px);overflow:auto}body .result h2{margin-top:0}@media (height<=500px){#next-map-loading img,#round-map-loading img{width:120px}#next-map-loading{gap:6px;margin-top:8px;padding-top:8px}body .result{max-height:calc(var(--viewport-height,100dvh) - 80px)}body .result h2{font-size:24px}#round-map-loading{padding:12px}}body .result,#round-map-loading{top:calc(var(--header-bottom,100px) + (var(--viewport-height,100dvh) - var(--header-bottom,100px))/2);max-height:calc(var(--viewport-height,100dvh) - var(--header-bottom,100px) - 24px);transform:translate(-50%,-50%)}@media (height<=500px){body .result{padding:12px 20px}body .result h2{margin:0 0 8px}body .result>p{margin:6px 0}#next-map-loading{gap:4px;margin-top:6px;padding-top:6px}#next-map-loading img,#round-map-loading img{width:80px}body.playing #share-guide{display:none}}#map-open{text-align:left;color:#e3f6ff;background:#234c66;border:1px solid #8cdbff;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:62px;margin:14px 0;padding:12px 16px;display:flex;box-shadow:0 3px 16px #54b7e514}#map-open:hover:not(:disabled){background:#2c607d}#map-open>span:first-child{flex:1;min-width:0}.map-open-label{color:#b6d8eb;margin-bottom:4px;font-size:11px;display:block}#selected-map{font-size:16px;font-weight:750}.map-open-action{white-space:nowrap;font-size:13px;font-weight:700}#map-dialog{width:min(1280px,100vw - 32px);min-width:0;max-width:none;height:min(900px,calc(var(--viewport-height,100dvh) - 32px));border-radius:18px;max-height:none;padding:20px;overflow:hidden;box-shadow:0 24px 100px #0009}#map-dialog[open]{flex-direction:column;gap:12px;display:flex}.map-dialog-header{flex-shrink:0;align-items:center;gap:16px;min-height:44px;display:flex}.map-dialog-header h2{margin:0;font-size:24px}#map-current{color:#a8bfce;flex:1;margin:0;font-size:12px}#map-close{border-radius:8px;min-width:56px;min-height:44px}#map-list{overscroll-behavior:contain;flex:1;grid-template-rows:repeat(4,minmax(116px,1fr));grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-height:0;padding:3px;scroll-padding:3px;display:grid;overflow-y:auto}.map-tile{min-width:0;min-height:0;position:relative}.map-card{color:#dce9f2;text-align:left;background:#08131e;border:2px solid #314755;border-radius:10px;flex-direction:column;width:100%;height:100%;min-height:44px;padding:0;display:flex;overflow:hidden}.map-card[aria-pressed=true]{background:#29536d;border-color:#9ce5ff}.map-card:hover:not(:disabled){border-color:#a7c8dd}.map-card img,.map-random-icon{object-fit:contain;background:#000;flex:1;width:100%;height:0;min-height:0;display:block}.map-card img:not([src]),.map-card img.failed{visibility:hidden}.map-card-name{flex-shrink:0;min-height:30px;padding:7px 10px;font-size:12px;font-weight:650;line-height:16px;display:block}.map-card[aria-pressed=true] .map-card-name:after{content:"✓";float:right;color:#b8edff;margin-left:4px}.map-random-icon{color:#b8dfea;text-align:center;background:#102838;justify-content:center;align-items:center;padding:8px;font-size:14px;display:flex}.map-thumb-retry{color:#e4f2fa;background:#213a4cf5;border-radius:7px;min-height:44px;padding:7px;font-size:12px;position:absolute;top:calc(50% - 37px);left:6px;right:6px}.map-list-feedback{color:#b7cddd;flex-shrink:0;font-size:12px}.map-list-feedback:not(:has(#map-list-status:not(:empty))):not(:has(#map-list-retry:not(.hidden))){display:none}#map-list-retry{min-height:44px;margin:0 0 0 12px}.map-picker-footer{border-top:1px solid #365163;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding-top:12px;display:flex}.map-choice{min-width:0}.map-choice>span{color:#9ebaca;margin-right:10px;font-size:11px}#map-choice-name{font-size:16px;font-weight:700}#map-permission{color:#abc2d0;margin:6px 0 0;font-size:12px;line-height:1.4}#map-permission:empty{display:none}#map-confirm{flex-shrink:0;min-width:180px;min-height:46px;margin:0}#map-dialog button:focus-visible,#map-open:focus-visible{outline-offset:2px;outline:2px solid #d2f3ff}@media (width<=1023px){#map-dialog{width:calc(100vw - 16px);height:calc(var(--viewport-height,100dvh) - 16px);top:var(--viewport-top,0px);gap:10px;padding:14px}.map-dialog-header h2{font-size:21px}#map-list{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:8px}.map-tile{aspect-ratio:1.12;min-height:auto}.map-card-name{padding:7px 8px;font-size:12px}.map-picker-footer{gap:10px;padding-top:10px}#map-confirm{min-width:140px}.map-random-icon{font-size:13px}}@media (width<=599px){#map-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map-dialog-header{gap:10px}#map-current{font-size:11px}#map-dialog{padding:12px}#map-choice-name{font-size:14px}#map-permission{font-size:11px}#map-confirm{min-width:130px}.map-choice>span{margin:0 0 3px;display:block}}.time-help{color:#9db8cb;margin:6px 0 0;font-size:11px}.time-help summary{cursor:pointer;min-height:24px;line-height:24px}.time-help p{margin:4px 0;line-height:1.5}.brand small{display:none}.welcome h1{font-size:44px;line-height:1.22}.welcome .intro{margin-top:18px}body:not(.in-room) .map-label,body:not(.in-room) .bottom-bar{display:none}@media (width<=700px){.welcome h1{font-size:32px}}body.playing .topbar{pointer-events:none;z-index:30;background:0 0;justify-content:flex-end;position:fixed;inset:0 0 auto;height:auto!important;min-height:0!important;padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0!important;display:flex!important}body.playing .topbar .brand,body.playing #room-share,body.playing .top-right>:not(#mobile-menu),body.playing .bottom-bar .controls,body.playing .map-caption{display:none!important}body.playing #mobile-menu{pointer-events:auto;color:#e5f6ff;background:#102334df;border:1px solid #a9d6ed55;border-radius:12px;place-items:center;width:44px;height:44px;display:inline-grid}body:not(.playing) #mobile-menu-dialog .game-info,body:not(.in-room) #mobile-menu-dialog [data-menu-target=players],body:not(.in-room) #mobile-menu-dialog [data-menu-target=copy-code],body:not(.in-room) #mobile-menu-dialog [data-menu-target=quick-leave],body:not(.in-room) #menu-share-fallback,body:not(.in-room) #menu-copy-status{display:none!important}body.playing #hud{box-sizing:border-box;pointer-events:none;white-space:nowrap;width:max-content;min-width:0;max-width:calc(100vw - 120px);height:60px;text-shadow:none;background:#0d1721cc;border:1px solid #ceeaff22;border-radius:12px;padding:5px 12px;transform:translate(-50%);top:calc(8px + env(safe-area-inset-top))!important;left:50%!important}.hud-primary,.hud-secondary{justify-content:center;align-items:center;display:flex}.hud-primary{gap:10px}.hud-secondary{gap:0;line-height:18px}body.playing #hud #timer{letter-spacing:0;font-variant-numeric:tabular-nums;margin:0;font-size:28px;font-weight:600;line-height:30px}body.playing #hud #role{color:#bce5f7;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:13px;line-height:18px}body.playing #hud #role.seeker{color:#ffafae}body.playing #hud #alive-count,body.playing #hud #seeker-boost{color:#b9d2df;letter-spacing:0;margin:0;line-height:18px;font-size:12px!important}body.playing #hud #seeker-boost{color:#f4b799}body.playing #hud #seeker-boost:not(.hidden):before{content:"·";color:#b9d2df;margin:0 6px}body.playing #announcement{max-width:calc(100vw - 48px);padding:7px 12px;font-size:12px;top:calc(80px + env(safe-area-inset-top))!important}body.playing #door-prompt{bottom:132px}body.playing #spectator{box-sizing:border-box;white-space:nowrap;gap:7px;max-width:calc(100vw - 32px);padding:5px 9px;font-size:12px;bottom:128px}body.playing #spectator-name{text-overflow:ellipsis;overflow:hidden}body.playing #spectate-next{flex:none;min-height:44px}body.playing #toast{z-index:31;white-space:normal;text-align:center;max-width:calc(100vw - 32px);bottom:190px}#mobile-menu-dialog{box-sizing:border-box;width:min(380px,100vw - 24px);min-width:0}#mobile-menu-dialog .section-title{margin-bottom:12px}#mobile-menu-dialog .icon-button{min-width:44px;min-height:44px}#mobile-menu-dialog .game-info{background:#122638;border:1px solid #87c8e32b;border-radius:10px;padding:12px}#mobile-menu-dialog h3{color:#a5d0e6;margin:0 0 8px;font-size:13px}#mobile-menu-dialog p{margin:4px 0;font-size:13px;line-height:1.5}#mobile-menu-dialog #round-label{letter-spacing:0;color:#eef7ff}#mobile-menu-dialog #match-settings{color:#b9d2df}.game-menu-settings{gap:8px;display:flex}.game-help summary{cursor:pointer;align-items:center;min-height:44px;font-size:14px;display:flex}.game-help summary:after{content:"＋";margin-left:auto}.game-help[open] summary:after{content:"−"}.game-help p{color:#b9d2df}#menu-copy-status:empty{display:none}#menu-share-fallback{margin:8px 0}#menu-share-fallback input{box-sizing:border-box;width:100%;min-width:0}#touch-help{display:none!important}.touch-ui body.playing #hud{height:54px;padding:4px 10px}.touch-ui body.playing #hud #timer{font-size:24px;line-height:26px}.touch-ui body.playing #hud #role{font-size:12px}.touch-ui body.playing #hud #alive-count,.touch-ui body.playing #hud #seeker-boost{font-size:11px!important}.touch-ui body.playing #announcement{top:calc(70px + env(safe-area-inset-top))!important}.touch-ui body.playing #spectator{bottom:calc(94px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.touch-ui body.playing #toast{bottom:calc(150px + env(safe-area-inset-bottom))}@media (width<=599px){body.playing #hud{height:54px;padding:4px 10px}body.playing #hud #timer{font-size:24px;line-height:26px}body.playing #hud #role{font-size:12px}body.playing #hud #alive-count,body.playing #hud #seeker-boost{font-size:11px!important}body.playing #announcement{top:calc(70px + env(safe-area-inset-top))!important}}@media (orientation:portrait){.touch-ui body.playing #touch-stick{bottom:calc(100px + env(safe-area-inset-bottom))}.touch-ui body.playing #touch-door{bottom:calc(118px + env(safe-area-inset-bottom))}.touch-ui body.playing #minimap{top:auto;bottom:calc(218px + env(safe-area-inset-bottom));width:92px;height:74px}}@media (orientation:landscape) and (height<=600px){.touch-ui body.playing #spectator{bottom:calc(92px + env(safe-area-inset-bottom));white-space:normal;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 320px)}.touch-ui body.playing #toast{bottom:calc(160px + env(safe-area-inset-bottom));max-width:calc(100vw - 320px)}}#spectate-next kbd{border:1px solid #ffffff45;border-radius:3px;margin-left:5px;padding:1px 4px;font:11px system-ui}.touch-ui #spectate-next kbd{display:none}
