:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{color:#1a1a2e;background:linear-gradient(160deg,#f0f4ff 0%,#e8f5e9 100%);min-height:100vh;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}.app{max-width:640px;margin:0 auto;padding:1.5rem}header{text-align:center;margin-bottom:2rem}header h1{color:#2e7d32;margin:0;font-size:2rem}.subtitle{color:#555;margin-top:.25rem}.start-panel,.session-panel{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014}label{margin-bottom:1rem;font-weight:600;display:block}input[type=text],select{border:2px solid #c8e6c9;border-radius:10px;width:100%;margin-top:.35rem;padding:.65rem .85rem;font-size:1rem;display:block}input:focus,select:focus{border-color:#43a047;outline:none}.story-desc{color:#555;margin:.5rem 0 1.25rem;font-size:.95rem}button{cursor:pointer;border:none;border-radius:10px;padding:.7rem 1.2rem;font-size:1rem;font-weight:600;transition:background .15s,transform .1s}button.primary{color:#fff;background:#43a047;width:100%;margin-top:.5rem}button.primary:hover{background:#2e7d32}button.danger{color:#fff;background:#ef5350;width:100%;margin-top:.75rem}button:disabled{opacity:.55;cursor:not-allowed}.status{text-align:center;color:#666;margin-top:1rem;font-size:.9rem}.status-bar{color:#2e7d32;align-items:center;gap:.5rem;margin-bottom:1rem;font-weight:600;display:flex}.speaking-badge{color:#e65100;background:#fff3e0;border-radius:999px;padding:.15rem .5rem;font-size:.8rem}.messages{flex-direction:column;gap:.75rem;max-height:380px;margin-bottom:1rem;display:flex;overflow-y:auto}.bubble{border-radius:12px;max-width:90%;padding:.85rem 1rem}.bubble.assistant{background:#e8f5e9;align-self:flex-start}.bubble.user{background:#e3f2fd;align-self:flex-end}.bubble p{margin:.25rem 0 0}.controls{flex-direction:column;gap:.75rem;display:flex}.mic-btn{color:#fff;background:#1565c0;width:100%;padding:1rem;font-size:1.1rem}.mic-btn:hover:not(:disabled){background:#0d47a1}.mic-btn.recording{background:#c62828;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.input-row{gap:.5rem;display:flex}.input-row input{flex:1;margin-top:0}.input-row button{color:#fff;white-space:nowrap;background:#43a047}.ei-box{background:#f3e5f5;border-left:4px solid #7b1fa2;border-radius:12px;margin-top:1.5rem;padding:1rem 1.25rem}.ei-box h3{color:#4a148c;margin:0 0 .5rem;font-size:1rem}.ei-box p{white-space:pre-wrap;color:#333;margin:0;font-size:.95rem}
