@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@300;400;500;600;700&display=swap";.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:100%;max-width:400px;display:flex;position:fixed;top:20px;right:20px}.toast{border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 4px 12px var(--shadow-color), 0 8px 24px var(--shadow-color);font-family:var(--font-family);color:var(--text-primary);pointer-events:auto;-webkit-backdrop-filter:blur(12px);align-items:center;gap:12px;padding:14px 18px;font-size:14px;transition:all .3s;animation:.4s cubic-bezier(.34,1.56,.64,1) toastEnter;display:flex}@keyframes toastEnter{0%{opacity:0;transform:translate(24px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.toast:hover{box-shadow:0 6px 16px var(--shadow-color), 0 12px 32px var(--shadow-color)}.toast--success .toast__icon{color:var(--accent-success)}.toast--error .toast__icon{color:var(--accent-danger)}.toast--info .toast__icon{color:var(--accent-primary)}.toast--warning .toast__icon{color:var(--accent-warning)}.toast--xp .toast__icon{color:#a855f7}.toast--success{border-left:4px solid var(--accent-success)}.toast--error{border-left:4px solid var(--accent-danger)}.toast--info{border-left:4px solid var(--accent-primary)}.toast--warning{border-left:4px solid var(--accent-warning)}.toast--xp{border-left:4px solid #a855f7}.toast__icon{flex-shrink:0;align-items:center;transition:transform .3s;display:flex}.toast:hover .toast__icon{transform:scale(1.1)}.toast__message{flex:1;font-weight:500;line-height:1.5}.toast__xp-badge{color:#a855f7;font-size:14px;font-weight:800;animation:.6s ease-out xpPulse}@keyframes xpPulse{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}.toast__close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;align-items:center;padding:6px;transition:color .2s,background .2s;display:flex}.toast__close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.toast__close:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (width<=480px){.toast-container{max-width:none;top:12px;left:10px;right:10px}.toast{padding:12px 14px}}.navbar{z-index:1000;background:var(--nav-bg);color:var(--nav-text);border-bottom:1px solid var(--nav-border);-webkit-backdrop-filter:blur(12px)saturate(180%);font-family:var(--font-family);transition:box-shadow var(--transition-speed) ease, background-color var(--transition-speed) ease, border-color var(--transition-speed) ease;position:fixed;top:0;left:0;right:0}.navbar--scrolled{box-shadow:0 1px 3px var(--shadow-color), 0 4px 16px var(--shadow-color);border-bottom-color:#0000}.navbar__inner{justify-content:space-between;align-items:center;max-width:1280px;height:60px;margin:0 auto;padding:0 24px;display:flex}.navbar__logo{color:var(--nav-text);transition:color var(--transition-speed) ease;flex-shrink:0;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.navbar__logo:hover{opacity:1}.navbar__logo-icon{border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.125rem;display:flex}.navbar__logo-text{letter-spacing:-.5px;transition:background var(--transition-speed) ease, -webkit-text-fill-color var(--transition-speed) ease;font-weight:800}.navbar__logo:hover .navbar__logo-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar__links{gap:2px;margin:0;padding:0;list-style:none;display:flex}.navbar__link{color:var(--nav-text);opacity:.65;border-radius:var(--radius-sm);transition:opacity var(--transition-speed) ease, color var(--transition-speed) ease, background-color var(--transition-speed) ease;padding:8px 14px;font-size:.875rem;font-weight:500;text-decoration:none;position:relative}.navbar__link:after{content:"";background:var(--gradient-primary);height:2px;transition:left var(--transition-slow) cubic-bezier(.16, 1, .3, 1), right var(--transition-slow) cubic-bezier(.16, 1, .3, 1);border-radius:999px;position:absolute;bottom:0;left:50%;right:50%}.navbar__link:hover{opacity:1;background:var(--btn-ghost-hover)}.navbar__link:hover:after{left:14px;right:14px}.navbar__link--active{opacity:1;color:var(--accent-primary);font-weight:600}.navbar__link--active:after{background:var(--accent-primary);left:14px;right:14px}.navbar__right{flex-shrink:0;align-items:center;gap:8px;display:flex}.navbar__stat{background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-speed) ease;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.navbar__stat:hover{background:var(--bg-secondary);box-shadow:var(--badge-glow)}.navbar__stat-icon{font-size:.875rem;line-height:1}.navbar__icon-btn{color:var(--nav-text);opacity:.7;cursor:pointer;border-radius:var(--radius-sm);transition:opacity var(--transition-speed) ease, background-color var(--transition-speed) ease, transform var(--transition-speed) ease;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;text-decoration:none;display:flex;position:relative}.navbar__icon-btn:hover{opacity:1;background:var(--btn-ghost-hover)}.navbar__icon-btn:active{transform:scale(.92)}.navbar__icon-btn--has-notification:after{content:"";background:var(--accent-danger);border:1.5px solid var(--nav-bg-solid);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.navbar__avatar{cursor:pointer;background:var(--bg-tertiary);width:34px;height:34px;transition:transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.navbar__avatar:before{content:"";background:var(--gradient-primary);z-index:-1;opacity:0;transition:opacity var(--transition-speed) ease;border-radius:50%;position:absolute;inset:-2px}.navbar__avatar:hover{transform:scale(1.05)}.navbar__avatar:hover:before{opacity:1}.navbar__avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.navbar__avatar-initial{color:var(--text-primary);font-size:.8125rem;font-weight:700}.navbar__hamburger{color:var(--nav-text);cursor:pointer;border-radius:var(--radius-sm);width:36px;height:36px;transition:background-color var(--transition-speed) ease;background:0 0;border:none;padding:6px;display:none;position:relative}.navbar__hamburger:hover{background:var(--btn-ghost-hover)}.navbar__hamburger-line{background:var(--nav-text);width:20px;height:2px;transition:all var(--transition-slow) cubic-bezier(.16, 1, .3, 1);border-radius:999px;display:block;position:absolute;left:50%;transform:translate(-50%)}.navbar__hamburger-line:first-child{top:10px}.navbar__hamburger-line:nth-child(2){top:17px}.navbar__hamburger-line:nth-child(3){top:24px}.navbar__hamburger--open .navbar__hamburger-line:first-child{top:17px;transform:translate(-50%)rotate(45deg)}.navbar__hamburger--open .navbar__hamburger-line:nth-child(2){opacity:0;transform:translate(-50%)scaleX(0)}.navbar__hamburger--open .navbar__hamburger-line:nth-child(3){top:17px;transform:translate(-50%)rotate(-45deg)}.navbar__mobile-overlay{-webkit-backdrop-filter:blur(4px);z-index:998;opacity:0;transition:opacity var(--transition-slow) ease;background:#00000080;display:none;position:fixed;inset:0}.navbar__mobile-overlay--visible{opacity:1}.navbar__mobile-menu{background:var(--card-bg);z-index:999;width:300px;max-width:85vw;height:100dvh;transition:transform var(--transition-slow) cubic-bezier(.16, 1, .3, 1);overscroll-behavior:contain;padding:80px 16px 24px;display:none;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-8px 0 32px #00000026}.navbar__mobile-menu--open{transform:translate(0)}.navbar__mobile-stats{flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:0 8px;display:flex}.navbar__mobile-stat{background:var(--bg-tertiary);color:var(--text-primary);border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.navbar__mobile-divider{background:var(--border-color);height:1px;margin:12px 8px}.navbar__mobile-links{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.navbar__mobile-link{color:var(--text-secondary);border-radius:var(--radius-sm);transition:background-color var(--transition-speed) ease, color var(--transition-speed) ease, transform var(--transition-speed) ease;align-items:center;gap:12px;padding:12px 16px;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.navbar__mobile-link:hover{background:var(--btn-ghost-hover);color:var(--text-primary)}.navbar__mobile-link:active{transform:scale(.98)}.navbar__mobile-link--active{background:var(--sidebar-item-active-bg);color:var(--accent-primary);font-weight:600}.navbar__mobile-link-icon{opacity:.8;flex-shrink:0;justify-content:center;align-items:center;width:24px;font-size:1.125rem;display:flex}.navbar__mobile-link--active .navbar__mobile-link-icon{opacity:1}.navbar__mobile-footer{border-top:1px solid var(--border-color);margin-top:auto;padding:16px 8px 0}@media (width<=768px){.navbar__inner{height:56px;padding:0 16px}.navbar__links,.navbar__stat,.navbar__avatar{display:none}.navbar__hamburger{justify-content:center;align-items:center;display:flex}.navbar__mobile-overlay{display:block}.navbar__mobile-menu{flex-direction:column;display:flex}.navbar__icon-btn.navbar__settings-btn{display:none}}@media (width>=769px){.navbar__hamburger{display:none}}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);width:260px;font-family:var(--font-family);z-index:900;transition:width var(--transition-slow) cubic-bezier(.16, 1, .3, 1);flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:60px;bottom:0;left:0;overflow:hidden}.sidebar:after{content:"";background:linear-gradient(to top, var(--sidebar-bg) 0%, transparent 100%);pointer-events:none;z-index:1;height:60px;position:absolute;bottom:0;left:0;right:0}.sidebar--collapsed{width:72px}.sidebar__top{flex-shrink:0;justify-content:flex-end;padding:12px 14px;display:flex}.sidebar__toggle{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-speed) ease, color var(--transition-speed) ease, border-color var(--transition-speed) ease, transform var(--transition-speed) ease;background:0 0;justify-content:center;align-items:center;padding:6px;display:flex}.sidebar__toggle:hover{background:var(--sidebar-item-hover);color:var(--text-primary);border-color:var(--text-muted)}.sidebar__toggle:active{transform:scale(.9)}.sidebar--collapsed .sidebar__toggle{margin:0 auto}.sidebar__section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;opacity:1;transition:opacity var(--transition-speed) ease;padding:16px 16px 6px;font-size:.6875rem;font-weight:600;overflow:hidden}.sidebar--collapsed .sidebar__section-label{opacity:0;height:0;margin:0;padding:0;overflow:hidden}.sidebar__nav{scrollbar-width:none;-ms-overflow-style:none;flex:1;padding:0 10px;overflow:hidden auto}.sidebar__nav::-webkit-scrollbar{display:none}.sidebar__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar__item{border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;transition:background-color var(--transition-speed) ease, color var(--transition-speed) ease, transform var(--transition-speed) ease;align-items:center;gap:12px;padding:10px 14px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar__item:hover{background:var(--sidebar-item-hover);color:var(--text-primary)}.sidebar__item:active{transform:scale(.98)}.sidebar__item--active{background:var(--sidebar-item-active-bg);color:var(--accent-primary);font-weight:600}.sidebar__item--active:before{content:"";background:var(--sidebar-item-active-border);border-radius:0 999px 999px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.sidebar__item--active .sidebar__item-icon{color:var(--accent-primary)}.sidebar__item-icon{opacity:.75;width:20px;height:20px;transition:opacity var(--transition-speed) ease, color var(--transition-speed) ease;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;display:flex}.sidebar__item:hover .sidebar__item-icon,.sidebar__item--active .sidebar__item-icon{opacity:1}.sidebar__item-label{opacity:1;transition:opacity var(--transition-speed) ease, transform var(--transition-speed) ease;text-overflow:ellipsis;min-width:0;overflow:hidden;transform:translate(0)}.sidebar__item-badge{background:var(--accent-primary);color:#fff;min-width:20px;height:20px;transition:opacity var(--transition-speed) ease, transform var(--transition-speed) ease;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:.6875rem;font-weight:700;display:inline-flex}.sidebar--collapsed .sidebar__item{justify-content:center;padding:12px}.sidebar--collapsed .sidebar__item-label{opacity:0;width:0;overflow:hidden;transform:translate(-8px)}.sidebar--collapsed .sidebar__item-badge{min-width:16px;height:16px;padding:0 4px;font-size:.625rem;position:absolute;top:4px;right:8px}.sidebar--collapsed .sidebar__item--active:before{top:8px;bottom:8px}.sidebar--collapsed .sidebar__item{position:relative}.sidebar__item-tooltip{display:none}.sidebar--collapsed .sidebar__item-tooltip{background:var(--text-primary);color:var(--bg-primary);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-speed) ease, transform var(--transition-speed) ease;z-index:1001;padding:4px 10px;font-size:.75rem;font-weight:500;display:block;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)translate(4px)}.sidebar--collapsed .sidebar__item:hover .sidebar__item-tooltip{opacity:1;transform:translateY(-50%)translate(0)}.sidebar__divider{background:var(--border-color);height:1px;margin:8px 14px}.sidebar--collapsed .sidebar__divider{margin:8px 10px}.sidebar__footer{border-top:1px solid var(--sidebar-border);z-index:2;flex-shrink:0;padding:12px 10px;position:relative}.sidebar__level{border-radius:var(--radius-sm);background:var(--gradient-subtle);border:1px solid var(--border-color-subtle);transition:background-color var(--transition-speed) ease, border-color var(--transition-speed) ease;align-items:center;gap:10px;padding:10px 12px;display:flex}.sidebar__level:hover{border-color:var(--border-color)}.sidebar__level-icon{color:var(--accent-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.sidebar__level-info{flex-direction:column;gap:2px;min-width:0;display:flex}.sidebar__level-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;overflow:hidden}.sidebar__level-xp{color:var(--text-muted);font-size:.6875rem;font-weight:500}.sidebar__level-progress{background:var(--bg-tertiary);border-radius:999px;width:100%;height:3px;margin-top:2px;overflow:hidden}.sidebar__level-progress-fill{background:var(--gradient-primary);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.sidebar--collapsed .sidebar__level{justify-content:center;padding:10px}.sidebar--collapsed .sidebar__level-info{display:none}@media (width<=768px){.sidebar{display:none}}@media (width>=769px){.sidebar{top:60px}}html{scroll-behavior:smooth}.landing{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);font-family:var(--font-family);overflow-x:hidden}.landing-nav{z-index:100;background:color-mix(in srgb, var(--bg-primary) 80%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);padding:0 24px;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;display:flex}.nav-logo{color:var(--text-primary);cursor:pointer;transition:opacity var(--transition-speed);align-items:center;gap:10px;font-size:1.3rem;font-weight:800;display:flex}.nav-logo:hover{opacity:.8}.nav-logo svg{color:var(--accent-primary)}.nav-links{align-items:center;gap:32px;display:flex}.nav-link{color:var(--text-secondary);transition:color var(--transition-speed);font-size:.9rem;font-weight:500;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--accent-primary);border-radius:2px;height:2px;transition:transform .25s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{transform:scaleX(1)}.nav-cta{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-speed), box-shadow var(--transition-speed);font-size:.85rem;font-weight:600;font-family:var(--font-family);border:none;align-items:center;gap:6px;padding:8px 20px;display:inline-flex}.nav-cta:hover{box-shadow:0 4px 16px var(--shadow-color);transform:translateY(-1px)}.landing-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:120px 24px 80px;display:flex;position:relative;overflow:hidden}.hero-floating-shapes{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.floating-shape{opacity:.07;filter:blur(2px);border-radius:50%;position:absolute}.shape-1{background:var(--accent-primary);width:300px;height:300px;animation:20s ease-in-out infinite float-1;top:10%;left:-5%}.shape-2{background:var(--accent-secondary);border-radius:30% 70% 70% 30%/30% 30% 70% 70%;width:200px;height:200px;animation:18s ease-in-out infinite float-2;top:60%;right:-3%}.shape-3{background:var(--accent-success);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;width:150px;height:150px;animation:22s ease-in-out infinite float-3;bottom:15%;left:10%}.shape-4{background:var(--accent-primary);width:100px;height:100px;animation:16s ease-in-out infinite float-4;top:20%;right:15%}.shape-5{background:var(--accent-warning);border-radius:40% 60% 60% 40%/70% 30%;width:80px;height:80px;animation:24s ease-in-out infinite reverse float-2;top:45%;left:20%}@keyframes float-1{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(30px,-40px)rotate(5deg)}50%{transform:translate(-20px,20px)rotate(-3deg)}75%{transform:translate(40px,30px)rotate(7deg)}}@keyframes float-2{0%,to{transform:translate(0)rotate(0)scale(1)}33%{transform:translate(-30px,30px)rotate(-5deg)scale(1.05)}66%{transform:translate(20px,-20px)rotate(3deg)scale(.95)}}@keyframes float-3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(40px,-30px)scale(1.1)}}@keyframes float-4{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(-25px,25px)rotate(180deg)}}.hero-glow{background:radial-gradient(circle, var(--accent-primary) 0%, transparent 70%);opacity:.08;filter:blur(120px);pointer-events:none;z-index:0;border-radius:50%;width:700px;height:700px;position:absolute;top:15%;left:50%;transform:translate(-50%)}.hero-glow-2{background:radial-gradient(circle, var(--accent-secondary) 0%, transparent 70%);opacity:.05;width:500px;height:500px;top:40%;left:30%}.hero-content{z-index:1;max-width:760px;position:relative}.hero-badge{background:color-mix(in srgb, var(--accent-primary) 12%, transparent);color:var(--accent-primary);border:1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:100px;align-items:center;gap:8px;margin-bottom:28px;padding:8px 20px;font-size:.82rem;font-weight:600;display:inline-flex}.hero-title{color:var(--text-primary);letter-spacing:-.03em;margin:0 0 24px;font-size:4rem;font-weight:800;line-height:1.08}.hero-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);margin:0 0 40px;max-width:580px;margin-inline:auto;font-size:1.2rem;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-speed), box-shadow var(--transition-speed);font-size:1rem;font-weight:600;font-family:var(--font-family);border:none;align-items:center;gap:8px;padding:12px 28px;display:inline-flex;position:relative;overflow:hidden}.btn-primary:hover{box-shadow:0 8px 24px var(--shadow-color);transform:translateY(-2px)}.btn-glow:after{content:"";background:var(--gradient-primary);border-radius:inherit;z-index:-1;opacity:0;filter:blur(12px);transition:opacity .3s;position:absolute;inset:-2px}.btn-glow:hover:after{opacity:.6}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-speed), border-color var(--transition-speed);font-size:1rem;font-weight:600;font-family:var(--font-family);align-items:center;gap:8px;padding:12px 28px;display:inline-flex}.btn-secondary:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.btn-lg{padding:14px 36px;font-size:1.05rem}.glass-card{background:color-mix(in srgb, var(--card-bg) 70%, transparent);-webkit-backdrop-filter:blur(16px)saturate(150%);border:1px solid color-mix(in srgb, var(--card-border) 60%, transparent);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:transform var(--transition-speed), box-shadow var(--transition-speed), border-color var(--transition-speed)}.glass-card:hover{box-shadow:0 12px 40px var(--shadow-color);border-color:color-mix(in srgb, var(--accent-primary) 30%, transparent)}.landing-social-proof{z-index:2;margin-top:-40px;padding:0 24px;position:relative}.social-proof-inner{background:color-mix(in srgb, var(--card-bg) 80%, transparent);-webkit-backdrop-filter:blur(20px)saturate(150%);border:1px solid color-mix(in srgb, var(--card-border) 60%, transparent);border-radius:var(--radius-lg);max-width:800px;box-shadow:0 8px 40px var(--shadow-color);text-align:center;margin:0 auto;padding:32px 48px}.proof-label{color:var(--accent-primary);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:20px;font-size:.85rem;font-weight:600;display:inline-flex}.proof-stats{flex-wrap:wrap;justify-content:center;align-items:center;gap:32px;display:flex}.proof-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.proof-value{color:var(--text-primary);background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.proof-label-text{color:var(--text-muted);font-size:.82rem;font-weight:500}.proof-divider{background:var(--border-color);width:1px;height:40px}.section-header{text-align:center;margin-bottom:56px}.section-badge{background:color-mix(in srgb, var(--accent-primary) 10%, transparent);color:var(--accent-primary);letter-spacing:.06em;text-transform:uppercase;border-radius:100px;margin-bottom:16px;padding:4px 16px;font-size:.78rem;font-weight:700;display:inline-block}.section-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 12px;font-size:2.2rem;font-weight:800}.section-subtitle{color:var(--text-secondary);margin:0;max-width:500px;margin-inline:auto;font-size:1.05rem;line-height:1.6}.landing-features{max-width:1100px;margin:0 auto;padding:100px 24px}.features-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.feature-card{padding:36px;position:relative;overflow:hidden}.feature-card-shine{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent-primary) 4%, transparent), transparent);pointer-events:none;width:60%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.feature-card:hover .feature-card-shine{left:120%}.feature-icon-wrap{border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;display:inline-flex;position:relative}.feature-icon-wrap:after{content:"";border-radius:inherit;background:inherit;filter:blur(12px);opacity:.35;z-index:-1;position:absolute;inset:-2px}.feature-card h3{color:var(--text-primary);margin:0 0 10px;font-size:1.15rem;font-weight:700}.feature-card p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}.landing-subjects{padding:80px 0;overflow:hidden}.landing-subjects .section-header{padding:0 24px}.marquee-container{padding:8px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-reverse{margin-top:12px}.marquee-track{gap:16px;width:max-content;animation:40s linear infinite marquee-scroll;display:flex}.marquee-track-reverse{animation:45s linear infinite marquee-scroll-reverse}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-scroll-reverse{0%{transform:translate(-50%)}to{transform:translate(0)}}.marquee-item{white-space:nowrap;cursor:default;flex-shrink:0;align-items:center;gap:10px;padding:12px 24px;display:flex}.marquee-item:hover{transform:translateY(-2px)}.marquee-icon{color:var(--accent-primary);align-items:center;display:flex}.marquee-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.landing-steps{max-width:1000px;margin:0 auto;padding:100px 24px}.steps-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid;position:relative}.step-card{text-align:center;padding:40px 28px;position:relative}.step-number{background:var(--gradient-primary);color:#fff;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:20px;font-size:1.1rem;font-weight:800;display:inline-flex;position:relative}.step-icon{color:var(--accent-primary);margin-bottom:16px}.step-card h3{color:var(--text-primary);margin:0 0 10px;font-size:1.1rem;font-weight:700}.step-card p{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.6}.step-connector{display:none}@media (width>=769px){.step-connector{z-index:1;width:32px;height:2px;display:block;position:absolute;top:60px;right:-16px}.step-connector:before{content:"";background:var(--border-color);border-radius:2px;height:2px;position:absolute;top:0;left:0;right:0}.step-connector:after{content:"";background:var(--accent-primary);border-radius:2px;height:2px;animation:2s ease-in-out infinite connector-fill;position:absolute;top:0;left:0}@keyframes connector-fill{0%,to{width:0}50%{width:100%}}}.landing-themes{max-width:1000px;margin:0 auto;padding:100px 24px}.themes-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.theme-card{text-align:center;cursor:pointer;padding:32px;position:relative}.theme-card-active{border-color:var(--accent-primary)!important;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-primary) 30%, transparent), 0 12px 40px var(--shadow-color)!important}.theme-card-icon{background:color-mix(in srgb, var(--accent-primary) 10%, transparent);width:52px;height:52px;color:var(--accent-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.theme-card h3{color:var(--text-primary);margin:0 0 6px;font-size:1.1rem;font-weight:700}.theme-card p{color:var(--text-secondary);margin:0 0 20px;font-size:.85rem;line-height:1.5}.theme-swatches{justify-content:center;gap:8px;display:flex}.theme-swatch{border:2px solid color-mix(in srgb, var(--border-color) 50%, transparent);border-radius:50%;width:28px;height:28px;transition:transform .2s}.theme-swatch:hover{transform:scale(1.15)}.theme-active-indicator{background:var(--accent-primary);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:100px;padding:4px 12px;font-size:.72rem;font-weight:700;position:absolute;top:16px;right:16px}.landing-cta{padding:100px 24px;position:relative;overflow:hidden}.cta-bg-shapes{pointer-events:none;position:absolute;inset:0;overflow:hidden}.cta-shape{opacity:.04;border-radius:50%;position:absolute}.cta-shape-1{background:var(--accent-primary);width:400px;height:400px;animation:15s ease-in-out infinite float-1;top:-100px;right:-100px}.cta-shape-2{background:var(--accent-secondary);width:300px;height:300px;animation:18s ease-in-out infinite float-2;bottom:-100px;left:-80px}.cta-content{text-align:center;background:var(--gradient-primary);border-radius:var(--radius-lg);color:#fff;max-width:700px;margin:0 auto;padding:72px 48px;position:relative;overflow:hidden}.cta-content:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#ffffff1f 0%,#0000 60%);position:absolute;inset:0}.cta-sparkle{opacity:.9;margin-bottom:20px}.cta-content h2{color:#fff;margin:0 0 12px;font-size:2rem;font-weight:800;position:relative}.cta-content p{opacity:.9;margin:0 0 32px;margin-inline:auto;max-width:520px;margin-bottom:32px;font-size:1.05rem;line-height:1.7;position:relative}.cta-actions{margin-bottom:28px;position:relative}.btn-cta-main{color:var(--accent-primary);background:#fff;padding:16px 40px;font-size:1.1rem}.btn-cta-main:hover{transform:translateY(-3px);box-shadow:0 12px 40px #00000040}.cta-features{flex-wrap:wrap;justify-content:center;gap:28px;display:flex;position:relative}.cta-features span{opacity:.85;align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:inline-flex}.landing-footer{border-top:1px solid var(--border-color);padding:0 24px}.footer-inner{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;max-width:1100px;margin:0 auto;padding:64px 0 48px;display:grid}.footer-logo{color:var(--text-primary);align-items:center;gap:10px;margin-bottom:12px;font-size:1.2rem;font-weight:800;display:flex}.footer-logo svg{color:var(--accent-primary)}.footer-tagline{color:var(--text-secondary);max-width:280px;margin:0;font-size:.88rem;line-height:1.6}.footer-col h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 16px;font-size:.82rem;font-weight:700}.footer-col a{color:var(--text-secondary);transition:color var(--transition-speed), transform var(--transition-speed);padding:6px 0;font-size:.9rem;text-decoration:none;display:block}.footer-col a:hover{color:var(--text-primary);transform:translate(3px)}.footer-bottom{border-top:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);text-align:center;max-width:1100px;margin:0 auto;padding:24px 0}.footer-bottom p{color:var(--text-muted);margin:0;font-size:.82rem}.scroll-top-btn{z-index:50;background:var(--btn-primary-bg);width:44px;height:44px;color:var(--btn-primary-text);cursor:pointer;box-shadow:0 4px 20px var(--shadow-color);font-family:var(--font-family);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:32px;right:32px}.scroll-top-btn:hover{box-shadow:0 8px 30px var(--shadow-color)}@media (width<=1024px){.hero-title{font-size:3.2rem}.footer-inner{grid-template-columns:1fr 1fr;gap:40px}.features-grid,.themes-grid{gap:20px}}@media (width<=768px){.landing-nav{padding:0 16px}.nav-links{display:none}.hero-title{font-size:2.6rem}.hero-subtitle{font-size:1.05rem}.section-title{font-size:1.8rem}.features-grid{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr;gap:20px;max-width:400px;margin-inline:auto}.themes-grid{grid-template-columns:1fr;max-width:400px;margin-inline:auto}.proof-stats{gap:20px}.proof-divider{display:none}.social-proof-inner{padding:24px}.cta-content{padding:48px 28px}.cta-content h2{font-size:1.6rem}.cta-features{gap:16px}.footer-inner{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.landing-features,.landing-steps,.landing-themes{padding:60px 24px}.landing-subjects{padding:60px 0}.landing-cta{padding:60px 24px}}@media (width<=480px){.hero-title{font-size:2rem}.hero-subtitle{font-size:.95rem}.hero-actions{flex-direction:column;align-items:center}.btn-lg{justify-content:center;width:100%}.section-title{font-size:1.5rem}.section-subtitle{font-size:.92rem}.proof-stats{flex-direction:column;gap:16px}.proof-value{font-size:1.6rem}.cta-content h2{font-size:1.4rem}.cta-features{flex-direction:column;align-items:center;gap:10px}.footer-inner{grid-template-columns:1fr;gap:28px}.scroll-top-btn{width:40px;height:40px;bottom:20px;right:20px}.feature-card{padding:28px}.step-card{padding:28px 20px}.theme-card{padding:24px}}.onboarding{background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 50%, var(--bg-tertiary) 100%);min-height:100vh;font-family:var(--font-family);justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.onboarding:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 30% 20%,#7c3aed0f 0%,#0000 50%),radial-gradient(circle at 70% 80%,#3b82f60d 0%,#0000 50%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.onboarding-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;max-width:680px;box-shadow:0 4px 6px -1px var(--shadow-color), 0 10px 15px -3px var(--shadow-color), 0 20px 40px -4px var(--shadow-color);z-index:1;-webkit-backdrop-filter:blur(12px);padding:48px 40px;position:relative}.onboarding-progress{justify-content:space-between;align-items:flex-start;margin-bottom:48px;padding:0 8px;display:flex;position:relative}.progress-step{z-index:1;flex-direction:column;align-items:center;gap:10px;display:flex}.progress-dot{background:var(--bg-tertiary);width:36px;height:36px;color:var(--text-muted);border:2px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.progress-step.active .progress-dot{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:scale(1.1);box-shadow:0 0 0 4px #7c3aed26,0 4px 12px #7c3aed4d}.progress-step.completed .progress-dot{background:var(--accent-success);color:#fff;border-color:var(--accent-success);box-shadow:0 0 0 3px #22c55e1f}.progress-label{color:var(--text-muted);letter-spacing:.02em;font-size:.72rem;font-weight:600;transition:color .3s}.progress-step.active .progress-label{color:var(--accent-primary)}.progress-step.completed .progress-label{color:var(--accent-success)}.progress-bar-track{background:var(--border-color);z-index:0;border-radius:2px;height:3px;position:absolute;top:18px;left:24px;right:24px}.progress-bar-fill{background:linear-gradient(90deg, var(--accent-success), var(--accent-primary));border-radius:2px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.step-wrapper{min-height:380px;position:relative;overflow:hidden}.step-content{width:100%;animation:.4s ease-out stepFadeIn}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.step-content h2{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 8px;font-size:1.6rem;font-weight:800}.step-desc{color:var(--text-secondary);margin:0 0 32px;font-size:.95rem;line-height:1.6}.form-group{margin-bottom:24px}.form-group label{color:var(--text-primary);letter-spacing:.01em;margin-bottom:10px;font-size:.85rem;font-weight:700;display:block}.form-group input[type=text]{border:2px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);width:100%;color:var(--text-primary);font-size:1rem;font-family:var(--font-family);box-sizing:border-box;outline:none;padding:14px 18px;transition:border-color .25s,box-shadow .25s}.form-group input[type=text]:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #7c3aed1a}.form-group input[type=text]:focus-visible{border-color:var(--input-focus);box-shadow:0 0 0 3px #7c3aed26}.age-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.age-option{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:700;font-family:var(--font-family);text-align:center;padding:14px;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.age-option:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.age-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.age-option.selected{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff;transform:scale(1.02);box-shadow:0 4px 16px #7c3aed4d}.subjects-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.subject-card{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;font-family:var(--font-family);color:var(--text-primary);perspective:800px;flex-direction:column;align-items:center;gap:6px;padding:22px 14px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.subject-card:hover{border-color:var(--accent-primary);box-shadow:0 12px 28px var(--shadow-color), 0 4px 8px var(--shadow-color);transform:translateY(-4px)rotateX(2deg)rotateY(-2deg)}.subject-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.subject-card.selected{border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:0 0 0 3px #7c3aed1a, 0 8px 20px var(--shadow-color)}.subject-icon{font-size:2rem;transition:transform .3s}.subject-card:hover .subject-icon{transform:scale(1.15)}.subject-name{font-size:.9rem;font-weight:700}.subject-count{color:var(--text-muted);font-size:.72rem;font-weight:500}.subject-check{background:var(--accent-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;animation:.35s cubic-bezier(.34,1.56,.64,1) checkPop;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #7c3aed4d}@keyframes checkPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.option-row{flex-wrap:wrap;gap:10px;display:flex}.pref-option{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;min-width:110px;font-family:var(--font-family);color:var(--text-primary);flex-direction:column;flex:1;align-items:center;gap:6px;padding:16px 14px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.pref-option:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.pref-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.pref-option.selected{border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:0 0 0 3px #7c3aed1a}.pref-option strong{font-size:.95rem}.pref-option small{color:var(--text-muted);text-align:center;font-size:.75rem;line-height:1.4}.pref-option.wide{min-width:200px}.theme-options{justify-content:center;gap:16px;display:flex}.theme-card{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;font-family:var(--font-family);color:var(--text-primary);flex-direction:column;flex:1;align-items:center;gap:10px;padding:20px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.theme-card:hover{border-color:var(--accent-primary);box-shadow:0 12px 28px var(--shadow-color);transform:translateY(-4px)}.theme-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.theme-card.selected{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c3aed1f, 0 8px 24px var(--shadow-color)}.theme-preview{border-radius:var(--radius-sm);width:100%;height:64px;transition:transform .3s}.theme-card:hover .theme-preview{transform:scale(1.03)}.theme-card strong{font-size:1rem}.theme-card small{color:var(--text-muted);font-size:.8rem}.theme-check{background:var(--accent-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;animation:.35s cubic-bezier(.34,1.56,.64,1) checkPop;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #7c3aed4d}.onboarding-nav{border-top:1px solid var(--border-color);justify-content:space-between;margin-top:36px;padding-top:24px;display:flex}@media (width<=1024px){.onboarding-container{max-width:600px}}@media (width<=768px){.onboarding-container{padding:36px 28px}.step-content h2{font-size:1.4rem}.age-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=480px){.onboarding-container{padding:24px 20px}.age-grid{grid-template-columns:repeat(2,1fr)}.subjects-grid{grid-template-columns:1fr}.theme-options{flex-direction:column}.progress-label{display:none}.option-row{flex-direction:column}.pref-option.wide{min-width:auto}.step-content h2{font-size:1.25rem}}.dashboard{background:var(--bg-primary);min-height:100vh;font-family:var(--font-family);padding:32px 24px}.dashboard-content{max-width:860px;margin:0 auto}.welcome-section{margin-bottom:32px}.welcome-section h1{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary,var(--accent-primary)));-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:2rem;font-weight:800}.welcome-section p{color:var(--text-secondary);margin:0;font-size:1rem}.stats-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:0 1px 3px var(--shadow-color), 0 4px 12px var(--shadow-color);align-items:center;gap:14px;padding:18px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--accent-primary);opacity:0;height:3px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:0 4px 8px var(--shadow-color), 0 8px 24px var(--shadow-color);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-icon{border-radius:var(--radius-md);background:var(--bg-tertiary);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .25s;display:flex}.stat-card:hover .stat-icon{transform:scale(1.08)}.stat-info{flex-direction:column;display:flex}.stat-number{color:var(--text-primary);letter-spacing:-.02em;font-size:1.3rem;font-weight:800}.stat-number.capitalize{text-transform:capitalize}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.daily-challenge-card{background:var(--gradient-primary);border-radius:var(--radius-lg);cursor:pointer;color:#fff;justify-content:space-between;align-items:center;margin-bottom:36px;padding:28px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.daily-challenge-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:300px;height:300px;position:absolute;top:-50%;right:-20%}.daily-challenge-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #7c3aed59}.dc-left{z-index:1;flex:1;position:relative}.dc-badge{-webkit-backdrop-filter:blur(8px);background:#fff3;border-radius:100px;align-items:center;gap:6px;margin-bottom:12px;padding:5px 14px;font-size:.78rem;font-weight:700;animation:2s ease-in-out infinite pulseBadge;display:inline-flex}@keyframes pulseBadge{0%,to{opacity:1}50%{opacity:.75}}.daily-challenge-card h3{margin:0 0 6px;font-size:1.15rem;font-weight:700}.dc-xp{opacity:.9;font-size:.85rem;font-weight:700}.dc-right{z-index:1;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:relative}.dc-timer{opacity:.85;align-items:center;gap:6px;font-size:.85rem;display:flex}.section-heading{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 16px;font-size:1.2rem;font-weight:800}.quick-actions{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:36px;display:grid}.quick-action-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);color:var(--text-primary);box-shadow:0 1px 3px var(--shadow-color);flex-direction:column;align-items:center;gap:10px;padding:24px 14px;font-size:.85rem;font-weight:700;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.quick-action-card:hover{box-shadow:0 8px 28px var(--shadow-color);border-color:var(--accent-primary);transform:translateY(-4px)scale(1.02)}.quick-action-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.qa-icon{border-radius:var(--radius-md);background:var(--bg-tertiary);justify-content:center;align-items:center;width:52px;height:52px;transition:transform .25s,background .25s;display:flex}.quick-action-card:hover .qa-icon{background:var(--accent-primary);color:#fff;transform:scale(1.1)}.learning-paths{flex-direction:column;gap:10px;margin-bottom:36px;display:flex}.path-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;box-shadow:0 1px 3px var(--shadow-color);align-items:center;gap:16px;padding:18px 20px;transition:all .25s;display:flex;position:relative;overflow:hidden}.path-card:before{content:"";background:var(--accent-primary);opacity:0;width:3px;transition:opacity .25s;position:absolute;top:0;bottom:0;left:0}.path-card:hover{box-shadow:0 4px 16px var(--shadow-color);transform:translate(4px)}.path-card:hover:before{opacity:1}.path-info{flex:1}.path-info h4{color:var(--text-primary);margin:0 0 2px;font-size:.95rem;font-weight:700}.path-info p{color:var(--text-muted);margin:0;font-size:.8rem}.path-progress{align-items:center;gap:10px;min-width:130px;display:flex}.path-bar{background:var(--bg-tertiary);border-radius:999px;flex:1;height:6px;overflow:hidden}.path-bar-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-success));border-radius:999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.path-progress span{color:var(--text-secondary);text-align:right;min-width:32px;font-size:.8rem;font-weight:700}.path-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .25s}.path-card:hover .path-arrow{color:var(--accent-primary);transform:translate(4px)}.empty-state{text-align:center;background:var(--card-bg);border:2px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-muted);margin-bottom:36px;padding:48px 24px}.empty-state svg{opacity:.4;margin-bottom:12px}.empty-state p{margin:0 0 16px;font-size:.95rem}.badges-teaser{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);cursor:pointer;box-shadow:0 1px 3px var(--shadow-color);color:var(--accent-warning);align-items:center;gap:16px;padding:18px 24px;transition:all .25s;display:flex}.badges-teaser:hover{box-shadow:0 4px 16px var(--shadow-color);transform:translateY(-2px)}.badges-teaser div{flex:1}.badges-teaser h3{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.badges-teaser p{color:var(--text-muted);margin:0;font-size:.8rem}.badges-teaser svg:last-child{color:var(--text-muted);transition:transform .25s}.badges-teaser:hover svg:last-child{color:var(--accent-primary);transform:translate(4px)}@media (width<=1024px){.stats-row,.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard{padding:24px 16px}.stats-row,.quick-actions{grid-template-columns:repeat(2,1fr)}.daily-challenge-card{flex-direction:column;align-items:flex-start;gap:16px;padding:24px}.dc-right{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.welcome-section h1{font-size:1.5rem}}@media (width<=480px){.stats-row{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px}.stat-number{font-size:1.1rem}.quick-action-card{padding:18px 12px}.welcome-section h1{font-size:1.35rem}}.subjects-page{background:var(--bg-primary);min-height:100vh;font-family:var(--font-family);padding:32px 24px}.subjects-container{max-width:800px;margin:0 auto}.page-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 4px;font-size:1.8rem;font-weight:800}.page-desc{color:var(--text-secondary);margin:0 0 28px;font-size:1rem}.search-bar{background:var(--input-bg);border:2px solid var(--input-border);color:var(--text-muted);border-radius:100px;align-items:center;gap:12px;max-width:100%;margin-bottom:28px;padding:14px 18px;transition:border-color .25s,box-shadow .25s,max-width .3s;display:flex}.search-bar:focus-within{border-color:var(--input-focus);box-shadow:0 0 0 3px #7c3aed1a, 0 4px 12px var(--shadow-color)}.search-bar input{color:var(--text-primary);font-size:.95rem;font-family:var(--font-family);background:0 0;border:none;outline:none;flex:1}.search-bar input::placeholder{color:var(--text-muted)}.subjects-list{flex-direction:column;gap:14px;display:flex}.subject-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 1px 3px var(--shadow-color), 0 2px 8px var(--shadow-color);transition:box-shadow .25s,transform .25s;position:relative;overflow:hidden}.subject-item:before{content:"";background:var(--gradient-primary);opacity:.7;height:3px;position:absolute;top:0;left:0;right:0}.subject-item:hover{box-shadow:0 4px 8px var(--shadow-color), 0 8px 24px var(--shadow-color);transform:translateY(-2px)}.subject-header{cursor:pointer;width:100%;font-family:var(--font-family);color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:16px;padding:18px 24px;transition:background .2s;display:flex}.subject-header:hover{background:var(--bg-tertiary)}.subject-header:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.subj-icon{flex-shrink:0;font-size:2rem;transition:transform .25s}.subject-header:hover .subj-icon{transform:scale(1.1)}.subj-info{flex:1}.subj-info h3{margin:0 0 2px;font-size:1.05rem;font-weight:700}.subj-info p{color:var(--text-muted);margin:0;font-size:.8rem}.subj-count{color:var(--text-muted);white-space:nowrap;background:var(--bg-tertiary);border-radius:100px;padding:4px 10px;font-size:.78rem;font-weight:600}.subject-header svg:last-child{color:var(--text-muted);flex-shrink:0;transition:transform .25s}.subject-header:hover svg:last-child{color:var(--accent-primary)}.topics-list{border-top:1px solid var(--border-color);animation:.3s ease-out topicsSlide;overflow:hidden}@keyframes topicsSlide{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.topic-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 24px 14px 60px;transition:background .2s;display:flex}.topic-row:hover{background:var(--bg-tertiary)}.topic-row:last-child{border-bottom:none}.topic-info{align-items:center;gap:12px;display:flex}.topic-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.topic-difficulty{text-transform:uppercase;letter-spacing:.06em;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:100px;padding:3px 10px;font-size:.68rem;font-weight:700}.btn-start-topic{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-weight:700;font-family:var(--font-family);border:none;align-items:center;gap:6px;padding:8px 16px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.btn-start-topic:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 4px 12px #7c3aed4d}.btn-start-topic:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.subjects-page .empty-state{text-align:center;color:var(--text-muted);background:var(--card-bg);border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:56px 24px}.subjects-page .empty-state svg{opacity:.3;margin-bottom:12px}.subjects-page .empty-state p{margin:0;font-size:.95rem}@media (width<=1024px){.subjects-container{max-width:680px}}@media (width<=768px){.page-title{font-size:1.5rem}.topic-row{padding-left:24px}}@media (width<=480px){.subjects-page{padding:24px 16px}.page-title{font-size:1.35rem}.subject-header{padding:14px 16px}.topic-row{flex-wrap:wrap;gap:10px;padding:12px 16px}.btn-start-topic{justify-content:center;width:100%}}.lesson-page{background:var(--bg-primary);min-height:100vh;font-family:var(--font-family);padding:32px 24px}.lesson-container{max-width:760px;margin:0 auto}.lesson-loading,.lesson-error{text-align:center;min-height:60vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.lesson-loading h2,.lesson-error h2{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:700}.lesson-loading p,.lesson-error p{margin:0;font-size:.95rem}.spinner{color:var(--accent-primary);animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lesson-error svg:first-child{color:var(--accent-danger)}.lesson-header{margin-bottom:36px}.btn-back{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-family:var(--font-family);background:0 0;align-items:center;gap:6px;margin-bottom:14px;padding:8px 14px;transition:all .2s;display:inline-flex}.btn-back:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.btn-back:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.lesson-meta{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:10px;font-size:.85rem;display:flex}.lesson-subject{color:var(--accent-primary);font-weight:700}.lesson-separator{color:var(--border-color)}.lesson-progress-bar{background:var(--bg-tertiary);border-radius:999px;height:4px;overflow:hidden}.lesson-progress-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-success));border-radius:999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.lesson-title{color:var(--text-primary);letter-spacing:-.03em;margin:0 0 20px;font-size:2rem;font-weight:800;line-height:1.2}.lesson-intro{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:4px solid var(--accent-primary);margin:0 0 36px;padding:20px 24px;font-size:1.05rem;line-height:1.7;position:relative}.lesson-section{margin-bottom:36px}.lesson-section h2{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 14px;font-size:1.35rem;font-weight:800}.section-content p{color:var(--text-secondary);margin:0 0 10px;font-size:1rem;line-height:1.8}.bullet-point{padding-left:20px;position:relative}.bullet-point:before{content:"";background:var(--accent-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:10px;left:4px}.key-points{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 1px 3px var(--shadow-color);margin-top:20px;padding:20px 24px}.key-points h4{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:.9rem;font-weight:800}.key-points ul{margin:0;padding-left:20px}.key-points li{color:var(--text-secondary);margin-bottom:6px;font-size:.92rem;line-height:1.6}.lesson-summary{background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:36px;padding:24px}.lesson-summary h3{color:var(--text-primary);margin:0 0 10px;font-size:1.05rem;font-weight:800}.lesson-summary p{color:var(--text-secondary);margin:0;line-height:1.7}.quiz-prompt{text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-color), 0 8px 24px var(--shadow-color);padding:48px 40px}.quiz-prompt h3{color:var(--text-primary);margin:0 0 8px;font-size:1.25rem;font-weight:700}.quiz-prompt p{color:var(--text-secondary);margin:0 0 24px}.quiz-section{max-width:600px;margin:0 auto}.quiz-progress{margin-bottom:28px}.quiz-progress span{color:var(--text-muted);font-size:.85rem;font-weight:600}.quiz-progress-bar{background:var(--bg-tertiary);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.quiz-question h3{color:var(--text-primary);margin:0 0 24px;font-size:1.15rem;font-weight:700;line-height:1.5}.quiz-options{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.quiz-option{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);text-align:left;font-size:.95rem;font-family:var(--font-family);padding:15px 18px;transition:all .25s}.quiz-option:hover:not(:disabled){border-color:var(--accent-primary);background:var(--bg-tertiary);transform:translate(4px)}.quiz-explanation{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-bottom:20px;padding:18px}.explanation-correct,.explanation-incorrect{align-items:center;gap:8px;margin-bottom:8px;font-weight:800;display:flex}.explanation-correct{color:var(--accent-success)}.explanation-incorrect{color:var(--accent-danger)}.quiz-explanation p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}.quiz-actions{justify-content:flex-end;display:flex}.quiz-results{text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-color), 0 12px 32px var(--shadow-color);padding:56px 36px}.results-header h2{color:var(--text-primary);margin:0 0 20px;font-size:1.6rem;font-weight:800}.results-score{background:linear-gradient(135deg, var(--accent-primary), var(--accent-success));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:900;animation:.6s cubic-bezier(.34,1.56,.64,1) scorePopIn}@keyframes scorePopIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.results-percent{color:var(--text-secondary);margin:8px 0 28px;font-size:1.1rem}.results-xp{background:var(--bg-tertiary);color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow-color);border-radius:100px;margin-bottom:36px;padding:10px 24px;font-size:1rem;font-weight:800;display:inline-flex}.results-actions{justify-content:center;gap:12px;display:flex}@media (width<=768px){.lesson-title{font-size:1.6rem}.quiz-results{padding:40px 24px}}@media (width<=480px){.lesson-page{padding:24px 16px}.lesson-title{font-size:1.4rem}.lesson-intro{padding:16px 18px}.results-actions{flex-direction:column}.results-score{font-size:2.5rem}}.chat-page{background:var(--bg-primary);height:100vh;font-family:var(--font-family);display:flex;overflow:hidden}.chat-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:280px;transition:box-shadow .3s;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:18px 16px;display:flex}.sidebar-header h3{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:800}.sidebar-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;transition:color .2s,background .2s;display:none}.sidebar-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.new-chat-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:700;font-family:var(--font-family);border:none;justify-content:center;align-items:center;gap:8px;margin:14px 16px;padding:11px 16px;transition:all .25s;display:flex}.new-chat-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.new-chat-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.session-list{flex:1;padding:4px 8px;overflow-y:auto}.session-item{border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;font-size:.82rem;font-family:var(--font-family);background:0 0;border:none;align-items:center;gap:10px;padding:11px 14px;transition:all .2s;display:flex}.session-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.session-item.active{background:var(--bg-tertiary);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--accent-primary);font-weight:700}.session-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.session-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.no-sessions{text-align:center;color:var(--text-muted);padding:24px 16px;font-size:.8rem}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-topbar{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);-webkit-backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.sidebar-toggle{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-family:var(--font-family);background:0 0;align-items:center;gap:6px;padding:8px 14px;transition:all .2s;display:none}.sidebar-toggle:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.subject-select{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:.85rem;font-family:var(--font-family);outline:none;padding:8px 14px;transition:border-color .2s}.subject-select:focus{border-color:var(--input-focus)}.chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:18px;padding:24px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.chat-empty svg{opacity:.2}.chat-empty h3{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:700}.chat-empty p{max-width:360px;margin:0;font-size:.9rem}.message{gap:12px;max-width:80%;animation:.3s ease-out messageSlideIn;display:flex}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse;align-self:flex-end}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.75rem;font-weight:800;display:flex}.message.user .message-avatar{background:var(--accent-primary);color:#fff;box-shadow:0 2px 8px #7c3aed40}.message.assistant .message-avatar{background:var(--bg-tertiary);color:var(--accent-primary);border:1px solid var(--border-color)}.message-content{border-radius:var(--radius-md);padding:14px 18px;font-size:.9rem;line-height:1.7}.message.user .message-content{background:linear-gradient(135deg, var(--accent-primary), #7c3aedd9);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #7c3aed33}.message.assistant .message-content{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary);box-shadow:0 1px 4px var(--shadow-color);border-bottom-left-radius:4px}.message-content p{margin:0 0 8px}.message-content p:last-child{margin-bottom:0}.message-content h2,.message-content h3,.message-content h4{color:var(--text-primary);margin:14px 0 6px;font-weight:700}.message.user .message-content h2,.message.user .message-content h3,.message.user .message-content h4{color:#fff}.message-content code{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:2px 7px;font-family:Fira Code,Consolas,monospace;font-size:.85em}.message.user .message-content code{background:#ffffff2e;border-color:#ffffff26}.message-content pre{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin:10px 0;padding:14px 16px;font-family:Fira Code,Consolas,monospace;font-size:.85em;line-height:1.5;overflow-x:auto}.message-content li{margin-bottom:4px;margin-left:16px}.message-content.typing{color:var(--text-muted);align-items:center;gap:8px;font-style:italic;display:flex}.chat-input-bar{border-top:1px solid var(--border-color);background:var(--bg-secondary);padding:18px 24px}.input-wrapper{background:var(--input-bg);border:2px solid var(--input-border);border-radius:var(--radius-lg);align-items:flex-end;gap:10px;padding:10px 14px;transition:border-color .25s,box-shadow .25s;display:flex}.input-wrapper:focus-within{border-color:var(--input-focus);box-shadow:0 0 0 3px #7c3aed1a, 0 4px 12px var(--shadow-color)}.input-wrapper textarea{color:var(--text-primary);font-size:.9rem;font-family:var(--font-family);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;line-height:1.5}.input-wrapper textarea::placeholder{color:var(--text-muted)}.voice-btn,.send-btn{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .25s;display:flex}.voice-btn{background:var(--bg-tertiary);color:var(--text-secondary)}.voice-btn:hover{background:var(--border-color);transform:scale(1.05)}.voice-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.voice-btn.active{background:var(--accent-danger);color:#fff;animation:1.5s ease-in-out infinite voicePulse;box-shadow:0 0 0 4px #ef444433}@keyframes voicePulse{0%,to{box-shadow:0 0 0 4px #ef444433}50%{box-shadow:0 0 0 8px #ef44440d}}.send-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.send-btn:disabled{opacity:.35;cursor:not-allowed}.send-btn:not(:disabled):hover{transform:scale(1.08);box-shadow:0 3px 10px #7c3aed4d}.send-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (width<=1024px){.message{max-width:85%}}@media (width<=768px){.chat-sidebar{z-index:100;height:100vh;box-shadow:none;transition:left .3s;position:fixed;top:0;left:-100%}.chat-sidebar.open{left:0;box-shadow:4px 0 24px #00000026}.sidebar-close,.sidebar-toggle{display:flex}.message{max-width:90%}.chat-messages{padding:16px}.chat-input-bar{padding:14px 16px}}@media (width<=480px){.message{max-width:95%}.chat-topbar{padding:10px 16px}.message-content{padding:12px 14px;font-size:.88rem}}.flashcards-page{background:var(--bg-primary);min-height:100vh;font-family:var(--font-family);padding:32px 24px}.flashcards-container{max-width:640px;margin:0 auto}.fc-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.fc-actions{align-items:center;gap:10px;display:flex}.fc-filter{border:2px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:.85rem;font-family:var(--font-family);border-radius:100px;outline:none;padding:8px 16px;transition:border-color .25s,box-shadow .25s}.fc-filter:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #7c3aed1a}.generate-form{margin-bottom:28px;overflow:hidden}.gen-fields{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 1px 3px var(--shadow-color);flex-wrap:wrap;gap:10px;padding:18px;display:flex}.gen-fields select,.gen-fields input{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);min-width:150px;color:var(--text-primary);font-size:.9rem;font-family:var(--font-family);outline:none;flex:1;padding:11px 14px;transition:border-color .2s}.gen-fields select:focus,.gen-fields input:focus{border-color:var(--input-focus)}.gen-fields input::placeholder{color:var(--text-muted)}.card-viewer{flex-direction:column;align-items:center;gap:24px;display:flex}.card-progress{color:var(--text-muted);letter-spacing:.02em;font-size:.9rem;font-weight:700}.card-flip-container{perspective:1200px;cursor:pointer;width:100%;max-width:420px;height:300px}.flashcard{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.card-face{backface-visibility:hidden;border-radius:var(--radius-lg);box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:36px;display:flex;position:absolute}.card-front{background:var(--card-bg);border:2px solid var(--accent-primary);box-shadow:0 4px 12px var(--shadow-color), 0 8px 24px var(--shadow-color), 0 0 0 1px #7c3aed0d}.card-back{background:linear-gradient(135deg, var(--accent-primary), #7c3aedd9);color:#fff;transform:rotateY(180deg);box-shadow:0 4px 12px #7c3aed33,0 8px 24px #7c3aed26}.card-label{text-transform:uppercase;letter-spacing:.1em;opacity:.5;font-size:.7rem;font-weight:800;position:absolute;top:18px;left:22px}.card-face p{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:500;line-height:1.6}.card-back p{color:#fff}.card-hint{opacity:.45;font-size:.75rem;position:absolute;bottom:18px}.card-nav{justify-content:center;align-items:center;gap:24px;width:100%;display:flex}.nav-btn{border:2px solid var(--border-color);background:var(--card-bg);width:50px;height:50px;color:var(--text-primary);cursor:pointer;box-shadow:0 2px 6px var(--shadow-color);border-radius:50%;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.nav-btn:disabled{opacity:.25;cursor:not-allowed}.nav-btn:not(:disabled):hover{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 4px 12px var(--shadow-color);transform:scale(1.1)}.nav-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.card-actions{gap:10px;display:flex}.action-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);width:42px;height:42px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .25s;display:flex}.action-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-2px)}.action-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.action-btn.danger:hover{border-color:var(--accent-danger);color:var(--accent-danger)}.fc-empty{text-align:center;color:var(--text-muted);background:var(--card-bg);border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:64px 28px}.fc-empty svg{opacity:.25;margin-bottom:16px}.fc-empty h3{color:var(--text-primary);margin:0 0 8px;font-size:1.25rem;font-weight:700}.fc-empty p{margin:0 0 24px;font-size:.95rem}@media (width<=768px){.card-flip-container{max-width:100%;height:280px}}@media (width<=480px){.flashcards-page{padding:24px 16px}.fc-header{flex-direction:column}.fc-actions{width:100%}.gen-fields{flex-direction:column}.card-flip-container{height:250px}.card-face{padding:24px}.card-face p{font-size:1.05rem}}.quiz-page{background:var(--bg-primary);min-height:100vh;font-family:var(--font-family);padding:32px 24px}.quiz-container{max-width:640px;margin:0 auto}.quiz-loading{text-align:center;min-height:60vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.quiz-loading h2{color:var(--text-primary);margin:0;font-weight:700}.quiz-loading p{margin:0}.quiz-setup{padding:20px 0}.setup-form{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-color), 0 8px 24px var(--shadow-color);padding:36px}.setup-form .form-group{margin-bottom:24px}.setup-form label{color:var(--text-primary);margin-bottom:10px;font-size:.88rem;font-weight:700;display:block}.setup-form select{border:2px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--text-primary);font-size:.9rem;font-family:var(--font-family);outline:none;padding:12px 14px;transition:border-color .2s}.setup-form select:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #7c3aed1a}.count-options{gap:10px;display:flex}.count-btn{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:800;font-family:var(--font-family);flex:1;padding:12px;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.count-btn:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.count-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.count-btn.selected{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff;box-shadow:0 4px 12px #7c3aed4d}.quiz-topbar{margin-bottom:28px}.quiz-progress-info{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.quiz-progress-info span{color:var(--text-muted);font-size:.85rem;font-weight:600}.quiz-timer{color:var(--text-secondary);align-items:center;gap:5px;font-size:.85rem;font-weight:700;display:flex}.quiz-progress-bar{background:var(--bg-tertiary);border-radius:999px;height:6px;overflow:hidden}.quiz-progress-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-success));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.question-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-color), 0 8px 24px var(--shadow-color);padding:36px;animation:.35s ease-out questionSlide}@keyframes questionSlide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.question-card h3{color:var(--text-primary);margin:0 0 28px;font-size:1.15rem;font-weight:700;line-height:1.5}.options-list{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.quiz-option{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);text-align:left;font-size:.9rem;font-family:var(--font-family);align-items:center;gap:12px;padding:16px 18px;transition:all .25s;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.quiz-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.quiz-option.selected{border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:0 0 0 3px #7c3aed1a}.quiz-option.correct{border-color:var(--accent-success);background:#22c55e14;box-shadow:0 0 0 3px #22c55e1a,0 0 16px #22c55e1a}.quiz-option.incorrect{border-color:var(--accent-danger);background:#ef444414;box-shadow:0 0 0 3px #ef44441a,0 0 16px #ef44441a}.option-letter{background:var(--bg-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:800;transition:all .25s;display:flex}.quiz-option.selected .option-letter{background:var(--accent-primary);color:#fff}.quiz-option.correct .option-letter{background:var(--accent-success);color:#fff}.quiz-option.incorrect .option-letter{background:var(--accent-danger);color:#fff}.explanation-box{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-bottom:24px;padding:18px;animation:.3s ease-out fadeSlideUp}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.exp-header{align-items:center;gap:8px;margin-bottom:10px;font-weight:800;display:flex}.exp-header.correct{color:var(--accent-success)}.exp-header.incorrect{color:var(--accent-danger)}.explanation-box p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.6}.question-actions{justify-content:flex-end;display:flex}.quiz-complete{text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-color), 0 12px 32px var(--shadow-color);padding:56px 36px}.quiz-complete h2{color:var(--text-primary);margin:16px 0;font-size:1.6rem;font-weight:800}.score-display{margin:28px 0}.score-big{background:linear-gradient(135deg, var(--accent-primary), var(--accent-success));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:900;animation:.6s cubic-bezier(.34,1.56,.64,1) scorePopIn;display:block}.score-detail{color:var(--text-secondary);font-size:1rem}.quiz-stats{justify-content:center;gap:28px;margin-bottom:28px;display:flex}.qstat{color:var(--text-secondary);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.answer-breakdown{text-align:left;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin:28px 0;padding:20px}.breakdown-item{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:10px 0;font-size:.85rem;transition:background .2s;display:flex}.breakdown-item:last-child{border-bottom:none}.breakdown-item.correct .breakdown-icon{color:var(--accent-success)}.breakdown-item.incorrect .breakdown-icon{color:var(--accent-danger)}.breakdown-text{color:var(--text-secondary)}.quiz-final-actions{justify-content:center;gap:12px;margin-top:28px;display:flex}@media (width<=768px){.options-list{grid-template-columns:1fr}}@media (width<=480px){.quiz-page{padding:24px 16px}.question-card{padding:24px}.quiz-final-actions{flex-direction:column}.setup-form{padding:24px}.score-big{font-size:3rem}}.dc-page{background:var(--bg-primary);min-height:100vh;font-family:var(--font-family);padding:32px 24px}.dc-container{max-width:600px;margin:0 auto}.dc-loading{text-align:center;min-height:60vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.dc-loading h2{color:var(--text-primary);margin:0;font-weight:700}.dc-header{background:linear-gradient(135deg, var(--accent-primary), #7c3aedcc);border-radius:var(--radius-lg);color:#fff;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px;display:flex;position:relative;overflow:hidden}.dc-header:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff1f 0%,#0000 70%);width:200px;height:200px;position:absolute;top:-40%;right:-15%}.dc-title-row{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.dc-title-row h1{color:#fff;letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.dc-timer{color:#fff;-webkit-backdrop-filter:blur(8px);z-index:1;background:#fff3;border-radius:100px;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;font-weight:700;display:flex;position:relative}.dc-progress{margin-bottom:28px}.dc-progress span{color:var(--text-muted);font-size:.82rem;font-weight:600}.dc-progress-bar{background:var(--bg-tertiary);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.dc-progress-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-success));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.dc-question{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-color), 0 8px 24px var(--shadow-color);padding:32px;animation:.35s ease-out questionSlideIn}@keyframes questionSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dc-subject-badge{background:var(--bg-tertiary);color:var(--accent-primary);border-radius:100px;margin-bottom:14px;padding:5px 14px;font-size:.75rem;font-weight:700;display:inline-block}.dc-question h3{color:var(--text-primary);margin:0 0 24px;font-size:1.12rem;font-weight:700;line-height:1.55}.dc-options{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.dc-option{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);text-align:left;cursor:pointer;font-size:.9rem;font-family:var(--font-family);padding:14px 18px;transition:all .25s}.dc-option:hover:not(:disabled){border-color:var(--accent-primary);background:var(--bg-tertiary);transform:translate(4px)}.dc-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.dc-option.selected{border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:0 0 0 3px #7c3aed1a}.dc-option.correct{border-color:var(--accent-success);background:#22c55e14;box-shadow:0 0 0 3px #22c55e1a,0 0 16px #22c55e14}.dc-option.incorrect{border-color:var(--accent-danger);background:#ef444414;box-shadow:0 0 0 3px #ef44441a,0 0 16px #ef444414}.dc-explanation{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-bottom:24px;padding:18px;animation:.3s ease-out fadeSlideUp}.dc-exp-header{align-items:center;gap:8px;margin-bottom:8px;font-weight:800;display:flex}.dc-exp-header.correct{color:var(--accent-success)}.dc-exp-header.incorrect{color:var(--accent-danger)}.dc-explanation p{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.6}.dc-actions{justify-content:flex-end;display:flex}.dc-results,.dc-completed-msg{text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-color), 0 12px 32px var(--shadow-color);padding:56px 36px}.dc-results h2,.dc-completed-msg h2{color:var(--text-primary);margin:16px 0 10px;font-size:1.6rem;font-weight:800}.dc-completed-msg p{color:var(--text-secondary);margin:0 0 28px}.dc-score{margin:28px 0 20px}.dc-score-big{background:linear-gradient(135deg, var(--accent-primary), var(--accent-success));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:900;animation:.6s cubic-bezier(.34,1.56,.64,1) scorePopIn;display:block}.dc-score-label{color:var(--text-muted);font-size:.9rem}.dc-xp-earned{background:var(--bg-tertiary);color:var(--accent-primary);box-shadow:0 2px 8px var(--shadow-color);border-radius:100px;align-items:center;gap:10px;margin-bottom:28px;padding:12px 28px;font-weight:800;animation:.5s cubic-bezier(.34,1.56,.64,1) .3s both xpBounce;display:inline-flex}@keyframes xpBounce{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.dc-breakdown{text-align:left;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:28px;padding:20px}.dc-breakdown-item{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:10px 0;font-size:.85rem;display:flex}.dc-breakdown-item:last-child{border-bottom:none}.dc-breakdown-item.correct svg{color:var(--accent-success)}.dc-breakdown-item.incorrect svg{color:var(--accent-danger)}.dc-breakdown-item span:first-of-type{color:var(--text-secondary);flex:1}.dc-breakdown-xp{color:var(--text-muted);font-weight:700}@media (width<=768px){.dc-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=480px){.dc-page{padding:24px 16px}.dc-question{padding:24px}.dc-header{padding:20px}.dc-title-row h1{font-size:1.25rem}.dc-results,.dc-completed-msg{padding:40px 24px}.dc-score-big{font-size:2.5rem}}.settings-page{background:var(--bg-primary);min-height:100vh;font-family:var(--font-family);padding:32px 24px}.settings-container{max-width:640px;margin:0 auto}.saved-toast{background:var(--accent-success);color:#fff;z-index:100;border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:.82rem;font-weight:700;animation:.4s cubic-bezier(.34,1.56,.64,1) toastSlideIn;display:inline-flex;position:fixed;top:24px;right:24px;box-shadow:0 4px 16px #22c55e4d}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.settings-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 1px 3px var(--shadow-color), 0 4px 12px var(--shadow-color);margin-bottom:18px;padding:28px;transition:box-shadow .25s}.settings-section:hover{box-shadow:0 2px 6px var(--shadow-color), 0 6px 18px var(--shadow-color)}.section-header{color:var(--accent-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;display:flex}.section-header h2{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:800}.setting-row{margin-bottom:20px}.setting-row:last-child{margin-bottom:0}.setting-row label{color:var(--text-secondary);margin-bottom:10px;font-size:.85rem;font-weight:700;display:block}.setting-row input,.setting-row select{border:2px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--text-primary);font-size:.9rem;font-family:var(--font-family);box-sizing:border-box;outline:none;padding:12px 14px;transition:border-color .25s,box-shadow .25s}.setting-row input:focus,.setting-row select:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #7c3aed1a}.setting-row input:focus-visible,.setting-row select:focus-visible{border-color:var(--input-focus);box-shadow:0 0 0 3px #7c3aed26}.option-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:700;font-family:var(--font-family);border-radius:100px;padding:9px 18px;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.chip:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.chip:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.chip.active{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff;box-shadow:0 3px 10px #7c3aed40}.avatar-placeholder{background:var(--gradient-primary);color:#fff;border:3px solid var(--card-bg);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.5rem;font-weight:800;display:flex;box-shadow:0 4px 12px #7c3aed40}.theme-grid{gap:14px;display:flex}.theme-option{border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);cursor:pointer;font-family:var(--font-family);color:var(--text-primary);flex-direction:column;flex:1;align-items:center;gap:10px;padding:18px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.theme-option:hover{border-color:var(--accent-primary);box-shadow:0 8px 20px var(--shadow-color);transform:translateY(-3px)}.theme-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.theme-option.active{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c3aed1f, 0 8px 20px var(--shadow-color)}.theme-swatch{border-radius:var(--radius-md);width:100%;height:44px;transition:transform .25s}.theme-option:hover .theme-swatch{transform:scale(1.03)}.theme-option strong{font-size:.9rem}.theme-option small{color:var(--text-muted);font-size:.75rem}.toggle-options{gap:10px;display:flex}.toggle-option{border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;font-family:var(--font-family);color:var(--text-primary);flex-direction:column;flex:1;align-items:center;gap:6px;padding:16px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.toggle-option:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.toggle-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.toggle-option.active{border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:0 0 0 3px #7c3aed1a}.toggle-option strong{font-size:.9rem}.toggle-option small{color:var(--text-muted);text-align:center;font-size:.75rem;line-height:1.4}.toggle-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-row div{flex-direction:column;gap:2px;display:flex}.toggle-row div:has(svg){flex-flow:wrap;align-items:center;gap:8px}.toggle-row strong{color:var(--text-primary);font-size:.9rem}.toggle-row small{color:var(--text-muted);font-size:.75rem}.switch{flex-shrink:0;width:48px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .slider{cursor:pointer;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:13px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.switch .slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:2px;left:2px;box-shadow:0 1px 3px #00000026}.switch input:checked+.slider{background:var(--accent-primary);border-color:var(--accent-primary)}.switch input:checked+.slider:before{transform:translate(22px)}.switch input:focus-visible+.slider{box-shadow:0 0 0 3px #7c3aed33}.danger-zone{background:linear-gradient(135deg, var(--card-bg), #ef444408);border-color:#ef44444d}.danger-zone .section-header{color:var(--accent-danger);border-bottom-color:#ef444426}.danger-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.danger-row:last-child{border-bottom:none}.danger-row div{flex:1}.danger-row strong{color:var(--text-primary);font-size:.9rem;display:block}.danger-row small{color:var(--text-muted);font-size:.75rem}.btn-danger{border:2px solid var(--accent-danger);border-radius:var(--radius-sm);color:var(--accent-danger);cursor:pointer;font-size:.82rem;font-weight:700;font-family:var(--font-family);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:9px 18px;transition:all .25s;display:inline-flex}.btn-danger:hover,.btn-danger.confirming{background:var(--accent-danger);color:#fff;box-shadow:0 4px 12px #ef444440}.btn-danger:focus-visible{outline:2px solid var(--accent-danger);outline-offset:2px}@media (width<=768px){.theme-grid{gap:10px}}@media (width<=480px){.settings-page{padding:24px 16px}.settings-section{padding:22px 18px}.theme-grid,.toggle-options{flex-direction:column}.danger-row{flex-direction:column;align-items:flex-start;gap:12px}}.badges-page{background:var(--bg-primary);min-height:100vh;font-family:var(--font-family);padding:32px 24px}.badges-container{max-width:760px;margin:0 auto}.badges-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.badges-summary{align-items:center;gap:10px;display:flex}.badge-count{background:linear-gradient(135deg, var(--accent-primary), var(--accent-warning));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:900}.overall-progress{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 1px 3px var(--shadow-color);align-items:center;gap:14px;margin-bottom:36px;padding:16px 20px;display:flex}.overall-bar{background:var(--bg-tertiary);border-radius:999px;flex:1;height:8px;overflow:hidden}.overall-fill{background:var(--gradient-primary);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.overall-progress span{color:var(--text-secondary);white-space:nowrap;font-size:.85rem;font-weight:700}.badge-category{margin-bottom:36px}.category-title{color:var(--text-primary);border-bottom:2px solid var(--border-color);letter-spacing:-.01em;margin:0 0 18px;padding-bottom:10px;font-size:1.1rem;font-weight:800;position:relative}.category-title:after{content:"";background:var(--accent-primary);width:40px;height:2px;position:absolute;bottom:-2px;left:0}.badges-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.badge-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-family);box-shadow:0 1px 3px var(--shadow-color);flex-direction:column;align-items:center;gap:10px;padding:24px 14px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.badge-card.locked{opacity:.45;filter:grayscale(.8)}.badge-card.earned{border-color:var(--accent-warning);box-shadow:0 1px 3px var(--shadow-color), 0 0 20px #eab3081a}.badge-card:hover{opacity:1;filter:none;box-shadow:0 8px 24px var(--shadow-color);transform:translateY(-4px)scale(1.03)}.badge-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.badge-card.earned:hover{box-shadow:0 8px 24px var(--shadow-color), 0 0 24px #eab30826}.badge-icon-wrapper{justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative}.badge-emoji{font-size:2.2rem;transition:transform .3s}.badge-card:hover .badge-emoji{transform:scale(1.15)}.badge-lock{background:var(--bg-tertiary);border:2px solid var(--border-color);width:22px;height:22px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-4px;right:-4px}.badge-name{color:var(--text-primary);text-align:center;font-size:.75rem;font-weight:700;line-height:1.3}.badge-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:24px;animation:.2s overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.badge-modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:400px;padding:44px 36px;animation:.35s cubic-bezier(.34,1.56,.64,1) modalPopIn;position:relative;box-shadow:0 20px 60px #0000004d}@keyframes modalPopIn{0%{opacity:0;transform:scale(.9)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;transition:all .2s;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.modal-badge-icon{border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:0 auto 20px;font-size:2.8rem;display:flex}.modal-badge-icon.earned{background:var(--bg-tertiary);border:3px solid var(--accent-warning);animation:2s ease-in-out infinite earnedGlow;box-shadow:0 0 24px #eab30833}@keyframes earnedGlow{0%,to{box-shadow:0 0 24px #eab30833}50%{box-shadow:0 0 32px #eab30859}}.modal-badge-icon.locked{background:var(--bg-tertiary);border:3px solid var(--border-color);filter:grayscale(.8);opacity:.5}.badge-modal h3{color:var(--text-primary);margin:0 0 8px;font-size:1.35rem;font-weight:800}.modal-desc{color:var(--text-secondary);margin:0 0 4px;font-size:.95rem;line-height:1.5}.modal-category{color:var(--text-muted);margin:0 0 24px;font-size:.8rem}.modal-progress{margin-bottom:20px}.modal-bar{background:var(--bg-tertiary);border-radius:999px;height:8px;margin-bottom:8px;overflow:hidden}.modal-bar-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-success));border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.modal-progress span{color:var(--text-muted);font-size:.8rem;font-weight:600}.modal-earned{color:var(--accent-warning);background:#eab3081a;border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:700;display:inline-flex}@media (width<=1024px){.badges-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.badges-grid{grid-template-columns:repeat(3,1fr);gap:12px}}@media (width<=480px){.badges-page{padding:24px 16px}.badges-grid{grid-template-columns:repeat(2,1fr);gap:10px}.badge-modal{padding:32px 24px}.badge-card{padding:18px 10px}}.app-layout{background:var(--bg-primary);min-height:100vh;display:flex}.app-main{min-width:0;transition:margin-left var(--transition-speed);flex-direction:column;flex:1;margin-left:260px;display:flex}.app-content{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin-top:64px;padding:24px 32px;overflow-y:auto}@media (width<=1024px){.app-main{margin-left:0}.app-content{margin-top:60px;padding:20px 16px}}@media (width<=640px){.app-content{padding:16px 12px}}[data-theme=fun]{--bg-primary:#faf5ff;--bg-secondary:#f3e8ff;--bg-tertiary:#ede9fe;--text-primary:#1e1033;--text-secondary:#6b5589;--text-muted:#a392b8;--accent-primary:#7c3aed;--accent-secondary:#f97316;--accent-success:#10b981;--accent-warning:#f59e0b;--accent-danger:#ef4444;--accent-info:#6366f1;--border-color:#e4d5f5;--border-color-subtle:#f0e6fa;--shadow-color:#7c3aed1a;--shadow-color-strong:#7c3aed33;--card-bg:#fff;--card-border:#eee5f8;--card-shadow:0 1px 3px #7c3aed0f, 0 6px 20px #7c3aed14;--card-shadow-hover:0 4px 12px #7c3aed1a, 0 12px 32px #7c3aed24;--input-bg:#fff;--input-border:#ddd0ee;--input-focus:#7c3aed;--input-focus-ring:#7c3aed33;--nav-bg:#ffffffd1;--nav-bg-solid:#fff;--nav-text:#1e1033;--nav-border:#e4d5f599;--sidebar-bg:#fff;--sidebar-border:#f0e6fa;--sidebar-item-hover:#7c3aed0f;--sidebar-item-active-bg:#7c3aed1a;--sidebar-item-active-border:#7c3aed;--btn-primary-bg:#7c3aed;--btn-primary-text:#fff;--btn-primary-hover:#6d28d9;--btn-primary-shadow:0 2px 8px #7c3aed4d;--btn-secondary-bg:#f3e8ff;--btn-secondary-text:#7c3aed;--btn-secondary-hover:#ede0fc;--btn-ghost-hover:#7c3aed0f;--gradient-primary:linear-gradient(135deg, #7c3aed 0%, #f97316 100%);--gradient-subtle:linear-gradient(135deg, #7c3aed14 0%, #f973160f 100%);--gradient-card:linear-gradient(180deg, #fff 0%, #faf5ff 100%);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--font-family:"Space Grotesk", "Inter", system-ui, -apple-system, sans-serif;--transition-fast:.12s;--transition-speed:.2s;--transition-slow:.35s;--scrollbar-thumb:#d4bfee;--scrollbar-track:#f3e8ff;--selection-bg:#7c3aed33;--selection-text:#1e1033;--focus-ring:0 0 0 2px #faf5ff, 0 0 0 4px #7c3aed80;--badge-glow:none}[data-theme=minimal]{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--accent-primary:#111827;--accent-secondary:#6b7280;--accent-success:#059669;--accent-warning:#d97706;--accent-danger:#dc2626;--accent-info:#2563eb;--border-color:#e5e7eb;--border-color-subtle:#f0f1f3;--shadow-color:#0000000a;--shadow-color-strong:#00000014;--card-bg:#fff;--card-border:#e5e7eb;--card-shadow:0 1px 2px #0000000a, 0 1px 4px #00000008;--card-shadow-hover:0 2px 8px #0000000f, 0 4px 16px #0000000a;--input-bg:#fff;--input-border:#d1d5db;--input-focus:#111827;--input-focus-ring:#1118271f;--nav-bg:#ffffffeb;--nav-bg-solid:#fff;--nav-text:#111827;--nav-border:#e5e7eb;--sidebar-bg:#f9fafb;--sidebar-border:#e5e7eb;--sidebar-item-hover:#1118270a;--sidebar-item-active-bg:#1118270f;--sidebar-item-active-border:#111827;--btn-primary-bg:#111827;--btn-primary-text:#fff;--btn-primary-hover:#1f2937;--btn-primary-shadow:0 1px 4px #0000001f;--btn-secondary-bg:#f3f4f6;--btn-secondary-text:#374151;--btn-secondary-hover:#e5e7eb;--btn-ghost-hover:#1118270a;--gradient-primary:linear-gradient(135deg, #111827 0%, #374151 100%);--gradient-subtle:linear-gradient(135deg, #11182708 0%, #37415105 100%);--gradient-card:linear-gradient(180deg, #fff 0%, #f9fafb 100%);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-family:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:.1s;--transition-speed:.15s;--transition-slow:.25s;--scrollbar-thumb:#d1d5db;--scrollbar-track:#f3f4f6;--selection-bg:#1118271f;--selection-text:#111827;--focus-ring:0 0 0 2px #fff, 0 0 0 4px #1118274d;--badge-glow:none}[data-theme=dark]{--bg-primary:#0f0f23;--bg-secondary:#1a1a3e;--bg-tertiary:#252552;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#818cf8;--accent-secondary:#38bdf8;--accent-success:#34d399;--accent-warning:#fbbf24;--accent-danger:#f87171;--accent-info:#60a5fa;--border-color:#2e2e5a;--border-color-subtle:#222248;--shadow-color:#0000004d;--shadow-color-strong:#00000080;--card-bg:#1a1a3e;--card-border:#2e2e5a;--card-shadow:0 2px 8px #0003, 0 0 1px #818cf81a;--card-shadow-hover:0 4px 16px #0000004d, 0 0 20px #818cf814;--input-bg:#1a1a3e;--input-border:#2e2e5a;--input-focus:#818cf8;--input-focus-ring:#818cf840;--nav-bg:#0f0f23cc;--nav-bg-solid:#0f0f23;--nav-text:#e2e8f0;--nav-border:#2e2e5a80;--sidebar-bg:#131336;--sidebar-border:#2e2e5a;--sidebar-item-hover:#818cf814;--sidebar-item-active-bg:#818cf81f;--sidebar-item-active-border:#818cf8;--btn-primary-bg:#818cf8;--btn-primary-text:#0f0f23;--btn-primary-hover:#6366f1;--btn-primary-shadow:0 2px 12px #818cf84d;--btn-secondary-bg:#252552;--btn-secondary-text:#c7d2fe;--btn-secondary-hover:#2e2e5a;--btn-ghost-hover:#818cf814;--gradient-primary:linear-gradient(135deg, #818cf8 0%, #38bdf8 100%);--gradient-subtle:linear-gradient(135deg, #818cf814 0%, #38bdf80f 100%);--gradient-card:linear-gradient(180deg, #1e1e44 0%, #1a1a3e 100%);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--font-family:"Inter", system-ui, -apple-system, sans-serif;--transition-fast:.12s;--transition-speed:.2s;--transition-slow:.35s;--scrollbar-thumb:#2e2e5a;--scrollbar-track:#131336;--selection-bg:#818cf84d;--selection-text:#e2e8f0;--focus-ring:0 0 0 2px #0f0f23, 0 0 0 4px #818cf880;--badge-glow:0 0 8px #818cf84d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background-color var(--transition-speed) ease, color var(--transition-speed) ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}::selection{background-color:var(--selection-bg);color:var(--selection-text)}::selection{background-color:var(--selection-bg);color:var(--selection-text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}:focus-visible{box-shadow:var(--focus-ring);outline:none}:focus:not(:focus-visible){outline:none}img,svg{max-width:100%;display:block}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}a{color:var(--accent-primary);transition:color var(--transition-speed) ease, opacity var(--transition-speed) ease;text-decoration:none}a:hover{opacity:.85}ul,ol{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.01em;font-weight:700;line-height:1.2}p{color:var(--text-secondary);line-height:1.7}.text-xs{font-size:.75rem;line-height:1.5}.text-sm{font-size:.875rem;line-height:1.5}.text-base{font-size:1rem;line-height:1.6}.text-lg{font-size:1.125rem;line-height:1.5}.text-xl{font-size:1.25rem;line-height:1.4}.text-2xl{font-size:1.5rem;line-height:1.3}.text-3xl{font-size:1.875rem;line-height:1.25}.text-4xl{letter-spacing:-.02em;font-size:2.25rem;line-height:1.2}.text-5xl{letter-spacing:-.03em;font-size:3rem;line-height:1.15}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent-primary)}.text-success{color:var(--accent-success)}.text-warning{color:var(--accent-warning)}.text-danger{color:var(--accent-danger)}.text-center{text-align:center}.text-right{text-align:right}.text-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:.25rem}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.gap-xl{gap:2rem}.gap-2xl{gap:3rem}.flex-1{flex:1}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.m-0{margin:0}.mt-xs{margin-top:.25rem}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.mt-2xl{margin-top:3rem}.mb-xs{margin-bottom:.25rem}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.mb-2xl{margin-bottom:3rem}.p-0{padding:0}.p-xs{padding:.25rem}.p-sm{padding:.5rem}.p-md{padding:1rem}.p-lg{padding:1.5rem}.p-xl{padding:2rem}.p-2xl{padding:3rem}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--card-shadow);transition:box-shadow var(--transition-speed) ease, transform var(--transition-speed) ease, border-color var(--transition-speed) ease;padding:1.5rem;position:relative;overflow:hidden}.card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--border-color)}.card-clickable{cursor:pointer}.card-clickable:hover{transform:translateY(-3px)}.card-clickable:active{transition-duration:var(--transition-fast);transform:translateY(-1px)}.card-gradient{background:var(--gradient-card)}.card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.card-title{color:var(--text-primary);font-size:1.125rem;font-weight:600}.card-body{color:var(--text-secondary);line-height:1.6}.card-footer{border-top:1px solid var(--border-color);margin-top:1.25rem;padding-top:1rem}.card-highlight{border-left:3px solid var(--accent-primary)}.btn{border-radius:var(--radius-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all var(--transition-speed) ease;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.4;display:inline-flex;position:relative;overflow:hidden}.btn:active:not(:disabled){transition-duration:var(--transition-fast);transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-sm{border-radius:var(--radius-sm);padding:.375rem .875rem;font-size:.8125rem}.btn-md{padding:.625rem 1.25rem;font-size:.9375rem}.btn-lg{border-radius:var(--radius-md);padding:.875rem 1.75rem;font-size:1.0625rem}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover:not(:disabled){background-color:var(--btn-primary-hover);box-shadow:var(--btn-primary-shadow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.98)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover);transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--btn-ghost-hover);color:var(--text-primary)}.btn-danger{background-color:var(--accent-danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}.btn-success{background-color:var(--accent-success);color:#fff}.btn-success:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}.btn-gradient{background:var(--gradient-primary);color:#fff;border:none}.btn-gradient:hover:not(:disabled){box-shadow:0 4px 16px var(--shadow-color-strong);filter:brightness(1.05);transform:translateY(-1px)}.btn-outline{border:1.5px solid var(--border-color);color:var(--text-primary);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary);background-color:var(--btn-ghost-hover)}.btn-block{width:100%}.btn-icon{border-radius:var(--radius-sm);padding:.5rem}.btn-icon-lg{padding:.75rem}.input{background-color:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease, background-color var(--transition-speed) ease;outline:none;padding:.625rem .875rem;font-size:.9375rem}.input:hover:not(:focus):not(:disabled){border-color:var(--text-muted)}.input:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-ring)}.input:disabled{opacity:.5;cursor:not-allowed}.input::placeholder{color:var(--text-muted)}.input-lg{border-radius:var(--radius-md);padding:.875rem 1rem;font-size:1.0625rem}.input-sm{padding:.375rem .625rem;font-size:.8125rem}.textarea{background-color:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:vertical;min-height:80px;transition:border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;outline:none;padding:.75rem .875rem;font-size:.9375rem}.textarea:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-ring)}.select{background-color:var(--input-bg);border:1.5px solid var(--input-border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;transition:border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none;padding:.625rem 2rem .625rem .875rem;font-size:.9375rem}.select:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-ring)}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.form-hint{color:var(--text-muted);font-size:.75rem}.form-error{color:var(--accent-danger);font-size:.75rem;font-weight:500}.badge{white-space:nowrap;letter-spacing:.01em;box-shadow:var(--badge-glow);border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background-color:var(--accent-primary);color:#fff}.badge-secondary{background-color:var(--bg-tertiary);color:var(--text-secondary)}.badge-success{color:var(--accent-success);background-color:#10b9811f;border:1px solid #10b98133}.badge-warning{color:var(--accent-warning);background-color:#f59e0b1f;border:1px solid #f59e0b33}.badge-danger{color:var(--accent-danger);background-color:#ef44441f;border:1px solid #ef444433}.badge-info{color:var(--accent-info);background-color:#6366f11f;border:1px solid #6366f133}.badge-outline{border:1.5px solid var(--border-color);color:var(--text-secondary);background-color:#0000}.badge-lg{padding:.375rem .875rem;font-size:.875rem}.badge-sm{padding:.125rem .5rem;font-size:.6875rem}.badge-success-solid{background-color:var(--accent-success);color:#fff}.badge-warning-solid{background-color:var(--accent-warning);color:#1a1a1a}.badge-danger-solid{background-color:var(--accent-danger);color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1100;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) modalIn;overflow-y:auto;box-shadow:0 24px 80px #00000040}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{font-size:1.125rem;font-weight:700}.modal-close{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--text-muted);transition:all var(--transition-speed) ease;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.toast-container{z-index:2000;flex-direction:column;gap:.5rem;width:calc(100% - 2rem);max-width:400px;display:flex;position:fixed;top:1rem;right:1rem}.toast{border-radius:var(--radius-md);background-color:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 8px 32px var(--shadow-color-strong);-webkit-backdrop-filter:blur(8px);align-items:flex-start;gap:.75rem;padding:1rem 1.125rem;animation:.35s cubic-bezier(.16,1,.3,1) toastSlideIn;display:flex}.toast-exit{animation:.25s forwards toastSlideOut}.toast-icon{flex-shrink:0;margin-top:.125rem;font-size:1.25rem}.toast-content{flex:1;min-width:0}.toast-title{color:var(--text-primary);margin-bottom:.125rem;font-size:.875rem;font-weight:600}.toast-message{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.toast-dismiss{color:var(--text-muted);transition:color var(--transition-speed) ease;flex-shrink:0;padding:.125rem;font-size:1rem}.toast-dismiss:hover{color:var(--text-primary)}.toast-success{border-left:3px solid var(--accent-success)}.toast-error{border-left:3px solid var(--accent-danger)}.toast-warning{border-left:3px solid var(--accent-warning)}.toast-info{border-left:3px solid var(--accent-primary)}.progress-bar{background-color:var(--bg-tertiary);border-radius:999px;width:100%;height:.5rem;position:relative;overflow:hidden}.progress-bar-fill{background:var(--gradient-primary);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%);animation:2s infinite progressShine;position:absolute;inset:0}.progress-bar-sm{height:.25rem}.progress-bar-lg{height:.75rem}.avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:700;display:flex;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-sm{width:2rem;height:2rem;font-size:.8rem}.avatar-lg{width:3.5rem;height:3.5rem;font-size:1.25rem}.avatar-xl{width:5rem;height:5rem;font-size:1.75rem}.avatar-bordered{box-shadow:0 0 0 2px var(--accent-primary);background-clip:padding-box;border:2px solid #0000}.avatar-status{position:relative}.avatar-status:after{content:"";background:var(--accent-success);border:2px solid var(--card-bg);border-radius:50%;width:10px;height:10px;position:absolute;bottom:1px;right:1px}.chip{background-color:var(--bg-tertiary);color:var(--text-secondary);transition:all var(--transition-speed) ease;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.chip:hover,.chip-active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.divider{background-color:var(--border-color);border:none;width:100%;height:1px;margin:1rem 0}.divider-subtle{background-color:var(--border-color-subtle)}.spinner{border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:1.5rem;height:1.5rem;animation:.7s linear infinite spin}.spinner-sm{border-width:1.5px;width:1rem;height:1rem}.spinner-lg{border-width:3px;width:2.5rem;height:2.5rem}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 0%, var(--bg-secondary) 40%, var(--bg-tertiary) 80%);border-radius:var(--radius-sm);background-size:300% 100%;animation:1.8s ease-in-out infinite shimmer}.skeleton-text{width:100%;height:.875rem;margin-bottom:.5rem}.skeleton-text:last-child{width:70%}.skeleton-title{width:60%;height:1.25rem;margin-bottom:.75rem}.skeleton-circle{border-radius:50%;width:2.5rem;height:2.5rem}.skeleton-card{border-radius:var(--radius-md);height:120px}.tooltip-wrapper{display:inline-flex;position:relative}.tooltip{background-color:var(--text-primary);color:var(--bg-primary);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-speed) ease, transform var(--transition-speed) ease;z-index:100;padding:.375rem .75rem;font-size:.75rem;font-weight:500;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)translateY(4px)}.tooltip-wrapper:hover .tooltip{opacity:1;transform:translate(-50%)translateY(0)}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.empty-state-title{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.empty-state-text{max-width:320px;font-size:.875rem;line-height:1.5}.hidden{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.relative{position:relative}.w-full{width:100%}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:999px}.shadow-sm{box-shadow:var(--card-shadow)}.shadow-md{box-shadow:var(--card-shadow-hover)}.border{border:1px solid var(--border-color)}.border-subtle{border:1px solid var(--border-color-subtle)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(100%)scale(.95)}}@keyframes shimmer{0%{background-position:300% 0}to{background-position:-300% 0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(-100px)rotate(720deg)}}.animate-fadeIn{animation:.3s fadeIn}.animate-slideUp{animation:.3s slideUp}.animate-slideDown{animation:.3s slideDown}.animate-bounceIn{animation:.4s cubic-bezier(.16,1,.3,1) bounceIn}.animate-scaleIn{animation:.3s cubic-bezier(.16,1,.3,1) scaleIn}.animate-pulse{animation:1.5s infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.animate-shake{animation:.4s shake}.page-transition{animation:.25s fadeIn,.3s cubic-bezier(.16,1,.3,1) slideUp}@media (width<=640px){.container{padding:0 1rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-mobile{display:none!important}.modal{max-width:100%;margin:.5rem}.toast-container{max-width:100%;left:1rem;right:1rem}.text-4xl{font-size:1.875rem}.text-5xl{font-size:2.25rem}}@media (width>=641px) and (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.hide-tablet{display:none!important}}@media (width>=1025px){.hide-desktop{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
