.loading-indicator{display:inline-flex;align-items:center;justify-content:center}.loading-indicator__text{color:var(--color-primary);font-weight:400;line-height:1.5}.loading-indicator--small .loading-indicator__text{font-size:.9em}.loading-indicator--medium .loading-indicator__text{font-size:1em}.loading-indicator--large .loading-indicator__text{font-size:1.2em}.loading-indicator--centered{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:10em}.loading-indicator--centered.loading-indicator--large{min-height:100vh;min-height:100dvh}.toast-container{position:fixed;top:1em;right:1em;z-index:9999;display:flex;flex-direction:column;gap:.5em;pointer-events:none}.toast{min-width:18em;max-width:24em;padding:1em;background-color:#fff;border-radius:.5em;box-shadow:0 .25em 1em #00000026;display:flex;align-items:center;justify-content:space-between;gap:.75em;pointer-events:auto;animation:toast-slide-in .3s ease-out;border-left-width:.25em;border-left-style:solid}.toast-content{display:flex;align-items:center;gap:.75em;flex:1;min-width:0}.toast-icon{font-size:1.25em;font-weight:700;flex-shrink:0}.toast-message{font-size:.9375em;line-height:1.4;color:#333;word-break:break-word}.toast-close{background:none;border:0;padding:.25em;font-size:1.125em;color:#666;cursor:pointer;flex-shrink:0;transition:color .2s ease;line-height:1}.toast-close:hover{color:#333}.toast-close:focus{outline:2px solid #007bff;outline-offset:.125em}.toast-success{border-left-color:#28a745}.toast-success .toast-icon{color:#28a745}.toast-error{border-left-color:#dc3545}.toast-error .toast-icon{color:#dc3545}.toast-info{border-left-color:#17a2b8}.toast-info .toast-icon{color:#17a2b8}@keyframes toast-slide-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-s);padding:var(--spacing-s) var(--spacing-l);border-radius:var(--radius-s);font-size:var(--font-size-m);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);line-height:var(--line-height-tight);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all var(--duration-fast) var(--ease-standard);border:none;min-height:2.75em}.button:focus{outline:none;box-shadow:var(--shadow-focus)}.button-primary{background:var(--color-primary-gradient);box-shadow:var(--shadow-button)}.button-primary:hover:not(:disabled){box-shadow:var(--shadow-button-hover);transform:translateY(-.25em)}.button-primary:active:not(:disabled){box-shadow:var(--shadow-button);transform:translateY(-.125em)}.button-secondary{background:var(--color-secondary-gradient);box-shadow:0 2px 8px #5856d626}.button-secondary:hover:not(:disabled){box-shadow:0 4px 16px #5856d640;transform:translateY(-.25em)}.button-secondary:active:not(:disabled){box-shadow:0 2px 8px #5856d626;transform:translateY(-.125em)}.button-danger{background:var(--color-error);box-shadow:var(--shadow-button)}.button-danger:hover:not(:disabled){background-color:var(--color-error-hover);box-shadow:var(--shadow-button-hover);transform:translateY(-.25em)}.button-danger:active:not(:disabled){background-color:var(--color-error-active);box-shadow:var(--shadow-button);transform:translateY(-.125em)}.button-text{background-color:transparent;color:var(--color-primary);box-shadow:none}.button-text:hover:not(:disabled){background-color:var(--color-primary-light);color:var(--color-primary-hover)}.button-text:active:not(:disabled){background-color:var(--color-primary-light);color:var(--color-primary-active)}.button:disabled{background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed;box-shadow:none;transform:none;opacity:.6}.modal-backdrop{position:fixed;inset:0;background-color:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--duration-fast) var(--ease-standard)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-l);box-shadow:var(--shadow-modal);max-width:90vw;max-height:90vh;overflow-y:auto;animation:slideUp var(--duration-normal) var(--ease-decelerate)}@keyframes slideUp{0%{opacity:0;transform:translateY(2em)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-l);border-bottom:2px solid var(--color-border-light)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-close{width:2em;height:2em;border-radius:var(--radius-s);background:none;border:none;font-size:var(--font-size-l);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-standard)}.modal-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-l)}.legal-modal-backdrop{z-index:var(--z-modal-stacked)}.legal-modal-content{min-height:20em;max-width:50em}.legal-modal-text{font-family:var(--font-family-base);font-size:.875em;line-height:1.6;color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word;margin:0;padding:0}.legal-modal-text h1,.legal-modal-text h2,.legal-modal-text h3{margin:0;padding-top:1em;padding-bottom:.5em}.legal-modal-text h1{font-size:1.5em;font-weight:var(--font-weight-bold)}.legal-modal-text h2{font-size:1.25em;font-weight:var(--font-weight-semibold)}.legal-modal-text h3{font-size:1.1em;font-weight:var(--font-weight-semibold)}.legal-modal-text p{margin:0;padding-bottom:1em}.legal-modal-text ul,.legal-modal-text ol{margin:0;padding-left:2em;padding-bottom:1em}.legal-modal-text li{margin:0;padding-bottom:.25em}.legal-modal-text strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.legal-modal-text a{color:var(--color-primary);text-decoration:underline}.legal-modal-text a:hover{color:var(--color-primary-dark)}.legal-modal-text code{font-family:monospace;background-color:var(--color-bg-secondary);padding:.125em .25em;border-radius:var(--radius-s)}.legal-modal-loading{padding:2em;text-align:center;color:var(--color-text-secondary, #666);font-size:1em}.legal-modal-text .section-spacing{padding-top:1.5em}.legal-modal-text hr{margin:0;padding:2em 0;border:none;border-top:1px solid #ddd}.legal-modal-text .last-updated{font-size:.9em;color:#666;padding-bottom:0}.landing-page{display:none;flex-direction:column;gap:var(--spacing-xl);padding:var(--spacing-xl);background-color:var(--color-bg-primary);border-right:2px solid var(--color-border-light);overflow-y:auto;height:100vh;box-sizing:border-box;font-size:var(--font-size-m)}@media (min-width: 1024px){.landing-page{display:flex}}.landing-section{display:flex;flex-direction:column;gap:var(--spacing-l);padding:0;margin:0}.landing-section__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0;padding:0}.landing-section--features,.landing-section--how-it-works,.landing-section--live-activity,.landing-section--stats{padding-top:var(--spacing-l);border-top:1px solid var(--color-border-light)}.landing-hero{align-items:center;text-align:center;gap:var(--spacing-m);padding:var(--spacing-l) 0;background:linear-gradient(180deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);border-radius:var(--radius-m)}.landing-hero__logo{color:var(--color-primary);line-height:1}.landing-hero__title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0;padding:0}.landing-hero__tagline{font-size:var(--font-size-m);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0;padding:0}.landing-hero .language-switcher{margin-top:var(--spacing-s)}.landing-features{display:flex;flex-direction:column;gap:var(--spacing-m)}.landing-feature{display:flex;flex-direction:column;gap:var(--spacing-s);padding:var(--spacing-l);background-color:var(--color-bg-secondary);border-radius:var(--radius-m);align-items:flex-start;box-shadow:var(--shadow-s);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);cursor:default}.landing-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-l)}.landing-feature__icon{color:var(--color-primary);line-height:1;background-color:#007aff1a;border-radius:var(--radius-full);padding:var(--spacing-m);width:3em;height:3em;display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--ease-standard)}.landing-feature:hover .landing-feature__icon{transform:scale(1.1)}.landing-feature__title{font-size:var(--font-size-l);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0;padding:0}.landing-feature__description{font-size:var(--font-size-s);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0;padding:0}.landing-how-it-works{display:flex;flex-direction:column;gap:var(--spacing-m)}.landing-step{display:flex;flex-direction:column;gap:var(--spacing-s);padding:var(--spacing-m);background-color:var(--color-bg-secondary);border-radius:var(--radius-m);border-left:3px solid var(--color-primary);box-shadow:var(--shadow-s);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),border-left-color var(--duration-fast) var(--ease-standard);cursor:default}.landing-step:hover{transform:translate(4px);box-shadow:var(--shadow-m);border-left-color:var(--color-primary-hover)}.landing-step__number{width:2em;height:2em;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--font-size-l);font-weight:var(--font-weight-bold);line-height:1}.landing-step__title{font-size:var(--font-size-l);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0;padding:0}.landing-step__text{font-size:var(--font-size-s);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0;padding:0}.landing-live-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-s);padding:var(--spacing-xl);background-color:var(--color-bg-secondary);border-radius:var(--radius-m);text-align:center}.landing-live-indicator__dot{width:.75em;height:.75em;background-color:var(--color-success);border-radius:50%;animation:pulse 2s ease-in-out infinite}.landing-live-indicator__label{font-size:var(--font-size-m);color:var(--color-text-secondary);line-height:var(--line-height-tight);margin:0;padding:0}.landing-live-indicator__value{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-success);line-height:var(--line-height-tight);margin:0;padding:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.landing-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(10em,1fr));gap:var(--spacing-m)}.landing-stat{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-l);background-color:var(--color-bg-secondary);border-radius:var(--radius-m);text-align:center;box-shadow:var(--shadow-s);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);cursor:default}.landing-stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-l)}.landing-stat__icon{color:var(--color-primary);line-height:1}.landing-stat__label{font-size:var(--font-size-s);color:var(--color-text-secondary);line-height:var(--line-height-tight);margin:0;padding:0}.landing-stat__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:var(--line-height-tight);margin:0;padding:0}.landing-footer{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-m);padding-top:var(--spacing-l);border-top:1px solid var(--color-border-light);margin:0}.landing-footer__links{display:flex;align-items:center;justify-content:center;gap:var(--spacing-s);flex-wrap:wrap}.landing-footer__link{font-size:var(--font-size-s);color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard);background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.landing-footer__link:hover{color:var(--color-primary-hover);text-decoration:underline}.landing-footer__link:focus{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-s)}.landing-footer__divider{font-size:var(--font-size-s);color:var(--color-text-tertiary)}.landing-footer__copyright{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:var(--line-height-tight);text-align:center;margin:0;padding:0}@media (prefers-reduced-motion: reduce){.landing-footer__link,.landing-feature,.landing-feature__icon,.landing-step,.landing-stat{transition:none}.landing-feature:hover,.landing-step:hover,.landing-stat:hover,.landing-feature:hover .landing-feature__icon{transform:none}.landing-live-indicator__dot{animation:none}}.landing-footer__link:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media print{.landing-page{display:none}}.language-switcher-overlay{position:fixed;bottom:2em;right:2em;z-index:9999}.language-switcher-button{display:flex;align-items:center;justify-content:center;width:3.5em;height:3.5em;padding:0;background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #dee2e6;border-radius:50%;cursor:pointer;font-size:1em;transition:all .3s ease;box-shadow:0 .25em .75em #00000026,0 .125em .25em #0000001a;margin:0}.language-switcher-button:hover{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-color:#adb5bd;box-shadow:0 .375em 1em #0003,0 .125em .375em #00000026;transform:translateY(-2px)}.language-switcher-button:active{transform:translateY(0);box-shadow:0 .125em .5em #00000026,0 .0625em .125em #0000001a}.language-switcher-button:focus-visible{outline:3px solid #007AFF;outline-offset:3px}.language-switcher-button .language-flag{font-size:1.75em;line-height:1}.language-dropdown{position:absolute;bottom:calc(100% + .75em);right:0;min-width:15em;max-width:20em;background-color:#fff;border:1px solid #dee2e6;border-radius:.75em;box-shadow:0 .5em 1.5em #00000026,0 .25em .5em #0000001a;overflow:hidden;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(.5em) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.language-option{display:flex;align-items:center;gap:.75em;width:100%;padding:.875em 1.25em;background:none;border:none;cursor:pointer;font-size:1em;text-align:left;transition:background-color .15s ease;margin:0}.language-option:hover{background-color:#f8f9fa}.language-option:focus-visible{background-color:#e9ecef;outline:2px solid #007AFF;outline-offset:-2px}.language-option.active{background-color:#e3f2fd}.language-option.active:hover{background-color:#bbdefb}.language-option .language-flag{font-size:1.5em;line-height:1}.language-option .language-name{flex:1;font-weight:500;color:#212529}.checkmark{color:#007aff;font-weight:700;font-size:1.2em}.legal-footer{width:100%;display:flex;justify-content:center;align-items:center;padding:1em 1.5em;background-color:var(--color-bg-primary);border-top:1px solid var(--color-border-light)}.legal-footer-links{display:flex;align-items:center;gap:.5em}.legal-footer-link{font-size:.875em;color:var(--color-text-secondary);background:none;border:none;margin:0;cursor:pointer;text-decoration:none;transition:color var(--duration-fast) var(--ease-standard);padding:0 .5em}.legal-footer-link:hover{color:var(--color-text-primary);text-decoration:underline}.legal-footer-link:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-s)}.legal-footer-separator{font-size:.875em;color:var(--color-text-tertiary)}.app-container{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;overflow:hidden;background-color:var(--color-bg-primary);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-main{display:flex;flex:1;width:100%;overflow:hidden;flex-direction:row}.chat-interface{display:flex;flex-direction:column;width:100%;overflow:hidden}:root{--color-primary: #007AFF;--color-primary-hover: #0051D5;--color-primary-active: #003DA5;--color-primary-light: #E5F2FF;--color-primary-dark: #003DA5;--color-primary-gradient: linear-gradient(135deg, #007AFF 0%, #0A84FF 100%);--color-secondary: #5856D6;--color-secondary-hover: #4340B8;--color-secondary-light: #EFEEFC;--color-secondary-gradient: linear-gradient(135deg, #5856D6 0%, #7B79E8 100%);--color-tertiary: #EC4899;--color-tertiary-hover: #F472B6;--color-tertiary-light: #FCE7F3;--color-tertiary-gradient: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);--color-success: #10B981;--color-success-light: #D1FAE5;--color-warning: #FF9500;--color-warning-light: #FFF3E0;--color-error: #FF3B30;--color-error-hover: #E63528;--color-error-active: #CC2E23;--color-error-light: #FFEBEE;--color-error-pulse: rgba(255, 59, 48, .5);--color-error-pulse-transparent: rgba(255, 59, 48, 0);--color-info: #3B82F6;--color-info-light: #DBEAFE;--color-speaking-user: #34C759;--color-speaking-partner: #FF9500;--color-speaking-pulse: rgba(52, 199, 89, .3);--color-bg-primary: #FFFFFF;--color-bg-secondary: #F9FAFB;--color-bg-tertiary: #F3F4F6;--color-bg-overlay: rgba(0, 0, 0, .4);--color-bg-glass: rgba(255, 255, 255, .8);--color-bg-gradient: linear-gradient(180deg, #FFFFFF 0%, #F9FAFB 100%);--color-text-primary: #111827;--color-text-secondary: #6B7280;--color-text-tertiary: #9CA3AF;--color-text-inverse: #FFFFFF;--color-border: #E5E7EB;--color-border-light: #F3F4F6;--color-border-focus: #007AFF;--color-border-hover: #B3D9FF;--color-rtl-indicator: #5856D6;--breakpoint-mobile-max: 63.9375em;--breakpoint-desktop-min: 64em;--layout-sidebar-width: 40%;--layout-main-width: 60%;--layout-transition-duration: .3s;--font-size-xs: .75em;--font-size-s: .875em;--font-size-m: 1em;--font-size-l: 1.25em;--font-size-xl: 1.5em;--font-size-xxl: 2em;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--spacing-xs: .25em;--spacing-s: .5em;--spacing-m: 1em;--spacing-l: 1.5em;--spacing-xl: 2em;--spacing-xxl: 3em;--spacing-component-internal: var(--spacing-s);--spacing-component-gap: var(--spacing-m);--spacing-section-gap: var(--spacing-xl);--spacing-panel-padding: var(--spacing-l);--radius-xs: .25em;--radius-s: .375em;--radius-m: .5em;--radius-l: .75em;--radius-xl: 1em;--radius-xxl: 1.5em;--radius-full: 50%;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-s: 0 2px 8px rgba(0, 0, 0, .06);--shadow-m: 0 4px 16px rgba(0, 0, 0, .08);--shadow-l: 0 8px 24px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .12);--shadow-button: 0 2px 8px rgba(0, 122, 255, .15);--shadow-button-hover: 0 4px 16px rgba(0, 122, 255, .25);--shadow-card: 0 4px 16px rgba(0, 0, 0, .06);--shadow-modal: 0 20px 48px rgba(0, 0, 0, .15);--shadow-focus: 0 0 0 3px rgba(0, 122, 255, .2);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .04);--z-base: 0;--z-panels: 10;--z-dropdown: 100;--z-overlay: 500;--z-modal: 1000;--z-modal-stacked: 1500;--z-toast: 2000;--z-tooltip: 3000;--duration-instant: .1s;--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .5s;--duration-slower: 1s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}*,*:before,*:after{box-sizing:border-box}*{padding:0;margin:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{max-width:100vw;overflow-x:hidden;font-family:var(--font-family-primary);font-size:var(--font-size-m);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{text-decoration:underline;color:var(--color-primary-hover)}button{font-family:inherit}.flex{display:flex}.flex-column{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-start{display:flex;justify-content:flex-start;align-items:flex-start}.flex-end{display:flex;justify-content:flex-end;align-items:flex-end}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.align-start{align-items:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-s{gap:var(--spacing-s)}.gap-m{gap:var(--spacing-m)}.gap-l{gap:var(--spacing-l)}.gap-xl{gap:var(--spacing-xl)}.gap-xxl{gap:var(--spacing-xxl)}.p-xs{padding:var(--spacing-xs)}.p-s{padding:var(--spacing-s)}.p-m{padding:var(--spacing-m)}.p-l{padding:var(--spacing-l)}.p-xl{padding:var(--spacing-xl)}.p-xxl{padding:var(--spacing-xxl)}.pt-xs{padding-top:var(--spacing-xs)}.pt-s{padding-top:var(--spacing-s)}.pt-m{padding-top:var(--spacing-m)}.pt-l{padding-top:var(--spacing-l)}.pt-xl{padding-top:var(--spacing-xl)}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-s{padding-bottom:var(--spacing-s)}.pb-m{padding-bottom:var(--spacing-m)}.pb-l{padding-bottom:var(--spacing-l)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-xs{padding-left:var(--spacing-xs)}.pl-s{padding-left:var(--spacing-s)}.pl-m{padding-left:var(--spacing-m)}.pl-l{padding-left:var(--spacing-l)}.pl-xl{padding-left:var(--spacing-xl)}.pr-xs{padding-right:var(--spacing-xs)}.pr-s{padding-right:var(--spacing-s)}.pr-m{padding-right:var(--spacing-m)}.pr-l{padding-right:var(--spacing-l)}.pr-xl{padding-right:var(--spacing-xl)}.text-xs{font-size:var(--font-size-xs)}.text-s{font-size:var(--font-size-s)}.text-m{font-size:var(--font-size-m)}.text-l{font-size:var(--font-size-l)}.text-xl{font-size:var(--font-size-xl)}.text-xxl{font-size:var(--font-size-xxl)}.text-regular{font-weight:var(--font-weight-regular)}.text-medium{font-weight:var(--font-weight-medium)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-mono{font-family:var(--font-family-mono)}.border-s{border-width:1px;border-style:solid}.border-m{border-width:2px;border-style:solid}.border-l{border-width:3px;border-style:solid}.border-radius-xs{border-radius:var(--radius-xs)}.border-radius-s{border-radius:var(--radius-s)}.border-radius-m{border-radius:var(--radius-m)}.border-radius-l{border-radius:var(--radius-l)}.border-radius-xl{border-radius:var(--radius-xl)}.border-radius-xxl{border-radius:var(--radius-xxl)}.border-radius-full{border-radius:var(--radius-full)}.border-color-primary{border-color:var(--color-border)}.border-color-light{border-color:var(--color-border-light)}.border-color-focus{border-color:var(--color-border-focus)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.input,.textarea{display:block;width:100%;padding:var(--spacing-s) var(--spacing-m);font-family:var(--font-family-primary);font-size:var(--font-size-m);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--radius-s);transition:border-color var(--duration-fast) var(--ease-standard)}.input:hover,.textarea:hover{border-color:var(--color-border-hover)}.input:focus,.textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.input::placeholder,.textarea::placeholder{color:var(--color-text-tertiary)}.textarea{resize:vertical;min-height:6em}.card{padding:var(--spacing-l);background-color:var(--color-bg-primary);border-radius:var(--radius-m);box-shadow:var(--shadow-card)}.panel{padding:var(--spacing-xl);background-color:var(--color-bg-secondary);border-radius:var(--radius-l)}.card-glass{padding:var(--spacing-l);background-color:var(--color-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-m);box-shadow:var(--shadow-card)}.speaking-indicator-user{color:var(--color-speaking-user);animation:pulse 1.5s infinite}.speaking-indicator-partner{color:var(--color-speaking-partner);animation:pulse 1.5s infinite}.message-status-sent,.message-status-received,.connection-status-connected{color:var(--color-success)}.connection-status-connecting{color:var(--color-warning)}.connection-status-disconnected{color:var(--color-error)}.error-message{padding:var(--spacing-s) var(--spacing-m);background-color:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-s);font-size:var(--font-size-s)}.success-message{padding:var(--spacing-s) var(--spacing-m);background-color:var(--color-success-light);color:var(--color-success);border-radius:var(--radius-s);font-size:var(--font-size-s)}.warning-message{padding:var(--spacing-s) var(--spacing-m);background-color:var(--color-warning-light);color:var(--color-warning);border-radius:var(--radius-s);font-size:var(--font-size-s)}.info-message{padding:var(--spacing-s) var(--spacing-m);background-color:var(--color-info-light);color:var(--color-info);border-radius:var(--radius-s);font-size:var(--font-size-s)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-m);padding:var(--spacing-xl);text-align:center;flex:1}.empty-state__icon{font-size:var(--font-size-xxl);line-height:1;opacity:.6}.empty-state__message{font-size:var(--font-size-m);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.empty-state__hint{font-size:var(--font-size-s);color:var(--color-text-tertiary)}.empty-state--error .empty-state__message{color:var(--color-error)}.empty-state--warning .empty-state__message{color:var(--color-warning)}.empty-state--success .empty-state__message{color:var(--color-success)}.pulse{animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.slide-in{animation:slide-in var(--duration-normal) var(--ease-decelerate)}@keyframes slide-in{0%{opacity:0;transform:translateY(-.5em)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in var(--duration-normal) var(--ease-standard)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-out{animation:fade-out var(--duration-normal) var(--ease-standard)}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.shake{animation:shake var(--duration-normal) var(--ease-standard)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-.5em)}75%{transform:translate(.5em)}}.spin{animation:spin var(--duration-slower) linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bounce{animation:bounce 1.4s infinite}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-.5em)}}.speaking-pulse{animation:speaking-pulse 1.5s infinite}@keyframes speaking-pulse{0%,to{box-shadow:0 0 0 0 var(--color-speaking-pulse)}50%{box-shadow:0 0 0 1em var(--color-speaking-pulse)}}.width-full{width:100%}.height-full{height:100%}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.hidden{display:none}.visible{display:block}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.user-select-none{-webkit-user-select:none;user-select:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}*:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}button:focus,.button:focus{outline:none;box-shadow:var(--shadow-focus)}.skip-link{position:absolute;top:-100em;left:0;padding:var(--spacing-s) var(--spacing-m);background-color:var(--color-primary);color:var(--color-text-inverse);z-index:10000;text-decoration:none;font-weight:var(--font-weight-semibold)}.skip-link:focus{top:0}.layout-sidebar{width:var(--layout-sidebar-width, 40%);overflow-y:auto;border-right:2px solid var(--color-border-light);flex-shrink:0}.layout-main{width:var(--layout-main-width, 60%);display:flex;flex-direction:column;flex:1;overflow:hidden}.layout-dual-container{display:flex;flex-direction:row;width:100%;height:100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spin,.spinner{animation:spin 1s linear infinite}}[dir=rtl]{direction:rtl;text-align:right}[dir=rtl] .flex-row{flex-direction:row-reverse}[dir=rtl] .icon-directional{transform:scaleX(-1)}
