:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#edf6fc;--surface:#fafdff;--surface-raised:#eff8fe;--surface-selected:#d4effa;--text:#101c26;--muted:#50606e;--line:#cddae2;--accent:#0074c8;--accent-pressed:#005da2;--accent-soft:#d8ecff;--danger:#ac2722;--danger-soft:#ffe5e0;--success:#026730;--success-soft:#d9f3de;--warning:#895700;--warning-soft:#ffe9ce;--shadow:0 18px 40px #20405b1f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius:8px}@supports (color:lab(0% 0 0)){:root{--background:lab(96.3207% -2.25782 -3.74359);--surface:lab(99.0888% -1.13767 -1.87677);--surface-raised:lab(97.0167% -2.258 -3.74371);--surface-selected:lab(92.6151% -7.37861 -8.576);--text:lab(9.48126% -2.58006 -8.70861);--muted:lab(39.6593% -3.58786 -10.5465);--line:lab(86.1274% -3.35282 -5.59722);--accent:lab(46.7042% -1.27965 -59.6532);--accent-pressed:lab(37.2172% 2.60322 -59.4625);--accent-soft:lab(92.4165% -4.21295 -14.004);--danger:lab(39.1713% 53.2203 38.3203);--danger-soft:lab(93.225% 13.4988 8.29846);--success:lab(37.7024% -36.9535 23.4502);--success-soft:lab(93.575% -11.962 7.32512);--warning:lab(41.7912% 17.0432 52.1889);--warning-soft:lab(93.6381% 5.78085 18.6901);--shadow:0 18px 40px lab(25.624% -5.00371 -19.8789/.12)}}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--text);-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.65}.setup-page,.app-loading{place-items:center;min-height:100dvh;padding:24px;display:grid}.setup-card,.translator-surface,.history{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(100%,440px)}.setup-card,.translator-surface{box-shadow:var(--shadow)}.setup-card{padding:var(--space-6)}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}h1{letter-spacing:0;max-width:12ch;margin:0;font-size:2.35rem;line-height:1.04}.setup-copy{color:var(--muted);margin:16px 0 24px;line-height:1.55}.key-form{gap:12px;display:grid}.key-form fieldset{border:1px solid var(--line);border-radius:var(--radius);gap:10px;min-width:0;margin:0;padding:14px;display:grid}.key-form legend{color:var(--text);padding:0 6px;font-size:.92rem;font-weight:800}.key-form label{color:var(--text);font-weight:700}.key-form input{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:48px;color:var(--text);padding:0 14px}.key-form button,.settings-panel button{border-radius:var(--radius);background:var(--accent);color:#f8fcff;color:lab(98.8568% -1.13764 -1.87677);min-height:44px;padding:0 16px;font-weight:700}.key-form button:active,.settings-panel button:active{background:var(--accent-pressed)}.error-banner{border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);border:1px solid #efa59a;border:1px solid lab(74.8287% 27.3232 17.0369);margin:0 0 12px;padding:12px;font-size:.92rem;line-height:1.4}.app-shell{min-height:100dvh;padding-top:max(16px, env(safe-area-inset-top));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(16px, env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left))}button,[role=button],summary,a{touch-action:manipulation}.talk-help-x{z-index:2;background:var(--surface);width:36px;height:36px;color:var(--accent-pressed);cursor:pointer;border:1px solid #bfd0e1;border:1px solid lab(82.5708% -3.22613 -10.5331);border-radius:999px;place-items:center;transition:background .16s ease-out,border-color .16s ease-out,color .16s ease-out;display:inline-grid;position:absolute;top:12px;right:12px}.talk-help-x:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-pressed)}.talk-help-x:active{border-color:var(--accent);background:#bfdbf8;background:lab(86.0147% -5.05537 -17.4167)}.talk-help-x svg{width:18px;height:18px}.talk-help-x--playing,.talk-help-x--playing:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:#f8fcff;color:lab(98.8568% -1.13764 -1.87677)}.talk-hand-center{background:var(--surface);width:56px;height:56px;color:var(--accent);border:1px solid #bfd0e1;border:1px solid lab(82.5708% -3.22613 -10.5331);border-radius:999px;place-self:center;place-items:center;display:inline-grid}.talk-hand-center svg{width:28px;height:28px}@media (prefers-reduced-motion:no-preference){.talk-hand-center{transition:transform .32s cubic-bezier(.22,1,.36,1)}.talk-button:hover:not(:disabled) .talk-hand-center{transform:scale(1.04)}}.settings-usage{border:1px solid var(--line);background:var(--surface);min-height:26px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.settings-panel{max-width:720px;color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;margin:0 auto 8px;display:flex}.settings-panel button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);min-height:36px;color:var(--muted);padding:0 12px;font-size:.82rem;font-weight:800}.status-dot{background:var(--danger);border-radius:999px;width:10px;height:10px}.status-dot.ok{background:var(--success)}.translator-surface{padding:var(--space-3);margin:0 auto;position:relative}.language-grid,.talk-grid{gap:var(--space-3);display:grid}.language-grid{grid-template-columns:1fr 1fr;align-items:stretch;margin-bottom:10px}.language-picker{grid-template-rows:auto 1fr;gap:4px;min-width:0;display:grid}.language-picker span{font-size:.82rem;font-weight:700}.language-picker select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;min-height:40px;color:var(--text);padding:0 10px;font-size:.88rem;font-weight:650;line-height:1.2}.language-picker select:focus-visible,.key-form input:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #65aaec8c;outline:3px solid lab(67.1476% -7.87544 -40.6007/.55)}.language-picker small{min-height:0;color:var(--muted);font-size:.78rem;line-height:1.22;display:none}.talk-card-status{color:#f8fcff;color:lab(98.8568% -1.13764 -1.87677);background:#004386;background:lab(26.4129% 9.05918 -59.3473);border:1px solid #00488c;border:1px solid lab(28.8316% 7.36284 -59.3561);border-radius:999px;place-self:end;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:.74rem;font-weight:850;line-height:1.2;display:inline-flex}.talk-card-status-dot{background:currentColor;border-radius:999px;flex:none;width:8px;height:8px}.talk-button--connecting .talk-card-status-dot{animation:.9s ease-out infinite model-activity-pulse}.talk-button--audio-active .talk-card-status-dot{animation:1.1s ease-out infinite model-activity-pulse;box-shadow:0 0 0 5px #f8fcff29;box-shadow:0 0 0 5px lab(98.8568% -1.13764 -1.87677/.16)}.talk-button.active.talk-button--connecting{background:var(--warning-soft);color:#5d3900;color:lab(27.8904% 14.2492 42.9319);border-color:#deb684;border-color:lab(76.7751% 10.2222 31)}.talk-button.active.talk-button--connecting .talk-speaker,.talk-button.active.talk-button--connecting .talk-copy>span,.talk-button.active.talk-button--connecting strong{color:#643e00;color:lab(30.2236% 14.0359 42.8654)}.talk-button.active.talk-button--connecting .tap-indicator,.talk-button.active.talk-button--connecting .talk-card-status{color:#784a00;color:lab(35.9581% 17.5802 56.2897);background:#fffaee99;background:lab(98.8619% 4.48972 14.8354/.6);border-color:#c49d6c;border-color:lab(67.4827% 10.4418 31.3234)}.talk-button.active.talk-button--finalizing,.talk-button.active.talk-button--improving{background:var(--surface-selected);color:var(--accent-pressed);border-color:#8dabc9;border-color:lab(68.5922% -5.24873 -19.0412)}.talk-button.active.talk-button--finalizing .talk-speaker,.talk-button.active.talk-button--finalizing .talk-copy>span,.talk-button.active.talk-button--improving .talk-speaker,.talk-button.active.talk-button--improving .talk-copy>span{color:#325578;color:lab(34.8318% -4.7747 -23.7198)}.talk-button.active.talk-button--finalizing .tap-indicator,.talk-button.active.talk-button--finalizing .talk-card-status,.talk-button.active.talk-button--improving .tap-indicator,.talk-button.active.talk-button--improving .talk-card-status{color:var(--accent-pressed);background:#f8fcffad;background:lab(98.8568% -1.13764 -1.87677/.68);border-color:#8aa8c6;border-color:lab(67.4313% -5.23084 -19.0349)}.talk-button--improving .talk-card-status-dot{animation:1.4s ease-in-out infinite model-activity-pulse}.talk-card-billing{text-align:right;font-variant-numeric:tabular-nums;opacity:.7;min-width:38px;font-size:.66rem;font-weight:600}.talk-live-text{align-content:start;gap:6px;min-height:0;display:grid;overflow:hidden}.talk-live-text__original{opacity:.82;overflow-wrap:anywhere;font-size:.92rem;line-height:1.42}.talk-live-text__translated{letter-spacing:-.005em;overflow-wrap:anywhere;font-size:1.18rem;font-weight:800;line-height:1.34}.talk-cell--has-cancel .tap-indicator{display:none}.talk-cancel-x{z-index:2;color:#f8fcff;color:lab(98.8568% -1.13764 -1.87677);cursor:pointer;background:#f8fcff24;background:lab(98.8568% -1.13764 -1.87677/.14);border:1px solid #c6daee;border:1px solid lab(86.0435% -3.71763 -12.2674);border-radius:999px;place-items:center;width:36px;height:36px;transition:background .16s ease-out,border-color .16s ease-out;display:inline-grid;position:absolute;top:12px;right:12px}.talk-cancel-x:hover{background:#f8fcff47;background:lab(98.8568% -1.13764 -1.87677/.28)}.talk-cancel-x:active{background:#f8fcff66;background:lab(98.8568% -1.13764 -1.87677/.4)}.talk-cancel-x svg{width:16px;height:16px}.talk-cancel-x--connecting{color:#784a00;color:lab(35.9581% 17.5802 56.2897);background:#fffaee99;background:lab(98.8619% 4.48972 14.8354/.6);border-color:#c49d6c;border-color:lab(67.4827% 10.4418 31.3234)}.talk-cancel-x--connecting:hover{background:#ffeed2d9;background:lab(95.3734% 7.08985 22.5731/.85)}.talk-cancel-x--finalizing{color:var(--accent-pressed);background:#f8fcffb3;background:lab(98.8568% -1.13764 -1.87677/.7);border-color:#8aa8c6;border-color:lab(67.4313% -5.23084 -19.0349)}.talk-cancel-x--finalizing:hover{background:#f8fcffeb;background:lab(98.8568% -1.13764 -1.87677/.92)}.cancel-undo-banner{margin-top:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:.86rem;font-weight:700;animation:.22s ease-out cancel-undo-fade;display:flex}.cancel-undo-banner__undo{background:var(--accent-soft);min-height:32px;color:var(--accent-pressed);cursor:pointer;border:1px solid #5eaaf2;border:1px solid lab(67.0853% -7.91022 -43.8683);border-radius:999px;padding:0 12px;font-size:.84rem;font-weight:800;transition:background .16s ease-out}.cancel-undo-banner__undo:hover{background:#badcfe;background:lab(85.991% -5.85845 -20.8201)}@keyframes cancel-undo-fade{0%{opacity:0}to{opacity:1}}@keyframes model-activity-pulse{0%{box-shadow:0 0 #f8fcff38;box-shadow:0 0 lab(98.8568% -1.13764 -1.87677/.22)}to{box-shadow:0 0 0 7px #f8fcff00;box-shadow:0 0 0 7px lab(98.8568% -1.13764 -1.87677/0)}}.talk-grid{margin-bottom:0}.talk-cell{display:grid;position:relative}.talk-button{border-radius:var(--radius);height:148px;padding:12px var(--space-3);background:var(--accent-soft);color:var(--text);text-align:left;border:1px solid #aec7e1;border:1px solid lab(79.0626% -4.57627 -15.6856);grid-template-rows:auto 1fr auto;row-gap:6px;transition:height .28s cubic-bezier(.16,1,.3,1),background .22s ease-out,border-color .22s ease-out,color .22s ease-out;display:grid;position:relative;overflow:hidden}.talk-button.active{height:244px}.talk-button:not(.talk-button--rail):not(.active){grid-template-rows:auto 1fr;grid-template-columns:auto minmax(0,1fr);column-gap:14px}.talk-button:not(.talk-button--rail):not(.active) .talk-topline{grid-column:1/-1}.talk-button:not(.talk-button--rail):not(.active) .talk-hand-center{grid-area:2/1;place-self:center}.talk-button:not(.talk-button--rail):not(.active) .talk-copy{grid-area:2/2;align-self:center}.talk-button--rail.talk-button{background:var(--surface-raised);border-color:var(--line);height:52px;color:var(--muted);grid-template-rows:1fr;row-gap:0;padding:8px 14px}.talk-button--rail:hover:not(:disabled){background:var(--surface);border-color:#5997d3;border-color:lab(60.2186% -7.21911 -37.2173)}.talk-button--rail .talk-topline{align-items:center}.talk-button--rail .talk-speaker{color:var(--accent-pressed);font-size:.86rem;font-weight:700}.talk-button--rail .tap-indicator{width:30px;height:30px}.talk-button--rail .tap-indicator svg{width:15px;height:15px}.talk-topline{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.talk-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.talk-button strong{letter-spacing:0;font-size:1.14rem;line-height:1.12}.talk-copy>span{color:var(--muted)}.talk-button:hover:not(:disabled){border-color:#5997d3;border-color:lab(60.2186% -7.21911 -37.2173)}.talk-button.active{background:var(--accent);border-color:var(--accent);color:#f8fcff;color:lab(98.8568% -1.13764 -1.87677)}.talk-button.active .talk-copy>span,.talk-button.active .talk-speaker{color:#caddf2;color:lab(87.2038% -3.72222 -12.2695)}.talk-speaker{color:var(--accent-pressed);letter-spacing:.04em;font-size:.78rem;font-weight:800}.talk-speaker__lang{color:var(--muted);letter-spacing:0;margin-inline-start:6px;font-size:.78rem;font-weight:600}.tap-indicator{background:var(--surface);width:36px;height:36px;color:var(--accent);border:1px solid #95bce3;border:1px solid lab(74.3522% -6.36503 -24.1284);border-radius:999px;place-items:center;display:inline-grid}.tap-indicator svg{width:18px;height:18px}.talk-button.active .tap-indicator{color:#f8fcff;color:lab(98.8568% -1.13764 -1.87677);background:#f8fcff24;background:lab(98.8568% -1.13764 -1.87677/.14);border-color:#c6daee;border-color:lab(86.0435% -3.71763 -12.2674)}.diagnostics-panel{margin-top:var(--space-2)}.diagnostics-toggle{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:26px;padding:0 var(--space-2);color:var(--muted);cursor:pointer;opacity:.58;background:0 0;border:1px solid #0000;border-radius:999px;font-size:.72rem;font-weight:800;display:flex}.diagnostics-toggle:hover{border-color:var(--line);background:var(--surface-raised);opacity:1}.diagnostics-actions{gap:var(--space-2);padding:var(--space-2) 0 var(--space-2);display:flex}.diagnostics-actions button{border-radius:var(--radius);background:var(--surface);min-height:36px;color:var(--text);padding:0 12px;font-size:.86rem;font-weight:800}.diagnostics-actions button:active{background:var(--surface-selected)}.diagnostics-log{max-height:240px;padding:0 0 var(--space-2);gap:var(--space-2);margin:0;list-style:none;display:grid;overflow:auto}.diagnostic-entry{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:72px minmax(0,1fr);gap:4px 10px;padding:10px;font-size:.78rem;display:grid}.diagnostic-entry time{color:var(--muted);font-variant-numeric:tabular-nums}.diagnostic-entry strong{min-width:0;color:var(--text);overflow-wrap:anywhere}.diagnostic-entry code{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;grid-column:1/-1;font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace;line-height:1.35}.diagnostic-entry.warn{background:var(--warning-soft);border-color:#deb684;border-color:lab(76.7751% 10.2222 31)}.diagnostic-entry.error{background:var(--danger-soft);border-color:#efa59a;border-color:lab(74.8287% 27.3232 17.0369)}.diagnostics-empty{padding:0 0 var(--space-2);color:var(--muted);margin:0;font-size:.88rem}.history{max-height:min(56dvh,620px);margin:16px auto 0;padding:16px;overflow:auto}.history.empty{color:var(--muted);text-align:center;padding:24px 16px}.history.empty p{margin:0}.history-empty-title{color:var(--text);font-size:.94rem;font-weight:800}.history-empty-hint{color:var(--muted);margin-top:4px;font-size:.84rem;line-height:1.4}.history-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:10px 12px;animation:.22s cubic-bezier(.16,1,.3,1) history-item-fade-in}@keyframes history-item-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.history-item+.history-item{margin-top:8px}.history-item.latest{border-color:var(--accent)}.history-item header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.history-item header span{font-weight:800}.history-item header small{color:var(--muted)}.history-item p{margin:0}.history-item .original{color:var(--muted);font-size:.86rem;line-height:1.35}.history-item .translated{margin-top:4px;font-size:1.04rem;font-weight:700;line-height:1.32}.history-item button{border-radius:var(--radius);background:var(--accent-soft);min-height:36px;color:var(--accent);padding:0 12px;font-weight:700}.history-item .icon-button{background:var(--surface-raised);width:36px;height:36px;min-height:36px;color:var(--accent-pressed);border:1px solid #aec7e1;border:1px solid lab(79.0626% -4.57627 -15.6856);border-radius:999px;place-items:center;padding:0;display:inline-grid}.history-item .icon-button:hover:not(:disabled){background:var(--accent-soft);border-color:#5997d3;border-color:lab(60.2186% -7.21911 -37.2173)}.history-item .icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.history-item .icon-button[aria-label=Replay] svg,.history-item .icon-button[aria-label=Stop] svg{fill:currentColor;stroke:none}.history-item .icon-button.is-replay-active{border-color:var(--accent);background:var(--accent);color:var(--surface);animation:1.2s ease-in-out infinite replay-active-pulse}.history-item .icon-button.is-replay-active:hover:not(:disabled){border-color:var(--accent-pressed);background:var(--accent-pressed)}@keyframes replay-active-pulse{0%,to{box-shadow:0 0 #5997d359;box-shadow:0 0 lab(60.2186% -7.21911 -37.2173/.35)}50%{box-shadow:0 0 0 6px #5997d300;box-shadow:0 0 0 6px lab(60.2186% -7.21911 -37.2173/0)}}.history-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.history-edit{gap:10px;display:grid}.history-edit label{color:var(--muted);gap:6px;font-size:.82rem;font-weight:800;display:grid}.history-edit textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:88px;color:var(--text);font:inherit;padding:10px;line-height:1.4}.history-versions{color:var(--muted);margin-top:12px;font-size:.9rem}.history-versions summary{cursor:pointer;font-weight:800}.history-versions p{margin-top:8px}.history-error{color:var(--danger)}.history-item-error{color:var(--danger);margin-top:10px;font-size:.9rem}.history-item--live{border-color:var(--accent);background:var(--accent-soft)}.live-indicator{color:var(--accent);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.live-indicator__dot{background:currentColor;border-radius:999px;width:.5rem;height:.5rem;animation:1.2s ease-in-out infinite history-live-pulse}.talk-button .mic-waveform{opacity:1;pointer-events:none;border-radius:6px;height:26px;position:absolute;bottom:14px;left:14px;right:144px}@keyframes history-live-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.history-item--finalizing{border-color:var(--accent-pressed);background:var(--surface-selected)}.finalizing-indicator{color:var(--accent-pressed);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.finalizing-indicator__ring{background:0 0;border:1.5px solid;border-radius:999px;width:.5rem;height:.5rem}.history-cancel{color:#a43c33;color:lab(40.6572% 43.5082 29.3694);cursor:pointer;background:#fff6f5;background:lab(97.5065% 5.96675 3.65431);border:1px solid #e9b6af;border:1px solid lab(78.5879% 18.0856 11.1693);border-radius:999px;min-height:28px;margin-inline-start:auto;padding:2px 10px;font-size:.78rem;font-weight:700;line-height:1.2;transition:background .16s ease-out,border-color .16s ease-out}.history-cancel:hover{background:#ffe9e5;background:lab(93.7603% 15.0132 9.23704);border-color:#d6867b;border-color:lab(64.2883% 30.5021 19.185)}.history-cancel:active{background:#ffd8d1;background:lab(90.0984% 21.1112 13.0455)}.translator-surface p:last-child{margin-bottom:0}@media (min-width:720px){.translator-surface,.history{width:min(100%,720px)}.talk-grid{grid-template-columns:1fr 1fr}}@media (max-width:390px){.app-shell{padding-top:max(10px, env(safe-area-inset-top));padding-right:max(10px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom));padding-left:max(10px, env(safe-area-inset-left))}.translator-surface,.history,.setup-card{padding:var(--space-4)}h1{font-size:2rem}.language-grid{grid-template-columns:1fr}.history{max-height:50dvh}.history-item header{gap:4px;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.live-indicator__dot,.talk-card-status-dot,.finalizing-indicator__ring{animation:none!important}}
