:root{--purple-950: #14061f;--purple-900: #1e0a33;--purple-800: #2b1049;--purple-700: #3d1a66;--purple-600: #5b2a96;--purple-500: #7c3aed;--purple-400: #a78bfa;--purple-300: #c4b5fd;--purple-200: #ded0f6;--purple-100: #efe7fb;--btn-bg: #ffffff;--btn-fg: var(--purple-700);--btn-bg-hover: #f3f0ff;--btn-border: rgba(255, 255, 255, .9);--btn-shadow: 0 4px 20px rgba(124, 58, 237, .35);--error: #ff5a6e;--success: #4ade80;--warning: #fbbf24;--text-primary: #ffffff;--text-secondary: #c4b5fd;--text-muted: rgba(255, 255, 255, .55);--hover-overlay: rgba(255, 255, 255, .16);--sunken-bg: rgba(0, 0, 0, .2);--bubble-me-bg: rgba(255, 255, 255, .14);--inset-bg: rgba(255, 255, 255, .08);--divider-dashed: rgba(255, 255, 255, .14);--text-faint: rgba(255, 255, 255, .62);--text-faint-err: rgba(255, 150, 150, .75);--wrong-fg: #ff8f8f;--on-accent: #ffffff;--bg-base: var(--purple-950);--bg-surface: rgba(255, 255, 255, .06);--bg-raised: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .12);--surface-blur: 20px;--card-shadow: 0 8px 32px rgba(0, 0, 0, .28);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 40px;--mic-size: 64px;--shell-max: 780px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--motion-fast: .15s;--motion-base: .3s;--motion-slow: .6s}@media(prefers-reduced-motion:reduce){:root{--motion-fast: .01s;--motion-base: .01s;--motion-slow: .01s}}:root[data-theme=aurora]{--bg-base: #ffffff;--text-primary: var(--purple-950);--text-secondary: var(--purple-700);--text-muted: rgba(20, 6, 31, .62);--bg-surface: rgba(124, 58, 237, .045);--bg-raised: rgba(124, 58, 237, .085);--border-subtle: rgba(124, 58, 237, .18);--surface-blur: 20px;--card-shadow: 0 8px 32px rgba(76, 29, 149, .1);--hover-overlay: rgba(124, 58, 237, .1);--bubble-me-bg: rgba(124, 58, 237, .1);--inset-bg: rgba(124, 58, 237, .06);--divider-dashed: rgba(124, 58, 237, .22);--sunken-bg: rgba(124, 58, 237, .07);--text-faint: rgba(20, 6, 31, .58);--wrong-fg: #b3122a;--text-faint-err: #b3122a;--btn-bg: var(--purple-500);--btn-fg: #ffffff;--btn-bg-hover: var(--purple-600);--btn-border: var(--purple-500);--btn-shadow: 0 4px 20px rgba(124, 58, 237, .28);--error: #d11a30;--success: #15803d;--warning: #a16207;--mic-size: 120px;--shell-max: 780px}:root[data-theme=aurora] body{background:radial-gradient(ellipse 80% 60% at 15% -10%,var(--purple-100) 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 85% 110%,#ece2fc 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 50% 40%,rgba(124,58,237,.05) 0%,transparent 70%),var(--bg-base);background-attachment:fixed}:root[data-theme=aurora] body:before{content:"";position:fixed;inset:-20%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 40% 30% at 30% 30%,rgba(124,58,237,.07) 0%,transparent 70%);animation:aurora-drift 24s ease-in-out infinite alternate}@keyframes aurora-drift{0%{transform:translate(-6%,-4%) scale(1)}to{transform:translate(6%,5%) scale(1.15)}}@media(prefers-reduced-motion:reduce){:root[data-theme=aurora] body:before{animation:none}}:root[data-motion=reduced][data-theme=aurora] body:before{animation:none}:root[data-theme=aurora] .panel,:root[data-theme=aurora] .bubble,:root[data-theme=aurora] .feedback,:root[data-theme=aurora] .composer{backdrop-filter:blur(var(--surface-blur));-webkit-backdrop-filter:blur(var(--surface-blur));box-shadow:var(--card-shadow)}:root[data-theme=aurora] .composer{flex-wrap:wrap;justify-content:center}:root[data-theme=aurora] .mic{width:var(--mic-size);height:var(--mic-size);order:-1;margin:0 auto var(--space-2);font-size:2.2rem;background:var(--btn-bg);color:var(--btn-fg);border:2px solid var(--btn-border);box-shadow:var(--btn-shadow)}:root[data-theme=aurora] .mic:hover:not(:disabled){background:var(--btn-bg-hover)}:root[data-theme=aurora] .mic--on{background:var(--error);color:#fff;border-color:#8e0f20}:root[data-theme=aurora] .mic--on:after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid var(--error);animation:mic-pulse 1.6s ease-out infinite;pointer-events:none}@keyframes mic-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.35);opacity:0}}@media(prefers-reduced-motion:reduce){:root[data-theme=aurora] .mic--on:after{animation:none}}:root[data-theme=aurora] .composer textarea{flex:1 1 100%}:root[data-theme=aurora] .sidebar,:root[data-theme=aurora] .progress-dots{display:none}:root[data-theme=aurora] .savebar{background:#fff;border-color:var(--purple-300);box-shadow:0 6px 28px #4c1d952e}:root[data-theme=studio]{--bg-base: var(--purple-900);--bg-surface: rgba(255, 255, 255, .05);--bg-raised: rgba(255, 255, 255, .09);--border-subtle: rgba(255, 255, 255, .1);--surface-blur: 0px;--card-shadow: none;--mic-size: 46px;--shell-max: 1180px}:root[data-theme=studio] body{background:var(--bg-base)}:root[data-theme=studio] .shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-4);align-items:start;max-width:var(--shell-max);padding-top:var(--space-4)}:root[data-theme=studio] .sidebar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--purple-950);position:sticky;top:var(--space-3);grid-column:1;grid-row:2 / span 50}:root[data-theme=studio] .hero{grid-column:1 / -1;grid-row:1;text-align:left}:root[data-theme=studio] .shell>.panel{display:none}:root[data-theme=studio] .hero h1{font-size:1.4rem}:root[data-theme=studio] .topic-bar{justify-content:flex-start;flex-wrap:wrap}:root[data-theme=studio] .quota,:root[data-theme=studio] .alert,:root[data-theme=studio] .panel,:root[data-theme=studio] .chat,:root[data-theme=studio] .composer,:root[data-theme=studio] .notice{grid-column:2}:root[data-theme=studio] .bubble{max-width:78%;border-radius:var(--radius-md)}:root[data-theme=studio] .bubble--ai{background:var(--purple-800)}:root[data-theme=studio] .bubble--me{background:var(--purple-600)}:root[data-theme=studio] .feedback{border-left-width:3px}:root[data-theme=studio] .sidebar__section{display:flex;flex-direction:column;gap:var(--space-1)}:root[data-theme=studio] .sidebar__title{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}:root[data-theme=studio] .sidebar__stat{display:flex;justify-content:space-between;font-size:.86rem;color:var(--text-secondary)}:root[data-theme=studio] .sidebar__stat b{color:var(--text-primary)}:root[data-theme=studio] .sidebar .topics{grid-template-columns:1fr;gap:var(--space-1)}:root[data-theme=studio] .sidebar .topic{padding:var(--space-2);font-size:.9rem;background:transparent;border-color:transparent}:root[data-theme=studio] .sidebar .topic:hover:not(:disabled){background:var(--bg-raised);transform:none}:root[data-theme=studio] .sidebar .topic--active{background:var(--purple-600);border-color:var(--purple-400)}:root[data-theme=studio] .progress-dots{display:none}@media(max-width:860px){:root[data-theme=studio] .shell{grid-template-columns:minmax(0,1fr)}:root[data-theme=studio] .sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:var(--space-3)}:root[data-theme=studio] .quota,:root[data-theme=studio] .alert,:root[data-theme=studio] .panel,:root[data-theme=studio] .chat,:root[data-theme=studio] .composer,:root[data-theme=studio] .notice{grid-column:1}}:root[data-theme=focus]{--bg-base: var(--purple-900);--bg-surface: rgba(255, 255, 255, .08);--bg-raised: rgba(255, 255, 255, .13);--border-subtle: rgba(255, 255, 255, .16);--surface-blur: 12px;--card-shadow: 0 12px 40px rgba(0, 0, 0, .35);--mic-size: 88px;--shell-max: 520px}:root[data-theme=focus] body{background:radial-gradient(ellipse 90% 50% at 50% 0%,var(--purple-700) 0%,transparent 65%),var(--bg-base);background-attachment:fixed}:root[data-theme=focus] .shell{max-width:var(--shell-max);min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3)}:root[data-theme=focus] .hero h1{font-size:1.3rem}:root[data-theme=focus] .progress-dots{display:flex;justify-content:center;gap:6px;margin-bottom:var(--space-2)}:root[data-theme=focus] .progress-dots span{width:7px;height:7px;border-radius:50%;background:var(--border-subtle);transition:background var(--motion-fast) ease,transform var(--motion-fast) ease}:root[data-theme=focus] .progress-dots span.is-done{background:var(--purple-400)}:root[data-theme=focus] .progress-dots span.is-current{background:var(--btn-bg);transform:scale(1.4)}:root[data-theme=focus] .chat>*:nth-last-child(n+4){display:none}:root[data-theme=focus] .bubble,:root[data-theme=focus] .feedback{max-width:100%;align-self:stretch;backdrop-filter:blur(var(--surface-blur));-webkit-backdrop-filter:blur(var(--surface-blur));box-shadow:var(--card-shadow)}:root[data-theme=focus] .bubble--ai{text-align:center;padding:var(--space-4) var(--space-3);font-size:1.1rem}:root[data-theme=focus] .bubble--ai .bubble__text{font-size:1.15rem;line-height:1.6}:root[data-theme=focus] .replay{justify-content:center}:root[data-theme=focus] .composer{flex-direction:column;align-items:stretch;gap:var(--space-2)}:root[data-theme=focus] .mic{width:var(--mic-size);height:var(--mic-size);margin:0 auto;font-size:1.8rem;background:var(--btn-bg);color:var(--btn-fg);border:2px solid var(--btn-border);box-shadow:var(--btn-shadow)}:root[data-theme=focus] .mic--on{background:var(--error);color:#fff}:root[data-theme=focus] .topics{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:420px){:root[data-theme=focus] .topics{grid-template-columns:minmax(0,1fr)}}:root[data-theme=focus] .sidebar{display:none}@media(min-width:900px){:root[data-theme=focus] .chat,:root[data-theme=focus] .composer{border-radius:var(--radius-lg)}}:root[data-motion=reduced],:root[data-motion=reduced][data-theme]{--motion-fast: .01ms;--motion-base: .01ms;--motion-slow: .01ms;--surface-blur: 0px}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:root[data-motion=reduced] .panel,:root[data-motion=reduced] .bubble,:root[data-motion=reduced] .card,:root[data-motion=reduced] .quota,:root[data-motion=reduced] .replay__btn{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
