:root{--bg:#0b0f1a;--text:#e8ecf5;--muted:#e8ecf594;--left-a:#1c1f52;--left-b:#33206b;--left-accent:#9d8bff;--right-a:#0d3d3b;--right-b:#0f3348;--right-accent:#3ee0c1;--bubble-mine:#ffffff17;--bubble-theirs:#ffffff26;--radius:22px;--font-bubble:clamp(16px, 1.9vw, 24px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}.app{width:100vw;height:100dvh;display:flex}.panel{min-width:0;min-height:0;padding:max(14px, env(safe-area-inset-top)) 20px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;flex:1 1 0;gap:12px;transition:box-shadow .35s;display:flex;position:relative;overflow:hidden}.panel[data-side=left]{--accent:var(--left-accent);background:radial-gradient(900px 700px at 15% 0%, var(--left-b), transparent 65%), linear-gradient(165deg, var(--left-a), var(--bg) 92%)}.panel[data-side=right]{--accent:var(--right-accent);background:radial-gradient(900px 700px at 85% 0%, var(--right-b), transparent 65%), linear-gradient(195deg, var(--right-a), var(--bg) 92%)}.panel.active{box-shadow:inset 0 0 0 3px var(--accent), inset 0 0 110px color-mix(in srgb, var(--accent) 22%, transparent)}.panel.flip{transform:rotate(180deg)}.divider{background:linear-gradient(#0000,#ffffff24,#0000);flex:none;width:2px;position:relative}.divider.pulse:after{content:"";background:linear-gradient(#0000,#fff,#0000);animation:.9s ease-out forwards divider-pulse;position:absolute;inset:0}@keyframes divider-pulse{0%{opacity:.95;transform:scaleX(4)}to{opacity:0;transform:scaleX(1)}}.panel-head{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.lang-badge{font:inherit;color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;cursor:pointer;background:#ffffff14;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:8px;padding:8px 12px 8px 14px;font-size:clamp(15px,1.8vw,21px);font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.lang-badge:hover,.lang-badge:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:#ffffff24;outline:none}.badge-caret{width:16px;height:16px;fill:var(--muted)}.status{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex;overflow:hidden}.status .dot{background:#5a6070;border-radius:50%;flex:none;width:8px;height:8px}.status[data-status=ready] .dot{background:#3ddc84;box-shadow:0 0 8px #3ddc84}.status[data-status=connecting] .dot{background:#ffcc4d;animation:1s infinite blink}.status[data-status=error] .dot{background:#ff5c5c;box-shadow:0 0 8px #ff5c5c}.feed{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:18px 4px 8px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 22px);mask-image:linear-gradient(#0000,#000 22px)}.feed>:first-child{margin-top:auto}.bubble{border-radius:var(--radius);max-width:88%;font-size:var(--font-bubble);overflow-wrap:anywhere;padding:12px 16px;line-height:1.35}.bubble.mine{background:var(--bubble-mine);color:var(--muted);border-bottom-right-radius:8px;align-self:flex-end;animation:.35s cubic-bezier(.2,.9,.3,1.2) both pop}.bubble.theirs{background:var(--bubble-theirs);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-bottom-left-radius:8px;align-self:flex-start;box-shadow:0 8px 30px #00000040}.bubble.theirs.pending{opacity:0}.bubble.theirs.arrive{animation:.55s cubic-bezier(.2,.9,.3,1.2) both arrive}.bubble.theirs.streaming .bubble-text:after{content:"▍";color:var(--accent);margin-left:2px;animation:.8s infinite blink}.bubble.theirs.streaming .bubble-text:has(.typing):after{content:none}.bubble.theirs.error{color:#ffb3b3;border-color:#ff5c5c}.bubble.theirs.empty{display:none}.typing{gap:5px;padding:4px 2px;display:inline-flex}.typing i{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1s infinite typing}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}@keyframes arrive{0%{opacity:0;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent);transform:translateY(-8px)scale(.97)}55%{box-shadow:0 0 46px 4px color-mix(in srgb, var(--accent) 45%, transparent)}to{opacity:1;transform:none;box-shadow:0 8px 30px #00000040}}@keyframes blink{50%{opacity:.15}}.stage{background:#ffffff0f;border:1px solid #ffffff14;border-radius:28px;flex:none;align-items:center;gap:18px;min-height:112px;padding:18px 20px;transition:background .3s,border-color .3s;display:flex}.panel.active .stage{background:color-mix(in srgb, var(--accent) 12%, #ffffff0a);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.mic{background:#ffffff14;border-radius:50%;flex:none;place-items:center;width:64px;height:64px;transition:background .3s;display:grid;position:relative}.mic svg{width:30px;height:30px;fill:var(--muted);transition:fill .3s}.panel.active .mic{background:var(--accent)}.panel.active .mic svg{fill:#0b0f1a}.mic .ring{border:2px solid var(--accent);opacity:0;transform:scale(var(--level,1));border-radius:50%;transition:transform 80ms linear,opacity .3s;position:absolute;inset:0}.panel.active .mic .ring{opacity:.75}.stage-text{flex:1;min-width:0}.live-text,.draft-text,.hint{overflow-wrap:anywhere;margin:0}.live-text{font-size:clamp(20px,2.6vw,34px);font-weight:500;line-height:1.3;display:none}.live-text:after{content:"▍";color:var(--accent);animation:.8s infinite blink}.draft-text{color:var(--muted);font-size:clamp(18px,2.2vw,28px);font-style:italic;line-height:1.3;display:none}.hint{color:var(--muted);font-size:clamp(15px,1.6vw,20px)}.stage.has-live .live-text,.stage.has-draft .draft-text{display:block}.stage.has-live .hint,.stage.has-draft .hint{display:none}.head-right{align-items:center;gap:10px;min-width:0;display:flex}.settings-btn{z-index:5;width:40px;height:40px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e19b3;border:1px solid #ffffff24;border-radius:50%;flex:none;place-items:center;transition:transform .2s,background .2s;display:grid}.settings-btn svg{fill:currentColor;width:20px;height:20px}.settings-btn:hover{background:#ffffff24;transform:rotate(20deg)}.popover{z-index:10;cursor:default;background:#141a2b;border:1px solid #ffffff1f;border-radius:18px;flex-direction:column;gap:12px;width:min(340px,100% - 32px);padding:16px;animation:.2s ease-out both pop;display:flex;position:absolute;top:62px;right:16px;box-shadow:0 20px 60px #00000080}.popover[hidden]{display:none}.popover-view{flex-direction:column;gap:12px;display:flex}.popover-view[hidden]{display:none}.popover-title{color:var(--muted);font-size:15px;font-weight:600}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}.field-label{color:var(--muted)}.lang-btn{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:start;background:#0f1422;border:1px solid #ffffff24;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:16px;transition:border-color .2s;display:flex}.lang-btn:hover,.lang-btn:focus-visible{border-color:color-mix(in srgb, var(--accent) 65%, transparent);outline:none}.lang-btn-text{align-items:center;gap:10px;display:flex}.lang-btn svg{width:18px;height:18px;fill:var(--muted);flex:none}[dir=rtl] .lang-btn svg,[dir=rtl] .lang-back svg{transform:scaleX(-1)}.segmented{background:#0f1422;border:1px solid #ffffff24;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 10px;font-size:15px;transition:background .18s,color .18s}.seg:hover{color:var(--text)}.seg.on{background:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--text);font-weight:600}.lang-head{align-items:center;gap:8px;display:flex}.lang-back{width:40px;height:40px;color:var(--text);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:12px;flex:none;place-items:center;display:grid}.lang-back svg{fill:currentColor;width:20px;height:20px}.lang-search{min-width:0;color:var(--text);font:inherit;background:#0f1422;border:1px solid #ffffff24;border-radius:12px;outline:none;flex:1;padding:10px 12px;font-size:16px;transition:border-color .2s}.lang-search:focus{border-color:var(--accent)}.lang-search::-webkit-search-cancel-button{filter:invert()}.lang-list{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;gap:2px;max-height:min(48vh,340px);margin:0 -6px;padding:0 6px;display:flex;overflow-y:auto}.lang-option{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:start;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:15px;display:flex}.lang-option:hover,.lang-option.focus{background:#ffffff17}.lang-option.selected{background:color-mix(in srgb, var(--accent) 24%, transparent)}.lang-option[hidden]{display:none}.lang-name{flex:1;min-width:0}.lang-en{color:var(--muted);font-size:12px}.check{cursor:pointer;align-items:center;gap:10px;font-size:15px;display:flex}.check input{appearance:none;cursor:pointer;background:#ffffff29;border-radius:12px;flex:none;width:42px;height:24px;margin:0;transition:background .2s;position:relative}.check input:after{content:"";top:3px;background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;inset-inline-start:3px;box-shadow:0 1px 3px #0006}.check input:checked{background:var(--accent)}.check input:checked:after{transform:translate(18px)}[dir=rtl] .check input:checked:after{transform:translate(-18px)}.check-label{flex:1;line-height:1.3}.btn-secondary{color:var(--text);font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:12px;margin-top:4px;padding:10px 12px;font-size:15px}.btn-secondary:hover{background:#ffffff1f}.fly-ghost{z-index:100;pointer-events:none;border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:var(--font-bubble);overflow-wrap:anywhere;transform-origin:50%;will-change:transform, opacity;background:#fff3;padding:12px 16px;line-height:1.35;position:fixed;box-shadow:0 12px 40px #00000073,0 0 36px #ffffff2e}.toast{z-index:200;background:#1d2336;border:1px solid #ffffff24;border-radius:12px;max-width:min(92vw,640px);padding:12px 18px;font-size:14px;animation:.25s ease-out both toast-in;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000073}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.toast[hidden]{display:none}.banner{z-index:190;background:#3a2a10;border:1px solid #a5741f;border-radius:12px;align-items:flex-start;gap:12px;max-width:min(92vw,720px);padding:12px 14px 12px 18px;font-size:14px;line-height:1.4;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.banner code{background:#0000004d;border-radius:5px;padding:1px 5px}.banner a{color:#ffd27a}.banner button{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;font-size:20px;line-height:1}@media (orientation:portrait){.app{flex-direction:column-reverse}.divider{background:linear-gradient(90deg,#0000,#ffffff24,#0000);width:auto;height:2px}.divider.pulse:after{background:linear-gradient(90deg,#0000,#fff,#0000)}@keyframes divider-pulse{0%{opacity:.95;transform:scaleY(4)}to{opacity:0;transform:scaleY(1)}}.panel{padding:12px 14px 14px}.stage{min-height:92px;padding:14px 16px}.mic{width:52px;height:52px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
