@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@font-face{font-family:Noto Naskh Arabic;src:url(/fonts/NotoNaskhArabic-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Naskh Arabic;src:url(/fonts/NotoNaskhArabic-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--color-teal-950:#0f3033;--color-teal-900:#143f43;--color-teal-800:#1a595d;--color-teal-700:#236f70;--color-teal-600:#2c8983;--color-teal-500:#52a79c;--color-teal-300:#9ed0c8;--color-teal-200:#cce7e1;--color-teal-100:#e9f4f1;--color-teal:#2c8983;--color-gold-700:#8d6327;--color-gold-600:#a97831;--color-gold-500:#c6964b;--color-gold-300:#e8c98f;--color-gold-200:#f2dfba;--color-gold-100:#fbf3e1;--color-sand-50:#fdfaf5;--color-sand-100:#f7f0e5;--color-sand-150:#f1e7d8;--color-sand-200:#e5d7c2;--color-sand-300:#d1bea5;--color-sand-400:#ae9b83;--color-sand-500:#7a6b5a;--color-sand-700:#4a3f33;--color-sand-900:#241d17;--color-text-primary:#1f2726;--color-text-secondary:#5d615d;--color-text-muted:#8d897d;--color-text-inverse:#fffdf7;--color-text-soft:#faf7f0b8;--color-error:#a85136;--color-error-bg:#fdf0eb;--color-error-border:#efcfbf;--color-success:#266e56;--color-success-bg:#eef7f1;--color-success-border:#c7e0d3;--color-warning:#966526;--color-warning-bg:#fff7e8;--color-info:#315f81;--color-info-bg:#f1f6fb;--color-surface-page:#f7f0e4;--color-surface-page-alt:#fcf8f2;--color-surface-card:#fffdf8;--color-surface-card-alt:#fffcf6c7;--color-surface-header:#0f3033eb;--color-surface-dock:#fffaf3e6;--color-surface-dock-strong:#fffaf3f5;--color-border:#e5d7c2;--color-user-bubble-text:#fffdf7;--gradient-user-bubble:linear-gradient(135deg, #1f6f70 0%, #174f56 100%);--gradient-record-idle:radial-gradient(circle at 32% 32%, #efc877 0%, #cb9642 34%, #1d676a 100%);--gradient-record-active:radial-gradient(circle at 30% 30%, #ffd4b9 0%, #d36b4a 36%, #8a2b1c 100%);--gradient-landing-card:linear-gradient(180deg, #fffbf4eb 0%, #f8f0e3eb 100%);--font-arabic:"Noto Naskh Arabic", "Amiri", serif;--font-chinese:"Noto Serif SC", "Source Han Serif SC", serif;--font-ui:"Inter", system-ui, -apple-system, sans-serif;--text-arabic-xl:1.85rem;--text-arabic-lg:1.44rem;--text-arabic-base:1.24rem;--text-arabic-sm:1.04rem;--lh-arabic:2.15;--text-zh-base:.96rem;--text-zh-sm:.84rem;--lh-zh:1.75;--text-ui-xs:.72rem;--text-ui-sm:.84rem;--text-ui-base:.95rem;--text-ui-lg:1.08rem;--text-ui-xl:1.24rem;--lh-ui:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-shell:1.9rem;--radius-panel:1.5rem;--radius-card:1.25rem;--radius-card-sm:1rem;--radius-sm:.85rem;--radius-bubble:1.35rem;--radius-bubble-tail:.45rem;--radius-chip:999px;--radius-full:999px;--radius-input:1rem;--shadow-shell:0 28px 72px #382e1e29;--shadow-card:0 18px 36px #39322817;--shadow-soft:0 12px 24px #2b251b12;--shadow-bubble-ai:0 14px 28px #173c4114;--shadow-bubble-user:0 16px 28px #144f562e;--shadow-dock:0 -8px 32px #352e261f;--shadow-record-idle:0 16px 36px #2b8a8447;--shadow-record-active:0 0 0 12px #d36b4a24, 0 18px 40px #a23a2252;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1);--duration-fast:.14s;--duration-base:.22s;--duration-slow:.36s;--duration-enter:.32s;--shell-max-width:27.5rem;--shell-padding:1rem;--header-height:5.3rem;--header-height-compact:4.45rem;--bar-height:10.75rem;--chat-padding-h:1.125rem;--bubble-max-width:85%}@media(min-width:768px){:root{--shell-max-width:29rem}}:root.dark{--color-surface-page:#151c1c;--color-surface-page-alt:#101616;--color-surface-card:#1f2928;--color-surface-card-alt:#1f2928d1;--color-surface-header:#081314eb;--color-surface-dock:#192120e6;--color-surface-dock-strong:#192120f5;--color-border:#ffffff14;--color-text-primary:#f5f1e8;--color-text-secondary:#c8ccc5;--color-text-muted:#8f968d;--color-text-inverse:#fffdf8;--color-teal:#52a79c;--gradient-landing-card:linear-gradient(180deg, #232e2ef5 0%, #182020fa 100%);--shadow-shell:0 28px 72px #00000057;--shadow-card:0 18px 36px #00000038;--shadow-soft:0 12px 24px #0000002e;--shadow-bubble-ai:0 14px 28px #0000002e;--shadow-bubble-user:0 18px 28px #00000042;--shadow-dock:0 -8px 32px #00000040}[lang=ar],[dir=rtl]{font-family:var(--font-arabic);font-feature-settings:"calt" 1,"liga" 1,"kern" 1;text-rendering:optimizelegibility}.arabic-reply{font-family:var(--font-arabic);font-size:var(--text-arabic-xl);line-height:var(--lh-arabic);text-align:right;color:var(--color-text-primary);letter-spacing:0;direction:rtl;unicode-bidi:isolate;font-weight:400}.arabic-user{font-family:var(--font-arabic);font-size:var(--text-arabic-base);line-height:var(--lh-arabic);text-align:right;color:var(--color-user-bubble-text);direction:rtl;unicode-bidi:isolate;font-weight:400}.arabic-correction{font-family:var(--font-arabic);font-size:var(--text-arabic-lg);line-height:var(--lh-arabic);direction:rtl;unicode-bidi:isolate;font-weight:400;display:inline}.arabic-chip{font-family:var(--font-arabic);font-size:var(--text-arabic-sm);text-align:right;direction:rtl;unicode-bidi:isolate;line-height:1.8;display:block}.arabic-title{font-family:var(--font-arabic);letter-spacing:.02em;color:var(--color-text-inverse);direction:rtl;unicode-bidi:isolate;font-size:1.5rem;font-weight:700;line-height:1.8}.bidi-ar{font-family:var(--font-arabic);font-size:var(--text-arabic-lg);line-height:var(--lh-arabic);direction:rtl;unicode-bidi:isolate}.text-zh{font-family:var(--font-chinese);font-size:var(--text-zh-base);line-height:var(--lh-zh);color:var(--color-text-secondary);direction:ltr;font-weight:400}.text-zh-sm{font-family:var(--font-chinese);font-size:var(--text-zh-sm);line-height:var(--lh-zh);color:var(--color-text-muted);direction:ltr}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100dvh;font-family:var(--font-ui);font-size:var(--text-ui-base);line-height:var(--lh-ui);color:var(--color-text-primary);background:radial-gradient(circle at top left,#c9a1582e,transparent 30%),radial-gradient(circle at bottom right,#2c89831f,transparent 28%),linear-gradient(180deg,var(--color-surface-page) 0%,var(--color-surface-page-alt) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100dvh}:focus{outline:none}:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:3px}button,[role=button]{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}img,svg{display:block}.app-shell{width:100%;max-width:var(--shell-max-width);isolation:isolate;background:linear-gradient(#fcf8f1f5,#f5ecddfa);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.app-shell--conversation{background:linear-gradient(#fbf7effa,#f4ecdffa)}.app-ambience{pointer-events:none;z-index:0;position:absolute;inset:0}.app-ambience-orb{filter:blur(10px);opacity:.6;border-radius:50%;position:absolute}.app-ambience-orb--teal{background:radial-gradient(circle,#2c898347,#2c898300 72%);width:10rem;height:10rem;top:4.5rem;right:-2.4rem}.app-ambience-orb--gold{background:radial-gradient(circle,#c9964b33,#c9964b00 74%);width:8.5rem;height:8.5rem;top:16rem;left:-2.6rem}.app-ambience-grid{opacity:.12;background-image:linear-gradient(#a9783173 1px,#0000 1px),linear-gradient(90deg,#a9783173 1px,#0000 1px);background-size:12px 12px;width:7rem;height:7rem;position:absolute;top:5.8rem;right:1rem;-webkit-mask-image:radial-gradient(circle,#000 40%,#0000 78%);mask-image:radial-gradient(circle,#000 40%,#0000 78%)}.app-header{z-index:20;padding:max(1rem,env(safe-area-inset-top)) var(--chat-padding-h) .95rem;min-height:var(--header-height);background:linear-gradient(180deg,var(--color-surface-header) 0%,#0f3033c2 78%,#0f303300 100%);color:var(--color-text-inverse);top:0;justify-content:space-between;align-items:center;display:flex;position:absolute;inset-inline:0}.app-header--with-back .header-tutor{margin-inline-start:calc(var(--space-10) + var(--space-1))}.app-header--compact{min-height:4.4rem;padding-top:max(.7rem,env(safe-area-inset-top));padding-bottom:.45rem}.app-header--compact .header-tutor{gap:0}.app-header--compact .header-tutor-copy,.app-header--compact .header-brand-sub{display:none}.app-header--compact .avatar{width:2.15rem;height:2.15rem}.app-header--compact .avatar-letter{font-size:.92rem}.app-header--compact .arabic-title{font-size:1.28rem;line-height:1.55}.header-tutor,.header-brand{z-index:1;position:relative}.header-tutor{align-items:center;gap:.7rem;min-width:0;display:flex}.header-tutor-copy{gap:.2rem;min-width:0;display:grid}.header-kicker{font-size:var(--text-ui-xs);letter-spacing:.16em;text-transform:uppercase;color:#f3e1b8eb;line-height:1}.header-supporting{font-size:var(--text-ui-sm);color:#fffcf4bd}.header-right{z-index:1;align-items:center;gap:0;display:flex;position:relative}.header-brand{text-align:right}.header-brand-sub{font-size:var(--text-ui-xs);color:#fffbf394;line-height:1.4}.avatar{width:2.55rem;height:2.55rem;color:var(--color-text-inverse);background:radial-gradient(circle at 32% 30%,#f1dfbaf2,#c2903ee0 38%,#1a595deb);border:1px solid #f1dfba52;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 12px 20px #0000002e}.ai-avatar{margin-top:.25rem}.avatar-letter{font-size:1rem;line-height:1.6}.avatar-img{object-fit:cover;width:100%;height:100%;animation:fade-in var(--duration-base) ease-out both;border-radius:50%}.avatar-status{position:relative}.avatar-status:after{content:"";background:#55be88;border:2px solid #0f3033d9;border-radius:50%;width:.58rem;height:.58rem;position:absolute;bottom:.14rem;right:.12rem}.chat-container{z-index:1;padding-inline:var(--chat-padding-h);scrollbar-width:thin;scrollbar-color:#ae9b83cc transparent;flex:1;position:relative;overflow:hidden auto}.chat-container--landing{padding-top:calc(var(--header-height) + 1.35rem);padding-bottom:calc(var(--bar-height) + 1.15rem)}.chat-container--conversation{padding-top:calc(var(--header-height-compact) + .65rem);padding-bottom:calc(var(--bar-height) + 1.25rem)}.chat-container::-webkit-scrollbar{width:4px}.chat-container::-webkit-scrollbar-thumb{background:#ae9b83b8;border-radius:999px}.landing-state{animation:content-enter var(--duration-enter) var(--ease-out-expo) both;gap:1rem;padding-bottom:1.5rem;display:grid}.landing-section-card,.conversation-lead,.stt-confirm,.loading-state,.error-persistent{border-radius:var(--radius-panel);background:var(--gradient-landing-card);box-shadow:var(--shadow-card);border:1px solid #8a6f4a1f}.landing-section-card{gap:1rem;padding:1rem;display:grid}.conversation-lead-chip,.phrase-chip-tag,.record-dock-kicker,.record-control-label,.ai-message-note,.ai-message-name,.correction-badge,.stt-label{font-size:var(--text-ui-xs);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.35rem;display:inline-flex}.conversation-lead-chip,.record-dock-kicker,.correction-badge,.stt-label{color:var(--color-gold-700)}.landing-section-head{gap:.25rem;display:grid}.landing-section-kicker{font-size:var(--text-ui-xs);letter-spacing:.08em;color:var(--color-gold-700)}.landing-section-title,.conversation-lead-title,.record-dock-title,.record-control-status{font-size:var(--text-ui-base);color:var(--color-text-primary);line-height:1.45}.landing-footnote,.conversation-lead-copy,.record-dock-subtitle,.record-control-status,.record-control-label,.phrase-chip-zh,.msg-timestamp,.typing-label,.loading-timeout-hint,.ai-bubble-playing-subtitle{color:var(--color-text-secondary)}.landing-footnote{font-family:var(--font-chinese);font-size:var(--text-zh-sm);line-height:var(--lh-zh);opacity:.9}.quick-phrases{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.phrase-chip{text-align:left;border-radius:var(--radius-card-sm);width:100%;min-height:10.4rem;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),border-color var(--duration-fast),background-color var(--duration-fast);background:#fffdf8d1;border:1px solid #1a595d1a;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem .85rem .95rem;display:flex}.phrase-chip:hover{background:#fffdf8f5;border-color:#1a595d38;transform:translateY(-2px)}.phrase-chip-tag{color:var(--color-gold-700);letter-spacing:.06em}.phrase-chip-top{gap:.28rem;width:100%;display:grid}.phrase-chip-zh{font-family:var(--font-chinese);color:var(--color-text-secondary);font-size:.88rem;line-height:1.35}.conversation-lead{animation:content-enter var(--duration-enter) var(--ease-out-expo) both;gap:.35rem;margin-bottom:1rem;padding:.95rem 1rem;display:grid}.conversation-lead-copy{font-family:var(--font-chinese);font-size:var(--text-zh-sm);line-height:var(--lh-zh)}.msg-row{animation:bubble-enter .26s var(--ease-out-expo) both;flex-direction:column;margin-bottom:.95rem;display:flex}.msg-row--user{align-items:flex-end}.msg-row--ai{align-items:flex-start}.ai-message-shell{align-items:flex-start;gap:.75rem;width:100%;display:flex}.ai-message-stack{gap:.24rem;min-width:0;max-width:calc(100% - 3.25rem);display:grid}.bubble-user,.bubble-ai{max-width:var(--bubble-max-width);position:relative}.bubble-user{background:var(--gradient-user-bubble);color:var(--color-user-bubble-text);border-radius:var(--radius-bubble) var(--radius-bubble) var(--radius-bubble-tail) var(--radius-bubble);box-shadow:var(--shadow-bubble-user);gap:.55rem;padding:.95rem 1rem .85rem;display:grid}.bubble-ai{border-radius:var(--radius-bubble-tail) var(--radius-bubble) var(--radius-bubble) var(--radius-bubble);width:min(100%,23rem);box-shadow:var(--shadow-bubble-ai);background:#fffdf8eb;border:1px solid #1a595d1a;gap:.55rem;padding:.8rem .92rem .78rem;display:grid}.bubble-ai:before{content:"";background:linear-gradient(180deg,var(--color-gold-500) 0%,var(--color-teal-600) 100%);border-radius:999px;width:.26rem;position:absolute;inset:0 auto 0 0}.bubble-ai--loading{padding-top:.75rem}.bubble-ai--playing-shell{padding-block:.72rem}.ai-message-heading,.ai-message-heading-main{align-items:baseline;gap:.45rem;display:flex}.ai-message-heading{padding-inline:.18rem}.ai-message-name{color:var(--color-gold-700);font-size:.96rem;line-height:1.1}.ai-message-note{color:var(--color-text-muted);letter-spacing:.04em;font-size:.64rem}.typing-indicator{align-items:center;gap:.55rem;display:flex}.typing-dots{align-items:center;gap:.25rem;display:flex}.typing-dot{background:var(--color-teal-500);border-radius:50%;width:.34rem;height:.34rem;animation:1.2s ease-in-out infinite dot-bounce}.typing-dot:nth-child(2){animation-delay:.12s}.typing-dot:nth-child(3){animation-delay:.24s}.typing-label{font-size:var(--text-ui-sm)}.ai-bubble-playing{align-items:center;min-height:2.9rem;display:flex}.ai-bubble-voice-ribbon{background:linear-gradient(90deg,#f6eee0c7,#fffbf4fa 38%,#f7f0e4e6);border:1px solid #c9964b1f;border-radius:999px;justify-content:space-between;align-items:center;gap:.9rem;width:100%;min-height:2.9rem;padding:.55rem .75rem .55rem .85rem;display:flex}.ai-bubble-voice-line{background:linear-gradient(90deg,#c9964b29,#2c89832e 48%,#c9964b24);border-radius:999px;flex:1;height:.36rem}.ai-bubble-playing .eq-bars{flex-shrink:0;gap:.16rem;height:1.1rem}.ai-bubble-playing .eq-bar,.ai-bubble-playing .audio-bar,.ai-bubble-playing .wave-bar{width:.14rem}.ai-bubble-playing .eq-bar--1{height:.38rem}.ai-bubble-playing .eq-bar--2{height:.74rem}.ai-bubble-playing .eq-bar--3{height:.96rem}.ai-bubble-playing .eq-bar--4{height:.7rem}.ai-bubble-playing .eq-bar--5{height:.5rem}.eq-bars,.audio-bars,.wave-bars{align-items:center;gap:.18rem;display:flex}.eq-bars{height:1.65rem}.wave-bars,.audio-bars{height:1.25rem}.eq-bar,.audio-bar,.wave-bar{background:linear-gradient(180deg,var(--color-gold-500) 0%,var(--color-teal-600) 100%);border-radius:999px;width:.18rem}.eq-bar--1,.audio-bar:first-child,.wave-bar:first-child{height:.55rem}.eq-bar--2,.audio-bar:nth-child(2),.wave-bar:nth-child(2){height:1rem}.eq-bar--3,.audio-bar:nth-child(3){height:1.45rem}.eq-bar--4,.audio-bar:nth-child(4){height:.85rem}.eq-bar--5,.audio-bar:nth-child(5){height:.68rem}.wave-bar:nth-child(3){height:.75rem}.eq-bar{animation:.82s ease-in-out infinite alternate eq-dance}.eq-bar--2{animation-delay:80ms}.eq-bar--3{animation-delay:.12s}.eq-bar--4{animation-delay:.16s}.eq-bar--5{animation-delay:.22s}.audio-bar{animation:.75s ease-in-out infinite alternate eq-dance}.wave-bar{animation:.88s ease-in-out infinite alternate wave-dance}.ai-bubble-toolbar{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:0;display:flex}.ai-bubble-footer{justify-content:space-between;align-items:center;gap:.55rem;margin-top:.3rem;padding-top:.2rem;display:flex}.btn-primary,.btn-ghost,.loading-cancel-btn,.error-persistent-retry,.mode-toggle,.user-audio-btn{min-height:2.75rem}.ai-tool-btn{border-radius:var(--radius-chip);min-height:1.82rem;color:var(--color-text-secondary);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),border-color var(--duration-fast),background-color var(--duration-fast),color var(--duration-fast),box-shadow var(--duration-fast);background:#fffcf7f5;border:1px solid #1a595d1a;align-items:center;gap:.38rem;padding:.28rem .58rem;font-size:.74rem;line-height:1;display:inline-flex}.ai-tool-btn:hover:not(:disabled),.btn-primary:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.loading-cancel-btn:hover:not(:disabled),.mode-toggle:hover:not(:disabled),.user-audio-btn:hover:not(:disabled){transform:translateY(-1px)}.ai-tool-btn:disabled{opacity:.58;cursor:not-allowed;transform:none}.ai-tool-btn--replay{color:var(--color-teal-800);background:linear-gradient(#fffbf4fa,#f7efe2f2);border-color:#1a595d1f;box-shadow:0 8px 16px #2836340f}.ai-tool-btn--replay:hover:not(:disabled){background:linear-gradient(#fffcf7,#f8f1e7);border-color:#1a595d33}.ai-tool-btn--hint{color:var(--color-text-muted);background:#fffaf2b8;border-style:dashed;border-color:#a9783147}.ai-tool-btn--hint:hover:not(:disabled){color:var(--color-text-secondary);background:#fffbf4e6;border-color:#a978317a}.ai-tool-emoji{font-size:.82rem;line-height:1}.ai-bubble-revealed{animation:reveal-in var(--duration-base) var(--ease-out-expo) both;margin-top:.2rem}.ai-translation-block{margin-top:.2rem;padding-top:.1rem}.ai-translation-block .text-zh{margin-top:.38rem;font-size:.92rem;line-height:1.6}.translation-divider{background:#a38f7642;border:none;height:1px}.ai-correction-wrap{width:100%}.msg-timestamp{font-size:var(--text-ui-xs);color:var(--color-text-muted);padding-inline:.55rem}.msg-timestamp--ai{opacity:.72;margin-left:auto;padding-inline:0;font-size:.68rem}.user-audio-btn{border-radius:var(--radius-chip);color:#fffdf7e6;cursor:pointer;background:#ffffff26;border:none;align-self:flex-end;align-items:center;gap:.4rem;padding:.5rem .8rem;display:inline-flex}.user-audio-btn--active{background:#ffffff3d}.correction-card{border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-soft);background:#fffbf4eb;border:1px solid #a9783124;overflow:hidden}.correction-card-header{text-align:left;cursor:pointer;background:linear-gradient(#fbf3e1eb,#f7eddae0);border:none;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.8rem .95rem;display:flex}.correction-body{gap:.85rem;padding:.95rem;display:grid}.correction-row{gap:.15rem;display:grid}.correction-label{font-size:var(--text-ui-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.correction-original{color:var(--color-error);-webkit-text-decoration:line-through #a85136b8;text-decoration:line-through #a85136b8;text-decoration-thickness:2px}.correction-corrected{color:var(--color-success)}.correction-explanation{font-family:var(--font-chinese);font-size:var(--text-zh-sm);line-height:var(--lh-zh);color:var(--color-text-secondary);border-top:1px solid #a38f7633;padding-top:.7rem}.correction-card--relaxed{background:#fff9ebeb;border-color:#d4b97833}.correction-card--relaxed .correction-card-header{background:linear-gradient(#fff9ebeb,#fcf4dee0)}.correction-card--relaxed .correction-original{color:var(--color-text-secondary);text-decoration-color:#a38f7680}.correction-card--relaxed .correction-corrected{color:var(--color-success)}.correction-ar-term{font-family:var(--font-arabic);font-size:var(--text-ar-xs,.7rem);color:#3c5a8cd9;background:#5c7caa1f;border-radius:4px;margin-inline-start:.4rem;padding:.1rem .45rem;line-height:1.6;display:inline-block}.correction-alternative-row{border-radius:var(--radius-card);background:#5c8cc814;padding:.6rem .7rem}.correction-alternative{color:#3264aae6;font-weight:500}.record-bar{z-index:22;padding:.55rem var(--chat-padding-h) max(.75rem,env(safe-area-inset-bottom));inset-inline:0;background:linear-gradient(#f7f0e400,#f7f0e4e0 28%,#f7f0e4fa);position:absolute;bottom:0}.record-dock{border-radius:calc(var(--radius-panel) + .1rem);background:var(--color-surface-dock-strong);box-shadow:var(--shadow-dock);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #1a595d14;justify-content:space-between;align-items:center;gap:.55rem;padding:.52rem .65rem;display:flex}.record-dock-copy{flex:1;gap:.14rem;min-width:0;display:grid}.record-dock-kicker{color:#a97831d1;letter-spacing:.04em;text-transform:none;background:#c9964b1a;border-radius:999px;width:fit-content;padding:.12rem .38rem;font-size:.64rem;line-height:1.2}.record-dock-title{white-space:nowrap;text-overflow:ellipsis;font-size:.96rem;font-weight:500;line-height:1.2;overflow:hidden}.record-dock-title-row{align-items:center;gap:.42rem;min-width:0;display:flex}.record-dock-activity,.record-dock-eq{flex-shrink:0;align-items:center;display:inline-flex}.record-dock-activity{gap:.22rem}.record-dock-dot{background:linear-gradient(#c9964be0,#2c8983eb);border-radius:50%;width:.34rem;height:.34rem;animation:1.1s ease-in-out infinite dock-dot-pulse}.record-dock-dot:nth-child(2){animation-delay:.12s}.record-dock-dot:nth-child(3){animation-delay:.24s}.record-dock-eq{gap:.14rem;height:.85rem}.record-dock-eq-bar{background:linear-gradient(#c9964be0,#2c8983eb);border-radius:999px;width:.18rem;animation:.78s ease-in-out infinite alternate dock-eq-bounce}.record-dock-eq-bar:first-child{height:.38rem}.record-dock-eq-bar:nth-child(2){height:.7rem;animation-delay:80ms}.record-dock-eq-bar:nth-child(3){height:.52rem;animation-delay:.14s}.record-dock-eq-bar:nth-child(4){height:.78rem;animation-delay:.2s}.record-dock-subtitle{font-family:var(--font-chinese);font-size:var(--text-zh-xs,.82rem);line-height:1.35}.record-control{flex-shrink:0;justify-items:end;gap:.25rem;display:grid}.record-control-main{align-items:center;gap:.4rem;display:flex}.record-control-copy{display:none}.record-error-inline{border-radius:var(--radius-card-sm);background:var(--color-error-bg);border:1px solid var(--color-error-border);max-width:13rem;font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-error);padding:.45rem .7rem;line-height:1.5}.record-btn{cursor:pointer;width:3rem;height:3rem;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.record-btn-core{background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:calc(100% - .42rem);height:calc(100% - .42rem);display:flex;box-shadow:inset 0 1px 1px #ffffff38}.record-btn--idle{background:var(--gradient-record-idle);box-shadow:var(--shadow-record-idle)}.record-btn--idle:hover:not(:disabled){transform:scale(1.03)}.record-btn--recording{background:var(--gradient-record-active);box-shadow:var(--shadow-record-active)}.record-btn--recording:before,.record-btn--recording:after{content:"";animation:pulse-ring 1.45s var(--ease-standard) infinite;border:1px solid #d36b4a52;border-radius:50%;position:absolute;inset:-.22rem}.record-btn--recording:after{animation-delay:.28s;inset:-.44rem}.record-btn--disabled,.record-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.72;background:linear-gradient(#d1bea5e0,#ae9b83f0)}.record-icon{width:1.08rem;height:1.08rem}.mode-toggle{width:1.95rem;height:1.95rem;min-height:1.95rem;color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--duration-fast),background-color var(--duration-fast),color var(--duration-fast);background:#fffdf8eb;border:1px solid #1a595d1f;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mode-toggle:hover{color:var(--color-text-primary);border-color:#1a595d3d}.mode-toggle svg{width:.82rem;height:.82rem}.mode-toggle-label{display:none}.stt-confirm,.loading-state{inset-inline:var(--chat-padding-h);bottom:calc(var(--bar-height) + .5rem);z-index:24;animation:panel-rise var(--duration-enter) var(--ease-out-expo) both;padding:.95rem 1rem;position:absolute}.stt-label{margin-bottom:.55rem}.stt-label-hint{color:var(--color-text-muted);letter-spacing:normal;text-transform:none;margin-left:.35rem}.stt-textarea{border-radius:var(--radius-input);width:100%;min-height:4.4rem;color:var(--color-text-primary);resize:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast),background-color var(--duration-fast);background:#fffdf8d1;border:1px solid #1a595d24;padding:.9rem 1rem}.stt-textarea:focus{background:#fffffff5;border-color:#1a595d57;box-shadow:0 0 0 4px #2c89831a}.stt-actions{justify-content:flex-end;gap:.65rem;margin-top:.8rem;display:flex}.btn-primary,.btn-ghost,.loading-cancel-btn{border-radius:var(--radius-chip);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast);justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1rem;display:inline-flex}.btn-primary{background:linear-gradient(135deg,var(--color-teal-800) 0%,var(--color-teal-600) 100%);color:var(--color-text-inverse);border:none}.btn-ghost,.loading-cancel-btn{color:var(--color-text-secondary);background:#fffdf8eb;border:1px solid #1a595d24}.btn-ghost:hover:not(:disabled),.loading-cancel-btn:hover:not(:disabled){color:var(--color-text-primary);border-color:#1a595d3d}.error-toast,.error-persistent{left:var(--chat-padding-h);right:var(--chat-padding-h);z-index:25;border-radius:var(--radius-card);border:1px solid var(--color-error-border);background:var(--color-error-bg);box-shadow:var(--shadow-soft);animation:toast-enter var(--duration-base) var(--ease-out-expo) both;padding:.8rem .95rem;position:absolute}.error-toast{top:calc(var(--header-height) - .2rem);font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-error)}.error-persistent{bottom:calc(var(--bar-height) + .6rem);align-items:center;gap:.7rem;display:flex}.error-persistent-msg{font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-error);flex:1;line-height:1.55}.error-persistent-retry{border-radius:var(--radius-chip);background:var(--color-error);color:var(--color-text-inverse);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.55rem .8rem;display:inline-flex}.error-persistent-dismiss{border:1px solid var(--color-error-border);width:2rem;height:2rem;color:var(--color-error);cursor:pointer;background:0 0;border-radius:50%}.loading-state-inner{align-items:center;gap:.7rem;display:flex}.loading-timeout-hint{font-size:var(--text-ui-xs);margin-top:.55rem}.loading-cancel-btn{margin-left:auto}.text-zh{font-family:var(--font-chinese);font-size:var(--text-zh-base);line-height:var(--lh-zh);color:var(--color-text-secondary)}.arabic-user{text-align:right;width:100%}@keyframes bubble-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes content-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes dot-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@keyframes dock-dot-pulse{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@keyframes dock-eq-bounce{0%{opacity:.45;transform:scaleY(.55)}to{opacity:1;transform:scaleY(1.05)}}@keyframes eq-dance{0%{opacity:.45;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1.05)}}@keyframes wave-dance{0%{opacity:.5;transform:scaleY(.4)}to{opacity:.95;transform:scaleY(1.25)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.94)}to{opacity:0;transform:scale(1.15)}}@keyframes reveal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(min-width:768px){body{place-items:center;padding:1rem;display:grid}.app-shell{border-radius:var(--radius-shell);min-height:min(58rem,100dvh - 2rem);box-shadow:var(--shadow-shell);border:1px solid #8a6f4a1f}}@media(max-width:360px){.quick-phrases{grid-template-columns:1fr}.phrase-chip{gap:.55rem;min-height:auto}.phrase-chip-zh{font-size:.82rem}.record-dock{gap:.45rem;padding:.48rem .58rem}.record-dock-kicker{padding:.1rem .34rem;font-size:.6rem}.record-dock-title{font-size:.88rem}.record-btn{width:2.8rem;height:2.8rem}.record-icon{width:1rem;height:1rem}}@media(max-width:420px){.ai-message-stack{max-width:calc(100% - 2.95rem)}.bubble-ai{width:min(100%,19.5rem);padding-inline:.82rem}.ai-bubble-voice-ribbon{gap:.7rem;padding-inline:.7rem}.app-header--compact .avatar{width:2rem;height:2rem}.app-header--compact .arabic-title{font-size:1.18rem}.ai-bubble-footer{gap:.4rem}.ai-tool-btn{padding-inline:.5rem}.record-dock-title{font-size:.92rem}.record-btn{width:2.9rem;height:2.9rem}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.record-btn--recording:before,.record-btn--recording:after,.record-dock-dot,.record-dock-eq-bar,.typing-dot,.eq-bar,.audio-bar,.wave-bar,.bnav-indicator,.skeleton,.view-panel--active{animation:none!important}}.app-root{width:100%;max-width:var(--shell-max-width);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.app-content{min-height:0;padding-bottom:calc(3.8rem + env(safe-area-inset-bottom,0));flex:1;position:relative}.view-panel{will-change:opacity;transition:opacity var(--duration-base) var(--ease-standard)}.view-panel--active{opacity:1;pointer-events:auto;animation:view-enter var(--duration-enter) var(--ease-out-expo) both;display:block}.view-panel--hidden{opacity:0;pointer-events:none;display:none}@keyframes view-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bnav{width:100%;max-width:var(--shell-max-width);z-index:100;-webkit-backdrop-filter:blur(20px)saturate(1.6);padding-bottom:env(safe-area-inset-bottom,0);background:linear-gradient(#fffaf3d1,#fffaf3f5);border-top:1px solid #a9783114;align-items:stretch;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -1px #fff9,0 -6px 24px #352e260f}.bnav-btn{cursor:pointer;min-height:3rem;color:var(--color-sand-400);transition:color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.14rem;padding:.45rem .25rem .35rem;display:flex}.bnav-btn:active{transform:scale(.92)}.bnav-btn--active{color:var(--color-teal-700)}.bnav-icon-wrap{justify-content:center;align-items:center;width:2rem;height:1.5rem;display:flex;position:relative}.bnav-svg{width:1.35rem;height:1.35rem;transition:transform var(--duration-fast) var(--ease-spring)}.bnav-btn--active .bnav-svg{transform:scale(1.08)}.bnav-indicator{background:var(--color-teal-600);width:.28rem;height:.28rem;animation:bnav-dot-in var(--duration-base) var(--ease-spring) both;border-radius:50%;position:absolute;bottom:-.22rem;left:50%;transform:translate(-50%)}@keyframes bnav-dot-in{0%{opacity:0;transform:translate(-50%)scale(0)}to{opacity:1;transform:translate(-50%)scale(1)}}.bnav-label{font-size:.62rem;font-family:var(--font-ui);letter-spacing:.02em;transition:opacity var(--duration-fast);font-weight:500;line-height:1}.bnav-btn:not(.bnav-btn--active) .bnav-label{opacity:.7}.settings-view{background:var(--color-surface-page);flex-direction:column;min-height:calc(100dvh - 4rem);display:flex}.settings-loading{justify-content:center;align-items:center;height:50dvh;display:flex}.settings-loading-text{color:var(--color-text-muted);font-family:var(--font-chinese)}.settings-header{padding:var(--space-6) var(--space-5) var(--space-4);border-bottom:1px solid #0000000f}.settings-title{font-family:var(--font-chinese);font-size:var(--text-ui-xl);color:var(--color-text-primary);font-weight:600}.settings-body{gap:var(--space-1);padding:var(--space-4) 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.settings-section{padding:var(--space-4) var(--space-5);background:var(--color-surface-card);border-bottom:1px solid #0000000a}.settings-section-label{font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.settings-section-row{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.settings-section-hint{font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.settings-preview-btn{font-family:var(--font-chinese);font-size:var(--text-ui-sm);color:var(--color-teal-600);border:1px solid var(--color-teal-300);border-radius:var(--radius-chip);cursor:pointer;transition:background var(--duration-fast);background:0 0;padding:.2rem .8rem}.settings-preview-btn:hover:not(:disabled){background:var(--color-teal-100)}.settings-preview-btn:disabled{opacity:.5;cursor:default}.settings-footer{padding:var(--space-6) var(--space-5);text-align:center}.settings-version{font-family:var(--font-arabic);font-size:var(--text-ui-sm);color:var(--color-text-muted)}.seg-control{background:var(--color-sand-100);border-radius:var(--radius-card-sm);gap:.25rem;padding:.18rem;display:flex}.seg-btn{border-radius:calc(var(--radius-card-sm) - .18rem);cursor:pointer;color:var(--color-text-secondary);transition:background var(--duration-fast),color var(--duration-fast);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.1rem;padding:.4rem .25rem;display:flex}.seg-btn--active{background:var(--color-surface-card);color:var(--color-teal-700);box-shadow:0 1px 3px #0000001a}.seg-btn-label{font-family:var(--font-chinese);font-size:var(--text-zh-sm);font-weight:500}.seg-btn-sub{font-family:var(--font-arabic);color:var(--color-text-muted);direction:rtl;font-size:.72rem}.history-view{background:var(--color-surface-page);flex-direction:column;min-height:calc(100dvh - 4rem);display:flex}.history-header{padding:var(--space-6) var(--space-5) var(--space-4);background:var(--color-surface-card);border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;display:flex}.history-title{font-family:var(--font-chinese);font-size:var(--text-ui-xl);color:var(--color-text-primary);font-weight:600}.history-new-btn{font-family:var(--font-chinese);font-size:var(--text-ui-sm);color:var(--color-teal-600);background:var(--color-teal-100);border-radius:var(--radius-chip);cursor:pointer;transition:background var(--duration-fast);border:none;padding:.35rem 1rem;font-weight:500}.history-new-btn:hover{background:var(--color-teal-200)}.history-body{padding:var(--space-2) 0;flex:1;overflow-y:auto}.history-loading,.history-error{padding:var(--space-8);text-align:center;color:var(--color-text-muted);font-family:var(--font-chinese)}.history-empty{align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-5);text-align:center;flex-direction:column;display:flex}.history-empty-ar{font-family:var(--font-arabic);font-size:var(--text-arabic-base);line-height:var(--lh-arabic);color:var(--color-text-muted)}.history-empty-zh{font-family:var(--font-chinese);font-size:var(--text-zh-base);color:var(--color-text-secondary)}.history-empty-btn{font-family:var(--font-chinese);font-size:var(--text-ui-base);color:var(--color-text-inverse);background:var(--color-teal-700);border-radius:var(--radius-chip);cursor:pointer;margin-top:var(--space-2);border:none;padding:.6rem 1.6rem}.conv-group{margin-bottom:var(--space-2)}.conv-group-label{font-family:var(--font-chinese);font-size:var(--text-ui-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-3) var(--space-5) var(--space-2);font-weight:600}.conv-item{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface-card);cursor:pointer;transition:background var(--duration-fast);border-bottom:1px solid #0000000a;display:flex}.conv-item:hover{background:var(--color-teal-100)}.conv-item-main{flex:1;min-width:0}.conv-item-title{font-family:var(--font-chinese);font-size:var(--text-zh-base);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:var(--space-1);font-weight:500;overflow:hidden}.conv-item-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.conv-item-tag{font-family:var(--font-chinese);font-size:var(--text-ui-xs);color:var(--color-teal-700);background:var(--color-teal-100);border-radius:var(--radius-chip);padding:.1rem .5rem}.conv-item-stat{font-family:var(--font-chinese);font-size:var(--text-ui-xs);color:var(--color-text-muted)}.conv-item-stat--correction{color:var(--color-warning)}.conv-item-time{font-family:var(--font-chinese);font-size:var(--text-ui-xs);color:var(--color-text-muted);margin-left:auto}.conv-item-delete{font-family:var(--font-chinese);font-size:var(--text-ui-xs);color:var(--color-error);border:1px solid var(--color-error-border);border-radius:var(--radius-chip);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast);background:0 0;flex-shrink:0;padding:.25rem .6rem}.conv-item-delete--confirm{background:var(--color-error);color:#fff;border-color:var(--color-error)}.conv-item-actions{gap:var(--space-2);flex-shrink:0;display:flex}.conv-item-rename{font-family:var(--font-chinese);font-size:var(--text-ui-xs);color:var(--color-teal-600);border:1px solid var(--color-teal-200);border-radius:var(--radius-chip);cursor:pointer;transition:background var(--duration-fast);background:0 0;padding:.25rem .6rem}.conv-item-rename:hover{background:var(--color-teal-50)}.conv-item-rename-input{font-family:var(--font-chinese);font-size:var(--text-zh-base);color:var(--color-text-primary);background:var(--color-surface-page);border:1.5px solid var(--color-teal-300);border-radius:var(--radius-sm);width:100%;margin-bottom:var(--space-1);outline:none;padding:.15rem .4rem;font-weight:500}.conv-item-rename-input:focus{border-color:var(--color-teal-500);box-shadow:0 0 0 2px #2c898326}.header-back-btn{left:var(--space-4);color:var(--color-text-soft);cursor:pointer;padding:var(--space-2);z-index:10;background:0 0;border:none;font-size:1.25rem;position:absolute;top:50%;transform:translateY(-50%)}.header-new-btn{border-radius:var(--radius-full);color:#fffbf3b3;cursor:pointer;z-index:10;width:2rem;height:2rem;margin-left:var(--space-3);transition:background var(--duration-fast),border-color var(--duration-fast);background:0 0;border:1.5px solid #ffffff4d;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.header-new-btn:hover{background:#ffffff1a;border-color:#ffffff80}.scenario-picker{min-height:calc(100dvh - 4rem);padding:var(--space-6) var(--space-5);background:var(--color-surface-page);flex-direction:column;display:flex}.scenario-picker-loading,.scenario-picker-error{text-align:center;color:var(--color-text-muted);font-family:var(--font-chinese);padding:var(--space-10) 0}.scenario-picker-head{margin-bottom:var(--space-6)}.scenario-picker-kicker{font-family:var(--font-chinese);font-size:var(--text-ui-xs);color:var(--color-teal-600);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-1);font-weight:600}.scenario-picker-title{font-family:var(--font-chinese);font-size:var(--text-ui-lg);color:var(--color-text-primary);font-weight:600}.scenario-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.scenario-card{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);background:var(--gradient-landing-card);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);cursor:pointer;text-align:left;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast);border:1px solid #8a6f4a1a;flex-direction:column;display:flex}.scenario-card:hover:not(:disabled){box-shadow:var(--shadow-card);transform:translateY(-2px)}.scenario-card:disabled{opacity:.6;cursor:default}.scenario-card-icon{font-size:1.6rem;line-height:1}.scenario-card-body{flex-direction:column;gap:.15rem;display:flex}.scenario-card-name-zh{font-family:var(--font-chinese);font-size:var(--text-ui-base);color:var(--color-text-primary);font-weight:600}.scenario-card-name-ar{font-family:var(--font-arabic);font-size:var(--text-arabic-sm);line-height:var(--lh-arabic);color:var(--color-text-secondary)}.scenario-card-diff{font-family:var(--font-chinese);font-size:var(--text-ui-xs);border-radius:var(--radius-chip);padding:.1rem .5rem}.scenario-card-diff--beginner{color:var(--color-success);background:var(--color-success-bg)}.scenario-card-diff--intermediate{color:var(--color-warning);background:var(--color-warning-bg)}.scenario-card-diff--advanced{color:var(--color-info);background:var(--color-info-bg)}.scenario-free-btn{width:100%;padding:var(--space-4);font-family:var(--font-chinese);font-size:var(--text-ui-base);color:var(--color-text-secondary);background:var(--color-surface-card);border-radius:var(--radius-card);cursor:pointer;transition:border-color var(--duration-fast),color var(--duration-fast);border:1px dashed #8a6f4a2e;font-weight:500}.scenario-free-btn:hover{border-color:var(--color-teal-500);color:var(--color-teal-700)}.scenario-picker-footnote{margin-top:var(--space-4);font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-text-muted);text-align:center}.scenario-sheet-backdrop{z-index:200;animation:fade-in var(--duration-base) var(--ease-standard) both;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.scenario-sheet{width:100%;max-width:var(--shell-max-width);background:var(--color-surface-card);border-radius:var(--radius-panel) var(--radius-panel) 0 0;max-height:85dvh;animation:sheet-rise var(--duration-enter) var(--ease-out-expo) both;flex-direction:column;display:flex;box-shadow:0 -8px 32px #00000029}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.scenario-sheet-header{padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid #0000000f;flex-shrink:0;justify-content:space-between;align-items:flex-start;display:flex}.scenario-sheet-title-row{align-items:center;gap:var(--space-3);display:flex}.scenario-sheet-icon{font-size:1.8rem;line-height:1}.scenario-sheet-title{font-family:var(--font-chinese);font-size:var(--text-ui-lg);color:var(--color-text-primary);margin:0;font-weight:600}.scenario-sheet-ar{font-family:var(--font-arabic);font-size:var(--text-arabic-sm);line-height:var(--lh-arabic);color:var(--color-text-secondary);margin:0}.scenario-sheet-close{width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #00000014;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.scenario-sheet-body{padding:var(--space-4) var(--space-5);flex:1;overflow-y:auto}.scenario-sheet-desc{font-family:var(--font-chinese);font-size:var(--text-zh-base);color:var(--color-text-secondary);line-height:var(--lh-zh);margin-bottom:var(--space-4)}.scenario-sheet-section{margin-bottom:var(--space-4)}.scenario-sheet-section-title{font-family:var(--font-chinese);font-size:var(--text-ui-sm);color:var(--color-text-primary);margin-bottom:var(--space-2);align-items:center;gap:var(--space-2);font-weight:600;display:flex}.scenario-sheet-vocab-count{font-weight:400;font-size:var(--text-ui-xs);color:var(--color-text-muted)}.scenario-sheet-goal{font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-text-secondary);line-height:var(--lh-zh)}.scenario-vocab-list{flex-direction:column;gap:.25rem;display:flex}.scenario-vocab-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface-page);border-radius:var(--radius-card-sm);cursor:pointer;text-align:left;transition:background var(--duration-fast);border:none;display:flex}.scenario-vocab-item:hover:not(:disabled),.scenario-vocab-item--playing{background:var(--color-teal-100)}.scenario-vocab-ar{font-family:var(--font-arabic);font-size:var(--text-arabic-base);line-height:var(--lh-arabic);color:var(--color-text-primary);min-width:4rem}.scenario-vocab-meta{flex-direction:column;flex:1;gap:.05rem;display:flex}.scenario-vocab-zh{font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-text-secondary)}.scenario-vocab-pos{font-family:var(--font-chinese);font-size:var(--text-ui-xs);color:var(--color-text-muted)}.scenario-vocab-play{font-size:var(--text-ui-xs);color:var(--color-teal-600);flex-shrink:0}.scenario-sheet-footer{padding:var(--space-4) var(--space-5);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0));border-top:1px solid #0000000f;flex-shrink:0}.scenario-sheet-start-btn{width:100%;padding:var(--space-4);font-family:var(--font-chinese);font-size:var(--text-ui-base);color:var(--color-text-inverse);background:linear-gradient(135deg,var(--color-teal-800) 0%,var(--color-teal-600) 100%);border-radius:var(--radius-card);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring);border:none;font-weight:600}.scenario-sheet-start-btn:hover{transform:translateY(-1px)}.scenario-banner{margin:0 calc(-1 * var(--chat-padding-h));background:var(--color-surface-card-alt);border-bottom:1px solid #0000000f}.scenario-banner-header{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--chat-padding-h);cursor:pointer;width:100%;font-family:var(--font-chinese);background:0 0;border:none;display:flex}.scenario-banner-icon{font-size:1rem;line-height:1}.scenario-banner-name{font-size:var(--text-ui-sm);color:var(--color-text-primary);font-weight:500}.scenario-banner-toggle{font-size:var(--text-ui-xs);color:var(--color-teal-600);margin-left:auto}.scenario-banner-vocab{gap:var(--space-2);padding:0 var(--chat-padding-h) var(--space-3);animation:reveal-in var(--duration-base) var(--ease-out-expo) both;flex-wrap:wrap;display:flex}.scenario-banner-vocab-item{align-items:center;gap:var(--space-1);background:var(--color-surface-card);border-radius:var(--radius-chip);font-size:var(--text-ui-xs);padding:.15rem .5rem;display:flex}.scenario-banner-vocab-ar{font-family:var(--font-arabic);font-size:var(--text-arabic-sm);line-height:var(--lh-arabic);color:var(--color-text-primary)}.scenario-banner-vocab-zh{font-family:var(--font-chinese);color:var(--color-text-muted)}.stats-card{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface-card);border-radius:var(--radius-card);border:1px solid var(--color-border)}.stats-card--loading,.stats-card--error{text-align:center;padding:var(--space-6)}.stats-card-loading-text,.stats-card-error-text{font-size:var(--text-ui-sm);color:var(--color-text-muted)}.stats-card-title{font-size:var(--text-ui-base);color:var(--color-text-primary);margin-bottom:var(--space-4);font-weight:600}.stats-card-empty{font-size:var(--text-ui-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-4) 0}.stats-overview-grid{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.stats-overview-item{padding:var(--space-3) var(--space-2);background:var(--color-sand-50);border-radius:var(--radius-card-sm);flex-direction:column;align-items:center;gap:.15rem;display:flex}.stats-overview-value{color:var(--color-teal);font-size:1.25rem;font-weight:700}.stats-overview-label{font-size:var(--text-ui-xs);color:var(--color-text-muted)}.stats-errors-section{margin-bottom:var(--space-4)}.stats-section-title{font-size:var(--text-ui-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);font-weight:600}.stats-bars{gap:var(--space-2);flex-direction:column;display:flex}.stats-bar-row{align-items:center;gap:var(--space-2);display:flex}.stats-bar-label{font-size:var(--text-ui-xs);color:var(--color-text-secondary);text-align:right;min-width:3.5rem}.stats-bar-track{background:var(--color-sand-100);border-radius:.25rem;flex:1;height:.5rem;overflow:hidden}.stats-bar-fill{border-radius:.25rem;height:100%;transition:width .3s}.stats-bar-count{font-size:var(--text-ui-xs);color:var(--color-text-muted);text-align:left;min-width:4.5rem}.stats-weakpoints-section{margin-bottom:var(--space-2)}.stats-weakpoints-list{gap:var(--space-3);flex-direction:column;display:flex}.stats-weakpoint-item{padding:var(--space-3);background:var(--color-sand-50);border-radius:var(--radius-card-sm);border-left:3px solid var(--color-teal)}.stats-weakpoint-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.stats-weakpoint-type{font-size:var(--text-ui-sm);color:var(--color-text-primary);font-weight:600}.stats-weakpoint-count{font-size:var(--text-ui-xs);color:var(--color-text-muted)}.stats-weakpoint-example{gap:var(--space-1);flex-direction:column;display:flex}.stats-weakpoint-original{font-family:var(--font-arabic);font-size:var(--text-arabic-sm);line-height:var(--lh-arabic);color:#dc2626;text-decoration:line-through}.stats-weakpoint-corrected{font-family:var(--font-arabic);font-size:var(--text-arabic-sm);line-height:var(--lh-arabic);color:#16a34a}.stats-weakpoint-explanation{font-size:var(--text-ui-xs);color:var(--color-text-muted);margin-top:.1rem}.stats-toast{top:var(--space-4);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-teal);color:#fff;border-radius:var(--radius-card-sm);z-index:1000;max-width:90vw;animation:.3s stats-toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}@keyframes stats-toast-in{0%{opacity:0;transform:translate(-50%)translateY(-1rem)}to{opacity:1;transform:translate(-50%)translateY(0)}}.stats-toast-text{font-size:var(--text-ui-sm);font-weight:500}.stats-toast-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 .25rem;font-size:1.2rem}.stats-toast-close:hover{opacity:1}.onboarding{min-height:100dvh;max-width:var(--shell-max-width);background:linear-gradient(#fcf8f1f5,#f5ecddfa);flex-direction:column;margin:0 auto;display:flex}.onboarding-content{padding:var(--space-8) var(--space-6);flex-direction:column;flex:1;justify-content:center;display:flex;overflow-y:auto}.onboarding-hero{text-align:center;margin-bottom:var(--space-12)}.onboarding-brand{font-family:var(--font-arabic);font-size:3.2rem;font-weight:700;line-height:var(--lh-arabic);color:var(--color-teal-800);margin-bottom:var(--space-2);letter-spacing:.02em}.onboarding-tagline{font-family:var(--font-chinese);font-size:var(--text-ui-lg);color:var(--color-text-secondary);letter-spacing:.06em}.onboarding-features{gap:var(--space-5);flex-direction:column;list-style:none;display:flex}.onboarding-feature{align-items:flex-start;gap:var(--space-4);display:flex}.onboarding-feature-icon{border-radius:var(--radius-card-sm);background:var(--color-teal-100);width:2.5rem;height:2.5rem;color:var(--color-teal-700);flex-shrink:0;justify-content:center;align-items:center;display:flex}.onboarding-feature div{flex-direction:column;gap:.15rem;display:flex}.onboarding-feature strong{font-family:var(--font-chinese);font-size:var(--text-ui-base);color:var(--color-text-primary);font-weight:600}.onboarding-feature span{font-family:var(--font-chinese);font-size:var(--text-ui-sm);color:var(--color-text-secondary);line-height:1.5}.onboarding-step-header{text-align:center;margin-bottom:var(--space-8)}.onboarding-step-title{font-family:var(--font-chinese);font-size:var(--text-ui-xl);color:var(--color-text-primary);margin-bottom:var(--space-2);font-weight:600}.onboarding-step-sub{font-family:var(--font-chinese);font-size:var(--text-ui-sm);color:var(--color-text-muted)}.onboarding-levels{gap:var(--space-3);flex-direction:column;display:flex}.onboarding-level{gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface-card);border-radius:var(--radius-card);cursor:pointer;text-align:left;transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast) var(--ease-spring);box-shadow:var(--shadow-soft);border:2px solid #0000;flex-direction:column;display:flex;position:relative}.onboarding-level:hover{transform:translateY(-1px)}.onboarding-level--selected{border-color:var(--color-teal-500);box-shadow:0 0 0 3px #52a79c1f,var(--shadow-soft)}.onboarding-level-head{flex-direction:column;gap:.15rem;display:flex}.onboarding-level-label{font-family:var(--font-chinese);font-size:var(--text-ui-base);color:var(--color-text-primary);font-weight:600}.onboarding-level-desc{font-family:var(--font-chinese);font-size:var(--text-ui-sm);color:var(--color-text-muted)}.onboarding-level-example{align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-sand-50);border-radius:var(--radius-card-sm);display:flex}.onboarding-level-ar{font-family:var(--font-arabic);font-size:var(--text-arabic-base);line-height:var(--lh-arabic);color:var(--color-teal-800)}.onboarding-level-zh{font-family:var(--font-chinese);font-size:var(--text-zh-sm);color:var(--color-text-muted)}.onboarding-level-play{top:var(--space-4);right:var(--space-4);background:var(--color-teal-100);width:2rem;height:2rem;color:var(--color-teal-700);cursor:pointer;transition:background var(--duration-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.onboarding-level-play:hover:not(:disabled){background:var(--color-teal-200)}.onboarding-level-play:disabled{opacity:.4;cursor:default}.onboarding-mic{align-items:center;gap:var(--space-6);padding:var(--space-8) 0;flex-direction:column;display:flex}.onboarding-mic-icon{color:var(--color-teal-600);opacity:.7}.onboarding-mic-status{font-family:var(--font-chinese);font-size:var(--text-ui-sm);color:var(--color-text-muted);text-align:center;animation:1.5s infinite onboarding-fade-pulse}@keyframes onboarding-fade-pulse{0%,to{opacity:1}50%{opacity:.5}}.onboarding-mic-success,.onboarding-mic-testing,.onboarding-mic-denied{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.onboarding-mic-check{animation:onboarding-scale-in var(--duration-enter) var(--ease-spring) both}@keyframes onboarding-scale-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.onboarding-mic-label{font-family:var(--font-chinese);font-size:var(--text-ui-base);color:var(--color-text-primary);font-weight:500}.onboarding-mic-hint{font-family:var(--font-chinese);font-size:var(--text-ui-sm);color:var(--color-text-muted);max-width:18rem;line-height:1.6}.onboarding-mic-pulse{background:var(--color-error);border-radius:50%;width:4rem;height:4rem;animation:1s infinite onboarding-pulse}@keyframes onboarding-pulse{0%{transform:scale(1);box-shadow:0 0 #a851364d}70%{transform:scale(1.05);box-shadow:0 0 0 16px #a8513600}to{transform:scale(1);box-shadow:0 0 #a8513600}}.onboarding-footer{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0));flex-direction:column;flex-shrink:0;display:flex}.onboarding-footer-row{gap:var(--space-3);width:100%;display:flex}.onboarding-dots{gap:var(--space-2);display:flex}.onboarding-dot{background:var(--color-sand-200);width:.5rem;height:.5rem;transition:background var(--duration-fast),transform var(--duration-fast) var(--ease-spring);border-radius:50%}.onboarding-dot--active{background:var(--color-teal-600);transform:scale(1.3)}.onboarding-btn{padding:var(--space-4);font-family:var(--font-chinese);font-size:var(--text-ui-base);border-radius:var(--radius-card);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),opacity var(--duration-fast);border:none;justify-content:center;align-items:center;font-weight:600;display:flex}.onboarding-btn:hover:not(:disabled){transform:translateY(-1px)}.onboarding-btn:disabled{opacity:.5;cursor:default}.onboarding-btn--primary{color:var(--color-text-inverse);background:linear-gradient(135deg,var(--color-teal-800) 0%,var(--color-teal-600) 100%);flex:1;box-shadow:0 6px 20px #2c898333}.onboarding-btn--ghost{color:var(--color-text-secondary);background:0 0;flex:.5}.onboarding-btn--ghost:hover:not(:disabled){background:var(--color-sand-100)}.onboarding-btn--mic{color:var(--color-text-inverse);background:linear-gradient(135deg,var(--color-teal-800) 0%,var(--color-teal-600) 100%);padding:var(--space-3) var(--space-6);border-radius:var(--radius-chip);box-shadow:0 6px 20px #2c898333}.onboarding-btn--outline{color:var(--color-teal-700);border:1.5px solid var(--color-teal-300);padding:var(--space-3) var(--space-5);border-radius:var(--radius-chip);background:0 0}.onboarding-btn--outline:hover:not(:disabled){background:var(--color-teal-100)}.achv-section{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface-card);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.achv-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.achv-title{font-size:var(--text-ui-base);color:var(--color-text-primary);font-weight:600}.achv-count{font-size:var(--text-ui-sm);color:var(--color-text-muted)}.achv-loading{font-size:var(--text-ui-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-4) 0}.achv-grid{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.achv-item{padding:var(--space-3) var(--space-1);border-radius:var(--radius-card-sm);text-align:center;transition:transform var(--duration-fast) var(--ease-standard);flex-direction:column;align-items:center;display:flex}.achv-item--unlocked{background:var(--color-gold-100)}.achv-item--locked{background:var(--color-sand-100);opacity:.65}.achv-icon{margin-bottom:var(--space-1);font-size:1.5rem;line-height:1}.achv-icon--locked{filter:grayscale();opacity:.4}.achv-name{font-size:var(--text-ui-xs);color:var(--color-text-primary);margin-bottom:2px;font-weight:600}.achv-date{color:var(--color-text-muted);font-size:.65rem}.achv-hint{color:var(--color-text-muted);font-size:.6rem;line-height:1.3}.achv-toast{top:var(--space-4);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,var(--color-gold-700) 0%,var(--color-gold-600) 100%);color:#fff;border-radius:var(--radius-card-sm);z-index:1000;animation:achv-toast-in .4s var(--ease-spring);max-width:90vw;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}@keyframes achv-toast-in{0%{opacity:0;transform:translate(-50%)translateY(-1.5rem)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.achv-toast-icon{font-size:1.8rem;line-height:1}.achv-toast-body{flex-direction:column;display:flex}.achv-toast-title{font-size:var(--text-ui-xs);opacity:.85}.achv-toast-name{font-size:var(--text-ui-base);font-weight:700}html{touch-action:manipulation;overscroll-behavior:none}button,[role=button],input,textarea,select,a{min-height:2.75rem}.ai-tool-btn,.conv-item-delete,.conv-item-rename,.mode-toggle,.scenario-banner-header,.error-persistent-dismiss,.stats-toast-close{min-height:2.2rem;position:relative}.ai-tool-btn:before,.conv-item-delete:before,.conv-item-rename:before,.mode-toggle:before,.error-persistent-dismiss:before{content:"";position:absolute;inset:-.35rem}.phrase-chip:active,.scenario-card:active,.conv-item:active,.onboarding-level:active,.btn-primary:active,.btn-ghost:active,.history-new-btn:active,.history-empty-btn:active,.scenario-free-btn:active,.scenario-sheet-start-btn:active,.onboarding-btn:active,.settings-preview-btn:active{transition-duration:60ms;transform:scale(.97)}.chat-container,.history-body,.settings-body,.scenario-sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth}.history-body,.settings-body{scrollbar-width:thin;scrollbar-color:#ae9b8366 transparent}.history-body::-webkit-scrollbar{width:3px}.settings-body::-webkit-scrollbar{width:3px}.history-body::-webkit-scrollbar-thumb{background:#ae9b8366;border-radius:999px}.settings-body::-webkit-scrollbar-thumb{background:#ae9b8366;border-radius:999px}:root.dark .bnav{background:linear-gradient(#192120d9,#192120f5);border-top-color:#ffffff0f;box-shadow:0 -1px #ffffff0a,0 -6px 24px #0003}:root.dark .bnav-btn{color:var(--color-text-muted)}:root.dark .bnav-btn--active{color:var(--color-teal-300)}:root.dark .bnav-indicator{background:var(--color-teal-300)}@media(max-width:360px){.bnav-svg{width:1.2rem;height:1.2rem}.bnav-label{font-size:.58rem}.achv-grid,.stats-overview-grid{grid-template-columns:repeat(2,1fr)}.seg-btn{padding:.35rem .15rem}.seg-btn-label{font-size:.78rem}.seg-btn-sub{display:none}}@media(min-width:421px)and (max-width:767px){.bnav-btn{gap:.2rem}.bnav-svg{width:1.4rem;height:1.4rem}.achv-grid{gap:var(--space-3)}.scenario-grid{gap:var(--space-4)}}@media(min-width:768px){.app-root{min-height:min(58rem,100dvh - 2rem)}.bnav{border-radius:0 0 var(--radius-shell) var(--radius-shell);border-top-color:#a978310f}.bnav-btn:hover:not(:active){color:var(--color-teal-500)}.bnav-btn--active:hover{color:var(--color-teal-700)}}@media(orientation:landscape)and (max-height:500px){.bnav{padding-bottom:0}.bnav-btn{flex-direction:row;gap:.4rem;min-height:2.4rem;padding-block:.25rem}.bnav-label{font-size:.68rem}.bnav-indicator{bottom:-.1rem}.app-content{padding-bottom:2.6rem}.settings-view,.history-view{min-height:auto}.onboarding-content{padding-block:var(--space-4)}.onboarding-hero{margin-bottom:var(--space-6)}}@media(forced-colors:active){.bnav{border-top:2px solid buttontext}.bnav-btn--active{color:highlight}.bnav-indicator{background:highlight}}@media(max-height:480px)and (orientation:portrait){.bnav{max-width:none;position:static;transform:none}.app-content{padding-bottom:0}}.skeleton{background:var(--color-sand-150);border-radius:var(--radius-card-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#fffdf880 40%,#fffdf8b3,#fffdf880 60%,#0000);animation:1.8s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.settings-header,.history-header{padding-top:calc(var(--space-6) + env(safe-area-inset-top,0))}.achv-toast,.stats-toast,.error-toast{will-change:transform,opacity}.scenario-sheet{padding-top:.5rem}.scenario-sheet:before{content:"";background:var(--color-sand-300);opacity:.5;border-radius:999px;width:2.5rem;height:.22rem;margin:0 auto .6rem;display:block}:root.dark .app-shell{background:linear-gradient(#151c1cf5,#101616fa)}:root.dark .app-shell--conversation{background:linear-gradient(#151c1cfa,#101616fa)}:root.dark .app-ambience-orb{opacity:.3}:root.dark .app-ambience-grid{opacity:.06}:root.dark .settings-section{border-bottom-color:#ffffff0f}:root.dark .settings-preview-btn{color:var(--color-teal-300);border-color:var(--color-teal-800)}:root.dark .settings-preview-btn:hover:not(:disabled){background:#52a79c1f}:root.dark .seg-control{background:#ffffff0d}:root.dark .seg-btn--active{color:var(--color-teal-300);background:#0c1617b8;box-shadow:inset 0 0 0 1px #ffffff0f,0 10px 20px #0003}:root.dark .landing-section-card,:root.dark .conversation-lead,:root.dark .stt-confirm,:root.dark .loading-state,:root.dark .error-persistent{border-color:#ffffff14}:root.dark .conversation-lead-chip,:root.dark .phrase-chip-tag,:root.dark .record-dock-kicker,:root.dark .correction-badge,:root.dark .stt-label,:root.dark .landing-section-kicker{color:var(--color-gold-300)}:root.dark .phrase-chip{background:linear-gradient(#222c2cf0,#1b2323f5);border-color:#9ed0c824;box-shadow:0 14px 28px #0003}:root.dark .phrase-chip:hover{background:linear-gradient(#263232fa,#1d2727fa);border-color:#9ed0c842}:root.dark .bubble-ai{background:linear-gradient(#1f2928f5,#182120f5);border-color:#ffffff14}:root.dark .ai-bubble-voice-ribbon{background:linear-gradient(90deg,#2e4849eb,#1e2a2afa 38%,#283a39eb);border-color:#e8c98f29}:root.dark .ai-bubble-voice-line{background:linear-gradient(90deg,#e8c98f29,#52a79c42,#e8c98f24)}:root.dark .ai-tool-btn{color:var(--color-text-secondary);background:#1e2727f0;border-color:#ffffff14}:root.dark .ai-tool-btn--replay{color:var(--color-teal-200);background:linear-gradient(#223a3af5,#1a2d2df5);border-color:#52a79c38;box-shadow:0 10px 18px #0000002e}:root.dark .ai-tool-btn--replay:hover:not(:disabled){background:linear-gradient(#264040fa,#1e3232fa);border-color:#52a79c4d}:root.dark .ai-tool-btn--hint{color:var(--color-gold-200);background:#4638214d;border-color:#e8c98f3d}:root.dark .ai-tool-btn--hint:hover:not(:disabled){color:var(--color-text-primary);background:#5644255c;border-color:#e8c98f5c}:root.dark .translation-divider{background:#d1bea52e}:root.dark .scenario-sheet{background:linear-gradient(#1f2928fa,#151c1cfc)}:root.dark .scenario-sheet:before{background:#ffffff2e}:root.dark .scenario-sheet-header,:root.dark .scenario-sheet-footer{border-color:#ffffff0f}:root.dark .scenario-sheet-close{color:var(--color-text-secondary);background:#ffffff08;border-color:#ffffff1f}:root.dark .scenario-vocab-item{background:#ffffff0d}:root.dark .scenario-vocab-item:hover:not(:disabled),:root.dark .scenario-vocab-item--playing{background:#52a79c29}:root.dark .scenario-vocab-play{color:var(--color-teal-300)}:root.dark .stats-card{border-color:var(--color-border);background:linear-gradient(#1f2928f5,#171f1ffa)}:root.dark .stats-overview-item{background:linear-gradient(#222d2dfa,#1a2424fa);border:1px solid #ffffff0f}:root.dark .stats-overview-value{color:var(--color-teal-200)}:root.dark .stats-bar-track{background:#ffffff14}:root.dark .stats-weakpoint-item{border-left-color:var(--color-teal-500);background:#202a2af0}:root.dark .stats-toast{background:linear-gradient(135deg,#236f70fa,#1a595dfa);box-shadow:0 10px 22px #0000003d}:root.dark .scenario-card{background:linear-gradient(#1f2928eb,#192322eb);border-color:#ffffff0f}:root.dark .scenario-free-btn{border-color:#ffffff1a}:root.dark .scenario-free-btn:hover{color:var(--color-teal-300)}:root.dark .history-header{border-bottom-color:#ffffff0f}html.theme-transition,html.theme-transition *,html.theme-transition :before,html.theme-transition :after{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s!important}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--radius-sm:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.block{display:block}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
