:root{--ink: #f3e7d6;--ink-soft: rgb(243 231 214 / .62);--glass: rgb(20 15 11 / .42);--line: rgb(243 231 214 / .26)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:#050403;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Hiragino Sans,PingFang SC,Noto Sans KR,Noto Sans JP,Noto Sans SC,sans-serif}[hidden]{display:none!important}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;display:block;opacity:0;transition:opacity 2.4s ease;touch-action:none}#scene.ready{opacity:1}#loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;letter-spacing:.04em;color:var(--ink-soft)}.ember{width:7px;height:7px;border-radius:50%;background:#e8701f;animation:ember 2.2s ease-in-out infinite}@keyframes ember{50%{opacity:.28;transform:scale(.72)}}#mute,#lang{display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--glass);color:var(--ink);cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease;-webkit-tap-highlight-color:transparent}#mute:hover,#lang:hover{background:#2e201699;border-color:#f3e7d680}#mute:active,#lang:active{transform:scale(.95)}#mute:focus-visible,#lang:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#mute{position:fixed;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));width:44px;height:44px;animation:fade 1.2s ease backwards}#mute svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#mute .speaker{fill:currentColor;stroke:none}#mute .cross,#mute[aria-pressed=true] .waves{display:none}#mute[aria-pressed=true] .cross{display:block}#actions{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);animation:fade 1.2s ease backwards}#action-bar{display:flex;gap:2px;padding:4px 10px;border-radius:999px;background:#160f0a94}#roast-float{position:absolute;left:50%;bottom:calc(100% + 34px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:calc(100vw - 32px);pointer-events:none}#roast-note{margin:0;padding:3px 10px;border-radius:10px;background:#160f0a94;font-size:12px;line-height:1.5;text-align:center;color:var(--ink);transition:opacity .7s ease}#roast-note.fading{opacity:0}#stop{display:inline-flex;align-items:center;gap:6px;min-width:44px;height:44px;padding:0 14px;border:0;border-radius:16px;background:#160f0ab8;color:var(--ink);font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#stop[hidden]{display:none}#stop svg{width:14px;height:14px;fill:currentColor}#stop:hover{background:#2e2016cc}.action{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:50px;height:50px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;transition:background-color .08s ease;-webkit-tap-highlight-color:transparent}.action svg{width:28px;height:28px;fill:none;stroke:#d6c4ac;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.action svg .d{stroke-width:.8;opacity:.5}.action svg .dot{fill:#d6c4ac;stroke:none}.action:not(:disabled):hover{background:#f3e7d614}.action:focus-visible,#stop:focus-visible,#mute:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.action:disabled{cursor:default}.action:disabled svg{opacity:.45}.action[data-state=busy],.action[data-state=stop]{background:#f3e7d629}.action[data-state=busy] svg,.action[data-state=stop] svg{opacity:1}.action .label{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);padding:3px 8px;border-radius:8px;background:#160f0adb;font-size:12px;line-height:1.4;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .06s ease}.action:hover .label,.action:focus-visible .label{opacity:1}@media(hover:none),(max-width:640px){#roast-float{bottom:calc(100% + 8px)}.action{width:54px;height:54px}.action .label{display:none}}#lang{position:fixed;top:calc(16px + env(safe-area-inset-top));right:calc(68px + env(safe-area-inset-right));width:44px;height:44px}#lang[hidden],#lang-menu[hidden]{display:none}#lang svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}#lang-menu{position:fixed;top:calc(66px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));display:flex;flex-direction:column;min-width:132px;padding:6px;border-radius:18px;background:#160f0adb}#lang-menu button{display:flex;align-items:center;min-height:44px;padding:0 14px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}#lang-menu button:hover{background:#f3e7d614}#lang-menu button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}#lang-menu button[aria-pressed=true]:after{content:"✓";margin-left:auto;padding-left:12px}#actions,#mute,#lang{transition:opacity .15s ease}.ui-asleep #actions,.ui-asleep #mute,.ui-asleep #lang{opacity:0;pointer-events:none;transition:opacity 1.2s ease}.ui-asleep #actions *{pointer-events:none}#sound-hint{position:fixed;left:50%;bottom:calc(104px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:8px 14px;border-radius:999px;background:var(--glass);color:var(--ink-soft);font-size:13px;letter-spacing:.02em;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:hint 3.2s ease-in-out .8s infinite backwards}#sound-hint svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}@keyframes hint{0%,to{opacity:.55}50%{opacity:1}}#toast{position:fixed;left:50%;bottom:calc(148px + env(safe-area-inset-bottom));transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;padding:8px 14px;border-radius:8px;background:var(--glass);font-size:13px;line-height:1.5;text-align:center;color:var(--ink)}#fatal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}#fatal h1{margin:0 0 8px;font-size:18px;font-weight:600}#fatal p{margin:0;max-width:34em;font-size:14px;line-height:1.6;color:var(--ink-soft)}@keyframes fade{0%{opacity:0}}
