:root{--ink:#fff6e6;--ink-dim:#fff6e6b8;--glass:#0e18248c;--glass-strong:#0e1824d1;--line:#fff6e62e;--accent:#ffb463;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#0b1724;margin:0;overflow:hidden}#scene{position:fixed;inset:0}#scene canvas{touch-action:none;display:block}button{font:inherit;color:inherit;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);cursor:pointer}.hidden{display:none!important}.entry{z-index:10;background:radial-gradient(circle at 50% 45%,#0b172459,#050a10eb);place-items:center;transition:opacity 1.2s;display:grid;position:fixed;inset:0}.entry.fade{opacity:0;pointer-events:none}.entry-box{text-align:center;padding:24px}.entry h1{letter-spacing:.3em;text-indent:.3em;margin:0;font-size:clamp(48px,10vw,84px);font-weight:300}.tagline{color:var(--ink-dim);letter-spacing:.05em;margin:10px 0 36px}.enter{border-color:#ffb46399;border-radius:999px;padding:14px 34px;font-size:17px;box-shadow:0 0 28px #ffb46340}.enter:disabled{opacity:.5;cursor:progress}.sound-hint{color:var(--ink-dim);margin-top:22px;font-size:13px}.hud{pointer-events:none;z-index:5;position:fixed;inset:0}.hud button{pointer-events:auto}.top{top:max(12px, env(safe-area-inset-top));align-items:center;gap:8px;display:flex;position:absolute;left:12px;right:12px}.pill{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:14px}#presence{margin-right:auto}.pill.icon{padding:7px 11px}.bottom{bottom:max(18px, env(safe-area-inset-bottom));justify-content:center;gap:10px;display:flex;position:absolute;left:0;right:0}.action{border-radius:999px;padding:12px 22px;font-size:15px}.action.on{background:#50321499;border-color:#ffb463b3}.hint{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 58px);text-align:center;width:100%;color:var(--ink-dim);text-shadow:0 1px 4px #0009;margin:0;font-size:13px;line-height:1.6;transition:opacity 2s;position:absolute}.toast{text-align:center;text-shadow:0 1px 6px #000000b3;opacity:0;width:100%;font-size:17px;transition:opacity .8s;position:absolute;top:30%}.toast.show{opacity:1}.stick{pointer-events:auto;touch-action:none;width:50%;height:50%;position:absolute;bottom:0;left:0}.stick-base{left:max(84px, calc(env(safe-area-inset-left) + 70px));top:calc(100% - max(172px, calc(env(safe-area-inset-bottom) + 158px)));border:1px solid var(--line);opacity:.45;pointer-events:none;background:#141e2840;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .2s;position:absolute}.stick.active .stick-base{opacity:1;transition:none}.stick-knob{background:#ffffff8c;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%;box-shadow:0 2px 8px #0000004d}.hint .for-touch{display:none}@media (hover:none),(pointer:coarse){.hint .for-touch{display:inline}.hint .for-mouse{display:none}}@media (hover:hover) and (pointer:fine){.stick{display:none}}.jump{right:max(16px, env(safe-area-inset-right));bottom:calc(max(18px, env(safe-area-inset-bottom)) + 96px);touch-action:manipulation;border-radius:50%;width:68px;height:68px;font-size:15px;position:absolute}.jump:active{transform:scale(.92)}@media (hover:hover) and (pointer:fine){.jump{display:none}}@media (width<=420px){.pill{padding:6px 10px;font-size:12.5px}.top{gap:6px}}.emotes{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 62px);z-index:1;justify-content:center;gap:8px;display:flex;position:absolute;left:0;right:0}.emotes button{pointer-events:auto;border-radius:999px;padding:10px 16px;font-size:15px}.emotes:not(.hidden)~.hint{opacity:0}.fade{opacity:0;pointer-events:none;z-index:8;background:#030405;transition:opacity .6s;position:fixed;inset:0}.fade.on{opacity:1}.modal{z-index:20;background:#04080e80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-box{background:var(--glass-strong);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);border-radius:18px;width:min(440px,100%);padding:22px}.modal-box h2{margin:0 0 6px;font-weight:500}.modal-desc{color:var(--ink-dim);margin:0 0 14px;font-size:13px;line-height:1.6}textarea{resize:none;border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;-webkit-user-select:text;user-select:text;background:#fff6e60f;border-radius:12px;padding:12px;font-size:15px;line-height:1.6}textarea:focus{outline:1px solid #ffb46399}.modal-buttons{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.modal-buttons button{border-radius:999px;padding:10px 18px}.primary{background:#78481cb3;border-color:#ffb463b3}.ghost{background:0 0}
