:root{--ink:#f5f1e8;--ink-dim:#f5f1e8b3;--panel:#1c1412b8;--gold:#c9a45c;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#1a1210;margin:0;overflow:hidden}#app,#app canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#focus-dim{pointer-events:none;opacity:0;width:0;height:0;transition:opacity .6s;position:fixed;top:0;left:0;box-shadow:0 0 0 200vmax #080706d1}#focus-dim.on{opacity:1}#tags,.music-btn,.sit-btn,.hud-room,.hud-net,.hud-help,.channel-btn,.chat,.joystick,.focus-hq{transition:opacity .4s,visibility .4s}body.focusing #tags,body.focusing .music-btn,body.focusing .sit-btn,body.focusing .hud-room,body.focusing .hud-net,body.focusing .hud-help,body.focusing .channel-btn,body.focusing .chat,body.focusing .joystick,body.focusing .focus-hq{opacity:0;visibility:hidden}#hud{pointer-events:none;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));position:fixed;inset:0}.hud-room{top:inherit;left:inherit;background:var(--panel);border-left:3px solid var(--gold);border-radius:4px;padding:10px 14px;position:absolute}.hud-museum{color:var(--ink-dim);letter-spacing:.04em;font-size:12px}.hud-label{margin-top:2px;font-size:20px;font-weight:700}.hud-title{color:var(--ink-dim);margin-top:2px;font-size:13px}.hud-title:empty{display:none}.hud-net{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));background:var(--panel);color:var(--ink-dim);border-radius:999px;padding:6px 10px;font-size:12px;position:absolute}.hud-net[data-state=open]:before{content:"● ";color:#7fd18b}.hud-net[data-state=closed]:before{content:"● ";color:#e27b6f}.hud-help{bottom:max(16px, env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));color:var(--ink-dim);background:var(--panel);border-radius:4px;padding:6px 10px;font-size:12px;position:absolute}.card{left:50%;bottom:max(24px, env(safe-area-inset-bottom));background:var(--panel);border-top:2px solid var(--gold);text-align:center;border-radius:4px;min-width:240px;max-width:min(420px,100vw - 32px);padding:14px 18px;position:absolute;transform:translate(-50%)}.card[hidden]{display:none}.card-title{padding:0 26px;font-size:17px;font-weight:700}.card-meta{color:var(--ink-dim);margin-top:4px;font-size:13px}.card-orig{color:var(--ink-dim);margin-top:2px;font-size:12px;font-style:italic}.card-orig:empty{display:none}.card-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:8px;display:flex}.card-source{color:var(--ink-dim);opacity:.8;font-size:11px}.card-source:empty{display:none}.card-link{pointer-events:auto;color:var(--gold);border:1px solid #c9a45c80;border-radius:999px;padding:6px 10px;font-size:12px;text-decoration:none}.card-link:hover{background:#c9a45c26}.card-link[hidden]{display:none}.card-hide{width:36px;height:36px;color:var(--ink-dim);cursor:pointer;pointer-events:auto;background:0 0;border:none;border-radius:50%;font-size:18px;line-height:1;position:absolute;top:4px;left:4px}.card-show{left:50%;bottom:max(24px, env(safe-area-inset-bottom));gap:8px;display:flex;position:absolute;transform:translate(-50%)}.card-show button{min-height:36px;color:var(--ink-dim);font:inherit;cursor:pointer;pointer-events:auto;background:#14110e8c;border:1px solid #ffffff2e;border-radius:999px;padding:6px 14px;font-size:13px}.card-show[hidden]{display:none}.music-btn{top:max(108px, calc(env(safe-area-inset-top) + 92px));right:max(16px, env(safe-area-inset-right));background:var(--panel);width:36px;height:36px;color:var(--gold);cursor:pointer;pointer-events:auto;border:1px solid #fff3;border-radius:50%;font-size:16px;line-height:1;position:absolute}.music-btn.off{color:var(--ink-dim);opacity:.7;text-decoration:line-through}.sit-btn{left:50%;bottom:max(84px, calc(env(safe-area-inset-bottom) + 68px));background:var(--panel);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;pointer-events:auto;border:1px solid #c9a45c99;border-radius:999px;padding:8px 18px;font-size:14px;position:absolute;transform:translate(-50%)}.sit-btn[hidden]{display:none}.focus-close{width:36px;height:36px;color:var(--ink-dim);cursor:pointer;pointer-events:auto;background:0 0;border:none;border-radius:50%;font-size:16px;position:absolute;top:4px;right:4px}.focus-close[hidden]{display:none}.focus-hq{top:max(72px, calc(env(safe-area-inset-top) + 56px));background:var(--panel);color:var(--ink-dim);border-radius:999px;padding:6px 12px;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.focus-hq[hidden]{display:none}.joystick{left:max(24px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:#ffffff14;border:1px solid #fff3;border-radius:50%;width:120px;height:120px;display:none;position:absolute}.joystick-knob{background:#ffffff59;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}@media (pointer:coarse){.joystick{display:block}.hud-help{display:none}.card{bottom:160px}}.hud-me{color:var(--ink-dim);margin-top:6px;font-size:12px}.hud-me #my-name{color:var(--ink)}.hud-me button{pointer-events:auto;color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}#tags{pointer-events:none;position:fixed;inset:0;overflow:hidden}.nametag{will-change:transform;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:0;left:0}.nametag-name{color:var(--ink);white-space:nowrap;background:#1c14128c;border-radius:999px;padding:2px 8px;font-size:12px}.nametag.self .nametag-name{display:none}.bubble{color:#2a2320;word-break:keep-all;overflow-wrap:anywhere;background:#fffffff2;border-radius:12px;max-width:220px;padding:6px 10px;font-size:13px;line-height:1.35;box-shadow:0 2px 8px #0003}.bubble[hidden]{display:none}.chat{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));pointer-events:auto;gap:8px;display:flex;position:absolute}.chat-toggle{background:var(--panel);cursor:pointer;border:1px solid #ffffff40;border-radius:50%;width:44px;height:44px;font-size:18px;display:none}.chat-input{background:var(--panel);width:min(320px,100vw - 120px);height:40px;color:var(--ink);font:inherit;border:1px solid #fff3;border-radius:999px;outline:none;padding:0 12px;font-size:14px}.chat-input:focus{border-color:var(--gold)}@media (pointer:coarse){.chat{left:auto;right:max(16px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom))}.chat-toggle{display:block}.chat-input{display:none}.chat.open .chat-input{left:16px;right:16px;bottom:max(80px, env(safe-area-inset-bottom));width:auto;display:block;position:fixed}}.welcome{text-align:center;border-top:3px solid var(--gold);width:min(400px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);z-index:5;background:#1c1412d1;border-radius:6px;padding:18px 20px 16px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.welcome[hidden]{display:none}.welcome-close{width:36px;height:36px;color:var(--ink-dim);cursor:pointer;background:0 0;border:none;position:absolute;top:6px;right:6px}.welcome-kicker{letter-spacing:.2em;color:var(--gold);text-transform:uppercase;font-size:12px}.welcome-title{margin-top:4px;font-size:19px;font-weight:700}.welcome-stats{color:var(--ink-dim);margin-top:4px;font-size:13px}.welcome-start{background:var(--gold);color:#241a14;min-height:44px;font:inherit;cursor:pointer;border:none;border-radius:999px;margin-top:14px;padding:0 22px;font-weight:700}.welcome-hint{color:var(--ink-dim);margin-top:10px;font-size:12px}.door-label{text-align:center;border-bottom:2px solid var(--gold);color:var(--ink);white-space:nowrap;will-change:transform;background:#1c1412b3;border-radius:4px;padding:6px 12px;position:absolute;top:0;left:0}.door-name{font-size:16px;font-weight:700}.door-sub{color:var(--ink-dim);font-size:11px}.door-sub:empty{display:none}.transit{top:max(16px, env(safe-area-inset-top));color:var(--ink);z-index:20;background:#1c1412e0;border:1px solid #c9a45c99;border-radius:999px;padding:10px 18px;font-size:14px;position:fixed;left:50%;transform:translate(-50%)}.transit[hidden]{display:none}.transit.leaving:after{content:"";z-index:-1;background:#1a1210;animation:.6s forwards fade-dark;position:fixed;inset:-100vh -100vw}@keyframes fade-dark{0%{opacity:0}to{opacity:.85}}.picker{border-top:3px solid var(--gold);width:min(420px,100vw - 32px);max-height:min(560px,100vh - 120px);color:var(--ink);z-index:10;background:#1c1412eb;border-radius:6px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #00000073}.picker[hidden]{display:none}.picker-head{justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.picker-kicker{color:var(--ink-dim);font-size:12px}.picker-heading{font-size:18px;font-weight:700}.picker-close{width:44px;height:44px;color:var(--ink);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;font-size:16px}.channel-btn{top:max(56px, calc(env(safe-area-inset-top) + 40px));right:max(16px, env(safe-area-inset-right));background:var(--panel);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;pointer-events:auto;border:1px solid #c9a45c99;border-radius:999px;padding:0 14px;font-size:14px;position:absolute}.picker-hall{min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:999px;margin:0 16px 8px;font-size:14px}.picker-hall[hidden]{display:none}.picker-random{min-height:40px;color:var(--gold);font:inherit;cursor:pointer;background:#c9a45c1f;border:1px solid #c9a45c99;border-radius:999px;margin:0 16px 8px;font-size:14px}.picker-list{-webkit-overflow-scrolling:touch;padding:0 8px 12px;overflow-y:auto}.picker-floor{color:var(--gold);letter-spacing:.04em;padding:12px 8px 4px;font-size:12px}.picker-room{width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;grid-template-columns:48px 1fr auto;align-items:center;gap:8px;padding:8px;font-size:14px;display:grid}.picker-room:hover:not(:disabled){background:#c9a45c24}.picker-room .num{font-weight:700}.picker-room .count{color:var(--ink-dim);font-size:12px}.picker-room.here{cursor:default;background:#ffffff0f}.picker-room.here .count{color:var(--gold)}.picker-room .people{color:var(--ink);margin-right:6px}#loading{color:var(--ink-dim);background:#1a1210;place-items:center;font-size:14px;transition:opacity .4s;display:grid;position:fixed;inset:0}#loading.done{opacity:0;pointer-events:none}
