html{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.message-text,.transcript-text{-webkit-user-select:text;user-select:text}html,body{position:fixed;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}:root{--color-bg-primary: var(--color-background-primary);--color-bg-secondary: var(--color-background-secondary);--color-bg-tertiary: var(--color-background-tertiary);--color-bg-elevated: var(--color-background-elevated);--color-bg-glass: var(--color-background-glass);--color-border-subtle: var(--color-border-subtle);--color-border-medium: var(--color-border-medium);--color-text-primary: var(--color-text-primary);--color-text-secondary: var(--color-text-secondary);--color-text-muted: var(--color-text-muted);--color-text-dimmed: var(--color-text-dimmed);--ambient-warmth: 0;--color-accent: var(--color-accent-primary);--color-accent-hover: var(--color-accent-hover);--color-accent-glow: var(--color-accent-glow);--color-success: var(--color-semantic-success);--color-error: var(--color-semantic-error);--color-warning: var(--color-semantic-warning);--persona-primary: var(--skin-primary, var(--color-ferni, #4a6741));--persona-secondary: var(--skin-secondary, var(--color-ferni-secondary, #3d5a35));--persona-glow: var(--skin-glow, var(--color-ferni-glow, rgba(74, 103, 65, .28)));--persona-tint: rgba(74, 103, 65, .06);--persona-bg-tint: var(--persona-tint);--persona-accent-text: var(--color-accent-text, #4a6741);--persona-text: var(--persona-primary);--color-ferni-text: var(--color-ferni, #4a6741);--color-peter-text: var(--color-peter, #3a6b73);--color-alex-text: var(--color-alex, #5a6b8a);--color-maya-text: var(--color-maya, #a67a6a);--color-jordan-text: var(--color-jordan, #c4856a);--color-nayan-text: var(--color-nayan, #b8956a);--color-eli-text: var(--color-eli, #6B5B95);--color-marcus-text: var(--color-marcus, #2D5A4A);--color-kenji-text: var(--color-kenji, #2C3E50);--color-carmen-text: var(--color-carmen, #D4A373);--color-amara-text: var(--color-amara, #7B6BA8);--color-sasha-text: var(--color-sasha, #E07B53);--color-ray-text: var(--color-ray, #4A5568);--gradient-radial: radial-gradient( ellipse 80% 50% at 50% -10%, var(--persona-glow) 0%, transparent 60% );--gradient-orb: linear-gradient(145deg, var(--persona-secondary) 0%, var(--persona-primary) 100%);--gradient-surface: linear-gradient( 180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, 0) 100% );--gradient-shine: linear-gradient( 135deg, rgba(255, 255, 255, .1) 0%, transparent 50%, rgba(255, 255, 255, .05) 100% );--phi: 1.618033988749895;--phi-inverse: .618033988749895;--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.618rem;--space-xl: 2.618rem;--space-2xl: 4.236rem;--space-3xl: 6.854rem;--timing-fast: 233ms;--timing-base: 377ms;--timing-slow: .61s;--timing-slower: 987ms;--timing-slowest: 1597ms;--size-xs: 8px;--size-sm: 13px;--size-md: 21px;--size-lg: 34px;--size-xl: 55px;--size-2xl: 89px;--size-3xl: 144px;--size-4xl: 233px;--avatar-hero: 120px;--avatar-hero-lg: 110px;--avatar-hero-md: 100px;--avatar-hero-sm: 90px;--avatar-hero-xs: 80px;--avatar-ring-gap: 10px;--avatar-text-ratio: .3;--btn-height-lg: 52px;--btn-height-md: 48px;--btn-height-sm: 46px;--btn-height-xs: 44px;--btn-padding-x: 32px;--btn-padding-y: 14px;--btn-min-width: min(140px, 100%);--btn-radius: 26px;--waveform-height-lg: 48px;--waveform-height-md: 44px;--waveform-height-sm: 40px;--waveform-height-xs: 36px;--waveform-bar-gap: 4px;--roster-container-lg: 52px;--roster-container-md: 48px;--roster-container-sm: 44px;--roster-avatar-lg: 42px;--roster-avatar-md: 38px;--roster-avatar-sm: 36px;--roster-gap-lg: 8px;--roster-gap-sm: 6px;--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;--font-accent: "Sora", "Plus Jakarta Sans", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--text-2xs: clamp(.625rem, .6rem + .1vw, .6875rem);--text-xs: clamp(.6875rem, .65rem + .15vw, .75rem);--text-sm: clamp(.8125rem, .775rem + .15vw, .875rem);--text-base: clamp(.9375rem, .875rem + .25vw, 1rem);--text-lg: clamp(1rem, .925rem + .3vw, 1.125rem);--text-xl: clamp(1.125rem, 1rem + .5vw, 1.375rem);--text-2xl: clamp(1.375rem, 1.2rem + .7vw, 1.75rem);--text-3xl: clamp(1.75rem, 1.5rem + 1vw, 2.25rem);--text-4xl: clamp(2rem, 1.7rem + 1.2vw, 2.75rem);--text-5xl: clamp(2.5rem, 2rem + 2vw, 3.5rem);--leading-none: 1;--leading-tight: clamp(1.15, 1.1 + .2vw, 1.25);--leading-snug: clamp(1.3, 1.25 + .15vw, 1.4);--leading-normal: clamp(1.5, 1.45 + .1vw, 1.6);--leading-relaxed: clamp(1.6, 1.55 + .1vw, 1.75);--leading-loose: 2;--tracking-tighter: -.04em;--tracking-tight: clamp(-.03em, -.025em + -.01vw, -.02em);--tracking-normal: 0;--tracking-wide: clamp(.02em, .015em + .01vw, .03em);--tracking-wider: clamp(.04em, .03em + .02vw, .06em);--tracking-widest: .1em;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--reading-width-narrow: 45ch;--reading-width: 60ch;--reading-width-wide: 75ch;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .2), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .35), 0 8px 10px -6px rgba(0, 0, 0, .2);--shadow-glow: 0 0 40px -10px var(--color-accent-glow);--shadow-inner: inset 0 1px 0 rgba(255, 255, 255, .05);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s var(--ease-out-quart);--transition-base: .2s var(--ease-out-quart);--transition-slow: .35s var(--ease-out-expo);--transition-slower: .5s var(--ease-out-expo);--z-base: 0;--z-raised: 1;--z-content: 10;--z-floating: 20;--z-overlay: 30;--z-sticky: 100;--z-dropdown: 1000;--z-modal-backdrop: 2000;--z-modal: 2100;--z-modal-elevated: 2200;--z-notification: 3000;--z-loading: 4000;--z-system: 9999;--z-elevated: 10;--z-toast: 3000;--backdrop-light: rgba(20, 16, 14, .4);--backdrop-medium: rgba(20, 16, 14, .6);--backdrop-heavy: rgba(20, 16, 14, .75);--heart-size: 36px;--heart-icon: 18px;--heart-offset: -4px;--roster-container: 48px;--roster-avatar: 44px;--roster-ring-offset: 4px;--roster-ring-width: 2px;--roster-text: 14px;--roster-name: 10px;--roster-gap: 6px;--roster-padding: 6px 8px;--roster-show-name: 1;--panel-width: min(360px, 100%);--panel-max-width: 85vw;--modal-width: clamp(336px, 90vw, 480px);--modal-max-width: 90vw;--modal-fullscreen-breakpoint: 480px;--container-max-width: clamp(420px, 90vw, 600px);--container-padding: var(--space-md);--avatar-hero-size: 120px;--avatar-ring-inset: -10px;--avatar-ring-width: 2px;--avatar-text-size: 2.5rem;--waveform-height: 48px;--waveform-bar-height: 40px;--waveform-bar-width: 4px;--waveform-gap: 4px;--btn-primary-height: 52px;--btn-primary-padding: 14px 32px;--btn-secondary-height: 46px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--content-inset-top: max(var(--safe-top), var(--space-md));--content-inset-bottom: max(var(--safe-bottom), var(--space-md));--landscape-compact: 0;--shadow-2xs: 0 1px 2px rgba(0, 0, 0, .03), 0 1px 1px rgba(0, 0, 0, .04);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .05);--shadow-s: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .04), 0 4px 8px rgba(0, 0, 0, .04);--shadow-m: 0 2px 4px rgba(0, 0, 0, .04), 0 4px 8px rgba(0, 0, 0, .04), 0 8px 16px rgba(0, 0, 0, .04);--shadow-l: 0 2px 4px rgba(0, 0, 0, .03), 0 8px 16px rgba(0, 0, 0, .04), 0 16px 32px rgba(0, 0, 0, .05);--shadow-xl-layered: 0 4px 8px rgba(0, 0, 0, .03), 0 12px 24px rgba(0, 0, 0, .04), 0 24px 48px rgba(0, 0, 0, .06);--shadow-persona-sm: 0 2px 8px color-mix(in srgb, var(--persona-primary) 15%, transparent);--shadow-persona-md: 0 4px 16px color-mix(in srgb, var(--persona-primary) 20%, transparent);--shadow-persona-lg: 0 8px 32px color-mix(in srgb, var(--persona-primary) 25%, transparent);--ease-spring-soft: cubic-bezier(.34, 1.56, .64, 1);--ease-spring-medium: cubic-bezier(.175, .885, .32, 1.275);--ease-spring-bouncy: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring-snappy: cubic-bezier(.5, 1.8, .5, .8);--ease-smooth-out: cubic-bezier(0, 0, .2, 1);--ease-smooth-in: cubic-bezier(.4, 0, 1, 1);--ease-smooth-in-out: cubic-bezier(.4, 0, .2, 1);--transform-press: scale(.97);--transform-hover-lift: translateY(-2px);--transform-hover-subtle: translateY(-1px);--transform-active: scale(.98) translateY(1px);--transform-pop: scale(1.02);--focus-ring-width: 2px;--focus-ring-offset: 3px;--focus-ring-color: var(--persona-primary);--focus-ring-shadow: 0 0 0 var(--focus-ring-offset) var(--color-bg-primary), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color);--skeleton-base: var(--color-bg-tertiary);--skeleton-shine: var(--color-bg-elevated);--skeleton-gradient: linear-gradient( 90deg, var(--skeleton-base) 0%, var(--skeleton-shine) 50%, var(--skeleton-base) 100% );--stagger-1: 0ms;--stagger-2: 50ms;--stagger-3: .1s;--stagger-4: .15s;--stagger-5: .2s;--stagger-6: .25s;--stagger-7: .3s;--stagger-8: .35s;--glass-blur: 12px;--glass-blur-heavy: 20px;--glass-saturation: 1.2;--glass-bg-light: rgba(255, 255, 255, .7);--glass-bg-dark: rgba(0, 0, 0, .3);--glass-border: rgba(255, 255, 255, .2)}[data-persona=ferni]{--persona-primary: #4a6741;--persona-secondary: #3d5a35;--persona-glow: rgba(74, 103, 65, .32);--persona-bg-tint: rgba(74, 103, 65, .08)}[data-persona=peter-john]{--persona-primary: #3a6b73;--persona-secondary: #2d5359;--persona-glow: rgba(58, 107, 115, .32);--persona-bg-tint: rgba(58, 107, 115, .08)}[data-persona=nayan-patel]{--persona-primary: #b8956a;--persona-secondary: #9a7a52;--persona-glow: rgba(184, 149, 106, .35);--persona-bg-tint: rgba(184, 149, 106, .08)}[data-persona=alex-chen]{--persona-primary: #5a6b8a;--persona-secondary: #4a5a73;--persona-glow: rgba(90, 107, 138, .32);--persona-bg-tint: rgba(90, 107, 138, .08)}[data-persona=maya-santos]{--persona-primary: #a67a6a;--persona-secondary: #8a635a;--persona-glow: rgba(166, 122, 106, .32);--persona-bg-tint: rgba(166, 122, 106, .08)}[data-persona=jordan-taylor]{--persona-primary: #c4856a;--persona-secondary: #a86d55;--persona-glow: rgba(196, 133, 106, .32);--persona-bg-tint: rgba(196, 133, 106, .08)}[data-persona=nayan-patel],[data-persona=lifetime-advisor]{--persona-primary: #b8956a;--persona-secondary: #9a7a52;--persona-glow: rgba(184, 149, 106, .35);--persona-bg-tint: rgba(184, 149, 106, .1)}[data-theme=zen]{--gradient-radial: radial-gradient( ellipse 80% 50% at 50% -10%, var(--persona-glow) 0%, transparent 60% );--gradient-surface: linear-gradient(180deg, rgba(0, 0, 0, .02) 0%, rgba(0, 0, 0, 0) 100%);--gradient-shine: linear-gradient( 135deg, rgba(255, 255, 255, .8) 0%, transparent 50%, rgba(255, 255, 255, .4) 100% );--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .06);--shadow-glow: 0 0 40px -10px var(--color-accent-glow);--shadow-inner: inset 0 1px 0 rgba(255, 255, 255, .8);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .03), 0 0 0 1px rgba(0, 0, 0, .02)}[data-theme=zen] body{background:linear-gradient(180deg,var(--color-background-primary) 0%,var(--color-background-tertiary) 100%)}[data-theme=zen] #app{background:linear-gradient(180deg,var(--color-background-primary) 0%,var(--color-background-tertiary) 100%);filter:none}[data-theme=zen] #app:before{background:radial-gradient(ellipse 80% 50% at 50% -10%,var(--persona-glow) 0%,transparent 50%),radial-gradient(ellipse 100% 80% at 50% 100%,rgba(0,0,0,.02) 0%,transparent 50%),linear-gradient(180deg,var(--persona-bg-tint) 0%,transparent 30%);opacity:.6}[data-theme=zen] #app:after{opacity:.008}[data-theme=zen] .ambient-orb{opacity:.15;filter:blur(100px)}[data-theme=zen] .ambient-orb--primary{background:var(--persona-primary)}[data-theme=zen] .ambient-orb--secondary{background:var(--persona-secondary)}[data-theme=zen] .header{background:transparent;border-bottom:1px solid rgba(0,0,0,.06);margin-top:0;padding-top:calc(32px + env(safe-area-inset-top,0px))}[data-theme=zen] .header:before{content:"";position:absolute;top:calc(-32px - env(safe-area-inset-top,0px));left:-50vw;right:-50vw;bottom:0;background:#ffffffbf;backdrop-filter:blur(var(--glass-blur-strong, 24px)) saturate(1.2);-webkit-backdrop-filter:blur(var(--glass-blur-strong, 24px)) saturate(1.2);z-index:-1}[data-theme=zen] #coachAvatar{background:linear-gradient(145deg,#fff,#f5f5f4)}[data-theme=zen] #avatarRing{background:transparent;border:2px solid var(--persona-primary);opacity:.5}[data-theme=zen] .btn-primary{background:var(--gradient-orb);color:#fff;box-shadow:0 1px 2px #0000001a,0 4px 8px #00000014,0 8px 16px #0000000f,inset 0 1px #ffffff40}[data-theme=zen] .btn-primary:hover:not(:disabled){box-shadow:0 2px 4px #00000014,0 8px 16px #00000014,0 16px 32px #0000000f,0 0 40px -8px var(--persona-glow),inset 0 1px #ffffff4d}[data-theme=zen] .btn-primary:after{background:var(--persona-primary);filter:blur(16px)}[data-theme=zen] .btn-secondary{background:#fffc;color:var(--color-text-secondary);border:1px solid rgba(0,0,0,.06);backdrop-filter:blur(var(--glass-blur-medium, 16px));box-shadow:0 1px 3px #0000000a,inset 0 1px #ffffffe6}[data-theme=zen] .btn-secondary:hover:not(:disabled){background:#fffffff2;border-color:#0000001a;box-shadow:0 4px 12px #0000000f,inset 0 1px #fff}[data-theme=zen] .waveform-glow{background:radial-gradient(ellipse 60% 40% at 50% 50%,var(--persona-glow) 0%,transparent 70%);opacity:.4}[data-theme=zen] .waveform-bar{background:linear-gradient(180deg,var(--persona-primary) 0%,var(--persona-secondary) 100%);box-shadow:0 2px 8px #0000001a}[data-theme=zen] .team-member{background:transparent;border:none;border-radius:var(--radius-xl, 16px);transition:transform .3s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),opacity .3s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}[data-theme=zen] .team-member:hover{background:#fff6;transform:translateY(-2px) scale(1.02)}[data-theme=zen] .team-member.active{background:#fff9}[data-theme=zen] .team-member.active .team-avatar-ring{border-color:var(--persona-primary);opacity:.6;transform:scale(1)}[data-theme=zen] .team-avatar{box-shadow:0 2px 6px #0000001a}[data-theme=zen] .team-member:hover .team-avatar{box-shadow:0 4px 12px #0000001f}[data-theme=zen] .team-member.active .team-avatar{box-shadow:0 4px 12px #0000001a}[data-theme=zen] .team-member[data-persona-id=ferni]:hover,[data-theme=zen] .team-member[data-persona-id=ferni].active{--member-color: var(--color-ferni, #4a6741)}[data-theme=zen] .team-member[data-persona-id=peter-john]:hover,[data-theme=zen] .team-member[data-persona-id=peter-john].active{--member-color: var(--color-peter, #3a6b73)}[data-theme=zen] .team-member[data-persona-id=nayan-patel]:hover,[data-theme=zen] .team-member[data-persona-id=nayan-patel].active{--member-color: var(--color-nayan, #b8956a)}[data-theme=zen] .team-member[data-persona-id=alex-chen]:hover,[data-theme=zen] .team-member[data-persona-id=alex-chen].active{--member-color: var(--color-alex, #5a6b8a)}[data-theme=zen] .team-member[data-persona-id=maya-santos]:hover,[data-theme=zen] .team-member[data-persona-id=maya-santos].active{--member-color: var(--color-maya, #a67a6a)}[data-theme=zen] .team-member[data-persona-id=jordan-taylor]:hover,[data-theme=zen] .team-member[data-persona-id=jordan-taylor].active{--member-color: var(--color-jordan, #c4856a)}[data-theme=zen] .card,[data-theme=zen] .message-container{background:#ffffffe6;border:none;box-shadow:0 2px 12px #0000000a;backdrop-filter:blur(var(--glass-blur-medium, 16px))}[data-theme=zen] ::selection{background:var(--persona-primary);color:#fff}[data-theme=zen] .theme-toggle{background:#ffffffe6;border-color:#0000000f;box-shadow:var(--shadow-md)}[data-theme=zen] .theme-toggle:hover{background:#fff;box-shadow:var(--shadow-lg)}[data-theme=zen] .footer{background:#ffffffb3;border-top:1px solid rgba(0,0,0,.04);backdrop-filter:blur(var(--glass-blur-strong, 24px))}[data-theme=zen] .status-connected{background:var(--color-success, #4a7352);box-shadow:0 0 12px var(--color-success-bg, rgba(74, 115, 82, .4))}[data-theme=zen] .thinking-dot{background:var(--persona-primary);box-shadow:0 2px 4px #0000001a}[data-theme=zen] .transcript-panel{background:#fffffff2;border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-xl)}[data-theme=zen] .sparkle{filter:brightness(.9)}[data-theme=zen][data-persona=ferni] .btn-primary{background:linear-gradient(145deg,var(--color-ferni, #4a6741) 0%,var(--color-ferni-secondary, #3d5a35) 100%)}[data-theme=zen][data-persona=peter-john] .btn-primary{background:linear-gradient(145deg,var(--color-peter, #3a6b73) 0%,var(--color-peter-secondary, #2d5359) 100%)}[data-theme=zen][data-persona=nayan-patel] .btn-primary{background:linear-gradient(145deg,var(--color-nayan, #b8956a) 0%,var(--color-nayan-secondary, #9a7a52) 100%)}[data-theme=zen][data-persona=alex-chen] .btn-primary{background:linear-gradient(145deg,var(--color-alex, #5a6b8a) 0%,var(--color-alex-secondary, #4a5a73) 100%)}[data-theme=zen][data-persona=maya-santos] .btn-primary{background:linear-gradient(145deg,var(--color-maya, #a67a6a) 0%,var(--color-maya-secondary, #8a635a) 100%)}[data-theme=zen][data-persona=jordan-taylor] .btn-primary{background:linear-gradient(145deg,var(--color-jordan, #c4856a) 0%,var(--color-jordan-secondary, #a86d55) 100%)}[data-theme=zen][data-persona=nayan-patel] .btn-primary,[data-theme=zen][data-persona=lifetime-advisor] .btn-primary{background:linear-gradient(145deg,var(--color-highlight, #c4a265) 0%,#a88932 100%)}[data-theme=zen] .btn-primary:not(:disabled){animation:zenBtnBreath 4s ease-in-out infinite}@keyframes zenBtnBreath{0%,to{box-shadow:0 1px 2px #0000001a,0 4px 8px #00000014,0 8px 16px #0000000f,inset 0 1px #ffffff40}50%{box-shadow:0 1px 2px #0000001a,0 4px 8px #00000014,0 8px 16px #0000000f,0 0 30px -6px var(--persona-glow),inset 0 1px #ffffff4d}}[data-theme=zen] .ambient-orb--primary{animation:zenOrbFloat 25s ease-in-out infinite}[data-theme=zen] .ambient-orb--secondary{animation:zenOrbFloat 30s ease-in-out infinite reverse}@keyframes zenOrbFloat{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.12}33%{transform:translate(-45%,-55%) scale(1.1);opacity:.18}66%{transform:translate(-55%,-45%) scale(.95);opacity:.1}}[data-theme=zen] .avatar-connected-pulse{animation:zenAvatarPulse 2s var(--ease-out-expo)}@keyframes zenAvatarPulse{0%{filter:brightness(1)}50%{filter:brightness(1.03)}to{box-shadow:0 0 0 0 transparent;filter:brightness(1)}}html{transition:color .4s var(--ease-out-expo),background-color .4s var(--ease-out-expo)}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:color .4s var(--ease-out-expo),background-color .4s var(--ease-out-expo),border-color .4s var(--ease-out-expo),box-shadow .4s var(--ease-out-expo),opacity .4s var(--ease-out-expo)!important}:root{--ambient-warmth: 0;--ambient-brightness: 1;--ambient-saturation: 1;--ambient-hue: 0deg}#app{filter:sepia(calc(var(--ambient-warmth) * .08)) saturate(var(--ambient-saturation)) brightness(var(--ambient-brightness)) hue-rotate(var(--ambient-hue));transition:filter 2s ease-in-out}[data-time=dawn] .ambient-orb--primary{background:radial-gradient(circle,rgba(255,180,120,.4) 0%,transparent 70%)}[data-time=dawn] .ambient-orb--secondary{background:radial-gradient(circle,rgba(255,150,200,.3) 0%,transparent 70%)}[data-time=morning] .ambient-orb--primary{background:radial-gradient(circle,rgba(255,200,100,.35) 0%,transparent 70%)}[data-time=evening] .ambient-orb--primary{background:radial-gradient(circle,rgba(255,140,60,.4) 0%,transparent 70%)}[data-time=evening] .ambient-orb--secondary{background:radial-gradient(circle,rgba(196,133,106,.25) 0%,transparent 70%)}[data-time=night] .ambient-orb--primary{background:radial-gradient(circle,rgba(100,120,200,.3) 0%,transparent 70%)}[data-time=night] .ambient-orb--secondary{background:radial-gradient(circle,rgba(60,80,150,.2) 0%,transparent 70%)}[data-theme=zen] #app{filter:none;transition:none}.btn-magnetic{--magnetic-x: 0;--magnetic-y: 0;position:relative;transform:translate(0);transition:transform .3s var(--ease-out-expo),box-shadow .3s var(--ease-out-expo)}.btn-magnetic:hover{transform:translate(calc(var(--magnetic-x) * .15px),calc(var(--magnetic-y) * .15px)) translateY(-2px)}.btn-primary{--magnetic-x: 0;--magnetic-y: 0}.hover-lift{transition:transform .3s var(--ease-out-expo),box-shadow .3s var(--ease-out-expo)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.focus-scale:focus-visible{transform:scale(1.02);outline:2px solid var(--persona-primary);outline-offset:2px}.press-feedback:active{transform:scale(.97);transition:transform .1s ease}@keyframes successBounce{0%{transform:scale(1)}25%{transform:scale(1.08)}50%{transform:scale(.95)}75%{transform:scale(1.02)}to{transform:scale(1)}}.bounce-success{animation:successBounce .5s var(--ease-out-expo)}@keyframes gentleWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}.wiggle{animation:gentleWiggle .4s ease-in-out}@keyframes shimmerSlide{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer-loading{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);background-size:200% 100%;animation:shimmerSlide 1.5s ease-in-out infinite}@keyframes pulseGlow{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.shadow-layered-xs{box-shadow:var(--shadow-xs)}.shadow-layered-s{box-shadow:var(--shadow-s)}.shadow-layered-m{box-shadow:var(--shadow-m)}.shadow-layered-l{box-shadow:var(--shadow-l)}.shadow-layered-xl{box-shadow:var(--shadow-xl-layered)}.shadow-persona-sm{box-shadow:var(--shadow-persona-sm)}.shadow-persona-md{box-shadow:var(--shadow-persona-md)}.shadow-persona-lg{box-shadow:var(--shadow-persona-lg)}.shadow-interactive{box-shadow:var(--shadow-s);transition:box-shadow var(--duration-normal) var(--ease-smooth-out),transform var(--duration-normal) var(--ease-smooth-out)}.shadow-interactive:hover{box-shadow:var(--shadow-l);transform:var(--transform-hover-subtle)}.shadow-interactive:active{box-shadow:var(--shadow-xs);transform:var(--transform-active)}.focus-ring:focus-visible{outline:none;box-shadow:var(--focus-ring-shadow)}.focus-ring-inset:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--focus-ring-width) var(--focus-ring-color)}.spring-soft{transition-timing-function:var(--ease-spring-soft)}.spring-medium{transition-timing-function:var(--ease-spring-medium)}.spring-bouncy{transition-timing-function:var(--ease-spring-bouncy)}.spring-snappy{transition-timing-function:var(--ease-spring-snappy)}.btn-spring{transition:transform var(--duration-fast) var(--ease-spring-medium),box-shadow var(--duration-fast) var(--ease-smooth-out)}.btn-spring:hover{transform:var(--transform-hover-lift)}.btn-spring:active{transform:var(--transform-press)}.card-hover{transition:transform var(--duration-normal) var(--ease-spring-soft),box-shadow var(--duration-normal) var(--ease-smooth-out)}.card-hover:hover{transform:var(--transform-hover-lift);box-shadow:var(--shadow-l)}.pop-on-hover{transition:transform var(--duration-fast) var(--ease-spring-bouncy)}.pop-on-hover:hover{transform:var(--transform-pop)}.stagger-1{animation-delay:var(--stagger-1)}.stagger-2{animation-delay:var(--stagger-2)}.stagger-3{animation-delay:var(--stagger-3)}.stagger-4{animation-delay:var(--stagger-4)}.stagger-5{animation-delay:var(--stagger-5)}.stagger-6{animation-delay:var(--stagger-6)}.stagger-7{animation-delay:var(--stagger-7)}.stagger-8{animation-delay:var(--stagger-8)}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stagger-fade-in{animation:staggerFadeIn var(--duration-slow) var(--ease-smooth-out) both}.skeleton{background:var(--skeleton-gradient);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text:last-child{width:70%}.skeleton-avatar{width:48px;height:48px;border-radius:var(--radius-full)}.skeleton-button{width:min(120px,100%);height:44px;border-radius:var(--radius-lg)}.glass{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border:1px solid var(--glass-border)}.glass-heavy{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-heavy)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur-heavy)) saturate(var(--glass-saturation));border:1px solid var(--glass-border)}.glass-dark{background:var(--glass-bg-dark);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border:1px solid rgba(255,255,255,.1)}@media (prefers-reduced-motion: reduce){.spring-soft,.spring-medium,.spring-bouncy,.spring-snappy,.btn-spring,.card-hover,.pop-on-hover,.shadow-interactive,.stagger-fade-in{transition:none;animation:none}.skeleton{animation:none;background:var(--skeleton-base)}}.entrance-avatar,.entrance-name,.entrance-subtitle,.entrance-roster,.entrance-waveform,.entrance-helper,.entrance-controls{opacity:1}.roster-initializing{visibility:visible!important;opacity:1!important}@keyframes entranceAvatar{0%{opacity:0}to{opacity:1}}.avatar-container{background:transparent!important;outline:none!important;border:none!important;box-shadow:none!important;border-radius:50%}[data-theme=zen] .avatar-container{background:transparent!important}@keyframes entranceSlideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes entranceTeamMember{0%{opacity:0;transform:scale(.85) translateY(8px)}60%{opacity:1;transform:scale(1.03) translateY(-2px)}80%{transform:scale(.98) translateY(1px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-loaded .entrance-avatar{animation:entranceAvatar .6s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:.1s}.app-loaded .entrance-avatar.entrance-complete{opacity:1!important}.app-loaded .entrance-name{animation:entranceSlideUp .4s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.25s}.app-loaded .entrance-subtitle{animation:entranceSlideUp .4s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.3s}.app-loaded .entrance-roster{animation:entranceSlideUp .4s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.4s}.app-loaded .entrance-roster .team-member{opacity:0;animation:entranceTeamMember .3s cubic-bezier(.34,1.56,.64,1) forwards;flex-shrink:0}.app-loaded .entrance-roster .team-member:nth-child(1){animation-delay:.45s}.app-loaded .entrance-roster .team-member:nth-child(2){animation-delay:.48s}.app-loaded .entrance-roster .team-member:nth-child(3){animation-delay:.53s}.app-loaded .entrance-roster .team-member:nth-child(4){animation-delay:.58s}.app-loaded .entrance-roster .team-member:nth-child(5){animation-delay:.63s}.app-loaded .entrance-roster .team-member:nth-child(6){animation-delay:.68s}.app-loaded .entrance-roster .team-member:nth-child(7){animation-delay:.73s}.app-loaded .entrance-roster.entrance-complete .team-member,.team-member--marketplace{opacity:1!important;pointer-events:auto!important}.app-loaded .entrance-waveform{animation:entranceSlideUp .4s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.6s}.app-loaded .entrance-controls{opacity:0;animation:entranceSlideUp .4s cubic-bezier(.16,1,.3,1) .7s forwards}@keyframes entranceHelperSlideUp{0%{transform:translateY(15px)}to{transform:translateY(0)}}.app-loaded .entrance-helper{animation:entranceHelperSlideUp .4s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.8s}#helperText.entrance-helper,.app-loaded #helperText.entrance-helper,.app-loaded .entrance-helper#helperText{opacity:1!important;visibility:visible!important}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.error-shake{animation:errorShake .4s ease-out}@keyframes errorPulse{0%{box-shadow:0 0 0 0 var(--color-semantic-error-glow, rgba(239, 68, 68, .4))}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.error-pulse{animation:errorPulse 1s ease-out 3}.connection-step{width:8px;height:8px;border-radius:50%;background:var(--color-bg-tertiary);transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .2s cubic-bezier(.34,1.56,.64,1)}.connection-step.active{background:var(--color-accent-primary, #d4a84a);transform:scale(1.3);box-shadow:0 0 12px var(--color-accent-glow, rgba(212, 168, 74, .4))}.connection-step.completed{background:var(--color-semantic-success, #10b981)}@media (prefers-reduced-motion: reduce){.entrance-avatar,.entrance-name,.entrance-subtitle,.entrance-roster,.entrance-waveform,.entrance-controls,.entrance-helper,.entrance-roster .team-member{opacity:1;animation:none!important}.error-shake,.error-pulse{animation:none!important}}.landing-scene{position:fixed;inset:0;z-index:var(--z-modal);overflow:hidden;background:var(--color-background-primary, #1c1917);cursor:pointer}.landing-scene.hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,visibility .8s}.landing-scene.revealed{cursor:default}.landing-3d-scene{position:fixed;inset:0;perspective:1000px;perspective-origin:50% 50%;overflow:hidden}.landing-layer-landscape{position:absolute;inset:-10%;background:url(/images/zen-landscape.jpg) center center / cover no-repeat;transform:translateZ(-200px) scale(1.2);filter:brightness(.9) saturate(.95)}.landing-mist{position:absolute;inset:0;pointer-events:none}.landing-mist-1{background:linear-gradient(180deg,rgba(245,242,235,.4) 0%,transparent 40%,transparent 70%,rgba(245,242,235,.3) 100%);transform:translateZ(-100px);animation:mistDrift1 30s ease-in-out infinite}.landing-mist-2{background:radial-gradient(ellipse 120% 60% at 20% 80%,rgba(245,242,235,.3) 0%,transparent 60%);transform:translateZ(-50px);animation:mistDrift2 25s ease-in-out infinite reverse}@keyframes mistDrift1{0%,to{opacity:.6;transform:translateZ(-100px) translate(0)}50%{opacity:.8;transform:translateZ(-100px) translate(3%)}}@keyframes mistDrift2{0%,to{opacity:.5;transform:translateZ(-50px) translate(0)}50%{opacity:.7;transform:translateZ(-50px) translate(-2%)}}.landing-layer-room{position:absolute;inset:0;background:url(/images/zen-room.jpg) center center / cover no-repeat;transform:translateZ(0)}.landing-shoji-container{position:absolute;inset:0;display:flex;pointer-events:none;z-index:var(--z-docked)}.landing-shoji{flex:1;background:linear-gradient(90deg,#f5f0e6f7,#faf5ebfa,#f5f0e6f7);backdrop-filter:blur(2px);box-shadow:inset 0 0 60px #c8b48c26,0 0 40px #0003;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.landing-shoji:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");opacity:.04}.landing-shoji:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(139,90,43,.2) 1px,transparent 1px),linear-gradient(rgba(139,90,43,.2) 1px,transparent 1px);background-size:80px 100px;opacity:.4}.landing-shoji-left{transform-origin:left center}.landing-shoji-right{transform-origin:right center}.landing-shoji-left.open{transform:translate(-100%)}.landing-shoji-right.open{transform:translate(100%)}.landing-content-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) translateZ(100px);width:90%;max-width:clamp(336px,90vw,480px);background:#fffffff2;backdrop-filter:blur(var(--glass-blur-strong, 24px));border-radius:24px;padding:48px 40px;text-align:center;box-shadow:0 25px 80px #0003,0 10px 30px #0000001a,inset 0 1px #fffc;opacity:0;z-index:var(--z-dropdown);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}.landing-content-card.visible{opacity:1;transform:translate(-50%,-50%) translateZ(100px) scale(1)}.landing-ensou{width:80px;height:80px;margin:0 auto 32px;position:relative}.landing-ensou-circle{width:100%;height:100%;border:3px solid rgba(60,60,60,.15);border-radius:50%;position:relative}.landing-ensou-circle:before{content:"";position:absolute;top:-4px;right:10%;width:20%;height:10px;background:#fffffff2}.landing-ensou-wave{position:absolute;inset:20px;display:flex;align-items:center;justify-content:center;gap:4px}.landing-ensou-bar{width:3px;background:linear-gradient(180deg,#4a5568,#718096);border-radius:2px;animation:zenWave 2s ease-in-out infinite}.landing-ensou-bar:nth-child(1){height:10px;animation-delay:0ms}.landing-ensou-bar:nth-child(2){height:18px;animation-delay:.2s}.landing-ensou-bar:nth-child(3){height:24px;animation-delay:.4s}.landing-ensou-bar:nth-child(4){height:18px;animation-delay:.6s}.landing-ensou-bar:nth-child(5){height:10px;animation-delay:.8s}@keyframes zenWave{0%,to{transform:scaleY(1);opacity:.6}50%{transform:scaleY(.5);opacity:1}}.landing-headline{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Hiragino Sans,sans-serif;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:600;color:#1a1a1a;line-height:1.2;letter-spacing:-.02em;margin-bottom:16px}.landing-headline-accent{display:block;background:linear-gradient(135deg,#6b7280,#374151);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-subhead{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:1rem;font-weight:400;color:#0000008c;line-height:1.6;margin-bottom:32px;max-width:min(320px,100%);margin-left:auto;margin-right:auto}.landing-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.landing-input{width:100%;height:52px;padding:0 20px;background:#00000008;border:1px solid rgba(0,0,0,.08);border-radius:12px;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:15px;transition:transform .2s ease,opacity .2s ease}.landing-input:focus{outline:none;background:#fff;border-color:#00000026;box-shadow:0 0 0 3px #0000000d}.landing-input::placeholder{color:#00000059}.landing-submit{width:100%;height:52px;background:linear-gradient(135deg,#374151,#1f2937);border:none;border-radius:12px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 14px #00000026}.landing-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.landing-submit:active{transform:scale(.98)}.landing-submit:focus-visible{outline:none;box-shadow:0 8px 24px #0003,0 0 0 3px #fff,0 0 0 5px var(--persona-primary)}.landing-skip{background:none;border:none;color:#0006;font-size:13px;cursor:pointer;padding:8px;transition:color .2s}.landing-skip:hover{color:#0009}.landing-skip:focus-visible{outline:none;color:#0009;box-shadow:0 0 0 2px var(--persona-primary);border-radius:4px}.landing-features{display:flex;justify-content:center;gap:8px;margin-top:24px;flex-wrap:wrap}.landing-feature{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#00000008;border-radius:100px;font-size:12px;color:#0009;font-weight:500}.landing-feature svg{width:14px;height:14px;opacity:.7}.landing-success{display:none}.landing-success.visible{display:block;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1)}.landing-success-icon{width:64px;height:64px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#059669,#047857);border-radius:50%;color:#fff}.landing-success-icon svg{width:32px;height:32px}.landing-tap-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-dropdown);display:flex;flex-direction:column;align-items:center;gap:16px;opacity:1;transition:opacity .4s ease}.landing-scene.revealed .landing-tap-hint{opacity:0;pointer-events:none}.landing-tap-hint-circle{width:min(100px,100%);height:100px;border:2px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:tapPulse 2s ease-in-out infinite}.landing-tap-hint-circle svg{width:40px;height:40px;color:#fffc}.landing-tap-hint-text{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:13px;font-weight:500;color:#ffffffb3;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.5)}@keyframes tapPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.7}}@media (max-width: clamp(364px,90vw,520px)){.landing-content-card{padding:32px 24px;border-radius:20px}.landing-ensou{width:60px;height:60px;margin-bottom:24px}.landing-headline{font-size:1.5rem}.landing-features{gap:6px}.landing-feature{padding:6px 12px;font-size:11px}}@media (prefers-reduced-motion: reduce){.landing-mist-1,.landing-mist-2,.landing-ensou-bar,.landing-scroll-hint{animation:none}.landing-shoji{transition-duration:.01ms}}.curious-hover:hover{animation:curiousTilt .6s ease-in-out}@keyframes eyeBlink{0%,45%,55%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.blink-animation{animation:eyeBlink 4s ease-in-out infinite}@keyframes gentleBreathing{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.02) translateY(-2px)}}.breathing{animation:gentleBreathing 4s ease-in-out infinite}@keyframes excitedWiggle{0%,to{transform:rotate(0) scale(1)}15%{transform:rotate(-8deg) scale(1.05)}30%{transform:rotate(8deg) scale(1.05)}45%{transform:rotate(-5deg) scale(1.02)}60%{transform:rotate(5deg) scale(1.02)}75%{transform:rotate(-2deg) scale(1)}}.excited{animation:excitedWiggle .8s ease-in-out}@keyframes thinkingLean{0%,to{transform:rotate(0) translate(0)}25%{transform:rotate(-5deg) translate(-3px)}75%{transform:rotate(5deg) translate(3px)}}.thinking-animation{animation:thinkingLean 2s ease-in-out infinite}@keyframes happyBounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-15px) scale(1.05)}50%{transform:translateY(0) scale(.95)}75%{transform:translateY(-8px) scale(1.02)}}.happy-bounce{animation:happyBounce .6s ease-out}@keyframes sadDroop{0%{transform:translateY(0) rotate(0)}to{transform:translateY(3px) rotate(-3deg)}}.sad-droop{animation:sadDroop .5s ease-out forwards}@keyframes eveFloat{0%,to{transform:translateY(0) rotate(0);filter:brightness(1)}25%{transform:translateY(-8px) rotate(1deg);filter:brightness(1.05)}50%{transform:translateY(-12px) rotate(0);filter:brightness(1.1)}75%{transform:translateY(-8px) rotate(-1deg);filter:brightness(1.05)}}.eve-float{animation:eveFloat 6s ease-in-out infinite}@keyframes attentionGrab{0%,to{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(.95)}30%{transform:scale(1.05)}40%{transform:scale(1)}}.attention{animation:attentionGrab 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s var(--ease-out-expo)}@keyframes sparklePop{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:.8}to{transform:scale(0) rotate(360deg);opacity:0}}.sparkle{position:absolute;width:8px;height:8px;background:var(--persona-primary);border-radius:50%;pointer-events:none;animation:sparklePop .8s var(--ease-out-expo) forwards}.sparkle:before,.sparkle:after{content:"";position:absolute;width:100%;height:100%;background:inherit;border-radius:50%}.sparkle:before{transform:rotate(45deg) translate(150%)}.sparkle:after{transform:rotate(-45deg) translate(150%)}@keyframes heartBurst{0%{transform:scale(0);opacity:1}50%{transform:scale(1.5);opacity:.8}to{transform:scale(2) translateY(-30px);opacity:0}}.heart-burst{position:fixed;font-size:24px;pointer-events:none;animation:heartBurst 1s var(--ease-out-expo) forwards;z-index:var(--z-dropdown)}@keyframes celebrationRing{0%{transform:scale(.3);opacity:1}to{transform:scale(3);opacity:0}}.celebration-ring{position:absolute;inset:0;border:2px solid var(--persona-primary);border-radius:50%;animation:celebrationRing 1s var(--ease-out-expo) forwards}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:.6}to{transform:translateY(-100vh) rotate(360deg);opacity:0}}.float-particle{position:fixed;bottom:-20px;width:6px;height:6px;background:var(--persona-glow);border-radius:50%;pointer-events:none;animation:floatUp 8s linear infinite;opacity:.4}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.ambient-overlay,.parallax-layer{will-change:transform,opacity;isolation:isolate}body{font-family:var(--font-body);background:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;min-height:100dvh;line-height:1.6;overflow-x:hidden;font-feature-settings:"cv11","ss01";letter-spacing:var(--tracking-normal)}::selection{background:var(--persona-primary);color:#fff}#app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative;overflow-x:hidden;overflow-y:auto;background:var(--color-bg-primary);filter:sepia(calc(var(--ambient-warmth) * .03)) saturate(calc(1 + var(--ambient-warmth) * .05))}#app:before{content:"";position:absolute;inset:0;background:var(--gradient-radial),radial-gradient(ellipse 100% 80% at 50% 100%,rgba(0,0,0,.4) 0%,transparent 50%),linear-gradient(180deg,var(--persona-bg-tint) 0%,transparent 30%);opacity:1;transition:background .8s var(--ease-out-expo),opacity .8s var(--ease-out-expo);pointer-events:none;z-index:var(--z-base)}#app:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.025;mix-blend-mode:overlay;pointer-events:none;z-index:var(--z-docked)}[data-theme=zen] #app:after{opacity:.015}.ambient-orb{position:fixed;width:clamp(420px,90vw,600px);height:600px;border-radius:50%;background:radial-gradient(circle,var(--persona-glow) 0%,transparent 70%);filter:blur(80px);opacity:.4;pointer-events:none;z-index:var(--z-base);animation:ambientFloat 20s ease-in-out infinite;transition:background 1s var(--ease-out-expo)}.ambient-orb--primary{top:-200px;left:50%;transform:translate(-50%)}.ambient-orb--secondary{bottom:-300px;right:-200px;width:clamp(350px,90vw,500px);height:500px;opacity:.2;animation-delay:-10s;animation-duration:25s}@keyframes ambientFloat{0%,to{transform:translate(-50%) translateY(0) scale(1)}33%{transform:translate(-45%) translateY(20px) scale(1.05)}66%{transform:translate(-55%) translateY(-10px) scale(.98)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes revealFromCenter{0%{opacity:0;transform:scale(.8);filter:blur(10px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.header{position:relative;z-index:var(--z-docked);padding:var(--space-sm) var(--space-lg) var(--space-xs);margin-top:calc(44px + env(safe-area-inset-top,0px));text-align:center;overflow:visible}.main{position:relative;z-index:var(--z-docked);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-sm);padding-bottom:env(safe-area-inset-bottom,var(--space-sm));gap:var(--space-sm);min-height:0}.footer{position:relative;z-index:var(--z-docked);padding:var(--space-lg) var(--space-md);padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom));text-align:center;margin-top:auto}.footer-links{display:flex;justify-content:center;gap:var(--space-lg);margin-top:var(--space-sm)}.footer-link{font-size:12px;color:var(--color-text-dimmed);text-decoration:none;transition:color .2s ease}#coach{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);overflow:visible}.avatar-container{position:relative;width:min(120px,100%);height:120px;transform-origin:center center;border-radius:50%;margin:30px;transition:width .5s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)),height .5s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}.avatar-container.react-nod{animation:avatarNod .4s var(--ease-out-expo) forwards}.avatar-container.react-shake{animation:avatarShake .4s var(--ease-out-expo) forwards}.avatar-container.react-bounce{animation:avatarBounce .5s cubic-bezier(.34,1.56,.64,1) forwards}.avatar-container.react-pulse{animation:avatarPulse .6s var(--ease-out-expo) forwards}@keyframes avatarNod{0%{transform:scaleZ(1) translateZ(0) rotate(0)}15%{transform:scale3d(1.02,.98,1) translate3d(0,3px,0) rotate(3deg)}30%{transform:scale3d(.98,1.03,1) translate3d(0,-5px,0) rotate(-4deg)}50%{transform:scale3d(1.01,.99,1) translate3d(0,2px,0) rotate(2deg)}65%{transform:scale3d(.99,1.01,1) translate3d(0,-2px,0) rotate(-1.5deg)}80%{transform:scale3d(1.005,.995,1) translate3d(0,1px,0) rotate(.5deg)}92%{transform:scale3d(.998,1.002,1) translate3d(0,-.3px,0) rotate(-.2deg)}to{transform:scaleZ(1) translateZ(0) rotate(0)}}@keyframes avatarShake{0%{transform:scaleZ(1) translateZ(0) rotate(0)}15%{transform:scale3d(.98,1.02,1) translate3d(-4px,0,0) rotate(-2deg)}30%{transform:scale3d(1.02,.98,1) translate3d(4px,0,0) rotate(2deg)}45%{transform:scale3d(.99,1.01,1) translate3d(-3px,0,0) rotate(-1.5deg)}60%{transform:scale3d(1.01,.99,1) translate3d(2px,0,0) rotate(1deg)}75%{transform:scaleZ(1) translate3d(-1px,0,0) rotate(-.5deg)}88%{transform:scaleZ(1) translate3d(.5px,0,0) rotate(.2deg)}to{transform:scaleZ(1) translateZ(0) rotate(0)}}@keyframes avatarBounce{0%{transform:scaleZ(1) translateZ(0)}12%{transform:scale3d(1.08,.92,1) translate3d(0,2px,0)}28%{transform:scale3d(.94,1.08,1) translate3d(0,-12px,0)}35%{transform:scale3d(.92,1.1,1) translate3d(0,-15px,0)}48%{transform:scale3d(.96,1.05,1) translate3d(0,-8px,0)}58%{transform:scale3d(1.1,.9,1) translate3d(0,3px,0)}70%{transform:scale3d(.97,1.04,1) translate3d(0,-4px,0)}80%{transform:scale3d(1.03,.97,1) translate3d(0,1px,0)}90%{transform:scale3d(.99,1.01,1) translate3d(0,-.5px,0)}to{transform:scaleZ(1) translateZ(0)}}@keyframes avatarPulse{0%{transform:scaleZ(1);filter:brightness(1)}25%{transform:scale3d(1.05,1.05,1);filter:brightness(1.08)}35%{transform:scale3d(1.06,1.06,1);filter:brightness(1.1)}55%{transform:scale3d(.98,.98,1);filter:brightness(1.03)}70%{transform:scale3d(1.02,1.02,1);filter:brightness(1.02)}85%{transform:scale3d(.995,.995,1);filter:brightness(1)}to{transform:scaleZ(1);filter:brightness(1)}}#avatarRing{position:absolute;inset:-10px;border-radius:var(--radius-full);background:transparent;border:1.5px solid var(--persona-primary);opacity:.2;transition:all var(--transition-slow)}.speaking-halo-waves{position:absolute;inset:0;pointer-events:none;z-index:0}.speaking-halo-wave{position:absolute;border-radius:var(--radius-full);border:1px solid var(--persona-primary);opacity:0;pointer-events:none;transition:transform 80ms ease-out,opacity 80ms ease-out}.speaking-halo-wave-1{inset:-16px}.speaking-halo-wave-2{inset:-22px}#coach.is-speaking #avatarRing{opacity:.5}@media (prefers-reduced-motion: reduce){.speaking-halo-wave{display:none}}#coach.is-connected #avatarRing{opacity:.35;border-color:var(--persona-primary)}#coach.is-connected .avatar-container{width:min(160px,100%);height:160px}#coach.is-connected:not(.is-speaking):not(.is-thinking):not(.is-listening) #coachAvatar{animation:humanBreathing 6s ease-in-out infinite}#coach.is-connected:not(.is-speaking):not(.is-thinking):not(.is-listening) #avatarRing{animation:humanBreathingRing 6s ease-in-out infinite}@keyframes humanBreathing{0%,to{transform:scale(1) translateY(0)}40%{transform:scale(1.015) translateY(-.5px)}60%{transform:scale(1.015) translateY(-.5px)}}@keyframes humanBreathingRing{0%,to{opacity:.25;transform:scale(1)}40%{opacity:.32;transform:scale(1.008)}60%{opacity:.32;transform:scale(1.008)}}@media (prefers-reduced-motion: reduce){#coach.is-connected:not(.is-speaking):not(.is-thinking):not(.is-listening) #coachAvatar,#coach.is-connected:not(.is-speaking):not(.is-thinking):not(.is-listening) #avatarRing{animation:none}}#coach.emotion-happy #avatarRing{border-color:var(--color-highlight, #c4a265);opacity:.45}#coach.emotion-excited #avatarRing{border-color:var(--color-jordan, #c4856a);opacity:.5}#coach.emotion-calm #avatarRing{border-color:var(--color-ferni, #4a6741);opacity:.45}#coach.emotion-anxious #avatarRing{border-color:var(--color-warning, #a6854a);opacity:.45}#coach.emotion-sad #avatarRing{border-color:var(--color-peter, #3a6b73);opacity:.4}#coach.emotion-frustrated #avatarRing{border-color:var(--color-error, #a65a52);opacity:.45}#coach.is-thinking #avatarRing{opacity:.4;animation:thinkingRingBreath 4s ease-in-out infinite}@keyframes thinkingRingBreath{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.45;transform:scale(1.02)}}#coach.is-thinking #coachAvatar{animation:thinkingContemplate 4s ease-in-out infinite}@keyframes thinkingContemplate{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-1px) rotate(-.5deg)}50%{transform:translateY(.5px) rotate(.3deg)}75%{transform:translateY(-.5px) rotate(-.2deg)}}#coach.reaction-happy #coachAvatar{animation:happyBounce .6s cubic-bezier(.34,1.56,.64,1)}@keyframes happyBounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-6px) scale(1.03,.97)}50%{transform:translateY(-8px) scale(.98,1.02)}70%{transform:translateY(-3px) scale(1.01,.99)}}#coach.reaction-curious #coachAvatar{animation:curiousTilt .5s ease-out}@keyframes curiousTilt{0%,to{transform:rotate(0)}40%{transform:rotate(-5deg) translate(-2px)}70%{transform:rotate(2deg) translate(1px)}}#coach.reaction-empathy #coachAvatar{animation:empathyNod .8s ease-in-out}@keyframes empathyNod{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(2px) rotate(1deg)}50%{transform:translateY(0) rotate(-.5deg)}75%{transform:translateY(1px) rotate(.5deg)}}#coach.reaction-laugh #coachAvatar{animation:laughWobble .5s ease-in-out}@keyframes laughWobble{0%,to{transform:scale(1) rotate(0)}20%{transform:scale(1.02) rotate(2deg)}40%{transform:scale(.98) rotate(-2deg)}60%{transform:scale(1.01) rotate(1.5deg)}80%{transform:scale(.99) rotate(-1deg)}}#coach.reaction-surprise #coachAvatar{animation:surprisePop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes surprisePop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.thinking-float{position:absolute;bottom:-32px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 14px;background:#1e1e23d9;backdrop-filter:blur(var(--glass-blur-medium, 16px));-webkit-backdrop-filter:blur(var(--glass-blur-medium, 16px));border-radius:20px;border:1px solid rgba(255,255,255,.08);opacity:0;pointer-events:none;transform:translate(-50%) translateY(-8px) scale(.95);transition:opacity .25s ease-out,transform .3s cubic-bezier(.175,.885,.32,1.275);z-index:var(--z-docked)}#coach.is-thinking .thinking-float{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.thinking-float .thinking-dots{display:flex;gap:4px;align-items:center}.thinking-float .thinking-dot{width:5px;height:5px;background:var(--persona-primary, #4a6741);border-radius:50%;animation:floatDotPulse 1.6s ease-in-out infinite}.thinking-float .thinking-dot:nth-child(1){animation-delay:0s}.thinking-float .thinking-dot:nth-child(2){animation-delay:.2s}.thinking-float .thinking-dot:nth-child(3){animation-delay:.4s}@keyframes floatDotPulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.thinking-float .thinking-text{font-size:12px;font-weight:500;color:#fffc;white-space:nowrap}[data-theme=zen] .thinking-float{background:#ffffffe6;border-color:#0000000f;box-shadow:0 4px 12px #00000014}[data-theme=zen] .thinking-float .thinking-text{color:#000000b3}[data-persona=nayan-patel] #coach.is-thinking #avatarRing{animation-duration:2.5s}[data-persona=peter-john] #coach.is-thinking #avatarRing{animation-duration:1.5s}#coach.persona-transitioning #coachAvatar{animation:personaBounce .6s cubic-bezier(.34,1.56,.64,1)}@keyframes personaBounce{0%{transform:scale(.8) rotate(-5deg) translateZ(0);opacity:.5}40%{transform:scale(1.08) rotate(2deg) translate3d(0,-2px,0);opacity:1}60%{transform:scale(.97) rotate(-1deg) translate3d(0,1px,0)}80%{transform:scale(1.02) rotate(.5deg) translate3d(0,-.5px,0)}to{transform:scale(1) rotate(0) translateZ(0);opacity:1}}#coach.persona-transitioning #avatarRing{animation:ringSparkle .6s ease-out}@keyframes ringSparkle{0%{opacity:.2;transform:scale(1);border-width:1.5px;box-shadow:0 0 0 transparent}40%{opacity:.8;transform:scale(1.15);border-width:3px;box-shadow:0 0 20px var(--persona-glow)}70%{opacity:.5;transform:scale(1.05);border-width:2px;box-shadow:0 0 8px var(--persona-glow)}to{opacity:.4;transform:scale(1);border-width:1.5px;box-shadow:0 0 0 transparent}}#helperText.changing{animation:textMorph .4s ease-out}@keyframes textMorph{0%{opacity:1;transform:translateY(0)}50%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}#coachAvatar{position:relative;width:100%;height:100%;border-radius:var(--radius-full);background:var(--gradient-orb);display:flex;align-items:center;justify-content:center;box-shadow:none;transition:filter var(--transition-base);transform-origin:center center;-webkit-tap-highlight-color:transparent}#coachAvatar:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(160deg,rgba(255,255,255,.15) 0%,transparent 40%);pointer-events:none}.avatar-lid-overlay{position:absolute;inset:0;border-radius:50%;overflow:hidden;pointer-events:none;z-index:var(--z-docked)}.avatar-lid-overlay .lid-svg{width:100%;height:100%}.avatar-lid-overlay .lid-top,.avatar-lid-overlay .lid-bottom{fill:var(--color-background-primary, #1a1612);transition:d .3s cubic-bezier(.34,1.56,.64,1)}.avatar-lid-overlay .delight-sparkles{position:absolute;inset:0;pointer-events:none}.emotion-sparkles-container{position:absolute;inset:0;pointer-events:none;z-index:var(--z-dropdown)}.emotion-sparkle{box-shadow:0 0 4px var(--color-semantic-warning, #b8956a),0 0 8px var(--color-semantic-warning, #b8956a)}.morph-icon-container{z-index:var(--z-docked)}.morph-icon-container svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}[data-theme=dark] .avatar-lid-overlay .lid-top,[data-theme=dark] .avatar-lid-overlay .lid-bottom,[data-theme=dark] .avatar-lid-overlay .brow-left,[data-theme=dark] .avatar-lid-overlay .brow-right{fill:var(--color-background-primary, #70605a)}@media (prefers-reduced-motion: reduce){.avatar-lid-overlay .lid-top,.avatar-lid-overlay .lid-bottom,.avatar-lid-overlay .brow-left,.avatar-lid-overlay .brow-right{transition:none}.emotion-sparkle{display:none}}.ferni-eye{position:absolute;inset:20%;pointer-events:none;opacity:0;transform:scale(.7);transition:opacity .35s ease,transform .35s cubic-bezier(.34,1.56,.64,1);z-index:var(--z-docked)}.ferni-eye__svg{width:100%;height:100%;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}.ferni-eye__pupil-group{transition:transform .12s ease-out}.ferni-eye[data-style=pupil] .ferni-eye__glow{opacity:.6}.ferni-eye[data-style=pupil] .ferni-eye__pupil{opacity:1}.ferni-eye[data-style=pupil] .ferni-eye__catchlight{opacity:.95}.ferni-eye[data-style=pupil] .ferni-eye__sparkle-center,.ferni-eye[data-style=pupil] .ferni-eye__sparkle-core,.ferni-eye[data-style=sparkle] .ferni-eye__glow,.ferni-eye[data-style=sparkle] .ferni-eye__pupil,.ferni-eye[data-style=sparkle] .ferni-eye__catchlight{opacity:0}.ferni-eye[data-style=sparkle] .ferni-eye__sparkle-center{opacity:.4;filter:blur(3px)}.ferni-eye[data-style=sparkle] .ferni-eye__sparkle-core{opacity:1;filter:drop-shadow(0 0 6px white)}.ferni-eye[data-style=sparkle].eye-visible .ferni-eye__sparkle-core,.ferni-eye[data-style=sparkle].eye-peek .ferni-eye__sparkle-core{animation:sparkleBreath 1.5s ease-in-out infinite}@keyframes sparkleBreath{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.8}}.ferni-eye[data-style=sparkle].eye-curious .ferni-eye__sparkle-core{animation:sparkleFlare .6s ease-out}@keyframes sparkleFlare{0%{transform:scale(1) rotate(0)}50%{transform:scale(2) rotate(45deg);filter:drop-shadow(0 0 12px white)}to{transform:scale(1) rotate(0)}}.ferni-aware-glow{position:absolute;inset:-8px;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.25) 0%,rgba(255,255,255,.1) 30%,transparent 60%);transition:opacity .4s ease;z-index:var(--z-docked)}.ferni-aware-glow.glow-visible{opacity:1;animation:awareGlowPulse 2s ease-in-out infinite}.ferni-aware-glow.glow-peek{animation:awareGlowPeek 2.2s ease-out forwards}@keyframes awareGlowPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes awareGlowPeek{0%{opacity:0;transform:scale(.95)}15%{opacity:1;transform:scale(1.05)}25%,75%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(.98)}}.ferni-aware-glow[data-offset]{transition:background .15s ease-out,opacity .4s ease}.ferni-aware-glow.glow-curious{animation:awareGlowFlash .5s ease-out}@keyframes awareGlowFlash{0%,to{opacity:.7}50%{opacity:1;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.4) 0%,rgba(255,255,255,.2) 40%,transparent 70%)}}.ferni-eye.eye-visible{opacity:1;transform:scale(1)}.ferni-eye.eye-peek{animation:awarenessPeek 2.2s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes awarenessPeek{0%{opacity:0;transform:scale(.5)}12%{opacity:1;transform:scale(1.08)}20%{transform:scale(.95)}28%,72%{opacity:1;transform:scale(1)}85%{opacity:.8;transform:scale(1.03)}to{opacity:0;transform:scale(.6)}}.ferni-eye.eye-look-around .ferni-eye__pupil-group{animation:awarenessLook 2s ease-in-out}@keyframes awarenessLook{0%,to{transform:translate(0)}25%{transform:translate(6px,-2px)}50%{transform:translate(-4px,3px)}75%{transform:translate(3px,-1px)}}.ferni-eye[data-style=pupil].eye-curious .ferni-eye__catchlight{animation:catchlightBrighten .5s ease-out}@keyframes catchlightBrighten{0%,to{opacity:.95}50%{opacity:1;transform:scale(1.5)}}.ferni-eye.eye-wink .ferni-eye__pupil-group{animation:awarenessWink .35s ease-in-out}@keyframes awarenessWink{0%,to{transform:scaleY(1)}40%,60%{transform:scaleY(.1)}}.ferni-eye.eye-blink .ferni-eye__pupil-group{animation:awarenessBlink .12s ease-in-out}@keyframes awarenessBlink{0%,to{transform:scaleY(1)}50%{transform:scaleY(.05)}}.ferni-eye.eye-visible~#avatarText,.ferni-eye.eye-peek~#avatarText{opacity:0;transition:opacity .25s ease}@media (prefers-reduced-motion: reduce){.ferni-eye,.ferni-eye.eye-peek,.ferni-eye__pupil-group,.ferni-aware-glow,.ferni-aware-glow.glow-peek{animation:none!important;transition:opacity .3s ease!important}}#coachAvatar:hover{transform:scale(1.02)}#coachAvatar.flash{animation:avatarFlash .4s var(--ease-out-expo)}@keyframes avatarFlash{0%{filter:brightness(1)}40%{filter:brightness(1.2)}to{filter:brightness(1)}}#avatarText{position:relative;font-family:var(--font-display);font-size:var(--text-4xl);font-weight:800;color:#fff;letter-spacing:var(--tracking-tight);text-shadow:0 2px 8px rgba(0,0,0,.25)}.avatar-eyes{position:absolute;width:100%;height:100%;pointer-events:none}.avatar-eyes .eye-main{transition:transform .15s cubic-bezier(.34,1.56,.64,1);transform-origin:center 60%;will-change:transform}.avatar-eyes .sparkle{transition:transform .12s cubic-bezier(.34,1.56,.64,1);transform-origin:center center}.avatar-eyes{display:block}#coachAvatar #avatarText,#avatarText{display:none!important;visibility:hidden!important;opacity:0!important}@keyframes avatar-blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.avatar-eyes.blinking .eye-main{animation:avatar-blink 3s ease-in-out infinite}.avatar-container[data-emotion=curious] .avatar-eyes .eye-main,#coach[data-emotion=curious] .avatar-eyes .eye-main{transform:scaleY(1.15) scaleX(1.02) translateY(-1px)}.avatar-container[data-emotion=curious] .avatar-eyes .sparkle,#coach[data-emotion=curious] .avatar-eyes .sparkle{transform:translateY(-1px) scale(1.1)}.avatar-container[data-emotion=happy] .avatar-eyes .eye-main,#coach[data-emotion=happy] .avatar-eyes .eye-main{transform:scaleY(.65) scaleX(1.08) translateY(1px)}.avatar-container[data-emotion=happy] .avatar-eyes .sparkle,#coach[data-emotion=happy] .avatar-eyes .sparkle{transform:translateY(2px) scale(1.15)}.avatar-container[data-emotion=sad] .avatar-eyes .eye-main,#coach[data-emotion=sad] .avatar-eyes .eye-main{transform:scaleY(.8) translateY(3px)}.avatar-container[data-emotion=sad] .avatar-eyes .eye-left,#coach[data-emotion=sad] .avatar-eyes .eye-left{transform:scaleY(.8) translateY(3px) rotate(3deg)}.avatar-container[data-emotion=sad] .avatar-eyes .eye-right,#coach[data-emotion=sad] .avatar-eyes .eye-right{transform:scaleY(.8) translateY(3px) rotate(-3deg)}.avatar-container[data-emotion=sad] .avatar-eyes .sparkle,#coach[data-emotion=sad] .avatar-eyes .sparkle{transform:translateY(3px) scale(.85)}.avatar-container[data-emotion=surprised] .avatar-eyes .eye-main,#coach[data-emotion=surprised] .avatar-eyes .eye-main{transform:scaleY(1.25) scaleX(1.1) translateY(-2px)}.avatar-container[data-emotion=surprised] .avatar-eyes .sparkle,#coach[data-emotion=surprised] .avatar-eyes .sparkle{transform:translateY(-3px) scale(1.2)}.avatar-container[data-emotion=thinking] .avatar-eyes .eye-main,#coach[data-emotion=thinking] .avatar-eyes .eye-main{transform:translate(2px) translateY(-2px)}.avatar-container[data-emotion=thinking] .avatar-eyes .sparkle,#coach[data-emotion=thinking] .avatar-eyes .sparkle{transform:translate(2px) translateY(-3px)}.avatar-container[data-emotion=concerned] .avatar-eyes .eye-main,#coach[data-emotion=concerned] .avatar-eyes .eye-main{transform:scaleY(.9) scaleX(.95)}.avatar-container[data-emotion=concerned] .avatar-eyes .eye-left,#coach[data-emotion=concerned] .avatar-eyes .eye-left{transform:scaleY(.9) rotate(-2deg)}.avatar-container[data-emotion=concerned] .avatar-eyes .eye-right,#coach[data-emotion=concerned] .avatar-eyes .eye-right{transform:scaleY(.9) rotate(2deg)}.avatar-container[data-emotion=empathetic] .avatar-eyes .eye-main,#coach[data-emotion=empathetic] .avatar-eyes .eye-main{transform:scaleY(1.05)}.avatar-container[data-emotion=empathetic] .avatar-eyes .eye-left,#coach[data-emotion=empathetic] .avatar-eyes .eye-left{transform:scaleY(1.05) rotate(2deg)}.avatar-container[data-emotion=empathetic] .avatar-eyes .eye-right,#coach[data-emotion=empathetic] .avatar-eyes .eye-right{transform:scaleY(1.05) rotate(-2deg)}.avatar-container[data-emotion=playful] .avatar-eyes .eye-left,#coach[data-emotion=playful] .avatar-eyes .eye-left{transform:scaleY(.75) scaleX(1.05)}.avatar-container[data-emotion=playful] .avatar-eyes .eye-right,#coach[data-emotion=playful] .avatar-eyes .eye-right{transform:scaleY(1.1) scaleX(1.02)}.avatar-container[data-emotion=excited] .avatar-eyes .eye-main,#coach[data-emotion=excited] .avatar-eyes .eye-main{transform:scaleY(1.2) scaleX(1.05) translateY(-1px)}.avatar-container[data-emotion=excited] .avatar-eyes .sparkle,#coach[data-emotion=excited] .avatar-eyes .sparkle{transform:translateY(-2px) scale(1.25)}.avatar-container[data-emotion=calm] .avatar-eyes .eye-main,#coach[data-emotion=calm] .avatar-eyes .eye-main{transform:scaleY(.92) scaleX(1.02)}.avatar-container[data-emotion=tired] .avatar-eyes .eye-main,#coach[data-emotion=tired] .avatar-eyes .eye-main{transform:scaleY(.7) translateY(2px)}.avatar-container[data-emotion=recognition] .avatar-eyes .eye-main,#coach[data-emotion=recognition] .avatar-eyes .eye-main{transform:scaleY(1.18) scaleX(1.08)}.avatar-container[data-emotion=warmth] .avatar-eyes .eye-main,#coach[data-emotion=warmth] .avatar-eyes .eye-main{transform:scaleY(.85) scaleX(1.04) translateY(.5px)}.avatar-container[data-emotion=delight] .avatar-eyes .eye-main,#coach[data-emotion=delight] .avatar-eyes .eye-main{transform:scaleY(.55) scaleX(1.12) translateY(1px)}.avatar-container[data-emotion=delight] .avatar-eyes .sparkle,#coach[data-emotion=delight] .avatar-eyes .sparkle{transform:translateY(2px) scale(1.3)}#coach.is-speaking .avatar-eyes .eye-main{transform:scaleY(.82) scaleX(1.04);transition:transform .2s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}[data-persona=nayan-patel] .avatar-eyes .sparkle{display:none!important}[data-persona=nayan-patel] #coach.is-speaking .avatar-eyes .eye-main{animation:none!important;transform:scaleY(.9) scaleX(1.02)}[data-persona=nayan-patel] #coach.is-listening .avatar-eyes .eye-main{animation:none!important;transform:scaleY(1.05) scaleX(1.02)}[data-persona=nayan-patel] #coach.is-thinking .avatar-eyes .eye-main,[data-persona=nayan-patel] #coach.is-thinking .avatar-eyes .sparkle{animation:none!important;transform:translate(1px) translateY(-1px)}#coach.is-listening .avatar-eyes .eye-main{transform:scaleY(1.12) scaleX(1.02) translateY(-.5px);transition:transform .25s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}#coach.is-thinking .avatar-eyes .eye-main{transform:translate(1.5px) translateY(-1.5px);transition:transform .3s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}@keyframes natural-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}97%{transform:scaleY(.15)}}#coach.is-connected:not(.is-speaking):not(.is-listening):not(.is-thinking) .avatar-eyes .eye-main{animation:natural-blink 6s ease-in-out infinite;animation-delay:3s}@keyframes micro-recognition{0%{transform:scaleY(1) scaleX(1)}40%{transform:scaleY(1.2) scaleX(1.1)}to{transform:scaleY(1) scaleX(1)}}.avatar-eyes.micro-recognition .eye-main{animation:micro-recognition 80ms ease-out forwards}@keyframes micro-concern{0%{transform:scaleY(1)}50%{transform:scaleY(.88) rotate(1deg)}to{transform:scaleY(1) rotate(0)}}.avatar-eyes.micro-concern .eye-main{animation:micro-concern .1s ease-out forwards}@keyframes micro-delight{0%{transform:scaleY(1)}30%{transform:scaleY(.6) scaleX(1.15)}to{transform:scaleY(1) scaleX(1)}}.avatar-eyes.micro-delight .eye-main{animation:micro-delight .12s ease-out forwards}@keyframes micro-warmth{0%{transform:scaleY(1)}50%{transform:scaleY(.9) scaleX(1.05)}to{transform:scaleY(1) scaleX(1)}}.avatar-eyes.micro-warmth .eye-main{animation:micro-warmth .1s ease-out forwards}@keyframes micro-interest{0%{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.12) translateY(-1px)}to{transform:scaleY(1) translateY(0)}}.avatar-eyes.micro-interest .eye-main{animation:micro-interest 90ms ease-out forwards}@keyframes micro-surprise{0%{transform:scale(1)}30%{transform:scale(1.25)}to{transform:scale(1)}}.avatar-eyes.micro-surprise .eye-main{animation:micro-surprise .15s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes listening-nod{0%,to{transform:translateY(0)}50%{transform:translateY(1px)}}#coach.active-listening .avatar-eyes{animation:listening-nod .6s ease-in-out}@keyframes contemplative-pause{0%,to{transform:translateY(0)}50%{transform:translateY(-.5px)}}#coach.contemplative .avatar-eyes .eye-main{animation:contemplative-pause 1.5s ease-in-out infinite}#coach.anticipate-concern .avatar-eyes .eye-main{transform:scaleY(.92);transition:transform .3s ease-out}#coach.anticipate-joy .avatar-eyes .eye-main{transform:scaleY(1.08);transition:transform .3s ease-out}@keyframes eyes-dance-bounce{0%,to{transform:scaleY(.75) scaleX(1.08) translateY(0)}25%{transform:scaleY(.85) scaleX(1.02) translateY(-2px)}50%{transform:scaleY(.65) scaleX(1.12) translateY(1px)}75%{transform:scaleY(.8) scaleX(1.05) translateY(-1px)}}@keyframes eyes-dance-sway{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-1px) rotate(-2deg)}75%{transform:translate(1px) rotate(2deg)}}@keyframes sparkle-dance{0%,to{transform:translateY(1px) scale(1.2)}50%{transform:translateY(-1px) scale(1.35)}}#coach.music-dancing .avatar-eyes .eye-main{animation:eyes-dance-bounce .5s ease-in-out infinite}#coach.music-dancing .avatar-eyes{animation:eyes-dance-sway 1s ease-in-out infinite}#coach.music-dancing .avatar-eyes .sparkle{animation:sparkle-dance .5s ease-in-out infinite}@keyframes eyes-chill-sway{0%,to{transform:scaleY(.85) translateY(0)}50%{transform:scaleY(.8) translateY(.5px)}}#coach.music-chill .avatar-eyes .eye-main{animation:eyes-chill-sway 1.5s ease-in-out infinite}@keyframes eyes-intense-bounce{0%,to{transform:scaleY(.7) scaleX(1.1) translateY(0)}50%{transform:scaleY(.6) scaleX(1.15) translateY(-2px)}}#coach.music-intense .avatar-eyes .eye-main{animation:eyes-intense-bounce .25s ease-in-out infinite}@keyframes game-focus{0%,to{transform:scaleY(1.1) scaleX(1.02)}50%{transform:scaleY(1.15) scaleX(1.05)}}#coach.game-active .avatar-eyes .eye-main{animation:game-focus 1.5s ease-in-out infinite}@keyframes game-anticipate{0%,to{transform:scaleY(1.08) translateY(0)}30%{transform:scaleY(1.12) translateY(-1px)}60%{transform:scaleY(1.1) translateY(0)}}#coach.game-waiting .avatar-eyes .eye-main{animation:game-anticipate 2s ease-in-out infinite}@keyframes game-correct{0%{transform:scaleY(1) scaleX(1)}20%{transform:scaleY(.5) scaleX(1.2)}40%{transform:scaleY(1.3) scaleX(.9) translateY(-3px)}60%{transform:scaleY(.6) scaleX(1.15)}80%{transform:scaleY(1.1) scaleX(1.02)}to{transform:scaleY(1) scaleX(1)}}#coach.game-correct .avatar-eyes .eye-main{animation:game-correct .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes game-wrong{0%{transform:scaleY(1)}30%{transform:scaleY(.7) rotate(2deg)}60%{transform:scaleY(.75) rotate(-1deg)}to{transform:scaleY(.85)}}#coach.game-wrong .avatar-eyes .eye-main{animation:game-wrong .5s ease-out forwards}@keyframes game-streak{0%,to{transform:scaleY(.55) scaleX(1.15) translateY(0)}25%{transform:scaleY(.6) scaleX(1.1) translateY(-2px)}50%{transform:scaleY(.5) scaleX(1.18) translateY(0)}75%{transform:scaleY(.58) scaleX(1.12) translateY(-1px)}}#coach.game-streak .avatar-eyes .eye-main{animation:game-streak .3s ease-in-out infinite}#coach.game-streak .avatar-eyes .sparkle{animation:sparkle-dance .3s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.avatar-eyes .eye-main,.avatar-eyes .sparkle{transition:transform .3s ease-out!important;animation:none!important}#coach.is-speaking .avatar-eyes .eye-main{transform:scaleY(.85);animation:none!important}#coach.is-listening .avatar-eyes .eye-main{transform:scaleY(1.1);animation:none!important}#coach.is-thinking .avatar-eyes .eye-main{transform:translate(1px) translateY(-1px);animation:none!important}.avatar-eyes.micro-recognition .eye-main,.avatar-eyes.micro-concern .eye-main,.avatar-eyes.micro-delight .eye-main,.avatar-eyes.micro-warmth .eye-main,.avatar-eyes.micro-interest .eye-main,.avatar-eyes.micro-surprise .eye-main{animation:none!important}#coach.music-dancing .avatar-eyes .eye-main,#coach.music-chill .avatar-eyes .eye-main,#coach.music-intense .avatar-eyes .eye-main{transform:scaleY(.75) scaleX(1.08);animation:none!important}#coach.music-dancing .avatar-eyes,#coach.music-chill .avatar-eyes,#coach.music-intense .avatar-eyes{animation:none!important}#coach.game-active .avatar-eyes .eye-main{transform:scaleY(1.1);animation:none!important}#coach.game-waiting .avatar-eyes .eye-main{transform:scaleY(1.08);animation:none!important}#coach.game-correct .avatar-eyes .eye-main{transform:scaleY(.6) scaleX(1.15);animation:none!important}#coach.game-wrong .avatar-eyes .eye-main{transform:scaleY(.85);animation:none!important}#coach.game-streak .avatar-eyes .eye-main,#coach.game-streak .avatar-eyes .sparkle{animation:none!important}}#statusIndicator{display:none!important}.connection-heart{width:var(--heart-size)!important;height:var(--heart-size)!important;bottom:var(--heart-offset)!important;right:var(--heart-offset)!important}.connection-heart__icon svg{width:var(--heart-icon)!important;height:var(--heart-icon)!important}#statusIndicator.status-connected{background:var(--color-success);box-shadow:0 2px 6px #0003;animation:presenceHeartbeat 5s ease-in-out infinite}@keyframes presenceHeartbeat{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.97}}#statusIndicator.status-connecting{background:var(--color-warning);animation:statusPulse 1.5s var(--ease-in-out) infinite}#statusIndicator.status-reconnecting{background:var(--color-warning);animation:statusReconnecting 1s ease-in-out infinite}#statusIndicator.status-error{background:var(--color-error);animation:statusError .5s ease-out}#statusIndicator.status-disconnected{background:var(--color-text-dimmed);opacity:.6}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}@keyframes statusReconnecting{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes statusError{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.9)}75%{transform:scale(1.1)}to{transform:scale(1)}}.status-whisper{position:absolute;bottom:-36px;left:50%;transform:translate(-50%) translateY(8px) scale(.95);padding:var(--space-xs, 4px) var(--space-sm, 8px);background:var(--color-bg-elevated, rgba(255, 253, 251, .95));border:1px solid var(--color-border-subtle, rgba(44, 37, 32, .08));border-radius:var(--radius-full, 9999px);font-family:var(--font-body, "Inter", -apple-system, sans-serif);font-size:11px;font-weight:500;letter-spacing:.01em;color:var(--color-text-secondary, #5c544a);white-space:nowrap;opacity:0;pointer-events:none;z-index:var(--z-docked);box-shadow:0 1px 3px #2c25200a,0 4px 12px #2c25200f;backdrop-filter:blur(var(--glass-blur-subtle, 8px));-webkit-backdrop-filter:blur(var(--glass-blur-subtle, 8px));transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.34,1.56,.64,1);will-change:opacity,transform}.coach-info{display:flex;flex-direction:column;align-items:center;gap:4px}#personaName{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);letter-spacing:var(--tracking-tight);line-height:1.2;margin:0}#personaSubtitle{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);letter-spacing:var(--tracking-wide);margin:0}#orb{position:relative;cursor:pointer;padding:var(--space-xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}#waveformContainer{--waveform-color: var(--persona-primary, #4a6741);position:relative;display:flex;align-items:center;justify-content:center;height:48px;padding:4px 0;opacity:.8;transition:opacity .3s ease}#waveformContainer.active{opacity:1}#waveformContainer.transitioning .waveform-bar{animation:barShimmer 1.2s ease-in-out infinite}@keyframes barShimmer{0%,to{opacity:.4;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.2)}}#waveformContainer.transitioning .waveform-bar:nth-child(1){animation-delay:0s}#waveformContainer.transitioning .waveform-bar:nth-child(2){animation-delay:.1s}#waveformContainer.transitioning .waveform-bar:nth-child(3){animation-delay:.2s}#waveformContainer.transitioning .waveform-bar:nth-child(4){animation-delay:.3s}#waveformContainer.transitioning .waveform-bar:nth-child(5){animation-delay:.4s}#waveformContainer.transitioning .waveform-bar:nth-child(6){animation-delay:.3s}#waveformContainer.transitioning .waveform-bar:nth-child(7){animation-delay:.2s}#waveformContainer.transitioning .waveform-bar:nth-child(8){animation-delay:.1s}#waveformContainer.transitioning .waveform-bar:nth-child(9){animation-delay:0s}.waveform-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:36px}.waveform-bar{width:4px;min-height:3px;background:var(--waveform-color);border-radius:100px;transition:background .3s ease;will-change:height}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar{animation:waveformIdleBreath 6s ease-in-out infinite}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(1){animation-delay:0s}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(2){animation-delay:.4s}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(3){animation-delay:.8s}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(4){animation-delay:1.2s}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(5){animation-delay:1.6s}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(6){animation-delay:1.2s}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(7){animation-delay:.8s}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(8){animation-delay:.4s}#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar:nth-child(9){animation-delay:0s}@keyframes waveformIdleBreath{0%,to{transform:scaleY(1);opacity:.5}40%{transform:scaleY(1.08);opacity:.6}60%{transform:scaleY(1.08);opacity:.6}}@media (prefers-reduced-motion: reduce){#waveformContainer.active:not(.speaking):not(.listening):not(.thinking):not(.transitioning):not(.music-playing) .waveform-bar{animation:none}}#waveformContainer.speaking .waveform-bar{filter:brightness(1.1)}.emotion-indicator{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);font-size:14px;opacity:0;transition:opacity .3s ease;pointer-events:none}#waveformContainer.has-emotion .emotion-indicator{opacity:.7}#waveformContainer.celebrating .waveform-bar{filter:brightness(1.3)}#waveformContainer[data-emotion=happy] .waveform-bar{background:#4a6741}#waveformContainer[data-emotion=excited] .waveform-bar{background:#c4856a}#waveformContainer[data-emotion=sad] .waveform-bar{background:#5a6b8a}#waveformContainer[data-emotion=anxious] .waveform-bar{background:#a67a6a}#waveformContainer[data-emotion=frustrated] .waveform-bar{background:#7a5a52}#waveformContainer[data-emotion=calm] .waveform-bar{background:#3a6b73}.emotion-particles{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(400px,100%);height:300px;pointer-events:none;overflow:visible;opacity:0;transition:opacity .6s ease;z-index:var(--z-base)}.emotion-particles.active{opacity:1}.emotion-particles canvas{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important}.status-island{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:var(--z-dropdown);display:flex;flex-direction:column;align-items:center}.handoff-progress{background:var(--color-bg-elevated);border-radius:var(--radius-full);padding:10px 20px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-subtle);opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease;margin-top:8px}.handoff-progress.hidden{opacity:0;transform:translateY(-10px);pointer-events:none}.handoff-progress-content{display:flex;align-items:center;gap:12px}.handoff-spinner{width:16px;height:16px;border:2px solid var(--color-border-medium);border-top-color:var(--persona-primary);border-radius:50%;animation:handoffSpin .8s linear infinite}@keyframes handoffSpin{to{transform:rotate(360deg)}}.handoff-text{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}#handoffTargetName{color:var(--persona-primary);font-weight:600;gap:8px;pointer-events:none}.thinking-float .toast-icon-success svg{animation:toastSuccessBounce .5s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes toastSuccessBounce{0%{transform:scale(.5) rotate(-10deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}70%{transform:scale(.9) rotate(-3deg)}to{transform:scale(1) rotate(0);opacity:1}}.thinking-float .toast-icon-error svg{animation:toastErrorShake .4s cubic-bezier(.36,.07,.19,.97) forwards}@keyframes toastErrorShake{0%,to{transform:translate(0)}20%{transform:translate(-2px) rotate(-2deg)}40%{transform:translate(2px) rotate(2deg)}60%{transform:translate(-1px) rotate(-1deg)}80%{transform:translate(1px) rotate(1deg)}}.thinking-float .toast-icon-warning svg{animation:toastWarningPulse 1.5s ease-in-out infinite}@keyframes toastWarningPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.thinking-float .toast-icon-loading svg{animation:toastLoadingSpin 1.2s linear infinite}@keyframes toastLoadingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.thinking-float.toast-type-error{background:#2d191ee6;border-color:#f8717133}[data-theme=zen] .thinking-float.toast-type-error{background:#fef2f2f2;border-color:#ef444426}@media (prefers-reduced-motion: reduce){.thinking-float .toast-icon-success svg,.thinking-float .toast-icon-error svg,.thinking-float .toast-icon-warning svg,.thinking-float .toast-icon-loading svg{animation:none}}.status-pill{padding:10px 20px;background:#28282de6;backdrop-filter:blur(var(--glass-blur-strong, 24px));-webkit-backdrop-filter:blur(var(--glass-blur-strong, 24px));border-radius:50px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px #00000040,0 0 0 1px #ffffff0d inset;opacity:0;transform:translateY(-16px) scale(.95);pointer-events:none;transition:opacity .35s cubic-bezier(.175,.885,.32,1.275),transform .4s cubic-bezier(.175,.885,.32,1.275)}.status-pill.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.status-pill.exiting{opacity:0;transform:translateY(-12px) scale(.97);transition:opacity .2s ease-out,transform .25s ease-out}#transcriptContainer{max-width:min(320px,100%)}#transcriptContainer .transcript-text{font-size:13px;font-weight:400;color:#ffffffe6;text-align:center;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=zen] .status-pill{background:#fffffff2;border-color:#0000000a;box-shadow:0 4px 20px #00000014,0 0 0 1px #00000005 inset}[data-theme=zen] #transcriptContainer .transcript-text{color:#000c}.controls-row{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:clamp(420px,90vw,600px)}.controls{display:flex;gap:var(--space-md);align-items:center;justify-content:center}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 32px;min-width:min(140px,100%);border:none;border-radius:26px;font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,background .3s ease;overflow:hidden;isolation:isolate;-webkit-tap-highlight-color:transparent;user-select:none}.btn svg,.btn .btn-icon{width:20px;height:20px;flex-shrink:0;transition:transform .2s ease}.btn:hover svg,.btn:hover .btn-icon{transform:scale(1.1)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;animation:none!important}.btn-primary{background:var(--gradient-orb);color:#fff;touch-action:manipulation;-webkit-appearance:none;cursor:pointer;box-shadow:0 1px 2px #0000004d,0 4px 8px #0003,0 8px 16px #00000026,0 0 0 1px #ffffff1a inset,0 1px #fff3 inset}.btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;border-radius:28px 28px 100% 100%;background:linear-gradient(180deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,.08) 50%,transparent 100%);pointer-events:none}.btn-primary:after{content:"";position:absolute;inset:-4px;border-radius:32px;background:var(--persona-primary);opacity:0;filter:blur(12px);transition:opacity .3s ease;z-index:-1}.btn-primary:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 2px 4px #00000040,0 8px 16px #0003,0 16px 32px #00000026,0 0 50px -10px var(--persona-glow),0 0 0 1px #ffffff26 inset,0 1px #ffffff40 inset}.btn-primary:hover:not(:disabled):after{opacity:.25}.btn-primary:active:not(:disabled){transform:translateY(1px) scale(.97);transition-duration:.1s;box-shadow:0 1px 2px #0006,0 2px 4px #0000004d,0 0 0 1px #ffffff14 inset,0 -1px #0003 inset}.btn-primary:active:not(:disabled):after{opacity:.1}.btn-primary:not(:disabled){animation:btnMagicBreath 3s ease-in-out infinite}@keyframes btnMagicBreath{0%,to{box-shadow:0 1px 2px #0000004d,0 4px 8px #0003,0 8px 16px #00000026,0 0 0 1px #ffffff1a inset,0 1px #fff3 inset}50%{box-shadow:0 1px 2px #0000004d,0 4px 8px #0003,0 8px 16px #00000026,0 0 40px -8px var(--persona-glow),0 0 0 1px #ffffff26 inset,0 1px #ffffff40 inset}}.btn-primary:focus-visible{outline:none;box-shadow:0 1px 2px #0000004d,0 4px 8px #0003,0 8px 16px #00000026,0 0 0 3px var(--color-bg-primary),0 0 0 5px var(--persona-primary),0 0 0 1px #ffffff1a inset}.btn-content{display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.175,.885,.32,1.275)}.btn-connecting{position:relative;pointer-events:none;min-width:min(160px,100%);transition:min-width .4s cubic-bezier(.175,.885,.32,1.275)}.btn-connecting .btn-content{opacity:0;transform:scale(.9)}.btn-connecting:after{content:"Connecting";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-left:28px;font-weight:500;letter-spacing:.01em;animation:connectTextFade .3s ease-out forwards}@keyframes connectTextFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.btn-connecting:before{content:"";position:absolute;left:24px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid rgba(255,255,255,.25);border-top-color:#fffffff2;border-radius:50%;animation:btnSpinIn .3s cubic-bezier(.175,.885,.32,1.275) forwards,btnSpin .7s linear .3s infinite}@keyframes btnSpinIn{0%{opacity:0;transform:scale(.5) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}.btn-connecting.btn-primary:not(:disabled){animation:none!important}@media (prefers-reduced-motion: reduce){.btn-primary:not(:disabled){animation:none}.btn-connecting:before{animation:none;opacity:.7}#disconnectBtn:not([style*="display: none"]){animation:none}#connectBtn,#disconnectBtn,.btn-content{transition:none}}#connectBtn,#disconnectBtn{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.175,.885,.32,1.275),background .3s ease,box-shadow .3s ease}@keyframes btnSpringIn{0%{opacity:0;transform:scale(.85) translateY(8px)}60%{transform:scale(1.03) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}#disconnectBtn:not([style*="display: none"]){animation:btnSpringIn .5s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes successShimmer{0%{background-position:-200% center}to{background-position:200% center}}#disconnectBtn.btn-primary{background-size:200% 100%}[data-persona=ferni] .btn-primary{background:linear-gradient(145deg,var(--color-ferni-secondary, #3d5a35) 0%,var(--color-ferni, #4a6741) 50%,#5a7751 100%)!important}[data-persona=peter-john] .btn-primary{background:linear-gradient(145deg,var(--color-peter-secondary, #2d5359) 0%,var(--color-peter, #3a6b73) 50%,#4a7b83 100%)!important}[data-persona=nayan-patel] .btn-primary{background:linear-gradient(145deg,var(--color-nayan-secondary, #9a7a52) 0%,var(--color-nayan, #b8956a) 50%,#c8a57a 100%)!important}[data-persona=alex-chen] .btn-primary{background:linear-gradient(145deg,var(--color-alex-secondary, #4a5a73) 0%,var(--color-alex, #5a6b8a) 50%,#6a7b9a 100%)!important}[data-persona=maya-santos] .btn-primary{background:linear-gradient(145deg,var(--color-maya-secondary, #8a635a) 0%,var(--color-maya, #a67a6a) 50%,#b68a7a 100%)!important}[data-persona=jordan-taylor] .btn-primary{background:linear-gradient(145deg,var(--color-jordan-secondary, #a86d55) 0%,var(--color-jordan, #c4856a) 50%,#d4957a 100%)!important}.btn-secondary{min-height:48px;padding:12px 28px;background:#ffffff08;color:var(--color-text-secondary);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(var(--glass-blur-medium, 16px));-webkit-backdrop-filter:blur(var(--glass-blur-medium, 16px));box-shadow:0 2px 8px #0000001a,0 0 0 1px #ffffff08 inset}.btn-secondary:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff1f;color:var(--color-text-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026,0 0 0 1px #ffffff0d inset}.btn-secondary:active:not(:disabled){transform:translateY(0) scale(.98);background:#ffffff0a}.btn-secondary:active:not(:disabled){transform:translateY(0);background:#ffffff0a}.btn-secondary:focus-visible{outline:none;background:#ffffff0f;border-color:#ffffff1f;box-shadow:0 4px 12px #00000026,0 0 0 3px var(--color-bg-primary),0 0 0 5px var(--persona-primary),0 0 0 1px #ffffff0d inset}.btn-wrap-up{background:linear-gradient(145deg,var(--color-nayan-secondary, #9a7a52) 0%,var(--color-nayan, #b8956a) 50%,#d4a57a 100%)!important;transform:scale(1.05);box-shadow:0 4px 12px #b8956a4d,0 8px 24px #b8956a33,0 0 40px #b8956a26,0 0 0 1px #ffffff26 inset,0 1px #ffffff40 inset!important;font-weight:600;letter-spacing:.02em}.btn-wrap-up:hover:not(:disabled){transform:scale(1.08) translateY(-2px);box-shadow:0 6px 16px #b8956a66,0 12px 32px #b8956a40,0 0 50px #b8956a33,0 0 0 1px #fff3 inset,0 1px #ffffff4d inset!important}.btn-wrap-up:focus-visible{outline:none;box-shadow:0 6px 16px #b8956a66,0 0 0 3px var(--color-bg-primary),0 0 0 5px #b8956a,0 0 0 1px #fff3 inset!important}[data-theme=zen] .btn-wrap-up{background:linear-gradient(145deg,#c4a265,#d4b275,#e4c285)!important;box-shadow:0 4px 12px #c4a26540,0 8px 20px #c4a26526,0 0 30px #c4a2651a}.btn-attention{animation:wrapUpPulse 2s ease-in-out infinite}@keyframes wrapUpPulse{0%,to{box-shadow:0 4px 12px #b8956a4d,0 8px 24px #b8956a33,0 0 40px #b8956a26}50%{box-shadow:0 6px 16px #b8956a66,0 12px 32px #b8956a4d,0 0 60px #b8956a40}}@media (prefers-reduced-motion: reduce){.btn-attention{animation:none}}.btn-closing{animation:closingFade 2s ease-out forwards;pointer-events:none;cursor:default}@keyframes closingFade{0%{opacity:1;box-shadow:0 4px 12px #b8956a4d,0 8px 24px #b8956a33,0 0 40px #b8956a26;transform:scale(1)}50%{opacity:.9;box-shadow:0 2px 8px #b8956a33,0 4px 16px #b8956a1a,0 0 30px #b8956a1a;transform:scale(.98)}to{opacity:.7;box-shadow:0 2px 6px #b8956a26,0 4px 12px #b8956a14;transform:scale(.96)}}@media (prefers-reduced-motion: reduce){.btn-closing{animation:none;opacity:.7}}.btn-agent-hangup{animation:agentHangupPress .4s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)) forwards;pointer-events:none;cursor:default}@keyframes agentHangupPress{0%{transform:scale(1);box-shadow:0 4px 12px #b8956a4d,0 8px 24px #b8956a33}25%{transform:scale(.92) translateY(2px);box-shadow:0 1px 4px #b8956a33,0 2px 8px #b8956a1a}50%{transform:scale(.96) translateY(1px);box-shadow:0 2px 6px #b8956a26,0 3px 10px #b8956a1a}to{transform:scale(.94) translateY(1px);opacity:.6;box-shadow:0 1px 4px #b8956a1a,0 2px 6px #b8956a0d}}@media (prefers-reduced-motion: reduce){.btn-agent-hangup{animation:none;transform:scale(.94);opacity:.6}}.btn.loading{pointer-events:none;opacity:.8}.btn.loading:after{content:"";width:16px;height:16px;margin-left:var(--space-sm);border:2px solid transparent;border-top-color:currentColor;border-radius:var(--radius-full);animation:btnSpin .7s linear infinite}@keyframes btnSpin{to{transform:rotate(360deg)}}.btn-magnetic{--magnetic-x: 0;--magnetic-y: 0}.btn-magnetic:hover{transform:translate(calc(var(--magnetic-x) * .3px),calc(var(--magnetic-y) * .3px)) translateY(-2px)}.ripple{position:absolute;border-radius:50%;background:#fff6;transform:scale(0);animation:rippleEffect .6s var(--ease-out-expo);pointer-events:none}.celebration-burst{position:fixed;top:50%;left:50%;width:min(100px,100%);height:100px;transform:translate(-50%,-50%);pointer-events:none;z-index:var(--z-dropdown)}.celebration-ring{position:absolute;inset:0;border:2px solid var(--color-success);border-radius:50%;animation:celebrationRing 1.2s var(--ease-out-expo) forwards}.celebration-ring:nth-child(2){animation-delay:.15s;border-color:var(--persona-primary)}.celebration-ring:nth-child(3){animation-delay:.3s;border-color:var(--persona-secondary)}@keyframes celebrationRing{0%{transform:scale(.3);opacity:1}to{transform:scale(6);opacity:0}}.avatar-connected-pulse{animation:avatarConnectPulse 1.5s var(--ease-out-expo)}@keyframes avatarConnectPulse{0%{box-shadow:0 0 #10b98199;filter:brightness(1)}50%{box-shadow:0 0 40px 15px #10b98166;filter:brightness(1.05)}to{box-shadow:0 0 0 0 transparent;filter:brightness(1)}}.persona-transition{animation:personaMorph .6s var(--ease-out-expo)}@keyframes personaMorph{0%{filter:blur(4px) brightness(1.1);transform:scale(1.02)}to{filter:blur(0) brightness(1);transform:scale(1)}}.btn-primary:before{background:linear-gradient(160deg,rgba(255,255,255,.25) 0%,transparent 50%)}.interactive-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.interactive-lift:hover{transform:translateY(-2px)}.interactive-lift:active{transform:translateY(0) scale(.98)}#teamRoster{display:flex;align-items:center;justify-content:center;gap:var(--roster-gap);margin-top:var(--space-md);padding:var(--space-2, 8px) var(--space-3, 12px);background:var(--color-bg-glass);backdrop-filter:blur(var(--glass-blur-medium, 16px));-webkit-backdrop-filter:blur(var(--glass-blur-medium, 16px));border-radius:16px 14px 18px 15px/14px 16px 15px 17px;border:1px solid var(--color-border-subtle);flex-wrap:wrap}#teamRoster.hidden{display:none}#teamRoster.roster-loading{position:relative;overflow:hidden!important}#teamRoster.roster-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:skeletonShimmer 1.5s infinite;pointer-events:none;border-radius:inherit}@keyframes skeletonShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.team-member-skeleton{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 12px;opacity:.5}.team-member-skeleton .avatar-skeleton{width:32px;height:32px;border-radius:50%;background:var(--color-bg-elevated)}.team-member-skeleton .name-skeleton{width:32px;height:8px;border-radius:4px;background:var(--color-bg-elevated)}.team-label{font-size:var(--text-2xs);font-weight:600;color:var(--color-text-dimmed);margin-right:6px;letter-spacing:var(--tracking-wider);text-transform:uppercase}.team-member{--member-color: var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--roster-padding);border-radius:var(--radius-lg);background:transparent;cursor:pointer;transition:opacity .2s cubic-bezier(.34,1.56,.64,1),transform .2s cubic-bezier(.34,1.56,.64,1),background .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s cubic-bezier(.34,1.56,.64,1);opacity:.5;position:relative;flex-shrink:0;flex-grow:0;min-width:52px;box-sizing:border-box}.team-member:hover:not(.switching-to):not(.switching-from){opacity:.8;transform:scale(1.02) translateY(-2px)}.team-member:active:not(.switching-to):not(.switching-from){transform:scale(.95) translateY(1px);transition:transform 50ms ease-in}.team-member.active{opacity:1}.team-member.active:not(.switching-to):not(.switching-from){transform:none!important}.team-avatar-container{position:relative;width:var(--roster-container);height:var(--roster-container);display:flex;align-items:center;justify-content:center}.team-avatar-ring{position:absolute;inset:calc(-1 * var(--roster-ring-offset));border-radius:var(--radius-full);border:var(--roster-ring-width) solid var(--member-color, var(--persona-primary));opacity:0;transform:scale(.85);transition:transform .35s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),opacity .35s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));pointer-events:none}.team-member.active .team-avatar-ring{opacity:1;transform:scale(1);border-color:var(--persona-primary);box-shadow:0 0 16px -4px var(--persona-glow)}.team-member:hover:not(.active) .team-avatar-ring{opacity:.4;transform:scale(.95)}.team-avatar{width:var(--roster-avatar);height:var(--roster-avatar);border-radius:var(--radius-full);background:var(--persona-gradient, var(--gradient-orb));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--roster-text);font-weight:700;color:#fff;letter-spacing:var(--tracking-tight);transition:all var(--transition-base);box-shadow:0 2px 8px #0003,0 0 0 1px #ffffff0d inset;position:relative;z-index:var(--z-docked)}.team-member:hover .team-avatar{transform:scale(1.05);box-shadow:0 4px 16px #00000040,0 0 0 1px #ffffff14 inset}.team-member.active .team-avatar{box-shadow:0 4px 16px #0003,0 0 20px -8px var(--member-color),0 0 0 1px #ffffff1a inset}.team-avatar-eyes{position:absolute;width:100%;height:100%;pointer-events:none}.team-member .team-avatar{font-size:0;color:transparent}.team-member.pixar-hover{z-index:var(--z-docked)}.team-member.pixar-hover .team-avatar{box-shadow:0 8px 24px #0000004d,0 0 30px -8px var(--member-color),0 0 0 1px #ffffff1f inset}.team-member.pixar-hover .team-avatar-ring{opacity:.6;transform:scale(1);border-color:var(--member-color)}.team-member.pixar-hover .team-name{color:var(--color-text-primary)}.team-member.active:not(.switching-to):not(.switching-from){animation:teamMemberBreathing 6s ease-in-out infinite}@keyframes teamMemberBreathing{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}.team-member.active .team-avatar-ring{animation:activeRingShimmer 5s ease-in-out infinite}@keyframes activeRingShimmer{0%,to{opacity:1}50%{opacity:.9}}.team-name{font-size:var(--roster-name);font-weight:600;color:var(--color-text-dimmed);white-space:nowrap;transition:color var(--transition-base),opacity var(--transition-base);letter-spacing:var(--tracking-wide);opacity:var(--roster-show-name);max-height:calc(var(--roster-show-name) * 20px);overflow:hidden}.team-member:hover .team-name{color:var(--color-text-muted)}.team-member.active .team-name{color:var(--color-text-primary)}.team-member[data-persona-id=ferni]{--member-color: #4a6741}.team-member[data-persona-id=alex-chen]{--member-color: #5a6b8a}.team-member[data-persona-id=jordan-taylor]{--member-color: #c4856a}.team-member[data-persona-id=maya-santos]{--member-color: #a67a6a}.team-member[data-persona-id=nayan-patel]{--member-color: #b8956a}.team-member[data-persona-id=peter-john]{--member-color: #3a6b73}.team-member--marketplace{--member-color: var(--color-text-muted, #a89d90);background:transparent;opacity:.6;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}.team-member--marketplace:hover{opacity:.9;background:transparent}.team-member--marketplace .team-avatar-container{width:var(--roster-container);height:var(--roster-container)}.team-member--marketplace .team-avatar{width:var(--roster-avatar);height:var(--roster-avatar)}.marketplace-avatar{display:flex;align-items:center;justify-content:center;background:var(--color-text-dimmed, #b8ad9f)!important}.team-member--marketplace .marketplace-avatar{color:#fff}.marketplace-avatar svg{width:40%;height:40%;stroke-width:2;opacity:.9}.marketplace-ring{border-style:dashed;border-width:1.5px;border-color:var(--color-text-dimmed, #b8ad9f);opacity:.6}.team-member--marketplace:hover .marketplace-ring{opacity:1;border-color:var(--color-text-muted, #a89d90)}.team-member--marketplace:hover .marketplace-avatar{background:var(--color-text-muted, #a89d90)!important}.team-member--marketplace .marketplace-ring{animation:marketplaceInvite 4s ease-in-out infinite;animation-delay:2s}@keyframes marketplaceInvite{0%,85%,to{transform:scale(1);opacity:.6}90%{transform:scale(1.08);opacity:.9}95%{transform:scale(1.04);opacity:.75}}.team-member--marketplace:hover .marketplace-ring{animation:none}.team-member--marketplace-agent{position:relative}.team-member--marketplace-agent .team-avatar{font-size:.75rem;font-weight:600;letter-spacing:.02em}.team-divider--marketplace{position:relative;margin:0 var(--space-xs, 4px);width:1px;height:24px;background:var(--color-border, rgba(92, 84, 74, .15))}.team-member--locked{opacity:.5;filter:grayscale(.4)}.team-member--locked:hover{opacity:.65;filter:grayscale(.2)}.team-member--locked .team-avatar--locked{filter:saturate(.6)}.team-lock-indicator{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;background:var(--color-background-elevated, rgba(44, 37, 32, .95));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003;z-index:var(--z-docked)}.team-lock-indicator svg{color:var(--color-text-muted, #a89d90)}.team-progress-ring{position:absolute;top:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);transform:rotate(-90deg);pointer-events:none;z-index:var(--z-base)}.team-progress-ring circle{transition:stroke-dasharray .5s ease}.team-member--almost-unlocked{opacity:.7;filter:grayscale(.2)}.team-member--almost-unlocked:hover{opacity:.85;filter:grayscale(0)}.team-member--locked-feedback{animation:lockedShake .6s ease}@keyframes lockedShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}.team-member--just-unlocked{filter:grayscale(0)!important;opacity:1!important}.team-member--just-unlocked .team-avatar-ring{border-color:var(--persona-primary);opacity:1;animation:unlockRingPulse .8s ease}@keyframes unlockRingPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1);opacity:1;filter:brightness(1.1)}to{transform:scale(1);opacity:1;filter:brightness(1)}}.team-member--addable{opacity:.6;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.team-member--addable:hover{opacity:1;transform:translateY(-2px)}.team-avatar-ring--addable{border-style:dashed!important;border-color:var(--color-border, rgba(255, 255, 255, .25))!important;background:transparent!important}.team-avatar--addable{filter:saturate(.7);opacity:.8}.team-member--addable:hover .team-avatar--addable{filter:saturate(1);opacity:1}.team-member--addable:hover .team-avatar-ring--addable{border-color:var(--persona-primary, #4a6741)!important;border-style:solid!important}.team-add-badge{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;background:var(--persona-primary, #4a6741);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;z-index:var(--z-docked);color:#fff;transition:transform .2s ease,background .2s ease}.team-member--addable:hover .team-add-badge{transform:scale(1.15);background:var(--color-success, #4a6741)}[data-theme=zen] .team-avatar-ring--addable{border-color:#2c252033!important}[data-theme=zen] .team-member--addable:hover .team-avatar-ring--addable{border-color:var(--persona-primary, #4a6741)!important}[data-theme=zen] .team-member--locked{background:#fff6}[data-theme=zen] .team-member--locked:hover{background:#ffffff8c}[data-theme=zen] .team-lock-indicator{background:#ffffffe6}.team-member--coach{opacity:.7}.team-member--coach.active{opacity:1}.team-member.switching-from{opacity:.35;transition:opacity .3s ease}.team-member.switching-from .team-avatar-ring{opacity:.3;transition:opacity .3s ease}.team-member.switching-to{opacity:1}.team-member.switching-to .team-avatar{transform:scale(1.08);box-shadow:0 4px 20px #00000040,0 0 30px -5px var(--member-color),0 0 0 1px #ffffff26 inset;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s cubic-bezier(.34,1.56,.64,1)}.team-member.switching-to .team-avatar-ring{opacity:1;transform:scale(1.05);animation:switchingPulse .6s ease infinite}@keyframes switchingPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.team-member.pulse .team-avatar{animation:tapPulse .3s ease}@keyframes tapPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.team-member--coach .team-avatar{width:var(--roster-avatar);height:var(--roster-avatar);font-size:var(--roster-text)}.team-member--coach .team-avatar-container{width:var(--roster-container);height:var(--roster-container)}.team-member--coach .team-avatar-ring{inset:-4px}.team-divider{width:1px;height:28px;background:var(--color-border-subtle);margin:0 4px}#helperText{font-family:var(--font-primary);font-size:14px;font-weight:450;letter-spacing:.01em;color:var(--color-text-secondary, #5c544a);margin:0;text-align:center;flex-shrink:0;margin-bottom:var(--space-sm, 8px);min-height:1.5em;opacity:1!important;visibility:visible!important;display:block!important;transform:translateY(0)}#helperText:hover{color:var(--color-text-primary, #2c2520)}[data-theme=midnight] #helperText{color:var(--color-text-muted, #d0c4b4)}[data-theme=midnight] #helperText:hover{color:var(--color-text-secondary, #e0d5c8)}@keyframes helperFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}#helperText.transitioning{animation:helperPulse .25s ease}@keyframes helperPulse{0%,to{opacity:1}50%{opacity:.3}}.spotify-status{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--color-bg-glass);backdrop-filter:blur(var(--glass-blur-subtle, 8px));-webkit-backdrop-filter:blur(var(--glass-blur-subtle, 8px));border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);transition:all var(--transition-base)}.spotify-status.hidden{display:none}.spotify-status.ready{color:#1db954;background:#1db9541a}.spotify-status.error{color:var(--color-error);background:#ef44441a}.spotify-status.playing{color:#1db954;background:#1db95426}.spotify-status.playing .spotify-icon{animation:musicBounce .5s ease-in-out infinite alternate}.spotify-icon{font-size:var(--text-sm)}.footer-links{display:flex;justify-content:center;gap:var(--space-xl);flex-wrap:wrap}.footer-link{font-size:var(--text-xs);font-weight:500;color:var(--color-text-dimmed);text-decoration:none;letter-spacing:var(--tracking-wide);transition:color var(--transition-base);padding:4px 0;position:relative}.footer-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-text-muted);transition:width var(--transition-base)}.footer-link:hover{color:var(--color-text-secondary)}.footer-link:hover:after{width:100%}.footer-link:focus-visible{color:var(--persona-primary);outline:none}@media (max-width: clamp(538px,90vw,768px)){:root{--panel-width: min(340px, 100%);--modal-width: clamp(308px, 90vw, 440px);--container-max-width: 100%;--container-padding: var(--space-md);--avatar-hero-size: 144px;--avatar-ring-inset: -12px;--avatar-text-size: 3rem;--waveform-height: 70px;--waveform-bar-height: 48px;--waveform-bar-width: 3.5px;--waveform-gap: 4px;--btn-primary-height: 52px;--btn-primary-padding: 14px 32px;--heart-size: 36px;--heart-icon: 18px;--heart-offset: -4px;--roster-container: 44px;--roster-avatar: 40px;--roster-ring-offset: 4px;--roster-ring-width: 2px;--roster-text: 13px;--roster-name: 10px;--roster-gap: 6px;--roster-padding: 5px 6px;--roster-show-name: 1}}@media (max-width: clamp(537px,90vw,767px)) and (min-width: clamp(337px,90vw,481px)){:root{--panel-width: min(320px, 100%);--modal-width: min(400px, 100%);--container-padding: var(--space-sm);--avatar-hero-size: 140px;--avatar-ring-inset: -12px;--avatar-text-size: 2.5rem;--waveform-height: 60px;--waveform-bar-height: 42px;--waveform-bar-width: 3px;--waveform-gap: 3px;--btn-primary-height: 48px;--btn-primary-padding: 12px 28px;--heart-size: 32px;--heart-icon: 16px;--heart-offset: -4px;--roster-container: 40px;--roster-avatar: 36px;--roster-ring-offset: 3px;--roster-ring-width: 2px;--roster-text: 12px;--roster-name: 9px;--roster-gap: 5px;--roster-padding: 4px 5px;--roster-show-name: 1}}@media (max-width: clamp(336px,90vw,480px)){:root{--panel-width: 100vw;--panel-max-width: 100vw;--modal-width: 100vw;--modal-max-width: 100vw;--container-padding: var(--space-sm);--avatar-hero-size: 160px;--avatar-ring-inset: -14px;--avatar-ring-width: 3px;--avatar-text-size: 2.75rem;--waveform-height: 56px;--waveform-bar-height: 40px;--waveform-bar-width: 3px;--waveform-gap: 3px;--btn-primary-height: 52px;--btn-primary-padding: 14px 32px;--btn-secondary-height: 44px;--heart-size: 40px;--heart-icon: 20px;--heart-offset: -5px;--roster-container: 44px;--roster-avatar: 40px;--roster-ring-offset: 4px;--roster-ring-width: 2px;--roster-text: 13px;--roster-name: 10px;--roster-gap: 6px;--roster-padding: 5px 6px;--roster-show-name: 1}}@media (max-width: min(375px,100%)){:root{--panel-width: 100vw;--panel-max-width: 100vw;--modal-width: 100vw;--modal-max-width: 100vw;--container-padding: var(--space-xs);--avatar-hero-size: 120px;--avatar-ring-inset: -10px;--avatar-ring-width: 2px;--avatar-text-size: 2rem;--waveform-height: 44px;--waveform-bar-height: 34px;--waveform-bar-width: 2.5px;--waveform-gap: 2.5px;--btn-primary-height: 48px;--btn-primary-padding: 12px 24px;--btn-secondary-height: 40px;--heart-size: 38px;--heart-icon: 19px;--heart-offset: -5px;--roster-container: 40px;--roster-avatar: 36px;--roster-ring-offset: 3px;--roster-ring-width: 2px;--roster-text: 12px;--roster-name: 9px;--roster-gap: 5px;--roster-padding: 4px 5px;--roster-show-name: 1}}@media (max-width: min(320px,100%)){:root{--panel-width: 100vw;--panel-max-width: 100vw;--modal-width: 100vw;--modal-max-width: 100vw;--container-padding: var(--space-2xs);--avatar-hero-size: 100px;--avatar-ring-inset: -8px;--avatar-ring-width: 2px;--avatar-text-size: 1.75rem;--waveform-height: 40px;--waveform-bar-height: 28px;--waveform-bar-width: 2px;--waveform-gap: 2px;--btn-primary-height: 44px;--btn-primary-padding: 10px 20px;--btn-secondary-height: 38px;--heart-size: 32px;--heart-icon: 16px;--heart-offset: -4px;--roster-container: 36px;--roster-avatar: 32px;--roster-ring-offset: 3px;--roster-ring-width: 1.5px;--roster-text: 11px;--roster-name: 8px;--roster-gap: 4px;--roster-padding: 3px 4px;--roster-show-name: 1}}@media (max-height: 500px) and (orientation: landscape){:root{--panel-width: min(280px, 100%);--modal-width: min(360px, 100%);--container-padding: var(--space-xs);--landscape-compact: 1;--avatar-hero-size: 80px;--avatar-ring-inset: -8px;--avatar-ring-width: 1.5px;--avatar-text-size: 1.75rem;--waveform-height: 40px;--waveform-bar-height: 28px;--waveform-bar-width: 2px;--waveform-gap: 2px;--btn-primary-height: 40px;--btn-primary-padding: 8px 20px;--btn-secondary-height: 36px;--heart-size: 20px;--heart-icon: 10px;--heart-offset: -2px;--roster-container: 32px;--roster-avatar: 28px;--roster-ring-offset: 3px;--roster-ring-width: 1.5px;--roster-text: 10px;--roster-name: 0;--roster-gap: 4px;--roster-padding: 3px 4px;--roster-show-name: 0}}@media (min-height: 501px) and (max-height: 700px) and (orientation: landscape) and (pointer: coarse){:root{--panel-width: min(320px, 100%);--modal-width: clamp(294px, 90vw, 420px);--container-padding: var(--space-sm);--avatar-hero-size: 100px;--avatar-ring-inset: -10px;--avatar-text-size: 2rem;--waveform-height: 50px;--waveform-bar-height: 34px;--waveform-bar-width: 2.5px;--waveform-gap: 2.5px;--heart-size: 28px;--heart-icon: 14px;--heart-offset: -3px;--roster-container: 38px;--roster-avatar: 34px;--roster-ring-offset: 3px;--roster-ring-width: 2px;--roster-text: 11px;--roster-name: 9px;--roster-gap: 5px;--roster-padding: 4px 6px;--roster-show-name: 1}}@media (min-height: 701px) and (max-width: min(1366px,100%)) and (orientation: landscape) and (pointer: coarse){:root{--panel-width: min(360px, 100%);--modal-width: clamp(336px, 90vw, 480px);--container-padding: var(--space-md);--avatar-hero-size: 140px;--avatar-ring-inset: -12px;--avatar-text-size: 2.75rem;--waveform-height: 65px;--waveform-bar-height: 45px;--waveform-bar-width: 3.5px;--waveform-gap: 4px;--heart-size: 36px;--heart-icon: 18px;--heart-offset: -4px;--roster-container: 44px;--roster-avatar: 40px;--roster-ring-offset: 4px;--roster-ring-width: 2px;--roster-text: 13px;--roster-name: 10px;--roster-gap: 6px;--roster-padding: 5px 6px;--roster-show-name: 1}}@media (max-width: min(1199px,100%)) and (min-width: clamp(538px,90vw,769px)){:root{--panel-width: min(360px, 100%);--modal-width: clamp(336px, 90vw, 480px);--container-max-width: clamp(392px, 90vw, 560px);--container-padding: var(--space-lg);--avatar-hero-size: 152px;--avatar-ring-inset: -14px;--avatar-ring-width: 2px;--avatar-text-size: 3.25rem;--waveform-height: 72px;--waveform-bar-height: 50px;--waveform-bar-width: 3.5px;--waveform-gap: 4.5px;--btn-primary-height: 54px;--btn-primary-padding: 15px 36px;--heart-size: 40px;--heart-icon: 20px;--heart-offset: -5px;--roster-container: 46px;--roster-avatar: 42px;--roster-ring-offset: 4px;--roster-ring-width: 2px;--roster-text: 13px;--roster-name: 10px;--roster-gap: 8px;--roster-padding: 6px 8px;--roster-show-name: 1}}@media (min-width: min(1200px,100%)){:root{--panel-width: min(400px, 100%);--modal-width: clamp(364px, 90vw, 520px);--container-max-width: clamp(448px, 90vw, 640px);--container-padding: var(--space-xl);--avatar-hero-size: 176px;--avatar-ring-inset: -16px;--avatar-ring-width: 2.5px;--avatar-text-size: 4rem;--waveform-height: 88px;--waveform-bar-height: 64px;--waveform-bar-width: 4.5px;--waveform-gap: 5.5px;--btn-primary-height: 60px;--btn-primary-padding: 18px 48px;--btn-secondary-height: 52px;--heart-size: 44px;--heart-icon: 22px;--heart-offset: -6px;--roster-container: 52px;--roster-avatar: 48px;--roster-ring-offset: 5px;--roster-ring-width: 2.5px;--roster-text: 16px;--roster-name: 11px;--roster-gap: 10px;--roster-padding: 8px 10px;--roster-show-name: 1}}@media (min-width: min(1200px,100%)){.app{max-width:clamp(420px,90vw,600px);margin:0 auto;padding:var(--space-md);padding-top:max(var(--space-md),env(safe-area-inset-top,8px))}.header{padding:var(--space-xs) 0 var(--space-sm) 0;gap:var(--space-xs)}.avatar-container{width:min(128px,100%);height:128px}#avatarRing{inset:-10px;border-width:2px}#avatarText{font-size:var(--text-3xl)}.thinking-float{bottom:-30px;padding:5px 12px;font-size:11px}.thinking-float .thinking-dot{width:4.5px;height:4.5px}.status-whisper{bottom:-34px!important;font-size:10px!important}#personaName{font-size:var(--text-lg)}#personaSubtitle{font-size:var(--text-sm)}#waveformContainer{max-width:min(320px,100%);height:70px;padding:6px 0}.waveform-bars{height:48px;gap:4px}.waveform-bar{--bar-width: 3.5px}.btn-primary{min-height:52px;padding:14px 36px;font-size:var(--text-base)}.btn-secondary{min-height:44px;padding:10px 24px}#helperText{font-size:var(--text-base);margin-top:var(--space-lg)}.main{gap:var(--space-sm);padding:var(--space-sm)}.controls{gap:var(--space-md)}}@media (max-width: min(1199px,100%)) and (min-width: clamp(538px,90vw,769px)){.app{padding:var(--space-md)}.main{gap:var(--space-sm);padding:var(--space-sm)}.header{padding:var(--space-md);gap:var(--space-md)}.avatar-container{width:min(128px,100%);height:128px}#avatarRing{inset:-10px;border-width:2px}.thinking-float{bottom:-28px;padding:5px 12px;font-size:11px}.thinking-float .thinking-dot{width:4.5px;height:4.5px}.status-whisper{bottom:-32px!important;font-size:10px!important}#avatarText{font-size:var(--text-3xl)}#personaName{font-size:var(--text-lg)}#personaSubtitle{font-size:var(--text-sm)}#waveformContainer{height:65px}.waveform-bars{height:44px;gap:4px}.waveform-bar{--bar-width: 3.5px}.btn-primary{min-height:52px;padding:14px 32px;font-size:var(--text-base)}#helperText{font-size:13px;margin-top:var(--space-md)}}@media (max-width: clamp(538px,90vw,768px)){.app{padding:var(--space-md)}.main{gap:var(--space-sm);padding:var(--space-sm)}.header{padding:var(--space-md);gap:var(--space-md)}.avatar-container{width:min(128px,100%);height:128px}#avatarRing{inset:-10px;border-width:2px}.thinking-float{bottom:-28px;padding:5px 12px;font-size:11px}.thinking-float .thinking-dot{width:4.5px;height:4.5px}.status-whisper{bottom:-32px!important;font-size:10px!important}#avatarText{font-size:var(--text-3xl)}#personaName{font-size:var(--text-lg)}#personaSubtitle{font-size:var(--text-sm)}#teamRoster{padding:8px 12px;gap:var(--roster-gap)}.team-member{padding:var(--roster-padding)}.team-name{font-size:var(--roster-name)}#waveformContainer{height:65px}.waveform-bars{height:44px;gap:3.5px}.waveform-bar{--bar-width: 3px}.btn-primary{min-height:50px;padding:12px 28px;font-size:var(--text-base)}#helperText{font-size:13px}.controls{gap:var(--space-md)}}@media (max-width: clamp(537px,90vw,767px)) and (min-width: clamp(337px,90vw,481px)){.app{min-height:100dvh;padding:var(--space-sm)}.main{gap:var(--space-sm);justify-content:center}.avatar-container{width:min(140px,100%);height:140px}#statusIndicator{width:24px;height:24px;bottom:6px;right:6px;border-width:3px}.thinking-float{bottom:-32px;padding:6px 14px;font-size:12px}.thinking-float .thinking-dot{width:5px;height:5px}.status-whisper{bottom:-36px!important;font-size:11px!important}#avatarRing{inset:-12px;border-width:3px}#avatarText{font-size:var(--text-3xl);font-weight:700}#personaName{font-size:var(--text-lg);margin-top:var(--space-sm)}#personaSubtitle{font-size:var(--text-xs)}#teamRoster{padding:7px 10px;gap:var(--roster-gap)}.team-name{font-size:var(--roster-name)}#waveformContainer{height:60px}.waveform-bars{height:42px;gap:3px}.waveform-bar{--bar-width: 3px}.btn-primary{min-height:48px;padding:12px 28px;font-size:var(--text-base)}#helperText{font-size:12px}.controls{gap:var(--space-md)}}@media (max-width: clamp(336px,90vw,480px)){:root{--text-4xl: 1.75rem;--text-3xl: 1.375rem;--text-2xl: 1.125rem;--space-3xl: 2rem;--space-2xl: 1.5rem}.app{min-height:100dvh;min-height:-webkit-fill-available;padding:var(--space-sm);padding-bottom:env(safe-area-inset-bottom,var(--space-md))}.header{padding:var(--space-xs) var(--space-sm) var(--space-xs);margin-top:calc(40px + env(safe-area-inset-top,0px));gap:var(--space-xs);overflow:visible}.avatar-container{width:min(140px,100%);height:140px}.connection-heart{width:44px!important;height:44px!important;bottom:-6px!important;right:-6px!important}.connection-heart__icon svg{width:22px!important;height:22px!important}.thinking-float{bottom:-36px;padding:6px 14px;font-size:12px;gap:8px}.thinking-float .thinking-dot{width:5px;height:5px}.thinking-float .thinking-dots{gap:4px}.status-whisper{bottom:-40px!important;font-size:11px!important;padding:4px 8px!important}#avatarRing{inset:-14px;border-width:3px}#avatarText{font-size:var(--text-4xl);font-weight:700}#personaName{font-size:var(--text-base);margin-top:var(--space-xs)}#personaSubtitle{font-size:var(--text-xs);letter-spacing:.02em;opacity:.8}.main{gap:var(--space-md);padding:var(--space-sm)}.btn-primary{min-height:52px;padding:14px 32px;font-size:var(--text-base);border-radius:var(--radius-2xl)}.btn-secondary{min-height:44px;padding:10px 20px}#teamRoster{gap:4px;padding:6px 10px;margin-top:var(--space-md);max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}#teamRoster::-webkit-scrollbar{display:none}.team-label,.team-divider{display:none}.team-member{padding:var(--roster-padding);min-width:46px;flex-shrink:0}.team-name{font-size:var(--roster-name);font-weight:500;margin-top:2px}#waveformContainer{height:70px;padding:12px 0}.waveform-bars{height:48px;gap:3px}.waveform-bar{--bar-width: 2.5px}.footer{padding:var(--space-sm);padding-bottom:env(safe-area-inset-bottom,var(--space-sm))}.helper-text{font-size:var(--text-sm)}.footer-links{gap:var(--space-md);font-size:var(--text-xs)}.controls{gap:var(--space-md)}}@media (min-width: min(390px,100%)) and (max-width: clamp(301px,90vw,430px)){.header{padding:var(--space-xs) var(--space-sm) var(--space-xs);margin-top:calc(40px + env(safe-area-inset-top,0px));overflow:visible}.avatar-container{width:min(150px,100%);height:150px;margin:38px}.main{justify-content:center;padding-top:0}.connection-heart{width:44px!important;height:44px!important;bottom:-6px!important;right:-6px!important}.connection-heart__icon svg{width:22px!important;height:22px!important}.thinking-float{bottom:-38px;padding:6px 14px;font-size:12px}.thinking-float .thinking-dot{width:5px;height:5px}.status-whisper{bottom:-42px!important;font-size:11px!important}#avatarRing{inset:-14px;border-width:3px}#avatarText{font-size:2.25rem;font-weight:700}#personaName{font-size:var(--text-base)}#personaSubtitle{font-size:var(--text-xs);opacity:.8}#teamRoster{gap:var(--roster-gap);padding:7px 12px}.team-name{font-size:var(--roster-name)}#waveformContainer{height:65px}.waveform-bars{height:48px;gap:3px}.waveform-bar{--bar-width: 3px}.btn-primary{min-height:52px;padding:14px 32px}#helperText{font-size:13px}}@media (min-width: clamp(302px,90vw,431px)) and (max-width: clamp(336px,90vw,480px)){.avatar-container{width:min(180px,100%);height:180px;margin:40px}.main{justify-content:center;padding-top:0;gap:var(--space-md)}.connection-heart{width:48px!important;height:48px!important;bottom:-7px!important;right:-7px!important}.connection-heart__icon svg{width:24px!important;height:24px!important}#avatarRing{inset:-16px;border-width:3px}#avatarText{font-size:2.5rem;font-weight:700}#personaName{font-size:var(--text-base)}#personaSubtitle{font-size:var(--text-xs);opacity:.8}.thinking-float{bottom:-44px;padding:7px 16px;font-size:13px}.thinking-float .thinking-dot{width:6px;height:6px}.status-whisper{bottom:-48px!important;font-size:11px!important}#teamRoster{gap:var(--roster-gap);padding:7px 12px}.team-name{font-size:10px}#waveformContainer{height:68px}.waveform-bars{height:50px;gap:3px}.waveform-bar{--bar-width: 3px}.btn-primary{min-height:52px;padding:14px 32px}#helperText{font-size:13px}.controls{gap:var(--space-md)}}@media (max-width: min(375px,100%)){:root{--text-4xl: 1.5rem;--text-3xl: 1.25rem}.main{justify-content:center;padding-top:0;gap:var(--space-sm)}.avatar-container{width:min(140px,100%);height:140px}.connection-heart{width:38px!important;height:38px!important;bottom:-5px!important;right:-5px!important}.connection-heart__icon svg{width:19px!important;height:19px!important}.thinking-float{bottom:-32px;padding:5px 12px;font-size:11px;gap:6px}.thinking-float .thinking-dot{width:4.5px;height:4.5px}.status-whisper{bottom:-36px!important;font-size:10px!important;padding:3px 7px!important}#avatarRing{inset:-12px;border-width:3px}#avatarText{font-size:var(--text-3xl);font-weight:700}#personaName{font-size:var(--text-sm)}#personaSubtitle{font-size:10px;opacity:.8}#teamRoster{gap:var(--roster-gap);padding:5px 8px}.team-avatar{font-size:var(--roster-text)}.team-avatar-ring{inset:-2px;border-width:1.5px}.team-name{font-size:9px}#waveformContainer{height:60px}.waveform-bars{height:40px;gap:2.5px}.waveform-bar{--bar-width: 2.5px}.btn-primary{min-height:48px;padding:12px 28px;font-size:var(--text-sm)}#helperText{font-size:12px}.controls{gap:var(--space-sm)}}@media (max-width: min(320px,100%)){.app{padding:var(--space-xs)}.main{gap:var(--space-xs)}.avatar-container{width:min(120px,100%);height:120px}.connection-heart{width:32px!important;height:32px!important;bottom:-4px!important;right:-4px!important}.connection-heart__icon svg{width:16px!important;height:16px!important}.thinking-float{bottom:-28px;padding:4px 10px;font-size:10px;gap:5px}.thinking-float .thinking-dot{width:4px;height:4px}.status-whisper{bottom:-32px!important;font-size:9px!important;padding:3px 6px!important}#avatarRing{inset:-10px;border-width:2.5px}#avatarText{font-size:var(--text-2xl);font-weight:700}#personaName{font-size:var(--text-xs)}#personaSubtitle{font-size:9px;opacity:.8}#teamRoster{gap:var(--roster-gap);padding:4px 6px}.team-member{padding:var(--roster-padding);min-width:40px}.team-name{display:none}#waveformContainer{height:50px}.waveform-bars{height:36px;gap:2.5px}.waveform-bar{--bar-width: 2px}.btn-primary{min-height:44px;padding:10px 24px;font-size:var(--text-sm)}#helperText{font-size:11px}.controls{gap:var(--space-xs)}}@media (max-height: 500px) and (orientation: landscape){.app{padding:var(--space-xs) var(--space-md)}.header{flex-direction:row;align-items:center;gap:var(--space-lg);padding:var(--space-xs)}.avatar-container{width:64px;height:64px}.connection-heart__count{display:none!important}#avatarRing{inset:-6px;border-width:1.5px}.thinking-float{bottom:-18px;padding:3px 6px;font-size:8px;gap:4px}.thinking-float .thinking-dot{width:3px;height:3px}.status-whisper{bottom:-22px!important;font-size:8px!important;padding:2px 4px!important}#avatarText{font-size:var(--text-lg)}.coach-info{text-align:left}#personaName{font-size:var(--text-base)}#personaSubtitle{font-size:var(--text-xs)}#teamRoster{margin-top:var(--space-xs);gap:var(--roster-gap);padding:4px 8px}.team-member{padding:var(--roster-padding);min-width:32px}.team-name{display:none}.main{gap:var(--space-sm)}#waveformContainer{height:44px}.waveform-bars{height:32px;gap:2px}.waveform-bar{--bar-width: 2px}.btn-primary{min-height:44px;padding:10px 24px;font-size:var(--text-sm)}#helperText{font-size:11px}.controls{gap:var(--space-sm)}}@media (min-height: 501px) and (max-height: 700px) and (orientation: landscape) and (pointer: coarse){.app{padding:var(--space-sm) var(--space-lg)}.header{flex-direction:row;align-items:center;gap:var(--space-xl);padding:var(--space-sm)}.avatar-container{width:min(100px,100%);height:100px}#avatarRing{inset:-8px;border-width:2px}.thinking-float{bottom:-24px;padding:4px 10px;font-size:10px;gap:5px}.thinking-float .thinking-dot{width:4px;height:4px}.status-whisper{bottom:-28px!important;font-size:9px!important;padding:3px 6px!important}#avatarText{font-size:var(--text-2xl)}.coach-info{text-align:left}#personaName{font-size:var(--text-lg)}#personaSubtitle{font-size:var(--text-sm)}#teamRoster{margin-top:var(--space-sm);gap:var(--roster-gap);padding:6px 10px}.team-member{padding:var(--roster-padding)}.team-name{font-size:9px}.main{gap:var(--space-md)}#waveformContainer{height:60px}.waveform-bars{height:44px;gap:3px}.waveform-bar{--bar-width: 3px}.btn-primary{min-height:48px;padding:12px 28px;font-size:var(--text-base)}#helperText{font-size:12px}.controls{gap:var(--space-md)}}@media (min-height: 701px) and (max-width: min(1366px,100%)) and (orientation: landscape) and (pointer: coarse){.header{flex-direction:row;align-items:center;gap:var(--space-2xl)}.avatar-container{width:min(128px,100%);height:128px}#avatarRing{inset:-10px;border-width:2px}.thinking-float{bottom:-28px;padding:5px 12px;font-size:11px}.thinking-float .thinking-dot{width:4.5px;height:4.5px}.status-whisper{bottom:-32px!important;font-size:10px!important}#avatarText{font-size:var(--text-3xl)}.coach-info{text-align:left}#personaName{font-size:var(--text-xl)}#personaSubtitle{font-size:var(--text-base)}#teamRoster{gap:var(--roster-gap);padding:10px 14px}.team-name{font-size:var(--roster-name)}#waveformContainer{height:70px}.waveform-bars{height:52px;gap:4px}.waveform-bar{--bar-width: 3.5px}.btn-primary{min-height:52px;padding:14px 32px}#helperText{font-size:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.waveform-bar{animation:none!important}}@media (prefers-contrast: high){:root{--color-text-primary: #ffffff;--color-text-secondary: #e0e0e0;--color-border: rgba(255, 255, 255, .3)}.btn-primary{border:2px solid currentColor}}.thinking-dots{display:inline-flex;gap:4px;margin-left:var(--space-sm)}.thinking-dot{width:6px;height:6px;background:var(--color-accent);border-radius:50%;animation:thinkingBounce 1.4s ease-in-out infinite}.thinking-dot:nth-child(1){animation-delay:0s}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes thinkingBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}#app.celebrating{animation:celebrateGlow 1.2s ease-out}@keyframes celebrateGlow{0%{background:var(--gradient-radial)}50%{background:radial-gradient(circle at 50% 0%,rgba(34,197,94,.15) 0%,transparent 50%)}to{background:var(--gradient-radial)}}#app.first-connection{animation:firstConnectionWarmth 2s var(--ease-smooth)}@keyframes firstConnectionWarmth{0%{background:var(--gradient-radial)}30%{background:radial-gradient(circle at 50% 30%,var(--color-semantic-success-glow) 0%,transparent 60%)}to{background:var(--gradient-radial)}}.warmth-glow{position:relative}.warmth-glow.warmth-subtle{animation:warmthGlowSubtle .8s var(--ease-smooth) forwards}.warmth-glow.warmth-gentle{animation:warmthGlowGentle 1.2s var(--ease-smooth) forwards}.warmth-glow.warmth-warm{animation:warmthGlowWarm 1.5s var(--ease-smooth) forwards}@keyframes warmthGlowSubtle{0%{transform:scale(1)}50%{transform:scale(1.01)}to{transform:scale(1)}}@keyframes warmthGlowGentle{0%{transform:scale(1)}50%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes warmthGlowWarm{0%{transform:scale(1)}40%{transform:scale(1.02)}to{transform:scale(1)}}.gentle-bounce{animation:gentleBounce .6s var(--ease-out-back) forwards}@keyframes gentleBounce{0%{transform:scale(1)}30%{transform:scale(1.03)}60%{transform:scale(.98)}to{transform:scale(1)}}.connection-warmth{animation:connectionWarmth 1.5s var(--ease-smooth) forwards}@keyframes connectionWarmth{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.02);filter:brightness(1.08)}to{transform:scale(1);filter:brightness(1)}}.soft-acknowledge{animation:softAcknowledge .4s var(--ease-smooth) forwards}@keyframes softAcknowledge{0%{transform:scale(1);opacity:1}50%{transform:scale(1.008);opacity:.97}to{transform:scale(1);opacity:1}}.milestone-toast{position:fixed;bottom:max(100px,calc(100px + env(safe-area-inset-bottom)));left:50%;transform:translate(-50%) translateY(20px);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);opacity:0;transition:transform .3s var(--ease-out-expo),opacity .3s var(--ease-out-expo);z-index:var(--z-toast);box-shadow:var(--shadow-lg)}.milestone-toast .milestone-text{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:var(--tracking-wide)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--persona-primary);outline-offset:3px;border-radius:var(--radius-sm)}.btn:focus-visible{outline-offset:4px;box-shadow:var(--shadow-lg),0 0 0 3px var(--color-bg-primary),0 0 0 5px var(--persona-primary)}.team-member:focus-visible{outline:none}.team-member:focus-visible .team-avatar{box-shadow:0 0 0 2px var(--color-bg-primary),0 0 0 4px var(--member-color)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content{position:absolute;top:-100px;left:50%;transform:translate(-50%);padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);color:var(--color-text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-weight:500;z-index:var(--z-system);transition:top .2s ease-out;text-decoration:none}.skip-to-content:focus{top:var(--space-md);outline:2px solid var(--persona-primary);outline-offset:2px}.transcript-text.typing:after{content:"▊";animation:cursorBlink .8s step-end infinite;color:var(--persona-primary);margin-left:2px}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.connection-quality{position:fixed;top:var(--space-md);right:var(--space-md);display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-bg-glass);backdrop-filter:blur(var(--glass-blur-subtle, 8px));-webkit-backdrop-filter:blur(var(--glass-blur-subtle, 8px));border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:500;color:var(--color-text-muted);opacity:0;transform:translateY(-10px);transition:all var(--transition-base);z-index:var(--z-elevated)}.quality-bar{width:3px;background:var(--color-text-dimmed);border-radius:1px;transition:background var(--transition-fast)}.quality-bar:nth-child(2){height:7px}.quality-bar:nth-child(3){height:10px}.connection-quality.excellent .quality-bar{background:var(--color-success)}.connection-quality.good .quality-bar:nth-child(-n+3){background:var(--color-success)}.connection-quality.fair .quality-bar:nth-child(-n+2){background:var(--color-warning)}.connection-quality.poor .quality-bar:nth-child(1){background:var(--color-error)}.keyboard-hint{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%) translateY(20px);display:flex;align-items:center;gap:var(--space-md);padding:8px 16px;background:var(--color-bg-glass);backdrop-filter:blur(var(--glass-blur-medium, 16px));-webkit-backdrop-filter:blur(var(--glass-blur-medium, 16px));border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);opacity:0;transition:all var(--transition-slow);z-index:var(--z-elevated)}.keyboard-hint.visible{opacity:1;transform:translate(-50%) translateY(0)}.keyboard-hint.hidden{display:none}.key-combo{display:flex;align-items:center;gap:4px}.key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--color-bg-elevated);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-2xs);font-weight:600;color:var(--color-text-secondary);box-shadow:0 1px 0 var(--color-border-subtle)}.key-label{font-size:var(--text-2xs);color:var(--color-text-muted)}.cursor-pointer{cursor:pointer}.btn:not(:disabled),.team-member,.footer-link{cursor:pointer}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.swipe-indicator{position:fixed;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 var(--space-lg);pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:var(--z-modal)}.swipe-indicator.visible{opacity:1}.swipe-arrow{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-glass);backdrop-filter:blur(var(--glass-blur-medium, 16px));-webkit-backdrop-filter:blur(var(--glass-blur-medium, 16px));border-radius:50%;color:var(--color-text-primary);opacity:0;transform:scale(.8);transition:all var(--transition-fast)}.swipe-indicator[data-direction=left] .swipe-arrow-right,.swipe-indicator[data-direction=right] .swipe-arrow-left{opacity:calc(var(--swipe-progress, 0) * .8);transform:scale(calc(.8 + var(--swipe-progress, 0) * .2))}.stats-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(var(--glass-blur-subtle, 8px));-webkit-backdrop-filter:blur(var(--glass-blur-subtle, 8px));opacity:0;transition:opacity var(--transition-base);z-index:var(--z-modal)}.stats-overlay.visible{opacity:1}.stats-overlay.hidden{display:none}.stats-card{position:relative;width:90%;max-width:min(400px,100%);padding:var(--space-xl);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-2xl);transform:translateY(20px) scale(.95);transition:transform var(--transition-base)}.stats-overlay.visible .stats-card{transform:translateY(0) scale(1)}.stats-close{position:absolute;top:var(--space-md);right:var(--space-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.stats-close:hover{background:var(--color-bg-glass);color:var(--color-text-primary)}.stats-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-lg);text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.stat-item{padding:var(--space-md);background:var(--color-bg-glass);border-radius:var(--radius-lg);text-align:center}.stat-value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;color:var(--color-accent-text, var(--color-accent-primary));margin-bottom:var(--space-xs)}.stat-label{font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.stats-footer{margin-top:var(--space-lg);text-align:center}.stats-tip{font-size:var(--text-xs);color:var(--color-text-dimmed)}.stats-tip kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin:0 2px;background:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-2xs);font-weight:600}.milestone-toast{position:fixed;top:var(--space-xl);left:50%;transform:translate(-50%) translateY(-20px);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--persona-primary),var(--persona-secondary));border-radius:var(--radius-full);color:#fff;font-weight:600;box-shadow:0 10px 40px #0000004d;opacity:0;transition:all var(--transition-base) var(--ease-out-expo);z-index:var(--z-toast)}.milestone-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.milestone-icon{font-size:var(--text-lg)}.milestone-text{font-size:var(--text-sm)}#coachAvatar.presence-connected:after{content:"";position:absolute;inset:-12px;border-radius:50%;background:var(--persona-glow);filter:blur(24px);opacity:.15;z-index:-1;animation:presenceGlow 6472ms var(--ease-in-out) infinite}@keyframes presenceGlow{0%,to{opacity:.15;transform:scale(1)}38.2%{opacity:.22;transform:scale(1.03)}61.8%{opacity:.2;transform:scale(1.02)}}#coachAvatar.presence-speaking:after{opacity:.22;transform:scale(1.02);transition:opacity .4s ease,transform .4s ease;animation:none}#coach.is-speaking .avatar-container,#coach.is-speaking #coachAvatar{animation:conversationalSpeaking 3.5s ease-in-out infinite}@keyframes conversationalSpeaking{0%,to{transform:translateY(0) rotate(0)}15%{transform:translateY(-1.5px) rotate(.3deg)}30%{transform:translateY(-.5px) rotate(-.2deg)}50%{transform:translateY(-2px) rotate(.5deg)}70%{transform:translateY(-.8px) rotate(-.3deg)}85%{transform:translateY(-1.2px) rotate(.2deg)}}@media (prefers-reduced-motion: reduce){#coach.is-speaking .avatar-container,#coach.is-speaking #coachAvatar{animation:none}}#coachAvatar.presence-listening:after{animation:presenceGlowListening 4.5s var(--ease-in-out) infinite}@keyframes presenceGlowListening{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.22;transform:scale(1.02)}}.btn,.team-member{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:#ffffff4d;transform:scale(0);animation:rippleEffect .6s ease-out forwards;pointer-events:none}@keyframes rippleEffect{to{transform:scale(4);opacity:0}}.btn:active:not(:disabled){transform:scale(.97);transition:transform .05s}.team-member:active{transform:scale(.95);transition:transform .05s}.key.active{background:var(--persona-primary);color:#fff;border-color:var(--persona-primary)}.secret-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);text-align:center;padding:var(--space-xl) var(--space-2xl);background:linear-gradient(135deg,var(--persona-primary),var(--persona-secondary));border-radius:var(--radius-2xl);box-shadow:0 25px 80px #00000080;opacity:0;transition:transform .5s var(--ease-out-expo),opacity .5s var(--ease-out-expo);z-index:var(--z-modal)}.secret-message.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.secret-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3);margin-bottom:var(--space-xs)}.secret-subtitle{font-size:var(--text-base);color:#ffffffe6}.avatar-container.secret-wiggle{animation:secretWiggle 1s ease-out}@keyframes secretWiggle{0%,to{transform:rotate(0)}10%{transform:rotate(-10deg)}20%{transform:rotate(10deg)}30%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}50%{transform:rotate(-5deg)}60%{transform:rotate(5deg)}70%{transform:rotate(-2deg)}80%{transform:rotate(2deg)}}.disco-mode{animation:discoBackground .5s infinite}.disco-mode #coachAvatar{animation:discoAvatar .3s infinite alternate}@keyframes discoBackground{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes discoAvatar{0%{transform:scale(1) rotate(-5deg)}to{transform:scale(1.1) rotate(5deg)}}.rainbow-mode{--persona-primary: hsl(var(--rainbow-hue, 0), 70%, 60%);--persona-secondary: hsl(calc(var(--rainbow-hue, 0) + 60), 70%, 50%);--persona-glow: hsl(var(--rainbow-hue, 0), 70%, 50%, .5);animation:rainbowShift 3s linear infinite}@keyframes rainbowShift{0%{--rainbow-hue: 0}to{--rainbow-hue: 360}}.konami-mode .btn-primary{background:linear-gradient(135deg,#b8956a,#c4856a)}.holiday-indicator{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%) translateY(-20px);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-bg-glass);backdrop-filter:blur(var(--glass-blur-medium, 16px));-webkit-backdrop-filter:blur(var(--glass-blur-medium, 16px));border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);opacity:0;transition:transform .5s var(--ease-out-expo),opacity .5s var(--ease-out-expo);z-index:var(--z-toast)}.holiday-indicator.visible{opacity:1;transform:translate(-50%) translateY(0)}.holiday-emoji{font-size:var(--text-xl)}.holiday-message{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.holiday-christmas{--color-success: #228b22;--color-error: #c41e3a}.holiday-christmas #coachAvatar .santa-hat-decoration{position:absolute;top:-45px;left:50%;transform:translate(-50%) rotate(-12deg);width:min(150px,100%);height:90px;z-index:var(--z-content, 10);pointer-events:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.18));transform-origin:50% 100%}.holiday-christmas #coachAvatar .santa-hat-decoration svg{width:100%;height:100%}@keyframes santaHatBreathing{0%,to{transform:translate(-50%) rotate(-12deg) scale(1)}30%{transform:translate(-50%) rotate(-14deg) scale(1.01)}60%{transform:translate(-50%) rotate(-10deg) scale(1)}80%{transform:translate(-50%) rotate(-13deg) scale(.995)}}@keyframes pompomWobble{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(2px,-1px) rotate(3deg)}40%{transform:translate(-1px,1px) rotate(-2deg)}60%{transform:translate(1px) rotate(2deg)}80%{transform:translate(-1px,-1px) rotate(-1deg)}}.holiday-christmas #coachAvatar .santa-hat-decoration{animation:santaHatBreathing 5s ease-in-out infinite}.holiday-christmas #coachAvatar .santa-hat-decoration .pompom-group{animation:pompomWobble 3s ease-in-out infinite;transform-origin:center}@media (prefers-reduced-motion: reduce){.holiday-christmas #coachAvatar .santa-hat-decoration,.holiday-christmas #coachAvatar .santa-hat-decoration .pompom-group{animation:none}}.holiday-halloween{--color-bg-primary: #1c1917}.holiday-valentines #avatarRing{border-color:#ff69b4}:root{--persona-pulse-speed: 4s;--persona-glow: .9;--persona-energy: .9;--persona-hue-shift: 0deg;--persona-warmth: 1}.persona-energized #coachAvatar{animation:personaPulse var(--persona-pulse-speed) ease-in-out infinite;filter:brightness(1.1) saturate(1.1)}.persona-energized .waveform-bar{animation-duration:.8s}.persona-reflective #coachAvatar{animation:personaPulse var(--persona-pulse-speed) ease-in-out infinite;filter:brightness(.95) saturate(.9) hue-rotate(-10deg)}.persona-reflective .waveform-bar{animation-duration:1.4s}.persona-playful #coachAvatar{animation:personaPulse var(--persona-pulse-speed) ease-in-out infinite,personaBounce .8s ease-in-out infinite;filter:brightness(1.1) saturate(1.15) hue-rotate(10deg)}.persona-playful .waveform-bar{animation-duration:.7s}.persona-grounded #coachAvatar{animation:personaPulse var(--persona-pulse-speed) ease-in-out infinite;filter:brightness(1) saturate(1)}.persona-tired #coachAvatar{animation:personaPulse var(--persona-pulse-speed) ease-in-out infinite;filter:brightness(.85) saturate(.85);opacity:.9}.persona-tired .waveform-bar{animation-duration:1.6s}.persona-philosophical #coachAvatar{animation:personaPulse var(--persona-pulse-speed) ease-in-out infinite;filter:brightness(.95) saturate(1) hue-rotate(-15deg)}.persona-philosophical .waveform-container{--waveform-primary: rgba(147, 112, 219, .8)}.persona-nostalgic #coachAvatar{animation:personaPulse var(--persona-pulse-speed) ease-in-out infinite;filter:brightness(.95) saturate(.95) sepia(.1) hue-rotate(15deg)}@keyframes personaPulse{0%,to{box-shadow:0 0 calc(40px * var(--persona-glow)) var(--persona-glow, rgba(74, 103, 65, .3))}50%{box-shadow:0 0 calc(60px * var(--persona-glow)) var(--persona-glow, rgba(74, 103, 65, .4))}}@keyframes personaBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.team-member--marketplace-agent{cursor:grab;position:relative!important;overflow:visible!important}.team-member--marketplace-agent:active{cursor:grabbing}.team-member--dragging{opacity:.4;transform:scale(.95);transition:opacity .15s ease,transform .15s ease}.team-member--marketplace-agent:hover{animation:subtleWiggle .5s ease-in-out .3s}@keyframes subtleWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-1deg)}75%{transform:rotate(1deg)}}.drag-hint{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:.6rem;color:var(--color-text-muted, rgba(92, 84, 74, .5));white-space:nowrap;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:var(--z-docked);background:var(--color-bg-elevated, rgba(255, 253, 251, .9));padding:2px 6px;border-radius:4px;box-shadow:0 1px 3px #0000001a}.team-member--marketplace-agent:hover .drag-hint{opacity:1}#teamRoster{padding-bottom:16px;overflow:visible!important}#coach{position:relative;transition:transform .2s ease}#coach.avatar-hungry .avatar-container{filter:drop-shadow(0 0 30px rgba(196,162,101,.6))}#coach.avatar-hungry .avatar-container:before{content:"";position:absolute;inset:-30px;border-radius:50%;background:radial-gradient(circle,rgba(196,162,101,.15) 0%,rgba(196,162,101,.05) 50%,transparent 70%);animation:hungryGlow 1s ease-in-out infinite;pointer-events:none}#coach.avatar-hungry .avatar-container:after{content:"";position:absolute;inset:-20px;border-radius:50%;border:2px dashed var(--color-highlight, #c4a265);opacity:.7;animation:hungryPulse .8s ease-in-out infinite;pointer-events:none}@keyframes hungryGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes hungryPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.08);opacity:.9}}#coach.avatar-eating .avatar-container{filter:drop-shadow(0 0 40px rgba(74,103,65,.7))}#coach.avatar-eating .avatar-container:before,#coach.avatar-eating .avatar-container:after{display:none}[data-theme=zen] .drag-hint{color:var(--color-text-muted, rgba(44, 37, 32, .4))}[data-theme=zen] #coach.avatar-hungry .avatar-container:after{border-color:var(--color-ferni, #4a6741)}[data-theme=zen] #coach.avatar-hungry .avatar-container:before{background:radial-gradient(circle,rgba(74,103,65,.15) 0%,rgba(74,103,65,.05) 50%,transparent 70%)}@keyframes relationship-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.ambient-particles{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:var(--z-base)}.ambient-particle{position:absolute;width:4px;height:4px;background:var(--ambient-color, rgba(74, 103, 65, .1));border-radius:50%;opacity:.3;animation:floatParticle var(--particle-speed, 20s) infinite linear}.ambient-particle:nth-child(1){left:10%;animation-delay:0s}.ambient-particle:nth-child(2){left:20%;animation-delay:-2s}.ambient-particle:nth-child(3){left:30%;animation-delay:-4s}.ambient-particle:nth-child(4){left:40%;animation-delay:-6s}.ambient-particle:nth-child(5){left:50%;animation-delay:-8s}.ambient-particle:nth-child(6){left:60%;animation-delay:-10s}.ambient-particle:nth-child(7){left:70%;animation-delay:-12s}.ambient-particle:nth-child(8){left:80%;animation-delay:-14s}.ambient-particle:nth-child(9){left:90%;animation-delay:-16s}.ambient-particle:nth-child(10){left:15%;animation-delay:-1s}.ambient-particle:nth-child(11){left:25%;animation-delay:-3s}.ambient-particle:nth-child(12){left:35%;animation-delay:-5s}.ambient-particle:nth-child(13){left:45%;animation-delay:-7s}.ambient-particle:nth-child(14){left:55%;animation-delay:-9s}.ambient-particle:nth-child(15){left:65%;animation-delay:-11s}.ambient-particle:nth-child(16){left:75%;animation-delay:-13s}.ambient-particle:nth-child(17){left:85%;animation-delay:-15s}.ambient-particle:nth-child(18){left:5%;animation-delay:-17s}.ambient-particle:nth-child(19){left:95%;animation-delay:-18s}.ambient-particle:nth-child(20){left:50%;animation-delay:-19s}@keyframes floatParticle{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.3;transform:translateY(90vh) scale(1)}90%{opacity:.3}to{transform:translateY(-10vh) scale(.5);opacity:0}}.streak-badge{position:fixed;top:calc(var(--space-md) + env(safe-area-inset-top,0px));left:calc(var(--space-md) + env(safe-area-inset-left,0px));display:flex;align-items:baseline;gap:var(--space-2xs);padding:6px 14px;background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-secondary);box-shadow:var(--shadow-sm);opacity:0;transform:translateY(-10px) scale(.95);transition:transform .4s var(--ease-out-expo),opacity .4s var(--ease-out-expo);z-index:var(--z-elevated);-webkit-user-select:none;user-select:none;pointer-events:none}.streak-badge.visible{opacity:1;transform:translateY(0) scale(1)}.streak-badge .streak-count{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--text-sm)}.streak-badge .streak-label{font-weight:var(--font-weight-regular);letter-spacing:var(--tracking-wide)}.welcome-banner{position:fixed;top:0;left:0;right:0;padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--persona-primary),var(--persona-secondary));color:#fff;text-align:center;font-weight:600;font-size:var(--text-sm);transform:translateY(-100%);transition:transform .5s var(--ease-out-expo);z-index:var(--z-toast)}.welcome-banner.visible{transform:translateY(0)}html{scroll-behavior:smooth}.team-member:before{content:attr(aria-label);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(4px);padding:6px 12px;background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;color:var(--color-text-primary);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-docked);pointer-events:none;box-shadow:var(--shadow-lg)}.team-member:after{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-bg-elevated);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-docked)}.team-member:hover:before,.team-member:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.team-member:hover:after{transform:translate(-50%)}.parallax-layer{transition:transform .1s ease-out;will-change:transform}.btn-primary:hover span,.btn-primary:hover{animation:textBounce .4s var(--ease-out-expo)}@keyframes textBounce{0%{transform:translateY(0)}30%{transform:translateY(-2px)}to{transform:translateY(0)}}#app.is-connected:before{animation:connectedAmbient 8s var(--ease-in-out) infinite}@keyframes connectedAmbient{0%,to{opacity:.8}50%{opacity:1}}#app.is-speaking .ambient-orb--primary{animation:ambientSpeaking 2s var(--ease-in-out) infinite}@keyframes ambientSpeaking{0%,to{opacity:.4;transform:translate(-50%) scale(1)}50%{opacity:.6;transform:translate(-50%) scale(1.1)}}.shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.theme-toggle{display:none!important;position:fixed;top:max(16px,env(safe-area-inset-top,16px));right:calc(max(16px,env(safe-area-inset-right,16px)) + 44px + var(--ma-breath, 8px));width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);cursor:pointer;align-items:center;justify-content:center;z-index:var(--z-elevated);transition:transform var(--transition-fast),background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);box-shadow:var(--shadow-md)}.theme-toggle:hover{background:var(--color-bg-glass);border-color:var(--color-border-medium);transform:scale(1.05);box-shadow:var(--shadow-lg)}.theme-toggle:active{transform:scale(.95)}.theme-icon{width:20px;height:20px;transition:transform .4s var(--ease-out-expo),opacity .3s ease;position:absolute}[data-theme=midnight] .theme-icon--sun{opacity:1;transform:rotate(0) scale(1)}[data-theme=midnight] .theme-icon--moon{opacity:0;transform:rotate(-90deg) scale(.5)}[data-theme=zen] .theme-icon--sun{opacity:0;transform:rotate(90deg) scale(.5)}[data-theme=zen] .theme-icon--moon{opacity:1;transform:rotate(0) scale(1)}@media print{body{background:#fff;color:#000}#app:before,#app:after,.controls,#waveformContainer,.footer{display:none}}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html.high-contrast{--color-text-primary: #ffffff !important;--color-text-secondary: #f0f0f0 !important;--color-text-muted: #e0e0e0 !important;--color-bg: #000000 !important;--color-bg-elevated: #1a1a1a !important;--color-border-subtle: #ffffff !important}html.high-contrast [data-theme=zen]{--color-text-primary: #000000 !important;--color-text-secondary: #1a1a1a !important;--color-bg: #ffffff !important;--color-bg-elevated: #f5f5f5 !important;--color-border-subtle: #000000 !important}html.large-text{font-size:125%!important}html.large-text .dev-panel{font-size:100%!important}body.ambient-particles:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='10' cy='10' r='1' fill='rgba(124,181,113,0.3)'/%3E%3Ccircle cx='90' cy='20' r='1.5' fill='rgba(124,181,113,0.2)'/%3E%3Ccircle cx='50' cy='80' r='1' fill='rgba(124,181,113,0.4)'/%3E%3C/svg%3E");background-size:200px 200px;animation:ambient-float 20s linear infinite;pointer-events:none;z-index:-1}@keyframes ambient-float{0%{background-position:0 0}to{background-position:200px 200px}}body.ambient-glow:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(74,103,65,.15) 0%,transparent 70%);pointer-events:none;z-index:-1}body.ambient-aurora{background:linear-gradient(45deg,#4a674114,#7cb57114,#9dd69014);background-size:400% 400%;animation:ambient-aurora 15s ease infinite}@keyframes ambient-aurora{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.skeleton-loading{position:relative;overflow:hidden}.skeleton-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (pointer: coarse){.btn-primary,.btn-secondary{min-height:48px;min-width:48px}.team-member{min-width:52px;padding:8px}.team-avatar-container{min-width:40px;min-height:40px}.team-avatar{min-width:36px;min-height:36px}.avatar-container:after{content:"";position:absolute;inset:-8px;border-radius:50%}.controls{gap:var(--space-md)}.footer-links{gap:var(--space-lg)}.footer-links a{padding:8px 12px;margin:-8px -12px}#waveformContainer{padding:12px 0}.close-btn,[aria-label=Close]{min-width:44px;min-height:44px}.menu-item,.settings-item{min-height:48px;padding:12px 16px}}@media (hover: none){.team-member:hover:not(.switching-to):not(.switching-from){transform:none;opacity:1}.team-member:hover .team-avatar{transform:none}.team-member:hover .team-avatar-ring{opacity:0;transform:scale(.85)}.team-member.active .team-avatar-ring{opacity:1;transform:scale(1)}.btn-primary:hover:not(:active){transform:none;box-shadow:var(--shadow-md)}.btn-secondary:hover:not(:active){transform:none;background:var(--color-bg-secondary)}.footer-links a:hover,#helperText:hover{color:var(--color-text-secondary)}.team-member:active:not(.switching-to):not(.switching-from){transform:scale(.95);transition:transform .1s ease-out}.btn-primary:active{transform:scale(.98);transition:transform .1s ease-out}}.ferni-toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}.footer{padding-bottom:max(var(--space-md),env(safe-area-inset-bottom,16px))}.controls{padding-bottom:env(safe-area-inset-bottom,0px)}.app{padding-left:max(var(--space-md),env(safe-area-inset-left,16px));padding-right:max(var(--space-md),env(safe-area-inset-right,16px))}@media (orientation: landscape){.app{padding-left:max(var(--space-lg),env(safe-area-inset-left,16px));padding-right:max(var(--space-lg),env(safe-area-inset-right,16px))}.header{padding-left:max(var(--space-md),env(safe-area-inset-left,8px));padding-right:max(var(--space-md),env(safe-area-inset-right,8px))}}.connection-quality{position:fixed;top:var(--space-md);right:var(--space-md);display:flex;align-items:center;gap:var(--space-xs);padding:6px 12px;background:var(--color-bg-elevated);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);font-size:11px;font-weight:500;color:var(--color-text-secondary);opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease;z-index:var(--z-dropdown)}.connection-quality.visible{opacity:1;transform:translateY(0)}.connection-quality.hidden{display:none}.quality-bars{display:flex;align-items:flex-end;gap:2px;height:12px}.quality-bar{width:3px;background:var(--color-text-dimmed);border-radius:1px;transition:background .2s ease,height .2s ease}.quality-bar:nth-child(1){height:4px}.quality-bar:nth-child(2){height:6px}.quality-bar:nth-child(3){height:9px}.quality-bar:nth-child(4){height:12px}.connection-quality.excellent .quality-bar{background:var(--color-success, #4a6741)}.connection-quality.good .quality-bar:nth-child(-n+3){background:var(--color-success, #4a6741)}.connection-quality.fair .quality-bar:nth-child(-n+2){background:var(--color-warning, #b8956a)}.connection-quality.poor .quality-bar:nth-child(1){background:var(--color-destructive, #a65a52)}.connection-quality.disconnected .quality-bar{background:var(--color-text-dimmed)}@media (max-width: clamp(336px,90vw,480px)){.connection-quality{top:var(--space-sm);right:var(--space-sm);padding:4px 8px;font-size:10px}.quality-bars{height:10px}.quality-bar{width:2.5px}.quality-bar:nth-child(1){height:3px}.quality-bar:nth-child(2){height:5px}.quality-bar:nth-child(3){height:7px}.quality-bar:nth-child(4){height:10px}.quality-text{display:none}}@supports (padding-top: env(safe-area-inset-top)){.connection-quality{top:max(var(--space-md),env(safe-area-inset-top,16px))}}@media (prefers-contrast: high){.btn-primary,.btn-secondary{border:2px solid currentColor}.team-avatar{border:2px solid var(--color-text-primary)}.team-avatar-ring,#avatarRing{border-width:3px}#statusIndicator{border-width:4px}.waveform-bar{min-width:4px}#personaName,#avatarText{font-weight:800}.footer-links a{text-decoration:underline}:focus-visible{outline:3px solid var(--color-text-primary);outline-offset:2px}.ferni-toast{border:2px solid currentColor}}:focus{outline:none}:focus-visible{outline:2px solid var(--persona-primary, #4a6741);outline-offset:2px;border-radius:var(--radius-sm)}.btn-primary:focus-visible,.btn-secondary:focus-visible{outline-offset:3px}.team-member:focus-visible{outline-offset:4px;border-radius:var(--radius-lg)}.team-avatar:focus-visible{outline:2px solid var(--persona-primary);outline-offset:2px}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);padding:12px 24px;background:var(--color-bg-elevated);color:var(--color-text-primary);border-radius:var(--radius-lg);z-index:var(--z-tooltip);transition:top .2s ease}.skip-link:focus{top:var(--space-md)}@media (min-width: min(1200px,100%)){.main{gap:var(--space-sm);padding:var(--space-sm)}.avatar-container{width:min(130px,100%);height:130px}#avatarRing{inset:-12px;border-width:2px}#personaName{font-size:var(--text-3xl);font-weight:700;margin-top:var(--space-lg);letter-spacing:-.02em}#personaSubtitle{font-size:var(--text-lg);font-weight:500;margin-top:var(--space-xs);opacity:.9}.btn-primary{min-height:54px;min-width:min(180px,100%);padding:16px 40px;font-size:var(--text-lg)}#helperText{font-size:var(--text-base);margin-top:var(--space-lg)}#waveformContainer{max-width:min(400px,100%);height:56px}}@media (min-width: min(1025px,100%)) and (max-width: min(1199px,100%)){.avatar-container{width:min(120px,100%);height:120px}#avatarRing{inset:-10px;border-width:2px}#personaName{font-size:var(--text-2xl);font-weight:700;margin-top:var(--space-md)}#personaSubtitle{font-size:var(--text-base);font-weight:500;margin-top:var(--space-xs)}.btn-primary{min-height:52px;min-width:min(160px,100%);padding:14px 32px;font-size:var(--text-base)}#helperText{font-size:var(--text-sm);margin-top:var(--space-md)}#waveformContainer{max-width:min(360px,100%);height:50px}}@media (min-width: clamp(538px,90vw,768px)) and (max-width: min(1024px,100%)){.garden-widget-wrapper,#gardenWidgetContainer{display:none!important}.avatar-container{width:min(180px,100%);height:180px;margin:45px}#avatarRing{inset:-16px;border-width:3px}#personaName{font-size:var(--text-2xl);font-weight:600;margin-top:var(--space-md)}#personaSubtitle{font-size:var(--text-base);font-weight:500;margin-top:var(--space-xs);opacity:.9}.btn-primary{min-width:min(180px,100%);padding:16px 36px;font-size:var(--text-base)}#helperText{font-size:var(--text-sm);margin-top:var(--space-md)}#waveformContainer{max-width:min(320px,100%);height:65px}#teamRoster{display:flex}.team-name{font-size:11px}}@media (min-width: clamp(337px,90vw,481px)) and (max-width: clamp(537px,90vw,767px)){.garden-widget-wrapper,#gardenWidgetContainer{display:none!important}.avatar-container{width:min(160px,100%);height:160px}#avatarRing{inset:-14px;border-width:2.5px}#personaName{font-size:var(--text-xl);font-weight:600;margin-top:var(--space-sm)}#personaSubtitle{font-size:var(--text-sm);font-weight:500;margin-top:var(--space-2xs);opacity:.85}.btn-primary{min-width:min(180px,100%);padding:14px 32px;font-size:var(--text-base)}#helperText{font-size:var(--text-sm);margin-top:var(--space-sm)}#waveformContainer{max-width:min(280px,100%);height:60px}#teamRoster{display:flex;gap:6px}.team-name{display:none}}@media (min-width: clamp(302px,90vw,431px)) and (max-width: clamp(336px,90vw,480px)){.garden-widget-wrapper,#gardenWidgetContainer{display:none!important;visibility:hidden!important}#teamRoster,.entrance-roster{display:none!important;visibility:hidden!important;max-height:0!important;overflow:hidden!important}.avatar-container{width:min(180px,100%);height:180px}#avatarRing{inset:-16px;border-width:3px}#personaName{font-size:var(--text-2xl);font-weight:600;margin-top:var(--space-md);letter-spacing:-.01em}#personaSubtitle{font-size:var(--text-lg);font-weight:400;margin-top:var(--space-xs);opacity:.85}.btn-primary{min-width:min(200px,100%);padding:18px 44px;font-size:var(--text-lg);box-shadow:0 4px 24px var(--persona-glow)}#helperText{font-size:var(--text-base);margin-top:var(--space-lg)}#waveformContainer{max-width:min(300px,100%);height:70px}.subscription-badge{position:fixed!important;top:calc(var(--space-md) + env(safe-area-inset-top,0px))!important;right:calc(var(--space-md) + env(safe-area-inset-right,0px) + 56px)!important;margin:0!important;font-size:.75rem!important;padding:4px 10px!important;opacity:.9!important}}@media (min-width: min(390px,100%)) and (max-width: clamp(301px,90vw,430px)){.garden-widget-wrapper,#gardenWidgetContainer{display:none!important;visibility:hidden!important}#teamRoster,.entrance-roster{display:none!important;visibility:hidden!important;max-height:0!important;overflow:hidden!important}.avatar-container{width:min(200px,100%);height:200px;margin:50px}#avatarRing{inset:-18px;border-width:3px}#personaName{font-size:var(--text-2xl);font-weight:600;margin-top:var(--space-md);letter-spacing:-.01em}#personaSubtitle{font-size:var(--text-lg);font-weight:400;margin-top:var(--space-xs);opacity:.85}.btn-primary{min-width:min(200px,100%);padding:18px 44px;font-size:var(--text-lg);box-shadow:0 4px 24px var(--persona-glow)}#helperText{font-size:var(--text-base);margin-top:var(--space-lg)}#waveformContainer{max-width:min(320px,100%);height:70px}.subscription-badge{position:fixed!important;top:calc(var(--space-md) + env(safe-area-inset-top,0px))!important;right:calc(var(--space-md) + env(safe-area-inset-right,0px) + 56px)!important;margin:0!important;font-size:.75rem!important;padding:4px 10px!important;opacity:.9!important}}@media (min-width: min(376px,100%)) and (max-width: min(389px,100%)){.garden-widget-wrapper,#gardenWidgetContainer{display:none!important;visibility:hidden!important}#teamRoster,.entrance-roster{display:none!important;visibility:hidden!important;max-height:0!important;overflow:hidden!important}.avatar-container{width:min(160px,100%);height:160px}#avatarRing{inset:-14px;border-width:2.5px}#personaName{font-size:var(--text-xl);font-weight:600;margin-top:var(--space-sm)}#personaSubtitle{font-size:var(--text-base);font-weight:400;margin-top:var(--space-2xs);opacity:.85}.btn-primary{min-width:min(180px,100%);padding:16px 36px;font-size:var(--text-base);box-shadow:0 4px 20px var(--persona-glow)}#helperText{font-size:var(--text-sm);margin-top:var(--space-md)}#waveformContainer{max-width:min(280px,100%);height:65px}.subscription-badge{position:fixed!important;top:calc(var(--space-sm) + env(safe-area-inset-top,0px))!important;right:calc(var(--space-sm) + env(safe-area-inset-right,0px) + 52px)!important;font-size:.6875rem!important;padding:3px 8px!important;opacity:.85!important}}@media (min-width: min(321px,100%)) and (max-width: min(375px,100%)){.garden-widget-wrapper,#gardenWidgetContainer{display:none!important;visibility:hidden!important}#teamRoster,.entrance-roster{display:none!important;visibility:hidden!important;max-height:0!important;overflow:hidden!important}.avatar-container{width:min(140px,100%);height:140px}#avatarRing{inset:-12px;border-width:2px}#personaName{font-size:var(--text-lg);font-weight:600;margin-top:var(--space-sm)}#personaSubtitle{font-size:var(--text-sm);font-weight:400;margin-top:var(--space-2xs);opacity:.85}.btn-primary{min-width:min(160px,100%);min-height:48px;padding:14px 28px;font-size:var(--text-sm);box-shadow:0 3px 16px var(--persona-glow)}#helperText{font-size:var(--text-xs);margin-top:var(--space-sm)}#waveformContainer{max-width:min(240px,100%);height:55px}.subscription-badge{position:fixed!important;top:calc(var(--space-sm) + env(safe-area-inset-top,0px))!important;right:calc(var(--space-sm) + env(safe-area-inset-right,0px) + 48px)!important;font-size:.625rem!important;padding:2px 6px!important;opacity:.8!important}}@media (max-width: min(320px,100%)){.garden-widget-wrapper,#gardenWidgetContainer{display:none!important;visibility:hidden!important}#teamRoster,.entrance-roster{display:none!important;visibility:hidden!important;max-height:0!important;overflow:hidden!important}.avatar-container{width:min(120px,100%);height:120px}#coach.is-connected .avatar-container{width:min(140px,100%);height:140px}#avatarRing{inset:-10px;border-width:2px}#avatarText{font-size:var(--text-xl)}#personaName{font-size:var(--text-base);font-weight:600;margin-top:var(--space-xs)}#personaSubtitle{font-size:var(--text-xs);font-weight:400;margin-top:2px;opacity:.8}.btn-primary{min-width:min(140px,100%);min-height:44px;padding:12px 24px;font-size:var(--text-xs);box-shadow:0 2px 12px var(--persona-glow)}#helperText{font-size:var(--text-2xs);margin-top:var(--space-xs)}#waveformContainer{max-width:min(200px,100%);height:45px}.subscription-badge{position:fixed!important;top:calc(var(--space-xs) + env(safe-area-inset-top,0px))!important;right:calc(var(--space-xs) + env(safe-area-inset-right,0px) + 44px)!important;font-size:.5625rem!important;padding:2px 5px!important;opacity:.75!important}.header{padding:var(--space-sm);gap:var(--space-xs)}.main{gap:var(--space-sm);padding-top:var(--space-xs)}}@media (max-height: 500px) and (orientation: landscape){.garden-widget-wrapper,#gardenWidgetContainer,#teamRoster,.entrance-roster{display:none!important}.avatar-container{width:80px;height:80px}#avatarRing{inset:-8px;border-width:2px}#personaName{font-size:var(--text-base);margin-top:var(--space-xs)}#personaSubtitle{font-size:var(--text-xs);margin-top:2px}.btn-primary{min-width:min(140px,100%);min-height:40px;padding:10px 24px;font-size:var(--text-sm)}#helperText{font-size:var(--text-xs);margin-top:var(--space-xs)}#waveformContainer{max-width:min(200px,100%);height:40px}.header{flex-direction:row;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md)}#coach{flex-direction:row;gap:var(--space-md)}.coach-info{text-align:left}.main{flex-direction:row;justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-xs)}}@media (max-height: 600px){.header{padding-top:calc(var(--space-xs) + env(safe-area-inset-top,0px));padding-bottom:var(--space-xs);gap:var(--space-xs)}.avatar-container{width:min(100px,15vh);height:min(100px,15vh)}#avatarRing{inset:-8px;border-width:2px}#personaName{font-size:var(--text-base);margin-top:var(--space-xs)}#personaSubtitle{font-size:var(--text-xs);margin-top:2px}.main{gap:var(--space-sm);padding:var(--space-sm);padding-bottom:max(var(--space-md),env(safe-area-inset-bottom,12px));overflow-y:auto;justify-content:flex-start}#waveformContainer{height:40px;max-width:min(200px,100%)}.waveform-bars{height:28px}.btn-primary{min-height:40px;padding:10px 24px;font-size:var(--text-sm)}#helperText{font-size:var(--text-xs);margin-top:var(--space-xs);margin-bottom:var(--space-sm);flex-shrink:0}#teamRoster,.entrance-roster,.garden-widget-wrapper,#gardenWidgetContainer{display:none!important}.thinking-float{bottom:-24px;padding:4px 10px;font-size:10px}.status-whisper{bottom:-28px!important;font-size:10px!important}}@media (max-height: 500px){.header{padding:var(--space-2xs) var(--space-sm);padding-top:calc(var(--space-2xs) + env(safe-area-inset-top,0px))}.avatar-container{width:min(80px,14vh);height:min(80px,14vh)}#coach.is-connected .avatar-container{width:min(100px,18vh);height:min(100px,18vh)}#avatarRing{inset:-6px;border-width:1.5px}#personaName{font-size:var(--text-sm);margin-top:var(--space-2xs)}#personaSubtitle{font-size:var(--text-2xs)}.main{gap:var(--space-xs);padding:var(--space-xs);padding-bottom:max(var(--space-sm),env(safe-area-inset-bottom,8px))}#waveformContainer{height:32px;max-width:min(160px,100%)}.waveform-bars{height:22px}.btn-primary{min-height:36px;padding:8px 20px;font-size:var(--text-xs)}#helperText{font-size:var(--text-2xs);margin-top:var(--space-2xs);margin-bottom:var(--space-xs);flex-shrink:0}.thinking-float,.status-whisper{display:none}}@media (max-height: 400px){.header{padding:4px var(--space-xs);padding-top:calc(4px + env(safe-area-inset-top,0px));flex-direction:row;align-items:center;justify-content:center}#coach{flex-direction:row;gap:var(--space-sm);align-items:center}.coach-info{text-align:left}.avatar-container{width:min(60px,12vh);height:min(60px,12vh)}#coach.is-connected .avatar-container{width:min(72px,14vh);height:min(72px,14vh)}#avatarRing{inset:-4px;border-width:1.5px}#personaName{font-size:var(--text-xs);margin-top:0}#personaSubtitle{font-size:var(--text-2xs);margin-top:0}.main{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);padding:var(--space-2xs)}#waveformContainer{height:28px;max-width:min(140px,100%)}.btn-primary{min-height:32px;min-width:auto;padding:6px 16px;font-size:var(--text-2xs)}#helperText{font-size:var(--text-2xs);margin:0;flex-shrink:0;width:100%;text-align:center}.controls-row{padding:0}.quick-actions{display:none}}@media (max-width: clamp(336px,90vw,480px)){.header{gap:var(--space-sm);padding-top:calc(var(--space-md) + env(safe-area-inset-top,0px));padding-bottom:var(--space-sm)}#coach{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.main{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding-top:var(--space-sm)}.controls-row{width:100%;display:flex;justify-content:center;padding:0 var(--space-md)}#waveformContainer{margin:0 auto}}:root{--ferni-container-max: 600px;--ferni-container-padding: var(--space-md, 1.25rem);--ferni-avatar-size: 120px;--ferni-avatar-ring-inset: -10px;--ferni-avatar-ring-width: 2px;--ferni-avatar-text: 2.5rem;--ferni-button-height: 52px;--ferni-button-padding: 14px 32px;--ferni-button-font: 16px;--ferni-button-min-width: min(140px, 100%);--ferni-waveform-width: min(280px, 100%);--ferni-waveform-height: 48px;--ferni-persona-name: var(--text-xl, 1.25rem);--ferni-persona-subtitle: var(--text-sm, .875rem);--ferni-helper-text: 14px}.app{min-height:100dvh!important;max-width:var(--ferni-container-max)!important;margin:0 auto!important;padding:var(--ferni-container-padding)!important;display:flex!important;flex-direction:column!important}.header{padding:var(--space-sm, .75rem) 0!important;gap:var(--space-sm, .75rem)!important;flex-shrink:0!important}.main{flex:1!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:var(--space-md, 1.25rem)!important;padding:var(--space-sm, .75rem) 0!important}.avatar-container{width:var(--ferni-avatar-size)!important;height:var(--ferni-avatar-size)!important}#avatarRing{inset:var(--ferni-avatar-ring-inset)!important;border-width:var(--ferni-avatar-ring-width)!important}#avatarText{font-size:var(--ferni-avatar-text)!important}.thinking-float{bottom:-28px!important;padding:5px 12px!important;font-size:11px!important}.thinking-float .thinking-dot{width:4px!important;height:4px!important}.status-whisper{bottom:-32px!important;font-size:10px!important}#personaName{font-size:var(--ferni-persona-name)!important;font-weight:600!important}#personaSubtitle{font-size:var(--ferni-persona-subtitle)!important}#waveformContainer{max-width:var(--ferni-waveform-width)!important;height:var(--ferni-waveform-height)!important}.waveform-bars{height:32px!important;gap:3px!important}.waveform-bar{--bar-width: 3px !important}.btn,.btn-primary{min-height:var(--ferni-button-height)!important;padding:var(--ferni-button-padding)!important;font-size:var(--ferni-button-font)!important}.btn-secondary{min-height:48px!important;padding:12px 28px!important}#helperText{font-size:var(--ferni-helper-text)!important;margin-top:var(--space-md, 1.25rem)!important;display:block!important;visibility:visible!important;opacity:1!important;text-align:center!important}.controls{gap:var(--space-md, 1.25rem)!important}.controls-row{justify-content:center!important}@media (max-width: clamp(336px,90vw,480px)){:root{--ferni-container-padding: var(--space-sm, .75rem)}#waveformContainer{max-width:min(240px,100%)!important}}@media (max-width: 768px){#teamRoster,.entrance-roster,.team-roster{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;pointer-events:none!important}.garden-widget-wrapper,#gardenWidgetContainer,.garden-widget{display:none!important;visibility:hidden!important}body[data-connected=true] .subscription-badge{opacity:0!important;pointer-events:none!important;transition:opacity .3s ease!important}.theme-toggle{position:fixed!important;bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px))!important;right:var(--space-md)!important;top:auto!important;z-index:var(--z-floating, 20)!important}body[data-connected=true] .header{padding-top:calc(var(--space-sm) + env(safe-area-inset-top,0px))!important}body[data-connected=true] .avatar-container{width:min(160px,45vw)!important;height:min(160px,45vw)!important;transition:all .5s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))!important}body[data-connected=true] #avatarRing{inset:-14px!important;border-width:3px!important}body[data-connected=true] #personaSubtitle,body[data-connected=true] #helperText{opacity:0!important;height:0!important;margin:0!important;overflow:hidden!important}.header{padding:calc(var(--space-md) + env(safe-area-inset-top,0px)) var(--space-md) var(--space-sm)!important}#coach{gap:var(--space-xs)!important}#personaName{font-size:var(--text-xl, 1.25rem)!important;margin-top:var(--space-sm)!important}#personaSubtitle{font-size:var(--text-sm, .875rem)!important;opacity:.7!important}.controls-row{padding:0 var(--space-sm)!important}.btn-primary,.btn-secondary{min-width:min(180px,100%)!important;padding:16px 36px!important}.ambient-orb{opacity:.3!important}.status-island{max-width:calc(100vw - var(--space-lg))!important;left:50%!important;transform:translate(-50%)!important}.status-pill{font-size:var(--text-sm, .875rem)!important;padding:var(--space-xs) var(--space-sm)!important}}@media (max-width: 480px){.avatar-container{width:min(140px,40vw)!important;height:min(140px,40vw)!important}body[data-connected=true] .avatar-container{width:min(180px,50vw)!important;height:min(180px,50vw)!important}.ambient-orb{display:none!important}.controls{width:100%!important;padding:0 var(--space-md)!important}.btn-primary{width:100%!important;max-width:280px!important}}@media (max-width: 375px){.avatar-container{width:120px!important;height:120px!important}body[data-connected=true] .avatar-container{width:140px!important;height:140px!important}#personaName{font-size:var(--text-lg, 1.125rem)!important}.btn-primary{padding:14px 28px!important;font-size:var(--text-base, 1rem)!important}}:root{--glass-blur-ultra-thin: 4px;--glass-blur-thin: 8px;--glass-blur-regular: 16px;--glass-blur-thick: 24px;--glass-blur-ultra-thick: 40px;--glass-blur-chromatic: 20px}[data-theme=midnight]{--glass-backdrop-bg: rgba(10, 8, 6, .55);--glass-ultra-thin-bg: rgba(255, 255, 255, .02);--glass-thin-bg: rgba(255, 255, 255, .04);--glass-regular-bg: rgba(255, 255, 255, .08);--glass-thick-bg: rgba(255, 255, 255, .12);--glass-ultra-thick-bg: rgba(255, 255, 255, .16);--glass-chromatic-bg: rgba(212, 168, 74, .06);--glass-ultra-thin-border: rgba(255, 255, 255, .04);--glass-thin-border: rgba(255, 255, 255, .06);--glass-regular-border: rgba(255, 255, 255, .1);--glass-thick-border: rgba(255, 255, 255, .14);--glass-ultra-thick-border: rgba(255, 255, 255, .18);--glass-chromatic-border: rgba(212, 168, 74, .12);--glass-shadow-thin: 0 2px 4px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .04);--glass-shadow-regular: 0 4px 6px rgba(0, 0, 0, .08), 0 8px 16px rgba(0, 0, 0, .06);--glass-shadow-thick: 0 8px 12px rgba(0, 0, 0, .1), 0 16px 32px rgba(0, 0, 0, .08);--glass-shadow-ultra-thick: 0 16px 24px rgba(0, 0, 0, .12), 0 32px 64px rgba(0, 0, 0, .1);--tonal-surface-1: rgba(230, 195, 160, .04);--tonal-surface-2: rgba(230, 195, 160, .08);--tonal-surface-3: rgba(230, 195, 160, .12);--tonal-surface-hover: rgba(230, 195, 160, .16);--tonal-surface-active: rgba(230, 195, 160, .2)}[data-theme=zen]{--glass-backdrop-bg: rgba(44, 37, 32, .35);--glass-ultra-thin-bg: rgba(255, 255, 255, .5);--glass-thin-bg: rgba(255, 255, 255, .6);--glass-regular-bg: rgba(255, 255, 255, .7);--glass-thick-bg: rgba(255, 255, 255, .8);--glass-ultra-thick-bg: rgba(255, 255, 255, .9);--glass-chromatic-bg: rgba(61, 90, 69, .06);--glass-ultra-thin-border: rgba(44, 37, 32, .04);--glass-thin-border: rgba(44, 37, 32, .06);--glass-regular-border: rgba(44, 37, 32, .08);--glass-thick-border: rgba(44, 37, 32, .1);--glass-ultra-thick-border: rgba(44, 37, 32, .12);--glass-chromatic-border: rgba(61, 90, 69, .12);--glass-shadow-thin: 0 2px 4px rgba(0, 0, 0, .04), 0 4px 8px rgba(0, 0, 0, .02);--glass-shadow-regular: 0 4px 6px rgba(0, 0, 0, .05), 0 8px 16px rgba(0, 0, 0, .03);--glass-shadow-thick: 0 8px 12px rgba(0, 0, 0, .06), 0 16px 32px rgba(0, 0, 0, .04);--glass-shadow-ultra-thick: 0 16px 24px rgba(0, 0, 0, .08), 0 32px 64px rgba(0, 0, 0, .05);--tonal-surface-1: rgba(44, 37, 32, .02);--tonal-surface-2: rgba(44, 37, 32, .04);--tonal-surface-3: rgba(44, 37, 32, .06);--tonal-surface-hover: rgba(44, 37, 32, .08);--tonal-surface-active: rgba(44, 37, 32, .12)}.glass-card{background:var(--glass-thin-bg);backdrop-filter:blur(var(--glass-blur-thin));-webkit-backdrop-filter:blur(var(--glass-blur-thin));border:1px solid var(--glass-thin-border);border-radius:var(--radius-lg, 16px);box-shadow:var(--glass-shadow-thin)}.glass-modal{background:var(--glass-thick-bg);backdrop-filter:blur(var(--glass-blur-thick));-webkit-backdrop-filter:blur(var(--glass-blur-thick));border:1px solid var(--glass-thick-border);border-radius:var(--radius-xl, 20px);box-shadow:var(--glass-shadow-thick)}.glass-popover{background:var(--glass-regular-bg);backdrop-filter:blur(var(--glass-blur-regular));-webkit-backdrop-filter:blur(var(--glass-blur-regular));border:1px solid var(--glass-regular-border);border-radius:var(--radius-lg, 16px);box-shadow:var(--glass-shadow-regular)}.glass-sheet{background:var(--glass-ultra-thick-bg);backdrop-filter:blur(var(--glass-blur-ultra-thick));-webkit-backdrop-filter:blur(var(--glass-blur-ultra-thick));border:1px solid var(--glass-ultra-thick-border);border-radius:var(--radius-2xl, 24px) var(--radius-2xl, 24px) 0 0;box-shadow:var(--glass-shadow-ultra-thick)}.glass-chromatic{background:var(--glass-chromatic-bg);backdrop-filter:blur(var(--glass-blur-chromatic));-webkit-backdrop-filter:blur(var(--glass-blur-chromatic));border:1px solid var(--glass-chromatic-border);border-radius:var(--radius-lg, 16px);box-shadow:var(--glass-shadow-regular)}.tonal-button{background:var(--tonal-surface-3);border:none;border-radius:9999px;transition:background .15s ease-out}.tonal-button:hover{background:var(--tonal-surface-hover)}.tonal-button:active{background:var(--tonal-surface-active)}.tonal-chip{background:var(--tonal-surface-2);border:none;border-radius:9999px;transition:background .15s ease-out}.tonal-chip:hover{background:var(--tonal-surface-3)}.tonal-chip.tonal-chip--selected{background:var(--tonal-surface-active)}.tonal-card{background:var(--tonal-surface-1);border-radius:var(--radius-lg, 16px)}.tonal-card--interactive{background:var(--tonal-surface-2);border-radius:var(--radius-lg, 16px);transition:background .15s ease-out}.tonal-card--interactive:hover{background:var(--tonal-surface-3)}.tonal-list-item{background:transparent;border-radius:var(--radius-md, 12px);transition:background .15s ease-out}.tonal-list-item:hover{background:var(--tonal-surface-1)}.tonal-list-item:active,.tonal-list-item.tonal-list-item--selected{background:var(--tonal-surface-2)}@media (prefers-reduced-motion: reduce){.glass-card,.glass-modal,.glass-popover,.glass-sheet,.glass-chromatic{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--color-bg-elevated)}}[data-theme=midnight]{--persona-text: #a5c99a;--color-ferni-text: #a5c99a;--color-peter-text: #8bc4cf;--color-alex-text: #a8b8d8;--color-maya-text: #e0b8a8;--color-jordan-text: #f0c0a0;--color-nayan-text: #e8d0a8;--color-eli-text: #b8a8d8;--color-marcus-text: #88c4a8;--color-kenji-text: #90b0c8;--color-carmen-text: #f0d0a8;--color-amara-text: #c0b0d8;--color-sasha-text: #f8b898;--color-ray-text: #a0b0c0}[data-theme=midnight] .eyebrow,[data-theme=midnight] .section-eyebrow,[data-theme=midnight] .card-eyebrow,[data-theme=midnight] .modal-eyebrow,[data-theme=midnight] .badge--persona,[data-theme=midnight] .tier-badge--premium,[data-theme=midnight] .subscription-badge--premium,[data-theme=midnight] a[style*=--persona-primary],[data-theme=midnight] button[style*=--persona-primary],[data-theme=midnight] .progress-eyebrow,[data-theme=midnight] .progress-next-label,[data-theme=midnight] .progress-ring-icon,[data-theme=midnight] .progress-ring-icon-large{color:var(--persona-text)!important}[data-theme=midnight] .progress-ring-fill{stroke:var(--persona-text)!important}
