@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&family=Share+Tech+Mono&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800&display=swap";:root{--font-display: "Inter Display", "Inter", "SF Pro Display", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tighter: -.03em;--tracking-tight: -.015em;--tracking-normal: 0;--tracking-wide: .015em;--tracking-widest: .08em;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-0: 0;--space-0\.5: 2px;--space-1: 4px;--space-1\.5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--shadow-xs: 0 1px 1px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08), 0 1px 1px rgba(0, 0, 0, .04);--shadow: 0 2px 4px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 8px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .04);--shadow-xl: 0 16px 32px rgba(0, 0, 0, .12), 0 8px 12px rgba(0, 0, 0, .06);--shadow-2xl: 0 24px 48px rgba(0, 0, 0, .2), 0 12px 24px rgba(0, 0, 0, .08);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .08);--shadow-popover: 0 6px 18px rgba(0, 0, 0, .12), 0 2px 6px rgba(0, 0, 0, .06);--shadow-modal: 0 24px 48px rgba(0, 0, 0, .24), 0 12px 24px rgba(0, 0, 0, .12);--shadow-dropdown: 0 8px 20px rgba(0, 0, 0, .14), 0 2px 6px rgba(0, 0, 0, .06);--shadow-focus-ring: 0 0 0 2px var(--ring-offset, transparent), 0 0 0 4px var(--ring, rgba(109, 93, 252, .6));--duration-instant: 50ms;--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--duration-slower: .5s;--ease-linear: linear;--ease-out-quick: cubic-bezier(.16, 1, .3, 1);--ease-out-smooth: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 70;--z-toast: 80;--z-call: 90;--z-safety: 100;--bg: #0a0a0f;--bg-raised: #18181b;--bg-hover: #222225;--surface: #1e1e22;--surface-hover: #26262b;--border: #2a2a2e;--border-strong: #3a3a40;--border-subtle: #1f1f23;--text: #e8e6f0;--text-muted: #9a9aa8;--text-subtle: #6a6a78;--text-inverse: #0a0a0f;--primary: #6d5dfc;--primary-hover: #5a4ae0;--primary-subtle: rgba(109, 93, 252, .12);--primary-text-on: #ffffff;--accent: #38bdf8;--accent-hover: #0ea5e9;--success: #22c55e;--success-bg: rgba(34, 197, 94, .12);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .12);--info: #38bdf8;--info-bg: rgba(56, 189, 248, .12);--ring: rgba(109, 93, 252, .65);--ring-offset: var(--bg);--user-bubble: var(--primary);--user-bubble-text: var(--primary-text-on);--char-bubble: var(--surface);--char-bubble-text: var(--text)}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 0ms;--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--duration-slower: 0ms}}html.theme-default{--bg: #0a0a0f;--bg2: #0e0e10;--bg-raised: #18181b;--bg-hover: #222225;--surface: #1e1e22;--sidebar: #141418;--border: #2a2a2e;--divider: #1f1f23;--text: #e8e6f0;--text-muted: #8b8b9a;--text-inverse: #0a0a0f;--primary: #6d5dfc;--primary-hover: #5a4ae0;--purple: #6d5dfc;--blue: #38bdf8;--accent: #38bdf8;--accent-2: #a855f7;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--error: #ef4444;--user-bubble: #6d5dfc;--user-bubble-text: #ffffff;--char-bubble: #2a2a2e;--char-bubble-text: #e8e6f0;--surface-hover: #26262b;--border-strong: #3a3a40;--border-subtle: #1f1f23;--text-subtle: #6a6a78;--primary-subtle: rgba(109, 93, 252, .14);--primary-text-on: #ffffff;--accent-hover: #0ea5e9;--success-bg: rgba(34, 197, 94, .14);--warning-bg: rgba(245, 158, 11, .14);--danger-bg: rgba(239, 68, 68, .14);--info-bg: rgba(56, 189, 248, .14);--info: #38bdf8;--ring: rgba(109, 93, 252, .6);--ring-offset: var(--bg);--radius: 8px;--radius-sm: 6px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.15);--shadow-md: 0 4px 12px rgba(0,0,0,.15);--shadow-lg: 0 8px 24px rgba(0,0,0,.25);--shadow-glow: 0 0 20px rgba(109,93,252,.2);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: var(--font-sans);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;background:var(--bg);color:var(--text)}html.theme-default body{font-family:var(--font-sans)}html.theme-guild{--bg: #313338;--bg2: #2b2d31;--bg-raised: #2b2d31;--bg-hover: #35373c;--surface: #2b2d31;--sidebar: #1e1f22;--border: #1e1f22;--divider: #3f4147;--text: #f2f3f5;--text-muted: #b5bac1;--text-inverse: #060607;--primary: #5865f2;--primary-hover: #4752c4;--accent: #5865f2;--accent-2: #eb459e;--success: #23a55a;--warning: #f0b232;--danger: #f23f43;--error: #f23f43;--user-bubble: #5865f2;--user-bubble-text: #ffffff;--char-bubble: #2b2d31;--char-bubble-text: #f2f3f5;--surface-hover: #35373c;--border-strong: #3f4147;--border-subtle: #26272b;--text-subtle: #87898f;--primary-subtle: rgba(88, 101, 242, .16);--primary-text-on: #ffffff;--accent-hover: #4752c4;--success-bg: rgba(35, 165, 90, .14);--warning-bg: rgba(240, 178, 50, .14);--danger-bg: rgba(242, 63, 67, .14);--info: #00a8fc;--info-bg: rgba(0, 168, 252, .14);--ring: rgba(88, 101, 242, .6);--ring-offset: var(--bg);--radius: 8px;--radius-sm: 4px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 0 rgba(4,4,5,.2);--shadow-md: 0 2px 10px rgba(0,0,0,.2);--shadow-lg: 0 8px 16px rgba(0,0,0,.24);--shadow-glow: 0 0 0 2px rgba(88,101,242,.3);--font-sans: "gg sans", "Whitney", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-heading: var(--font-sans);--font-mono: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;background:var(--bg);color:var(--text)}html.theme-guild body{font-family:var(--font-sans)}html.theme-guild .chat-bubble{border-radius:8px;padding:8px 12px;box-shadow:none}html.theme-guild .chat-bubble.user{background:var(--primary);color:#fff;border-bottom-right-radius:2px}html.theme-guild .chat-bubble.character{background:#2b2d31;color:var(--text);border:1px solid #1e1f22;border-bottom-left-radius:2px}html.theme-guild .chat-bubble-group-label{color:#5865f2;font-weight:600;font-size:.8rem;letter-spacing:0}html.theme-guild .chat-bubble-row:hover{background:#04040512}html.theme-guild .chat-input,html.theme-guild .auth-form input,html.theme-guild .auth-form select{background:#383a40;border:none;border-radius:8px;color:var(--text)}html.theme-guild .chat-input:focus,html.theme-guild .auth-form input:focus{outline:none;box-shadow:0 0 0 2px #5865f266}html.theme-guild .chat-input-bar,html.theme-guild .chat-header{background:#313338;border-color:#26272b}html.theme-guild .btn-primary{background:var(--primary);color:#fff;border-radius:3px;font-weight:500}html.theme-guild .btn-primary:hover:not(:disabled){background:var(--primary-hover)}html.theme-guild .btn-secondary{background:#4e5058;border:none;color:#fff;border-radius:3px}html.theme-guild .btn-secondary:hover:not(:disabled){background:#6d6f78}html.theme-guild .character-card,html.theme-guild .friend-row,html.theme-guild .progress-card{background:#2b2d31;border:1px solid #1e1f22}html.theme-guild .character-avatar,html.theme-guild .character-pick-avatar,html.theme-guild .friend-row .friend-avatar,html.theme-guild .chat-avatar-mini{background:#5865f2;color:#fff}html.theme-guild ::-webkit-scrollbar{width:8px}html.theme-guild ::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}html.theme-guild .mode-pill.active{background:var(--primary);border-color:var(--primary);box-shadow:none}html.theme-arcade{--bg: #0a0a0a;--bg2: #141414;--bg-raised: #141414;--bg-hover: #1e1e1e;--surface: #141414;--sidebar: #050505;--border: #2a2a2a;--divider: #1a1a1a;--text: #e0e0e0;--text-muted: #888888;--text-inverse: #000000;--primary: #ff6a00;--primary-hover: #ff8533;--accent: #00ff9c;--accent-2: #00ff9c;--success: #00ff9c;--warning: #ffcc00;--danger: #ff1744;--error: #ff1744;--user-bubble: #ff6a00;--user-bubble-text: #000000;--char-bubble: #141414;--char-bubble-text: #00ff9c;--surface-hover: #1e1e1e;--border-strong: #ff6a00;--border-subtle: #1a1a1a;--text-subtle: #666666;--primary-subtle: rgba(255, 106, 0, .18);--primary-text-on: #000000;--accent-hover: #33ffb0;--success-bg: rgba(0, 255, 156, .14);--warning-bg: rgba(255, 204, 0, .14);--danger-bg: rgba(255, 23, 68, .14);--info: #00ff9c;--info-bg: rgba(0, 255, 156, .14);--ring: rgba(0, 255, 156, .7);--ring-offset: var(--bg);--radius: 0px;--radius-sm: 0px;--radius-lg: 2px;--radius-xl: 2px;--radius-full: 0px;--shadow-sm: 2px 2px 0 #ff6a00;--shadow-md: 0 0 8px rgba(255, 106, 0, .5);--shadow-lg: 0 0 20px rgba(0, 255, 156, .3);--shadow-glow: 0 0 10px #00ff9c, 0 0 20px rgba(0, 255, 156, .5);--font-sans: "Share Tech Mono", "VT323", "Courier New", monospace;--font-heading: "Press Start 2P", "VT323", monospace;--font-mono: "Share Tech Mono", "VT323", "Courier New", monospace;background:linear-gradient(#000000d9,#000000d9),repeating-linear-gradient(0deg,rgba(0,255,156,.03) 0px,rgba(0,255,156,.03) 1px,transparent 1px,transparent 3px);color:var(--text)}html.theme-arcade body{font-family:var(--font-sans);letter-spacing:.02em}html.theme-arcade h1,html.theme-arcade h2,html.theme-arcade h3,html.theme-arcade .landing-title,html.theme-arcade .onboarding-step h1{font-family:var(--font-heading);color:var(--primary);text-shadow:0 0 8px rgba(255,106,0,.6),2px 2px 0 #000;letter-spacing:.05em}html.theme-arcade a{color:var(--accent);text-shadow:0 0 4px rgba(0,255,156,.6)}html.theme-arcade .chat-bubble{border-radius:0;border:2px solid;padding:8px 12px;font-family:var(--font-mono);font-size:.95rem}html.theme-arcade .chat-bubble.user{background:#1a0f00;color:var(--primary);border-color:var(--primary);box-shadow:3px 3px #ff6a004d;border-bottom-right-radius:0}html.theme-arcade .chat-bubble.user:before{content:"> ";color:var(--primary)}html.theme-arcade .chat-bubble.character{background:#001a10;color:var(--accent);border-color:var(--accent);box-shadow:3px 3px #00ff9c4d;border-bottom-left-radius:0}html.theme-arcade .chat-bubble.character:before{content:"< ";color:var(--accent)}html.theme-arcade .chat-input,html.theme-arcade .auth-form input,html.theme-arcade .auth-form select{background:#000;border:2px solid var(--accent);border-radius:0;color:var(--accent);font-family:var(--font-mono);caret-color:var(--primary)}html.theme-arcade .chat-input:focus,html.theme-arcade .auth-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 0 10px #ff6a0080}html.theme-arcade .chat-input-bar,html.theme-arcade .chat-header{background:#0a0a0a;border-color:var(--primary);border-top:2px solid var(--primary)}html.theme-arcade .chat-header{border-top:none;border-bottom:2px solid var(--primary)}html.theme-arcade .btn{border-radius:0;font-family:var(--font-heading);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;transition:all .1s ease}html.theme-arcade .btn-primary{background:var(--primary);color:#000;border:2px solid var(--primary);box-shadow:3px 3px #000}html.theme-arcade .btn-primary:hover:not(:disabled){background:#000;color:var(--primary);box-shadow:3px 3px 0 var(--primary);transform:translate(-1px,-1px)}html.theme-arcade .btn-secondary{background:#000;color:var(--accent);border:2px solid var(--accent);box-shadow:3px 3px #00ff9c66}html.theme-arcade .btn-secondary:hover:not(:disabled){background:var(--accent);color:#000}html.theme-arcade .character-card,html.theme-arcade .friend-row,html.theme-arcade .progress-card,html.theme-arcade .landing-feature,html.theme-arcade .language-card,html.theme-arcade .character-pick-card{background:#0a0a0a;border:2px solid var(--border);border-radius:0;transition:all .15s ease}html.theme-arcade .character-card:hover,html.theme-arcade .friend-row:hover,html.theme-arcade .language-card:hover,html.theme-arcade .character-pick-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 15px #00ff9c66;transform:translate(-1px,-1px)}html.theme-arcade .character-avatar,html.theme-arcade .character-pick-avatar,html.theme-arcade .friend-row .friend-avatar,html.theme-arcade .chat-avatar-mini{border-radius:0;background:var(--primary);color:#000;font-family:var(--font-heading);border:2px solid var(--primary);box-shadow:2px 2px #000c}html.theme-arcade .mode-pill{border-radius:0;border:2px solid var(--border);font-family:var(--font-heading);font-size:.6rem;text-transform:uppercase;letter-spacing:.08em}html.theme-arcade .mode-pill.active{background:var(--primary);color:#000;border-color:var(--primary);box-shadow:0 0 10px #ff6a00b3}html.theme-arcade .progress-bar{background:#000;border:1px solid var(--accent);height:8px}html.theme-arcade .progress-fill{background:linear-gradient(90deg,var(--accent),#7cff00);box-shadow:0 0 6px #00ff9ccc}html.theme-arcade ::-webkit-scrollbar{width:10px}html.theme-arcade ::-webkit-scrollbar-track{background:#000;border-left:1px solid var(--border)}html.theme-arcade ::-webkit-scrollbar-thumb{background:var(--primary);border-radius:0}html.theme-arcade .chat-messages{background:repeating-linear-gradient(0deg,rgba(0,255,156,.02) 0px,rgba(0,255,156,.02) 1px,transparent 1px,transparent 3px)}html.theme-bubbles{--bg: #ffffff;--bg2: #f0f2f5;--bg-raised: #ffffff;--bg-hover: #f0f2f5;--surface: #ffffff;--sidebar: #f0f2f5;--border: #e4e6eb;--divider: #ebedf0;--text: #050505;--text-muted: #65676b;--text-inverse: #ffffff;--primary: #0084ff;--primary-hover: #0073e0;--accent: #0084ff;--accent-2: #e41e3f;--success: #31a24c;--warning: #f7b928;--danger: #e41e3f;--error: #e41e3f;--user-bubble: #0084ff;--user-bubble-text: #ffffff;--char-bubble: #e4e6eb;--char-bubble-text: #050505;--surface-hover: #f0f2f5;--border-strong: #c9ccd1;--border-subtle: #ebedf0;--text-subtle: #8a8d91;--primary-subtle: rgba(0, 132, 255, .12);--primary-text-on: #ffffff;--accent-hover: #0073e0;--success-bg: rgba(49, 162, 76, .12);--warning-bg: rgba(247, 185, 40, .14);--danger-bg: rgba(228, 30, 63, .1);--info: #0084ff;--info-bg: rgba(0, 132, 255, .1);--ring: rgba(0, 132, 255, .5);--ring-offset: #ffffff;--radius: 18px;--radius-sm: 10px;--radius-lg: 18px;--radius-xl: 22px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.08);--shadow-md: 0 2px 8px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--shadow-glow: 0 0 0 4px rgba(0,132,255,.12);--font-sans: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-heading: var(--font-sans);--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;background:var(--bg);color:var(--text)}html.theme-bubbles body{font-family:var(--font-sans)}html.theme-bubbles .chat-bubble{border-radius:18px;padding:8px 14px;max-width:70%;box-shadow:none;font-size:.95rem;line-height:1.35}html.theme-bubbles .chat-bubble.user{background:linear-gradient(135deg,#00c6ff,#0084ff);color:#fff;border-bottom-right-radius:4px}html.theme-bubbles .chat-bubble.character{background:#e4e6eb;color:#050505;border-bottom-left-radius:4px}html.theme-bubbles .chat-bubble-time{color:#00000073}html.theme-bubbles .chat-bubble.user .chat-bubble-time{color:#ffffffb3}html.theme-bubbles .chat-header{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 2px #0000000d}html.theme-bubbles .chat-input-bar{background:#fff;border-top:1px solid var(--border)}html.theme-bubbles .chat-input{background:#f0f2f5;border:1px solid transparent;border-radius:20px;color:var(--text)}html.theme-bubbles .chat-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0084ff1f}html.theme-bubbles .auth-form input,html.theme-bubbles .auth-form select{background:#f0f2f5;border:1px solid var(--border);border-radius:10px;color:var(--text)}html.theme-bubbles .btn{font-weight:600;border-radius:999px}html.theme-bubbles .btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 4px #0084ff66}html.theme-bubbles .btn-primary:hover:not(:disabled){background:var(--primary-hover)}html.theme-bubbles .btn-secondary{background:#e4e6eb;border:none;color:#050505}html.theme-bubbles .btn-secondary:hover:not(:disabled){background:#d8dadf}html.theme-bubbles .btn-icon{color:var(--primary);border-radius:50%}html.theme-bubbles .btn-icon:hover:not(:disabled){background:#f0f2f5;color:var(--primary)}html.theme-bubbles .character-card,html.theme-bubbles .friend-row,html.theme-bubbles .progress-card,html.theme-bubbles .landing-feature,html.theme-bubbles .language-card,html.theme-bubbles .character-pick-card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #0000000d}html.theme-bubbles .character-card:hover,html.theme-bubbles .friend-row:hover{background:#f0f2f5;border-color:var(--primary)}html.theme-bubbles .character-avatar,html.theme-bubbles .character-pick-avatar,html.theme-bubbles .friend-row .friend-avatar,html.theme-bubbles .chat-avatar-mini{background:linear-gradient(135deg,#00c6ff,#0084ff);color:#fff;border-radius:50%}html.theme-bubbles .mode-pill{border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}html.theme-bubbles .mode-pill.active{background:#0084ff1f;border-color:var(--primary);color:var(--primary);box-shadow:none}html.theme-bubbles .dashboard-header{border-bottom:1px solid var(--border)}html.theme-bubbles ::-webkit-scrollbar{width:8px}html.theme-bubbles ::-webkit-scrollbar-thumb{background:#c9ccd1;border-radius:4px}html.theme-bubbles .progress-bar{background:#e4e6eb}html.theme-bubbles .progress-fill{background:linear-gradient(90deg,#00c6ff,#0084ff)}html.theme-sunshine{--bg: #fffc00;--bg2: #ffffff;--bg-raised: #ffffff;--bg-hover: #fff9c4;--surface: #ffffff;--sidebar: #fffc00;--border: #f5ee2a;--divider: #ffe600;--text: #000000;--text-muted: #505050;--text-inverse: #ffffff;--primary: #000000;--primary-hover: #222222;--accent: #fffc00;--accent-2: #ff5c5c;--success: #3ddc97;--warning: #ff9500;--danger: #ff3b30;--error: #ff3b30;--user-bubble: #000000;--user-bubble-text: #fffc00;--char-bubble: #ffffff;--char-bubble-text: #000000;--surface-hover: #fff9c4;--border-strong: #000000;--border-subtle: #ffe600;--text-subtle: #808080;--primary-subtle: rgba(0, 0, 0, .08);--primary-text-on: #fffc00;--accent-hover: #ffe600;--success-bg: rgba(61, 220, 151, .18);--warning-bg: rgba(255, 149, 0, .18);--danger-bg: rgba(255, 59, 48, .14);--info: #0084ff;--info-bg: rgba(0, 132, 255, .12);--ring: rgba(0, 0, 0, .6);--ring-offset: #fffc00;--radius: 16px;--radius-sm: 10px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--shadow-sm: 0 2px 0 rgba(0,0,0,.08);--shadow-md: 0 4px 0 rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--shadow-glow: 0 0 0 4px rgba(0,0,0,.15);--font-sans: "Poppins", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-heading: "Poppins", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;background:var(--bg);color:var(--text)}html.theme-sunshine body{font-family:var(--font-sans);font-weight:500}html.theme-sunshine h1,html.theme-sunshine h2,html.theme-sunshine h3,html.theme-sunshine .landing-title,html.theme-sunshine .onboarding-step h1{font-family:var(--font-heading);font-weight:800;letter-spacing:-.02em}html.theme-sunshine .chat-bubble{border-radius:22px;padding:10px 16px;font-weight:600;box-shadow:0 2px #00000014}html.theme-sunshine .chat-bubble.user{background:#000;color:#fffc00;border-bottom-right-radius:6px}html.theme-sunshine .chat-bubble.character{background:#fff;color:#000;border-bottom-left-radius:6px;border:2px solid #000}html.theme-sunshine .chat-bubble-time{font-weight:500;opacity:.7}html.theme-sunshine .chat-page{background:var(--bg)}html.theme-sunshine .chat-header,html.theme-sunshine .chat-input-bar{background:#fffc00;border-color:#000}html.theme-sunshine .chat-header{border-bottom:2px solid #000}html.theme-sunshine .chat-input-bar{border-top:2px solid #000}html.theme-sunshine .chat-messages{background:#fff}html.theme-sunshine .chat-input{background:#fff;border:2px solid #000;border-radius:999px;color:#000;font-weight:600;padding:10px 18px}html.theme-sunshine .chat-input:focus{border-color:#000;box-shadow:0 0 0 3px #00000026}html.theme-sunshine .auth-form input,html.theme-sunshine .auth-form select{background:#fff;border:2px solid #000;border-radius:14px;color:#000;font-weight:600}html.theme-sunshine .btn{font-weight:700;border-radius:999px;letter-spacing:-.01em}html.theme-sunshine .btn-primary{background:#000;color:#fffc00;border:2px solid #000}html.theme-sunshine .btn-primary:hover:not(:disabled){background:#fffc00;color:#000}html.theme-sunshine .btn-secondary{background:#fff;color:#000;border:2px solid #000}html.theme-sunshine .btn-secondary:hover:not(:disabled){background:#fffc00}html.theme-sunshine .btn-icon{background:#fff;color:#000;border:2px solid #000;border-radius:50%}html.theme-sunshine .character-card,html.theme-sunshine .friend-row,html.theme-sunshine .progress-card,html.theme-sunshine .landing-feature,html.theme-sunshine .language-card,html.theme-sunshine .character-pick-card{background:#fff;border:2px solid #000;border-radius:20px;box-shadow:4px 4px #000;transition:transform .15s ease,box-shadow .15s ease}html.theme-sunshine .character-card:hover,html.theme-sunshine .friend-row:hover,html.theme-sunshine .language-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #000;border-color:#000}html.theme-sunshine .character-avatar,html.theme-sunshine .character-pick-avatar,html.theme-sunshine .friend-row .friend-avatar,html.theme-sunshine .chat-avatar-mini{background:#fffc00;color:#000;border:2px solid #000;border-radius:50%;font-weight:800}html.theme-sunshine .mode-pill{border-radius:999px;border:2px solid #000;background:#fff;color:#000;font-weight:700}html.theme-sunshine .mode-pill.active{background:#000;border-color:#000;color:#fffc00;box-shadow:2px 2px #0003}html.theme-sunshine .progress-bar{background:#fff;border:2px solid #000;height:8px}html.theme-sunshine .progress-fill{background:#fffc00}html.theme-sunshine ::-webkit-scrollbar{width:10px}html.theme-sunshine ::-webkit-scrollbar-track{background:#fffc00}html.theme-sunshine ::-webkit-scrollbar-thumb{background:#000;border-radius:5px;border:2px solid #fffc00}html.theme-sunshine .landing-lang-pill{background:#fff;border:2px solid #000;color:#000;font-weight:600}html.theme-sunshine .dashboard-header{border-bottom:2px solid #000}html.theme-sunshine .gradient-text{background:none;-webkit-text-fill-color:#000;color:#000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0e0e10;--bg-raised: #18181b;--bg-hover: #222225;--surface: #1e1e22;--border: #2a2a2e;--text: #e4e4e7;--text-muted: #8b8b8f;--primary: #6d5dfc;--primary-hover: #5a4ae0;--accent: #38bdf8;--danger: #ef4444;--warning: #f59e0b;--success: #22c55e;--user-bubble: #6d5dfc;--char-bubble: #2a2a2e;--radius: 8px;--radius-lg: 16px;--text-xs: .7rem;--text-sm: .8rem;--text-base: .95rem;--text-md: 1rem;--text-lg: 1.1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 6px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.15);--shadow-md: 0 4px 12px rgba(0,0,0,.15);--shadow-lg: 0 8px 24px rgba(0,0,0,.2);--shadow-glow: 0 0 20px rgba(109,93,252,.2);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=light]{--bg: #f8f8fa;--bg-raised: #ffffff;--bg-hover: #f0f0f3;--surface: #ffffff;--border: #e2e2e6;--text: #1a1a2e;--text-muted: #5c5c70;--primary: #5b4cdb;--primary-hover: #4a3bc9;--accent: #0284c7;--danger: #dc2626;--warning: #d97706;--success: #16a34a;--user-bubble: #5b4cdb;--char-bubble: #f0f0f3}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f8f8fa;--bg-raised: #ffffff;--bg-hover: #f0f0f3;--surface: #ffffff;--border: #e2e2e6;--text: #1a1a2e;--text-muted: #5c5c70;--primary: #5b4cdb;--primary-hover: #4a3bc9;--accent: #0284c7;--danger: #dc2626;--warning: #d97706;--success: #16a34a;--user-bubble: #5b4cdb;--char-bubble: #f0f0f3}}html,body{height:100%;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{height:100%}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.page{min-height:100%;display:flex;flex-direction:column}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast),transform .1s cubic-bezier(.34,1.56,.64,1)}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text);background:var(--bg-hover)}.btn-icon{background:transparent;color:var(--text-muted);padding:8px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.btn-icon:hover:not(:disabled){color:var(--text);background:var(--bg-hover)}.landing{align-items:center;justify-content:center;text-align:center;padding:2rem}.landing-content{max-width:520px}.landing-title{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.landing-subtitle{color:var(--text-muted);font-size:1.1rem;line-height:1.7;margin-bottom:2rem}.landing-actions{display:flex;gap:12px;justify-content:center}.auth-page{align-items:center;justify-content:center;padding:2rem}.auth-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:1rem}.auth-form h1{font-size:1.5rem;margin-bottom:.5rem}.auth-form label{display:flex;flex-direction:column;gap:4px}.auth-form label span{font-size:.85rem;color:var(--text-muted)}.auth-form input,.auth-form select{padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem;outline:none;transition:border-color .15s}.auth-form input:focus,.auth-form select:focus{border-color:var(--primary)}.form-error{background:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:8px 12px;border-radius:var(--radius);font-size:.85rem}.auth-switch{text-align:center;color:var(--text-muted);font-size:.9rem}.dashboard{padding:2rem;max-width:1100px;margin:0 auto;width:100%}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.dashboard-header h1{font-size:1.5rem}.dashboard-subtitle{color:var(--text-muted);font-size:.9rem}.progress-section{margin-bottom:2rem}.progress-section h2,.characters-section h2{font-size:1.1rem;margin-bottom:1rem;color:var(--text-muted);font-weight:500}.progress-grid{display:flex;gap:12px;flex-wrap:wrap}.progress-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;min-width:160px;display:flex;flex-direction:column;gap:6px}.progress-language{font-weight:600;font-size:.9rem}.progress-bar{height:4px;background:var(--bg);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s}.progress-level{font-size:.8rem;color:var(--text-muted)}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.character-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:border-color var(--transition-base),transform var(--transition-spring),box-shadow var(--transition-slow);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--text);font-family:inherit;font-size:inherit}.character-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 20px #6d5dfc26}.character-card:active{transform:translateY(0) scale(.98)}.character-avatar{width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700}.character-name{font-size:1rem;font-weight:600}.character-language{font-size:.8rem;color:var(--accent);font-weight:500}.character-description{font-size:.8rem;color:var(--text-muted);line-height:1.4}.character-difficulty{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:4px;font-weight:600}.character-difficulty.beginner{background:#22c55e26;color:var(--success)}.character-difficulty.intermediate{background:#38bdf826;color:var(--accent)}.character-difficulty.advanced{background:#ef444426;color:var(--danger)}.empty-state{color:var(--text-muted);text-align:center;padding:3rem 1rem}.chat-page{height:100%;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-raised);flex-shrink:0}.chat-header-info h2{font-size:1rem;font-weight:600}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px}.chat-bubble-row{display:flex}.chat-bubble-row.user{justify-content:flex-end}.chat-bubble-row.character{justify-content:flex-start}.chat-bubble-row:hover .report-flag-btn{opacity:.5!important}.chat-bubble-row .report-flag-btn:hover{opacity:1!important}.chat-bubble{max-width:75%;padding:10px 14px;border-radius:var(--radius-lg);position:relative;word-wrap:break-word}.chat-bubble.user{background:var(--user-bubble);color:#fff;border-bottom-right-radius:4px}.chat-bubble.character{background:var(--char-bubble);color:var(--text);border-bottom-left-radius:4px}.chat-bubble-content{margin:0;line-height:1.5}.chat-bubble-translation{margin:4px 0 0;font-size:.8rem;opacity:.7;font-style:italic}.chat-bubble-time{display:block;font-size:.75rem;opacity:.5;margin-top:4px;text-align:right}.typing-dots{display:inline-flex;gap:4px;padding:4px 0}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.2s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.chat-input-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-raised);flex-shrink:0}.chat-input{flex:1;padding:10px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem;outline:none;font-family:inherit;min-height:42px;max-height:120px}.chat-input:focus{border-color:var(--primary)}.chat-input::placeholder{color:var(--text-muted)}.send-btn:not(:disabled){color:var(--primary)}.voice-btn{color:var(--text-muted)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.chat-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.onboarding{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.onboarding-step{max-width:600px;width:100%;text-align:center;animation:fadeIn .3s ease}.onboarding-step h1{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.onboarding-step p{color:var(--text-muted);margin-bottom:1.5rem}.language-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:2rem}.language-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1rem;cursor:pointer;transition:border-color var(--transition-base),transform var(--transition-spring),background var(--transition-base);text-align:center;display:flex;flex-direction:column;gap:4px}.language-card:hover{border-color:var(--primary);transform:translateY(-2px)}.language-card.selected{border-color:var(--primary);background:#6d5dfc1a}.language-card .native-name{font-size:1.3rem;font-weight:700}.language-card .english-name{font-size:.8rem;color:var(--text-muted)}.character-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:2rem}.character-pick-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;cursor:pointer;transition:border-color var(--transition-base),transform var(--transition-spring),background var(--transition-base);text-align:left;display:flex;gap:16px;align-items:flex-start}.character-pick-card:hover{border-color:var(--primary);transform:translateY(-2px)}.character-pick-card.selected{border-color:var(--primary);background:#6d5dfc1a}.character-pick-avatar{width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;flex-shrink:0}.character-pick-info h3{font-size:1.1rem;font-weight:600;margin-bottom:2px}.character-pick-info .native-label{font-size:.85rem;color:var(--accent);margin-bottom:4px}.character-pick-info .meta{font-size:.8rem;color:var(--text-muted);margin-bottom:6px}.character-pick-info .persona{font-size:.8rem;color:var(--text-muted);line-height:1.4}.onboarding-nav{display:flex;gap:12px;justify-content:center;margin-top:1rem}.landing-languages{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:2.5rem}.landing-lang-pill{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:.8rem;color:var(--text-muted);transition:border-color .3s,color .3s}.landing-lang-pill:hover{border-color:var(--primary);color:var(--text)}.landing-features{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:3rem}.landing-feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;max-width:200px;text-align:center}.landing-feature h3{font-size:.85rem;font-weight:600;margin-bottom:4px}.landing-feature p{font-size:.75rem;color:var(--text-muted);line-height:1.4}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mode-selector{display:flex;gap:6px}.mode-pill{padding:4px 12px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.mode-pill:hover{border-color:var(--primary);color:var(--text)}.mode-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 12px #6d5dfc4d}.mode-indicator{padding:6px 16px;background:var(--bg);border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted);text-align:center}.chat-bubble-group-label{font-size:.65rem;color:var(--text-muted);margin-bottom:2px;margin-left:40px}.chat-bubble-row.character{gap:8px;align-items:flex-end}.chat-avatar-mini{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;margin-bottom:4px}.chat-welcome{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:.9rem;line-height:1.6}.chat-welcome .welcome-avatar{width:64px;height:64px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 12px}.chat-welcome h3{color:var(--text);font-size:1.1rem;margin-bottom:4px}.friend-list{display:flex;flex-direction:column;gap:4px;margin-bottom:2rem}.friend-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s,transform .1s;text-decoration:none;color:inherit}.friend-row:hover{border-color:var(--primary);background:var(--bg-hover);text-decoration:none;transform:translate(4px)}.friend-row .friend-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0}.friend-row .friend-info{flex:1;min-width:0}.friend-row .friend-name{font-weight:600;font-size:.95rem}.friend-row .friend-preview{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-row .friend-lang-badge{font-size:.7rem;background:#38bdf826;color:var(--accent);padding:2px 8px;border-radius:10px;flex-shrink:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}.page-enter{animation:pageEnter .3s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bubblePopIn{0%{opacity:0;transform:scale(.8) translateY(8px)}60%{transform:scale(1.02) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.bubble-new{animation:bubblePopIn .3s ease-out}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border) 50%,var(--bg-hover) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}.btn:focus-visible,.chat-input:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes toastProgress{0%{width:100%}to{width:0%}}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes pointPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@media(max-width:640px){.landing-title{font-size:2rem}.landing-actions{flex-direction:column}.dashboard{padding:1rem}.character-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.chat-bubble{max-width:85%}.onboarding-step h1{font-size:1.4rem}.language-grid{grid-template-columns:repeat(2,1fr)}.character-pick-grid{grid-template-columns:1fr}.landing-features{flex-direction:column;align-items:center}.mode-selector{flex-wrap:wrap}}@keyframes activePulse{0%,to{opacity:1;box-shadow:0 0 6px #22c55e99}50%{opacity:.6;box-shadow:0 0 12px #22c55ecc}}@keyframes reactionPop{0%{transform:scale(.5)}60%{transform:scale(1.2)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.page-enter,.bubble-new,.typing-dots span{animation:none}.skeleton{animation:none;background:var(--surface)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes aiWaveBar{0%{height:3px}50%{height:14px}to{height:6px}}.quick-reply-pill{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:border-color .2s,color .2s,background .2s;font-family:inherit}.quick-reply-pill:hover{border-color:var(--primary);color:var(--text);background:var(--bg-hover)}.chat-grid{display:grid;grid-template-rows:1fr;height:100%;min-height:0;background:var(--bg)}.chat-pane-center{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;border-left:1px solid var(--border);border-right:1px solid var(--border)}.chat-header-modern{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px 16px 8px}.chat-header-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;font-size:.7rem;font-weight:600;border-radius:var(--radius-full, 9999px);flex-shrink:0}.presence-dot{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border-radius:50%;background:#22c55e;border:2px solid var(--bg-raised);box-shadow:0 0 #22c55e99;animation:presencePulse 2.4s ease-in-out infinite}@keyframes presencePulse{0%,to{box-shadow:0 0 #22c55e73}50%{box-shadow:0 0 0 5px #22c55e00}}.stream-cursor{display:inline-block;width:6px;margin-left:2px;animation:streamBlink .9s steps(2,start) infinite;color:var(--primary);font-weight:600}@keyframes streamBlink{to{visibility:hidden}}.typing-dots-spring{display:inline-flex;gap:4px;padding:6px 2px}.typing-dots-spring span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typingSpring .9s cubic-bezier(.34,1.56,.64,1) infinite}.typing-dots-spring span:nth-child(2){animation-delay:.15s}.typing-dots-spring span:nth-child(3){animation-delay:.3s}@keyframes typingSpring{0%,80%,to{transform:translateY(0) scale(.85);opacity:.4}40%{transform:translateY(-6px) scale(1);opacity:1}}.chat-input-bar-modern{flex-direction:column;align-items:stretch;gap:6px;padding:10px 14px}.suggest-reply-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-full, 9999px);color:var(--text-muted);font-size:.72rem;font-weight:600;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s,background .15s;flex-shrink:0;height:36px}.suggest-reply-btn:hover{color:var(--primary);border-color:var(--primary)}.suggest-reply-btn .spin{animation:spin 1s linear infinite}.suggest-reply-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;text-align:left;font-family:inherit;transition:background .12s}.suggest-reply-item:hover{background:var(--bg-hover)}.chat-code-block{margin:6px 0;padding:10px 12px;background:#00000040;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;overflow-x:auto;color:var(--text)}.chat-inline-code{padding:1px 5px;background:#00000040;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em}.chat-pane-left{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--bg-raised);overflow:hidden}.chat-pane-left-header{display:flex;align-items:center;gap:8px;padding:12px 12px 8px;border-bottom:1px solid var(--border)}.conv-search{width:100%;height:34px;padding:0 10px 0 30px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full, 9999px);color:var(--text);font-size:.8rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.conv-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6d5dfc26}.conv-new-btn{width:34px;height:34px;border-radius:50%;border:none;background:var(--primary);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .15s}.conv-new-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.chat-pane-left-list{flex:1;overflow-y:auto;padding:6px 8px 14px}.conv-bucket-label{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:10px 10px 4px}.conv-item{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md, 10px);cursor:pointer;transition:background .15s;outline:none}.conv-item:hover{background:var(--bg-hover)}.conv-item:focus-visible{box-shadow:0 0 0 2px var(--primary)}.conv-item.active{background:#6d5dfc1f;box-shadow:inset 3px 0 0 var(--primary)}.conv-avatar{width:36px;height:36px;border-radius:50%;color:#fff;font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.conv-name{font-size:.86rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time{font-size:.68rem;color:var(--text-muted);flex-shrink:0}.conv-preview{font-size:.74rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.conv-menu-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s,background .15s}.conv-item:hover .conv-menu-btn{opacity:1}.conv-menu-btn:hover{background:var(--bg);color:var(--text)}.conv-menu{position:absolute;right:6px;top:calc(100% - 6px);min-width:160px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md, 10px);padding:4px;box-shadow:0 8px 24px #0006;z-index:20}.conv-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:transparent;border:none;border-radius:var(--radius-sm, 6px);color:var(--text);cursor:pointer;text-align:left;font-family:inherit;font-size:.78rem}.conv-menu-item:hover{background:var(--bg-hover)}.conv-menu-item-danger{color:var(--danger)}.conv-menu-item-danger:hover{background:#ef44441a}.conv-menu-confirm{display:inline-flex;align-items:center;gap:4px;flex:1;justify-content:center;padding:6px 8px;border:none;border-radius:var(--radius-sm, 6px);font-size:.72rem;font-weight:600;cursor:pointer;font-family:inherit}.chat-pane-right{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--bg-raised);overflow:hidden}.chat-context-tabs{display:flex;gap:2px;padding:8px;border-bottom:1px solid var(--border)}.chat-context-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 4px;background:transparent;border:none;border-radius:var(--radius-sm, 6px);color:var(--text-muted);font-size:.72rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.chat-context-tab:hover{background:var(--bg-hover);color:var(--text)}.chat-context-tab.active{background:#6d5dfc26;color:var(--primary)}.chat-context-body{flex:1;overflow-y:auto;padding:14px}.ctx-section-title{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.ctx-chip{display:inline-flex;align-items:center;padding:3px 10px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-full, 9999px);color:var(--text);font-size:.72rem}.ctx-chip-accent{background:#6d5dfc26;border-color:#6d5dfc4d;color:var(--primary)}.ctx-vocab-chip{padding:4px 10px;font-size:.75rem;font-family:inherit;border:1px solid;border-radius:var(--radius-full, 9999px);transition:transform .12s,background .15s}.ctx-vocab-chip:not(:disabled):hover{transform:translateY(-1px)}.ctx-loading{text-align:center;padding:24px;color:var(--text-muted);font-size:.8rem}.reaction-emoji-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:1.15rem;line-height:1;transition:background .1s,transform .15s}.reaction-emoji-btn:hover{background:var(--bg-hover);transform:scale(1.2)}.chat-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.chat-drawer{position:fixed;top:0;bottom:0;width:min(90vw,340px);background:var(--bg-raised);box-shadow:0 0 40px #00000080;z-index:61;display:flex;flex-direction:column}.chat-drawer-left{left:0;border-right:1px solid var(--border)}.chat-drawer-right{right:0;border-left:1px solid var(--border)}@media(max-width:1023px){.chat-pane-center{border-left:none;border-right:none}}@media(max-width:767px){.chat-header-modern{padding:8px 12px 6px}.chat-input-bar-modern{padding:8px 10px}}
