:root{--bg: #0a0908;--surface: rgba(18, 15, 13, .72);--surface-solid: #17130f;--surface-2: #211b16;--line: rgba(255, 240, 220, .09);--line-2: rgba(255, 240, 220, .16);--ink: #f3ebdd;--ink-2: #b8ad9c;--ink-3: #7f7566;--brass: #d9b46c;--brass-2: #a8833f;--brass-ink: #1c1409;--ok: #86d18a;--uv: #a97bff;--danger: #ff7a6b;--r-sm: 6px;--r: 8px;--r-lg: 12px;--wood: linear-gradient(180deg, #2b2018, #1c150f);--brass-edge: rgba(217,180,108,.3);--shadow: 0 10px 30px rgba(0, 0, 0, .45);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--serif: "Nanum Myeongjo", serif;--sans: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);overflow:hidden;overscroll-behavior:none}body{font-family:var(--sans);font-size:15px;letter-spacing:-.01em;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;line-break:strict}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}input{font:inherit}.hidden,[hidden]{display:none!important}.ico{display:block;flex:none}#app{position:fixed;top:0;right:0;bottom:0;left:0}#scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}#vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.45) 85%,rgba(0,0,0,.8) 100%)}#grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.045}#fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;pointer-events:none;opacity:1;transition:opacity 1.4s ease;z-index:25}#fade.out{opacity:0}#fade.gone{display:none}#fade.white{background:#fff6e6}.touch #grain{display:none}.touch #vignette{background:radial-gradient(ellipse at center,transparent 62%,rgba(0,0,0,.3) 90%,rgba(0,0,0,.55) 100%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 20px;border-radius:var(--r);font-weight:650;font-size:15.5px;transition:transform .12s,background .2s,opacity .2s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-lg{width:100%;height:56px;font-size:17px;border-radius:var(--r)}.btn-primary{color:var(--brass-ink);text-shadow:0 1px 0 rgba(255,240,200,.55);background:radial-gradient(circle 2.6px at 13px 50%,#7d5c27 55%,#7d5c2700 75%),radial-gradient(circle 2.6px at calc(100% - 13px) 50%,#7d5c27 55%,#7d5c2700 75%),linear-gradient(180deg,#edd292,#d9b46c 46%,#b88c45);box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #5a3c1466,0 0 0 1px #7a5a26,0 6px 14px #00000073}.btn-secondary{color:var(--ink);background:var(--wood);box-shadow:inset 0 1px #ffe6be12,0 0 0 1px var(--brass-edge),0 4px 10px #00000059}.btn-ghost{height:40px;padding:0 14px;font-size:14px;color:var(--ink);background:#ffffff0f;border-radius:999px}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;border-radius:999px;color:var(--ink);background:var(--surface);box-shadow:0 0 0 1px var(--line) inset;transition:background .2s,color .2s,transform .12s}.icon-btn:active{transform:scale(.94)}.icon-btn.labeled{width:auto;padding:0 16px 0 13px}.icon-btn .btn-txt{font-size:14px;font-weight:600}.pill{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 14px;border-radius:999px;font-weight:600;color:var(--ink);background:var(--surface-solid);box-shadow:0 0 0 1px var(--line-2) inset,var(--shadow)}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#hud>*{pointer-events:auto}#topbar{position:absolute;left:0;right:0;top:0;padding:calc(14px + var(--safe-top)) 16px 0;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}#topbar>*{pointer-events:auto}.hud-left{display:flex;flex-direction:column;gap:10px;pointer-events:none!important}#timer-box{display:flex;flex-direction:column;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.8)}#timer-box .label{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-2);margin-bottom:4px}#timer{font-weight:700;font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:.01em}#timer.low{color:var(--danger)}#top-actions{display:flex;gap:8px}#btn-mic.on{color:#0e1a0f;background:var(--ok);box-shadow:none}#hud-players{display:flex;flex-direction:column;gap:6px}#hud-players span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink);text-shadow:0 1px 6px rgba(0,0,0,.9)}#hud-players span:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c, var(--brass));box-shadow:0 0 0 2px #0006;transition:box-shadow .15s}#hud-players span.talk:before{box-shadow:0 0 0 3px #86d18ae6,0 0 12px #86d18acc}#toast{position:absolute;left:50%;bottom:calc(104px + var(--safe-bottom));transform:translate(-50%,6px);width:max-content;max-width:min(620px,calc(100% - 40px));padding:9px 16px;text-align:center;font-size:16px;font-weight:500;line-height:1.55;color:#fff;background:#0000008c;border-radius:10px;text-shadow:0 1px 2px rgba(0,0,0,.8);opacity:0;pointer-events:none!important;transition:opacity .25s,transform .25s;z-index:22}#toast.show{opacity:1;transform:translate(-50%)}.touch #toast{bottom:calc(184px + var(--safe-bottom));font-size:14.5px}#crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#ffffffe6;box-shadow:0 0 0 1px #00000080;pointer-events:none!important;transition:all .12s}#crosshair.on{width:20px;height:20px;margin:-10px 0 0 -10px;background:transparent;box-shadow:0 0 0 1.5px #fffffff2,0 0 0 3px #00000040}#aim-label{position:absolute;left:50%;top:calc(50% + 20px);transform:translate(-50%);padding:4px 10px;font-size:12.5px;font-weight:600;color:#fff;background:#0000008c;border-radius:999px;white-space:nowrap;pointer-events:none!important;opacity:0;transition:opacity .12s}#aim-label.show{opacity:1}#hover-label{position:absolute;padding:4px 10px;font-size:12.5px;font-weight:600;background:#000000a6;border-radius:999px;transform:translate(14px,14px);pointer-events:none;opacity:0;transition:opacity .12s;white-space:nowrap}#hover-label.show{opacity:1}#btn-act{position:absolute;right:16px;bottom:calc(34px + var(--safe-bottom));display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 20px 0 16px;border-radius:999px;font-size:15px;font-weight:700;color:var(--brass-ink);background:linear-gradient(180deg,#e6c47e,var(--brass));box-shadow:0 1px #ffffff59 inset,var(--shadow);white-space:nowrap}#btn-act:active{transform:scale(.96)}#btn-back{position:absolute;right:16px;bottom:calc(44px + var(--safe-bottom))}.touch #btn-back{bottom:calc(36px + var(--safe-bottom));height:50px}#pause{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#0605048c;animation:fadeIn .18s ease}.pause-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;padding:22px 20px 18px;border-radius:var(--r-lg);background:var(--surface-solid);box-shadow:0 0 0 1px var(--line-2) inset,var(--shadow)}.pause-title{font-family:var(--serif);font-size:21px;font-weight:800;text-align:center;color:var(--brass)}.pause-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pause-item{position:relative;display:flex;align-items:center;gap:9px;height:50px;padding:0 14px;border-radius:var(--r);font-size:14.5px;font-weight:650;color:var(--ink);background:#ffffff0f}.pause-item .ico{color:var(--ink-2)}.pause-item.danger,.pause-item.danger .ico{color:var(--danger)}.pause-item kbd{margin-left:auto}.pause-keys{margin:2px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-2);text-align:center}kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;font:700 11.5px/1 var(--sans);color:var(--ink-2);background:#ffffff14;box-shadow:inset 0 -1.5px #00000073,0 0 0 1px var(--line-2) inset}.icon-btn kbd{margin-left:2px}.touch kbd{display:none}#joystick{position:absolute;left:26px;bottom:calc(40px + var(--safe-bottom));width:116px;height:116px;border-radius:50%;background:radial-gradient(circle,#ffffff0d,#ffffff05 70%);box-shadow:0 0 0 1.5px #ffffff24 inset;display:none;pointer-events:none!important;opacity:.6;transition:opacity .15s}#joystick.active{opacity:1;transition:none}#stick{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#f3ebdd47;box-shadow:0 0 0 1px #ffffff59 inset,0 4px 14px #0006}.touch #joystick{display:block}#inventory{position:absolute;left:50%;transform:translate(-50%);bottom:calc(18px + var(--safe-bottom));display:flex;gap:8px;padding:8px;border-radius:18px;background:var(--surface);box-shadow:0 0 0 1px var(--line) inset}.inv-slots{display:flex;gap:8px}.slot{position:relative;width:58px;height:58px;border-radius:var(--r);overflow:hidden;background:#00000059;box-shadow:0 0 0 1px var(--line) inset;display:grid;place-items:center}.slot img{width:100%;height:100%;object-fit:cover}.slot .tag{position:absolute;left:0;right:0;bottom:0;padding:10px 0 3px;font-size:12px;font-weight:600;text-align:center;background:linear-gradient(transparent,#000000bf)}.slot .num{position:absolute;left:5px;top:4px;font-size:11px;font-weight:700;color:var(--ink-3)}.slot.active{box-shadow:0 0 0 2px var(--uv) inset,0 0 16px #a97bff8c}.slot.new{animation:pop .5s ease}@keyframes pop{0%{transform:scale(.5)}60%{transform:scale(1.12)}to{transform:scale(1)}}.inv-toggle{display:none}.touch{--inv-top: 30vh}@media (orientation: landscape){.touch{--inv-top: calc(62px + var(--safe-top))}}.touch #inventory{left:auto;right:12px;bottom:auto;top:var(--inv-top);transform:none;flex-direction:column;align-items:center;padding:5px;gap:6px;border-radius:999px}.touch .inv-slots{flex-direction:column;gap:6px;max-height:calc(100vh - var(--inv-top) - 175px - var(--safe-bottom));min-height:44px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;padding-left:110px;margin-left:-110px;pointer-events:none}.touch .inv-slots::-webkit-scrollbar{display:none}.touch .slot{pointer-events:auto;overflow:visible;flex:none;width:44px;height:44px;border-radius:50%}.touch .slot img{border-radius:50%}.touch .slot:disabled{pointer-events:none}.touch #inventory.collapsed{padding:0;background:none;box-shadow:none}.touch #inventory.collapsed .inv-slots,.touch .slot .num{display:none}.touch .slot .tag{left:auto;bottom:auto;right:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:3px 9px;border-radius:999px;font-size:12px;white-space:nowrap;background:#000000b8;pointer-events:none}.touch .inv-toggle{display:inline-flex}.inv-toggle .count,#btn-notes .count{position:absolute;right:-2px;top:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--brass);color:var(--brass-ink);font-size:10.5px;font-weight:800;line-height:17px;text-align:center}.inv-toggle.has-new,#btn-notes.has-new{animation:bagPulse 1.4s ease-in-out infinite}.inv-toggle.uv-on{color:var(--uv);box-shadow:0 0 0 1.5px var(--uv) inset,0 0 14px #a97bff99}@keyframes bagPulse{0%,to{box-shadow:0 0 0 1px var(--line) inset,0 0 #d9b46c8c}50%{box-shadow:0 0 0 1px var(--line) inset,0 0 0 8px #d9b46c00}}#chat-log{position:absolute;left:16px;bottom:calc(162px + var(--safe-bottom));width:min(380px,72vw);display:flex;flex-direction:column;gap:4px;pointer-events:none!important}#chat-log .msg{align-self:flex-start;max-width:100%;padding:6px 11px;font-size:13.5px;line-height:1.45;border-radius:12px;background:#00000080;text-shadow:0 1px 2px rgba(0,0,0,.6);word-break:keep-all;overflow-wrap:anywhere;transition:opacity .6s}#chat-log .msg b{margin-right:7px;font-weight:700}#chat-log .msg.old{opacity:0}#chat-log.open .msg.old{opacity:.8}#chat-box{position:absolute;left:16px;right:16px;bottom:calc(18px + var(--safe-bottom));display:flex;gap:8px;max-width:520px;z-index:15;padding:6px;border-radius:999px;background:var(--surface-solid);box-shadow:0 0 0 1px var(--line-2) inset,var(--shadow)}#chat-box input{flex:1;min-width:0;padding:0 14px;font-size:16px;color:var(--ink);background:transparent;border:0;outline:none;user-select:text;-webkit-user-select:text}#chat-box .icon-btn{width:40px;height:40px;box-shadow:none;background:#ffffff0f}#chat-box .icon-btn.send{color:var(--brass-ink);background:var(--brass)}.touch #chat-log{bottom:calc(238px + var(--safe-bottom))}.touch #chat-box{top:calc(68px + var(--safe-top));bottom:auto}.touch #chat-log.open{top:calc(126px + var(--safe-top));bottom:auto}.touch .icon-btn .btn-txt{display:none}.touch .icon-btn.labeled{width:44px;padding:0}.touch #top-actions{gap:6px}@media (max-width: 380px){.touch .icon-btn{width:40px;height:40px}.touch .icon-btn.labeled{width:40px}}#modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#0000008c;animation:fadeIn .18s ease}#modal-card{position:relative;width:100%;max-width:420px;max-height:calc(100% - 24px);overflow-y:auto;padding:24px 20px 20px;border-radius:var(--r-lg);background:var(--surface-solid);box-shadow:0 0 0 1px var(--line) inset,0 30px 80px #0009;animation:rise .24s cubic-bezier(.2,.8,.2,1)}.touch #modal{place-items:end center;padding:0}.touch #modal-card{max-width:520px;border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:calc(22px + var(--safe-bottom))}@keyframes fadeIn{0%{opacity:0}}@keyframes rise{0%{transform:translateY(24px);opacity:0}}.modal-title{margin:0 44px 16px;text-align:center;font-family:var(--serif);font-size:19px;font-weight:800;color:var(--brass)}.modal-close{position:absolute;z-index:2;right:10px;top:10px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--ink-2);background:#ffffff0f}.btn-row{display:flex;gap:8px;justify-content:center;margin-top:18px}.btn-row .btn{flex:1}.primary{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:var(--r);font-weight:700;color:var(--brass-ink);background:linear-gradient(180deg,#e6c47e,var(--brass))}.ghost{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:var(--r);font-weight:600;color:var(--ink);background:#ffffff12}.btn-row .primary,.btn-row .ghost{flex:1}.paper{margin-top:8px;padding:26px 24px 22px;border-radius:6px;color:#2b2116;background:#ebdfc4;font-family:Nanum Pen Script,cursive;font-size:27px;line-height:1.35;box-shadow:inset 0 0 40px #6e501e4d,0 12px 30px #0006;transform:rotate(-1deg)}.paper .sign{text-align:right;margin-top:10px}.keypad-display{margin-bottom:14px;padding:12px 0 10px .4em;text-align:center;font-family:ui-monospace,Consolas,monospace;font-size:34px;letter-spacing:.4em;color:#73ffa3;background:#08140c;border-radius:12px;box-shadow:0 0 0 1px #1d3a26 inset;text-shadow:0 0 10px rgba(115,255,163,.55)}.keypad-display.err{color:#ff7a6b;background:#1a0a08;box-shadow:0 0 0 1px #4a1a15 inset;text-shadow:0 0 10px rgba(255,122,107,.55)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{height:58px;border-radius:14px;font-size:22px;font-weight:600;background:var(--surface-2);box-shadow:0 0 0 1px var(--line) inset,0 3px #0b0907}.keypad button:active{transform:translateY(2px);box-shadow:0 0 0 1px var(--line) inset,0 1px #0b0907}.keypad button.ok{font-size:16px;color:#0e1a0f;background:var(--ok)}.shake{animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.dials{display:flex;justify-content:center;gap:14px}.dial{display:flex;flex-direction:column;align-items:center;gap:8px}.dial button{width:66px;height:42px;border-radius:12px;font-size:15px;background:#ffffff14}.dial .num{width:66px;height:78px;display:grid;place-items:center;font-family:var(--serif);font-weight:800;font-size:44px;color:#f1e7d0;border-radius:12px;background:linear-gradient(#0d0d0d,#2a2a2a 50%,#0d0d0d);box-shadow:0 0 0 1px #4d4d4d inset}.safe-face{padding:18px;border-radius:16px;background:linear-gradient(145deg,#3a3d42,#202226);box-shadow:0 0 0 1px #50545a inset}.setting{display:block;margin:0 0 18px;font-size:15px}.setting b{float:right;color:var(--brass)}.setting input[type=range]{width:100%;margin-top:12px;accent-color:var(--brass);height:28px}.setting.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.setting.row input{width:22px;height:22px;accent-color:var(--brass)}.setting select{height:38px;padding:0 10px;color:var(--ink);background:var(--surface-2);border:0;border-radius:var(--r-sm);box-shadow:0 0 0 1px var(--line-2) inset;font-size:14.5px}.hint-text{font-size:16px;line-height:1.75;text-align:center}.hint-meta{margin-top:10px;font-size:12.5px;color:var(--ink-3);text-align:center}.screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30}.controls{margin:18px 0 0;font-size:13px;line-height:1.7;color:var(--ink-2);text-align:center}#home{align-items:flex-end;justify-content:center;transition:opacity .6s ease;display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;overflow:hidden}#home.leaving{opacity:0;pointer-events:none}.home-shade{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#0a090800 20%,#0a09088c 52%,#0a0908f5 82%);transition:background .4s}#home.deep .home-shade{background:linear-gradient(180deg,#0a0908e0 0,#0a090899 96px,#0a0908eb 40%)}.home-panel{position:relative;width:100%;max-width:440px;padding:24px 20px calc(22px + var(--safe-bottom));margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(24px + var(--safe-top))!important;height:100%;min-height:0}.brand{margin-bottom:26px}.logo{margin:8px 0;font-family:var(--serif);font-weight:800;font-size:56px;letter-spacing:.04em;line-height:1.05;text-shadow:0 4px 30px rgba(0,0,0,.6)}.tagline{margin:0;color:var(--ink-2);font-size:14.5px}.menu{display:flex;flex-direction:column;gap:10px}@media (min-width: 900px){#home{align-items:center;justify-content:flex-start;padding-left:7vw}.home-shade{background:linear-gradient(90deg,#0a0908f7,#0a0908d9 32%,#0a090826 62%,#0a090800)}.home-panel{padding:40px 0}#home.deep .home-shade{background:linear-gradient(90deg,#0a0908f7,#0a0908eb 40%,#0a090859 75%)}.logo{font-size:68px}}.view-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.view-head h2{margin:0;font-family:var(--serif);font-size:22px;font-weight:800}.field{display:block;margin:0 0 14px}.field>span,.field-label{display:block;margin-bottom:7px;font-size:12.5px;font-weight:600;color:var(--ink-2)}.field small{color:var(--ink-3);font-weight:500}.field input{width:100%;height:52px;padding:0 16px;font-size:16px;color:var(--ink);background:#ffffff0d;border:0;border-radius:var(--r);box-shadow:0 0 0 1px var(--line-2) inset;outline:none;user-select:text;-webkit-user-select:text;transition:box-shadow .15s}.field input:focus{box-shadow:0 0 0 1.5px var(--brass) inset}.field input::placeholder{color:var(--ink-3)}.code-input{font-family:ui-monospace,Consolas,monospace;font-size:26px!important;font-weight:700;letter-spacing:.4em;text-align:center;text-transform:uppercase}.form-error{min-height:20px;margin:0 0 10px;font-size:13.5px;color:var(--danger)}.note{margin:16px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-3);text-align:center}.option-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;min-height:150px;padding:18px 16px;text-align:left;border-radius:var(--r-lg);background:var(--wood);box-shadow:inset 0 1px #ffe6be12,0 0 0 1px var(--brass-edge),0 6px 16px #00000059;transition:transform .12s,box-shadow .2s}.option .chev{display:none}.option:hover{box-shadow:inset 0 1px #ffe6be12,0 0 0 1px #d9b46c99,0 6px 16px #00000059}.option:active{transform:scale(.98)}.option-ico{width:46px;height:46px;display:grid;place-items:center;flex:none;border-radius:var(--r);color:var(--brass);background:#d9b46c1f}.option-txt{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.option-txt b{font-family:var(--serif);font-size:19px;font-weight:800}.option-txt small{font-size:12.5px;color:var(--ink-2)}.chev{color:var(--ink-3)}.theme-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.theme-card{position:relative;display:block;width:100%;overflow:hidden;text-align:left;border-radius:var(--r-lg);background:var(--surface-2);box-shadow:0 0 0 1px var(--brass-edge) inset,0 10px 24px #0006;transition:transform .15s}.theme-card:active{transform:scale(.985)}.theme-art{background:#2a1e14 center 40% / cover no-repeat;height:150px;background-size:cover;background-position:center 35%}.theme-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,rgba(23,19,15,.98) 74%)}.theme-study{background-image:url(/textures/painting_lq.webp)}.theme-lab{background:radial-gradient(circle at 30% 30%,#2c5552,#0b1414 70%)}.theme-train{background:radial-gradient(circle at 70% 30%,#3d3366,#0d0b16 70%)}.theme-info{position:relative;display:flex;flex-direction:column;gap:4px;margin-top:-48px;padding:0 16px 15px}.theme-info b{font-family:var(--serif);font-size:20px;font-weight:800}.theme-info small{font-size:13px;color:var(--ink-2)}.theme-meta{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.theme-meta span{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:4px;font-size:11.5px;font-weight:600;color:var(--ink-2);background:#ffffff0f}.lvl{display:inline-flex;gap:2px}.lvl i{width:6px;height:10px;border-radius:2px;background:#ffffff2e}.lvl i.on{background:var(--brass)}.theme-card.locked{cursor:default}.theme-card.locked .theme-art,.theme-card.locked .theme-info{opacity:.45}.soon{position:absolute;right:12px;top:12px;height:24px;padding:0 10px;display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:700;color:var(--ink);background:#0000008c}.theme-card.selected{box-shadow:0 0 0 2px var(--brass) inset}.room-code{flex-direction:column;gap:6px;border-radius:var(--r-lg);background:var(--wood);box-shadow:0 0 0 1px var(--brass-edge) inset;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;row-gap:2px;padding:12px 14px;margin-bottom:12px}.room-code .label{font-size:12px;font-weight:600;color:var(--ink-2)}.room-code b{font-family:ui-monospace,Consolas,monospace;font-weight:800;color:var(--brass);padding-left:0;font-size:30px;letter-spacing:.2em}.room-code .sub{font-size:12.5px;color:var(--ink-3);min-height:0}.row{display:flex;gap:8px;justify-content:center;margin-top:8px}.players{flex-direction:column;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr}.players li{display:flex;align-items:center;border-radius:var(--r);background:#ffffff0d;height:50px;padding:0 10px;gap:9px}.players li.empty{justify-content:center;font-size:13px;color:var(--ink-3);background:none;box-shadow:0 0 0 1px var(--line) inset;border-radius:var(--r)}.players .avatar{display:grid;place-items:center;border-radius:50%;font-weight:800;color:#1b140c;background:var(--c);width:30px;height:30px;font-size:13px}.players .pname{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.players .badge{display:inline-flex;align-items:center;gap:4px;height:22px;border-radius:999px;font-size:11.5px;font-weight:700;color:var(--brass);background:#d9b46c24;padding:0 6px}.players .badge.me{color:var(--ink-2);background:#ffffff12}.waiting{display:flex;align-items:center;justify-content:center;gap:10px;margin:6px 0 0;font-size:14px;color:var(--ink-2)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:var(--brass);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.load-status{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:16px;margin:14px 0 0;text-align:center;font-size:12.5px;color:var(--ink-2)}.load-status .load-bar{display:none;width:min(240px,70%);overflow:hidden;height:6px;border-radius:2px;background:#1c140d;box-shadow:inset 0 1px 2px #000c,0 0 0 1px #a8833f59}.load-status.active .load-bar{display:block}.load-status .load-bar i{display:block;width:0;height:100%;transition:width .25s ease;background:linear-gradient(90deg,#ffd68c33,#ffd88a 60%,#fff3d6);box-shadow:0 0 12px 2px #ffc86e8c}.load-status.error{color:var(--danger)}.load-status.error .load-bar{display:none}.load-status .btn-sm{margin-left:6px;vertical-align:middle}#clear-screen{display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 40%,#2c2013f2,#050403fa);animation:fadeIn .8s ease;overflow:hidden}.clear-card{width:100%;max-width:420px;max-height:100%;display:flex;flex-direction:column;gap:18px;text-align:center}#flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#fff;opacity:0;z-index:24}#flash.on{animation:flash .9s ease-out}@keyframes flash{0%{opacity:.95}to{opacity:0}}.paper.print{font-family:var(--sans);font-size:15px;line-height:1.75;transform:none}.paper.print h4{margin:0 0 10px;font-family:var(--serif);font-size:18px;text-align:center}.paper.print table{width:100%;border-collapse:collapse;font-size:13.5px}.paper.print td,.paper.print th{padding:5px 4px;border-bottom:1px dashed rgba(60,40,20,.35);text-align:left}.photo-view{display:block;width:100%;border-radius:6px;box-shadow:0 10px 30px #00000080}.dial .num.wide{font-size:22px;font-family:var(--sans);font-weight:800}.home-panel>section{width:100%}@media (min-width: 900px){.home-panel{margin:0 0 0 7vw;justify-content:center}}#home.deep .home-panel{justify-content:flex-start;padding-bottom:calc(14px + var(--safe-bottom))!important}.theme-card .genre,.detail-poster .genre{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--brass)}.lvl.fear i.on{background:#e0675a}.lobby-theme{margin-bottom:14px;position:relative}.lobby-theme.editable{cursor:pointer}.detail{margin-bottom:16px;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);box-shadow:0 0 0 1px var(--brass-edge) inset}.detail-poster{position:relative;height:240px;background:#1a1410 center 30% / cover no-repeat}.detail-poster:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 45%,var(--surface-2) 98%)}.detail-poster .genre{position:absolute;left:14px;top:14px;z-index:1;padding:4px 10px;border-radius:999px;background:#0009}.detail-body{position:relative;padding:0 18px 18px;margin-top:-34px}.detail-title b{display:block;font-family:var(--serif);font-size:26px;font-weight:800}.detail-title small{display:block;margin-top:4px;color:var(--ink-2);font-size:14px}.detail-chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.detail-chips span{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:4px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:#ffffff0f}.detail-chips .lvl-chip{color:var(--brass-ink);background:var(--brass)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:14px;border-radius:var(--r);background:#00000040}.metric{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--ink-2)}.metric .lvl i{width:9px;height:12px}.synopsis{margin:16px 0 0;font-size:14.5px;line-height:1.85;color:var(--ink)}.detail-note{margin:12px 0 0;padding:10px 12px;border-radius:var(--r-sm);font-size:13px;line-height:1.6;color:var(--ink-2);background:#d9b46c14}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tags span{font-size:12.5px;font-weight:600;color:var(--brass);padding:4px 10px;border-radius:999px;background:#d9b46c1a}.lobby-chat{margin-top:22px;padding:14px;border-radius:var(--r-lg);background:#ffffff09;box-shadow:0 0 0 1px var(--line) inset}.lobby-chat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.lobby-chat-head .field-label{margin:0}.btn-sm{height:34px;padding:0 12px;gap:6px;font-size:13px}#btn-lobby-mic.on{color:var(--brass-ink);background:var(--brass)}.lobby-chat-log{display:flex;flex-direction:column;gap:6px;height:168px;overflow-y:auto;padding:2px 2px 6px;overscroll-behavior:contain}.lobby-chat-log .empty{margin:auto;font-size:13px;color:var(--ink-3);text-align:center}.lobby-chat-log .msg{align-self:flex-start;max-width:100%;padding:6px 11px;font-size:14px;line-height:1.45;border-radius:12px;background:#ffffff0f;word-break:keep-all;overflow-wrap:anywhere}.lobby-chat-log .msg b{margin-right:7px}.lobby-chat-log .msg.sys,#chat-log .msg.sys{align-self:center;padding:3px 10px;font-size:12px;color:var(--ink-3);background:none;text-shadow:none}#chat-log .msg.sys{color:var(--ink-2);background:#00000059}.lobby-chat-form{display:flex;gap:8px;margin-top:8px;padding:5px;border-radius:999px;background:#0000004d;box-shadow:0 0 0 1px var(--line-2) inset}.lobby-chat-form input{flex:1;min-width:0;padding:0 12px;font-size:16px;color:var(--ink);background:none;border:0;outline:none}.lobby-chat-form .icon-btn{width:38px;height:38px;box-shadow:none;background:#ffffff14}.players li.away{opacity:.55}.players .badge.dim{color:var(--ink-3);background:#ffffff0d}.players .give{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;color:var(--ink-2);background:#ffffff12;font-size:12px;font-weight:700;white-space:nowrap}.players .give.confirm{color:var(--brass-ink);background:var(--brass)}#hud-players span.away{opacity:.45}#net-status{position:fixed;left:50%;top:calc(12px + var(--safe-top));z-index:60;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink);background:#28160eeb;box-shadow:0 0 0 1px #ff7a6b59 inset,var(--shadow);white-space:nowrap}#clear-screen.fail{background:radial-gradient(ellipse at 50% 40%,#28100ef2,#050403fa)}#install-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:grid;place-items:center;padding:16px;background:#0000008c;animation:fadeIn .2s ease}.touch #install-sheet{place-items:end center;padding:0}.install-card{position:relative;width:100%;max-width:420px;padding:26px 22px calc(18px + var(--safe-bottom));border-radius:var(--r-lg);text-align:center;background:var(--surface-solid);box-shadow:0 0 0 1px var(--line-2) inset,var(--shadow)}.touch .install-card{max-width:none;border-radius:var(--r-lg) var(--r-lg) 0 0}.install-close{position:absolute;right:10px;top:10px;width:44px;height:44px}.install-icon{border-radius:var(--r);box-shadow:var(--shadow)}.install-card h3{margin:12px 0 6px;font-size:19px}.install-sub{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:var(--ink-2)}.install-steps{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;text-align:left}.install-steps li{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r);font-size:14.5px;background:#ffffff0d}.install-steps .n{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:800;color:var(--brass-ink);background:var(--brass)}.install-steps .ico{flex:none;color:var(--brass)}.install-card .btn-primary{width:100%;margin-bottom:8px}.install-note{margin:0 0 10px;font-size:12.5px;color:var(--ink-3)}body.modal-open #toast{top:calc(14px + var(--safe-top));bottom:auto}.note-list{display:flex;flex-direction:column;gap:8px}.note-item{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 14px;text-align:left;border-radius:var(--r);background:#ffffff0d;box-shadow:0 0 0 1px var(--line) inset}.note-item b{flex:1;font-weight:650}.note-item .ico{color:var(--ink-3)}.note-kind{flex:none;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:700;color:var(--brass);background:#d9b46c1f}.hint-text small{display:block;margin-top:6px;font-size:13px;color:var(--ink-3)}.hint-progress{position:relative;display:flex;justify-content:space-between;align-items:center;margin:-4px 0 14px;padding:8px 12px 12px;border-radius:var(--r);font-size:13px;color:var(--ink-2);background:#ffffff0a}.hint-progress b{color:var(--ink)}.hint-progress i{position:absolute;left:12px;right:12px;bottom:6px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--brass) var(--p),rgba(255,255,255,.1) var(--p))}.hint-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.hint-list li{padding:10px 12px;border-radius:var(--r);font-size:15px;line-height:1.65;background:#ffffff0d}.hint-list li span{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;color:var(--brass-ink);background:var(--brass)}.hint-list li.answer{box-shadow:0 0 0 1px #ff7a6b59 inset}.hint-list li.answer span{color:#fff;background:#b8463b}.primary.warn,.btn.warn{color:#fff;background:linear-gradient(180deg,#d9675b,#b8463b)}.kbd-hint{margin:12px 0 0;font-size:12px;color:var(--ink-3);text-align:center}.dial-label{font-size:12px;font-weight:700;color:#cfd3d8}.dial.sel .num{box-shadow:0 0 0 2px var(--brass) inset}.dial-msg{min-height:20px;margin:10px 0 0;font-size:13.5px;color:var(--danger);text-align:center}@media (max-height: 520px){#modal-card{padding:14px 16px 12px}.touch #modal-card{padding-bottom:calc(12px + var(--safe-bottom));max-width:460px}.modal-title{margin-bottom:8px;font-size:17px}.keypad-display{margin-bottom:8px;padding:6px 0 5px .4em;font-size:24px}.keypad{gap:6px}.keypad button{height:42px;font-size:19px}.btn-row{margin-top:10px}.safe-face{padding:10px}.dial{gap:5px}.dial button{height:34px}.dial .num{height:54px;font-size:34px}.dial-msg{margin-top:4px}.paper{padding:16px 18px 14px;font-size:22px}.touch #toast{bottom:calc(110px + var(--safe-bottom))}}.sticky-cta{bottom:0;z-index:2;position:static;flex:none;margin:0;padding:12px 0 0;background:none}.sticky-cta .note{margin-top:0}.theme-meta .rec{color:var(--ok);background:#86d18a1f}.theme-meta .rec.dim{color:var(--ink-2);background:#ffffff0f}.detail-rec{display:flex;align-items:center;gap:8px;margin:-4px 0 14px;padding:10px 12px;border-radius:var(--r-sm);font-size:13.5px;color:var(--ink-2);background:#86d18a14}.detail-rec .ico{color:var(--ok)}.detail-rec b{color:var(--ink)}.resume-card{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px 10px 10px;text-align:left;border-radius:var(--r-lg);background:#d9b46c1a;box-shadow:0 0 0 1px #d9b46c59 inset}.resume-art{flex:none;width:52px;height:52px;border-radius:var(--r-sm);background:#2a1e14 center / cover no-repeat}.resume-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.resume-txt b{font-family:var(--serif);font-size:17px}.resume-txt small{font-size:12.5px;color:var(--ink-2)}.resume-txt small:first-child{color:var(--brass);font-weight:700}.resume-go{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--brass-ink);background:var(--brass)}.resume-x{position:absolute;right:-6px;top:-6px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--ink-2);background:var(--surface-2);box-shadow:0 0 0 1px var(--line-2) inset}.players li[role=button]{cursor:pointer}.players li.open{grid-column:1 / -1;flex-wrap:wrap;height:auto;padding:10px;box-shadow:0 0 0 1px var(--line-2) inset}.pmenu{display:flex;flex-wrap:wrap;gap:6px;width:100%}.pmenu button{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:600;background:#ffffff14}.pmenu button.danger{color:var(--danger)}.pmenu button.confirm{color:var(--brass-ink);background:var(--brass)}.pmenu button.danger.confirm{color:#fff;background:#b8463b}.players .badge.ok{color:var(--ok);background:#86d18a24}.players-tip{margin:-6px 0 10px}#btn-ready.on{color:var(--ok);box-shadow:0 0 0 1px #86d18a80 inset}#btn-lobby-start+#btn-ready{margin-top:0}.boot-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:#0a0908 url(/textures/poster_study.webp) center 30% / cover no-repeat;filter:brightness(.55);transition:opacity .8s ease}#home.booting .boot-bg{opacity:1}#busy{position:fixed;left:50%;top:50%;z-index:60;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:12px 18px;font-size:14px;font-weight:600;background:var(--surface-solid);box-shadow:0 0 0 1px var(--line-2) inset,var(--shadow);border-radius:8px}#update-bar{position:fixed;left:50%;bottom:calc(16px + var(--safe-bottom));z-index:58;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap;background:var(--surface-solid);box-shadow:0 0 0 1px var(--line-2) inset,var(--shadow)}.result-actions{display:flex;flex-direction:column;gap:10px}.result-actions .row{margin:0}.result-actions .row .btn{flex:1}.result-actions .btn-ghost{align-self:center}.resume-card.rejoin{background:#5aa8e01a;box-shadow:0 0 0 1px #5aa8e066 inset}.resume-card.rejoin .resume-txt small:first-child{color:#7fc0ee}.resume-card.rejoin .resume-go{color:#0b1a26;background:#7fc0ee}#hud-comm{display:flex;gap:6px;pointer-events:auto}#hud-comm:empty{display:none}#modal-card>.modal-close+.paper{margin-top:40px}#timer.pen{animation:timer-pen 1.2s ease}@keyframes timer-pen{0%,60%{color:var(--danger);transform:scale(1.18)}to{transform:none}}.kp{position:relative;margin:4px auto 0;max-width:300px;padding:24px 20px 20px;border-radius:18px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px),linear-gradient(160deg,#cfd4d9,#939aa1 46%,#676e75);box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 5px #00000059,0 12px 26px #0000008c,0 2px #3b4046}.kp-screw{position:absolute;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4f6f7,#8b9298 60%,#50565c);box-shadow:0 1px 1px #00000080}.kp-screw:after{content:"";position:absolute;left:2px;right:2px;top:5px;height:1.5px;background:#282c30b3;transform:rotate(35deg)}.kp-screw.tl{left:8px;top:8px}.kp-screw.tr{right:8px;top:8px}.kp-screw.bl{left:8px;bottom:8px}.kp-screw.br{right:8px;bottom:8px}.kp-top{display:flex;align-items:center;gap:10px;margin-bottom:16px}.kp-led{flex:0 0 auto;width:11px;height:11px;border-radius:50%;background:#3a0e0c;box-shadow:inset 0 1px 2px #0009;transition:background .15s,box-shadow .15s}.kp-led.blink{animation:kp-blink .25s}.kp-led.ok{background:#3cff7a;box-shadow:0 0 10px #3cff7a,inset 0 1px 1px #fff9}.kp-led.err{background:#ff3a2a;box-shadow:0 0 10px #ff3a2a}@keyframes kp-blink{0%,60%{background:#ffb02e;box-shadow:0 0 8px #ffb02e}}.kp .keypad-display{flex:1;margin:0;padding:10px 0 8px .35em;border-radius:8px;font:700 30px/1 Courier New,ui-monospace,monospace;letter-spacing:.35em;color:#8dffa8;text-shadow:0 0 8px rgba(120,255,160,.6);background:linear-gradient(#0b1d11,#06120a);box-shadow:inset 0 2px 6px #000000d9,0 1px #ffffff80}.kp .keypad-display.err{color:#ff8a7a;text-shadow:0 0 8px rgba(255,120,100,.6);background:linear-gradient(#200a07,#120504)}.kp .keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.kk{height:56px;border-radius:12px;font-size:22px;font-weight:800;color:#2a2e33;background:linear-gradient(#f6f7f8,#c8ccd0);box-shadow:0 4px #666c73,0 7px 10px #00000059,inset 0 1px #fff;transition:transform .05s,box-shadow .05s}.kk b{font-weight:inherit}.kk:active,.kk.hit{animation:kk-hit .2s}@keyframes kk-hit{0%,45%{transform:translateY(3px);box-shadow:0 1px #666c73,0 2px 4px #0000004d,inset 0 1px #fff}to{transform:none}}.kk.ok{font-size:15px;color:#06240f;background:linear-gradient(#6aeb95,#2fa85d);box-shadow:0 4px #1b6638,0 7px 10px #00000059,inset 0 1px #fff9}.kk.fn{color:#3a2a08;background:linear-gradient(#ecd283,#b98f36);box-shadow:0 4px #6e5418,0 7px 10px #00000059,inset 0 1px #fff9}.kp.opened .keypad-display{color:#c9ffd6}.kp-register{background:repeating-linear-gradient(92deg,rgba(0,0,0,.06) 0 2px,transparent 2px 7px),linear-gradient(160deg,#8a5a32,#4a2c16 70%,#331d0e);box-shadow:inset 0 0 0 4px #c9a256,inset 0 0 0 6px #6a4a1a,0 12px 26px #0000008c}.kp-register .kp-screw{background:radial-gradient(circle at 35% 30%,#ffe9a8,#c9a256 60%,#6a4a1a)}.kp-register .keypad-display{font:700 28px/1 var(--serif);letter-spacing:.2em;color:#8a1c1c;text-shadow:none;background:linear-gradient(#fbf5e3,#e8dcbc);box-shadow:inset 0 2px 5px #00000059,0 0 0 2px #c9a256}.kp-register .kk{width:60px;height:60px;justify-self:center;border-radius:50%;font-family:var(--serif);color:#3a2a18;background:radial-gradient(circle at 38% 30%,#fffdf6,#e6dabd 62%,#b7a681);box-shadow:0 0 0 3px #c9a256,0 4px 0 3px #6a4a1a,0 8px 12px #0006}.kp-register .kk.ok{background:radial-gradient(circle at 38% 30%,#ffd7d0,#d0473a 62%,#8a1c1c);color:#fff;font-family:var(--sans)}.kp-register .kk.fn{background:radial-gradient(circle at 38% 30%,#fff1c4,#d9b46c 62%,#8a6424)}.kp-brass{background:linear-gradient(160deg,#f6dfa2,#cfa24c 48%,#8c6424);box-shadow:inset 0 1px #ffffffbf,inset 0 -3px 6px #5a3c0080,0 12px 26px #00000080}.kp-brass .kp-screw{background:radial-gradient(circle at 35% 30%,#fff3cc,#c9a256 60%,#6a4a1a)}.kp-brass .kk{color:#4a3410;background:linear-gradient(#f1d898,#c29546);box-shadow:0 4px #7a5618,0 7px 10px #0000004d,inset 0 1px #ffffffb3}.kp-brass .keypad-display{background:linear-gradient(#20160a,#120c05);color:#ffd68a;text-shadow:0 0 8px rgba(255,200,110,.55)}.lock{position:relative;margin:6px auto 0;width:fit-content;max-width:100%}.lock-body{position:relative;padding:18px 16px 16px;border-radius:16px;max-width:calc(100vw - 48px)}.lock .dials{display:flex;justify-content:center;gap:10px;flex-wrap:nowrap}.lock .dial{display:flex;flex-direction:column;align-items:center;gap:6px}.lock .w-btn{width:54px;height:26px;border-radius:8px;font-size:11px;color:#fffc;background:#00000047}.wheel{position:relative;width:58px;height:132px;overflow:hidden;border-radius:10px;cursor:ns-resize;touch-action:none;user-select:none;-webkit-user-select:none;background:linear-gradient(#141414,#3c3c3c 50%,#141414);box-shadow:inset 0 0 0 1px #000000a6,0 1px #ffffff40}.wheel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:linear-gradient(#000000c7,#0000 30%,#ffffff1a,#0000 70%,#000000c7)}.wheel:before{content:"";position:absolute;left:0;right:0;top:33.3%;height:33.4%;z-index:1;pointer-events:none;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(0,0,0,.55)}.wheel:has(.wide){width:104px}.dial:only-child .wheel,.dial:only-child .w-btn{width:210px}.strip{display:flex;flex-direction:column;height:100%;transition:transform .17s cubic-bezier(.2,.8,.3,1.25)}.strip>span{flex:0 0 33.334%;display:flex;align-items:center;justify-content:center;gap:6px;font:800 36px/1 var(--serif);color:#f1e7d0}.strip>.w-prev,.strip>.w-next{transform:scaleY(.72);opacity:.6}.strip>.wide{font:800 16px/1.1 var(--sans)}.lock .dial .num{width:auto;height:auto;background:none;box-shadow:none;border-radius:0}.lock .dial.sel .wheel{box-shadow:inset 0 0 0 1px #000000a6,0 0 0 2px var(--brass)}.lock .dial-label{font-size:12px;font-weight:700}.strip .sw{width:15px;height:15px;flex:0 0 auto;border-radius:50%;background:var(--c);box-shadow:0 0 9px var(--c),inset 0 1px 1px #ffffff80}.lock.jiggle{animation:lock-jiggle .38s}@keyframes lock-jiggle{20%{transform:rotate(-2deg)}45%{transform:rotate(2deg)}70%{transform:rotate(-1deg)}}.lock-padlock{padding-top:54px}.lock-padlock .shackle{position:absolute;left:50%;top:0;width:64%;height:92px;transform:translate(-50%);border:15px solid #b6bcc2;border-bottom:0;border-radius:80px 80px 0 0;box-shadow:inset 0 3px #ffffff73,0 -1px #fff9,0 3px 6px #0006;transition:transform .4s cubic-bezier(.3,1.7,.5,1)}.lock-padlock.opened .shackle{transform:translate(-50%,-22px) rotate(-6deg)}.lock-padlock .lock-body{border-radius:24px;padding:22px 20px 20px;background:linear-gradient(160deg,#f6dc94,#d4a748 42%,#9a7124);box-shadow:inset 0 2px #ffffffa6,inset 0 -4px 8px #5a37008c,0 14px 28px #0000008c}.lock-padlock .wheel{background:linear-gradient(#4c350f,#e2c271 50%,#4c350f)}.lock-padlock .strip>span{color:#2a1a05;text-shadow:0 1px 0 rgba(255,255,255,.45)}.lock-padlock .w-btn{color:#4a3410;background:#462d002e}.lock-padlock .dial-label{color:#3a2a08}.lock-safe .lock-body,.lock-color .lock-body{background:linear-gradient(160deg,#636a72,#2a2e33);box-shadow:inset 0 0 0 3px #1b1e22,inset 0 0 0 5px #858c94,0 14px 28px #0000008c}.lock-safe .dial-label,.lock-color .dial-label{color:#d6dade}.lock-camera .lock-body{background:repeating-radial-gradient(circle at 30% 30%,rgba(255,255,255,.03) 0 1px,transparent 1px 3px),linear-gradient(#2c2c2c,#121212);box-shadow:inset 0 0 0 2px #444,0 14px 28px #0000008c}.lock-camera .wheel{background:linear-gradient(#55595d,#e6e9ec 50%,#55595d)}.lock-camera .strip>span{color:#111}.lock-camera .dial-label{color:#e9e2cf;letter-spacing:.08em}.lock-console .lock-body{background:linear-gradient(#16251f,#0a1410);box-shadow:inset 0 0 0 2px #2b4a3e,0 14px 28px #0000008c}.lock-console .wheel{background:#021209}.lock-console .strip>span{font-family:Courier New,ui-monospace,monospace;color:#6dffa8;text-shadow:0 0 8px rgba(110,255,168,.6)}.lock-console .dial-label{color:#8fc9ad}@media (max-height: 520px){.wheel{height:96px}.strip>span{font-size:28px}.lock-padlock{padding-top:40px}.lock-padlock .shackle{height:66px;border-width:12px}.kk{height:42px;font-size:19px}.kp{padding:16px 14px 14px}.kp-top{margin-bottom:10px}.kp .keypad-display{font-size:24px;padding:6px 0 5px .35em}.kp-register .kk{width:46px;height:46px}}.lock-color .wheel,.lock-color .w-btn{width:min(74px,18.5vw)}.lock-color .strip>span{flex-direction:column;gap:3px;font:800 12px/1 var(--sans)}.lock-color .strip .sw{width:22px;height:22px}.lock-color .strip>.w-prev .sw,.lock-color .strip>.w-next .sw{width:14px;height:14px}#modal.lock3d{background:transparent;place-items:stretch;padding:0}#modal.lock3d #modal-card{max-width:none;width:100%;height:100%;max-height:none;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:max(18px,var(--safe-top, 0px)) 16px calc(22px + var(--safe-bottom, 0px));pointer-events:none;animation:none}#modal.lock3d #modal-card>*{pointer-events:auto}#modal.lock3d .modal-title{margin-top:64px;padding:8px 16px;border-radius:999px;background:#00000073;text-shadow:0 2px 8px rgba(0,0,0,.8)}#modal.lock3d .kp,#modal.lock3d .lock{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}#modal.lock3d .dial-msg{margin-top:auto;padding:6px 12px;border-radius:10px;background:#00000080}#modal.lock3d .dial-msg:empty{background:none}#modal.lock3d .btn-row{width:min(420px,100%)}#modal.lock3d .kbd-hint{color:#ffffffbf;text-shadow:0 1px 4px #000}#modal.lock3d .modal-close{position:fixed;top:auto;right:auto;left:50%;transform:translate(-50%);bottom:calc(96px + var(--safe-bottom, 0px));width:auto;height:44px;padding:0 18px 0 14px;gap:6px;display:inline-flex;align-items:center;border-radius:999px;background:#0c0a08c7;box-shadow:0 0 0 1px #ffffff38 inset,0 6px 18px #00000080;color:#fff;font-size:15px;font-weight:700;z-index:5}#modal.lock3d .modal-close:after{content:"닫기"}#modal.lock3d:has(.kp) .modal-close{bottom:calc(40px + var(--safe-bottom, 0px))}body:has(#modal.lock3d:not(.hidden)) #btn-back{display:none}#modal.device .dial-msg{margin-bottom:128px;max-width:min(460px,100%);text-align:center;color:#fff;text-shadow:0 1px 4px #000}.emote-wrap{position:absolute;right:14px;bottom:calc(96px + var(--safe-bottom, 0px));z-index:6;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:8px;pointer-events:auto}.emote-btn{font-size:20px}.emote-menu{display:grid;grid-template-columns:repeat(2,auto);gap:6px;padding:8px;border-radius:var(--r);background:#0c0a08d1;box-shadow:0 0 0 1px var(--line) inset}.emote-menu button{padding:8px 12px;border-radius:10px;font-size:14px;font-weight:700;background:#ffffff14;color:var(--ink-1, #fff)}.emote-menu button:active{background:#ffffff2e}.emote-menu.hidden{display:none}#home.lobby3d .home-shade{background:linear-gradient(180deg,#0a0908d1 0,#0a090800 92px,#0a090800 34vh,#0a0908c7 52vh,#0a0908f0)}.lobby-stage{position:relative;height:clamp(220px,36vh,340px);margin:-6px -20px 12px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.lobby-emotes{pointer-events:auto;display:flex;gap:4px;max-width:calc(100% - 16px);overflow-x:auto;padding:6px;margin-bottom:-4px;border-radius:999px;background:#0a08069e;box-shadow:0 0 0 1px var(--line) inset;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lobby-emotes button{flex:none;width:32px;height:32px;border-radius:50%;font-size:18px;line-height:1;display:grid;place-items:center;background:#ffffff0f}.lobby-emotes button:active{transform:scale(.9);background:#ffffff2e}.stage-chip{pointer-events:auto;position:absolute;top:8px;right:14px;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px 0 11px;border-radius:999px;font-size:13px;font-weight:700;color:var(--ink);background:#0a08069e;box-shadow:0 0 0 1px var(--line-2) inset;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.stage-chip:hover{box-shadow:0 0 0 1px var(--brass-2) inset;color:var(--brass)}@media (min-width: 900px) and (min-height: 520px){#home.lobby3d .home-shade{background:linear-gradient(90deg,#0a0908eb 0,#0a0908db calc(7vw + 440px),#0a090800 calc(7vw + 560px))}.lobby-stage{position:fixed;left:calc(7vw + 500px);right:3vw;top:8vh;bottom:8vh;height:auto;margin:0;padding-bottom:2vh;z-index:1}}.wardrobe-stage{pointer-events:auto;cursor:grab;touch-action:pan-y}.wardrobe-stage:active{cursor:grabbing}.wd-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 10px}.wd-tabs button{flex:none;position:relative;height:34px;padding:0 14px;border-radius:999px;font-size:13.5px;font-weight:650;color:var(--ink-2);background:#ffffff0d;box-shadow:0 0 0 1px var(--line) inset}.wd-tabs button.on:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--brass)}.wd-tabs button[aria-selected=true]{color:var(--brass-ink);background:var(--brass);box-shadow:none}.wd-tabs button[aria-selected=true].on:after{background:var(--brass-ink)}.wd-colors{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 10px}.wd-colors button{width:28px;height:28px;border-radius:50%;background:var(--sw);box-shadow:0 0 0 1px #ffffff2e inset}.wd-colors button[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--brass)}.wd-note{margin:0 0 8px;min-height:0}.wd-note:empty{display:none}.wd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;max-height:46vh;overflow-y:auto;padding:2px;margin:0 -2px;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.wd-tile{aspect-ratio:1;border-radius:var(--r);display:grid;place-items:center;padding:6px;background:#ffffff0d;box-shadow:0 0 0 1px var(--line) inset}.wd-tile img{width:100%;height:100%;object-fit:contain;pointer-events:none}.wd-tile:hover{background:#ffffff17}.wd-tile.sel{background:#d9b46c29;box-shadow:0 0 0 2px var(--brass) inset}.wd-tile.none span{font-size:12.5px;font-weight:650;color:var(--ink-3)}.wd-loading{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 0;color:var(--ink-3);font-size:13px}.wd-actions{margin-top:14px;gap:8px}.wd-actions .btn{flex:1}p,li,dd,.note,.msg,.clue-body,.modal-card p,.hint-text{text-wrap:pretty}#toast,h1,h2,h3,.modal-title,.view-head h2,.waiting,.dial-msg,.kbd-hint,.players-tip,.note,button,.btn,.badge,.lock-hint,.resume-card,.theme-card .desc{text-wrap:balance}.home-panel>section:not([hidden]){display:flex;flex-direction:column;flex:0 1 auto;min-height:0;overflow:hidden;width:auto;padding-inline:20px;margin-inline:-20px}.home-panel>section::-webkit-scrollbar{display:none}#home.deep .home-panel>section:not([hidden]){flex:1 1 auto}.home-panel>section>*{flex-shrink:0}.btn-ghost.btn-lg{height:48px;border-radius:var(--r);font-size:15.5px;background:#ffffff09;box-shadow:0 0 0 1px #d9b46c29}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}.home-panel .theme-rail{flex:1 1 auto;min-height:0;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;margin:0 -20px;padding:2px 32px 4px;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain}.theme-rail::-webkit-scrollbar{display:none}.theme-rail .theme-card{flex:0 0 calc(100% - 64px);max-height:640px;display:flex;flex-direction:column;scroll-snap-align:center}.theme-rail .theme-art{flex:1 1 auto;height:auto;min-height:0}.theme-rail .theme-art:after{background:linear-gradient(180deg,transparent 45%,rgba(23,19,15,.98) 86%)}.theme-rail .theme-info{margin-top:-84px;padding:0 18px 18px}.theme-rail .theme-info b{font-size:27px}.theme-rail .theme-info small{font-size:14px}.rail-nav{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-inline:12px}.rail-nav .icon-btn:disabled{opacity:.3;cursor:default}.rail-next .ico{transform:scaleX(-1)}.rail-dots{display:flex;align-items:center;gap:6px}.rail-dots i{width:6px;height:6px;border-radius:3px;background:#ffffff40;transition:width .2s,background .2s}.rail-dots i.on{width:18px;background:var(--brass)}.rail-dots i.soon-dot:not(.on){background:#ffffff1f}@media (min-width: 900px){#home[data-view=themes] .home-panel{max-width:min(1240px,86vw)}.home-panel .theme-rail{flex:0 1 640px;margin:0;padding:2px 0 4px;scroll-padding-inline:0}.theme-rail .theme-card{flex-basis:calc((100% - 24px) / 3);scroll-snap-align:start}.rail-nav{justify-content:center;gap:22px;margin-top:18px;padding:0}}.home-panel .detail{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-bottom:0}.detail .detail-poster{flex:1 1 auto;height:auto;min-height:64px;max-height:360px}.detail .detail-body{flex:0 1 auto;min-height:0;display:flex;flex-direction:column}.detail .detail-body>*{flex-shrink:0}.detail .detail-chips{margin:12px 0}.detail .story{flex:0 1 auto;min-height:0;margin-top:14px;overflow:hidden}.detail .synopsis{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.detail .detail-note{display:none}.detail.open .detail-poster{flex:0 0 64px}.detail.open .detail-poster .genre{display:none}.detail.open .story{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.detail.open .synopsis{display:block;-webkit-line-clamp:unset;line-clamp:none}.detail.open .detail-note{display:block}.story-more{align-self:flex-start;margin-top:6px;padding:6px 0;font-size:13.5px;font-weight:650;color:var(--brass)}@media (max-width: 899px),(max-height: 519px){#home[data-view=wardrobe] .lobby-stage{height:clamp(150px,30vh,320px)}}.home-panel .wd-grid{flex:1 1 auto;min-height:76px;max-height:none;align-content:start}#home.deep .load-status:not(.active):not(.error){display:none}.home-corner{position:fixed;top:calc(14px + var(--safe-top));right:16px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.home-pop{min-width:220px;padding:6px;border-radius:var(--r);background:var(--surface-solid);box-shadow:0 0 0 1px var(--line-2) inset,var(--shadow);animation:fadeIn .15s ease}.pop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}.pop-row:hover{background:#ffffff0f}button.pop-row{justify-content:flex-start}.pop-row select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:6px 8px;border:0;border-radius:8px;font:inherit;font-weight:700;color:var(--brass);background:#ffffff0f;cursor:pointer}.pop-row select option{color:#111}.theme-meta .facts{padding:0;gap:4px;font-size:13px;color:var(--ink-2);background:none}.theme-meta .facts .ico{margin-left:2px}.artifact{position:relative;text-align:left;color:#2b2116;animation:artIn .7s cubic-bezier(.2,.8,.2,1) both}@keyframes artIn{0%{opacity:0;transform:translateY(18px) rotate(-2deg)}to{opacity:1;transform:none}}.artifact header small{display:block;font-size:13px;font-weight:700;opacity:.7}.artifact h1{margin:2px 0 10px;font-family:var(--serif);font-size:30px;font-weight:800;line-height:1.15}.art-line,.art-ending,.art-caption{margin:0 0 12px;font-size:14.5px;line-height:1.65}.art-ending{font-family:Nanum Pen Script,cursive;font-size:21px;line-height:1.3;opacity:.85}.art-rows{display:grid;gap:6px;margin:0}.art-rows div{display:flex;justify-content:space-between;gap:12px;padding-bottom:5px;border-bottom:1px dashed rgba(60,40,20,.3);font-size:14px}.art-rows dt{opacity:.7}.art-rows dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}.art-best{margin:10px 0 0;font-size:13px;font-weight:700;color:#2f6b34}.art-stamp{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;min-width:78px;height:78px;padding:0 8px;border:3px double currentColor;border-radius:50%;font-family:var(--serif);font-size:17px;font-weight:800;letter-spacing:.04em;color:#b8382c;opacity:.85;mix-blend-mode:multiply;transform:rotate(-14deg);animation:stampIn .5s cubic-bezier(.3,1.6,.5,1) .75s both;pointer-events:none}@keyframes stampIn{0%{opacity:0;transform:scale(2.3) rotate(-14deg)}70%{opacity:.9;transform:scale(.94) rotate(-14deg)}to{opacity:.85;transform:scale(1) rotate(-14deg)}}.artifact.failed{filter:grayscale(.7) brightness(.85)}.artifact.failed .art-stamp{color:#c0392b}.art-cert{padding:26px 24px 24px;border-radius:4px;background:#efe4c8;box-shadow:inset 0 0 0 6px #efe4c8,inset 0 0 0 7px #a8833f,inset 0 0 0 10px #efe4c8,inset 0 0 0 11px #a8833f,inset 0 0 60px #6e501e40,0 18px 40px #00000080}.art-cert header{text-align:center}.art-cert .art-line{text-align:center}.art-cert .art-rows,.art-cert .art-ending,.art-cert .art-best{padding-right:84px}.art-photo{padding:12px 12px 18px;border-radius:3px;background:#f4f1ea;box-shadow:0 18px 40px #0000008c;transform-origin:50% 0}.art-pic{position:relative;aspect-ratio:4 / 3;margin-bottom:12px;background:#222 center / cover no-repeat;filter:sepia(.25) contrast(1.05)}.art-date{position:absolute;right:10px;bottom:8px;font:700 18px/1 ui-monospace,Consolas,monospace;color:#ff9a3c;text-shadow:0 0 6px rgba(255,120,30,.7);letter-spacing:.06em}.art-caption{font-family:Nanum Pen Script,cursive;font-size:22px;line-height:1.25;text-align:center}.art-photo .art-stamp{top:34px;left:30px;right:auto;bottom:auto;color:#fff;mix-blend-mode:normal;text-shadow:0 1px 6px rgba(0,0,0,.6)}.art-ticket{display:flex;padding:0;border-radius:10px;background:#e7dfc2;box-shadow:0 18px 40px #00000080;-webkit-mask:radial-gradient(circle 10px at calc(100% - 96px) 0,transparent 98%,#000) top / 100% 51% no-repeat,radial-gradient(circle 10px at calc(100% - 96px) 100%,transparent 98%,#000) bottom / 100% 51% no-repeat;mask:radial-gradient(circle 10px at calc(100% - 96px) 0,transparent 98%,#000) top / 100% 51% no-repeat,radial-gradient(circle 10px at calc(100% - 96px) 100%,transparent 98%,#000) bottom / 100% 51% no-repeat}.art-ticket .art-main{flex:1;min-width:0;padding:20px 18px 18px}.art-ticket h1{font-size:26px}.art-stub{position:relative;flex:none;width:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-left:2px dashed rgba(60,40,20,.35)}.art-stub small{font-size:11.5px;font-weight:700;opacity:.7}.art-stub b{font:800 22px/1 ui-monospace,Consolas,monospace}.art-punch{position:absolute;top:16px;width:14px;height:14px;border-radius:50%;background:#120e0b;box-shadow:inset 0 1px 2px #0009}.art-ticket .art-stamp{right:12px;bottom:12px;min-width:70px;height:70px;font-size:15px;color:#5b3d8f}.art-log{padding:24px 22px 22px 34px;border-radius:4px;color:#1d3c5a;background:repeating-linear-gradient(180deg,transparent 0 27px,rgba(29,60,90,.16) 27px 28px),linear-gradient(90deg,transparent 22px,rgba(184,56,44,.35) 22px 23px,transparent 23px),#e6ecee;box-shadow:0 18px 40px #0000008c}.art-log h1{font-family:ui-monospace,Consolas,monospace;font-size:24px;letter-spacing:.02em}.art-log .art-rows div{border-bottom-color:#1d3c5a40}.art-log .art-rows,.art-log .art-best{padding-right:84px}.art-log .art-stamp{color:#1f5d9e}.art-log .art-best{color:#1f6b4a}@media (max-height: 640px){.artifact h1{font-size:24px}.art-pic{aspect-ratio:16 / 9}.art-ending{display:none}}.art-photo.failed .art-stamp{color:#fff;border-width:4px}#modal-card[data-kind=notebook]{color:#2b2116;background:repeating-linear-gradient(180deg,transparent 0 31px,rgba(60,90,140,.22) 31px 32px) 0 68px / 100% calc(100% - 68px) no-repeat,linear-gradient(90deg,transparent 38px,rgba(190,60,50,.4) 38px 39px,transparent 39px),#efe6cf;box-shadow:inset 0 0 50px #6e501e38,0 30px 80px #0009;padding-top:34px}#modal-card[data-kind=notebook]:before{content:"";position:absolute;left:22px;right:22px;top:10px;height:12px;background:radial-gradient(circle 4.5px at 8px 6px,#2a2420 85%,transparent 95%) 0 0 / 22px 12px repeat-x;opacity:.8}#modal-card[data-kind=notebook] .modal-title{font-family:Nanum Pen Script,cursive;font-size:30px;font-weight:400;color:#7a2e22}#modal-card[data-kind=notebook] .modal-close{color:#5a4a36;background:#3c281414}#modal-card[data-kind=notebook] .note-list{gap:0;padding-left:30px}#modal-card[data-kind=notebook] .note-item{min-height:48px;padding:6px 4px;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid transparent}#modal-card[data-kind=notebook] .note-item b{font-family:Nanum Pen Script,cursive;font-size:25px;font-weight:400;color:#23324f}#modal-card[data-kind=notebook] .note-item:hover b{text-decoration:underline;text-decoration-color:#7a2e2280}#modal-card[data-kind=notebook] .note-kind{color:#7a2e22;background:none;box-shadow:0 0 0 1px #7a2e2273 inset}#modal-card[data-kind=notebook] .note-item .ico{color:#7d6a50}.nb-empty{margin:8px 0 6px 30px;font-family:Nanum Pen Script,cursive;font-size:26px;line-height:1.25;color:#23324f}.nb-empty small{display:block;margin-top:6px;font-size:20px;color:#6b5a44}#busy .spinner{display:none}#busy:before{content:"";width:34px;height:4px;border-radius:2px;background:linear-gradient(90deg,transparent,#ffd88a,transparent) 0 0 / 200% 100%;box-shadow:0 0 10px #ffc86e99;animation:doorLight 1.2s ease-in-out infinite}@keyframes doorLight{0%{background-position:100% 0}to{background-position:-100% 0}}.invite-line{display:none;margin:-4px 0 14px;font-family:var(--serif);font-size:18px;font-weight:800;color:var(--brass)}.invited .invite-line{display:block}.invited .field-code,.invited .field-pw{display:none}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;border-radius:var(--r);background:#120d09;box-shadow:inset 0 1px 3px #000000b3,0 0 0 1px #d9b46c2e}.seg button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40px;padding:4px 6px;border-radius:var(--r-sm);font-size:13.5px;font-weight:700;line-height:1.15;color:var(--ink-2);transition:background .15s,color .15s}.seg button small{font-size:10.5px;font-weight:600;opacity:.8}.seg button:hover{color:var(--ink);background:#ffffff0d}.seg button[aria-checked=true]{color:var(--brass-ink);background:linear-gradient(180deg,#edd292,#c99e55);box-shadow:inset 0 1px #ffffff80,0 1px 2px #00000080}.pop-quality{display:flex;flex-direction:column;gap:8px;padding:10px 10px 8px;font-size:13px;font-weight:700;color:var(--ink-2)}.home-pop{min-width:268px}.setting .seg{margin-top:10px}.pick-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.pick{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px 8px 8px;text-align:left;border-radius:var(--r);background:var(--wood);box-shadow:0 0 0 1px #d9b46c29;transition:box-shadow .15s,background .15s}.pick:hover{box-shadow:0 0 0 1px #d9b46c66}.pick-art{flex:none;width:56px;height:56px;border-radius:var(--r-sm);background:#2a1e14 center / cover no-repeat;box-shadow:0 0 0 1px #00000080}.pick-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pick-txt b{font-family:var(--serif);font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-txt small{font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-mark{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--brass-ink);box-shadow:inset 0 0 0 2px #d9b46c59}.pick.on{background:linear-gradient(180deg,#3a2a1b,#2a1d12);box-shadow:0 0 0 2px var(--brass),0 6px 16px #0006}.pick.on .pick-mark{background:var(--brass);box-shadow:none}.pick.on .pick-txt b{color:var(--brass)}.lobby-theme .pick{cursor:default}.lobby-theme.editable .pick{cursor:pointer}.pick-change{flex:none;padding:6px 12px;border-radius:var(--r-sm);font-size:13px;font-weight:700;color:var(--brass-ink);background:var(--brass)}.home-panel .poster-grid{flex:1 1 auto;min-height:220px;max-height:470px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.poster{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:0;text-align:left;border-radius:var(--r);background:#1a130e center 30% / cover no-repeat;box-shadow:0 0 0 1px #d9b46c2e,0 8px 18px #00000073;filter:brightness(.62) saturate(.8);transition:filter .2s,transform .2s,box-shadow .2s}.poster:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 45%,rgba(12,9,7,.92))}.poster:hover{filter:brightness(.85) saturate(.95)}.poster-txt{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 11px}.poster-txt b{font-family:var(--serif);font-size:17px;font-weight:800;line-height:1.2;color:var(--ink);text-shadow:0 1px 6px rgba(0,0,0,.8)}.poster-txt small{font-size:11.5px;font-weight:700;color:var(--brass)}.poster-check{position:absolute;right:8px;top:8px;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--brass-ink);background:var(--brass);box-shadow:0 2px 6px #00000080;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s}.poster.on{filter:none;transform:translateY(-3px);box-shadow:0 0 0 2px var(--brass),0 12px 24px #0000008c}.poster.on .poster-check{opacity:1;transform:none}@media (min-width: 900px) and (min-height: 700px){.home-panel .poster-grid{max-height:520px}}.lobby-bar{display:flex;gap:8px;align-items:stretch;margin-bottom:10px}.room-code{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:0;padding:7px 8px 7px 12px;margin:0;border-radius:var(--r)}.room-code .label{grid-column:1;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-code .label .sub{font-size:11.5px;color:var(--ink-3)}.room-code b{grid-column:1;font-size:20px;letter-spacing:.08em;line-height:1.15;white-space:nowrap}.room-code .row{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:row;gap:4px;margin:0}.room-code .row .icon-btn{width:34px;height:34px}.icon-btn.flashed{color:var(--ok)}.lobby-go{flex:0 0 40%;display:flex;flex-direction:column;justify-content:center;gap:3px}.lobby-go .btn{width:100%;flex:1 1 auto;min-height:46px;padding:0 10px;gap:7px;font-size:14.5px;border-radius:var(--r);white-space:nowrap}.lobby-go .waiting{margin:0;font-size:11.5px;gap:6px}.lobby-go .waiting .spinner{width:11px;height:11px}.players-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;min-width:0}.players-row .field-label{flex:none;margin:0;font-variant-numeric:tabular-nums}.home-panel .players{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:row;gap:6px;margin:0;padding:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;overscroll-behavior:contain}.players::-webkit-scrollbar{display:none}.home-panel .players li{flex:0 0 auto;height:40px;padding:0 10px 0 5px;gap:7px}.home-panel .players li.open{flex-wrap:nowrap;height:40px;padding:0 5px}.players li.open .pmenu{flex-wrap:nowrap;width:auto}.players li.open .pmenu button{height:30px;white-space:nowrap}.home-panel .players .avatar{width:28px;height:28px;font-size:12.5px}.home-panel .players .pname{flex:none;max-width:8em}.players-tip{margin:-4px 0 8px}.home-panel .lobby-chat{flex:1 1 0;min-height:0;display:flex;flex-direction:column;margin-top:0;padding:10px 12px}.lobby-chat-head{margin-bottom:6px}.home-panel .lobby-chat-log{flex:1 1 0;height:auto;min-height:0;overflow-y:auto}.lobby-chat-form{flex:none}.poster-strip{display:flex;gap:8px;height:112px;margin:0 0 10px;padding:3px 2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x}.poster-strip::-webkit-scrollbar{display:none}.poster-strip .poster{flex:0 0 80px}.poster-strip .poster-txt{padding:6px}.poster-strip .poster-txt b{font-size:12.5px}.poster-strip .poster-txt small{display:none}.poster-strip .poster-check{width:22px;height:22px;right:5px;top:5px}.stage-theme{right:auto;left:14px}@media (max-width: 899px),(max-height: 519px){#home[data-view=lobby] .lobby-stage{height:clamp(150px,30vh,300px)}#home[data-view=lobby] #lobby-theme,.players-tip{display:none}}@media (max-height: 700px) and (max-width: 899px){#home[data-view=lobby] .lobby-stage{height:clamp(130px,24vh,300px)}}@media (max-height: 519px){#home[data-view=lobby] .lobby-stage{height:120px}.home-panel .lobby-chat-log{display:none}}@media (min-width: 900px) and (min-height: 520px){.stage-theme{display:none}}.emote-toggle{top:auto;bottom:10px;right:12px;width:40px;height:40px;padding:0;justify-content:center}.emote-toggle.on{color:var(--brass-ink);background:var(--brass);box-shadow:none}.lobby-stage .lobby-emotes{position:absolute;right:58px;bottom:6px;margin:0;max-width:calc(100% - 76px);animation:fadeIn .15s ease}@media (min-width: 900px){#home[data-view=detail] .home-panel,#home[data-view=multi] .home-panel,#home[data-view=create] .home-panel,#home[data-view=join] .home-panel{margin:0 auto;max-width:480px}#home[data-view=detail] .home-shade,#home[data-view=multi] .home-shade,#home[data-view=create] .home-shade,#home[data-view=join] .home-shade{background:radial-gradient(ellipse 60% 90% at 50% 50%,#0a0908e6,#0a09088c 75%,#0a090859)}#home[data-view=themes] .home-panel{margin:0 auto}}
