:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#04070d;color:#f2f7ff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;background:radial-gradient(circle at top,rgba(101,163,255,.16),transparent 32%),radial-gradient(circle at 20% 20%,rgba(56,189,148,.08),transparent 24%),linear-gradient(180deg,#07111d,#030508 52%,#020304)}input,textarea,button{font:inherit}#app{min-height:100vh}.app-shell{min-height:100vh;display:flex;align-items:stretch;justify-content:center;padding:0}.app-frame{width:min(100%,980px);min-height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;padding:1rem 1.5rem 1.5rem}.app-header,.message-list,.chat-form{display:flex}.app-header{align-items:center}.app-header{justify-content:center;gap:1rem;padding:.4rem 0}.brand,.status-pill,.message-rich :is(p,h1,h2,h3,h4,ul,ol,li){margin:0}.brand{color:#fde68a;font-size:.82rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase}.status-pill{padding:.5rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#08101c99;color:#c8d7ea;font-size:.8rem;line-height:1;transition:all .3s ease}.status-pill-inline{display:inline-flex;align-items:center;justify-content:center;min-width:0}.status-pill[data-state=connected]{color:#86efac;border-color:#86efac33}.status-pill[data-state=connecting]{color:#fde68a;border-color:#fde68a33}.status-pill[data-state=error],.status-pill[data-state=disconnected]{color:#fdba74;border-color:#fb923c38}.chat-window{min-height:0;position:relative}.message-scroll{height:100%;overflow-y:auto;scroll-behavior:smooth;padding:1.6rem 0 0;transition:all .3s ease}.message-scroll::-webkit-scrollbar{width:10px}.message-scroll::-webkit-scrollbar-track{background:transparent}.message-scroll::-webkit-scrollbar-thumb{background:#4ade8029;border-radius:999px;transition:all .3s ease}.message-list{min-height:100%;display:flex;flex-direction:column;gap:1.9rem;padding:0 min(7vw,4rem)}.message-row{width:100%;display:flex;justify-content:center}.message-bubble{align-self:center;width:min(100%,46rem);text-align:center;opacity:0;transform:translateY(1.4rem) scale(.985);animation:message-enter .68s cubic-bezier(.2,.8,.2,1) forwards;transition:opacity .34s ease,transform .42s ease,filter .32s ease}.message-status{animation-duration:.52s}.message-bubble[data-speaker=ai]{color:#f8fbff}.message-bubble[data-speaker=user]{color:#e2eeffb8}.message-bubble[data-speaker=system]{color:#fcd34d}.message-bubble[data-speaker=user]{width:min(100%,38rem);opacity:.82}.message-bubble[data-streaming=true]{filter:saturate(1.05)}.message-rich{display:grid;gap:1rem;justify-items:center}.message-bubble[data-streaming=true] .message-rich{animation:streaming-refresh .46s ease forwards}.message-rich>:last-child:after,.message-bubble[data-streaming=true] .message-rich>:last-child:after{content:""}.message-bubble[data-streaming=true] .message-rich>:last-child:after{content:"▍";display:inline-block;margin-left:.18rem;color:#86efac;animation:cursor-pulse .9s ease infinite}.message-rich p{max-width:100%;line-height:1.65;word-break:break-word}.message-bubble[data-speaker=user] .message-rich p,.message-bubble[data-speaker=user] .message-rich li{font-size:clamp(1rem,1.6vw,1.08rem)}.message-bubble[data-speaker=ai] .message-rich p,.message-bubble[data-speaker=ai] .message-rich li{font-size:clamp(1.15rem,2.1vw,1.52rem);font-weight:500;letter-spacing:.01em}.message-bubble[data-speaker=system] .message-rich p,.message-bubble[data-speaker=system] .message-rich li{font-size:clamp(.98rem,1.55vw,1.08rem)}.message-rich h1,.message-rich h2,.message-rich h3,.message-rich h4{font-weight:600;line-height:1.18;letter-spacing:-.02em;text-wrap:balance}.message-rich h1{font-size:clamp(1.5rem,3vw,2.35rem)}.message-rich h2{font-size:clamp(1.28rem,2.45vw,1.9rem)}.message-rich h3{font-size:clamp(1.12rem,2vw,1.45rem)}.message-rich h4{font-size:clamp(1.02rem,1.75vw,1.2rem)}.message-rich strong{color:#fff6bf;font-weight:700}.message-rich em{color:#e2eeffdb}.message-rich code{padding:.08rem .4rem;border-radius:999px;background:#94a3b824;color:#d7f9e4;font-size:.9em}.message-rich ul,.message-rich ol{display:inline-grid;gap:.55rem;justify-items:stretch;width:min(100%,34rem);margin-inline:auto;padding-left:1.4rem;text-align:left;list-style-position:outside}.message-rich ol>li{font-weight:650}.message-rich li>ul,.message-rich li>ol{width:min(100%,31rem);margin-top:.7rem;margin-left:.15rem;padding-left:1.35rem}.message-rich li>ul>li,.message-rich li>ol>li{font-weight:500}.message-rich li{width:100%;line-height:1.65}.message-rich hr{width:min(12rem,36vw);height:1px;border:none;background:linear-gradient(90deg,transparent 0%,rgba(253,230,138,.16) 18%,rgba(134,239,172,.9) 50%,rgba(253,230,138,.16) 82%,transparent 100%)}.composer-anchor{align-self:center;width:min(100%,45.5rem);padding-top:.2rem}.composer-spacer{flex:none;width:100%;height:clamp(14rem,24vh,20rem)}.chat-input-shell{width:100%;padding:.45rem 0 0;display:grid;justify-items:center;gap:.9rem}.chat-form{width:100%;justify-content:center}.chat-input-frame{position:relative;width:min(100%,45.5rem)}.chat-submit-helper{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-input-shell[data-empty=true]:focus-within .chat-input-frame:after{content:"";position:absolute;left:50%;top:1rem;width:1px;height:1.35rem;background:#86eface0;transform:translate(-50%);pointer-events:none;animation:composer-caret-fade 1.45s ease-in-out infinite}.chat-input{width:min(100%,45.5rem);border:none;outline:none;resize:none;overflow:hidden;background:transparent;color:#f8fbff;text-align:center;padding:1rem 1.35rem .7rem;font-size:clamp(1.05rem,1.7vw,1.2rem);line-height:1.5;caret-color:#86efac;border-radius:0;box-shadow:none;transition:color .3s ease,opacity .3s ease}.chat-input::placeholder{color:#a8bcd561}.chat-input:focus{border:none;outline:none;box-shadow:none}.chat-input-shell[data-empty=true]:focus-within .chat-input{caret-color:transparent}.chat-input-shell[data-empty=true]:focus-within .chat-input::placeholder{color:transparent}.chat-input-shell[data-listening=true] .chat-input{color:#fff7cc}.chat-input:disabled{cursor:not-allowed;opacity:.45}.transcript{width:min(100%,40rem);min-height:1.9rem;display:grid;justify-items:center;align-items:center;padding:.15rem 0 .2rem}.transcript-line,.transcript-status{margin:0}.transcript-line{display:flex;flex-wrap:wrap;justify-content:center;gap:.38rem;width:100%;color:#f1f5fff0;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.65;letter-spacing:.01em}.transcript-word{opacity:0;transform:translateY(.45rem) scale(.985);animation:transcript-word-enter .42s ease forwards}.transcript-status{color:#bfd3ebad;font-size:.95rem;line-height:1.5}.transcript[data-active=true] .transcript-status{color:#f4faffd1}.transcript[data-loading=true] .transcript-status{color:#fde68a;animation:loading-pulse 1.5s ease-in-out infinite}@keyframes loading-pulse{0%,to{opacity:.6}50%{opacity:1}}.transcript[data-error=true] .transcript-status{color:#fdba74}.voice-button-wrap{width:100%;display:flex;justify-content:center;padding-top:.05rem}.voice-button{position:relative;display:grid;place-items:center;width:3.45rem;height:3.45rem;padding:0;border:1px solid rgba(134,239,172,.1);border-radius:999px;background:#86efac0d;color:#b6f5d47a;cursor:pointer;opacity:.26;box-shadow:0 18px 32px #02060c1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s ease,opacity .3s ease,background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.voice-button svg{width:1.35rem;height:1.35rem;fill:currentColor}.voice-button:hover:not(:disabled),.voice-button:focus-visible{opacity:.74;color:#e9fff2eb;background:#86efac24;border-color:#86efac47;box-shadow:0 20px 34px #02060c38;transform:translateY(-2px);outline:none}.voice-button[data-active=true]{opacity:.9;color:#fff7cc;background:#fde68a24;border-color:#fde68a57}.voice-button[data-transcribing=true]{box-shadow:0 0 #fde68a57,0 22px 38px #02060c3d;animation:voice-button-pulse 1.35s ease infinite}.voice-button[data-loading=true]{opacity:.82}.voice-button:disabled{cursor:not-allowed;opacity:.2;transform:none}.voice-button-screenreader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jump-to-latest{position:absolute;right:min(2rem,5vw);bottom:1.6rem;display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid rgba(134,239,172,.26);border-radius:999px;background:#040910c7;color:#d9ffe8;font-size:1.2rem;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 14px 32px #02060c47;opacity:.96;transition:transform .3s ease,border-color .3s ease,background .3s ease,opacity .3s ease}.jump-to-latest:hover{transform:translateY(-2px);border-color:#86efac99;background:#060e16f0}@keyframes message-enter{0%{opacity:0;transform:translateY(1.4rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cursor-pulse{0%,to{opacity:.2}50%{opacity:1}}@keyframes streaming-refresh{0%{opacity:.55;transform:translateY(.22rem)}to{opacity:1;transform:translateY(0)}}@keyframes composer-caret-fade{0%,to{opacity:.1}50%{opacity:1}}@keyframes transcript-word-enter{0%{opacity:0;transform:translateY(.45rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes voice-button-pulse{0%,to{box-shadow:0 0 #fde68a47,0 22px 38px #02060c38}50%{box-shadow:0 0 0 10px #fde68a00,0 24px 42px #02060c47}}@media(max-width:720px){.app-shell{padding:0}.app-frame{padding:.85rem 1rem 1rem}.app-header{flex-direction:column;justify-content:center}.message-list{padding:0 .35rem}.message-bubble,.composer-anchor,.chat-input,.transcript{width:100%}.chat-input{padding-left:.5rem;padding-right:.5rem;font-size:16px}.jump-to-latest{right:1rem;bottom:1rem}}.voice-selector.svelte-12b23nn{position:fixed;top:1rem;right:1rem;z-index:100}.gear-button.svelte-12b23nn{display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#08101c99;color:#a8bcd599;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.gear-button.svelte-12b23nn:hover{color:#f8fbff;border-color:#86efac4d;background:#08101cd9}.gear-button.svelte-12b23nn svg:where(.svelte-12b23nn){width:1rem;height:1rem}.selector-backdrop.svelte-12b23nn{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent}.selector-dropdown.svelte-12b23nn{position:absolute;top:calc(100% + .5rem);right:0;width:14rem;background:#060c14f2;border:1px solid rgba(134,239,172,.15);border-radius:.75rem;padding:.6rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 16px 40px #00000080}.selector-header.svelte-12b23nn{display:flex;justify-content:space-between;align-items:center;padding:.2rem .4rem .5rem;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:.4rem}.selector-title.svelte-12b23nn{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#a8bcd599}.current-voice.svelte-12b23nn{font-size:.75rem;color:#86efac;font-weight:500}.voice-list.svelte-12b23nn{display:grid;gap:.15rem;max-height:12rem;overflow-y:auto}.voice-list.svelte-12b23nn::-webkit-scrollbar{width:4px}.voice-list.svelte-12b23nn::-webkit-scrollbar-track{background:transparent}.voice-list.svelte-12b23nn::-webkit-scrollbar-thumb{background:#86efac33;border-radius:999px}.voice-option.svelte-12b23nn{width:100%;padding:.45rem .6rem;border:none;border-radius:.4rem;background:transparent;color:#e2eeffcc;font-size:.85rem;text-align:left;cursor:pointer;transition:all .15s ease}.voice-option.svelte-12b23nn:hover{background:#86efac1a;color:#f8fbff}.voice-option.selected.svelte-12b23nn{background:#86efac26;color:#86efac;font-weight:500}.speed-section.svelte-12b23nn{margin-top:.6rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.06)}.speed-header.svelte-12b23nn{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.current-speed.svelte-12b23nn{font-size:.75rem;color:#86efac;font-weight:500}.speed-slider.svelte-12b23nn{display:flex;align-items:center}.speed-slider.svelte-12b23nn input[type=range]:where(.svelte-12b23nn){width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#86efac33;border-radius:999px;outline:none}.speed-slider.svelte-12b23nn input[type=range]:where(.svelte-12b23nn)::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:999px;background:#86efac;cursor:pointer;transition:transform .15s ease}.speed-slider.svelte-12b23nn input[type=range]:where(.svelte-12b23nn)::-webkit-slider-thumb:hover{transform:scale(1.15)}.speed-slider.svelte-12b23nn input[type=range]:where(.svelte-12b23nn)::-moz-range-thumb{width:14px;height:14px;border-radius:999px;background:#86efac;cursor:pointer;border:none}
