:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;--bg-top: #1b1033;--bg-bottom: #090612;--text: #f4f0ff;--muted: #a89ec4;--accent-a: #ff8a3d;--accent-b: #ff5ca8;--accent-c: #9b59ff;--danger: #ff4d6d;--stage-width: 834px;--stage-height: 1112px;--look-panel-width: 360px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;height:100%}body{display:flex;align-items:center;justify-content:center;padding:1.25rem;background:radial-gradient(ellipse at 50% 0%,#1a0f2e,#07050c 55%,#040308);color:var(--text);overflow:hidden}#root{position:relative;width:auto;max-width:min(100%,calc(var(--stage-width) + 2 * var(--look-panel-width) + 2rem));height:min(100dvh - 2.5rem,var(--stage-height));max-height:100dvh;margin:0;overflow:visible;background:transparent;border:none;box-shadow:none;border-radius:0}.app-layout{display:flex;align-items:stretch;gap:1rem;height:100%;min-height:0}.app-stage{position:relative;width:min(var(--stage-width),100%);height:100%;overflow:auto;border-radius:28px;background:radial-gradient(circle at 50% 0%,#2a1650 0%,var(--bg-top) 35%,var(--bg-bottom) 100%);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px #0006,0 24px 80px #0000008c,0 0 60px #9b59ff14;flex-shrink:0}.library-panel{width:300px;flex:0 0 300px;height:100%;overflow:hidden;display:flex;flex-direction:column;border-radius:28px;background:#06040ef2;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px #00000059,0 16px 48px #00000073}.look-panel{width:var(--look-panel-width);flex:0 0 var(--look-panel-width);height:100%;overflow:hidden;display:flex;flex-direction:column;border-radius:28px;background:#06040ef2;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px #00000059,0 16px 48px #00000073}.look-panel .story-look-panel{flex:1;overflow-y:auto;padding:.95rem .9rem 1.1rem}@media(min-width:861px){.app-layout.has-look:after{content:"";flex:0 0 calc(var(--look-panel-width) - var(--library-balance, 0px))}.app-layout.has-look.has-library{--library-balance: 300px}}.library-panel .library-sidebar{flex:1;width:100%;max-height:none;margin:0;padding:.85rem .65rem;border:none;border-radius:0;background:transparent;overflow-y:auto}@media(max-width:860px){html{overflow-x:hidden}body{display:block;padding:0;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at 50% 0%,#2a1650 0%,var(--bg-top) 35%,var(--bg-bottom) 100%)}#root{width:100%;max-width:100%;min-width:0;height:100%;min-height:100dvh;margin:0 auto;overflow-x:hidden}.app-stage,.library-panel,.look-panel{border-radius:0;border:none;box-shadow:none}.app-layout{flex-direction:column;width:100%;max-width:100%;min-width:0;height:auto;min-height:100dvh;gap:0;margin:0 auto;overflow-x:hidden}.app-stage{width:100%;max-width:100%;min-width:0;flex:1 1 auto;flex-shrink:1;min-height:0;overflow-x:hidden}.look-panel{width:100%;max-width:100%;min-width:0;flex:none;max-height:34vh;order:0;overflow-x:hidden}.look-panel .story-look-panel.is-collapsed{max-height:none}.app-layout.has-look .look-panel:has(.story-look-panel.is-collapsed){max-height:none;flex:none}.library-panel{width:100%;max-width:100%;flex:none;max-height:28vh;order:2}.app-layout.has-look.has-library .library-panel{display:none}.app-layout.has-look .app-stage{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-layout.has-look .recorder-screen{min-height:min(100%,100%);width:100%;max-width:100%;min-width:0;overflow-x:hidden}.app-layout.has-look .recorder-main{justify-content:flex-start;padding-top:.35rem;padding-bottom:.5rem;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.app-layout.has-look .brand-block{margin-bottom:.65rem}.app-layout.has-look .brand-title{font-size:clamp(1.65rem,7vw,2.2rem)}.app-layout.has-look .waveform{height:44px;margin:.35rem 0 .5rem}.app-layout.has-look .recorder-controls{position:sticky;bottom:0;z-index:5;width:100%;max-width:22rem;margin-left:auto;margin-right:auto;margin-top:.35rem;padding:.65rem 0 calc(.85rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#09061200,#090612e0 28%,#090612fa)}.app-layout.has-look .recording-badge{margin-bottom:.85rem}.app-layout.has-look .record-btn{margin-bottom:.35rem}.app-layout.has-look .record-hint{font-size:.78rem;max-width:18rem;line-height:1.35;margin-left:auto;margin-right:auto;padding:0 .5rem}.recorder-main,.recorder-footer,.brand-block,.waveform{width:100%;max-width:100%;min-width:0}.record-hint{max-width:20rem;margin-left:auto;margin-right:auto;padding:0 1rem}}button{font:inherit;cursor:pointer}.stars{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 30% 80%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 30%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 90% 60%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 15% 55%,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 85% 15%,rgba(255,255,255,.55),transparent);opacity:.8;border-radius:inherit}.brand-mark{display:inline-block;font-size:1.1rem;background:linear-gradient(135deg,var(--accent-a),var(--accent-b));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-title{margin:.35rem 0 .5rem;font-size:clamp(2rem,8vw,2.6rem);font-weight:700;letter-spacing:-.03em;background:linear-gradient(90deg,var(--accent-a),var(--accent-b),var(--accent-c));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-subtitle{margin:0;color:var(--muted);font-size:.95rem}.login-screen{min-height:100%;height:100%;display:grid;place-items:center;padding:1.5rem;position:relative}.login-card{width:min(420px,100%);padding:2rem;border-radius:24px;background:#120a24b8;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;position:relative;z-index:1}.login-form{display:grid;gap:1rem;margin-top:1.5rem;text-align:left}.login-form label{display:grid;gap:.35rem;font-size:.85rem;color:var(--muted)}.login-form input{border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--text);border-radius:12px;padding:.75rem .9rem}.login-form button,.primary-btn{border:none;border-radius:999px;padding:.85rem 1.2rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent-a),var(--accent-b),var(--accent-c));box-shadow:0 8px 32px #ff5ca840}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-hint{margin:1rem 0 0;font-size:.8rem;color:var(--muted)}.onboarding-progress{margin:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}.onboarding-spoken{margin:0 0 1.25rem;max-width:22rem;font-size:1.15rem;line-height:1.45;color:var(--text)}.session-notice{margin:0 0 .75rem;padding:.6rem .75rem;border-radius:10px;background:#ffb4c41f;color:#ffb4c4;font-size:.9rem;text-align:center}.error-text,.error-banner{color:#ffb4c4;font-size:.9rem}.recorder-screen,.player-screen{min-height:100%;height:100%;display:flex;flex-direction:column;position:relative}.top-bar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;padding:1rem 1.25rem;position:relative;z-index:2}.player-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;position:relative;z-index:2;gap:.75rem}.player-top-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.fullscreen-btn{min-width:auto;padding:.45rem .9rem;font-size:.85rem}.icon-btn.settings{font-size:1.25rem;line-height:1}.icon-btn{width:40px;height:40px;border-radius:12px;border:none;background:#ffffff0f;color:var(--muted);font-size:1.1rem}.icon-btn.crown{color:#ffb347}.recorder-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.5rem 2rem;position:relative;z-index:1;text-align:center}.brand-block{margin-bottom:2rem}.waveform{display:flex;align-items:center;justify-content:center;gap:4px;height:64px;margin:1rem 0 1.5rem}.wave-bar{width:4px;border-radius:999px;background:linear-gradient(180deg,var(--accent-a),var(--accent-c));transition:height .08s ease}.timer{font-size:clamp(2.5rem,10vw,3.5rem);font-weight:600;letter-spacing:.06em;margin-bottom:.5rem}.recording-badge{display:inline-flex;align-items:center;gap:.5rem;color:#ffd1dc;font-size:.95rem;margin-bottom:2rem}.recording-badge.idle{color:var(--muted)}.recorder-controls{display:flex;flex-direction:column;align-items:center;width:100%}.rec-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 12px #ff4d6dcc;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.record-btn{width:112px;height:112px;border-radius:50%;border:none;padding:0;background:transparent;position:relative;margin-bottom:1rem}.record-btn-ring{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;border:4px solid #fff;background:transparent;box-shadow:0 0 0 1px #00000059}.record-btn-core{display:block;width:72px;height:72px;border-radius:50%;background:#e53935;box-shadow:inset 0 0 0 1px #0003;transition:border-radius .15s ease,width .15s ease,height .15s ease}.record-btn.stop .record-btn-core{width:36px;height:36px;border-radius:8px;background:#e53935}@media(max-width:480px){.recorder-main{padding-bottom:1rem}.record-btn{width:96px;height:96px}.record-btn-core{width:60px;height:60px}.record-btn.stop .record-btn-core{width:30px;height:30px}}.record-hint{color:var(--muted);font-size:.9rem;margin:0}.recorder-footer{padding:1rem;text-align:center;position:relative;z-index:1}.text-btn{border:none;background:transparent;color:var(--muted);font-size:.9rem}.generating-panel,.player-loading{flex:1;width:min(520px,100%);margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1}.generating-panel h2{margin:1rem 0 .5rem;font-size:1.4rem}.generating-sub{color:var(--muted);line-height:1.5}.status-log{list-style:none;padding:0;margin:1.25rem 0 0;width:100%;text-align:left;color:#d8cff5;font-size:.9rem}.status-log li{padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.spinner{width:48px;height:48px;margin:0 auto;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:var(--accent-b);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shell-with-library{display:flex;flex:1;min-height:0;width:100%;align-items:stretch;overflow:hidden}.shell-center{flex:1;min-width:0;display:flex;flex-direction:column;overflow:auto}.shell-with-library .library-sidebar{width:300px;flex:0 0 300px;max-height:none;align-self:stretch;margin:0;padding:.85rem .65rem;border-radius:0;border-top:none;border-bottom:none;border-right:none;border-left:1px solid rgba(255,255,255,.1);background:#06040eeb;overflow-y:auto}.shell-with-library .recorder-main.shell-center{flex:1;align-items:center;justify-content:center;text-align:center}.shell-with-library .player-main.shell-center{flex:1;min-width:0}.player-screen{padding-bottom:2rem;min-height:100%;height:100%;display:flex;flex-direction:column;background:#0a0614}.player-screen.is-fullscreen{padding-bottom:0;width:100%;height:100%;background:#000}.player-screen.is-fullscreen .stars{opacity:.25}.player-screen.is-fullscreen .player-top{position:absolute;top:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent)}.player-screen.is-fullscreen .player-main{flex:1;justify-content:center;min-height:100%}.player-screen.is-fullscreen .scene-stage{width:100%;max-width:none;padding:0 1.5rem}.player-screen.is-fullscreen .scene-pan-surface{width:min(96vw,1600px)}.player-screen.is-fullscreen .scene-frame{width:100%;max-height:min(78vh,900px);border-radius:8px}.player-screen.is-fullscreen .scene-caption{max-width:min(90vw,52rem);font-size:clamp(1.05rem,2.2vw,1.45rem)}.player-screen.is-fullscreen .scene-pan-hint,.player-screen.is-fullscreen .wand-simulator{opacity:.55}.player-screen.is-fullscreen .playback-controls{margin-top:.85rem}.player-layout{display:flex;flex:1;gap:1.25rem;width:100%;max-width:1180px;margin:0 auto;padding:0 1rem 1rem;align-items:flex-start;min-height:0}.recorder-layout{flex:1;align-items:stretch}.recorder-layout .recorder-main{justify-content:center;min-height:0}.recorder-layout .library-sidebar{max-height:calc(100vh - 8rem)}.player-main{flex:1;min-width:0;display:flex;flex-direction:column}.library-sidebar{flex-shrink:0;overflow:auto;padding:.75rem;border-radius:14px;background:#0c08188c;border:1px solid rgba(255,255,255,.08)}.library-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.library-sidebar-header h2{margin:0;font-size:.95rem;font-weight:600;color:#ebe4ff}.library-refresh-btn{border:none;background:transparent;color:var(--muted);font-size:.78rem;cursor:pointer;padding:.25rem .35rem}.library-refresh-btn:hover{color:#fff}.library-sidebar-status,.library-sidebar-empty,.library-sidebar-error{font-size:.85rem;color:var(--muted);text-align:center;padding:1rem .5rem}.library-spinner{width:32px;height:32px;margin-bottom:.5rem}.library-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.library-card{display:flex;gap:.65rem;width:100%;padding:.45rem;border:1px solid transparent;border-radius:10px;background:#ffffff0a;cursor:pointer;text-align:left;color:inherit}.library-card:hover{background:#ffffff14}.library-card.is-active{border-color:#a78bfa8c;background:#a78bfa1f}.library-thumb-wrap{flex-shrink:0;width:96px;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:#fff}.library-thumb{width:100%;height:100%;object-fit:contain;display:block}.library-thumb-fallback{display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#666;background:#f5f5f5;height:100%}.library-card-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.library-card-title{font-size:.88rem;font-weight:600;color:#fff;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.library-card-meta{font-size:.72rem;color:var(--muted)}.library-card-theme{font-size:.72rem;color:#c4b5fd;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:960px){.shell-with-library{flex-direction:column;overflow:visible}.shell-with-library .library-sidebar{flex:none;width:100%;max-height:none;margin:0;padding:.75rem 1rem;border-left:none;border-top:1px solid rgba(255,255,255,.1);border-radius:0;order:2}.shell-with-library .shell-center{order:1}.player-layout{flex-direction:column}.library-sidebar{width:100%;max-height:none;order:2}.player-main{order:1}.library-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}.scene-counter{color:var(--muted);font-size:.9rem}.title-card,.scene-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.5rem 2rem;position:relative;z-index:1;text-align:center}.title-card h1{font-size:clamp(1.8rem,6vw,2.8rem);margin:0 0 1rem;background:linear-gradient(90deg,var(--accent-a),var(--accent-b));-webkit-background-clip:text;background-clip:text;color:transparent}.title-card p{color:var(--muted);font-size:1.05rem}.title-card-generating{gap:.75rem;max-width:36rem;margin:0 auto}.title-start-btn{margin-top:.5rem;min-width:min(100%,14rem);font-size:1.1rem;padding:.85rem 1.5rem}.title-tap-hint{margin:.35rem 0 0;color:var(--muted);font-size:.85rem}.play-tap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border:none;background:#080a16d1;color:#fff;font:inherit;font-size:1.15rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.play-tap-icon{display:flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:999px;background:linear-gradient(135deg,var(--accent-a),var(--accent-b));font-size:1.6rem;padding-left:.2rem}.fork-mc-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1.5rem;background:#080612c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center}.fork-mc-image{width:min(70%,420px);max-height:42%;object-fit:contain;border-radius:1rem;box-shadow:0 12px 40px #00000073}.fork-mc-hint{margin:0;font-size:1.15rem;font-weight:650;color:#fff7e8}.fork-mc-sub{margin:0;font-size:.85rem;color:var(--muted)}.fork-progress-bar{width:min(70%,360px);margin-top:.35rem}.title-progress{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.75rem;color:var(--text)}.title-progress p{margin:0;color:var(--text);font-size:.95rem}.title-progress-bar{width:min(280px,70vw);height:6px;margin-top:.75rem;border-radius:999px;background:#ffffff1f;overflow:hidden}.title-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-a),var(--accent-b));transition:width .35s ease}.title-status-log{margin-top:1.5rem;max-width:28rem;text-align:left;opacity:.75}.scene-frame{position:relative;width:min(720px,92%);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 20px 60px #00000073;aspect-ratio:16 / 9;max-height:48vh}.scene-stage img,.kb-frame{display:block;width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0;background:#fff;box-shadow:none}.kb-viewport{position:relative;--scene-duration: 12s;--kb-delay: 9s}.kb-zoom,.puppet-zoom,.kb-motion{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform-origin:center center;will-change:transform}.puppet-zoom{will-change:transform;transition:transform .12s ease-out;z-index:1}.puppet-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#fff;transition:opacity .05s linear;will-change:opacity}.lamp-flicker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;border-radius:inherit;background:#fff;opacity:0;mix-blend-mode:overlay;animation:lamp-flicker 3.7s ease-in-out infinite}.kb-viewport.has-lantern{background:#07040a;box-shadow:0 20px 60px #0000008c,inset 0 0 40px #00000059}.kb-viewport.has-lantern .puppet-frame,.kb-viewport.has-lantern .scene-stage img{background:transparent}.lantern-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--lantern-x, 50%) var(--lantern-y, 50%),rgba(0,0,0,0) 0%,rgba(0,0,0,.08) calc(var(--lantern-size, 48%) * .55),rgba(8,3,0,.55) calc(var(--lantern-size, 48%) * .82),rgba(0,0,0,.88) calc(var(--lantern-size, 48%) * 1.05),rgba(0,0,0,.96) 100%);transition:--lantern-x .05s linear,--lantern-y .05s linear,background .2s ease}.lantern-glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;border-radius:inherit;mix-blend-mode:soft-light;opacity:.9;background:radial-gradient(circle at var(--lantern-x, 50%) var(--lantern-y, 50%),rgba(255,210,110,.55) 0%,rgba(255,170,60,.22) calc(var(--lantern-size, 48%) * .45),rgba(255,140,40,.06) calc(var(--lantern-size, 48%) * .75),transparent calc(var(--lantern-size, 48%) * 1.05));animation:lantern-breathe 4.2s ease-in-out infinite}@keyframes lantern-breathe{0%,to{opacity:.82}40%{opacity:.95}70%{opacity:.78}}.kb-viewport.is-paused .lantern-glow{animation-play-state:paused}.kb-viewport.is-exploring .lantern-veil,.kb-viewport.is-exploring .lantern-glow{transition:none}@keyframes lamp-flicker{0%,to{opacity:0}12%{opacity:.04}28%{opacity:0}41%{opacity:.06}55%{opacity:.02}72%{opacity:.05}88%{opacity:0}}.kb-even .puppet-zoom .kb-motion{animation:ken-burns-even var(--scene-duration) linear forwards;animation-delay:var(--kb-delay)}.kb-odd .puppet-zoom .kb-motion{animation:ken-burns-odd var(--scene-duration) linear forwards;animation-delay:var(--kb-delay)}.kb-viewport.is-paused .kb-motion,.kb-viewport.is-paused .lamp-flicker{animation-play-state:paused}.kb-viewport.is-exploring .kb-motion{animation:none!important;transform:none}.scene-pan-surface{display:flex;justify-content:center;width:min(720px,92%);margin:0 auto;touch-action:none}.scene-pan-surface.pan-enabled.is-wanding{-webkit-user-select:none;user-select:none}.scene-pan-surface.pan-enabled.is-wanding .puppet-zoom{transition:transform .08s ease-out}.scene-pan-surface .scene-frame{width:100%}.scene-pan-hint{margin:.65rem auto 0;text-align:center;font-size:.82rem;color:var(--muted)}.scene-parallax-bg{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;width:116%;height:116%;object-fit:cover;object-position:center;opacity:.22;filter:blur(10px) contrast(1.05);pointer-events:none;transform-origin:center center;transition:transform .08s ease-out;z-index:0}.wand-simulator{position:fixed;bottom:1rem;left:1rem;z-index:30}.wand-simulator-toggle{border:1px solid rgba(255,255,255,.15);background:#080512e0;color:#ebe4ff;border-radius:999px;padding:.4rem .75rem;font-size:.78rem}.wand-simulator-panel{margin-top:.5rem;padding:.65rem;border-radius:12px;background:#080512f0;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:.45rem;min-width:220px}.wand-simulator-row{display:flex;flex-wrap:wrap;gap:.35rem}.wand-simulator-row button,.wand-simulator-panel button.secondary-btn{font-size:.72rem;padding:.3rem .5rem}.wand-simulator-label{margin:0;font-size:.72rem;color:var(--muted)}.wand-simulator-hint{margin:0;font-size:.68rem;color:var(--muted)}.theme-magic-suggest{margin:.75rem auto 0;padding:.75rem 1rem;border-radius:14px;background:#a78bfa1f;border:1px solid rgba(167,139,250,.35);max-width:28rem}.theme-magic-title{margin:0 0 .25rem;font-weight:600;color:#fbbf24}.theme-magic-sub{margin:0 0 .5rem;font-size:.85rem;color:var(--muted)}.theme-magic-chips{display:flex;flex-direction:column;gap:.4rem}.theme-magic-chip{border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#fff;border-radius:999px;padding:.45rem .85rem;font-size:.85rem;text-align:left}.theme-magic-picked{color:#fbbf24}@keyframes ken-burns-even{0%,75%{transform:scale(1) translate(0)}to{transform:scale(1.04) translate(-1.5%,-1%)}}@keyframes ken-burns-odd{0%,75%{transform:scale(1) translate(0)}to{transform:scale(1.04) translate(1.5%,-1%)}}.kb-frame-a,.kb-frame-b{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.kb-frame-a{z-index:1}.kb-frame-b{z-index:2;opacity:0;animation:ab-crossfade 8s linear infinite;will-change:opacity}.kb-even .kb-zoom{animation:ken-burns-even var(--scene-duration) linear forwards}.kb-odd .kb-zoom{animation:ken-burns-odd var(--scene-duration) linear forwards}@keyframes ab-crossfade{0%,46%{opacity:0}54%,to{opacity:1}}.scene-stage.is-waiting .scene-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#09061259;pointer-events:none;border-radius:inherit}.scene-wait-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border-radius:16px;background:#09061273;color:#fff;font-size:.95rem}.scene-wait-overlay .spinner{width:40px;height:40px}.scene-wait-overlay p{margin:0}.scene-caption{margin:1.25rem auto 0;max-width:720px;line-height:1.6;color:#ebe4ff}.scene-wait{color:var(--muted);font-size:.9rem;margin-top:.75rem}.story-done{text-align:center;position:relative;z-index:1;padding:1rem}.story-done p{font-size:1.2rem;margin-bottom:1rem}.story-archived-note{font-size:.85rem!important;color:var(--muted);margin-bottom:1.25rem!important}.story-done-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.playback-controls{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:1.25rem}.playback-btn{min-width:7rem;padding:.65rem 1.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#fff;font-size:.95rem;cursor:pointer}.playback-btn:hover{background:#ffffff29}.playback-btn.secondary{background:transparent;color:var(--muted)}.secondary-btn{padding:.75rem 1.5rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#ebe4ff;font-size:1rem;cursor:pointer}.visual-style-picker{border:0;margin:.85rem 0 .25rem;padding:0;width:min(100%,22rem)}.visual-style-legend{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #a89bb8);margin-bottom:.45rem}.visual-style-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.visual-style-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#f4eefc;cursor:pointer;text-align:left}.visual-style-chip.is-selected{border-color:#ffdc78bf;background:#ffdc7824;box-shadow:0 0 0 1px #ffdc7840}.visual-style-chip.is-lantern.is-selected{border-color:#f0c850d9;background:linear-gradient(160deg,#f0d87847,#ffffff0f)}.visual-style-chip.is-spotlight.is-selected{border-color:#ffffff73;background:linear-gradient(160deg,#00000073,#f0d8782e)}.visual-style-chip-label{font-size:.9rem;font-weight:600}.visual-style-chip-hint{font-size:.68rem;line-height:1.25;color:var(--muted, #b7aac8)}.visual-style-picker:disabled .visual-style-chip{opacity:.55;cursor:default}.story-look-panel{color:#ebe4ff}.story-look-panel.is-disabled{opacity:.72;pointer-events:none}.story-look-header{margin-bottom:1rem}.story-look-title{margin:0;font-size:1.12rem;font-weight:700;letter-spacing:.01em;color:#fff7e8}.story-look-sub{margin:.4rem 0 0;font-size:.78rem;line-height:1.45;color:var(--muted, #a89ec4)}.story-look-section{border:0;margin:0 0 1.15rem;padding:0;min-width:0}.story-look-legend{display:flex;align-items:center;gap:.45rem;margin-bottom:.55rem;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:#f0e8ff}.story-look-step{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:999px;font-size:.68rem;font-weight:700;background:#ffc85a33;color:#ffd27a;border:1px solid rgba(255,210,120,.45)}.story-look-lang{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.story-look-lang-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem .55rem;border-radius:.85rem;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#e8dff8;font-size:.9rem;font-weight:600}.story-look-lang-btn.is-selected{border-color:#ffd26ed9;background:#ffd26e24;color:#ffe7a8;box-shadow:0 0 0 1px #ffd26e38}.story-look-lang-icon{font-size:.95rem;line-height:1}.story-look-aspect{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.story-look-aspect-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.62rem .7rem;border-radius:.85rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e8dff8;text-align:left;cursor:pointer}.story-look-aspect-btn.is-selected{border-color:#ffd26ecc;background:#ffd26e1f;box-shadow:0 0 0 1px #ffd26e33}.story-look-aspect-label{font-size:.88rem;font-weight:600}.story-look-aspect-hint{font-size:.74rem;opacity:.78;line-height:1.35}.story-look-fidelity{display:flex;flex-direction:column;gap:.55rem}.story-look-fidelity-card{display:flex;align-items:center;gap:.7rem;width:100%;padding:.62rem .72rem;border-radius:.85rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:inherit;text-align:left;cursor:pointer}.story-look-fidelity-card.is-selected{border-color:#ffd26ecc;background:#ffd26e1f;box-shadow:0 0 0 1px #ffd26e33}.story-look-fidelity-thumb{flex:0 0 2.65rem;width:2.65rem;height:2.65rem;border-radius:.55rem;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 35% 55%,#111 0 28%,transparent 29%),radial-gradient(circle at 62% 48%,#111 0 18%,transparent 19%),#f4f0e6}.story-look-fidelity-thumb.is-simple{background:radial-gradient(circle at 50% 55%,#111 0 32%,transparent 33%),#f4f0e6}.story-look-fidelity-thumb.is-basic{background:radial-gradient(circle at 50% 42%,#111 0 22%,transparent 23%),linear-gradient(90deg,transparent 42%,#111 42% 58%,transparent 58%) 50% 70% / 40% 28% no-repeat,#f4f0e6}.story-look-fidelity-thumb.is-clear{background:radial-gradient(circle at 48% 38%,#111 0 18%,transparent 19%),linear-gradient(#111,#111) 48% 68% / 12% 36% no-repeat,linear-gradient(#111,#111) 35% 78% / 28% 8% no-repeat,#f4f0e6}.story-look-fidelity-thumb.is-rich{background:radial-gradient(circle at 34% 48%,#111 0 16%,transparent 17%),radial-gradient(circle at 66% 42%,#111 0 14%,transparent 15%),linear-gradient(180deg,#efe6c8,#f7f1df)}.story-look-fidelity-text{display:flex;flex-direction:column;gap:.18rem;min-width:0;flex:1}.story-look-fidelity-label{font-size:.92rem;font-weight:700;color:#fff8ea}.story-look-fidelity-card.is-selected .story-look-fidelity-label{color:#ffe7a8}.story-look-fidelity-hint{font-size:.74rem;line-height:1.4;color:var(--muted, #b7aac8)}.story-look-lighting{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.story-look-lighting-card{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.72rem .65rem;border-radius:.85rem;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:inherit;text-align:left;cursor:pointer}.story-look-lighting-card.is-selected{border-color:#ffd26ed9;background:#ffd26e24;box-shadow:0 0 0 1px #ffd26e38}.story-look-lighting-card.is-yellow.is-selected{background:linear-gradient(160deg,#f0c85047,#ffffff0d)}.story-look-lighting-icon{font-size:1rem;line-height:1}.story-look-lighting-text{display:flex;flex-direction:column;gap:.1rem}.story-look-lighting-label{font-size:.84rem;font-weight:700;color:#fff8ea}.story-look-lighting-card.is-selected .story-look-lighting-label{color:#ffe7a8}.story-look-lighting-hint{font-size:.72rem;line-height:1.35;color:var(--muted, #b7aac8)}.story-look-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.story-look-style-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .45rem;border-radius:.85rem;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:#e8dff8;cursor:pointer}.story-look-style-btn.is-selected{border-color:#ffd26ed9;background:#ffd26e24;color:#ffe7a8;box-shadow:0 0 0 1px #ffd26e38}.story-look-style-btn.is-lantern.is-selected{background:linear-gradient(160deg,#f0d87847,#ffffff0f)}.story-look-style-btn.is-spotlight.is-selected{background:linear-gradient(160deg,#00000073,#f0d8782e)}.story-look-style-icon{font-size:1.15rem;line-height:1}.story-look-style-label{font-size:.82rem;font-weight:700}.story-look-panel.is-mobile.is-collapsed{padding-bottom:.25rem}.story-look-summary-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;max-width:100%;min-width:0;padding:.55rem 2rem .55rem .65rem;border-radius:.85rem;border:1px solid rgba(255,210,110,.45);background:#ffd26e1a;color:#fff8ea;text-align:left}.story-look-summary-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#ffd27a;font-weight:700}.story-look-summary-value{font-size:.82rem;line-height:1.35;color:#ebe4ff;overflow-wrap:anywhere}.story-look-summary-chevron{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:#ffd27a}.story-look-header{position:relative}.recorder-start-zone{display:flex;flex-direction:column;align-items:center;width:100%;max-width:14rem;padding:.35rem 0 .15rem;border:none;background:transparent;color:inherit;cursor:pointer}.recorder-start-zone:disabled{opacity:.55;cursor:default}.recorder-start-zone .record-btn-ring{display:grid;place-items:center;width:96px;height:96px;margin-top:.35rem;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 1px #00000059}.recorder-start-zone .record-btn-core{display:block;width:60px;height:60px;border-radius:50%;background:#e53935}.recorder-footer{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}.library-card.is-loading{opacity:.85;pointer-events:none}.library-thumb-loading{display:grid;place-items:center;background:#ffffff0f}.library-card:disabled{cursor:default;opacity:.7}.library-open-btn{color:#ffd27a!important;font-weight:600}body.library-sheet-open{overflow:hidden}.library-sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end}.library-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border:none;background:#0000008c;cursor:pointer}.library-sheet-panel{position:relative;z-index:1;max-height:min(78vh,640px);border-radius:20px 20px 0 0;background:#06040efa;border:1px solid rgba(255,255,255,.12);box-shadow:0 -12px 40px #00000073;overflow:hidden;display:flex;flex-direction:column;animation:library-sheet-in .28s ease-out}@keyframes library-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.library-sheet-handle{width:2.5rem;height:.28rem;margin:.55rem auto 0;border-radius:999px;background:#ffffff40}.library-sheet-close{align-self:flex-end;margin:.35rem .85rem 0;padding:.25rem .5rem;border:none;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer}.library-sheet-panel .library-sidebar{flex:1;overflow-y:auto;max-height:none;padding-top:.25rem}.player-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:40vh;color:var(--muted)}
