@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";.page-header{text-align:center;margin-bottom:2rem;animation:slideDown .6s ease-out}.page-header h1{margin:0 0 .5rem;font-size:2.5rem;color:var(--text-primary);font-weight:800;letter-spacing:-.02em}.page-header p{color:var(--text-secondary);font-size:1.15rem}.level-selector{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:2rem;animation:fadeIn .8s ease-out}.level-btn{padding:.75rem 2rem;border:1px solid var(--border-glass);border-radius:var(--radius-full);background:var(--surface-glass);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px #00000005}.level-btn:hover{background:rgba(var(--primary-rgb),.1);color:var(--text-primary);border-color:rgba(var(--primary-rgb),.3);transform:translateY(-3px);box-shadow:0 8px 20px #0000000d}.level-btn.active{background:linear-gradient(135deg,rgba(var(--primary-rgb),.8),var(--primary-dark));color:#fff;border:1px solid var(--primary-light);box-shadow:0 4px 15px rgba(var(--primary-rgb),.4)}.loading-logo-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;gap:25px;text-align:center;width:100%;animation:fadeIn .5s ease}.loading-logo-spin{width:90px;height:90px;animation:logo-spin 2s linear infinite,pulseGlow 2s infinite ease-in-out;filter:drop-shadow(0 0 20px rgba(var(--primary-rgb),.6))}.loading-logo-container p{font-weight:600;color:var(--primary);font-size:1.2rem;letter-spacing:1px;margin:0;animation:pulseOpacity 2s infinite ease-in-out;background:linear-gradient(90deg,var(--primary-light),var(--primary-dark),var(--primary-light));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%{filter:drop-shadow(0 0 15px rgba(var(--primary-rgb),.4));transform:scale(1) rotate(0)}50%{filter:drop-shadow(0 0 30px rgba(var(--primary-rgb),.8));transform:scale(1.05) rotate(180deg)}to{filter:drop-shadow(0 0 15px rgba(var(--primary-rgb),.4));transform:scale(1) rotate(360deg)}}@keyframes pulseOpacity{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--level-a1: #6366F1;--level-a1-light: #818CF8;--level-a1-glow: rgba(99, 102, 241, .3);--level-a2: #10B981;--level-a2-light: #34D399;--level-a2-glow: rgba(16, 185, 129, .3);--level-b1: #EF4444;--level-b1-light: #F87171;--level-b1-glow: rgba(239, 68, 68, .3);--level-b2: #F59E0B;--level-b2-light: #FBBF24;--level-b2-glow: rgba(245, 158, 11, .3);--level-xp: #FFD700;--level-xp-light: #FFA500;--level-xp-glow: rgba(255, 215, 0, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 32px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}:root,:root[data-theme=light]{--bg-primary: #FAFAFB;--bg-secondary: #FFFFFF;--bg-ambient: radial-gradient(120% 100% at 50% 0%, #FFFFFF 0%, #F8F9FA 50%, #F0F2F5 100%);--text-primary: #0F172A;--text-secondary: #334155;--text-muted: #64748B;--text-inverse: #FFFFFF;--bg-card: rgba(255, 255, 255, .9);--bg-card-hover: rgba(255, 255, 255, 1);--bg-overlay: rgba(255, 255, 255, .85);--border-glass: rgba(15, 23, 42, .06);--border-strong: rgba(15, 23, 42, .12);--shadow-sm: 0 4px 12px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px rgba(15, 23, 42, .06);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .08);--shadow-glow: 0 8px 32px rgba(99, 102, 241, .15);--btn-primary-bg: var(--level-a1);--btn-primary-hover: var(--level-a1-light);--btn-secondary-bg: #FFFFFF;--btn-secondary-hover: #F1F5F9;--glow-intensity: 0}:root[data-theme=dark],:root[data-theme="3d-dark"]{--bg-primary: #0A0A15;--bg-secondary: #121222;--bg-ambient: radial-gradient(120% 100% at 50% 0%, #1A1A2E 0%, #0A0A15 50%, #05050A 100%);--text-primary: #FFFFFF;--text-secondary: #94A3B8;--text-muted: #64748B;--text-inverse: #0F172A;--bg-card: rgba(20, 20, 35, .4);--bg-card-hover: rgba(30, 30, 50, .6);--bg-overlay: rgba(5, 5, 10, .85);--border-glass: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .15);--border-highlight: rgba(255, 255, 255, .25);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 8px 32px rgba(99, 102, 241, .4);--btn-primary-bg: var(--level-a1);--btn-primary-hover: var(--level-a1-light);--btn-secondary-bg: rgba(255, 255, 255, .05);--btn-secondary-hover: rgba(255, 255, 255, .1);--glow-intensity: .3}body{margin:0;min-width:320px;min-height:100svh;color:var(--text-primary);background:var(--bg-ambient);background-attachment:fixed;transition:background .5s ease,color .5s ease;overflow-x:hidden}.app-layout{min-height:100svh;display:flex;flex-direction:column}.main-content{width:100%;max-width:1200px;margin:0 auto auto;padding:1rem;padding-bottom:96px;position:relative;z-index:1}h1,h2,h3,h4,h5{color:var(--text-primary);font-weight:700;letter-spacing:-.02em}h1{font-size:2.5rem;line-height:1.1;margin-bottom:1rem}h2{font-size:1.8rem;line-height:1.2;margin-bottom:.75rem}h3{font-size:1.25rem;line-height:1.3;margin-bottom:.5rem}p{color:var(--text-secondary);margin:0 0 1rem}.muted{color:var(--text-muted)}a{color:var(--level-a1);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}a:hover{color:var(--level-a1-light);text-shadow:0 0 12px var(--level-a1-glow)}.glass-panel{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.glass-panel:hover{background:var(--bg-card-hover);border-color:var(--border-strong);box-shadow:var(--shadow-lg)}.btn{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-bounce);border:none;position:relative;overflow:hidden;text-transform:translateY(0)}.btn:active{transform:translateY(2px) scale(.98)}.btn-primary{background:var(--btn-primary-bg);color:#fff;box-shadow:0 4px 14px var(--level-a1-glow)}.btn-primary:hover{background:var(--btn-primary-hover);box-shadow:0 8px 24px var(--level-a1-glow);transform:translateY(-2px)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--btn-secondary-hover);border-color:var(--text-primary);transform:translateY(-2px)}.text-a1{color:var(--level-a1)}.bg-a1{background-color:var(--level-a1)}.bg-a2{background-color:var(--level-a2)}.bg-b1{background-color:var(--level-b1)}.bg-b2{background-color:var(--level-b2)}[data-theme=dark] .glow-a1,[data-theme="3d-dark"] .glow-a1{box-shadow:0 0 24px var(--level-a1-glow);border-color:#6366f180}[data-theme=dark] .glow-a2,[data-theme="3d-dark"] .glow-a2{box-shadow:0 0 24px var(--level-a2-glow);border-color:#10b98180}[data-theme=dark] .glow-b1,[data-theme="3d-dark"] .glow-b1{box-shadow:0 0 24px var(--level-b1-glow);border-color:#ef444480}[data-theme=dark] .glow-b2,[data-theme="3d-dark"] .glow-b2{box-shadow:0 0 24px var(--level-b2-glow);border-color:#f59e0b80}.bottom-sticky-bar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:1000;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding-left:max(12px,(100vw - 1200px) / 2 + 12px);padding-right:max(20px,(100vw - 1200px) / 2 + 20px);pointer-events:none;height:0;overflow:visible;margin-bottom:12px}.sticky-left-controls{display:flex;align-items:flex-end;gap:10px;pointer-events:auto}.bottom-sticky-bar>*{pointer-events:auto}@media (max-width: 768px){.main-content{padding:.75rem;padding-bottom:140px}.bottom-sticky-bar{flex-wrap:wrap;height:auto;align-items:center;bottom:calc(10px + env(safe-area-inset-bottom))}.bottom-sticky-bar>.mode-switcher-container{order:-1;position:static;width:100%;margin:10px 0;display:flex;justify-content:center}}@media (max-width: 480px){.main-content{padding:.5rem;padding-bottom:130px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root[data-theme="3d-light"],:root[data-theme="3d-dark"]{--font-3d: "Nunito", "Outfit", system-ui, sans-serif;--radius-3d: 16px;--radius-3d-lg: 24px;--radius-3d-xl: 32px;--radius-pill: 999px;--transition-3d: .2s cubic-bezier(.34, 1.56, .64, 1);--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme="3d-light"]{--bg-3d: linear-gradient(180deg, #eef2ff 0%, #f0f4f8 50%, #faf5ff 100%);--bg-3d-flat: #f0f4f8;--surface-3d: #ffffff;--surface-3d-2: #f8fafc;--surface-3d-glass: rgba(255, 255, 255, .75);--border-3d: #c7d2fe;--border-3d-depth: #a5b4fc;--text-3d: #1e1b4b;--text-3d-secondary: #6366f1;--text-3d-muted: #64748b;--primary-3d: #6366f1;--primary-3d-light: #818cf8;--primary-3d-dark: #4338ca;--primary-3d-glow: rgba(99, 102, 241, .3);--secondary-3d: #f97316;--secondary-3d-dark: #c2410c;--accent-3d: #06b6d4;--accent-3d-dark: #0e7490;--success-3d: #10b981;--success-3d-dark: #047857;--danger-3d: #ef4444;--danger-3d-dark: #b91c1c;--warning-3d: #f59e0b;--xp-gradient: linear-gradient(90deg, #6366f1, #06b6d4, #10b981);--shadow-3d-sm: 0 4px 0 var(--border-3d-depth), 0 6px 20px rgba(99, 102, 241, .08);--shadow-3d: 0 6px 0 var(--border-3d-depth), 0 10px 30px rgba(99, 102, 241, .1);--shadow-3d-lg: 0 8px 0 var(--border-3d-depth), 0 16px 40px rgba(99, 102, 241, .12);--shadow-3d-hover: 0 8px 0 var(--border-3d-depth), 0 20px 50px rgba(99, 102, 241, .18);--shadow-3d-active: 0 2px 0 var(--border-3d-depth);--shadow-3d-glow: 0 0 30px var(--primary-3d-glow);--overlay-3d: rgba(30, 27, 75, .5)}:root[data-theme="3d-dark"]{--bg-3d: linear-gradient(180deg, #0f0a2e 0%, #1a1145 50%, #0c0926 100%);--bg-3d-flat: #0f0a2e;--surface-3d: #1e1548;--surface-3d-2: #2a1f5e;--surface-3d-glass: rgba(30, 21, 72, .85);--border-3d: #3730a3;--border-3d-depth: #312e81;--text-3d: #f1f0ff;--text-3d-secondary: #a5b4fc;--text-3d-muted: #94a3b8;--primary-3d: #818cf8;--primary-3d-light: #a5b4fc;--primary-3d-dark: #6366f1;--primary-3d-glow: rgba(129, 140, 248, .35);--secondary-3d: #fb923c;--secondary-3d-dark: #ea580c;--accent-3d: #22d3ee;--accent-3d-dark: #06b6d4;--success-3d: #34d399;--success-3d-dark: #10b981;--danger-3d: #fb7185;--danger-3d-dark: #e11d48;--warning-3d: #fbbf24;--xp-gradient: linear-gradient(90deg, #818cf8, #22d3ee, #34d399);--shadow-3d-sm: 0 4px 0 var(--border-3d-depth), 0 6px 20px rgba(0, 0, 0, .3);--shadow-3d: 0 6px 0 var(--border-3d-depth), 0 10px 30px rgba(0, 0, 0, .4);--shadow-3d-lg: 0 8px 0 var(--border-3d-depth), 0 16px 40px rgba(0, 0, 0, .5);--shadow-3d-hover: 0 8px 0 var(--border-3d-depth), 0 20px 50px rgba(0, 0, 0, .55);--shadow-3d-active: 0 2px 0 var(--border-3d-depth);--shadow-3d-glow: 0 0 40px var(--primary-3d-glow);--overlay-3d: rgba(10, 5, 30, .7)}:root[data-theme^="3d-"]{font-family:var(--font-3d)}:root[data-theme^="3d-"] body{background:var(--bg-3d);color:var(--text-3d);font-family:var(--font-3d)}:root[data-theme^="3d-"] a{color:var(--primary-3d)}:root[data-theme^="3d-"] .app-header{background:var(--surface-3d);border-bottom:3px solid var(--border-3d-depth);box-shadow:var(--shadow-3d-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme^="3d-"] .main-nav{background:var(--surface-3d-2);border:2px solid var(--border-3d);box-shadow:var(--shadow-3d-sm);border-radius:var(--radius-pill);padding:6px 10px;gap:8px}:root[data-theme^="3d-"] .main-nav a{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-pill);box-shadow:0 4px 0 var(--border-3d-depth);color:var(--text-3d);font-weight:700;padding:8px 16px;transition:transform var(--transition-3d),box-shadow var(--transition-3d)}:root[data-theme^="3d-"] .main-nav a:hover{transform:translateY(-3px);box-shadow:0 6px 0 var(--border-3d-depth),var(--shadow-3d-glow)}:root[data-theme^="3d-"] .main-nav a:active{transform:translateY(2px);box-shadow:0 1px 0 var(--border-3d-depth)}:root[data-theme^="3d-"] .main-nav a.active{background:var(--primary-3d);color:#fff;border-color:var(--primary-3d-dark);box-shadow:0 4px 0 var(--primary-3d-dark),var(--shadow-3d-glow)}:root[data-theme^="3d-"] .login-trigger,:root[data-theme^="3d-"] .user-profile-btn{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:0 4px 0 var(--border-3d-depth);color:var(--text-3d);font-weight:700;border-radius:var(--radius-pill);transition:transform var(--transition-3d),box-shadow var(--transition-3d)}:root[data-theme^="3d-"] .login-trigger:hover,:root[data-theme^="3d-"] .user-profile-btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--border-3d-depth),var(--shadow-3d-glow)}:root[data-theme^="3d-"] .login-trigger:active,:root[data-theme^="3d-"] .user-profile-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--border-3d-depth)}:root[data-theme^="3d-"] .dropdown-menu{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:var(--shadow-3d-lg);border-radius:var(--radius-3d)}:root[data-theme^="3d-"] .dropdown-item:hover{background:var(--surface-3d-2)}:root[data-theme^="3d-"] .mobile-drawer{background:var(--surface-3d);border-right:3px solid var(--border-3d-depth)}:root[data-theme^="3d-"] .drawer-nav a{background:var(--surface-3d-2);border:2px solid var(--border-3d);box-shadow:0 3px 0 var(--border-3d-depth);border-radius:var(--radius-3d);font-weight:700;color:var(--text-3d)}:root[data-theme^="3d-"] .btn,.btn-3d{font-family:var(--font-3d);font-weight:800;border-radius:var(--radius-3d);border:2px solid var(--primary-3d-dark);background:var(--primary-3d);color:#fff;padding:12px 28px;font-size:1.05rem;box-shadow:0 6px 0 var(--primary-3d-dark);transform:translateY(0);transition:transform .12s ease,box-shadow .12s ease;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center}:root[data-theme^="3d-"] .btn:hover,.btn-3d:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--primary-3d-dark),var(--shadow-3d-glow)}:root[data-theme^="3d-"] .btn:active,.btn-3d:active{transform:translateY(4px);box-shadow:0 2px 0 var(--primary-3d-dark)}:root[data-theme^="3d-"] .btn:disabled,.btn-3d:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 3px 0 var(--border-3d-depth)}:root[data-theme^="3d-"] .btn-primary{background:var(--primary-3d);border-color:var(--primary-3d-dark);box-shadow:0 6px 0 var(--primary-3d-dark);color:#fff}:root[data-theme^="3d-"] .btn-secondary{background:var(--surface-3d);border-color:var(--border-3d);box-shadow:0 4px 0 var(--border-3d-depth);color:var(--text-3d)}:root[data-theme^="3d-"] .btn-ghost{background:transparent;border:2px solid var(--border-3d);box-shadow:0 3px 0 var(--border-3d-depth);color:var(--primary-3d)}:root[data-theme^="3d-"] .btn-danger{background:var(--danger-3d);border-color:var(--danger-3d-dark);box-shadow:0 5px 0 var(--danger-3d-dark)}:root[data-theme^="3d-"] .btn-success{background:var(--success-3d);border-color:var(--success-3d-dark);box-shadow:0 5px 0 var(--success-3d-dark)}:root[data-theme^="3d-"] .card{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d-lg);box-shadow:var(--shadow-3d);transition:transform var(--transition-3d),box-shadow var(--transition-3d)}:root[data-theme^="3d-"] .card.hoverable:hover{transform:translateY(-4px);box-shadow:var(--shadow-3d-hover)}:root[data-theme^="3d-"] .card.hoverable:active{transform:translateY(2px);box-shadow:var(--shadow-3d-active)}@keyframes modal3d-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal3d-in{0%{opacity:0;transform:scale(.85) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}:root[data-theme^="3d-"] .progress{background:var(--surface-3d-2);border:2px solid var(--border-3d);border-radius:var(--radius-pill);height:14px;box-shadow:inset 0 2px 4px #00000026}:root[data-theme^="3d-"] .progress>span{background:var(--xp-gradient);border-radius:var(--radius-pill);box-shadow:0 0 12px var(--primary-3d-glow);transition:width .6s ease}:root[data-theme^="3d-"] input,:root[data-theme^="3d-"] select,:root[data-theme^="3d-"] textarea{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d);color:var(--text-3d);box-shadow:inset 0 2px 4px #0000000f}:root[data-theme^="3d-"] input:focus,:root[data-theme^="3d-"] select:focus,:root[data-theme^="3d-"] textarea:focus{border-color:var(--primary-3d);box-shadow:0 0 0 4px var(--primary-3d-glow),inset 0 2px 4px #0000000f}:root[data-theme^="3d-"] .adventure-dashboard{max-width:100%;padding:.5rem}:root[data-theme^="3d-"] .adventure-roadmap{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;padding:1rem 0}:root[data-theme^="3d-"] .roadmap-node{width:85%;max-width:340px;position:relative;background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d-lg);box-shadow:var(--shadow-3d);padding:1rem 1.2rem;cursor:pointer;transition:transform var(--transition-3d),box-shadow var(--transition-3d);z-index:2;margin-bottom:2.5rem}:root[data-theme^="3d-"] .roadmap-node:hover{transform:translateY(-3px);box-shadow:var(--shadow-3d-hover)}:root[data-theme^="3d-"] .roadmap-node:active{transform:translateY(3px);box-shadow:var(--shadow-3d-active)}:root[data-theme^="3d-"] .roadmap-node.completed{border-color:var(--success-3d)}:root[data-theme^="3d-"] .roadmap-node.completed .node-icon{background:var(--success-3d);border-color:var(--success-3d-dark);color:#fff;box-shadow:0 3px 0 var(--success-3d-dark)}:root[data-theme^="3d-"] .roadmap-node.current{border-color:var(--primary-3d);box-shadow:0 6px 0 var(--primary-3d-dark),var(--shadow-3d-glow);animation:node-pulse 2.5s infinite}@keyframes node-pulse{0%,to{box-shadow:0 6px 0 var(--primary-3d-dark),0 0 0 0 var(--primary-3d-glow)}50%{box-shadow:0 6px 0 var(--primary-3d-dark),0 0 20px 8px var(--primary-3d-glow)}}:root[data-theme^="3d-"] .roadmap-node.current .node-icon{background:var(--primary-3d);border-color:var(--primary-3d-dark);color:#fff;box-shadow:0 3px 0 var(--primary-3d-dark)}:root[data-theme^="3d-"] .node-icon{width:48px;height:48px;background:var(--surface-3d-2);border:2px solid var(--border-3d);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 3px 0 var(--border-3d-depth);flex-shrink:0}:root[data-theme^="3d-"] .node-content .node-number{color:var(--text-3d-muted);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}:root[data-theme^="3d-"] .node-content .node-title{color:var(--text-3d);font-weight:800;font-size:1.05rem}:root[data-theme^="3d-"] .roadmap-node:nth-child(4n+1){align-self:flex-start;margin-left:2%}:root[data-theme^="3d-"] .roadmap-node:nth-child(4n+2){align-self:flex-end;margin-right:2%}:root[data-theme^="3d-"] .roadmap-node:nth-child(4n+3){align-self:flex-end;margin-right:2%}:root[data-theme^="3d-"] .roadmap-node:nth-child(4n+4){align-self:flex-start;margin-left:2%}@media (min-width: 768px){:root[data-theme^="3d-"] .roadmap-node:nth-child(4n+1){margin-left:10%}:root[data-theme^="3d-"] .roadmap-node:nth-child(4n+2){margin-right:10%}:root[data-theme^="3d-"] .roadmap-node:nth-child(4n+3){margin-right:10%}:root[data-theme^="3d-"] .roadmap-node:nth-child(4n+4){margin-left:10%}}:root[data-theme^="3d-"] .node-connector{display:none}:root[data-theme^="3d-"] .ai-chat-placeholder{position:absolute;top:50%;transform:translateY(-50%);right:-4.5rem;width:64px;height:64px;border:2px dashed var(--primary-3d-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;text-align:center;color:var(--primary-3d-light);opacity:.45;transition:opacity .3s}:root[data-theme^="3d-"] .ai-chat-placeholder:hover{opacity:.8}:root[data-theme^="3d-"] .roadmap-node:nth-child(2n) .ai-chat-placeholder{right:auto;left:-4.5rem}@media (max-width: 767px){:root[data-theme^="3d-"] .ai-chat-placeholder{right:-2.5rem;width:48px;height:48px;font-size:.55rem}:root[data-theme^="3d-"] .roadmap-node:nth-child(2n) .ai-chat-placeholder{left:-2.5rem}}:root[data-theme^="3d-"] .roadmap-segment{display:none}:root[data-theme^="3d-"] .unit-expansion-panel{animation:modal3d-in .4s var(--transition-bounce)}:root[data-theme^="3d-"] .unit-flow-container{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d-xl);box-shadow:var(--shadow-3d-lg)}:root[data-theme^="3d-"] .unit-flow-content{background:var(--surface-3d-2);border:1px solid var(--border-3d);border-radius:var(--radius-3d)}:root[data-theme^="3d-"] .flow-nav-btn{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:0 4px 0 var(--border-3d-depth);color:var(--text-3d);font-weight:700;border-radius:var(--radius-3d);transition:transform var(--transition-3d),box-shadow var(--transition-3d)}:root[data-theme^="3d-"] .flow-nav-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--border-3d-depth)}:root[data-theme^="3d-"] .flow-nav-btn.next{background:var(--primary-3d);color:#fff;border-color:var(--primary-3d-dark);box-shadow:0 4px 0 var(--primary-3d-dark)}:root[data-theme^="3d-"] .level-selector-bar{background:var(--surface-3d-2);border:2px solid var(--border-3d);border-radius:var(--radius-pill);box-shadow:var(--shadow-3d-sm);padding:6px}:root[data-theme^="3d-"] .level-btn{background:transparent;border:2px solid transparent;border-radius:var(--radius-pill);color:var(--text-3d-muted);font-weight:700;padding:8px 20px;transition:all var(--transition-3d)}:root[data-theme^="3d-"] .level-btn.active{background:var(--primary-3d);color:#fff;border-color:var(--primary-3d-dark);box-shadow:0 4px 0 var(--primary-3d-dark),var(--shadow-3d-glow);transform:scale(1.05)}:root[data-theme^="3d-"] .level-btn:hover:not(.active){background:var(--surface-3d);border-color:var(--border-3d);box-shadow:0 3px 0 var(--border-3d-depth);color:var(--text-3d)}:root[data-theme^="3d-"] .adv-btn-primary{background:var(--primary-3d);border:2px solid var(--primary-3d-dark);box-shadow:0 5px 0 var(--primary-3d-dark);color:#fff;font-weight:800;border-radius:var(--radius-3d);padding:.9rem 2.2rem;font-size:1.1rem;transition:transform .12s ease,box-shadow .12s ease}:root[data-theme^="3d-"] .adv-btn-primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--primary-3d-dark),var(--shadow-3d-glow)}:root[data-theme^="3d-"] .adv-btn-primary:active{transform:translateY(3px);box-shadow:0 2px 0 var(--primary-3d-dark)}:root[data-theme^="3d-"] .adv-btn-secondary{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:0 4px 0 var(--border-3d-depth);color:var(--text-3d);font-weight:700;border-radius:var(--radius-3d)}:root[data-theme^="3d-"] .adv-choice-btn{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:0 4px 0 var(--border-3d-depth);border-radius:var(--radius-3d);padding:.9rem 1.2rem;font-weight:700;color:var(--text-3d);transition:transform .12s ease,box-shadow .12s ease;cursor:pointer}:root[data-theme^="3d-"] .adv-choice-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--border-3d-depth),var(--shadow-3d-glow);border-color:var(--primary-3d-light)}:root[data-theme^="3d-"] .adv-choice-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--border-3d-depth)}:root[data-theme^="3d-"] .adv-choice-btn.selected{background:var(--primary-3d);color:#fff;border-color:var(--primary-3d-dark);box-shadow:0 4px 0 var(--primary-3d-dark)}:root[data-theme^="3d-"] .adv-feedback-box.ok{background:color-mix(in srgb,var(--success-3d) 15%,var(--surface-3d));border:2px solid var(--success-3d);box-shadow:0 4px 0 var(--success-3d-dark);border-radius:var(--radius-3d);animation:feedback-bounce .4s var(--transition-bounce);color:var(--text-3d)}:root[data-theme^="3d-"] .adv-feedback-box.ko{background:color-mix(in srgb,var(--danger-3d) 15%,var(--surface-3d));border:2px solid var(--danger-3d);box-shadow:0 4px 0 var(--danger-3d-dark);border-radius:var(--radius-3d);animation:feedback-shake .5s ease;color:var(--text-3d)}@keyframes feedback-bounce{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes feedback-shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-6px)}30%,70%{transform:translate(6px)}}:root[data-theme^="3d-"] .adv-question{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d-lg);box-shadow:var(--shadow-3d);padding:1.5rem}:root[data-theme^="3d-"] .adv-question-prompt{color:var(--text-3d);font-weight:800}:root[data-theme^="3d-"] .ac-question-card{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d-lg);box-shadow:var(--shadow-3d)}:root[data-theme^="3d-"] .ac-choice-btn{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:0 4px 0 var(--border-3d-depth);border-radius:var(--radius-3d);font-weight:700;color:var(--text-3d);transition:transform .12s ease,box-shadow .12s ease}:root[data-theme^="3d-"] .ac-choice-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--border-3d-depth),var(--shadow-3d-glow)}:root[data-theme^="3d-"] .ac-choice-btn.selected{background:var(--primary-3d);color:#fff;border-color:var(--primary-3d-dark);box-shadow:0 4px 0 var(--primary-3d-dark)}:root[data-theme^="3d-"] .ac-feedback-box.ok{background:color-mix(in srgb,var(--success-3d) 15%,var(--surface-3d));border:2px solid var(--success-3d);box-shadow:0 4px 0 var(--success-3d-dark);border-radius:var(--radius-3d);animation:feedback-bounce .4s var(--transition-bounce);color:var(--text-3d)}:root[data-theme^="3d-"] .ac-feedback-box.ko{background:color-mix(in srgb,var(--danger-3d) 15%,var(--surface-3d));border:2px solid var(--danger-3d);box-shadow:0 4px 0 var(--danger-3d-dark);border-radius:var(--radius-3d);animation:feedback-shake .5s ease;color:var(--text-3d)}:root[data-theme^="3d-"] .dashboard-v2{padding:.5rem}:root[data-theme^="3d-"] .stat-pill{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d-lg);box-shadow:var(--shadow-3d)}:root[data-theme^="3d-"] .stat-pill .stat-label{color:var(--text-3d-muted);font-weight:700}:root[data-theme^="3d-"] .stat-pill .stat-sub{color:var(--text-3d-secondary)}:root[data-theme^="3d-"] .level-progression-card{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d-xl);box-shadow:var(--shadow-3d);padding:2rem}:root[data-theme^="3d-"] .level-progression-card h2{color:var(--text-3d)}:root[data-theme^="3d-"] .progress-bar-large{background:var(--surface-3d-2);border:2px solid var(--border-3d);border-radius:var(--radius-pill);box-shadow:inset 0 2px 4px #0000001a}:root[data-theme^="3d-"] .progress-bar-large .fill{background:var(--xp-gradient);border-radius:var(--radius-pill);box-shadow:0 0 12px var(--primary-3d-glow)}:root[data-theme^="3d-"] .lvl-stat-box.card{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:var(--shadow-3d-sm)}:root[data-theme^="3d-"] .percent-badge{background:var(--primary-3d);color:#fff;border-radius:var(--radius-pill);padding:4px 14px;font-weight:700}:root[data-theme^="3d-"] .mode-switcher{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:var(--shadow-3d-sm);border-radius:var(--radius-pill)}:root[data-theme^="3d-"] .theme-toggle{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:0 4px 0 var(--border-3d-depth);border-radius:var(--radius-pill);color:var(--text-3d);font-weight:700;transition:transform .12s ease,box-shadow .12s ease}:root[data-theme^="3d-"] .theme-toggle:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--border-3d-depth)}:root[data-theme^="3d-"] .theme-toggle:active{transform:translateY(2px);box-shadow:0 1px 0 var(--border-3d-depth)}:root[data-theme^="3d-"] .animate-fade-in{animation:g3d-fade-in .5s ease}:root[data-theme^="3d-"] .animate-slide-in{animation:g3d-slide-in .5s var(--transition-bounce)}:root[data-theme^="3d-"] .animate-pop-in{animation:g3d-pop-in .4s var(--transition-bounce) both}@keyframes g3d-fade-in{0%{opacity:0}to{opacity:1}}@keyframes g3d-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes g3d-pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}:root[data-theme^="3d-"] .adv-step-header{border-bottom:2px solid var(--border-3d)}:root[data-theme^="3d-"] .adv-step-header h2{color:var(--text-3d)}:root[data-theme^="3d-"] .adv-text.tip{background:color-mix(in srgb,var(--warning-3d) 15%,var(--surface-3d));border-left:4px solid var(--warning-3d);border-radius:var(--radius-3d);color:var(--text-3d)}:root[data-theme^="3d-"] .adv-vocab-dropdown{background:var(--surface-3d-2);border:2px solid var(--border-3d);border-radius:var(--radius-3d);color:var(--text-3d)}:root[data-theme^="3d-"] .adv-input-fill{background:var(--surface-3d);border:2px solid var(--border-3d);border-radius:var(--radius-3d);color:var(--text-3d)}:root[data-theme^="3d-"] .adv-input-fill:focus{border-color:var(--primary-3d);box-shadow:0 0 0 4px var(--primary-3d-glow)}:root[data-theme^="3d-"] .spinner{border-color:var(--border-3d);border-top-color:var(--primary-3d)}:root[data-theme^="3d-"] .floating-actions-container button{background:var(--surface-3d);border:2px solid var(--border-3d);box-shadow:0 4px 0 var(--border-3d-depth);color:var(--text-3d);transition:transform .12s ease,box-shadow .12s ease}:root[data-theme^="3d-"] .floating-actions-container button:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--border-3d-depth)}:root[data-theme^="3d-"] footer{color:var(--text-3d-muted)}.memory-game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:16px;margin:2rem auto;justify-items:center;max-width:800px;perspective:1200px}@media (min-width: 480px){.memory-game-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:20px}}.memory-card{width:100%;aspect-ratio:3 / 4;perspective:1000px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .3s ease}.memory-card:hover:not(.matched):not(.flipped){transform:translateY(-8px) scale(1.05)}.memory-card-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d;box-shadow:var(--shadow-md);border-radius:var(--radius-lg)}.memory-card:hover .memory-card-inner{box-shadow:var(--shadow-lg),0 15px 30px #0000004d}.memory-card.flipped .memory-card-inner,.memory-card.matched .memory-card-inner{transform:rotateY(180deg) translateZ(10px);box-shadow:var(--shadow-lg)}.memory-card-front,.memory-card-back{position:absolute;inset:0;border-radius:var(--radius-lg);backface-visibility:hidden;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-weight:800}.memory-card-front{background:linear-gradient(135deg,var(--bg-card),var(--bg-secondary));color:var(--level-a1);font-size:2.5rem;border:2px solid var(--border-strong);box-shadow:inset 0 0 20px #0003;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0px,rgba(255,255,255,.02) 2px,transparent 2px,transparent 10px)}.memory-card-front:after{content:"?";font-family:inherit;text-shadow:0 4px 15px rgba(99,102,241,.5);background:linear-gradient(135deg,var(--level-a1-light),var(--level-a1));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.memory-card-back{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);transform:rotateY(180deg);border:2px solid var(--level-a1);font-size:1rem;line-height:1.3;word-break:break-word;box-shadow:inset 0 0 20px #6366f11a}.memory-card.matched .memory-card-back{border-color:var(--level-a2);background:#10b9811a;box-shadow:0 0 20px var(--level-a2-glow),inset 0 0 15px #10b98133;color:var(--level-a2)}.memory-card.matched{pointer-events:none;animation:match-pop .6s cubic-bezier(.34,1.56,.64,1)}@keyframes match-pop{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.15) translateZ(20px);filter:brightness(1.3)}to{transform:scale(1) translateZ(0);filter:brightness(1)}}.memory-pairs-counter{text-align:center;font-weight:800;font-size:1.2rem;color:var(--text-secondary);margin:1rem auto;padding:1rem 2rem;background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-full);display:inline-block;box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.1em}.memory-pairs-counter span{color:var(--level-a1);font-size:1.4rem}.memory-card-side-label{position:absolute;top:8px;right:10px;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;opacity:.5;color:inherit}.memory-complete-celebration{text-align:center;padding:3rem;font-size:2rem;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid var(--level-a2);border-radius:var(--radius-xl);box-shadow:0 20px 50px #00000080,0 0 40px var(--level-a2-glow);animation:celebrate .8s var(--transition-bounce) forwards;margin:2rem auto;max-width:600px;color:var(--text-primary);font-weight:900}@keyframes celebrate{0%{transform:scale(.5) translateY(50px);opacity:0}60%{transform:scale(1.05) translateY(-10px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-glass);box-shadow:0 25px 50px -12px #00000080,inset 0 1px 1px #ffffff0d;width:90%;max-width:420px;max-height:90vh;overflow-y:auto;animation:modal-slide-up .4s cubic-bezier(.34,1.56,.64,1) forwards;position:relative}@keyframes modal-slide-up{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2.5rem 1rem}.modal-header h2{margin:0;font-size:1.8rem;font-weight:900;color:var(--text-primary);letter-spacing:-.02em}.close-btn{background:#ffffff0d;border:1px solid var(--border-glass);font-size:1.2rem;cursor:pointer;color:var(--text-secondary);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-bounce)}.close-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);transform:scale(1.1) rotate(90deg)}.login-form{padding:0 2.5rem 1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.form-group input{width:100%;padding:14px 16px;border:2px solid var(--border-glass);border-radius:var(--radius-lg);font-size:1.05rem;box-sizing:border-box;background:#0003;color:var(--text-primary);transition:all var(--transition-normal)}.form-group input:focus{outline:none;background:var(--bg-secondary);border-color:var(--level-a1);box-shadow:0 0 0 4px var(--level-a1-glow)}.form-group input::placeholder{color:var(--text-muted)}.error-message{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.3);color:var(--level-b1);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:inset 0 0 10px #ef44441a}.form-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:.5rem 2.5rem 1.5rem}.remember-option{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.85rem;font-weight:500}.forgot-password-link{background:none;border:none;color:var(--level-a1);font-weight:600;cursor:pointer;padding:0;transition:color var(--transition-normal);font-size:.85rem}.forgot-password-link:hover{text-decoration:underline;color:var(--level-a1-light)}.login-btn{width:calc(100% - 5rem);margin:0 2.5rem 1rem;background:linear-gradient(135deg,var(--level-a1),#4338CA);color:#fff;border:none;border-radius:var(--radius-full);padding:14px;font-weight:800;font-size:1.05rem;cursor:pointer;transition:all var(--transition-bounce);box-shadow:0 4px 15px var(--level-a1-glow)}.login-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 10px 25px var(--level-a1-glow)}.login-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.login-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1);box-shadow:none}.separator{display:flex;align-items:center;text-align:center;margin:1.5rem 2.5rem;color:var(--text-muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.separator:before,.separator:after{content:"";flex:1;border-bottom:1px solid var(--border-strong)}.separator:before{margin-right:12px}.separator:after{margin-left:12px}.modal-footer{padding:1.5rem 2.5rem 2.5rem;text-align:center;background:#0000001a;border-top:1px solid var(--border-glass)}.modal-footer p{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem;font-weight:500}.register-link{background:transparent;border:2px solid var(--level-a1);color:var(--level-a1);padding:12px 24px;border-radius:var(--radius-full);font-weight:800;cursor:pointer;transition:all var(--transition-bounce);font-size:.95rem;width:100%}.register-link:hover{background:var(--level-a1);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px var(--level-a1-glow)}@media (max-width: 480px){.modal-content{width:95%;margin:10px}.modal-header,.login-form,.form-options,.login-btn,.separator,.modal-footer{padding-left:1.5rem;padding-right:1.5rem}.login-btn,.form-options,.separator{margin-left:1.5rem;margin-right:1.5rem;width:calc(100% - 3rem)}}.register-modal{max-width:500px}.register-form{padding:0 2.5rem 1rem;max-height:70vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:700;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select{width:100%;padding:14px 16px;border:2px solid var(--border-glass);border-radius:var(--radius-lg);font-size:1.05rem;box-sizing:border-box;background:#0003;color:var(--text-primary);transition:all var(--transition-normal)}.form-group input:focus,.form-group select:focus{outline:none;background:var(--bg-secondary);border-color:var(--level-a1);box-shadow:0 0 0 4px var(--level-a1-glow)}.form-group select:focus{cursor:pointer}.register-btn{width:100%;background:linear-gradient(135deg,var(--level-a2),#047857);color:#fff;border:none;padding:14px;border-radius:var(--radius-full);font-size:1.05rem;font-weight:800;cursor:pointer;transition:all var(--transition-bounce);margin-top:1rem;box-shadow:0 4px 15px var(--level-a2-glow)}.register-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 10px 25px var(--level-a2-glow)}.register-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.register-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1);box-shadow:none}.login-link{width:100%;background:transparent;border:2px solid var(--level-a1);color:var(--level-a1);padding:12px 24px;border-radius:var(--radius-full);font-weight:800;cursor:pointer;transition:all var(--transition-bounce);font-size:.95rem}.login-link:hover{background:var(--level-a1);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px var(--level-a1-glow)}@media (max-width: 768px){.register-modal{width:95%;margin:10px}.form-row{grid-template-columns:1fr;gap:0}}@media (max-width: 480px){.register-form{padding:0 1.5rem 1rem}}.register-form::-webkit-scrollbar{width:6px}.register-form::-webkit-scrollbar-track{background:transparent}.register-form::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.register-form::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-header{width:100%;background:var(--surface);color:var(--text);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border-strong);-webkit-backdrop-filter:saturate(1.1) blur(6px);backdrop-filter:saturate(1.1) blur(6px)}.header-content{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.mobile-menu-btn{display:none;width:42px;height:36px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);align-items:center;justify-content:center;gap:4px;padding:0 8px;cursor:pointer}.mobile-menu-btn .bar{display:block;width:100%;height:2px;background:var(--text)}.logo{font-size:1.3rem;font-weight:700;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px;transition:opacity .2s ease}.logo:hover{opacity:.85}.logo img{height:32px;width:auto;display:block}.main-nav{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,var(--surface-2) 0%,var(--surface) 100%);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px)}.main-nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text);text-decoration:none;padding:10px 18px;border-radius:999px;font-weight:600;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}.main-nav a:hover{transform:translateY(-3px);background-color:var(--surface-hover);box-shadow:var(--shadow)}.main-nav a:active{transform:translateY(-1px)}.main-nav a.active{background:var(--surface-brand);color:var(--text);box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 22%,transparent);border:1px solid var(--border-strong)}.main-nav a.active:hover{background:var(--surface-brand);color:var(--text)}.main-nav a:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:2px}:root[data-theme=dark] .main-nav{box-shadow:var(--shadow-md)}:root[data-theme=dark] .main-nav a{border-color:var(--border);box-shadow:0 6px 16px #0006}:root[data-theme=dark] .main-nav a.active{box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 35%,transparent)}.auth-section{display:flex;align-items:center;gap:12px}.login-trigger{color:var(--text);font-weight:600;padding:10px 18px;background:var(--surface);border-radius:999px;border:1px solid var(--border-strong);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:var(--shadow-sm)}.login-trigger:hover{background:var(--surface-hover);transform:translateY(-2px);box-shadow:var(--shadow)}.login-trigger:active{transform:translateY(0)}.user-dropdown{position:relative;display:inline-block}.user-profile-btn{color:var(--text);background:var(--surface);border:1px solid var(--border-strong);padding:10px 18px;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-sm)}.user-profile-btn:hover{background:var(--surface-hover);transform:translateY(-2px);box-shadow:var(--shadow)}.dropdown-menu{position:absolute;top:100%;right:0;background:var(--surface);border-radius:12px;box-shadow:0 8px 25px #0f172a1f;min-width:180px;z-index:1000;margin-top:8px;overflow:hidden;border:1px solid var(--border-strong)}.dropdown-item{display:block;width:100%;padding:12px 16px;color:var(--text);text-decoration:none;background:none;border:none;text-align:left;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.dropdown-item:hover{background-color:var(--surface-2)}.dropdown-item.logout-btn{color:var(--danger);border-top:1px solid var(--border)}.dropdown-item.logout-btn:hover{background-color:color-mix(in srgb,var(--danger) 12%,var(--surface))}@media (max-width: 768px){.header-content{flex-direction:row;align-items:center;gap:12px;padding:12px 16px}.mobile-menu-btn{display:inline-flex;order:-1;flex-direction:column}.main-nav{display:none}.logo{order:0;margin:0 auto;text-align:center}.auth-section{order:1}}@media (max-width: 480px){.main-nav a{flex:1 1 100%;min-width:0;text-align:center;padding:9px 12px;font-size:.9rem}}:root[data-theme=dark] .login-trigger,:root[data-theme=dark] .user-profile-btn{border-color:var(--border);box-shadow:0 6px 18px #00000073}.backdrop{position:fixed;inset:0;background:#0006;z-index:999}.mobile-drawer{position:fixed;top:0;left:0;height:100vh;width:80%;max-width:320px;background:var(--surface);border-right:1px solid var(--border-strong);transform:translate(-110%);transition:transform .25s ease;z-index:1000;padding:16px;box-shadow:var(--shadow-md)}.mobile-drawer.open{transform:translate(0)}.drawer-close{border:none;background:transparent;color:var(--text);font-size:1.25rem;cursor:pointer}.drawer-nav{display:flex;flex-direction:column;gap:10px;margin-top:12px}.drawer-nav a{padding:12px 10px;border-radius:8px;text-decoration:none;color:var(--text);border:1px solid var(--border-strong);background:var(--surface-2)}.user-section-wrapper{display:flex;align-items:center;gap:12px}.user-stats-display{display:flex;align-items:center;gap:15px;background:#1e293bb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 18px;border-radius:999px;font-size:.95rem;font-weight:700;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stat-level{color:var(--primary)}.xp-bar-wrapper{width:90px;height:10px;background:#ffffff1a;border-radius:5px;overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.xp-bar-progress{height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:5px;transition:width .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 10px #3b82f680}.stat-jetons{display:flex;align-items:center;gap:4px;color:#f59e0b}@media (max-width: 768px){.user-stats-display{display:none}}.site-footer{background:var(--surface);border-top:1px solid var(--border-strong);margin-bottom:0;width:100%;flex-shrink:0}.footer-inner{max-width:1200px;margin:0 auto;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:.95rem}.footer-links{display:flex;gap:12px}.footer-links a{color:var(--muted);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text)}@media (max-width: 640px){.footer-inner{flex-direction:column;text-align:center;gap:6px}}.token-usage-bar{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-md),inset 0 1px 1px #ffffff0d;transition:all var(--transition-normal);width:100%;max-width:600px;display:flex;flex-direction:column;justify-content:center;margin:1.5rem auto;padding:1.25rem 1.5rem}.token-usage-bar:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#ffffff26}.token-usage-bar.loading{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:loading-shimmer 2s infinite linear}@keyframes loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.token-usage-bar.error{background:linear-gradient(135deg,#ef44441a,#ef44440d);border-color:#ef44444d}.token-usage-bar.exhausted{background:linear-gradient(135deg,#f59e0b1a,#ef44441a);border-color:#ef444466}.upgrade-prompt{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem}.upgrade-prompt span{color:#fbbf24;font-weight:700;font-size:.95rem;text-shadow:0 0 10px rgba(245,158,11,.3)}.btn-sm{padding:8px 16px;font-size:.85rem;border-radius:var(--radius-full);font-weight:700}.token-usage-bar.free-user{background:var(--bg-card);border-color:var(--level-a1);box-shadow:0 0 15px #6366f126}.usage-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.usage-label{font-size:.95rem;font-weight:600;color:var(--text-secondary)}.usage-count{font-size:1.05rem;font-weight:800;color:var(--text-primary)}.usage-progress{flex:1;height:10px;background:#0000004d;border-radius:var(--radius-full);overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0003}.progress-fill{height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1);border-radius:var(--radius-full);position:relative}.progress-fill:after{content:"";position:absolute;top:0;bottom:0;right:0;width:10px;background:#fff6;filter:blur(2px)}.progress-fill.free{background:linear-gradient(90deg,var(--level-a1),var(--level-a2));box-shadow:0 0 10px var(--level-a2-glow)}.progress-fill.free.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24);animation:pulse-warning 2s infinite;box-shadow:0 0 10px #f59e0b80}.progress-fill.free.danger{background:linear-gradient(90deg,#ef4444,#f87171);animation:pulse-danger 1.5s infinite;box-shadow:0 0 10px #ef444480}.usage-percentage{font-size:.85rem;font-weight:700;color:var(--text-muted);min-width:40px;text-align:right}.budget-usage-indicator{display:flex;flex-direction:column;gap:12px}.budget-header{display:flex;justify-content:space-between;align-items:flex-end}.budget-label{font-size:.95rem;font-weight:700;color:var(--text-primary)}.budget-amount{font-size:1.1rem;font-weight:800;color:var(--level-a1);font-family:JetBrains Mono,Courier New,monospace;text-shadow:0 0 10px var(--level-a1-glow)}.progress-bar{width:100%;height:12px;background:#0000004d;border-radius:var(--radius-full);overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0003}.progress-fill.budget{background:linear-gradient(90deg,var(--level-a2),#f59e0b)}.progress-fill.budget.warning{background:linear-gradient(90deg,#f59e0b,#ef4444)}.progress-fill.budget.danger{background:linear-gradient(90deg,#ef4444,#991b1b);animation:pulse-danger 1.5s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-danger{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.percentage{color:var(--text-secondary);font-weight:600;font-size:.85rem}.remaining{color:var(--text-primary);font-weight:700;font-family:JetBrains Mono,Courier New,monospace;font-size:.9rem}@media (max-width: 768px){.token-usage-bar{padding:1rem;width:90%}.upgrade-prompt{flex-direction:column;text-align:center;gap:12px}.budget-header{flex-direction:column;align-items:flex-start;gap:4px}.usage-item{flex-wrap:wrap}.usage-progress{min-width:100%;order:3}}.signup-prompt-overlay{position:fixed;inset:0;background:#020617cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .4s cubic-bezier(.16,1,.3,1);padding:20px}.signup-prompt-modal{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-2xl);padding:2.5rem;max-width:440px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-2xl),inset 0 1px 1px #ffffff0d;animation:slideUpModal .4s cubic-bezier(.34,1.56,.64,1)}.signup-prompt-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--level-a1),var(--level-a2))}@keyframes slideUpModal{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.signup-prompt-close{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff0d;border:1px solid var(--border-glass);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;color:var(--text-secondary);transition:all var(--transition-bounce);display:flex;align-items:center;justify-content:center}.signup-prompt-close:hover{background:#ffffff1a;color:var(--text-primary);transform:scale(1.1) rotate(90deg)}.signup-prompt-content{text-align:center}.signup-prompt-icon{font-size:3.5rem;margin-bottom:1.5rem;filter:drop-shadow(0 10px 20px rgba(99,102,241,.5));animation:float 4s ease-in-out infinite}.signup-prompt-title{font-size:1.8rem;font-weight:900;color:var(--text-primary);margin:0 0 1rem;letter-spacing:-.02em}.signup-prompt-message{font-size:1.05rem;color:var(--text-secondary);margin:0 0 2rem;line-height:1.6}.signup-prompt-form{text-align:left}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.form-group input{width:100%;padding:14px 16px;background:#0003;border:2px solid var(--border-glass);border-radius:var(--radius-lg);font-size:1.05rem;color:var(--text-primary);transition:all .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--level-a1);box-shadow:0 0 0 4px var(--level-a1-glow);background:#0000004d}.signup-prompt-error{background:linear-gradient(135deg,#ef44441a,#ef44440d);color:var(--level-b1);padding:1rem;border-radius:var(--radius-md);font-size:.95rem;margin-bottom:1.5rem;border:1px solid rgba(239,68,68,.3);font-weight:600}.signup-prompt-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.btn{flex:1;padding:14px 20px;border:none;border-radius:var(--radius-full);font-size:1rem;font-weight:700;cursor:pointer;transition:all var(--transition-bounce);text-align:center}.btn-primary{background:linear-gradient(135deg,var(--level-a1),#4338CA);color:#fff;box-shadow:0 4px 15px var(--level-a1-glow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px var(--level-a1-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-glass)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--text-primary);transform:translateY(-2px)}.signup-prompt-terms{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.5;text-align:center}.signup-prompt-terms a{color:var(--level-a1);text-decoration:none;font-weight:600}.signup-prompt-terms a:hover{text-decoration:underline}@media (max-width: 480px){.signup-prompt-modal{padding:2rem 1.5rem}.signup-prompt-actions{flex-direction:column}.btn{width:100%}}.floating-actions{position:relative;z-index:1000;width:auto;display:flex;align-items:flex-end;gap:12px;margin-left:auto;pointer-events:auto}@media (max-width: 768px){.floating-actions{margin-left:0;margin-top:8px;justify-content:flex-end;flex-grow:1}}.floating-actions .fab{pointer-events:auto}.fab{width:64px;height:64px;border-radius:24px;border:1px solid var(--border-glass, rgba(255, 255, 255, .08));cursor:pointer;color:var(--text-primary, #ffffff);font-size:24px;display:inline-flex;align-items:center;justify-content:center;line-height:1;background:var(--bg-card, rgba(15, 23, 42, .5));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-glass, 0 8px 32px rgba(0, 0, 0, .2));transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.fab:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 60%);opacity:0;transition:opacity .4s ease}.fab:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 42px #0006,0 0 15px color-mix(in srgb,var(--primary) 20%,transparent);border-color:#fff3;background:#1e293bb3}.fab:hover:before{opacity:1}.fab:active{transform:translateY(0) scale(.98);box-shadow:0 10px 24px #0000004d}.fab.small{width:52px;height:52px;font-size:20px;border-radius:18px}.fab.primary{color:#fff;background:linear-gradient(135deg,var(--primary),#8b5cf6);border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 30%,transparent),inset 0 1px 1px #fff3}.fab.primary:hover{box-shadow:0 15px 35px color-mix(in srgb,var(--primary) 40%,transparent),inset 0 1px 1px #ffffff4d;filter:brightness(1.1)}button.ghost{background:color-mix(in srgb,var(--primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:999px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:700;color:var(--primary);cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}button.ghost:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 25%,transparent);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 20%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:#fff;transform:translateY(-1px)}button.ghost:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1)}.bottom-sticky-bar .chat-window{position:absolute;right:24px;bottom:88px;max-height:min(78dvh,720px);background:var(--bg-card, rgba(15, 23, 42, .7));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-glass, rgba(255, 255, 255, .08));border-radius:var(--radius-xl, 24px);box-shadow:0 30px 60px -12px #0009,inset 0 1px 1px #ffffff1a;overflow:hidden;display:flex;flex-direction:column;z-index:1000;pointer-events:auto;animation:modalScaleIn .4s cubic-bezier(.16,1,.3,1)}@keyframes modalScaleIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-window.assistant{width:min(720px,60vw)}.assistant-layout{display:flex;flex-direction:row;min-height:480px}.assistant-sidebar{display:flex;flex-direction:column;gap:1.25rem;width:280px;padding:1.5rem;background:#02061766;border-right:1px solid var(--border-glass, rgba(255, 255, 255, .05));color:var(--text-primary, #ffffff);overflow-y:auto}.assistant-sidebar.visible,.assistant-sidebar.hidden-mobile{display:flex}.assistant-thread-list{display:flex;flex-direction:column;gap:1rem}.assistant-thread-list-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.assistant-thread-list-header h5{margin:0;font-size:1.05rem;font-weight:800;color:var(--text-primary, #ffffff);text-transform:uppercase;letter-spacing:.05em}.assistant-thread-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.assistant-thread-list li button{width:100%;text-align:left;background:#1e293b66;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:all .3s ease;font:inherit;color:inherit}.assistant-thread-list li button:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent);background:#1e293bb3;box-shadow:0 4px 12px #0003;transform:translate(4px)}.assistant-thread-list li.active button{border-color:var(--primary);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 15%,rgba(30,41,59,.8)),#1e293bcc);box-shadow:0 4px 12px #0003,inset 0 0 0 1px var(--primary)}.assistant-thread-list li.active{display:flex;flex-direction:column;background:#0f172a66;padding:.5rem;border-radius:16px;border:1px solid var(--border-glass);gap:.5rem}.assistant-thread-title{font-weight:700;color:var(--text-primary, #ffffff);font-size:.95rem}.assistant-thread-recap{font-size:.85rem;color:var(--text-secondary, #94a3b8);line-height:1.4}.assistant-thread-meta{font-size:.75rem;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.05em}.assistant-thread-actions{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.assistant-thread-actions .ghost{padding:.3rem .8rem;font-size:.75rem}.assistant-empty-list{font-size:.9rem;color:var(--text-muted, #64748b);background:#0003;border:1px dashed rgba(255,255,255,.1);border-radius:14px;padding:1.5rem;text-align:center}.assistant-main{flex:1;display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;background:#0f172a33;overflow-x:hidden;overflow-y:auto}.assistant-session{display:flex;flex-direction:column;gap:1.25rem;height:100%}.assistant-session-header{display:flex;flex-direction:column;gap:1rem}.assistant-session-meta h5{margin:0;font-size:1.25rem;font-weight:800;color:var(--text-primary, #ffffff)}.assistant-session-meta p{margin:.25rem 0 0;font-size:.95rem;color:var(--text-secondary, #94a3b8)}.assistant-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.5rem}.assistant-messages::-webkit-scrollbar{width:6px}.assistant-messages::-webkit-scrollbar-track{background:transparent}.assistant-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.assistant-placeholder{font-size:.95rem;color:var(--text-muted, #64748b);text-align:center;margin:auto 0;opacity:.7}.assistant-entry{background:#1e293b80;border-radius:16px;border:1px solid rgba(255,255,255,.05);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 4px 12px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:entryIn .3s ease-out}@keyframes entryIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.assistant-entry.user{border-left:4px solid var(--primary);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,rgba(30,41,59,.5)),#1e293b80);border-color:color-mix(in srgb,var(--primary) 20%,transparent);border-left-color:var(--primary);border-top-right-radius:4px}.assistant-entry.assistant{border-left:4px solid var(--success, #10b981);background:linear-gradient(135deg,color-mix(in srgb,var(--success, #10b981) 8%,rgba(30,41,59,.5)),#1e293b80);border-color:color-mix(in srgb,var(--success, #10b981) 20%,transparent);border-left-color:var(--success, #10b981);border-top-left-radius:4px}.assistant-entry.error{border-left:4px solid var(--danger, #ef4444);background:linear-gradient(135deg,color-mix(in srgb,var(--danger, #ef4444) 15%,rgba(30,41,59,.5)),#1e293b80)}.assistant-meta{font-size:.8rem;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:.75rem}.assistant-text{font-size:.95rem;color:var(--text-primary, #ffffff);white-space:pre-wrap;word-break:break-word;line-height:1.5}.assistant-sources{font-size:.85rem;color:var(--text-secondary, #94a3b8);margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.05)}.assistant-sources ul{margin:.5rem 0 0;padding-left:0;display:flex;flex-direction:column;gap:.4rem;list-style:none}.assistant-sources a{color:var(--primary);text-decoration:none;font-weight:500;transition:color .2s;background:color-mix(in srgb,var(--primary) 15%,transparent);padding:4px 10px;border-radius:8px;display:inline-block}.assistant-sources a:hover{color:#fff;background:var(--primary)}.assistant-error{color:var(--danger, #ef4444);font-size:.95rem;background:color-mix(in srgb,var(--danger) 15%,transparent);padding:.75rem 1rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.assistant-form{display:flex;flex-direction:column;gap:.75rem}.assistant-form textarea{width:100%;border-radius:var(--radius-lg, 16px);border:1px solid rgba(255,255,255,.1);padding:1rem;min-height:80px;resize:vertical;font-size:1rem;background:#0003;color:var(--text-primary, #ffffff);box-shadow:inset 0 2px 4px #0003;transition:all .3s ease}.assistant-form textarea:focus{outline:none;border-color:var(--primary);background:#0f172a66;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 20%,transparent)}.assistant-actions{display:flex;justify-content:flex-end;gap:.75rem}.assistant-actions button{border:none;border-radius:999px;padding:.6rem 1.4rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease}.assistant-actions button:not(.ghost){background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 30%,transparent)}.assistant-actions button:not(.ghost):hover{transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 40%,transparent)}.assistant-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.assistant-suggestions button{background:#1e293b99;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:.5rem 1rem;font-size:.85rem;color:var(--text-primary, #ffffff);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .2s ease}.assistant-suggestions button:hover{background:color-mix(in srgb,var(--primary) 20%,transparent);border-color:var(--primary);transform:translateY(-2px);color:#fff}.message.assistant .meta{font-size:.8rem;color:var(--text-muted, #64748b);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 960px){.assistant-layout{flex-direction:column;min-height:0}.bottom-sticky-bar .chat-window.assistant{width:min(520px,80vw)}.assistant-sidebar{width:100%;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);background:#0f172a80}.assistant-sidebar.hidden-mobile{display:none}.assistant-thread-list ul{max-height:280px}.assistant-main{width:100%}}@media (max-width: 600px){.bottom-sticky-bar .chat-window{right:16px;width:min(420px,95vw);bottom:88px;max-height:calc(100dvh - 120px)}}.theme-toggle{position:static;color:var(--text-primary, #ffffff);font-weight:600;padding:10px 16px;background:var(--bg-card, rgba(15, 23, 42, .4));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:999px;border:1px solid var(--border-glass, rgba(255, 255, 255, .08));cursor:pointer;box-shadow:var(--shadow-glass, 0 4px 16px rgba(0, 0, 0, .2));display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;max-width:max-content;width:auto;white-space:nowrap;margin-left:0;transition:all .3s cubic-bezier(.16,1,.3,1);font-size:.95rem}.theme-toggle:hover{background:#1e293b99;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d,0 0 12px color-mix(in srgb,var(--primary) 20%,transparent);border-color:color-mix(in srgb,var(--primary) 30%,rgba(255,255,255,.2));color:var(--primary)}.theme-toggle:active{transform:translateY(0)}.theme-toggle svg{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.theme-toggle:hover svg{transform:rotate(15deg) scale(1.1)}.scroll-top-btn{position:relative;right:auto;bottom:auto;width:42px;height:42px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:900;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.scroll-top-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-top-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:3px}.scroll-top-btn:hover{background:var(--surface-hover);box-shadow:var(--shadow)}@media (max-width: 640px){.scroll-top-btn{width:38px;height:38px}}.development-notice-banner{position:fixed;bottom:0;left:0;right:0;background:#1e1400d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--text-primary);z-index:9999;box-shadow:0 -10px 40px #00000080;border-top:1px solid rgba(245,158,11,.3);animation:slideUp .5s cubic-bezier(.16,1,.3,1)}.development-notice-banner:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#f59e0b,transparent)}.development-notice-content{display:flex;align-items:center;padding:1rem 2rem;gap:1.5rem;max-width:1400px;margin:0 auto}.development-notice-icon{font-size:1.8rem;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(245,158,11,.6));animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}.development-notice-text{flex:1;display:flex;flex-direction:column;gap:4px;line-height:1.5}.development-notice-text strong{font-size:1.05rem;font-weight:800;color:#fbbf24;letter-spacing:.02em}.development-notice-text span{font-size:.95rem;color:var(--text-secondary)}.development-notice-close{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);color:#fbbf24;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all var(--transition-bounce);flex-shrink:0}.development-notice-close:hover{background:#f59e0b33;border-color:#f59e0b66;transform:scale(1.1) rotate(90deg);box-shadow:0 0 15px #f59e0b4d}@media (max-width: 768px){.development-notice-content{padding:1rem;gap:1rem}.development-notice-icon{font-size:1.5rem}.development-notice-text strong{font-size:.95rem}.development-notice-text span{font-size:.85rem}}@media (max-width: 480px){.development-notice-content{flex-direction:column;text-align:center;gap:8px;position:relative}.development-notice-close{position:absolute;top:1rem;right:1rem}}.cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;background:#0f172ad9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--text-primary);z-index:9998;box-shadow:0 -10px 40px #00000080;border-top:1px solid var(--border-glass);animation:slideUp .5s cubic-bezier(.16,1,.3,1)}.cookie-consent-banner:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--level-a1),transparent)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent-content{display:flex;align-items:flex-start;padding:1.5rem 2rem;gap:1.5rem;max-width:1400px;margin:0 auto}.cookie-consent-icon{font-size:1.8rem;flex-shrink:0;margin-top:4px;filter:drop-shadow(0 0 10px rgba(99,102,241,.5));animation:pulse-glow 3s infinite alternate}@keyframes pulse-glow{0%{filter:drop-shadow(0 0 5px rgba(99,102,241,.3))}to{filter:drop-shadow(0 0 15px rgba(99,102,241,.8))}}.cookie-consent-text{flex:1;display:flex;flex-direction:column;gap:8px;line-height:1.5}.cookie-consent-text strong{font-size:1.1rem;font-weight:800;color:var(--text-primary);letter-spacing:-.01em}.cookie-consent-text span{font-size:.95rem;color:var(--text-secondary)}.cookie-consent-details{margin-top:1rem;padding:1.25rem;background:#0003;border-radius:var(--radius-lg);border:1px solid var(--border-strong);animation:fadeIn .4s ease-out;box-shadow:inset 0 2px 10px #0000001a}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cookie-category{margin-bottom:1rem}.cookie-category:last-child{margin-bottom:0}.cookie-category-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:10px;border-radius:var(--radius-md);transition:background-color .2s ease}.cookie-category-label:hover{background:#ffffff0d}.cookie-checkbox{width:20px;height:20px;flex-shrink:0;margin-top:2px;cursor:pointer;accent-color:var(--level-a1)}.cookie-checkbox:disabled{opacity:.5;cursor:not-allowed}.cookie-category-content{flex:1}.cookie-category-content strong{font-size:.95rem;color:var(--text-primary);display:block;margin-bottom:4px;font-weight:700}.cookie-category-content p{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.5}.cookie-customize-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-strong);display:flex;justify-content:center}.cookie-consent-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0;align-items:flex-end}.cookie-consent-btn{padding:10px 20px;border:none;border-radius:var(--radius-full);font-size:.9rem;font-weight:700;cursor:pointer;transition:all var(--transition-bounce);white-space:nowrap}.cookie-consent-btn.primary{background:linear-gradient(135deg,var(--level-a1),#4338CA);color:#fff;box-shadow:0 4px 15px var(--level-a1-glow)}.cookie-consent-btn.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--level-a1-glow)}.cookie-consent-btn.secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--border-glass)}.cookie-consent-btn.secondary:hover{background:#ffffff1a;transform:translateY(-2px);border-color:var(--text-primary)}.cookie-consent-close{background:#ffffff0d;border:1px solid var(--border-glass);color:var(--text-primary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all var(--transition-bounce);margin-left:12px}.cookie-consent-close:hover{background:#ffffff1a;transform:scale(1.1) rotate(90deg);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.cookie-consent-content{padding:1rem;gap:1rem;flex-direction:column}.cookie-consent-icon{font-size:1.5rem}.cookie-consent-actions{flex-direction:row;flex-wrap:wrap;width:100%;justify-content:center}.cookie-consent-btn{flex:1;text-align:center}.cookie-consent-close{position:absolute;top:1rem;right:1rem;margin:0}}.mode-switcher-container{position:absolute;left:50%;transform:translate(-50%);pointer-events:auto;z-index:1000}.mode-switcher-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:60%;border-radius:999px;z-index:-1;filter:blur(24px);transition:background .5s ease;pointer-events:none;opacity:.4}.mode-switcher-container:has(.adventure):before{background:var(--primary-2, #f59e0b)}.mode-switcher-container:has(.academic):before{background:var(--primary, #6366f1)}.mode-switcher-btn{background:var(--bg-card, rgba(15, 23, 42, .6));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass, rgba(255, 255, 255, .08));padding:6px 16px;border-radius:999px;display:flex;align-items:center;gap:16px;cursor:pointer;box-shadow:0 4px 20px #0000004d,inset 0 1px 1px #ffffff1a;transition:all .4s cubic-bezier(.16,1,.3,1);height:48px;position:relative;overflow:hidden}.mode-switcher-btn:after{content:"";position:absolute;inset:0;border-radius:999px;background:radial-gradient(circle at center,rgba(255,255,255,.05) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.mode-switcher-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0006,inset 0 1px 1px #ffffff26;background:#1e293bcc}.mode-switcher-btn:hover:after{opacity:1}.mode-label{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;transition:all .4s cubic-bezier(.16,1,.3,1);z-index:2;position:relative}.mode-label.adventure,.mode-label.academic{color:var(--text-secondary, #94a3b8)}.mode-switcher-btn.adventure{border-color:color-mix(in srgb,var(--primary-2, #f59e0b) 30%,transparent)}.mode-switcher-btn.academic{border-color:color-mix(in srgb,var(--primary, #6366f1) 30%,transparent)}.mode-switcher-btn.adventure .mode-label.adventure{color:#fff;text-shadow:0 0 12px color-mix(in srgb,var(--primary-2, #f59e0b) 80%,transparent)}.mode-switcher-btn.academic .mode-label.academic{color:#fff;text-shadow:0 0 12px color-mix(in srgb,var(--primary, #6366f1) 80%,transparent)}.mode-toggle-track{width:60px;height:30px;background:#00000080;border-radius:999px;position:relative;box-shadow:inset 0 2px 6px #0009;border:1px solid rgba(255,255,255,.05);z-index:2}.mode-toggle-thumb{width:24px;height:24px;border-radius:50%;position:absolute;top:2px;left:3px;transition:transform .5s cubic-bezier(.34,1.56,.64,1),background .4s ease,box-shadow .4s ease}.mode-switcher-btn.adventure .mode-toggle-thumb{background:linear-gradient(135deg,var(--primary-2, #f59e0b),#d97706);box-shadow:0 0 15px color-mix(in srgb,var(--primary-2, #f59e0b) 60%,transparent),inset 0 1px 1px #fff6;transform:translate(0)}.mode-switcher-btn.academic .mode-toggle-thumb{background:linear-gradient(135deg,var(--primary, #6366f1),#8b5cf6);box-shadow:0 0 15px color-mix(in srgb,var(--primary, #6366f1) 60%,transparent),inset 0 1px 1px #fff6;transform:translate(28px)}@media (max-width: 480px){.mode-switcher-btn{padding:4px 12px;height:42px;gap:12px}.mode-label{font-size:.75rem}.mode-toggle-track{width:50px;height:26px}.mode-toggle-thumb{width:20px;height:20px;top:2px}.mode-switcher-btn.academic .mode-toggle-thumb{transform:translate(22px)}}.badge-toast{position:fixed;bottom:30px;right:30px;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:1.25rem 2rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 20px 50px #00000080,0 0 40px var(--level-a1-glow);border:2px solid var(--level-a1);z-index:9999;transform:translate(150%);transition:transform .6s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.badge-toast:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(99,102,241,.2),transparent);pointer-events:none}.badge-toast.show{transform:translate(0)}.badge-toast.hide{transform:translate(150%)}.toast-icon{font-size:3rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3));animation:floating-icon 3s ease-in-out infinite}@keyframes floating-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.toast-content{display:flex;flex-direction:column;position:relative;z-index:2}.toast-title{font-size:.8rem;text-transform:uppercase;font-weight:800;color:var(--level-a1-light);letter-spacing:.1em;margin-bottom:.2rem}.toast-badge-name{font-size:1.2rem;font-weight:900;color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.5)}.toast-close{background:#ffffff1a;border:1px solid var(--border-glass);color:var(--text-secondary);cursor:pointer;font-size:1.2rem;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:1rem;transition:all var(--transition-bounce);position:relative;z-index:2}.toast-close:hover{color:#fff;background:var(--level-b1);border-color:var(--level-b1-glow);transform:scale(1.1) rotate(90deg)}@media (max-width: 600px){.badge-toast{bottom:15px;right:15px;left:15px;padding:1rem 1.5rem}}.ambient-cursor-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999;overflow:hidden}.ambient-cursor{position:absolute;width:300px;height:300px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--cursor-color, var(--level-a1)) 0%,transparent 70%);opacity:.15;mix-blend-mode:screen;will-change:transform;pointer-events:none}.ambient-trail{position:absolute;width:150px;height:150px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--cursor-color, var(--level-a1)) 0%,transparent 60%);mix-blend-mode:screen;pointer-events:none}.ambient-ripple{position:absolute;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--cursor-color, var(--level-a1));box-shadow:0 0 20px var(--cursor-color, var(--level-a1)),inset 0 0 20px var(--cursor-color, var(--level-a1));pointer-events:none;animation:ripple-anim 1.5s cubic-bezier(.1,.8,.3,1) forwards}@keyframes ripple-anim{0%{width:0;height:0;opacity:.3}to{width:250px;height:250px;opacity:0}}@media (max-width: 768px),(pointer: coarse){.ambient-cursor-container{display:none}}:root[data-theme=light] .ambient-cursor{opacity:.05;mix-blend-mode:multiply}:root[data-theme=light] .ambient-ripple{opacity:.15;border:1px solid var(--cursor-color, var(--level-a1));box-shadow:none}.username-modal-overlay{position:fixed;inset:0;background:#02061799;display:flex;align-items:center;justify-content:center;z-index:3000;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:20px;animation:fadeIn .3s ease-out}.username-modal-content{background:var(--bg-card, rgba(15, 23, 42, .7));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl, 24px);border:1px solid var(--border-glass, rgba(255, 255, 255, .08));box-shadow:0 30px 60px -12px #0009,inset 0 1px 1px #ffffff1a;width:100%;max-width:460px;padding:2.5rem;position:relative;overflow:hidden;animation:usernameModalIn .5s cubic-bezier(.16,1,.3,1)}.username-modal-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,color-mix(in srgb,var(--primary) 10%,transparent) 0%,transparent 60%);pointer-events:none;z-index:0}@keyframes usernameModalIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.username-modal-header{text-align:center;margin-bottom:2rem;position:relative;z-index:1}.username-modal-header h2{margin:0 0 12px;font-size:2rem;font-weight:800;background:linear-gradient(135deg,#ffffff,var(--primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.username-modal-header p{color:var(--text-secondary, #94a3b8);line-height:1.6;margin:0;font-size:1.05rem}.username-form{position:relative;z-index:1}.username-form .form-group{margin-bottom:24px}.username-form label{display:block;margin-bottom:10px;font-weight:600;font-size:.95rem;color:var(--text-primary, #ffffff);letter-spacing:.02em}.input-wrapper{position:relative;display:flex;flex-direction:column}.username-form input{width:100%;padding:16px 20px;background:#0f172a80;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg, 16px);font-size:1.15rem;color:var(--text-primary, #ffffff);transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;box-shadow:inset 0 2px 4px #0003}.username-form input:focus{outline:none;background:#1e293bb3;border-color:var(--primary);box-shadow:inset 0 2px 4px #0003,0 0 0 4px color-mix(in srgb,var(--primary) 20%,transparent),0 0 15px color-mix(in srgb,var(--primary) 30%,transparent)}.username-form input::placeholder{color:var(--text-muted, #475569)}.availability-hint{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1rem;font-weight:600;background:#0f172acc;padding:4px 8px;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.availability-hint.success{color:var(--success, #10b981);text-shadow:0 0 10px color-mix(in srgb,#10b981 40%,transparent)}.availability-hint.error{color:var(--danger, #ef4444);text-shadow:0 0 10px color-mix(in srgb,#ef4444 40%,transparent)}.field-hint{margin:10px 0 0;font-size:.85rem;color:var(--text-secondary, #94a3b8);display:flex;align-items:center;gap:6px}.field-hint:before{content:"ℹ️";font-size:.9rem}.submit-username-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;border:none;border-radius:var(--radius-lg, 16px);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 16px color-mix(in srgb,var(--primary) 30%,transparent),inset 0 1px 1px #fff3;margin-top:1rem}.submit-username-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px color-mix(in srgb,var(--primary) 40%,transparent),inset 0 1px 1px #ffffff4d;filter:brightness(1.1)}.submit-username-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 8px color-mix(in srgb,var(--primary) 30%,transparent)}.submit-username-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-2, #1e293b);box-shadow:none;color:var(--text-muted, #64748b);border:1px solid var(--border, #334155)}
