:root{color:#534638;font-synthesis:none;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);background:#f3ebe0;font-family:Noto Serif KR,Apple SD Gothic Neo,serif}*{box-sizing:border-box}html,body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#f3ebe0;width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}#scene,#ui{width:100%;height:100%;position:fixed;inset:0}#scene{display:block}#ui{pointer-events:none}.intro-screen{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:var(--intro-background,#f3ebe0);pointer-events:auto;opacity:1;flex-direction:column;align-items:center;transition:opacity .6s;display:flex;position:absolute;inset:0}.intro-screen--hidden{opacity:0;pointer-events:none}.intro-heading{text-align:center;overflow-wrap:anywhere;width:100%;margin-top:33.333dvh;padding:0 28px}.intro-title{color:var(--intro-accent);letter-spacing:.35em;text-indent:.35em;margin:0;font-size:14px;font-weight:400;line-height:1.7}.intro-name{letter-spacing:.08em;text-indent:.08em;margin:28px 0 16px;font-size:42px;font-weight:400;line-height:1.35}.intro-subtitle{color:#897b6d;letter-spacing:.04em;margin:0;font-size:13px;line-height:1.8}.intro-actions{flex-direction:column;align-items:center;width:100%;margin-top:auto;padding:24px 0 40px;display:flex}.intro-mute{color:#897b6d;cursor:pointer;justify-content:center;align-items:center;gap:9px;min-height:44px;margin-bottom:12px;padding:0 12px;font-size:12px;display:flex}.intro-error{text-align:center;width:70%;margin:0 0 12px;font-size:13px;line-height:1.6}.intro-mute input{width:15px;height:15px;accent-color:var(--intro-accent);cursor:pointer;margin:0}.intro-enter{border:1px solid var(--intro-accent);width:70%;height:56px;color:var(--intro-accent);letter-spacing:.12em;cursor:pointer;background:0 0;border-radius:28px;flex-shrink:0;font-size:15px;transition:background-color .2s,opacity .2s}.intro-enter:active:not(:disabled){background:#8a6d4b14}.intro-enter:disabled{opacity:.45;cursor:default}.intro-enter:focus-visible,.intro-mute input:focus-visible{outline:2px solid var(--intro-accent);outline-offset:5px}.rotate-overlay{z-index:100;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);color:#8a6d4b;letter-spacing:.08em;pointer-events:auto;background:#f3ebe0;justify-content:center;align-items:center;font-size:18px;display:none;position:fixed;inset:0}@media (orientation:landscape) and (hover:none) and (pointer:coarse){.rotate-overlay{display:flex}}.joystick-base{left:calc(var(--safe-left) + 28px);bottom:calc(var(--safe-bottom) + 150px);pointer-events:none;opacity:.75;background:#f3ebe04d;border:1px solid #8a6d4b59;border-radius:50%;width:120px;height:120px;transition:opacity .2s,background-color .2s;position:fixed;box-shadow:inset 0 0 0 1px #ffffff40}.joystick-base--active{opacity:1;background:#f3ebe073}.joystick-knob{background:#8a6d4b66;border-radius:50%;width:48px;height:48px;transition:transform 50ms linear;position:absolute;top:35px;left:35px;box-shadow:0 2px 6px #00000026}.joystick-base--active .joystick-knob{background:#8a6d4b8c}#ui.decor-mode .action-buttons,#ui.decor-mode .ticker{display:none}.dev-performance{top:calc(var(--safe-top) + 8px);left:calc(var(--safe-left) + 8px);color:#534638;pointer-events:none;background:#f3ebe0d9;border-radius:6px;padding:5px 8px;font:11px sans-serif;position:fixed}.action-buttons{bottom:calc(var(--safe-bottom) + 28px);pointer-events:auto;justify-content:center;gap:8px;max-width:calc(100% - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.action-buttons[hidden]{display:none}.action-buttons button{color:#685442;white-space:nowrap;cursor:pointer;background:#faf4ebf5;border:1px solid #8a6d4b;border-radius:28px;min-width:92px;height:56px;padding:0 16px;font-size:14px}.action-buttons button:focus-visible{outline-offset:3px;outline:2px solid #8a6d4b}.offering-vignette{opacity:0;pointer-events:none;background:radial-gradient(#0000 30%,#19130e 100%);transition:opacity .4s;position:fixed;inset:0}.offering-toast{left:50%;bottom:calc(var(--safe-bottom) + 96px);color:#685442;background:#f3ebe0f0;border-radius:18px;padding:10px 18px;font-size:14px;position:fixed;transform:translate(-50%)}.hud-mute{top:calc(var(--safe-top) + 12px);right:calc(var(--safe-right) + 12px);color:#685442;pointer-events:auto;cursor:pointer;background:#faf4ebf0;border:1px solid #8a6d4b;border-radius:24px;align-items:center;gap:6px;min-height:44px;padding:8px 12px;font-size:13px;display:flex;position:fixed}.hud-mute svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.hud-mute:focus-visible{outline-offset:3px;outline:2px solid #8a6d4b}.intro-letter-notice{color:var(--intro-accent,#947559);margin:18px 0 0;font-size:14px;line-height:1.6}.intro-letter-notice[hidden]{display:none}.intro-anniversary-notice{color:var(--intro-accent);word-break:keep-all;margin:14px 0 0;font-size:14px;line-height:1.7}
