.app-toast{left:50%;bottom:calc(1.5rem + var(--safe-bottom));z-index:200;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:12px;max-width:min(90vw,420px);padding:.75rem 1.15rem;position:fixed;transform:translate(-50%)}.app-toast--success{border-color:var(--color-success)}.app-toast--error{border-color:var(--color-error);color:var(--text-error)}.search-modal-overlay{z-index:var(--z-modal-backdrop);background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);animation:fadeIn var(--transition-fast) ease-out;position:fixed;inset:0}.search-modal{top:calc(var(--header-offset) + var(--space-6));z-index:var(--z-modal);width:100%;max-width:640px;padding:0 var(--space-4);animation:slideDown var(--transition-normal) ease-out;pointer-events:none;position:fixed;left:50%;transform:translate(-50%)}.search-modal-card{pointer-events:auto;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);overflow:hidden}.search-modal-input-wrapper{padding:var(--space-4);background-color:var(--input-bg);border-bottom:1px solid var(--border-subtle);align-items:center;display:flex;position:relative}.search-modal-icon{left:var(--space-4);width:22px;height:22px;color:var(--text-tertiary);pointer-events:none;position:absolute}.search-modal-input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-12);color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-normal);background-color:#0000;border:none;outline:none}.search-modal-input::placeholder{color:var(--text-tertiary)}.search-modal-results{max-height:400px;padding:var(--space-2);overflow-y:auto}.search-modal-empty{padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.search-modal-spinner{border:3px solid var(--border-default);border-top-color:var(--color-brand-500);width:32px;height:32px;margin-bottom:var(--space-4);border-radius:50%;animation:1s linear infinite spin}.search-modal-empty-icon{width:64px;height:64px;color:var(--text-muted);margin-bottom:var(--space-4)}.search-modal-empty-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-2)}.search-modal-empty-text{font-size:var(--text-sm);max-width:280px;line-height:var(--leading-relaxed)}.search-result-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--text-primary);transition:background-color var(--transition-fast);text-decoration:none;display:flex}.search-result-item:hover{background-color:var(--card-hover-bg);text-decoration:none}.search-result-icon{background-color:var(--color-brand-soft);border-radius:var(--radius-lg);width:40px;height:40px;color:var(--text-brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.search-result-content{flex:1;min-width:0}.search-result-title{font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.search-result-meta{align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary);display:flex}.search-result-level{min-width:28px;height:18px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;justify-content:center;align-items:center;display:inline-flex}.search-result-type{text-transform:capitalize}.search-modal-footer{padding:var(--space-3) var(--space-4);background-color:var(--bg-tertiary);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-tertiary);justify-content:flex-end;align-items:center;display:flex}@media (width<=640px){.search-modal{top:var(--header-offset);max-height:calc(100vh - var(--header-offset));max-height:calc(100dvh - var(--header-offset));padding:0}.search-modal-card{height:100%;max-height:calc(100dvh - var(--header-offset));border-radius:0;flex-direction:column;display:flex}.search-modal-results{flex:1;max-height:none}.search-modal-footer{display:none}.search-modal-input{font-size:1rem}}.theme-toggle{background:color-mix(in srgb, var(--bg-tertiary) 80%, transparent);border:1px solid color-mix(in srgb, var(--border-default) 80%, transparent);border-radius:var(--radius-full);cursor:pointer;width:54px;height:30px;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:0 4px;display:flex;position:relative;box-shadow:inset 0 1px 2px #00000014}.theme-toggle:hover{background-color:var(--button-secondary-hover);border-color:color-mix(in srgb, var(--color-brand-500) 40%, var(--border-strong));transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.theme-toggle-track{pointer-events:none;justify-content:space-between;align-items:center;width:100%;height:100%;display:flex;position:relative}.theme-toggle-icon{transition:opacity var(--transition-normal), transform var(--transition-normal), color var(--transition-normal);color:var(--text-tertiary);position:absolute}.theme-toggle-icon--sun{opacity:1;left:3px;transform:rotate(0)scale(1)}.theme-toggle-icon--moon{opacity:.35;right:3px;transform:rotate(-90deg)scale(.8)}.theme-toggle-thumb{width:24px;height:24px;transition:transform var(--transition-bounce), background-color var(--transition-normal), box-shadow var(--transition-normal);z-index:1;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000002e,0 1px 2px #0000001f}.theme-toggle--dark .theme-toggle-icon--sun{opacity:.3;transform:rotate(90deg)scale(.75)}.theme-toggle--dark .theme-toggle-icon--moon{opacity:1;color:var(--color-brand-300);transform:rotate(0)scale(1)}.theme-toggle--dark .theme-toggle-thumb{background:linear-gradient(135deg, var(--color-brand-400), var(--color-brand-600));transform:translate(24px);box-shadow:0 0 10px #6366f180,0 2px 4px #0003}.theme-toggle--light .theme-toggle-icon--sun{opacity:1;color:var(--color-warning);transform:rotate(0)scale(1)}.theme-toggle--light .theme-toggle-icon--moon{opacity:.3;transform:rotate(-90deg)scale(.75)}.theme-toggle--light .theme-toggle-thumb{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translate(0);box-shadow:0 0 10px #f59e0b66,0 2px 4px #00000026}@media (width<=640px){.theme-toggle{width:48px;height:26px}.theme-toggle-thumb{width:20px;height:20px}.theme-toggle--dark .theme-toggle-thumb{transform:translate(22px)}.theme-toggle-icon{width:13px;height:13px}}@media (prefers-reduced-motion:reduce){.theme-toggle-icon,.theme-toggle-thumb{transition:none}}.user-menu{align-items:center;display:flex;position:relative}.user-menu-trigger{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3) 0 4px;background:color-mix(in srgb, var(--bg-tertiary) 75%, transparent);border:1px solid color-mix(in srgb, var(--border-default) 80%, transparent);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;box-shadow:0 1px 2px #0000000a}.user-menu-trigger:hover{background:color-mix(in srgb, var(--button-secondary-hover) 90%, transparent);border-color:color-mix(in srgb, var(--color-brand-500) 40%, var(--border-strong));transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.user-menu-trigger:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.user-menu-avatar-ring{background:linear-gradient(135deg, var(--color-brand-400), var(--color-brand-600));border-radius:50%;justify-content:center;align-items:center;padding:1px;display:flex;position:relative}.user-menu-avatar,.user-menu-avatar-placeholder{border-radius:50%;flex-shrink:0;width:28px;height:28px}.user-menu-avatar{-o-object-fit:cover;object-fit:cover}.user-menu-avatar-placeholder{background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-700));color:#fff;font-size:.75rem;font-weight:var(--font-bold);letter-spacing:.02em;justify-content:center;align-items:center;display:flex}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:var(--font-medium);letter-spacing:-.01em;overflow:hidden}.user-menu-chevron{color:var(--text-tertiary);transition:transform var(--transition-fast), color var(--transition-fast);flex-shrink:0}.user-menu-trigger:hover .user-menu-chevron{color:var(--text-primary)}.user-menu[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-menu-dropdown{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:var(--radius-2xl);min-width:260px;z-index:var(--z-dropdown);transform-origin:100% 0;animation:.18s cubic-bezier(.16,1,.3,1) forwards userMenuPop;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 25px -5px #00000026,0 8px 10px -6px #0000001a}@keyframes userMenuPop{0%{opacity:0;transform:scale(.95)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.user-menu-header{padding:var(--space-4);background:linear-gradient(180deg, color-mix(in srgb, var(--color-brand-500) 8%, var(--bg-tertiary)), var(--bg-tertiary));border-bottom:1px solid var(--border-subtle)}.user-menu-user-info{align-items:center;gap:var(--space-3);display:flex}.user-menu-avatar-large-ring{background:linear-gradient(135deg, var(--color-brand-400), var(--color-brand-600));border-radius:50%;padding:2px}.user-menu-avatar-large,.user-menu-avatar-placeholder-large{border-radius:50%;flex-shrink:0;width:42px;height:42px}.user-menu-avatar-large{-o-object-fit:cover;object-fit:cover}.user-menu-avatar-placeholder-large{background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-700));color:#fff;font-size:var(--text-base);font-weight:var(--font-bold);justify-content:center;align-items:center;display:flex}.user-menu-details{min-width:0}.user-menu-full-name{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.user-menu-email{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;overflow:hidden}.user-menu-items-group{padding:6px}.user-menu-divider{background-color:var(--border-subtle);height:1px;margin:0}.user-menu-item{align-items:center;gap:var(--space-3);width:100%;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);text-align:left;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px 12px;text-decoration:none;display:flex}.user-menu-item:hover{background-color:color-mix(in srgb, var(--card-hover-bg) 80%, var(--color-brand-500) 10%);color:var(--text-primary);transform:translate(2px)}.user-menu-item:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.user-menu-item-icon{width:16px;height:16px;color:var(--text-tertiary);transition:color var(--transition-fast), transform var(--transition-fast);flex-shrink:0}.user-menu-item:hover .user-menu-item-icon{color:var(--color-brand-400);transform:scale(1.1)}.user-menu-item--danger{color:var(--text-error)}.user-menu-item--danger:hover{background-color:color-mix(in srgb, var(--color-error) 12%, transparent);color:var(--text-error)}.user-menu-item--danger .user-menu-item-icon,.user-menu-item--danger:hover .user-menu-item-icon{color:var(--text-error)}@media (width<=639px){.user-menu-name,.user-menu-chevron{display:none}.user-menu-trigger{justify-content:center;width:34px;height:34px;padding:3px}}@media (width<=480px){.user-menu-dropdown{width:min(18rem,100vw - 1.5rem);min-width:0;right:-8px}}.mobile-menu-btn{background:color-mix(in srgb, var(--button-secondary-bg) 70%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;width:38px;height:38px;transition:all var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;display:flex}.mobile-menu-btn:hover{background-color:var(--button-ghost-hover);border-color:var(--border-strong);transform:translateY(-1px)}.mobile-menu-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.mobile-menu-line{background-color:var(--text-secondary);border-radius:var(--radius-full);width:18px;height:2px;transition:transform var(--transition-normal), opacity var(--transition-normal), background-color var(--transition-fast);transform-origin:50%;display:block}.mobile-menu-btn:hover .mobile-menu-line{background-color:var(--text-primary)}.mobile-menu-btn[aria-expanded=true] .mobile-menu-line:first-child{transform:translateY(7px)rotate(45deg)}.mobile-menu-btn[aria-expanded=true] .mobile-menu-line:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn[aria-expanded=true] .mobile-menu-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width>=1024px){.mobile-menu-btn{display:none}}.header{background-color:var(--header-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--header-border);align-items:center;display:flex;position:relative;box-shadow:0 1px 3px #0000000a}.header:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--color-brand-500) 30%, transparent) 25%, color-mix(in srgb, var(--color-brand-400) 40%, transparent) 50%, color-mix(in srgb, var(--color-brand-500) 30%, transparent) 75%, transparent 100%);pointer-events:none;opacity:.8;height:1px;position:absolute;top:0;left:0;right:0}.header-container{height:100%;max-width:var(--content-max-width);padding:0 var(--space-6);padding-left:max(var(--space-6), var(--safe-left));padding-right:max(var(--space-6), var(--safe-right));justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-width:0;margin:0 auto;display:flex}.header-brand{flex-shrink:0;align-items:center;min-width:0;display:flex}.header-logo{align-items:center;gap:var(--space-3);color:var(--text-primary);padding:var(--space-1-5,6px) var(--space-2);border-radius:var(--radius-xl);transition:all var(--transition-fast);text-decoration:none;display:flex}.header-logo:hover{background-color:color-mix(in srgb, var(--color-brand-500) 8%, transparent);text-decoration:none;transform:translateY(-1px)}.header-logo:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.header-logo-badge{filter:drop-shadow(0 4px 8px color-mix(in srgb, var(--color-brand-600) 30%, transparent));transition:transform var(--transition-fast), filter var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.header-logo:hover .header-logo-badge{filter:drop-shadow(0 6px 14px color-mix(in srgb, var(--color-brand-500) 45%, transparent));transform:scale(1.05)rotate(-1deg)}.header-logo-icon{width:34px;height:34px;display:block}.header-logo-text{font-family:var(--font-display);font-size:1.15rem;font-weight:var(--font-bold);letter-spacing:-.025em;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;align-items:baseline;gap:.35rem;display:flex;overflow:hidden}.header-logo-highlight{color:var(--text-primary);background:linear-gradient(135deg, var(--text-primary) 30%, var(--color-brand-400) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:800}[data-theme=light] .header-logo-highlight{background:linear-gradient(135deg, var(--color-brand-800) 20%, var(--color-brand-600) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.header-logo-sub{color:var(--text-secondary);opacity:.9;font-size:1.05rem;font-weight:600}.header-search-wrapper{flex:1;justify-content:center;max-width:520px;display:none}@media (width>=768px){.header-search-wrapper{display:flex}}.header-search-btn{align-items:center;gap:var(--space-3);width:100%;height:40px;padding:0 var(--space-3) 0 var(--space-3);background:color-mix(in srgb, var(--input-bg) 80%, transparent);border:1px solid color-mix(in srgb, var(--border-default) 70%, transparent);border-radius:var(--radius-xl);color:var(--text-tertiary);font-size:var(--text-sm);transition:all var(--transition-fast);cursor:pointer;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff0a,0 1px 2px #0000000a}.header-search-btn:hover{background:color-mix(in srgb, var(--bg-hover) 85%, var(--color-brand-500));border-color:color-mix(in srgb, var(--color-brand-500) 45%, var(--border-strong));color:var(--text-secondary);box-shadow:0 4px 14px 0 color-mix(in srgb, var(--color-brand-500) 12%, transparent), inset 0 1px 1px 0 #ffffff14;transform:translateY(-1px)}.header-search-btn:focus-visible{border-color:var(--color-brand-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-500) 25%, transparent), 0 4px 16px color-mix(in srgb, var(--color-brand-500) 15%, transparent);outline:none}.header-search-icon-wrap{color:var(--text-muted);transition:color var(--transition-fast), transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.header-search-btn:hover .header-search-icon-wrap{color:var(--color-brand-400);transform:scale(1.08)}.header-search-icon{width:17px;height:17px}.header-search-placeholder{text-align:left;color:var(--text-tertiary);font-weight:var(--font-normal);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;flex:1;overflow:hidden}.header-search-shortcut-group{align-items:center;display:flex}.header-search-shortcut{background:color-mix(in srgb, var(--bg-tertiary) 90%, transparent);border:1px solid color-mix(in srgb, var(--border-default) 80%, transparent);border-radius:var(--radius-md);min-width:22px;height:22px;font-family:var(--font-mono);font-size:.725rem;font-weight:var(--font-semibold);color:var(--text-secondary);transition:all var(--transition-fast);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex;box-shadow:0 1px 2px #0000000d}.header-search-btn:hover .header-search-shortcut{border-color:color-mix(in srgb, var(--color-brand-500) 35%, var(--border-default));color:var(--text-primary)}.header-actions{align-items:center;gap:var(--space-2-5,10px);flex-shrink:0;display:flex}.header-theme-wrapper{align-items:center;display:flex}.header-divider{background-color:var(--border-subtle);flex-shrink:0;width:1px;height:22px;margin:0 2px}.header-auth-buttons{align-items:center;gap:var(--space-2);display:flex}.header-btn{justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3-5,14px);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-lg);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);display:inline-flex}.header-btn-signin{border:1px solid color-mix(in srgb, var(--border-default) 60%, transparent);color:var(--text-primary);background:0 0}.header-btn-signin:hover{background:var(--button-ghost-hover);border-color:var(--border-strong);transform:translateY(-1px)}.header-btn-signup{background:linear-gradient(135deg, var(--color-brand-500) 0%, var(--color-brand-600) 100%);border:1px solid color-mix(in srgb, var(--color-brand-400) 40%, transparent);color:#fff;font-weight:var(--font-semibold);box-shadow:0 2px 6px 0 color-mix(in srgb, var(--color-brand-600) 35%, transparent), inset 0 1px 0 0 #ffffff40}.header-btn-signup:hover{background:linear-gradient(135deg, var(--color-brand-400) 0%, var(--color-brand-600) 100%);box-shadow:0 4px 14px 0 color-mix(in srgb, var(--color-brand-500) 45%, transparent), inset 0 1px 0 0 #ffffff59;transform:translateY(-1px)}.header-btn-arrow{width:14px;height:14px;transition:transform var(--transition-fast)}.header-btn-signup:hover .header-btn-arrow{transform:translate(2px)}.header-search-icon-btn{border-radius:var(--radius-lg);width:38px;height:38px;color:var(--text-secondary);border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--button-secondary-bg) 60%, transparent);transition:all var(--transition-fast);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:none}.header-search-icon-btn svg{width:20px;height:20px}.header-search-icon-btn:hover{background-color:var(--button-ghost-hover);border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}.header-search-icon-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (width<=767px){.header-container{padding:0 var(--space-3);padding-left:max(var(--space-3), var(--safe-left));padding-right:max(var(--space-3), var(--safe-right));gap:var(--space-2)}.header-brand{margin-right:auto}.header-logo{padding:var(--space-1);gap:var(--space-2)}.header-logo-icon{width:30px;height:30px}.header-logo-badge{filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--color-brand-600) 28%, transparent))}.header-logo-text{display:none}.header-search-icon-btn{display:flex}.header-btn-signup,.header-divider{display:none}.header-actions{gap:var(--space-1-5)}.header .mobile-menu-btn,.header-search-icon-btn{border-radius:var(--radius-full);border-color:color-mix(in srgb, var(--border-default) 60%, transparent);background:color-mix(in srgb, var(--bg-tertiary) 65%, transparent);width:36px;height:36px}.header-search-icon-btn svg{width:18px;height:18px}.header .theme-toggle{width:58px;height:36px;padding:0 5px}.header .theme-toggle-thumb{width:26px;height:26px;top:4px;left:4px}.header .theme-toggle--dark .theme-toggle-thumb{transform:translate(22px)}.header .theme-toggle-icon{width:14px;height:14px}.header .user-menu-trigger{justify-content:center;width:36px;height:36px;padding:3px}.header .user-menu-name,.header .user-menu-chevron{display:none}.header-btn-signin{height:36px;padding:0 var(--space-3);border-radius:var(--radius-full)}.header .mobile-menu-btn:active,.header-search-icon-btn:active,.header .theme-toggle:active,.header .user-menu-trigger:active,.header-btn-signin:active{transform:scale(.94)}}@media (hover:none){.header-logo:hover,.header-search-icon-btn:hover,.header .mobile-menu-btn:hover,.header .theme-toggle:hover,.header .user-menu-trigger:hover,.header-btn-signin:hover{transform:none}}@media (width<=400px){.header-btn-signin{padding:0 var(--space-2-5,10px);font-size:var(--text-xs)}}@media (width>=1024px){.header-container{gap:0;max-width:none;margin:0;padding:0;position:relative}.header-brand{flex:0 0 var(--sidebar-width);padding:0 var(--space-4);transition:flex-basis var(--transition-normal);border-right:1px solid var(--sidebar-border);z-index:1;align-self:stretch}.sidebar-collapsed .header-brand{flex:0 0 var(--sidebar-collapsed-width);justify-content:center;padding:0}.sidebar-collapsed .header-logo-text{display:none}.sidebar-collapsed .header-logo{padding:var(--space-2);justify-content:center}.header-search-wrapper{width:min(36rem, calc(100% - var(--sidebar-width) - 22rem));z-index:0;max-width:36rem;transition:width var(--transition-normal);justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sidebar-collapsed .header-search-wrapper{width:min(36rem, calc(100% - var(--sidebar-collapsed-width) - 22rem))}.header-search-btn{max-width:36rem}.header-actions{padding-right:max(var(--space-8), var(--safe-right));padding-left:var(--space-6);border-left:1px solid var(--header-border);background-color:var(--header-bg);z-index:1;align-self:stretch;margin-left:auto}}@media (prefers-reduced-motion:reduce){.header-logo,.header-logo-badge,.header-search-btn,.header-btn{transition:none}}.sidebar{background-color:var(--sidebar-bg);flex-direction:column;display:flex}.sidebar-content{height:100%;padding:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.sidebar-nav{flex:1;overflow-y:auto}.sidebar-section{margin-bottom:var(--space-6)}.sidebar-section:last-child{margin-bottom:0}.sidebar-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 var(--space-3) var(--space-2);white-space:nowrap}.sidebar-nav-list{margin:0;padding:0;list-style:none}.sidebar-nav-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-lg);transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;display:flex}.sidebar-nav-item:hover{background-color:var(--card-hover-bg);color:var(--text-primary);text-decoration:none}.sidebar-nav-item:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.sidebar-nav-item.active,.sidebar-nav-item.active:hover{background-color:var(--color-brand-soft);color:var(--text-brand)}.sidebar-nav-item.active .sidebar-nav-icon-svg{color:var(--text-brand)}.sidebar-nav-icon{width:24px;height:24px;color:var(--text-tertiary);transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-nav-icon-svg{width:20px;height:20px}.sidebar-nav-item:hover .sidebar-nav-icon-svg{color:var(--text-primary)}.sidebar-label{text-overflow:ellipsis;overflow:hidden}.sidebar-user{padding-top:var(--space-4);border-top:1px solid var(--border-subtle);margin-top:auto}.sidebar-user-info{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-lg);transition:background-color var(--transition-fast);display:flex}.sidebar-user-info:hover{background-color:var(--card-hover-bg)}.sidebar-user-avatar,.sidebar-user-avatar-placeholder{border-radius:var(--radius-lg);flex-shrink:0;width:40px;height:40px}.sidebar-user-avatar{-o-object-fit:cover;object-fit:cover}.sidebar-user-avatar-placeholder{background-color:var(--color-brand-500);color:#fff;font-weight:var(--font-bold);font-size:var(--text-lg);justify-content:center;align-items:center;display:flex}.sidebar-user-details{flex:1;min-width:0}.sidebar-user-name{font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.sidebar-user-email{font-size:var(--text-xs);color:var(--text-tertiary);margin:var(--space-1) 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.sidebar-collapse-btn{background-color:var(--button-secondary-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.sidebar-collapse-btn:hover{background-color:var(--button-secondary-hover);border-color:var(--border-strong);color:var(--text-primary)}.sidebar-collapse-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (width>=1024px){.sidebar.collapsed .sidebar-section-title,.sidebar.collapsed .sidebar-label,.sidebar.collapsed .sidebar-user{opacity:0;pointer-events:none;width:0;overflow:hidden}.sidebar.collapsed .sidebar-nav-item{padding:var(--space-3);justify-content:center}.sidebar.collapsed .sidebar-nav-icon{margin-right:0}.sidebar.collapsed .sidebar-collapse-btn{margin:0 auto}}@media (width<=1023px){.sidebar{padding:var(--space-6) var(--space-4)}.sidebar-content{height:auto;padding:0}.sidebar-section-title{margin-left:var(--space-3)}.sidebar-nav-item{min-height:44px}.sidebar-user{margin-top:var(--space-8)}.sidebar-footer{display:none}}.footer{border-top:1px solid var(--border-subtle);background-color:var(--bg-secondary)}.footer-container{max-width:var(--content-max-width);padding:var(--space-5) var(--space-6) var(--space-4);padding-left:max(var(--space-6), var(--safe-left));padding-right:max(var(--space-6), var(--safe-right));gap:var(--space-5);grid-template-columns:1fr;margin:0 auto;display:grid}.footer-brand{max-width:320px}.footer-logo{align-items:center;gap:var(--space-3);color:var(--text-primary);margin-bottom:var(--space-3);text-decoration:none;display:flex}.footer-logo:hover{text-decoration:none}.footer-logo-icon{width:32px;height:32px;color:var(--color-brand-500);flex-shrink:0}.footer-logo-text{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--text-primary)}.footer-tagline{font-size:var(--text-sm);color:var(--text-tertiary);line-height:var(--leading-relaxed);margin:0}.footer-links{gap:var(--space-5);grid-template-columns:1fr;display:grid}.footer-link-group{min-width:0}.footer-link-title{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 var(--space-3)}.footer-link-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.footer-link-list--product{-moz-column-gap:var(--space-8);column-gap:var(--space-8);row-gap:var(--space-2);grid-template-rows:repeat(3,auto);grid-template-columns:max-content max-content;grid-auto-flow:column;display:grid}.footer-link-list a{font-size:var(--text-sm);color:var(--text-tertiary);transition:color var(--transition-fast);text-decoration:none}.footer-link-list a:hover{color:var(--color-brand-500);text-decoration:none}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);flex-direction:row;display:flex}.footer-social{align-items:center;gap:var(--space-4);display:flex}.footer-social-link{border-radius:var(--radius-lg);width:40px;height:40px;color:var(--text-tertiary);background-color:var(--bg-tertiary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.footer-social-link:hover{color:var(--color-brand-500);background-color:var(--color-brand-soft);text-decoration:none}.footer-social-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.footer-copyright{font-size:var(--text-xs);color:var(--text-muted);margin:0}.footer-version{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;margin:0}@media (width>=768px){.footer-container{grid-template:"brand links""bottom bottom"/1fr 2fr}.footer-brand{grid-area:brand}.footer-links{justify-content:start;gap:var(--space-8) var(--space-12);grid-area:links;grid-template-columns:auto auto}.footer-bottom{grid-area:bottom}}@media (prefers-reduced-motion:reduce){.footer-social-link,.footer-link-list a{transition:none}}.layout{grid-template-rows:var(--header-offset) 1fr;background-color:var(--bg-primary);grid-template-columns:1fr;max-width:100%;min-height:100dvh;display:grid}.skip-link{top:calc(var(--safe-top) + var(--space-2));left:var(--space-4);z-index:calc(var(--z-toast) + 1);padding:var(--space-3) var(--space-4);background-color:var(--bg-elevated);color:var(--text-brand);border:1px solid var(--border-focus);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);transform:translateY(calc(-100% - var(--space-4)));transition:transform var(--transition-fast);text-decoration:none;position:fixed}.skip-link:focus-visible{text-decoration:none;transform:translateY(0)}.layout-content:focus{outline:none}.layout-main{grid-template-rows:1fr auto;grid-template-columns:auto 1fr;min-width:0;min-height:0;display:grid}.layout-header{z-index:var(--z-sticky);height:var(--header-offset);padding-top:var(--safe-top);background-color:var(--header-bg);border-bottom:1px solid var(--header-border);-webkit-backdrop-filter:blur(12px);grid-area:1/1;position:sticky;top:0}.layout-sidebar{top:var(--header-offset);width:var(--sidebar-width);height:calc(100vh - var(--header-offset));height:calc(100dvh - var(--header-offset));max-height:calc(100vh - var(--header-offset));max-height:calc(100dvh - var(--header-offset));background-color:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);overscroll-behavior:contain;transition:width var(--transition-normal), transform var(--transition-normal);z-index:var(--z-fixed);grid-area:1/1/-1;align-self:start;position:sticky;overflow-y:auto}.layout-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.layout-content{min-width:0;min-height:calc(100vh - var(--header-offset));min-height:calc(100dvh - var(--header-offset));padding:var(--space-6) var(--space-8);background-color:var(--bg-primary);grid-area:1/2;overflow-x:clip}.layout-footer{border-top:1px solid var(--border-subtle);background-color:var(--bg-secondary);padding:var(--space-4) var(--space-8);padding-bottom:calc(var(--space-4) + var(--safe-bottom));grid-area:2/2}.sidebar-overlay{top:var(--header-offset);-webkit-backdrop-filter:blur(8px);z-index:calc(var(--z-fixed) - 1);opacity:0;pointer-events:none;transition:opacity var(--transition-normal);background-color:#0a0a0f99;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=1023px){.layout-main{grid-template-columns:1fr}.layout-sidebar{width:min(var(--sidebar-width), 86vw);max-width:320px;height:calc(100vh - var(--header-offset));height:calc(100dvh - var(--header-offset));min-height:calc(100dvh - var(--header-offset));padding-bottom:max(var(--space-6), var(--safe-bottom));padding-left:max(var(--space-4), var(--safe-left));box-shadow:var(--shadow-xl);border-right:none;position:fixed;left:0;transform:translate(-100%)}.layout-sidebar.open{transform:translate(0)}.layout-sidebar.collapsed{width:min(var(--sidebar-width), 86vw)}.layout-content,.layout-footer{grid-column:1}.layout-content{padding:var(--space-4) var(--space-5);padding-left:max(var(--space-5), var(--safe-left));padding-right:max(var(--space-5), var(--safe-right))}.sidebar-overlay{opacity:1;pointer-events:auto;display:block}}@media (width<=640px){.layout-content{padding:var(--space-4);padding-left:max(var(--space-4), var(--safe-left));padding-right:max(var(--space-4), var(--safe-right))}.layout-footer{padding:var(--space-4) var(--space-5);padding-bottom:calc(var(--space-4) + var(--safe-bottom));padding-left:max(var(--space-5), var(--safe-left));padding-right:max(var(--space-5), var(--safe-right))}}@media (width>=1024px){.layout-sidebar:not(.collapsed){width:var(--sidebar-width)}.layout-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.layout-sidebar.collapsed .sidebar-label,.layout-sidebar.collapsed .sidebar-section-title,.layout-sidebar.collapsed .sidebar-user{opacity:0;pointer-events:none;width:0;overflow:hidden}.layout-sidebar.collapsed .sidebar-footer{justify-content:center}.layout-sidebar.collapsed .sidebar-nav-item{padding:var(--space-3);justify-content:center}.layout-sidebar.collapsed .sidebar-nav-icon{margin-right:0}}@media print{.layout-header,.layout-sidebar,.layout-footer,.sidebar-overlay{display:none!important}.layout-main{grid-template-columns:1fr}.layout-content{min-height:auto;padding:0}}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn:disabled,.btn--loading{opacity:.6;cursor:not-allowed}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);gap:var(--space-1);height:32px}.btn--md{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);height:40px}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base);height:48px}.btn--icon{width:40px;height:40px;padding:0}.btn--icon.btn--sm{width:32px;height:32px}.btn--icon.btn--lg{width:48px;height:48px}.btn--full-width{width:100%}.btn--primary{background-color:var(--button-primary-bg);color:var(--button-primary-text)}.btn--primary:hover:not(:disabled){background-color:var(--button-primary-hover)}.btn--primary:active:not(:disabled){transform:scale(.98)}.btn--secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--border-default)}.btn--secondary:hover:not(:disabled){background-color:var(--button-secondary-hover);border-color:var(--border-strong)}.btn--ghost{color:var(--text-secondary);background-color:#0000}.btn--ghost:hover:not(:disabled){background-color:var(--button-ghost-hover);color:var(--text-primary)}.btn--danger{background-color:var(--button-danger-bg);color:#fff}.btn--danger:hover:not(:disabled){background-color:var(--button-danger-hover)}.btn--outline{color:var(--text-primary);border:1px solid var(--border-default);background-color:#0000}.btn--outline:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--border-strong)}.btn--loading{position:relative;color:#0000!important}.btn-spinner{justify-content:center;align-items:center;display:flex;position:absolute}.btn-spinner svg{width:20px;height:20px;animation:1s linear infinite spin}.btn--sm .btn-spinner svg{width:16px;height:16px}.btn--lg .btn-spinner svg{width:24px;height:24px}.btn-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-icon svg{width:18px;height:18px}.btn--sm .btn-icon svg{width:16px;height:16px}.btn--lg .btn-icon svg{width:20px;height:20px}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn-spinner svg{animation:none}}.auth-modal-overlay{z-index:var(--z-modal-backdrop,90);background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:fixed;inset:0}.auth-modal{z-index:var(--z-modal,100);padding:var(--space-4);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal-card{pointer-events:auto;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);width:min(420px,100%);max-height:min(90dvh,40rem);padding:var(--space-6);box-shadow:var(--shadow-2xl);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.auth-modal-card h2{font-size:var(--text-2xl);color:var(--text-primary);margin:0}.auth-modal-field{gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;display:flex}.auth-modal-field input{padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:1rem}.auth-modal-password-row{position:relative}.auth-modal-password-row input{width:100%;padding-right:2.75rem}.auth-modal-show-password{top:50%;right:var(--space-2);border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--text-secondary);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;transform:translateY(-50%)}.auth-modal-show-password:hover:not(:disabled){background:var(--button-ghost-hover,transparent);color:var(--text-primary)}.auth-modal-show-password:disabled{opacity:.4;cursor:not-allowed}.auth-modal-show-password svg{width:1.125rem;height:1.125rem}.auth-modal-field input[aria-invalid=true]{border-color:var(--color-error)}.auth-modal-field-error{color:var(--text-error);font-size:var(--text-sm);margin:0}.auth-modal-error{color:var(--text-error);background:var(--color-error-soft);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);margin:0}.auth-modal-notice{color:var(--color-brand-600,#4338ca);background:var(--color-brand-soft,#6366f11f);border:1px solid var(--color-brand-soft,#6366f140);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);align-items:center;gap:var(--space-2);margin:0;line-height:1.4;display:flex}[data-theme=dark] .auth-modal-notice{color:var(--color-brand-400,#818cf8);background:#6366f126;border-color:#6366f14d}.auth-modal-switch{text-align:center;font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-modal-switch button{color:var(--text-brand);font-weight:var(--font-semibold)}.signup-success-overlay{z-index:var(--z-modal-backdrop,90);background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:fixed;inset:0}.signup-success-modal{z-index:var(--z-modal,100);padding:var(--space-4);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.signup-success-card{pointer-events:auto;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);width:min(420px,100%);max-height:min(90dvh,40rem);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-2xl);align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex;overflow-y:auto}.signup-success-icon{color:var(--color-success);width:64px;height:64px}.signup-success-icon svg{width:100%;height:100%}.signup-success-card h2{font-size:var(--text-2xl);color:var(--text-primary);margin:0}.signup-success-message{font-size:var(--text-base);line-height:var(--leading-relaxed,1.6);color:var(--text-secondary);margin:0}.dashboard{gap:var(--space-6);max-width:var(--content-max-width);flex-direction:column;width:100%;margin:0 auto;display:flex}.dashboard-hero{padding:var(--space-8);background:radial-gradient(ellipse at 18% 20%, color-mix(in srgb, var(--color-brand-500) 18%, transparent), transparent 52%), radial-gradient(ellipse at 92% 88%, color-mix(in srgb, var(--color-c1) 12%, transparent), transparent 46%), var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);position:relative;overflow:hidden}.dashboard-mastery{z-index:1;align-items:center;gap:var(--space-10);grid-template-columns:auto 1fr;display:grid;position:relative}.dashboard-ring-figure{flex-shrink:0;width:220px;height:220px;position:relative}.dashboard-ring-figure:before{content:"";border-radius:var(--radius-full);background:radial-gradient(circle at 38% 32%, color-mix(in srgb, var(--color-brand-300) 22%, transparent), transparent 46%), color-mix(in srgb, var(--card-bg) 82%, transparent);box-shadow:inset 0 1px 0 #ffffff1a, inset 0 0 0 1px color-mix(in srgb, var(--color-brand-500) 14%, transparent);position:absolute;inset:17.5%}.dashboard-ring-figure:after{content:"";border-radius:var(--radius-full);background:radial-gradient(circle, color-mix(in srgb, var(--color-brand-500) 22%, transparent) 0%, transparent 68%);pointer-events:none;animation:4.5s ease-in-out infinite dashboardRingPulse;position:absolute;inset:4%}.dashboard-ring{z-index:1;width:100%;height:100%;position:relative;overflow:visible;transform:rotate(-90deg)}.dashboard-ring-ticks{fill:none;stroke:color-mix(in srgb, var(--color-brand-400) 35%, var(--border-default));stroke-width:1.5px;stroke-dasharray:1.6 15.15;stroke-linecap:round}.dashboard-ring-halo{fill:none;stroke:color-mix(in srgb, var(--color-brand-500) 14%, transparent);stroke-width:1px}.dashboard-ring-bg{fill:none;stroke:color-mix(in srgb, var(--color-brand-500) 18%, var(--border-default));stroke-width:11px}.dashboard-ring-glow{fill:none;stroke:url(#dashboard-ring-gradient);stroke-width:16px;stroke-linecap:round;opacity:.28;filter:blur(3px);animation:dashboardRingIn var(--transition-slow) ease-out;transition:stroke-dashoffset var(--transition-slow) ease-out}.dashboard-ring-fill{fill:none;stroke:url(#dashboard-ring-gradient);stroke-width:11px;stroke-linecap:round;animation:dashboardRingIn var(--transition-slow) ease-out;transition:stroke-dashoffset var(--transition-slow) ease-out}.dashboard-ring-cap{fill:var(--color-neutral-0);stroke:var(--color-c1);stroke-width:2px;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-c1) 70%, transparent))}@keyframes dashboardRingIn{0%{stroke-dashoffset:339.292px}}@keyframes dashboardRingPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.dashboard-ring-center{z-index:1;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dashboard-ring-percent{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight);letter-spacing:-.04em;text-shadow:0 0 24px color-mix(in srgb, var(--color-brand-400) 35%, transparent)}.dashboard-ring-caption{margin-top:var(--space-1);font-size:.6875rem;font-weight:var(--font-semibold);color:var(--text-brand);text-transform:uppercase;letter-spacing:.12em}.dashboard-mix{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.dashboard-mix-summary{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-secondary);margin:0}.dashboard-mix-track{background-color:var(--bg-tertiary);border-radius:var(--radius-full);height:12px;display:flex;overflow:hidden}.dashboard-mix-segment{min-width:0;height:100%}.dashboard-mix-segment+.dashboard-mix-segment{box-shadow:inset 2px 0 0 var(--card-bg)}.dashboard-mix-segment[data-key=learned],.dashboard-mix-dot[data-key=learned]{background-color:var(--color-status-learned)}.dashboard-mix-segment[data-key=practicing],.dashboard-mix-dot[data-key=practicing]{background-color:var(--color-status-practicing)}.dashboard-mix-segment[data-key=remaining],.dashboard-mix-dot[data-key=remaining]{background-color:var(--text-muted)}.dashboard-mix-legend{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-mix-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.dashboard-mix-key{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:inline-flex}.dashboard-mix-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.dashboard-mix-value{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.dashboard-destinations{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-action-card{--action-accent:var(--color-brand-500);--action-soft:color-mix(in srgb, var(--action-accent) 16%, transparent);align-items:flex-start;gap:var(--space-5);min-height:196px;padding:var(--space-6);background-color:var(--card-bg);background-image:linear-gradient(160deg, var(--action-soft), transparent 58%);border:1px solid var(--card-border);border-radius:var(--radius-2xl);color:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.dashboard-action-card--words{--action-accent:var(--color-brand-500)}.dashboard-action-card--phrases{--action-accent:var(--color-info)}.dashboard-action-card--flashcards{--action-accent:var(--color-status-practicing)}.dashboard-action-card--quiz{--action-accent:var(--color-c1)}.dashboard-action-card:hover,.dashboard-action-card:focus-visible{border-color:color-mix(in srgb, var(--action-accent) 50%, var(--card-border));box-shadow:var(--shadow-lg);color:inherit;text-decoration:none;transform:translateY(-2px)}.dashboard-action-card:focus-visible{outline:2px solid var(--action-accent);outline-offset:2px}.dashboard-action-icon{border-radius:var(--radius-xl);background-color:color-mix(in srgb, var(--action-accent) 16%, var(--card-bg));width:48px;height:48px;color:var(--action-accent);justify-content:center;align-items:center;display:flex}.dashboard-action-icon svg{width:22px;height:22px}.dashboard-action-body{flex:1;min-width:0}.dashboard-action-title{font-family:var(--font-display);font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-lg);margin:0}.dashboard-action-description{font-size:var(--text-sm);color:var(--text-tertiary);margin:var(--space-2) 0 0;line-height:var(--leading-normal)}.dashboard-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform var(--transition-fast), color var(--transition-fast);align-self:flex-end;margin-top:auto}.dashboard-action-card:hover .dashboard-chevron,.dashboard-action-card:focus-visible .dashboard-chevron{color:var(--action-accent);transform:translate(2px)}@media (width<=1024px){.dashboard-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.dashboard-mastery{text-align:center;justify-items:center;gap:var(--space-6);grid-template-columns:1fr}.dashboard-mix{width:100%}.dashboard-mix-summary{text-align:left}}@media (width<=768px){.dashboard-hero{padding:var(--space-6)}.dashboard-ring-figure{width:180px;height:180px}.dashboard-ring-percent{font-size:var(--text-3xl)}.dashboard-action-card{min-height:0;padding:var(--space-5)}}@media (width<=560px){.dashboard-hero{padding:var(--space-5)}.dashboard-destinations{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.dashboard-ring-fill,.dashboard-ring-glow,.dashboard-ring-figure:after,.dashboard-action-card,.dashboard-chevron{transition:none;animation:none}.dashboard-action-card:hover{transform:none}}body.video-popup-open{overflow:hidden}.wc-video-overlay{z-index:120;-webkit-backdrop-filter:blur(10px);background:#080a0ecc;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.wc-video-popup{background:var(--card-bg);border:1px solid var(--border-default);border-radius:16px;flex-direction:column;width:min(800px,100%);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000080}.wc-video-popup-head,.wc-video-popup-foot{background:color-mix(in srgb, var(--bg-tertiary) 72%, var(--card-bg));flex-shrink:0;align-items:center;gap:.75rem;padding:.65rem .75rem .65rem .9rem;display:flex}.wc-video-popup-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between}.wc-video-popup-foot{border-top:1px solid var(--border-subtle);justify-content:center;padding:.55rem .75rem}.wc-video-counter{border-radius:var(--radius-full);background:var(--bg-elevated);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;align-items:baseline;gap:.28rem;min-width:0;max-width:100%;padding:.35rem .85rem;line-height:1.15;display:inline-flex}.wc-video-counter-current{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.wc-video-counter-sep{font-size:var(--text-base);color:var(--text-tertiary)}.wc-video-counter-total,.wc-video-counter-status{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-secondary)}.wc-video-counter-status{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wc-video-controls{border-radius:var(--radius-full);background:var(--bg-elevated);border:1px solid var(--border-subtle);align-items:center;gap:.15rem;padding:.2rem;display:flex;box-shadow:0 1px 2px #0000000f}.wc-vid-nav-btn,.wc-vid-play-btn,.wc-video-close{appearance:none;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wc-vid-nav-btn{border-radius:50%;width:36px;height:36px}.wc-vid-nav-btn svg,.wc-vid-play-btn svg{width:18px;height:18px;display:block}.wc-vid-play-btn{background:var(--bg-hover);width:42px;height:42px;color:var(--text-primary);border-radius:50%}.wc-vid-play-icon{transform:translate(1px)}.wc-vid-play-btn.is-playing{background:var(--bg-active);color:var(--text-primary)}.wc-video-close{width:44px;height:44px;color:var(--text-secondary);border-radius:50%}.wc-video-close svg{width:22px;height:22px;display:block}.wc-vid-nav-btn:hover:not(:disabled),.wc-vid-play-btn:hover:not(:disabled),.wc-video-close:hover{background:var(--bg-hover);color:var(--text-primary)}.wc-vid-play-btn:active:not(:disabled),.wc-vid-nav-btn:active:not(:disabled),.wc-video-close:active{transform:scale(.96)}.wc-vid-nav-btn:focus-visible,.wc-vid-play-btn:focus-visible,.wc-video-close:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.wc-vid-nav-btn:disabled,.wc-vid-play-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.wc-video-popup-body{flex-direction:column;flex:1;gap:.6rem;padding:1rem 1.25rem 1.25rem;display:flex;overflow:hidden}.wc-video-player-wrap{aspect-ratio:16/9;background:#000;border-radius:10px;flex-shrink:0;width:100%;overflow:hidden}.wc-video-player-wrap iframe,.wc-video-player-wrap>div{width:100%;height:100%}.wc-video-loading,.wc-video-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.9rem}@media (width<=640px){.wc-video-overlay{padding:.5rem;padding-top:max(.5rem, var(--safe-top));padding-bottom:max(.5rem, var(--safe-bottom))}.wc-video-popup{border-radius:12px;max-width:100%;max-height:95dvh}.wc-video-popup-head,.wc-video-popup-foot{gap:.5rem;padding:.55rem .6rem .55rem .7rem}.wc-video-counter{padding:.3rem .7rem}.wc-vid-nav-btn{width:34px;height:34px}.wc-vid-play-btn{width:40px;height:40px}.wc-video-close{width:44px;height:44px}}.explorer-page{gap:var(--space-5);max-width:var(--content-max-width);flex-direction:column;width:100%;margin:0 auto;display:flex}.explorer-header{align-items:stretch;gap:var(--space-4);flex-direction:column;display:flex}.explorer-title{font-family:var(--font-display);font-size:clamp(var(--text-2xl), 5vw, var(--text-4xl));font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--text-primary);margin:0}.explorer-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin:var(--space-2) 0 0}.explorer-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.explorer-header-actions .btn{min-height:44px;text-decoration:none}.explorer-header-actions a.btn:hover{text-decoration:none}.explorer-header-actions .btn--sm{height:44px;padding:0 var(--space-4);font-size:var(--text-sm)}.explorer-track{--step-count:3;--step-index:0;--status-accent:var(--color-status-new);--track-pad:5px;grid-template-columns:repeat(var(--step-count), minmax(0, 1fr));min-width:0;padding:var(--track-pad);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);background-color:var(--bg-tertiary);margin:0;display:grid;position:relative}.explorer-track--filter[data-status=new]{--step-index:0;--status-accent:var(--color-status-new)}.explorer-track--filter[data-status=practicing]{--step-index:1;--status-accent:var(--color-status-practicing)}.explorer-track--filter[data-status=learned]{--step-index:2;--status-accent:var(--color-status-learned)}.explorer-track--item[data-status=new]{--step-index:0;--status-accent:var(--color-status-new)}.explorer-track--item[data-status=practicing]{--step-index:1;--status-accent:var(--color-status-practicing)}.explorer-track--item[data-status=learned]{--step-index:2;--status-accent:var(--color-status-learned)}.explorer-track:before{content:"";top:var(--track-pad);bottom:var(--track-pad);left:var(--track-pad);width:calc((100% - var(--track-pad) * 2) / var(--step-count));transform:translateX(calc(var(--step-index) * 100%));background-color:var(--bg-elevated);border:1.5px solid var(--status-accent);border-radius:calc(var(--radius-2xl) - var(--track-pad));box-shadow:var(--shadow-sm);transition:transform var(--transition-bounce), border-color var(--transition-normal);pointer-events:none;position:absolute}.explorer-step{z-index:1;min-height:56px;padding:var(--space-2) 2px;border-radius:calc(var(--radius-2xl) - var(--track-pad));cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.explorer-step--filter{gap:var(--space-1);min-height:48px;padding:var(--space-2);flex-flow:wrap}.explorer-track--item{--track-pad:3px;flex-shrink:0}.explorer-track--item .explorer-step{min-width:44px;min-height:38px;padding:0}.explorer-step[data-step=new]{--step-accent:var(--color-status-new)}.explorer-step[data-step=practicing]{--step-accent:var(--color-status-practicing)}.explorer-step[data-step=learned]{--step-accent:var(--color-status-learned)}.explorer-step-icon{color:var(--text-muted);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.explorer-step-icon svg{width:18px;height:18px}.explorer-step-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);transition:color var(--transition-fast)}.explorer-step--filter .explorer-step-label{font-size:var(--text-sm)}.explorer-step-count{font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full);background-color:var(--bg-hover);color:var(--text-secondary);padding:.1em .45em}.explorer-step:hover .explorer-step-icon,.explorer-step:hover .explorer-step-label{color:var(--text-secondary)}.explorer-step input:checked~.explorer-step-icon{color:var(--step-accent);transform:scale(1.08)}.explorer-step input:checked~.explorer-step-label{color:var(--text-primary);font-weight:var(--font-bold)}.explorer-step input:checked~.explorer-step-count{background-color:color-mix(in srgb, var(--step-accent) 18%, transparent);color:var(--text-primary)}.explorer-track--item[data-status=practicing] .explorer-step[data-step=new] .explorer-step-icon,.explorer-track--item[data-status=learned] .explorer-step[data-step=new] .explorer-step-icon,.explorer-track--item[data-status=learned] .explorer-step[data-step=practicing] .explorer-step-icon{color:color-mix(in srgb, var(--step-accent) 45%, transparent)}.explorer-step input:focus-visible~.explorer-step-icon:after{content:"";border-radius:calc(var(--radius-2xl) - var(--track-pad));outline:2px solid var(--border-focus);outline-offset:2px;pointer-events:none;position:absolute;inset:0}.explorer-step--filter:has(input:focus-visible){outline:2px solid var(--border-focus);outline-offset:2px}.explorer-toolbar{gap:var(--space-4);flex-direction:column;display:flex}.explorer-search-row{align-items:center;gap:var(--space-2);display:flex}.explorer-search-row .btn{flex-shrink:0;min-height:44px}.explorer-search{flex:1;min-width:0;position:relative}.explorer-search-icon{left:var(--space-4);width:20px;height:20px;color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.explorer-search-input{width:100%;min-height:44px;padding:var(--space-3) var(--space-12);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-xl);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:1rem}.explorer-search-input::placeholder{color:var(--text-tertiary)}.explorer-search-input:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.explorer-search-clear{right:var(--space-2);border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-tertiary);transition:color var(--transition-fast), background-color var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.explorer-search-clear:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.explorer-filters{align-items:flex-end;gap:var(--space-4);padding:var(--space-4);background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);animation:slideDown var(--transition-normal) ease-out;flex-wrap:wrap;display:flex}.explorer-filters[hidden]{display:none}.explorer-filter-group{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.explorer-filter-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.explorer-filter-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.explorer-filter-chip{--chip-accent:var(--color-brand-500);min-width:44px;min-height:44px;padding:0 var(--space-3);background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;justify-content:center;align-items:center;display:inline-flex}.explorer-filter-chip[data-level=a1]{--chip-accent:var(--color-a1)}.explorer-filter-chip[data-level=a2]{--chip-accent:var(--color-a2)}.explorer-filter-chip[data-level=b1]{--chip-accent:var(--color-b1)}.explorer-filter-chip[data-level=b2]{--chip-accent:var(--color-b2)}.explorer-filter-chip[data-level=c1]{--chip-accent:var(--color-c1)}.explorer-filter-chip[data-level=c2]{--chip-accent:var(--color-c2)}.explorer-filter-chip:hover{border-color:var(--chip-accent);color:var(--text-primary)}.explorer-filter-chip.is-active{background-color:var(--chip-accent);border-color:var(--chip-accent);color:#fff}.explorer-filter-select{min-height:44px;padding:var(--space-2) var(--space-3);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer}.explorer-filter-select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.explorer-view-toggle{background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:2px;display:flex}.explorer-view-btn{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-tertiary);transition:color var(--transition-fast), background-color var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;display:flex}.explorer-view-btn:hover{color:var(--text-primary)}.explorer-view-btn.is-active{background-color:var(--bg-secondary);color:var(--text-brand);box-shadow:var(--shadow-sm)}.explorer-clear-filters{min-height:44px;padding:0 var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-brand);background-color:var(--color-brand-soft);border-radius:var(--radius-lg);align-items:center;display:flex}.explorer-clear-filters:hover{background-color:color-mix(in srgb, var(--color-brand-500) 22%, transparent);color:var(--text-brand)}.explorer-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}.explorer-card,.explorer-list-item{--level-accent:var(--color-brand-500);--level-soft:var(--color-brand-soft);gap:var(--space-3);background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-5);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), opacity var(--transition-normal);flex-direction:column;display:flex}.explorer-card[data-level=a1],.explorer-list-item[data-level=a1]{--level-accent:var(--color-a1);--level-soft:var(--color-a1-soft)}.explorer-card[data-level=a2],.explorer-list-item[data-level=a2]{--level-accent:var(--color-a2);--level-soft:var(--color-a2-soft)}.explorer-card[data-level=b1],.explorer-list-item[data-level=b1]{--level-accent:var(--color-b1);--level-soft:var(--color-b1-soft)}.explorer-card[data-level=b2],.explorer-list-item[data-level=b2]{--level-accent:var(--color-b2);--level-soft:var(--color-b2-soft)}.explorer-card[data-level=c1],.explorer-list-item[data-level=c1]{--level-accent:var(--color-c1);--level-soft:var(--color-c1-soft)}.explorer-card[data-level=c2],.explorer-list-item[data-level=c2]{--level-accent:var(--color-c2);--level-soft:var(--color-c2-soft)}.explorer-card:hover,.explorer-list-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.explorer-card:focus-visible,.explorer-list-item:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.explorer-card[data-stale=true],.explorer-list-item[data-stale=true]{opacity:.55}.explorer-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.explorer-card-identity,.explorer-list-word-wrapper{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.explorer-card-word,.explorer-list-word{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight);overflow-wrap:break-word;margin:0}.explorer-card-level,.explorer-list-level{min-width:40px;height:26px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background-color:var(--level-soft);color:var(--level-accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.explorer-card-pos{font-size:var(--text-sm);color:var(--text-tertiary);text-transform:capitalize;margin:0}.explorer-card-meaning,.explorer-list-meaning{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.explorer-card-footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);flex-wrap:wrap;margin-top:auto;display:flex}.explorer-card-media{gap:var(--space-2);flex-shrink:0;display:flex}.explorer-media-btn{--media-accent:var(--color-brand-500);border-radius:var(--radius-full);border:1.5px solid var(--border-default);background:var(--bg-secondary);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;font-family:inherit;display:inline-flex}.explorer-media-btn svg{width:18px;height:18px;color:var(--media-accent);flex-shrink:0}.explorer-media-btn--video{--media-accent:var(--color-info)}.explorer-media-btn:hover{color:var(--text-primary);border-color:color-mix(in srgb, var(--media-accent) 55%, var(--border-default));background:color-mix(in srgb, var(--media-accent) 8%, var(--bg-secondary))}.explorer-media-btn:focus-visible{outline:2px solid var(--media-accent);outline-offset:2px}.explorer-list{gap:var(--space-3);flex-direction:column;display:flex}.explorer-list-item{gap:var(--space-4)}.explorer-list-main{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.explorer-list-word-wrapper{justify-content:space-between;align-items:flex-start;width:100%}.explorer-list-aside{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.explorer-list-meaning{-webkit-line-clamp:2}.explorer-load-more{justify-content:center;display:flex}.explorer-empty{padding:var(--space-16) var(--space-6);text-align:center;color:var(--text-tertiary);background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.explorer-empty svg{color:var(--text-muted);margin-bottom:var(--space-4)}.explorer-empty h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-secondary);margin:0 0 var(--space-2)}.explorer-empty p{font-size:var(--text-base);margin:0 0 var(--space-6);max-width:300px}.explorer-skeleton{gap:var(--space-4);grid-template-columns:1fr;display:grid}.explorer-skeleton-card{border-radius:var(--radius-xl);background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-hover) 37%, var(--bg-tertiary) 63%) 0 0 / 200% 100%;height:148px;animation:1.4s ease-in-out infinite shimmer;display:block}@media (width>=640px){.explorer-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.explorer-header-actions{flex-shrink:0;justify-content:flex-end}.explorer-grid,.explorer-skeleton{grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-step--filter .explorer-step-label{font-size:var(--text-sm)}}@media (width>=1024px){.explorer-page{gap:var(--space-6)}.explorer-grid,.explorer-skeleton{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.explorer-list-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.explorer-list-aside{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.explorer-filters,.explorer-card,.explorer-list-item,.explorer-track:before,.explorer-step-icon,.explorer-step-label,.animate-slide-up,.explorer-skeleton-card{transition:none;animation:none}.explorer-card:hover,.explorer-list-item:hover,.explorer-step input:checked~.explorer-step-icon{transform:none}}.word-detail{--level-accent:var(--color-brand-500);--level-soft:var(--color-brand-soft);gap:var(--space-5);flex-direction:column;width:100%;max-width:56rem;margin:0 auto;display:flex}.word-detail[data-level=a1]{--level-accent:var(--color-a1);--level-soft:var(--color-a1-soft)}.word-detail[data-level=a2]{--level-accent:var(--color-a2);--level-soft:var(--color-a2-soft)}.word-detail[data-level=b1]{--level-accent:var(--color-b1);--level-soft:var(--color-b1-soft)}.word-detail[data-level=b2]{--level-accent:var(--color-b2);--level-soft:var(--color-b2-soft)}.word-detail[data-level=c1]{--level-accent:var(--color-c1);--level-soft:var(--color-c1-soft)}.word-detail[data-level=c2]{--level-accent:var(--color-c2);--level-soft:var(--color-c2-soft)}.word-detail-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.word-detail-back{align-items:center;gap:var(--space-2);min-height:44px;padding-right:var(--space-2);color:var(--text-brand);font-weight:var(--font-medium);font-size:var(--text-sm);transition:color var(--transition-fast), gap var(--transition-fast);text-decoration:none;display:inline-flex}.word-detail-back:hover,.word-detail-back:focus-visible{color:var(--color-brand-400);gap:var(--space-3);text-decoration:none}.word-detail-level{min-width:44px;height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;background-color:var(--level-soft);color:var(--level-accent);justify-content:center;align-items:center;display:inline-flex}.word-detail-alert{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--color-error) 40%, transparent);border-radius:var(--radius-xl);background-color:var(--color-error-soft);color:var(--text-error);font-size:var(--text-sm);margin:0;display:flex}.word-detail-alert svg{flex-shrink:0}.word-detail-hero{gap:var(--space-5);padding:var(--space-6);background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);flex-direction:column;display:flex;position:relative;overflow:hidden}.word-detail-hero:before{content:"";background:radial-gradient(ellipse, color-mix(in srgb, var(--level-accent) 20%, transparent) 0%, transparent 70%);pointer-events:none;width:60%;height:170%;position:absolute;top:-45%;right:-15%}.word-detail-hero-text{z-index:1;min-width:0;position:relative}.word-detail-word{font-family:var(--font-display);font-size:clamp(var(--text-3xl), 9vw, var(--text-5xl));font-weight:var(--font-bold);letter-spacing:-.03em;line-height:var(--leading-tight);color:var(--text-primary);overflow-wrap:break-word;margin:0}.word-detail-media{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.word-detail-media-btn{--media-accent:var(--color-brand-500);justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-full);border:1.5px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);display:inline-flex}.word-detail-media-btn svg{color:var(--media-accent);flex-shrink:0}.word-detail-media-btn:hover{color:var(--text-primary);border-color:color-mix(in srgb, var(--media-accent) 55%, var(--border-default));background:color-mix(in srgb, var(--media-accent) 8%, var(--bg-secondary))}.word-detail-media-btn:active{transform:scale(.97)}.word-detail-media-btn:focus-visible{outline:2px solid var(--media-accent);outline-offset:2px}.word-detail-media-btn--video{--media-accent:var(--color-info)}.word-detail-media-btn.is-speaking{color:var(--text-brand);background:var(--color-brand-soft);border-color:var(--color-brand-500)}.word-detail-media-btn.is-speaking svg{animation:1s ease-in-out infinite pulse}.word-detail-figure{z-index:1;width:100%;margin:0;position:relative}.word-detail-figure img{aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-xl);border:1px solid var(--card-border);background-color:var(--bg-tertiary);width:100%;display:block}.word-detail-status-field{border:0;min-width:0;margin:0;padding:0}.word-detail-status-field>.word-detail-eyebrow{padding:0}.word-detail-track{--step-index:0;--status-accent:var(--color-status-new);--track-pad:5px;padding:var(--track-pad);background-color:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.word-detail-track[data-status=new]{--step-index:0;--status-accent:var(--color-status-new)}.word-detail-track[data-status=practicing]{--step-index:1;--status-accent:var(--color-status-practicing)}.word-detail-track[data-status=learned]{--step-index:2;--status-accent:var(--color-status-learned)}.word-detail-track:before{content:"";top:var(--track-pad);bottom:var(--track-pad);left:var(--track-pad);width:calc((100% - var(--track-pad) * 2) / 3);transform:translateX(calc(var(--step-index) * 100%));background-color:var(--bg-elevated);border:1.5px solid var(--status-accent);border-radius:calc(var(--radius-2xl) - var(--track-pad));box-shadow:var(--shadow-sm);transition:transform var(--transition-bounce), border-color var(--transition-normal);pointer-events:none;position:absolute}.word-detail-step{z-index:1;justify-content:center;align-items:center;gap:var(--space-1-5);min-height:72px;padding:var(--space-3) var(--space-1);border-radius:calc(var(--radius-2xl) - var(--track-pad));cursor:pointer;text-align:center;flex-direction:column;display:flex;position:relative}.word-detail-step[data-step=new]{--step-accent:var(--color-status-new)}.word-detail-step[data-step=practicing]{--step-accent:var(--color-status-practicing)}.word-detail-step[data-step=learned]{--step-accent:var(--color-status-learned)}.word-detail-step-icon{color:var(--text-muted);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.word-detail-step-icon svg{width:22px;height:22px}.word-detail-step-label{font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.01em;color:var(--text-tertiary);transition:color var(--transition-fast)}.word-detail-step:hover .word-detail-step-icon,.word-detail-step:hover .word-detail-step-label{color:var(--text-secondary)}.word-detail-step input:checked~.word-detail-step-icon{color:var(--step-accent);transform:scale(1.1)}.word-detail-step input:checked~.word-detail-step-label{color:var(--text-primary);font-weight:var(--font-bold)}.word-detail-track[data-status=practicing] .word-detail-step[data-step=new] .word-detail-step-icon,.word-detail-track[data-status=learned] .word-detail-step[data-step=new] .word-detail-step-icon,.word-detail-track[data-status=learned] .word-detail-step[data-step=practicing] .word-detail-step-icon{color:color-mix(in srgb, var(--step-accent) 45%, transparent)}.word-detail-step input:focus-visible~.word-detail-step-icon:after{content:"";border-radius:calc(var(--radius-2xl) - var(--track-pad));outline:2px solid var(--border-focus);outline-offset:2px;pointer-events:none;position:absolute;inset:0}.word-detail-entry{padding:var(--space-6);background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl)}.word-detail-eyebrow{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin:0 0 var(--space-3)}.word-detail-definition{font-family:var(--font-display);font-size:clamp(var(--text-lg), 3.2vw, var(--text-2xl));font-weight:var(--font-medium);letter-spacing:-.01em;color:var(--text-primary);line-height:var(--leading-snug);max-width:42ch;margin:0}.word-detail-example{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.word-detail-quote{padding-left:var(--space-6);max-width:54ch;margin:0;position:relative}.word-detail-quote:before{content:"“";font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-bold);color:color-mix(in srgb, var(--level-accent) 45%, transparent);pointer-events:none;line-height:1;position:absolute;top:-.1em;left:0}.word-detail-quote p{font-size:var(--text-lg);font-style:italic;line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0}.word-detail-highlight{border-radius:var(--radius-md);background-color:var(--level-soft);color:var(--level-accent);font-style:normal;font-weight:var(--font-bold);padding:.1em .3em}.word-detail-skeleton{gap:var(--space-5);flex-direction:column;display:flex}.word-detail-skeleton-hero{gap:var(--space-4);padding:var(--space-6);background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);flex-direction:column;display:flex}.word-detail-skeleton-box{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-hover) 37%, var(--bg-tertiary) 63%) 0 0 / 200% 100%;animation:1.4s ease-in-out infinite shimmer;display:block}.word-detail-skeleton-box--title{width:min(320px,70%);height:52px}.word-detail-skeleton-box--line{border-radius:var(--radius-full);width:min(260px,60%);height:44px}.word-detail-skeleton-box--panel{border-radius:var(--radius-2xl);height:180px}@media (width>=640px){.word-detail-hero{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-8);flex-direction:row}.word-detail-hero-text{flex:auto}.word-detail-figure{flex:none;width:min(180px,32%)}.word-detail-figure img{aspect-ratio:1}.word-detail-actionbar .btn{flex:none}.word-detail-entry{padding:var(--space-8)}}@media (width>=1024px){.word-detail{gap:var(--space-6)}}@media (prefers-reduced-motion:reduce){.word-detail-back,.word-detail-media-btn,.word-detail-track:before,.word-detail-step-icon,.word-detail-step-label{transition:none}.word-detail-media-btn:active,.word-detail-step input:checked~.word-detail-step-icon{transform:none}.word-detail-media-btn.is-speaking svg,.word-detail-skeleton-box{animation:none}}.add-word{gap:var(--space-6);flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.add-word-header{gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);flex-direction:column;display:flex}.add-word-title{font-family:var(--font-display);font-size:clamp(var(--text-2xl), 5vw, var(--text-3xl));font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--text-primary);margin:0}.add-word-subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin:0}.add-word-notice{padding:var(--space-3);margin-bottom:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.add-word-notice--error{background-color:var(--color-error-soft);color:var(--color-error)}.add-word-notice--info{background-color:var(--color-info-soft);color:var(--color-info)}.add-word-form{gap:var(--space-5);flex-direction:column;display:flex}.add-word-field{gap:var(--space-1);flex-direction:column;display:flex}.add-word-label{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);display:flex}.add-word-input,.add-word-textarea,.add-word-select{width:100%;padding:var(--space-3) var(--space-4);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-base);transition:all var(--transition-fast);font-family:inherit}.add-word-input:focus,.add-word-textarea:focus,.add-word-select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.add-word-textarea{resize:vertical;min-height:100px;line-height:var(--leading-relaxed)}.add-word-select{cursor:pointer}.add-word-row{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=640px){.add-word-row{grid-template-columns:1fr 1fr}}.add-word-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}@media (width<=480px){.add-word-subtitle{font-size:var(--text-sm)}.add-word-actions{flex-direction:column-reverse}.add-word-actions .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.add-word-input,.add-word-textarea,.add-word-select{transition:none}}.add-phrase{gap:var(--space-6);flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.add-phrase-header{gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);flex-direction:column;display:flex}.add-phrase-title{font-family:var(--font-display);font-size:clamp(var(--text-2xl), 5vw, var(--text-3xl));font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--text-primary);margin:0}.add-phrase-subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin:0}.add-phrase-notice{padding:var(--space-3);margin-bottom:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.add-phrase-notice--error{background-color:var(--color-error-soft);color:var(--color-error)}.add-phrase-notice--info{background-color:var(--color-info-soft);color:var(--color-info)}.add-phrase-form{gap:var(--space-5);flex-direction:column;display:flex}.add-phrase-field{gap:var(--space-1);flex-direction:column;display:flex}.add-phrase-label{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);display:flex}.required{color:var(--color-error)}.add-phrase-input,.add-phrase-textarea,.add-phrase-select{width:100%;padding:var(--space-3) var(--space-4);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-base);transition:all var(--transition-fast);font-family:inherit}.add-phrase-input:focus,.add-phrase-textarea:focus,.add-phrase-select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.add-phrase-textarea{resize:vertical;min-height:100px;line-height:var(--leading-relaxed)}.add-phrase-select{cursor:pointer}.add-phrase-row{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=640px){.add-phrase-row{grid-template-columns:1fr 1fr}}.add-phrase-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}@media (width<=480px){.add-phrase-subtitle{font-size:var(--text-sm)}.add-phrase-actions{flex-direction:column-reverse}.add-phrase-actions .btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.add-phrase-input,.add-phrase-textarea,.add-phrase-select{transition:none}}.practice{gap:var(--space-6);flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.practice-loading{padding:var(--space-16);justify-content:center;display:flex}.practice-modes{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.practice-mode{--mode-accent:var(--color-brand-500);--mode-soft:color-mix(in srgb, var(--mode-accent) 16%, transparent);align-items:flex-start;gap:var(--space-5);min-height:220px;padding:var(--space-6);background-color:var(--card-bg);background-image:linear-gradient(160deg, var(--mode-soft), transparent 58%);border:1px solid var(--card-border);border-radius:var(--radius-2xl);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;appearance:none;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;display:flex;position:relative;overflow:hidden}.practice-mode--flashcards{--mode-accent:var(--color-status-practicing)}.practice-mode--quiz{--mode-accent:var(--color-c1)}@media (hover:hover){.practice-mode:hover{border-color:color-mix(in srgb, var(--mode-accent) 50%, var(--card-border));box-shadow:var(--shadow-lg);transform:translateY(-2px)}.practice-mode:hover .practice-mode-chevron{color:var(--mode-accent);transform:translate(2px)}}.practice-mode:focus-visible{outline:2px solid var(--mode-accent);outline-offset:2px}.practice-mode-icon{border-radius:var(--radius-xl);background-color:color-mix(in srgb, var(--mode-accent) 16%, var(--card-bg));width:48px;height:48px;color:var(--mode-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.practice-mode-icon svg{width:22px;height:22px}.practice-mode-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.practice-mode-title{font-family:var(--font-display);font-weight:var(--font-semibold);font-size:var(--text-lg);color:var(--text-primary)}.practice-mode-desc{font-size:var(--text-sm);color:var(--text-tertiary);line-height:var(--leading-normal)}.practice-mode-meta{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--mode-accent)}.practice-mode-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform var(--transition-fast), color var(--transition-fast);align-self:flex-end;margin-top:auto}.practice-empty{align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);text-align:center;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);flex-direction:column;margin:0;display:flex}.practice-empty-icon{width:64px;height:64px;margin-bottom:var(--space-2);border-radius:var(--radius-xl);background:linear-gradient(160deg, color-mix(in srgb, var(--color-status-practicing) 18%, transparent), transparent 70%);color:var(--color-status-practicing);justify-content:center;align-items:center;display:flex}.practice-empty-icon svg{width:28px;height:28px}.practice-empty-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.practice-empty-hint{margin:0 0 var(--space-3);max-width:36ch;font-size:var(--text-sm);color:var(--text-tertiary);line-height:var(--leading-normal)}.practice-empty .btn{text-decoration:none}.practice--flashcards{gap:var(--space-4);max-width:600px}.fc-toolbar,.quiz-toolbar{align-items:center;gap:var(--space-3);grid-template-columns:1fr auto 1fr;min-width:0;display:grid}.fc-back{margin-left:calc(var(--space-2) * -1);flex-shrink:0;justify-self:start;height:44px;min-height:44px}.fc-title,.quiz-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);text-align:center;letter-spacing:-.02em;grid-column:2;margin:0}.fc-counter{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);white-space:nowrap;margin:0}.fc-toolbar-end{justify-content:flex-end;align-items:center;gap:var(--space-2);grid-column:3;justify-self:end;min-width:0;display:flex}.fc-mix{height:44px;min-height:44px;padding:0 var(--space-3);gap:var(--space-2);color:var(--text-secondary);flex-shrink:0}.fc-mix svg{flex-shrink:0}.fc-mix-label{font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}.fc-mix:hover:not(:disabled){color:var(--text-primary)}.fc-mix:disabled{opacity:.4}.fc-session{gap:var(--space-4);flex-direction:column;flex:1;min-height:0;display:flex}.fc-progress,.quiz-progress{background-color:var(--bg-tertiary);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.fc-progress-fill,.quiz-progress-fill{background:linear-gradient(90deg, var(--color-brand-400), var(--color-brand-500) 55%, var(--color-c1));border-radius:var(--radius-full);height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--color-brand-500) 45%, transparent);transition:width var(--transition-normal)}.fc-deck{min-height:300px;margin-bottom:var(--space-3);flex:auto;position:relative}.fc-deck-layer{border-radius:var(--radius-2xl);background-color:var(--card-bg);border:1px solid var(--card-border);pointer-events:none;position:absolute;inset:10px 6% -10px}.fc-deck-layer:first-child{opacity:.45;inset:18px 10% -16px}.fc-deck-layer:nth-child(2){opacity:.7}.fc-card{z-index:1;width:100%;height:100%;box-shadow:none;cursor:pointer;color:inherit;font:inherit;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y;overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none;perspective:1400px;background:0 0;border:none;margin:0;padding:0;display:block;position:absolute;inset:0}.fc-card:focus-visible{outline:none}.fc-card:focus-visible .fc-face{outline:2px solid var(--border-focus);outline-offset:2px;border-color:var(--color-brand-400);box-shadow:var(--shadow-xl)}.fc-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1);display:block;position:relative}.fc-card.is-flipped .fc-card-inner{transform:rotateY(180deg)}.fc-face{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6) var(--space-8);background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--color-brand-500) 14%, transparent), transparent 58%), var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);text-align:center;backface-visibility:hidden;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.fc-face--back{background:radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--color-c1) 14%, transparent), transparent 58%), var(--bg-tertiary);border-color:color-mix(in srgb, var(--color-brand-400) 40%, var(--card-border));transform:rotateY(180deg)}@media (hover:hover){.fc-card:hover .fc-face{border-color:color-mix(in srgb, var(--color-brand-400) 50%, var(--card-border));box-shadow:var(--shadow-xl)}}.fc-kicker{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.fc-word{font-family:var(--font-display);font-size:clamp(var(--text-3xl), 7vw, var(--text-5xl));font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight);overflow-wrap:anywhere;letter-spacing:-.03em;margin:0}.fc-level{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:var(--font-bold);font-size:var(--text-sm)}.fc-back-word{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:lowercase;letter-spacing:.02em;margin:0}.fc-meaning{font-size:clamp(var(--text-xl), 4.5vw, var(--text-2xl));font-weight:var(--font-semibold);color:var(--color-brand-500);line-height:var(--leading-snug);overflow-wrap:anywhere;margin:0}.fc-example{color:var(--text-secondary);font-style:italic;font-size:var(--text-base);line-height:var(--leading-relaxed);max-width:36ch;margin:0}.fc-actions{gap:var(--space-3);flex-direction:column;display:flex}.fc-nav,.fc-secondary{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.fc-nav .btn,.fc-secondary .btn{width:100%;min-height:44px}.fc-learned-btn{color:var(--color-success)}.fc-learned-btn:hover:not(:disabled){color:var(--color-success);border-color:var(--color-success);background-color:var(--color-success-soft)}.practice--quiz{gap:var(--space-4);max-width:600px}.quiz-meta{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);white-space:nowrap;grid-column:3;justify-self:end;margin:0;display:inline-flex}.quiz-meta-score{min-width:1.75rem;height:1.75rem;padding:0 var(--space-2);border-radius:var(--radius-full);background-color:color-mix(in srgb, var(--color-brand-500) 16%, transparent);color:var(--text-brand,var(--color-brand-400));font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:inline-flex}.quiz-card{gap:var(--space-5);padding:var(--space-8) var(--space-6);background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--color-c1) 12%, transparent), transparent 52%), var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.quiz-prompt{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;text-align:center}.quiz-word{font-family:var(--font-display);font-size:clamp(var(--text-2xl), 5vw, var(--text-4xl));font-weight:var(--font-bold);color:var(--text-primary);text-align:center;line-height:var(--leading-tight);letter-spacing:-.03em;margin:0}.quiz-options{gap:var(--space-3);flex-direction:column;display:flex}.quiz-option{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);background-color:var(--bg-surface,var(--bg-tertiary));border:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-medium);text-align:left;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);display:flex}.quiz-option:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px)}.quiz-option:disabled{cursor:default}.quiz-option-key{border-radius:var(--radius-full);background-color:color-mix(in srgb, var(--color-brand-500) 12%, var(--bg-tertiary));width:32px;height:32px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.02em;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.quiz-option-text{min-width:0;line-height:var(--leading-snug)}.quiz-option.is-correct{background-color:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.quiz-option.is-wrong{background-color:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.quiz-option.is-correct .quiz-option-key,.quiz-option.is-wrong .quiz-option-key{background-color:color-mix(in srgb, currentColor 16%, transparent);color:inherit}.quiz-next{justify-content:flex-end;display:flex}.quiz-next .btn{min-width:8.5rem}.quiz-result{align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);background:radial-gradient(ellipse at 50% 12%, color-mix(in srgb, var(--color-brand-500) 16%, transparent), transparent 52%), var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);flex-direction:column;display:flex}.quiz-result-ring-figure{width:168px;height:168px;margin-bottom:var(--space-2);position:relative}.quiz-result-ring{width:100%;height:100%;transform:rotate(-90deg)}.quiz-result-ring-bg{fill:none;stroke:color-mix(in srgb, var(--color-brand-500) 18%, var(--border-default));stroke-width:11px}.quiz-result-ring-fill{fill:none;stroke:url(#practice-quiz-ring-gradient);stroke-width:11px;stroke-linecap:round;transition:stroke-dashoffset var(--transition-slow) ease-out}.quiz-result-ring-center{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.quiz-result-percent{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.04em}.quiz-result-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.quiz-result-message{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-brand,var(--color-brand-400));text-transform:uppercase;letter-spacing:.08em;margin:0}.quiz-score{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-secondary);margin:0 0 var(--space-3)}.quiz-result-actions{gap:var(--space-3);display:flex}@media (width<=768px){.practice--flashcards{min-height:calc(100dvh - var(--header-offset) - var(--space-8));gap:var(--space-3)}.fc-session{gap:var(--space-3);flex:1}.fc-deck{flex:auto;min-height:min(48vh,320px)}.fc-face{padding:var(--space-8) var(--space-4) var(--space-6)}}@media (width<=640px){.practice-modes{grid-template-columns:1fr}.practice-mode{min-height:0;padding:var(--space-5)}}@media (width<=480px){.fc-toolbar,.quiz-toolbar{gap:var(--space-2)}.fc-mix{width:44px;padding:0}.fc-mix-label{display:none}.fc-deck{min-height:min(42vh,280px)}.fc-face{padding:var(--space-6) var(--space-4) var(--space-5);border-radius:var(--radius-xl)}.fc-deck-layer{border-radius:var(--radius-xl)}.fc-nav .btn,.fc-secondary .btn{height:48px;min-height:48px}.fc-word{overflow-wrap:anywhere;word-break:break-word}.fc-example{font-size:var(--text-sm)}.quiz-card{padding:var(--space-5) var(--space-4)}.quiz-next .btn{width:100%}}@media (width<=360px){.fc-actions .btn{font-size:var(--text-xs);padding-left:var(--space-2);padding-right:var(--space-2)}}@media (width<=768px) and (height<=560px){.practice--flashcards{min-height:0}.fc-deck{flex:0 auto;min-height:160px}.fc-face{padding:var(--space-6) var(--space-4) var(--space-4)}.fc-word{font-size:var(--text-2xl)}.fc-meaning{font-size:var(--text-lg)}}@media (width<=768px){body.practice-flashcards .layout-footer{display:none}body.practice-flashcards .layout-content{padding-bottom:max(var(--space-4), var(--safe-bottom))}}@media (prefers-reduced-motion:reduce){.practice-mode,.practice-mode-chevron,.fc-card,.fc-card-inner,.fc-progress-fill,.quiz-progress-fill,.quiz-option,.quiz-result-ring-fill{transition:none;animation:none}.practice-mode:hover,.quiz-option:hover:not(:disabled){transform:none}}.settings{gap:var(--space-6);max-width:var(--content-max-width);flex-direction:column;width:100%;margin:0 auto;display:flex}.settings-header{gap:var(--space-2);flex-direction:column;display:flex}.settings-title{font-family:var(--font-display);font-size:clamp(var(--text-2xl), 5vw, var(--text-4xl));font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--text-primary);margin:0}.settings-subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin:0}.settings-layout{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=1024px){.settings-layout{grid-template-columns:280px 1fr;align-items:start}}.settings-sidebar{top:calc(var(--header-offset) + var(--space-6));height:fit-content;max-height:calc(100vh - var(--header-offset) - var(--space-12));max-height:calc(100dvh - var(--header-offset) - var(--space-12));padding:var(--space-4);background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);position:sticky;overflow-y:auto}.settings-nav{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.settings-nav-item{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--text-secondary);text-align:left;cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:none;display:flex}.settings-nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.settings-nav-item.active{background-color:var(--color-brand-soft);color:var(--text-brand)}.settings-nav-item.active .settings-nav-icon{color:var(--text-brand)}.settings-nav-icon{width:20px;height:20px;color:var(--text-tertiary);transition:color var(--transition-fast);flex-shrink:0}.settings-nav-content{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.settings-nav-title{font-weight:var(--font-medium);font-size:var(--text-sm);color:inherit}.settings-nav-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.settings-nav-item.active .settings-nav-desc{color:var(--color-brand-500)}.settings-content{width:100%}.settings-section{gap:var(--space-6);flex-direction:column;display:flex}.settings-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-6)}.settings-card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-1)}.settings-card-description{font-size:var(--text-sm);color:var(--text-tertiary);margin:0 0 var(--space-6)}.settings-theme-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.settings-theme-copy{min-width:0}.settings-theme-copy .settings-card-title{margin-bottom:var(--space-1)}.settings-theme-copy .settings-card-description{margin:0}.settings-theme-toggle{background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-shrink:0;padding:3px;display:inline-flex}.settings-theme-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:calc(var(--radius-lg) - 2px);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;display:inline-flex}.settings-theme-chip:hover{color:var(--text-primary)}.settings-theme-chip.active{background-color:var(--button-primary-bg);color:var(--button-primary-text)}.settings-theme-chip.active:hover{color:var(--button-primary-text)}.settings-theme-chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.settings-density-options{gap:var(--space-2);flex-direction:column;display:flex}.settings-density-option{padding:var(--space-3) var(--space-4);background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.settings-density-option:hover{border-color:var(--border-strong);background-color:var(--bg-tertiary)}.settings-density-name{font-weight:var(--font-medium);color:var(--text-primary)}.settings-density-desc{font-size:var(--text-sm);color:var(--text-tertiary)}.settings-toggle{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;cursor:pointer;display:flex}.settings-toggle input{opacity:0;width:0;height:0;position:absolute}.settings-toggle-slider{background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-full);width:44px;height:26px;transition:all var(--transition-fast);flex-shrink:0;position:relative}.settings-toggle-slider:after{content:"";background-color:var(--text-tertiary);width:20px;height:20px;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border-radius:50%;position:absolute;top:2px;left:2px}.settings-toggle input:checked+.settings-toggle-slider{background-color:var(--color-brand-500);border-color:var(--color-brand-500)}.settings-toggle input:checked+.settings-toggle-slider:after{background-color:#fff;transform:translate(18px)}.settings-toggle input:focus-visible+.settings-toggle-slider{outline:2px solid var(--border-focus);outline-offset:2px}.settings-toggle-content{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.settings-toggle-label{font-weight:var(--font-medium);color:var(--text-primary)}.settings-toggle-desc{font-size:var(--text-sm);color:var(--text-tertiary)}.settings-radio-group{gap:var(--space-2);flex-direction:column;display:flex}.settings-radio{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);display:flex}.settings-radio:hover{border-color:var(--border-strong);background-color:var(--bg-tertiary)}.settings-radio input{opacity:0;width:0;height:0;position:absolute}.settings-radio-slider{border:2px solid var(--border-default);width:20px;height:20px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;position:relative}.settings-radio-slider:after{content:"";background-color:var(--color-brand-500);width:10px;height:10px;transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.settings-radio input:checked+.settings-radio-slider{border-color:var(--color-brand-500)}.settings-radio input:checked+.settings-radio-slider:after{transform:translate(-50%,-50%)scale(1)}.settings-radio input:focus-visible+.settings-radio-slider{outline:2px solid var(--border-focus);outline-offset:2px}.settings-radio-content{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.settings-radio-label{font-weight:var(--font-medium);color:var(--text-primary)}.settings-radio-desc{font-size:var(--text-sm);color:var(--text-tertiary)}.settings-form-group{margin-bottom:var(--space-4)}.settings-form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-1);display:block}.settings-form-input,.settings-form-select{width:100%;max-width:400px;padding:var(--space-2) var(--space-3);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-base);transition:all var(--transition-fast)}.settings-form-input:focus,.settings-form-select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.settings-form-input[aria-invalid=true]{border-color:var(--color-error)}.settings-password-row{max-width:400px;position:relative}.settings-password-row .settings-form-input{max-width:none;padding-right:2.75rem}.settings-show-password{top:50%;right:var(--space-2);border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;transform:translateY(-50%)}.settings-show-password:hover:not(:disabled){background:var(--button-ghost-hover,transparent);color:var(--text-primary)}.settings-show-password:disabled{opacity:.4;cursor:not-allowed}.settings-show-password svg{width:1.125rem;height:1.125rem}.settings-form-error{margin:var(--space-1) 0 0;color:var(--text-error);font-size:var(--text-sm)}.settings-form>.settings-form-error{margin:0 0 var(--space-1)}.settings-form-select{cursor:pointer}.settings-profile{gap:var(--space-6);flex-direction:column;display:flex}@media (width>=640px){.settings-profile{flex-direction:row;align-items:flex-start}}.settings-avatar{align-items:center;gap:var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.settings-avatar img{border:3px solid var(--color-brand-500);border-radius:50%}.settings-avatar-placeholder{background-color:var(--color-brand-500);color:#fff;width:80px;height:80px;font-size:var(--text-4xl);font-weight:var(--font-bold);border-radius:50%;justify-content:center;align-items:center;display:flex}.settings-form{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.settings-language-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));display:grid}.settings-language-option{align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);background-color:var(--bg-secondary);border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;display:flex}.settings-language-option:hover{border-color:var(--border-strong)}.settings-language-option.active{border-color:var(--color-brand-500);background-color:var(--color-brand-soft)}.settings-language-name{font-weight:var(--font-semibold);color:var(--text-primary)}.settings-language-native{font-size:var(--text-sm);color:var(--text-tertiary)}.settings-info-list{gap:var(--space-3);flex-direction:column;display:flex}.settings-info-item{padding:var(--space-3) var(--space-4);background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;display:flex}.settings-info-label{font-weight:var(--font-medium);color:var(--text-secondary)}.settings-info-value{font-family:var(--font-mono);color:var(--text-primary)}.settings-links{gap:var(--space-2);flex-direction:column;display:flex}.settings-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-secondary);border-radius:var(--radius-lg);transition:all var(--transition-fast);display:flex}.settings-link:hover{color:var(--text-brand);background-color:var(--color-brand-soft);text-decoration:none}.settings-auth-prompt{text-align:center;padding:var(--space-12) var(--space-6)!important}.settings-auth-buttons{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;justify-content:center;display:flex}.settings-danger-zone{border-color:var(--color-error);background-color:var(--color-error-soft)}.settings-danger-zone .settings-card-title{color:var(--color-error)}.settings-danger-zone .settings-card-description{color:var(--text-error)}.settings-danger-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-confirm-overlay{z-index:var(--z-modal-backdrop);background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:fixed;inset:0}.settings-confirm-modal{z-index:var(--z-modal);padding:var(--space-4);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-confirm-card{pointer-events:auto;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);width:min(440px,100%);padding:var(--space-6);box-shadow:var(--shadow-2xl);gap:var(--space-4);text-align:start;flex-direction:column;display:flex}.settings-confirm-card h2{font-size:var(--text-xl);color:var(--color-error);margin:0}.settings-confirm-card p{font-size:var(--text-base);line-height:var(--leading-relaxed,1.6);color:var(--text-secondary);margin:0}.settings-confirm-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=768px){.settings-sidebar{max-height:none;position:static}.settings-nav{flex-flow:wrap}.settings-nav-item{text-align:center;flex:8rem;justify-content:center;min-width:0}.settings-nav-content{align-items:center}.settings-nav-desc{display:none}}@media (width<=480px){.settings-card{padding:var(--space-4)}.settings-title{font-size:var(--text-2xl)}.settings-subtitle{font-size:var(--text-sm)}.settings-theme-row{flex-direction:column;align-items:flex-start}.settings-language-grid{grid-template-columns:1fr}.settings-auth-buttons{flex-direction:column}.settings-auth-buttons .btn{width:100%}}@media (prefers-reduced-motion:reduce){.settings-toggle-slider,.settings-toggle-slider:after,.settings-radio-slider:after{transition:none}}.levels-page{gap:var(--space-6);max-width:var(--content-max-width);flex-direction:column;width:100%;margin:0 auto;display:flex}.levels-title{font-family:var(--font-display);font-size:clamp(var(--text-2xl), 5vw, var(--text-4xl));font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--text-primary);line-height:var(--leading-tight);margin:0}.levels-panel{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);padding:var(--space-8)}.levels-section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-6)}.levels-mastery-body{align-items:center;gap:var(--space-10);grid-template-columns:auto 1fr;display:grid}.levels-ring-figure{flex-shrink:0;width:200px;height:200px;position:relative}.levels-ring{width:100%;height:100%;color:var(--color-brand-500);transform:rotate(-90deg)}.levels-ring-bg{fill:none;stroke:var(--border-default);stroke-width:10px}.levels-ring-fill{fill:none;stroke:currentColor;stroke-width:10px;stroke-linecap:round;filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--color-brand-500) 45%, transparent));animation:levelsRingIn var(--transition-slow) ease-out;transition:stroke-dashoffset var(--transition-slow) ease-out}@keyframes levelsRingIn{0%{stroke-dashoffset:339.292px}}.levels-ring-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.levels-ring-percent{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight);letter-spacing:-.03em}.levels-ring-caption{margin-top:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.levels-mix{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.levels-mix-summary{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-secondary);margin:0}.levels-mix-track{background-color:var(--bg-tertiary);border-radius:var(--radius-full);height:12px;display:flex;overflow:hidden}.levels-mix-segment{min-width:0;height:100%}.levels-mix-segment+.levels-mix-segment{box-shadow:inset 2px 0 0 var(--card-bg)}.levels-mix-segment[data-key=learned],.levels-mix-dot[data-key=learned]{background-color:var(--color-status-learned)}.levels-mix-segment[data-key=practicing],.levels-mix-dot[data-key=practicing]{background-color:var(--color-status-practicing)}.levels-mix-segment[data-key=remaining],.levels-mix-dot[data-key=remaining]{background-color:var(--text-muted)}.levels-mix-legend{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.levels-mix-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.levels-mix-key{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:inline-flex}.levels-mix-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.levels-mix-value{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.levels-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));display:grid}.levels-card{--level-accent:var(--color-brand-500);--level-soft:color-mix(in srgb, var(--color-brand-500) 16%, transparent);gap:var(--space-4);padding:var(--space-5);background-color:var(--card-bg);background-image:linear-gradient(90deg, var(--level-soft), transparent 42%);border:1px solid var(--card-border);border-radius:var(--radius-xl);color:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.levels-card[data-level=a1]{--level-accent:var(--color-a1);--level-soft:var(--color-a1-soft)}.levels-card[data-level=a2]{--level-accent:var(--color-a2);--level-soft:var(--color-a2-soft)}.levels-card[data-level=b1]{--level-accent:var(--color-b1);--level-soft:var(--color-b1-soft)}.levels-card[data-level=b2]{--level-accent:var(--color-b2);--level-soft:var(--color-b2-soft)}.levels-card[data-level=c1]{--level-accent:var(--color-c1);--level-soft:var(--color-c1-soft)}.levels-card[data-level=c2]{--level-accent:var(--color-c2);--level-soft:var(--color-c2-soft)}.levels-card:hover,.levels-card:focus-visible{border-color:color-mix(in srgb, var(--level-accent) 55%, var(--card-border));box-shadow:var(--shadow-lg);color:inherit;text-decoration:none;transform:translateY(-2px)}.levels-card:focus-visible{outline:2px solid var(--level-accent);outline-offset:2px}.levels-card-header{align-items:center;gap:var(--space-3);display:flex}.levels-card-badge{min-width:44px;height:28px;padding:0 var(--space-2);border-radius:var(--radius-full);background-color:var(--level-accent);font-size:var(--text-xs);font-weight:var(--font-bold);color:#fff;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.levels-card-heading{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.levels-card-label{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-base)}.levels-card-complete{align-items:center;gap:var(--space-1);width:fit-content;color:var(--color-success);font-size:var(--text-xs);font-weight:var(--font-semibold);display:inline-flex}.levels-card-complete svg{width:12px;height:12px}.levels-card-percent{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.03em;line-height:1}.levels-card.is-complete .levels-card-percent{color:var(--color-success)}.levels-card-track{background-color:var(--bg-tertiary);border-radius:var(--radius-full);height:8px;overflow:hidden}.levels-card-fill{border-radius:var(--radius-full);background-color:var(--level-accent);height:100%;transition:width var(--transition-slow) ease-out}.levels-card-meta{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);display:flex}.levels-card-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform var(--transition-fast), color var(--transition-fast)}.levels-card:hover .levels-card-chevron,.levels-card:focus-visible .levels-card-chevron{color:var(--level-accent);transform:translate(2px)}.levels-topic-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));display:grid}.levels-topic-card{--topic-accent:var(--color-brand-500);align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background-color:var(--bg-secondary);background-image:linear-gradient(160deg, color-mix(in srgb, var(--topic-accent) 16%, transparent), transparent 62%);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);color:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}.levels-topic-card:hover,.levels-topic-card:focus-visible{border-color:color-mix(in srgb, var(--topic-accent) 50%, var(--border-subtle));box-shadow:var(--shadow-lg);color:inherit;text-decoration:none;transform:translateY(-2px)}.levels-topic-card:focus-visible{outline:2px solid var(--topic-accent);outline-offset:2px}.levels-topic-icon{border-radius:var(--radius-lg);background-color:color-mix(in srgb, var(--topic-accent) 14%, var(--card-bg));justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;line-height:1;display:flex}.levels-topic-title{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm)}.levels-loading{gap:var(--space-6);flex-direction:column;display:flex}.levels-skeleton-panel,.levels-skeleton-card{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-hover) 37%, var(--bg-tertiary) 63%) 0 0 / 200% 100%;animation:1.4s ease-in-out infinite shimmer;display:block}.levels-skeleton-panel{border-radius:var(--radius-2xl);height:300px}.levels-skeleton-card{border-radius:var(--radius-xl);height:124px}@media (width<=900px){.levels-mastery-body{text-align:center;justify-items:center;gap:var(--space-6);grid-template-columns:1fr}.levels-mix{width:100%}.levels-mix-summary{text-align:left}}@media (width<=768px){.levels-panel{padding:var(--space-6)}.levels-ring-figure{width:160px;height:160px}.levels-ring-percent{font-size:var(--text-3xl)}}@media (width<=480px){.levels-panel{padding:var(--space-5)}.levels-grid{grid-template-columns:1fr}.levels-topic-grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.levels-ring-fill,.levels-card-fill,.levels-card,.levels-topic-card,.levels-card-chevron,.animate-slide-up,.levels-skeleton-panel,.levels-skeleton-card{transition:none;animation:none}.levels-card:hover,.levels-topic-card:hover{transform:none}}.static-page{gap:var(--space-6);max-width:var(--content-max-width);flex-direction:column;width:100%;margin:0 auto;display:flex}.static-page-header{gap:var(--space-2);flex-direction:column;display:flex}.static-page-title{font-family:var(--font-display);font-size:clamp(var(--text-2xl), 5vw, var(--text-4xl));font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--text-primary);margin:0}.static-page-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--space-6);max-width:42rem}.static-page-prose{gap:var(--space-5);flex-direction:column;display:flex}.static-page-prose p{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0}.static-page-details{gap:var(--space-6);flex-direction:column;display:flex}.static-page-detail{gap:var(--space-2);flex-direction:column;display:flex}.static-page-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.static-page-value{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-primary);margin:0}.verify-email-page{min-height:min(70vh,32rem);padding:var(--space-6) var(--space-4);justify-content:center;align-items:center;display:flex}.verify-email-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-2xl);width:min(420px,100%);padding:var(--space-10) var(--space-6);box-shadow:var(--shadow-xl);align-items:center;gap:var(--space-4);text-align:center;animation:scaleIn var(--transition-bounce) ease-out;flex-direction:column;display:flex}.verify-email-icon{flex-shrink:0;width:72px;height:72px}.verify-email-icon svg{width:100%;height:100%}.verify-email-icon--success{color:var(--color-success)}.verify-email-icon--error{color:var(--color-error)}.verify-email-icon--loading{justify-content:center;align-items:center;display:flex}.verify-email-icon--loading .spinner{border-width:4px;width:48px;height:48px}.verify-email-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);letter-spacing:-.02em;line-height:var(--leading-tight);color:var(--text-primary);margin:0}.verify-email-message{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:28rem;margin:0}.verify-email-actions{margin-top:var(--space-2);width:100%}:root{--color-brand-50:#eef2ff;--color-brand-100:#e0e7ff;--color-brand-200:#c7d2fe;--color-brand-300:#a5b4fc;--color-brand-400:#818cf8;--color-brand-500:#6366f1;--color-brand-600:#4f46e5;--color-brand-700:#4338ca;--color-brand-800:#3730a3;--color-brand-900:#312e81;--color-brand-950:#1e1b4b;--color-level-a1:#22c55e;--color-level-a2:#16a34a;--color-level-b1:#3b82f6;--color-level-b2:#2563eb;--color-level-c1:#a855f7;--color-level-c2:#ec4899;--color-a1:#22c55e;--color-a1-soft:#22c55e26;--color-a2:#16a34a;--color-a2-soft:#16a34a26;--color-b1:#3b82f6;--color-b1-soft:#3b82f626;--color-b2:#2563eb;--color-b2-soft:#2563eb26;--color-c1:#a855f7;--color-c1-soft:#a855f726;--color-c2:#ec4899;--color-c2-soft:#ec489926;--color-status-new:#6366f1;--color-status-new-soft:#6366f126;--color-status-practicing:#f59e0b;--color-status-practicing-soft:#f59e0b26;--color-status-learned:#10b981;--color-status-learned-soft:#10b98126;--color-success:#22c55e;--color-success-soft:#22c55e1f;--color-warning:#f59e0b;--color-warning-soft:#f59e0b1f;--color-error:#ef4444;--color-error-soft:#ef44441f;--color-info:#3b82f6;--color-info-soft:#3b82f61f;--color-neutral-0:#fff;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-1-5:.375rem;--space-2-5:.625rem;--space-3-5:.875rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--leading-tight:1.1;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-none:0;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000d;--shadow-glow:0 0 20px #6366f14d;--shadow-glow-lg:0 0 40px #6366f166;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.4s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-toast:800;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px;--header-height:4rem;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--header-offset:calc(var(--header-height) + var(--safe-top));--sidebar-width:16rem;--sidebar-collapsed-width:4.5rem;--content-max-width:80rem;--container-padding:1.5rem}@media (width<=767px){:root{--header-height:3.5rem}}[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#11131a;--bg-tertiary:#181b23;--bg-hover:#1e212b;--bg-active:#252934;--bg-elevated:#1a1d26;--bg-overlay:#0a0a0fcc;--bg-glass:#181b23b3;--border-subtle:#252934;--border-default:#2d3240;--border-strong:#3a3f4f;--border-focus:var(--color-brand-500);--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-muted:#52525b;--text-inverse:#0a0a0f;--text-brand:#a5b4fc;--text-success:#86efac;--text-warning:#fde047;--text-error:#fca5a5;--card-bg:var(--bg-secondary);--card-border:var(--border-default);--card-hover-bg:var(--bg-hover);--input-bg:var(--bg-tertiary);--input-border:var(--border-default);--input-focus-border:var(--color-brand-500);--button-primary-bg:var(--color-brand-600);--button-primary-hover:var(--color-brand-500);--button-primary-text:#fff;--button-secondary-bg:var(--bg-tertiary);--button-secondary-hover:var(--bg-hover);--button-secondary-text:var(--text-primary);--button-ghost-hover:var(--bg-hover);--button-danger-bg:var(--color-error);--button-danger-hover:#dc2626;--badge-bg:var(--bg-tertiary);--badge-text:var(--text-secondary);--sidebar-bg:var(--bg-secondary);--sidebar-border:var(--border-subtle);--header-bg:#0a0a0fe6;--header-border:var(--border-subtle);--scrollbar-thumb:#3a3f4f;--scrollbar-track:transparent;--selection-bg:#6366f14d;--bg-surface:var(--bg-tertiary);--bg-muted:var(--bg-hover);--card-hover:var(--bg-hover);--border-light:var(--border-strong);--color-brand-soft:#6366f12e;--focus-ring-color:#818cf88c}[data-theme=light]{--bg-primary:#fafafa;--bg-secondary:#fff;--bg-tertiary:#f5f5f5;--bg-hover:#f0f0f0;--bg-active:#e5e5e5;--bg-elevated:#fff;--bg-overlay:#ffffffe6;--bg-glass:#ffffffb3;--border-subtle:#e5e5e5;--border-default:#d4d4d4;--border-strong:#a3a3a3;--border-focus:var(--color-brand-600);--text-primary:#171717;--text-secondary:#525252;--text-tertiary:#737373;--text-muted:#a3a3a3;--text-inverse:#fff;--text-brand:#4f46e5;--text-success:#16a34a;--text-warning:#ca8a04;--text-error:#dc2626;--card-bg:var(--bg-secondary);--card-border:var(--border-default);--card-hover-bg:var(--bg-hover);--input-bg:var(--bg-primary);--input-border:var(--border-default);--input-focus-border:var(--color-brand-600);--button-primary-bg:var(--color-brand-600);--button-primary-hover:var(--color-brand-700);--button-primary-text:#fff;--button-secondary-bg:var(--bg-tertiary);--button-secondary-hover:var(--bg-hover);--button-secondary-text:var(--text-primary);--button-ghost-hover:var(--bg-tertiary);--button-danger-bg:var(--color-error);--button-danger-hover:#dc2626;--badge-bg:var(--bg-tertiary);--badge-text:var(--text-secondary);--sidebar-bg:var(--bg-secondary);--sidebar-border:var(--border-subtle);--header-bg:#fffffff2;--header-border:var(--border-subtle);--scrollbar-thumb:#d4d4d4;--scrollbar-track:#f5f5f5;--selection-bg:#6366f133;--bg-surface:var(--bg-secondary);--bg-muted:var(--bg-tertiary);--card-hover:var(--bg-hover);--border-light:var(--border-strong);--color-brand-soft:#6366f11f;--focus-ring-color:#4f46e573}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;font-size:16px;overflow:clip auto}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);max-width:100%;min-height:100dvh;transition:background-color var(--transition-normal), color var(--transition-normal)}body.sidebar-open{overflow:hidden}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (forced-colors:active){:focus-visible,input:focus,select:focus,textarea:focus{outline-offset:2px;outline:2px solid highlight}}::selection{background-color:var(--selection-bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}a{color:var(--text-brand);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-brand-400);text-decoration:underline}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}img{max-width:100%;height:auto;display:block}.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}.container{width:100%;max-width:var(--content-max-width);padding:0 var(--container-padding);margin:0 auto}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-slide-up{animation:slideUp var(--transition-normal) ease-out}.animate-slide-down{animation:slideDown var(--transition-normal) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.animate-scale-in{animation:scaleIn var(--transition-bounce) ease-out}.animate-spin{animation:1s linear infinite spin}.animate-pulse{animation:2s ease-in-out infinite pulse}.spinner{border:3px solid var(--border-subtle,#e5e7eb);border-top-color:var(--color-brand-500,#6366f1);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
