:root{--bg-base: #05080F;--bg-panel: rgba(8, 14, 26, .88);--bg-card: rgba(14, 22, 38, .94);--amber: #F5A83C;--amber-light: #FFD98A;--amber-btn-text: #241505;--teal: #57D9C2;--teal-light: #8FE8D6;--pink: #E88AA8;--pink-light: #F0B5C8;--red: #E86A5C;--red-light: #FF9E8E;--text: #EAF0FA;--text-sub: #AAB8D0;--text-weak: #8FA0BC;--text-weakest: #64738F;--border: rgba(148, 170, 210, .25);--border-strong: rgba(148, 170, 210, .4);--font-display: "Bricolage Grotesque", sans-serif;--font-body: "Zen Kaku Gothic New", sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius-panel: 12px;--radius-card: 14px;--radius-pill: 999px;--radius-frame: 16px}html,body{margin:0;padding:0;background:var(--bg-base)}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;color:var(--text)}a{color:var(--amber);text-decoration:none}a:hover{color:#ffc46b}@keyframes pulseGlow{0%,to{opacity:.55}50%{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes micPulse{0%,to{box-shadow:0 0 30px #e86a5c80}50%{box-shadow:0 0 60px #e86a5cf2}}@keyframes spinRot{to{transform:rotate(360deg)}}@keyframes dotBlink{0%,to{opacity:.25}50%{opacity:1}}@keyframes speakWave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes ringPulse{0%,to{box-shadow:0 0 20px #57d9c24d}50%{box-shadow:0 0 50px #57d9c2b3}}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.6}}.dot-blink{width:7px;height:7px;border-radius:50%;background:var(--text-weak);display:inline-block;animation:dotBlink 1.2s ease-in-out infinite}.speak-bar{width:3px;border-radius:999px;background:var(--teal);display:inline-block;animation:speakWave .8s ease-in-out infinite}.stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#05080f}.game-frame{position:relative;transform-origin:center center;overflow:hidden;background:#070c16;flex-shrink:0}.quest-card{cursor:pointer;border:1px solid;border-radius:var(--radius-card);padding:22px 24px}.quest-card:hover{transform:translateY(-2px);border-color:var(--accent)!important;box-shadow:0 0 30px color-mix(in srgb,var(--accent) 25%,transparent)}.mic-btn{cursor:pointer;width:108px;height:108px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.mic-btn--idle{background:radial-gradient(circle at 35% 30%,#ffce7e,#f5a83c 55%,#b97417);border:4px solid rgba(255,220,160,.6);box-shadow:0 0 40px #f5a83c80}.mic-btn--idle:hover{transform:scale(1.06);box-shadow:0 0 56px #f5a83cbf}.mic-btn--idle:active{transform:scale(.96)}.mic-btn--recording{background:radial-gradient(circle at 35% 30%,#ff9e8e,#e86a5c 55%,#a03428);border:4px solid rgba(255,180,160,.7);animation:micPulse 1.2s ease-in-out infinite}.text-input{flex:1;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:13px 22px;font-size:15px;color:#e8eef9;outline:none;font-family:var(--font-body)}.send-btn{cursor:pointer;background:#f5a83c2e;border:1px solid rgba(245,168,60,.55);color:var(--amber-light);border-radius:var(--radius-pill);padding:12px 24px;font-size:14px;font-weight:700;flex-shrink:0}.send-btn:hover{background:#f5a83c52}.choices-link{cursor:pointer;font-size:11.5px;color:var(--text-weakest);text-decoration:underline;width:max-content}.choices-link:hover{color:var(--text-sub)}.choice-card{cursor:pointer;display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-card);padding:11px 20px;max-width:900px}.choice-card:hover{border-color:var(--amber);background:#322410b3;transform:translate(4px)}.primary-pill{cursor:pointer;background:var(--amber);color:var(--amber-btn-text);border-radius:var(--radius-pill);font-weight:900}.primary-pill:hover{transform:scale(1.05)}.primary-pill--scale104:hover{transform:scale(1.04)}.finish-pill{box-shadow:0 0 36px #f5a83c66}.finish-pill:hover{transform:scale(1.04);box-shadow:0 0 50px #f5a83ca6}.ghost-pill{cursor:pointer;border:1px solid rgba(148,170,210,.45);border-radius:var(--radius-pill);padding:13px 30px;font-size:14px;font-weight:700;color:#c4d0e5}.ghost-pill:hover{border-color:var(--text);color:#fff}.note-btn{cursor:pointer;position:absolute;left:28px;bottom:24px;z-index:9;background:#080e1ab3;border:1px solid var(--border);border-radius:var(--radius-pill);padding:7px 14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-sub)}.note-btn:hover{border-color:var(--border-strong);color:var(--text)}.note-tab{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-pill);padding:6px 16px;font-size:12.5px;font-weight:700;color:var(--text-sub)}.note-tab:hover{color:var(--text);border-color:var(--border-strong)}.note-tab--active{background:#f5a83c2e;border-color:#f5a83c8c;color:var(--amber-light)}.spinner{width:46px;height:46px;border-radius:50%;border:3px solid rgba(245,168,60,.25);border-top-color:var(--amber);animation:spinRot .9s linear infinite}.stage--mobile{align-items:stretch;justify-content:stretch}.game-frame--mobile{width:100%;height:100dvh;min-height:100vh;transform:none;position:relative;overflow:hidden;--tap-min: 44px;--mob-mic: 84px;--mob-body: 14px;--mob-line: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}.mob-sheet{background:#080e1aeb;border:1px solid var(--border);border-radius:18px 18px 0 0;overflow-y:auto;-webkit-overflow-scrolling:touch}.mob-sheet--anchored{padding-bottom:calc(16px + var(--safe-bottom))}.mob-fold-bar{padding-top:var(--safe-top)}.mob-chip-row{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:2px}.mob-chip{scroll-snap-align:start;white-space:nowrap;flex-shrink:0;min-height:var(--tap-min);box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:10px 16px;font-size:12.5px;color:#e8eef9}.mob-mic{cursor:pointer;width:var(--mob-mic);height:var(--mob-mic);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.mob-mic--idle{background:radial-gradient(circle at 35% 30%,#ffce7e,#f5a83c 55%,#b97417);border:4px solid rgba(255,220,160,.6);box-shadow:0 0 32px #f5a83c80}.mob-mic--idle:active{transform:scale(.96)}.mob-mic--recording{background:radial-gradient(circle at 35% 30%,#ff9e8e,#e86a5c 55%,#a03428);border:4px solid rgba(255,180,160,.7);animation:micPulse 1.2s ease-in-out infinite}.mob-tap{min-height:var(--tap-min);box-sizing:border-box;display:flex;align-items:center;cursor:pointer}.mob-menu-btn{position:absolute;top:calc(14px + var(--safe-top));right:12px;z-index:9;width:44px;height:44px;border-radius:12px;background:#080e1aeb;border:1px solid rgba(148,170,210,.35);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text);cursor:pointer}.mob-menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:11;background:#0509119e;display:flex;align-items:flex-end;animation:fadeUp .2s ease}.mob-menu-panel{width:100%;background:#080e1af7;border-top:1px solid var(--border-strong);border-radius:18px 18px 0 0;padding:18px 18px calc(20px + var(--safe-bottom));display:flex;flex-direction:column;gap:8px}
