:root{--bg: #0A1410;--bg-elevated: #121d18;--bg-raised: #1a2520;--bg-input: #16201b;--text: #F3F1EA;--text-dim: #c9c8c4;--text-muted: #8d8c87;--text-faint: #6b6a66;--accent: #2fa37a;--accent-strong: #38c08f;--accent-weak: #1f6f54;--accent-tint: rgba(56, 192, 143, .12);--accent-ring: rgba(56, 192, 143, .45);--gold: #A9802F;--on-accent: #04130d;--danger: #e2574b;--warn: #e3a93b;--warn-tint: rgba(227, 169, 59, .12);--warn-text: #f0d8a3;--footer-bg: rgba(10, 20, 16, .92);--border: #2a322d;--border-soft: #202924;--border-strong: #3a443e;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--radius-pill: 999px;--tap: 56px;--tap-min: 44px;--maxw: 720px;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Helvetica Neue", system-ui, sans-serif;--font-ar: "Amiri", "Noto Naskh Arabic", "SF Arabic", "Geeza Pro", "Scheherazade New", "Arabic Typesetting", "Times New Roman", serif, var(--font-ui);--text-min: .85rem;--pad-x: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--footer-h: 52px;color-scheme:dark}@media (prefers-color-scheme: light){:root{--bg: #F7F4ED;--bg-elevated: #FFFFFF;--bg-raised: #F0ECE0;--bg-input: #FFFFFF;--text: #16241D;--text-dim: #2c3a31;--text-muted: #5C6B61;--text-faint: #8a978c;--accent: #1F7A57;--accent-strong: #1a6b4c;--accent-weak: #cfe3d8;--accent-tint: rgba(31, 122, 87, .1);--accent-ring: rgba(31, 122, 87, .4);--gold: #A9802F;--on-accent: #ffffff;--danger: #b5392e;--warn: #9a6b15;--warn-tint: rgba(169, 128, 47, .12);--warn-text: #6b4e12;--footer-bg: rgba(247, 244, 237, .92);--border: #e0d9c8;--border-soft: #ebe5d6;--border-strong: #cfc6b0;color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior-y:none;background-image:radial-gradient(120% 60% at 50% -10%,var(--accent-tint),transparent 60%);background-attachment:fixed}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;border-radius:var(--radius-sm)}a,button,[role=button]{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent-tint);color:var(--text)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}[hidden],.hidden{display:none!important}.app,#app{width:100%;max-width:var(--maxw);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--safe-top) + 8px) calc(var(--pad-x) + var(--safe-right)) 0 calc(var(--pad-x) + var(--safe-left))}.app-header,header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 4px}.brand,.app-title{display:flex;align-items:baseline;gap:8px;font-size:1.15rem;font-weight:700;letter-spacing:.2px;color:var(--text)}.brand .brand-mark,.app-title .brand-mark{color:var(--accent-strong)}.brand .brand-sub,.app-title .brand-sub{font-size:.78rem;font-weight:500;color:var(--text-muted);letter-spacing:.3px}.main,main{flex:1 1 auto;display:flex;flex-direction:column;gap:14px;padding-bottom:calc(var(--footer-h) + var(--safe-bottom) + 16px)}#status,.status-pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 14px 6px 12px;border-radius:var(--radius-pill);background:var(--bg-raised);border:1px solid var(--border);color:var(--text-dim);font-size:var(--text-min);font-weight:600;line-height:1;letter-spacing:.2px;white-space:nowrap;flex:0 0 auto;transition:background-color .2s ease,border-color .2s ease,color .2s ease}#status:before,.status-pill:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--text-faint);flex:0 0 auto;box-shadow:0 0 0 0 transparent;transition:background-color .2s ease,box-shadow .2s ease}#status.is-idle,.status-pill.is-idle{color:var(--text-muted)}#status.is-connecting,.status-pill.is-connecting,#status.is-reconnecting,.status-pill.is-reconnecting{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent);background:var(--warn-tint)}#status.is-connecting:before,.status-pill.is-connecting:before,#status.is-reconnecting:before,.status-pill.is-reconnecting:before{background:var(--warn);animation:pulse-dot 1.1s ease-in-out infinite}#status.is-listening,.status-pill.is-listening,#status.is-live,.status-pill.is-live{color:var(--accent-strong);border-color:var(--accent-ring);background:var(--accent-tint)}#status.is-listening:before,.status-pill.is-listening:before,#status.is-live:before,.status-pill.is-live:before{background:var(--accent-strong);box-shadow:0 0 0 4px var(--accent-tint);animation:pulse-dot 1.6s ease-in-out infinite}#status.is-error,.status-pill.is-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}#status.is-error:before,.status-pill.is-error:before{background:var(--danger)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.controls{display:flex;flex-direction:column;gap:14px}.panel{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 40%),var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:16px;box-shadow:0 8px 28px #00000047}.switch-group{display:flex;flex-direction:column;gap:7px;min-width:0}.switch-row{display:flex;flex-wrap:wrap;gap:14px}.switch-row>.switch-group--field{flex:1 1 200px;min-width:0}.switch-label,.control-label{display:block;font-size:var(--text-min);font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin:0 0 0 2px}.seg,.segmented,.lang-switch,.mode-switch{display:flex;width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:4px;gap:4px}.seg>button,.seg-btn,.segmented>button,.segmented>label,.lang-switch>button,.lang-switch>label,.mode-switch>button,.mode-switch>label,#langEn,#langRu,#langUz,#modeSelf,#modeOther,#engineDialog,#engineTranslate{flex:1 1 0;min-width:0;min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--text-dim);font-size:.92rem;font-weight:600;letter-spacing:.2px;cursor:pointer;user-select:none;-webkit-user-select:none;text-align:center;white-space:nowrap;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}#engineDialog,#engineTranslate{white-space:normal;line-height:1.2}.seg>button:hover,.seg-btn:hover,.segmented>button:hover,.segmented>label:hover,.lang-switch>button:hover,.mode-switch>button:hover,#langEn:hover,#langRu:hover,#langUz:hover,#modeSelf:hover,#modeOther:hover,#engineDialog:hover,#engineTranslate:hover{color:var(--text)}.seg>button[aria-pressed=true],.seg>button.is-active,.seg>[aria-checked=true],.seg-btn[aria-pressed=true],.seg-btn.is-active,.segmented>button[aria-pressed=true],.segmented>button.is-active,.segmented>[aria-checked=true],.lang-switch>button[aria-pressed=true],.lang-switch>button.is-active,.mode-switch>button[aria-pressed=true],.mode-switch>button.is-active,#langEn[aria-pressed=true],#langEn.is-active,#langRu[aria-pressed=true],#langRu.is-active,#langUz[aria-pressed=true],#langUz.is-active,#modeSelf[aria-pressed=true],#modeSelf.is-active,#modeOther[aria-pressed=true],#modeOther.is-active,#engineDialog[aria-pressed=true],#engineDialog.is-active,#engineTranslate[aria-pressed=true],#engineTranslate.is-active{background:var(--accent);color:var(--on-accent);box-shadow:0 1px #ffffff0f inset,0 2px 8px #00000059}.seg input[type=radio],.segmented input[type=radio],.lang-switch input[type=radio],.mode-switch input[type=radio]{position:absolute;opacity:0;pointer-events:none}.seg input[type=radio]:checked+label,.segmented input[type=radio]:checked+label,.lang-switch input[type=radio]:checked+label,.mode-switch input[type=radio]:checked+label{background:var(--accent);color:var(--on-accent);box-shadow:0 1px #ffffff0f inset,0 2px 8px #00000059}.seg>button:disabled,.seg-btn:disabled,.segmented>button:disabled,.lang-switch>button:disabled,.mode-switch>button:disabled,#langEn:disabled,#langRu:disabled,#langUz:disabled,#modeSelf:disabled,#modeOther:disabled,#engineDialog:disabled,#engineTranslate:disabled{opacity:.45;cursor:not-allowed}.field-select,#voiceSelect{width:100%;min-height:var(--tap-min);padding:10px 40px 10px 14px;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--bg-input);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238d8c87' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;color:var(--text);font-size:.95rem;font-weight:600;letter-spacing:.2px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:border-color .18s ease,background-color .18s ease,opacity .18s ease}.field-select:hover,#voiceSelect:hover{border-color:var(--accent-ring)}.field-select:disabled,#voiceSelect:disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted)}.field-select option,#voiceSelect option{background:var(--bg-raised);color:var(--text)}.field-note,#voiceNote{margin:2px 0 0 2px;font-size:var(--text-min);line-height:1.35;color:var(--text-muted)}#startBtn,.start-btn{width:100%;min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border:0;border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--accent-strong) 0%,var(--accent) 100%);color:var(--on-accent);font-size:1.12rem;font-weight:700;letter-spacing:.3px;cursor:pointer;user-select:none;-webkit-user-select:none;box-shadow:0 1px #ffffff24 inset,0 8px 24px #2fa37a47;transition:transform .08s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}#startBtn:hover,.start-btn:hover{box-shadow:0 1px #ffffff2e inset,0 10px 28px #2fa37a5c}#startBtn:active,.start-btn:active{transform:translateY(1px) scale(.995);box-shadow:0 1px #ffffff1f inset,0 4px 14px #2fa37a4d}#startBtn.is-active,#startBtn[aria-pressed=true],.start-btn.is-active{background:linear-gradient(180deg,var(--bg-raised) 0%,var(--bg-input) 100%);color:var(--text);box-shadow:0 0 0 1px var(--border-strong) inset,0 6px 18px #0006}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--danger);flex:0 0 auto}#startBtn.is-active .rec-dot,.start-btn.is-active .rec-dot{animation:pulse-dot 1.2s ease-in-out infinite}#startBtn:disabled,.start-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.transcript{display:flex;flex-direction:column;gap:14px;flex:1 1 auto}.col{position:relative;display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 16px 16px;overflow-wrap:break-word;word-break:break-word}#srcCol,#dstCol,.col-body{position:relative;flex:1 1 auto;min-height:2.5em;overflow-wrap:break-word;word-break:break-word;-webkit-overflow-scrolling:touch}.col-title,.col-head{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:var(--text-min);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.col-title:before,.col-head:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-weak);flex:0 0 auto}#srcCol{direction:rtl;text-align:right}.col-src .col-title,.col-src .col-head{flex-direction:row-reverse;justify-content:flex-start}#srcCol .line,#srcCol .transcript-body,#srcCol .lines,#srcCol p,#srcCol .ayah{font-family:var(--font-ar);font-size:1.7rem;line-height:2.1;font-weight:500;color:var(--text);letter-spacing:0;margin:0}#dstCol{direction:ltr;text-align:left}#dstCol .line,#dstCol .transcript-body,#dstCol .lines,#dstCol p{font-size:1.12rem;line-height:1.7;color:var(--text-dim);margin:0}#dstCol[dir=rtl]{text-align:right}.line{transition:color .2s ease,opacity .2s ease}.line--interim,#srcCol .line--interim,#dstCol .line--interim{color:var(--text-muted);opacity:.85}.line--final,#srcCol .line--final,#dstCol .line--final{color:inherit;opacity:1}.line+.line,.transcript-body p+p,.lines p+p{margin-top:.5em}.para-break{display:block;height:.6em}#srcCol:not(:has(.line)):after,#dstCol:not(:has(.line)):after,.placeholder{content:attr(data-placeholder);display:block;color:var(--text-faint);font-style:normal;font-size:1rem;font-weight:400;font-family:var(--font-ui);line-height:1.6;letter-spacing:.1px}#srcCol:not(:has(.line)):after{direction:rtl}#micWarn,#iosCoach,.notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius);font-size:.9rem;line-height:1.45}#micWarn,.notice.notice-warn{background:var(--warn-tint);border:1px solid color-mix(in srgb,var(--warn) 32%,transparent);color:var(--warn-text)}#micWarn:before,.notice.notice-warn:before{content:"!";flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--warn);color:var(--bg);font-weight:800;font-size:var(--text-min);line-height:1}#iosCoach,.notice.notice-info{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-dim)}#micWarn .notice-action,#iosCoach .notice-action,.notice .notice-action{margin-left:auto;flex:0 0 auto}.notice .link-btn{background:transparent;border:0;padding:6px 2px;color:var(--accent-strong);font-weight:700;font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}#installBtn,.install-btn{min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}#installBtn:hover,.install-btn:hover{background:var(--bg-input);border-color:var(--accent-ring)}#disclaimer,.disclaimer{position:fixed;left:0;right:0;bottom:0;z-index:20;margin:0;padding:9px calc(var(--pad-x) + var(--safe-right)) calc(9px + var(--safe-bottom)) calc(var(--pad-x) + var(--safe-left));background:var(--footer-bg);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--text-min);line-height:1.35;letter-spacing:.1px;text-align:center;text-wrap:balance}#disclaimer .disclaimer-inner,.disclaimer .disclaimer-inner{max-width:var(--maxw);margin:0 auto}#disclaimer .disclaimer-mark,.disclaimer .disclaimer-mark{color:var(--text-dim);font-weight:700}#toast{position:fixed;left:50%;transform:translate(-50%) translateY(8px);bottom:calc(var(--footer-h) + var(--safe-bottom) + 12px);z-index:30;width:max-content;max-width:min(92vw,var(--maxw));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s}#toast.toast--show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);pointer-events:auto}#toast,.toast{align-self:center;padding:11px 16px;border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--border-strong);color:var(--text);font-size:var(--text-min);line-height:1.4;text-align:center;box-shadow:0 10px 30px #00000080}.toast-host,.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--footer-h) + var(--safe-bottom) + 12px);z-index:30;width:min(92vw,var(--maxw));display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{pointer-events:auto;max-width:100%;animation:toast-in .22s ease both}#toast.toast-error,.toast.toast-error{border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 760px){:root{--pad-x: 24px}.transcript{flex-direction:row;align-items:stretch;gap:16px}.col-src{order:2;flex:1 1 0}.col-dst{order:1;flex:1 1 0}.col{min-height:40vh;max-height:calc(100dvh - var(--footer-h) - 220px)}#srcCol,#dstCol,.col-body{overflow-y:auto}}@media (min-width: 480px){#srcCol .line,#srcCol .transcript-body,#srcCol .lines,#srcCol p,#srcCol .ayah{font-size:1.85rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: more) and (prefers-color-scheme: dark){:root{--text: #ffffff;--text-dim: #f0efec;--text-muted: #c4c3bf;--border: #4a4a4a;--border-soft:#3a3a3a;--footer-bg: rgba(0, 0, 0, .96)}#disclaimer,.disclaimer{color:var(--text-dim)}}@media (prefers-contrast: more) and (prefers-color-scheme: light){:root{--text: #000000;--text-dim: #1a261f;--text-muted: #3d4a42;--border: #b8ae98;--border-soft:#c8bea8;--footer-bg: rgba(255, 255, 255, .97)}#disclaimer,.disclaimer{color:var(--text-dim)}}@media (pointer: coarse){button,[role=button],.link-btn{min-height:var(--tap-min)}}
