@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:2.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0, 0, 0, .05);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl:0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--transition-flip:.7s cubic-bezier(.4, .2, .2, 1);--sidebar-width:16rem;--sidebar-collapsed-width:5rem;--header-height:4rem;--bottom-nav-height:4rem;--color-mastery-high:#10b981;--color-mastery-high-bg:rgba(16, 185, 129, .1);--color-mastery-mid:#8b5cf6;--color-mastery-mid-bg:rgba(139, 92, 246, .1);--color-mastery-low:#f43f5e;--color-mastery-low-bg:rgba(244, 63, 94, .1);--color-srs-again:#f43f5e;--color-srs-again-bg:rgba(244, 63, 94, .1);--color-srs-again-border:rgba(244, 63, 94, .3);--color-srs-hard:#16a34a;--color-srs-hard-bg:rgba(22, 163, 74, .1);--color-srs-hard-border:rgba(22, 163, 74, .3);--color-srs-good:#16a34a;--color-srs-good-bg:rgba(22, 163, 74, .1);--color-srs-good-border:rgba(22, 163, 74, .3);--color-srs-easy:#16a34a;--color-srs-easy-bg:rgba(22, 163, 74, .1);--color-srs-easy-border:rgba(22, 163, 74, .3);--color-srs-never:#6366f1;--color-srs-never-bg:rgba(99, 102, 241, .1);--color-srs-never-border:rgba(99, 102, 241, .3);--color-streak:#f97316;--color-streak-bg:rgba(249, 115, 22, .1);--color-bg-primary:#f3f4f6;--color-bg-surface:#ffffff;--color-bg-surface-alt:#f9fafb;--color-bg-surface-deep:#f1f5f9;--color-bg-hover:#e5e7eb;--color-bg-input:#f9fafb;--color-bg-sidebar:#ffffff;--color-bg-shell:#f8fafc;--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-text-muted:#6b7280;--color-text-placeholder:#9ca3af;--color-border:#d1d5db;--color-border-light:#e5e7eb;--color-brand:#6366f1;--color-brand-hover:#4f46e5;--color-brand-light:#a5b4fc;--color-brand-text:#4338ca;--color-brand-bg:rgba(99, 102, 241, .1);--color-success:#16a34a;--color-success-hover:#15803d;--color-success-bg:#dcfce7;--color-error:#dc2626;--color-error-hover:#b91c1c;--color-error-bg:#fef2f2;--color-warning:#eab308;--color-warning-hover:#ca8a04;--color-warning-bg:#fefce8;--color-info:#3b82f6;--color-info-hover:#2563eb;--color-card-front-start:#6366f1;--color-card-front-end:#4f46e5;--color-card-back-start:#7c3aed;--color-card-back-end:#6d28d9;--color-card-back-border:rgba(99, 102, 241, .3);--color-quiz-option:#e5e7eb;--color-quiz-option-hover:#d1d5db;--color-quiz-correct:#16a34a;--color-quiz-wrong:#dc2626;--color-quiz-disabled:#e5e7eb;--color-toast-success:#15803d;--color-toast-error:#dc2626;--color-quiz-answer-correct-border:#2da44e;--color-quiz-answer-correct-bg:#dafbe1;--color-quiz-answer-incorrect-border:#cf222e;--color-quiz-answer-incorrect-bg:#fff5f5;--color-quiz-answer-missed-badge:#4b5563;--color-quiz-answer-inactive-bg:#e2e8f0;--color-quiz-answer-selected-border:#3b82f6;--color-quiz-answer-selected-bg:#eff6ff;--color-quiz-answer-hover-border:#93c5fd;--color-quiz-key-insight-bg:#fffbeb;--color-quiz-key-insight-border:#f59e0b;--color-mastery-amber:#d97706;--color-mastery-amber-text:#92400e;--color-mastery-amber-bg:rgba(217, 119, 6, .1);--color-mastery-amber-glow:rgba(245, 158, 11, .06);--color-mastery-rose:#e11d48;--color-mastery-rose-text:#be123c;--color-mastery-rose-bg:rgba(225, 29, 72, .1);--color-mastery-emerald:#059669;--color-mastery-emerald-text:#047857;--color-mastery-emerald-bg:rgba(5, 150, 105, .1);--color-mastery-blue:#2563eb;--color-mastery-blue-text:#1d4ed8;--color-mastery-blue-bg:rgba(37, 99, 235, .1);--color-mastery-widget-bg:var(--color-bg-surface);--color-mastery-widget-border:var(--color-border-light);--color-mastery-track-bg:var(--color-bg-surface-deep);--color-mastery-target-line:var(--color-text-muted);--color-mastery-target-label-bg:var(--color-bg-surface);--color-mastery-onboarding-bg:#1d4ed8;--color-mastery-onboarding-text:#ffffff;--color-history-pill-bg:var(--color-bg-surface-deep);--color-history-pill-border:var(--color-border-light);--color-history-pill-divider:var(--color-border);--color-history-dot-learned-color:#059669;--color-history-dot-mastered-color:#2563eb;--color-history-dot-miss-color:#dc2626;--color-history-dot-learned-glow:rgba(5, 150, 105, .15);--color-history-dot-mastered-glow:rgba(37, 99, 235, .15);--color-history-dot-miss-glow:rgba(220, 38, 38, .15)}.dark{--color-bg-primary:#0f1117;--color-bg-surface:#1a1e27;--color-bg-surface-alt:#13161c;--color-bg-surface-deep:#151820;--color-bg-hover:#232834;--color-bg-input:#232834;--color-bg-sidebar:#1a1e27;--color-bg-shell:#13161c;--color-text-primary:#f3f4f6;--color-text-secondary:#d1d5db;--color-text-muted:#9ca3af;--color-text-placeholder:#6b7280;--color-border:#374151;--color-border-light:#2d333b;--color-brand:#818cf8;--color-brand-hover:#6366f1;--color-brand-light:#6366f1;--color-brand-text:#a5b4fc;--color-brand-bg:rgba(99, 102, 241, .15);--color-success-bg:rgba(22, 163, 74, .15);--color-error-bg:rgba(220, 38, 38, .15);--color-warning-bg:rgba(234, 179, 8, .15);--color-card-front-start:#4f46e5;--color-card-front-end:#3730a3;--color-card-back-start:#6d28d9;--color-card-back-end:#5b21b6;--color-card-back-border:rgba(129, 140, 248, .3);--color-quiz-option:#374151;--color-quiz-option-hover:#4b5563;--color-quiz-disabled:#374151;--color-toast-success:#15803d;--color-toast-error:#b91c1c;--shadow-sm:0 1px 2px rgba(0, 0, 0, .3);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, .4);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, .4);--shadow-2xl:0 25px 50px -12px rgba(0, 0, 0, .5);--color-quiz-answer-correct-border:#2da44e;--color-quiz-answer-correct-bg:rgba(45, 164, 78, .15);--color-quiz-answer-incorrect-border:#cf222e;--color-quiz-answer-incorrect-bg:rgba(207, 34, 46, .12);--color-quiz-answer-missed-badge:#9ca3af;--color-quiz-answer-inactive-bg:#374151;--color-quiz-answer-selected-border:#6366f1;--color-quiz-answer-selected-bg:rgba(99, 102, 241, .15);--color-quiz-answer-hover-border:rgba(99, 102, 241, .5);--color-quiz-key-insight-bg:rgba(245, 158, 11, .1);--color-quiz-key-insight-border:#d97706;--color-mastery-amber:#fbbf24;--color-mastery-amber-text:#fbbf24;--color-mastery-amber-bg:rgba(251, 191, 36, .1);--color-mastery-amber-glow:rgba(245, 158, 11, .1);--color-mastery-rose:#f43f5e;--color-mastery-rose-text:#fb7185;--color-mastery-rose-bg:rgba(244, 63, 94, .1);--color-mastery-emerald:#10b981;--color-mastery-emerald-text:#34d399;--color-mastery-emerald-bg:rgba(16, 185, 129, .1);--color-mastery-blue:#3b82f6;--color-mastery-blue-text:#60a5fa;--color-mastery-blue-bg:rgba(59, 130, 246, .1);--color-mastery-widget-bg:var(--color-bg-surface);--color-mastery-widget-border:var(--color-border-light);--color-mastery-track-bg:var(--color-bg-surface-deep);--color-mastery-target-line:var(--color-text-secondary);--color-mastery-target-label-bg:var(--color-bg-surface-alt);--color-mastery-onboarding-bg:#3b82f6;--color-mastery-onboarding-text:#ffffff;--color-history-pill-bg:rgba(0, 0, 0, .4);--color-history-pill-border:rgba(255, 255, 255, .1);--color-history-pill-divider:rgba(255, 255, 255, .2);--color-history-dot-learned-color:#10b981;--color-history-dot-mastered-color:#60a5fa;--color-history-dot-miss-color:#ef4444;--color-history-dot-learned-glow:rgba(16, 185, 129, .5);--color-history-dot-mastered-glow:rgba(96, 165, 250, .5);--color-history-dot-miss-glow:rgba(239, 68, 68, .5)}.fc-app{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;color:var(--color-text-primary);display:flex;flex:1;min-height:0}.fc-sidebar{width:var(--sidebar-width);background:var(--color-bg-sidebar);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;flex-shrink:0;position:relative;transition:width var(--transition-base);z-index:30;overflow-y:auto;overflow-x:hidden}.fc-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.fc-sidebar-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:40;background:0 0;transition:background var(--transition-fast)}.fc-sidebar-resize-handle:hover{background:var(--color-brand);opacity:.35}.fc-sidebar-header{height:var(--header-height);display:flex;align-items:center;border-bottom:1px solid var(--color-border-light);flex-shrink:0;padding:0 var(--space-3);gap:var(--space-3)}.fc-sidebar.collapsed .fc-sidebar-header{padding:0;justify-content:center}.fc-sidebar-brand{display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--font-size-xl);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;transition:opacity var(--transition-base)}.fc-sidebar.collapsed .fc-sidebar-brand{width:0;opacity:0;display:none}.fc-brand-icon{width:2rem;height:2rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-brand),#7c3aed);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.fc-brand-accent{color:var(--color-brand)}.fc-sidebar-toggle{background:var(--color-bg-hover);border:1px solid var(--color-border-light);cursor:pointer;color:var(--color-text-primary);padding:var(--space-2);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background var(--transition-fast)}.fc-sidebar-toggle:hover{color:var(--color-brand);background:var(--color-bg-surface-deep)}.fc-sidebar-nav{padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.fc-sidebar.collapsed .fc-sidebar-nav{padding:var(--space-6) var(--space-2)}.fc-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-lg);font-weight:500;color:var(--color-text-muted);cursor:pointer;border:0;background:0 0;width:100%;font-family:var(--font-family);font-size:var(--font-size-sm);transition:all var(--transition-fast);white-space:nowrap}.fc-nav-item:hover{color:var(--color-text-secondary);background:var(--color-bg-hover)}.fc-nav-item.active{color:var(--color-brand);background:var(--color-brand-bg)}.fc-sidebar.collapsed .fc-nav-item{width:3rem;height:3rem;justify-content:center;padding:0;margin:0 auto}.fc-nav-item .fc-nav-label{overflow:hidden}.fc-sidebar.collapsed .fc-nav-label{display:none}.fc-sidebar-footer{border-top:1px solid var(--color-border-light);padding:var(--space-2) var(--space-3);flex-shrink:0}.fc-sidebar.collapsed .fc-sidebar-footer{padding:var(--space-2);display:flex;justify-content:center}.fc-user-profile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast)}.fc-user-profile:hover{background:var(--color-bg-hover)}.fc-user-avatar{width:2.25rem;height:2.25rem;border-radius:var(--radius-full);background:var(--color-bg-hover);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-primary);flex-shrink:0}.fc-user-info{min-width:0}.fc-sidebar.collapsed .fc-user-info{display:none}.fc-user-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.fc-user-role{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fc-content-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:var(--color-bg-shell)}.fc-header{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:var(--color-bg-shell);border-bottom:1px solid var(--color-border-light);flex-shrink:0;z-index:10;flex-wrap:wrap;gap:var(--space-3)}.fc-header-mobile-toggle{display:none}.fc-header-content{display:flex;flex:1;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.fc-filter-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.fc-filter-group{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.fc-select-wrapper{position:relative;display:flex;align-items:center}.fc-dropdown-select{appearance:none;-moz-appearance:none;-webkit-appearance:none;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1) var(--space-8) var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-family:var(--font-family);color:var(--color-text-secondary);cursor:pointer;font-weight:500;transition:all var(--transition-fast)}.fc-dropdown-select:hover{border-color:var(--color-border-light);background:var(--color-bg-hover)}.fc-dropdown-select:focus{outline:0;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-bg)}.fc-select-wrapper .fc-select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-muted)}.fc-filter-clear-btn{background:0 0;border:0;color:var(--color-brand);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;padding:var(--space-1) var(--space-2)}.fc-filter-clear-btn:hover{text-decoration:underline}.filter-dropdown-container.relative-container{position:relative;display:inline-block}.dropdown-trigger{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1) var(--space-8) var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-family:var(--font-family);color:var(--color-text-secondary);cursor:pointer;font-weight:500;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-1);position:relative;outline:0}.dropdown-trigger:hover,.dropdown-trigger.active{border-color:var(--color-border-light);background:var(--color-bg-hover);color:var(--color-text-primary)}.dropdown-trigger:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-bg)}.dropdown-trigger .chevron-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);transition:transform var(--transition-fast)}.dropdown-trigger .chevron-icon.open{transform:translateY(-50%) rotate(180deg)}.dropdown-popover{position:absolute;top:calc(100% + var(--space-2));left:0;width:280px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-4);z-index:100;display:flex;flex-direction:column;gap:var(--space-4);animation:fc-popover-fade-in var(--transition-fast) ease-out}@keyframes fc-popover-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.segmented-control{display:flex;background:var(--color-bg-surface-deep);border-radius:var(--radius-md);padding:2px;border:1px solid var(--color-border-light)}.segment-btn{flex:1;background:0 0;border:0;outline:0;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-family);transition:all var(--transition-fast);text-align:center}.segment-btn:hover{color:var(--color-text-secondary)}.segment-btn.active{background:var(--color-bg-surface);color:var(--color-brand);box-shadow:var(--shadow-sm)}.slider-container{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1)0}.slider-labels{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted)}.slider-labels .current-value{font-size:var(--font-size-sm);font-weight:700;color:var(--color-brand);background:var(--color-brand-bg);padding:2px 8px;border-radius:var(--radius-full)}.fc-custom-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);outline:0;margin:var(--space-2)0;cursor:pointer;touch-action:none;background:linear-gradient(to right,var(--color-brand) 0%,var(--color-brand) calc(var(--val, 0)*10%),var(--color-bg-surface-deep) calc(var(--val, 0)*10%),var(--color-bg-surface-deep) calc(var(--max-allowed, 10)*10%),var(--color-text-muted) calc(var(--max-allowed, 10)*10%),var(--color-text-muted) 100%)}.fc-custom-slider::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;border-radius:var(--radius-full);background:0 0}.fc-custom-slider::-webkit-slider-thumb{height:18px;width:18px;border-radius:var(--radius-full);background:var(--color-brand);cursor:pointer;-webkit-appearance:none;margin-top:-6px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),background-color var(--transition-fast)}.fc-custom-slider::-webkit-slider-thumb:hover{transform:scale(1.15);background:var(--color-brand)}.fc-custom-slider::-moz-range-thumb{height:18px;width:18px;border:0;border-radius:var(--radius-full);background:var(--color-brand);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),background-color var(--transition-fast)}.fc-custom-slider::-moz-range-thumb:hover{transform:scale(1.15);background:var(--color-brand)}.slider-caption{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;font-style:italic}.popover-actions{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);gap:var(--space-2)}.popover-actions.border-top{border-top:1px solid var(--color-border-light)}.clear-btn{background:0 0;border:0;outline:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.clear-btn:hover{color:var(--color-error);background:var(--color-error-bg)}.apply-btn{border:0;outline:0;font-size:var(--font-size-xs);font-weight:600;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);transition:all var(--transition-fast)}.apply-btn.btn-primary{background:var(--color-brand);color:#fff}.apply-btn.btn-primary:hover{background:var(--color-brand-hover);box-shadow:var(--shadow-md)}.fc-search-bar{position:relative;width:24rem}.fc-search-bar input{width:100%;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-10);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family);outline:0;transition:border-color var(--transition-fast)}.fc-search-bar input:focus{border-color:var(--color-brand)}.fc-search-bar input::placeholder{color:var(--color-text-placeholder)}.fc-search-bar .fc-search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-placeholder)}.fc-header-actions{display:flex;align-items:center;gap:var(--space-3)}.fc-icon-btn{background:0 0;border:0;cursor:pointer;color:var(--color-text-muted);padding:var(--space-2);border-radius:var(--radius-full);position:relative;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background var(--transition-fast)}.fc-icon-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.fc-notification-dot{position:absolute;top:.375rem;right:.375rem;width:.5rem;height:.5rem;border-radius:var(--radius-full);background:var(--color-error);border:2px solid var(--color-bg-shell)}.fc-main{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6) var(--space-8)}.fc-mobile-nav{display:none;position:relative;width:100%;height:var(--bottom-nav-height);background:var(--color-bg-sidebar);border-bottom:1px solid var(--color-border-light);z-index:20;padding:0 var(--space-2)}.fc-mobile-nav-inner{display:flex;align-items:center;justify-content:space-around;height:100%}.fc-mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;background:0 0;border:0;cursor:pointer;color:var(--color-text-muted);font-family:var(--font-family);transition:color var(--transition-fast);padding:var(--space-1);flex:1}.fc-mobile-nav-item:hover,.fc-mobile-nav-item.active{color:var(--color-brand)}.fc-mobile-nav-item span{font-size:.625rem;font-weight:500}.fc-welcome h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.fc-welcome p{font-size:var(--font-size-base);color:var(--color-text-muted)}.fc-dashboard-top{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6);align-items:flex-start}.fc-quick-stats{display:flex;gap:var(--space-3);padding-bottom:var(--space-2);flex-shrink:0;scrollbar-width:none;-ms-overflow-style:none}.fc-quick-stats::-webkit-scrollbar{display:none}.fc-mastery-widget{width:100%;max-width:600px;background:var(--color-mastery-widget-bg);border:1px solid var(--color-mastery-widget-border);border-radius:var(--radius-2xl);padding:var(--space-4);transition:border-color var(--transition-base),box-shadow var(--transition-slow);position:relative}.fc-mastery-widget--complete{border-color:#d9770666;box-shadow:0 0 18px var(--color-mastery-amber-glow)}.fc-mastery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.fc-mastery-header-left{display:flex;align-items:center;gap:var(--space-2)}.fc-mastery-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary)}.fc-mastery-all-decks-badge{font-size:.625rem;font-weight:500;color:var(--color-text-placeholder);background:var(--color-bg-surface-deep);border:1px solid var(--color-border-light);border-radius:var(--radius-full);padding:1px 6px;white-space:nowrap}.fc-mastery-edit-btn{background:0 0;border:0;cursor:pointer;color:var(--color-text-muted);padding:2px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);position:relative}.fc-mastery-edit-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.fc-mastery-day-label{font-size:var(--font-size-xs);color:var(--color-text-placeholder);margin-left:var(--space-1)}.fc-mastery-pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:var(--radius-sm);white-space:nowrap}.fc-mastery-pill--behind{background:var(--color-mastery-rose-bg);color:var(--color-mastery-rose-text)}.fc-mastery-pill--ahead{background:var(--color-mastery-emerald-bg);color:var(--color-mastery-emerald-text)}.fc-mastery-pill--on-track{background:var(--color-mastery-blue-bg);color:var(--color-mastery-blue-text)}.fc-mastery-pill--complete{background:var(--color-mastery-amber-bg);color:var(--color-mastery-amber-text)}.fc-mastery-track-wrap{position:relative;padding-top:1.75rem;padding-bottom:var(--space-1)}.fc-mastery-track{height:.75rem;background:var(--color-mastery-track-bg);border-radius:var(--radius-full);overflow:visible;position:relative;border:1px solid var(--color-border-light)}.fc-mastery-bar{position:absolute;top:0;left:0;height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.fc-mastery-bar--behind{background:var(--color-mastery-rose)}.fc-mastery-bar--ahead{background:var(--color-mastery-emerald)}.fc-mastery-bar--on-track{background:var(--color-mastery-blue)}.fc-mastery-bar--complete{background:var(--color-mastery-amber)}.fc-mastery-target{position:absolute;top:1.5rem;bottom:var(--space-1);width:2px;background:var(--color-mastery-target-line);z-index:10;cursor:help}.fc-mastery-target-arrow{position:absolute;top:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--color-mastery-target-line)}.fc-mastery-target-label{position:absolute;bottom:100%;margin-bottom:4px;left:50%;transform:translate(-50%);font-size:.625rem;font-weight:700;color:var(--color-text-secondary);background:var(--color-mastery-target-label-bg);padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}.fc-mastery-target-tooltip{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);white-space:nowrap;border:1px solid var(--color-border);box-shadow:var(--shadow-xl);pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:30}.fc-mastery-target:hover .fc-mastery-target-tooltip{opacity:1}.fc-mastery-footer{display:flex;align-items:flex-end;justify-content:space-between;margin-top:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.fc-mastery-footer-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fc-mastery-footer-center{display:flex;flex-direction:column;align-items:center;gap:2px}.fc-mastery-fraction{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.fc-mastery-fraction-total{font-weight:400;color:var(--color-text-muted)}.fc-mastery-delta{font-size:var(--font-size-xs);font-weight:600}.fc-mastery-delta--behind{color:var(--color-mastery-rose-text)}.fc-mastery-delta--ahead{color:var(--color-mastery-emerald-text)}.fc-mastery-delta--on-track{color:var(--color-text-muted)}.fc-mastery-delta--complete{color:var(--color-mastery-amber-text)}.fc-mastery-onboarding{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--color-mastery-onboarding-bg);color:var(--color-mastery-onboarding-text);font-size:var(--font-size-xs);font-weight:600;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);white-space:nowrap;box-shadow:var(--shadow-lg);z-index:20;cursor:pointer;animation:fc-mastery-pulse 2s ease-in-out infinite}.fc-mastery-onboarding:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--color-mastery-onboarding-bg)}@keyframes fc-mastery-pulse{0%,to{transform:translate(-50%) scale(1);box-shadow:var(--shadow-lg)}50%{transform:translate(-50%) scale(1.02);box-shadow:0 8px 25px #2563eb59}}.fc-mastery-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0000008c;backdrop-filter:blur(4px)}.fc-mastery-modal{background:var(--color-mastery-widget-bg);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:22rem;box-shadow:var(--shadow-2xl);overflow:hidden}.fc-mastery-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border-light)}.fc-mastery-modal-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.fc-mastery-modal-close{background:0 0;border:0;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;padding:2px;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.fc-mastery-modal-close:hover{color:var(--color-text-primary)}.fc-mastery-modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.fc-mastery-modal-label{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);margin-bottom:var(--space-2)}.fc-mastery-modal-input{width:100%;background:var(--color-bg-surface-deep);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-text-primary);outline:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.fc-mastery-modal-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-bg)}.fc-mastery-modal-footer{padding:var(--space-3) var(--space-4);background:var(--color-bg-surface-deep);border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end}@media (max-width:640px){.fc-mastery-widget{padding:var(--space-3)}.fc-mastery-title{font-size:.6875rem}.fc-mastery-pill{font-size:.5625rem;padding:2px 6px}.fc-mastery-track{height:.625rem}.fc-mastery-footer{font-size:.625rem}.fc-mastery-fraction{font-size:.6875rem}.fc-mastery-target-label{font-size:.5625rem}.fc-mastery-onboarding{white-space:normal;max-width:260px;width:max-content}}.fc-stat-widget{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);min-width:9rem;flex-shrink:0}.fc-stat-icon{width:2.75rem;height:2.75rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.fc-stat-icon.streak{background:var(--color-streak-bg);color:var(--color-streak)}.fc-stat-icon.learnt{background:var(--color-mastery-high-bg);color:var(--color-mastery-high)}.fc-stat-label{font-size:.625rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em;color:var(--color-text-muted)}.fc-stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary)}.fc-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.fc-section-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary)}.fc-section-action{background:0 0;border:0;cursor:pointer;color:var(--color-brand);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family)}.fc-section-action:hover{color:var(--color-brand-hover)}.fc-deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:var(--space-6)}.fc-deck-card{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);position:relative;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.fc-deck-card:hover{box-shadow:var(--shadow-xl)}.fc-deck-progress-bar{position:absolute;top:0;left:0;width:100%;height:.25rem;background:var(--color-border-light)}.fc-deck-progress-fill{height:100%;transition:width var(--transition-slow);border-radius:0 var(--radius-full) var(--radius-full)0}.fc-deck-progress-fill.high{background:var(--color-mastery-high)}.fc-deck-progress-fill.mid{background:var(--color-mastery-mid)}.fc-deck-progress-fill.low{background:var(--color-mastery-low)}.fc-deck-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5)}.fc-deck-tag{font-size:.625rem;font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);display:inline-block;margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.fc-deck-tag.high{background:var(--color-mastery-high-bg);color:var(--color-mastery-high)}.fc-deck-tag.mid{background:var(--color-mastery-mid-bg);color:var(--color-mastery-mid)}.fc-deck-tag.low{background:var(--color-mastery-low-bg);color:var(--color-mastery-low)}.fc-deck-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);line-height:1.3}.fc-context-btn{background:0 0;border:0;cursor:pointer;color:var(--color-text-muted);padding:var(--space-1);transition:color var(--transition-fast)}.fc-context-btn:hover{color:var(--color-text-secondary)}.fc-context-menu-wrap{position:relative;z-index:10}.fc-context-backdrop{position:fixed;inset:0;z-index:10}.fc-context-menu{position:absolute;right:0;top:100%;margin-top:var(--space-1);width:12rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:20;padding:var(--space-1)0}.fc-context-item{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:0 0;border:0;cursor:pointer;font-family:var(--font-family);transition:background var(--transition-fast),color var(--transition-fast)}.fc-context-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.fc-context-item.danger{color:var(--color-error)}.fc-context-item.danger:hover{background:var(--color-error-bg)}.fc-context-divider{height:1px;background:var(--color-border-light);margin:var(--space-1)0}.fc-deck-stats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2);margin-bottom:var(--space-6);background:var(--color-bg-surface-deep);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-light)}.fc-deck-stat{text-align:center}.fc-deck-stat-label{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem;color:var(--color-text-muted);margin-bottom:var(--space-1);font-size:.5625rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.fc-deck-stat-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.fc-deck-stat-value.success{color:var(--color-success)}.fc-deck-stat-value.error{color:var(--color-error)}.fc-deck-footer{display:flex;align-items:flex-end;justify-content:space-between}.fc-deck-stat-btn{background:0 0;border:0;font-family:var(--font-family);cursor:pointer;border-radius:var(--radius-md);padding:var(--space-1);transition:background var(--transition-fast);width:100%}.fc-deck-stat-btn:hover:not(:disabled){background:var(--color-bg-hover)}.fc-deck-stat-btn:hover:not(:disabled) .fc-deck-stat-value{color:var(--color-brand)!important}.fc-deck-stat-btn:disabled{cursor:default;opacity:.5}.fc-deck-stats-row2{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2);margin-bottom:var(--space-4);background:var(--color-bg-surface-deep);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-light)}.fc-due-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.fc-due-count{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary)}.fc-due-count span{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-muted)}.fc-caught-up{font-size:var(--font-size-base);font-weight:700;color:var(--color-text-muted)}.fc-study-all-section{border-top:1px solid var(--color-border-light);padding-top:var(--space-3);margin-top:var(--space-3)}.fc-study-all-section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:var(--space-2)0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:0;width:100%;font-family:var(--font-family)}.fc-study-all-section-header:hover{color:var(--color-text-primary)}.fc-study-all-chips{display:flex;flex-wrap:wrap;gap:6px;padding-top:var(--space-2)}.fc-create-card{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;min-height:14rem;transition:border-color var(--transition-fast),background var(--transition-fast)}.fc-create-card:hover{border-color:var(--color-brand);background:var(--color-brand-bg)}.fc-create-card-icon{width:3rem;height:3rem;border-radius:var(--radius-full);background:var(--color-bg-hover);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3);color:var(--color-text-muted);transition:all var(--transition-fast)}.fc-create-card:hover .fc-create-card-icon{background:var(--color-brand-bg);color:var(--color-brand)}.fc-create-card h3{font-size:var(--font-size-base);font-weight:500;color:var(--color-text-primary)}.fc-create-card p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.fc-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family);font-weight:600;border:0;cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-fast);text-decoration:none;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4)}.fc-btn:disabled{cursor:not-allowed;opacity:.6}.fc-btn-primary{background:var(--color-brand);color:#fff;box-shadow:var(--shadow-md)}.fc-btn-primary:hover:not(:disabled){background:var(--color-brand-hover)}.fc-btn-secondary{background:var(--color-bg-hover);color:var(--color-text-primary)}.fc-btn-secondary:hover:not(:disabled){background:var(--color-border)}.fc-btn-danger{background:var(--color-error);color:#fff}.fc-btn-danger:hover:not(:disabled){background:var(--color-error-hover)}.fc-btn-ghost{background:0 0;color:var(--color-text-muted)}.fc-btn-ghost:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.fc-btn-sm{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3)}.fc-study{display:flex;flex-direction:column;height:100%;overflow-y:auto;background:var(--color-bg-shell);position:relative}.fc-study-header{height:var(--header-height);padding:0 var(--space-4);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;z-index:20;background:var(--color-bg-shell)}.fc-study-header-left,.fc-study-header-right{display:flex;align-items:center;gap:var(--space-3)}.fc-study-deck-label{font-size:.625rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.fc-study-deck-name{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-study-progress-badge{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);background:var(--color-bg-hover);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);display:flex;align-items:center;gap:var(--space-1);white-space:nowrap}.fc-study-progress-badge strong{color:var(--color-text-primary)}.fc-study-progress-bar{height:.25rem;width:100%;background:var(--color-bg-surface-deep);flex-shrink:0;z-index:10;display:flex;overflow:hidden}.fc-study-progress-fill{height:100%;background:var(--color-brand);transition:width var(--transition-slow),background var(--transition-fast)}.fc-study-progress-segment{height:100%;transition:width var(--transition-slow);flex-shrink:0}.segment-missed{background:var(--color-srs-again)}.segment-learned{background:var(--color-srs-good)}.segment-mastered{background:var(--color-srs-never)}.fc-study-bar-row{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-1) var(--space-4);flex-shrink:0}.fc-study-action-tally{display:flex;align-items:center;gap:var(--space-3)}.fc-tally-item{display:inline-flex;align-items:center;gap:3px;font-size:var(--font-size-xs);font-weight:600;opacity:.8}.fc-tally-missed{color:var(--color-srs-again)}.fc-tally-learned{color:var(--color-srs-good)}.fc-tally-mastered{color:var(--color-srs-never)}.fc-study-main{height:auto!important;max-height:none!important;overflow-y:visible;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;padding:var(--space-8);padding-bottom:var(--space-8);gap:var(--space-6)}.fc-flashcard-container{width:100%;max-width:48rem;min-height:22rem;height:auto;position:relative;margin:0 auto;cursor:pointer;perspective:1000px;transition:transform var(--transition-fast)}.fc-flashcard-container:not(.flipped):not(.fc-card-has-modal):hover{transform:translateY(-2px)}.fc-flashcard-container.fc-card-has-modal{z-index:50}.fc-flashcard-inner{position:relative;width:100%;height:auto;min-height:22rem;transform-style:preserve-3d;transition:transform var(--transition-flip)}.fc-flashcard-inner.flipped{transform:rotateX(180deg)}.fc-flashcard-inner.no-transition{transition:none!important}.fc-flashcard-face{position:absolute;inset:0;width:100%;height:auto;min-height:22rem;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-3xl);padding:var(--space-6) var(--space-8);display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.fc-flashcard-inner:not(.flipped) .fc-flashcard-front{position:relative;inset:auto;z-index:2}.fc-flashcard-inner.flipped .fc-flashcard-back{position:relative;inset:auto;z-index:2}.fc-flashcard-inner.flipped .fc-flashcard-front,.fc-flashcard-inner:not(.flipped) .fc-flashcard-back{position:absolute;inset:0;height:100%;pointer-events:none}.fc-flashcard-front{background:var(--color-bg-surface);border:1px solid var(--color-border)}.fc-flashcard-back{background:var(--color-bg-hover);border:1px solid var(--color-card-back-border);transform:rotateX(180deg)}.fc-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.fc-card-type{font-size:.625rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.fc-card-flag{background:0 0;border:0;cursor:pointer;color:var(--color-text-muted);padding:var(--space-1);transition:color var(--transition-fast)}.fc-card-flag:hover{color:var(--color-error)}.fc-card-body{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;width:100%;position:relative;padding-bottom:5.5rem;min-height:10rem}.fc-history-pill{position:absolute;bottom:2rem;right:2rem;display:flex;height:3rem;align-items:center;border-radius:var(--radius-full);border:1px solid var(--color-history-pill-border);background:var(--color-history-pill-bg);padding:0 var(--space-4);pointer-events:none;user-select:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.fc-history-dots{display:flex;height:2.25rem;align-items:center;gap:var(--space-2)}.fc-history-segment-wrapper{display:flex;height:100%;align-items:center;gap:var(--space-2)}.fc-history-divider{width:2px;height:1.25rem;background:var(--color-history-pill-divider);border-radius:1px;transition:background var(--transition-fast)}.fc-history-dot-container{display:flex;height:100%;flex-direction:column;justify-content:center;align-items:center}.fc-history-dot{width:14px;height:14px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.fc-history-dot--learned{font-size:10px;font-weight:800;color:var(--color-history-dot-learned-color);text-shadow:0 0 8px var(--color-history-dot-learned-glow);transition:color var(--transition-fast)}.fc-history-dot--mastered{color:var(--color-history-dot-mastered-color);text-shadow:0 0 8px var(--color-history-dot-mastered-glow);transition:color var(--transition-fast)}.fc-history-dot--miss{color:var(--color-history-dot-miss-color);text-shadow:0 0 8px var(--color-history-dot-miss-glow);transition:color var(--transition-fast)}.fc-history-dot--placeholder{width:14px;height:14px}.fc-card-front-text{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary);white-space:pre-wrap;line-height:1.3}.fc-card-hint{margin-top:auto;padding-top:var(--space-6);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}.fc-card-back-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.fc-answer-badge{font-size:.625rem;font-weight:700;color:var(--color-brand);background:var(--color-brand-bg);border:1px solid var(--color-brand-bg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.fc-focus-indicator{position:relative;display:inline-flex;align-items:center;color:var(--color-leech);cursor:pointer;opacity:.85;filter:drop-shadow(0 0 4px rgba(239,68,68,.4));transition:opacity var(--transition-fast),filter var(--transition-fast);-webkit-tap-highlight-color:transparent;z-index:100}.fc-focus-indicator:hover,.fc-focus-indicator.tooltip-open{opacity:1;filter:drop-shadow(0 0 6px rgba(239,68,68,.65))}.fc-focus-tooltip{position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);background:var(--color-bg-surface);border:1px solid rgba(239,68,68,.35);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-primary);white-space:normal;word-wrap:break-word;min-width:150px;max-width:200px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;box-shadow:var(--shadow-md);z-index:50}.fc-focus-tooltip:after{content:"";position:absolute;top:50%;right:100%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--color-bg-surface);filter:drop-shadow(-1px 0 0 rgba(239,68,68,.35))}@media (hover:hover) and (pointer:fine){.fc-focus-indicator:hover .fc-focus-tooltip{opacity:1;visibility:visible}}.fc-focus-indicator.tooltip-open .fc-focus-tooltip{opacity:1;visibility:visible}.fc-card-back-question{font-size:var(--font-size-sm);color:var(--color-text-muted);width:100%;text-align:left;line-height:1.3}.fc-card-back-text{font-size:var(--font-size-2xl);font-weight:500;color:var(--color-text-primary);white-space:pre-wrap;line-height:1.5;width:100%;text-align:left}.fc-srs-bar{width:100%;max-width:52rem;flex-shrink:0;align-self:center;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-8);border-top:1px solid var(--color-border-light);position:relative;margin-top:auto}.fc-srs-nav{display:flex;align-items:center;gap:var(--space-3);width:100%;justify-content:center}.fc-srs-nav>.fc-show-answer-btn{flex:1;max-width:20rem}.fc-srs-nav>.fc-icon-btn:disabled{opacity:.25;cursor:default;pointer-events:none}.fc-show-answer-btn{padding:var(--space-3) var(--space-10);background:var(--color-brand);color:#fff;font-weight:700;border:0;border-radius:var(--radius-2xl);cursor:pointer;font-size:var(--font-size-lg);font-family:var(--font-family);box-shadow:var(--shadow-lg);transition:all var(--transition-fast);width:100%;max-width:16rem}.fc-show-answer-btn:hover{background:var(--color-brand-hover);transform:translateY(-2px)}.fc-grade-buttons{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.fc-grades-learned-group{display:flex;flex-direction:column;align-items:center;border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-bg-base);padding:var(--space-1) var(--space-3) var(--space-2);gap:var(--space-1)}.fc-grades-learned-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);line-height:1;display:inline-flex;align-items:center;gap:4px}.fc-grades-learned-row,.fc-grades-not-learned{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.fc-grades-mastered{display:flex;justify-content:center}.fc-study-sub-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs)}.fc-study-actions-row{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-2);padding-bottom:var(--space-6)}.fc-study-counter-group{display:flex;align-items:center;gap:var(--space-4)}.fc-study-counter{font-size:var(--font-size-xs);color:var(--color-text-placeholder);font-weight:600}.fc-end-session-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);background:0 0;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.fc-end-session-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.fc-shuffle-btn{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-family)}.fc-grade-btn.never .fc-grade-label{flex-direction:row;align-items:center;gap:.25rem;flex-wrap:nowrap}@media (max-width:768px){.fc-study-counter-group{flex-direction:column;gap:var(--space-2)}}.fc-icon-btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.fc-edit-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 2rem));background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-2xl);padding:var(--space-5);z-index:201;box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto}.fc-edit-modal.fc-animate-in{animation:fc-modal-fade-in var(--transition-base) forwards}@keyframes fc-modal-fade-in{0%{opacity:0;transform:translate(-50%,calc(-50% + .5rem))}to{opacity:1;transform:translate(-50%,-50%)}}.fc-copy-modal{position:absolute;top:0;left:0;transform:none;width:min(340px,calc(100% - 1.5rem));background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-2xl);padding:var(--space-6);z-index:1001;box-shadow:var(--shadow-2xl);max-height:90vh;animation:fc-copy-modal-in var(--transition-base) forwards}@keyframes fc-copy-modal-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.fc-copy-options{display:flex;flex-direction:column;gap:var(--space-3)}.fc-copy-option{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-surface-deep);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);cursor:pointer;text-align:left;transition:all var(--transition-fast);width:100%;color:var(--color-text-primary);font-family:var(--font-family)}.fc-copy-option:hover{background:var(--color-bg-hover);border-color:var(--color-brand);transform:translateY(-2px);box-shadow:var(--shadow-md)}.fc-copy-option-icon{width:3rem;height:3rem;border-radius:var(--radius-lg);background:var(--color-brand-bg);color:var(--color-brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}.fc-copy-option-info{display:flex;flex-direction:column;gap:2px}.fc-copy-option-title{font-weight:700;font-size:var(--font-size-base)}.fc-copy-option-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fc-grade-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-xl);border:1px solid;cursor:pointer;transition:all var(--transition-fast);background:0 0;font-family:var(--font-family);min-width:4rem;flex:1;max-width:7rem}.fc-grade-btn:hover{transform:translateY(-2px)}.fc-grade-btn .fc-grade-label{font-size:var(--font-size-sm);font-weight:700;display:inline-flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:center}.fc-grade-btn .fc-grade-hint{font-size:.5625rem;font-weight:500;opacity:.7}.fc-grade-btn.again{color:var(--color-srs-again);background:var(--color-srs-again-bg);border-color:var(--color-srs-again-border)}.fc-grade-btn.hard{color:var(--color-srs-hard);background:var(--color-srs-hard-bg);border-color:var(--color-srs-hard-border)}.fc-grade-btn.good{color:var(--color-srs-good);background:var(--color-srs-good-bg);border-color:var(--color-srs-good-border)}.fc-grade-btn.easy{color:var(--color-srs-easy);background:var(--color-srs-easy-bg);border-color:var(--color-srs-easy-border)}.fc-grade-btn.never{color:var(--color-srs-never);background:var(--color-srs-never-bg);border-color:var(--color-srs-never-border)}kbd{display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.1rem .35rem;font-size:var(--font-size-xs);font-family:var(--font-family);color:var(--color-text-secondary);box-shadow:0 1px 0 var(--color-border)}@media (max-width:768px){.fc-grades-learned-row .fc-grade-label{flex-direction:column;align-items:center;gap:0}.fc-grade-btn .fc-grade-hint{display:none!important}.fc-grade-buttons{flex-direction:column;align-items:stretch}.fc-grade-buttons>.fc-grade-btn{max-width:none;width:100%;padding:var(--space-3) var(--space-4)}}.fc-session-complete{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-8);padding-top:var(--space-8);height:100%;overflow-y:auto;background:var(--color-bg-shell)}.fc-session-card{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-3xl);padding:var(--space-8) var(--space-10);max-width:32rem;width:100%;text-align:center;box-shadow:var(--shadow-2xl);position:relative;overflow:hidden}.fc-session-card-bar{position:absolute;top:0;left:0;width:100%;height:.5rem;background:linear-gradient(to right,var(--color-mastery-high),var(--color-brand))}.fc-session-check{width:5rem;height:5rem;border-radius:var(--radius-full);background:var(--color-mastery-high-bg);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);color:var(--color-mastery-high)}.fc-session-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.fc-session-subtitle{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:var(--space-8)}.fc-session-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2);margin-bottom:var(--space-8)}.fc-session-stat{background:var(--color-bg-surface-deep);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-3)}.fc-session-stat-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-family);text-align:center;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);position:relative}.fc-session-stat-btn:after{content:"Tap to review";position:absolute;bottom:.35rem;left:50%;transform:translate(-50%);font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-placeholder);opacity:0;transition:opacity var(--transition-fast);white-space:nowrap}.fc-session-stat-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-brand);background:var(--color-bg-hover)}.fc-session-stat-btn:hover:not(:disabled):after{opacity:1}.fc-session-stat-btn:active:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (hover:none){.fc-session-stat-btn:not(:disabled):after{opacity:.8}}.fc-session-stat-btn--disabled,.fc-session-stat-btn:disabled{opacity:.4;cursor:default;pointer-events:none}.fc-session-stat-label{display:block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.fc-session-stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary)}.fc-session-actions{display:flex;gap:var(--space-3)}.fc-session-actions .fc-btn{flex:1;padding:var(--space-3);font-size:var(--font-size-base)}.fc-stats-panel{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-xl);max-width:64rem;margin:0 auto}.fc-stats-title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-brand);margin-bottom:var(--space-6)}.fc-data-table-wrap{overflow-x:auto}.fc-data-table{width:100%;font-size:var(--font-size-sm);text-align:left;border-collapse:collapse}.fc-data-table thead{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.fc-data-table th{padding:var(--space-2) var(--space-4);font-weight:600}.fc-data-table td{padding:var(--space-2) var(--space-4)}.fc-data-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.fc-data-table tbody tr:hover{background:var(--color-bg-hover)}.fc-data-table .total-row{background:var(--color-bg-surface-alt);font-weight:700;border-top:2px solid var(--color-border)}.fc-session-widget{background:var(--color-bg-surface-deep);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-5);max-width:28rem;margin-top:var(--space-6)}.fc-session-widget-title{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--space-4)}.fc-scorecard{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.fc-score-item{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;align-items:center;justify-content:center}.fc-score-label{font-size:.5rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.fc-score-value{font-size:var(--font-size-2xl);font-weight:700}.fc-score-value.success{color:var(--color-success)}.fc-score-value.brand{color:var(--color-brand)}.fc-score-value.error{color:var(--color-error)}.fc-score-value.warning{color:var(--color-warning)}.fc-reset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-4)}.fc-reset-view{max-width:960px;margin:0 auto;width:100%}.fc-reset-view-header{margin-bottom:var(--space-8)}.fc-reset-view-body{display:flex;flex-direction:column;gap:var(--space-6)}.fc-reset-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start}.fc-reset-col-section{display:flex;flex-direction:column}.fc-reset-col-section .fc-reset-list{flex:1}.fc-reset-col-section .fc-reset-section-footer{margin-top:auto}@media (max-width:767px){.fc-reset-two-col{grid-template-columns:1fr}}.fc-reset-section{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden}.fc-reset-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6)}.fc-reset-section-label{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border-light)}.fc-reset-section-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.fc-reset-section-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fc-reset-list{display:flex;flex-direction:column}.fc-reset-list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.fc-reset-list-row:last-child{border-bottom:none}.fc-reset-list-row:hover{background:var(--color-bg-base)}.fc-reset-list-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.fc-reset-list-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.fc-reset-select-all-row{background:var(--color-bg-base);cursor:pointer;gap:var(--space-3)}.fc-reset-select-all-row:hover{background:color-mix(in srgb,var(--color-brand) 5%,var(--color-bg-base))}.fc-reset-list-row-cb{cursor:pointer;gap:var(--space-3)}.fc-reset-list-row-cb.checked{background:color-mix(in srgb,var(--color-brand) 6%,transparent)}.fc-reset-section-footer{display:flex;justify-content:flex-start;padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);background:var(--color-bg-base)}.fc-editor{display:flex;gap:var(--space-6);min-height:0}.fc-editor-sidebar{width:20rem;flex-shrink:0;position:sticky;top:0;align-self:flex-start}.fc-editor-main{flex:1;min-width:0}.fc-editor-tabs{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1);width:100%;margin-bottom:var(--space-4)}.fc-editor-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;border:0;cursor:pointer;font-family:var(--font-family);background:0 0;color:var(--color-text-secondary);transition:all var(--transition-fast);white-space:nowrap}.fc-editor-tab.active{background:var(--color-brand);color:#fff}.fc-form-group{display:flex;flex-direction:column;gap:var(--space-4)}.fc-form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.fc-input{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-input);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);outline:0;transition:border-color var(--transition-fast)}.fc-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #6366f126}.fc-input::placeholder{color:var(--color-text-placeholder)}textarea.fc-input{resize:vertical;min-height:6rem}select.fc-input{cursor:pointer}.fc-editor-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.fc-editor-search{flex:1;min-width:10rem}.fc-view-toggle{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.fc-view-toggle button{padding:var(--space-2);background:0 0;border:0;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast)}.fc-view-toggle button.active{background:var(--color-brand-bg);color:var(--color-brand)}.fc-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-4)}.fc-card-list{display:flex;flex-direction:column;gap:var(--space-3)}.fc-card-item{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow var(--transition-fast);position:relative}.fc-card-item:hover{box-shadow:var(--shadow-md)}.fc-card-item-front{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.fc-card-item-back{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.fc-card-item-category{font-size:var(--font-size-xs);color:var(--color-text-muted)}.fc-card-item-actions{display:flex;gap:var(--space-2);position:absolute;top:var(--space-2);right:var(--space-2);opacity:0;transition:opacity var(--transition-fast)}.fc-card-item:hover .fc-card-item-actions{opacity:1}.fc-settings{max-width:42rem;margin:0 auto}.fc-settings-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-6)}.fc-settings-section{margin-bottom:var(--space-8)}.fc-settings-section-title{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-3);font-size:var(--font-size-base)}.fc-settings-group{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden}.fc-settings-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light)}.fc-settings-row:last-child{border-bottom:none}.fc-settings-label{font-weight:500;font-size:var(--font-size-sm);color:var(--color-text-primary)}.fc-toggle{appearance:none;-webkit-appearance:none;width:2.75rem;height:1.5rem;background:var(--color-text-placeholder);border-radius:var(--radius-full);position:relative;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.fc-toggle:before{content:"";width:1.125rem;height:1.125rem;background:#fff;border-radius:var(--radius-full);position:absolute;top:.1875rem;left:.1875rem;transition:transform var(--transition-fast)}.fc-toggle:checked{background:var(--color-brand)}.fc-toggle:checked:before{transform:translate(1.25rem)}.fc-toast{position:fixed;bottom:var(--space-5);right:var(--space-5);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:#fff;z-index:9999;display:flex;align-items:center;gap:var(--space-3);transition:all var(--transition-base);max-width:24rem}.fc-toast.visible{opacity:1;transform:translateY(0)}.fc-toast.hidden{opacity:0;transform:translateY(1.25rem);pointer-events:none}.fc-toast-success{background:var(--color-toast-success)}.fc-toast-error{background:var(--color-toast-error)}.fc-overlay-backdrop{position:fixed;inset:0;background:#0006;z-index:40}.fc-settings-overlay{position:fixed;top:0;left:0;height:100%;width:18rem;max-width:90vw;background:var(--color-bg-surface);border-right:1px solid var(--color-border-light);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;z-index:40;overflow:hidden}.fc-settings-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.fc-settings-overlay-body{flex:1;overflow-y:auto;padding:var(--space-5)}.fc-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--space-4)}.fc-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-2xl);max-width:28rem;width:100%;text-align:center}.fc-modal-title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-4)}.fc-modal-title.danger{color:var(--color-error)}.fc-modal-body{color:var(--color-text-secondary);margin-bottom:var(--space-8)}.fc-modal-actions{display:flex;justify-content:center;gap:var(--space-4)}.fc-spinner{width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid transparent;border-bottom-color:#fff;animation:fc-spin .8s linear infinite}@keyframes fc-fade-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.fc-animate-in{animation:fc-fade-in var(--transition-base) forwards}.fc-empty{text-align:center;padding:var(--space-10)}.fc-empty p{color:var(--color-text-muted);margin-top:var(--space-2)}.fc-loading{font-size:var(--font-size-xl);color:var(--color-text-muted);text-align:center;padding:var(--space-12);animation:fc-pulse 1.5s infinite}@keyframes fc-pulse{0%,to{opacity:1}50%{opacity:.5}}.fc-text-center{text-align:center}.fc-text-success{color:var(--color-success)}.fc-text-error{color:var(--color-error)}.fc-text-warning{color:var(--color-warning)}.fc-text-brand{color:var(--color-brand)}.fc-flex-center{display:flex;align-items:center;justify-content:center}.fc-mb-4{margin-bottom:var(--space-4)}.fc-mb-6{margin-bottom:var(--space-6)}.fc-mb-8{margin-bottom:var(--space-8)}@media (max-width:768px){.fc-sidebar{display:none}.fc-header{flex-direction:column;align-items:stretch;padding:0;gap:0}.fc-header-mobile-toggle{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border:0;border-bottom:1px solid var(--color-border-light);cursor:pointer;width:100%;color:var(--color-text-secondary);font-family:var(--font-family);font-weight:600;font-size:var(--font-size-sm);transition:background var(--transition-fast),color var(--transition-fast);outline:0}.fc-header-mobile-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.fc-header-mobile-toggle-left{display:flex;align-items:center;gap:var(--space-2)}.fc-header-mobile-filter-badge{background:var(--color-brand);color:#fff;font-size:.6875rem;padding:1px 6px;border-radius:var(--radius-full);font-weight:700;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.fc-header-mobile-toggle-chevron{transition:transform var(--transition-base) ease;color:var(--color-text-muted)}.fc-header-mobile-toggle-chevron--rotated{transform:rotate(180deg)}.fc-header-content{display:none;padding:var(--space-4);flex-direction:column;gap:var(--space-4);background:var(--color-bg-shell)}.fc-header--expanded .fc-header-content{display:flex}.fc-mobile-nav{display:block}.fc-header .fc-search-bar{display:none}.fc-app,.fc-content-area,.fc-main{height:auto;min-height:auto;overflow:visible}.fc-filter-group{width:100%;flex-direction:column;align-items:stretch!important}.fc-select-wrapper{width:100%}.fc-dropdown-select{width:100%;max-width:100%;box-sizing:border-box}.fc-filter-clear-btn{align-self:flex-end;padding-top:var(--space-2);padding-bottom:var(--space-2)}.fc-main{padding:var(--space-4)}.fc-deck-grid{grid-template-columns:1fr}.fc-session-stats{grid-template-columns:repeat(3,1fr)!important}.fc-session-card{padding:var(--space-6) var(--space-5)}.fc-session-actions,.fc-editor{flex-direction:column}.fc-editor-sidebar{width:100%;position:static}.fc-card-grid{grid-template-columns:1fr}.fc-scorecard{grid-template-columns:repeat(2,1fr)}.fc-reset-grid{grid-template-columns:1fr}.fc-study-main{padding:var(--space-4)}.fc-flashcard-face{padding:var(--space-4) var(--space-5)}.fc-card-front-text{font-size:var(--font-size-2xl)}.fc-card-back-text{font-size:var(--font-size-lg)}.fc-grade-btn{min-width:3.5rem;padding:var(--space-2) var(--space-2)}.fc-card-item-actions{opacity:1}.fc-quick-stats{flex-wrap:nowrap;-webkit-overflow-scrolling:touch}}.fc-stats-grid{display:flex;flex-direction:column;gap:var(--space-6);align-items:stretch;width:min(100%,900px);margin:0 auto}.fc-sticky-col{position:sticky;left:0;z-index:10;background:var(--color-bg-surface)}.fc-sticky-col-header{position:sticky;left:0;z-index:11;background:var(--color-bg-surface)}.fc-overlay-backdrop{position:fixed;inset:0;background:#00000080;z-index:200;backdrop-filter:blur(2px)}.fc-settings-overlay{position:fixed;top:0;left:0;bottom:0;width:min(420px,100vw);background:var(--color-bg-surface);border-right:1px solid var(--color-border-light);z-index:201;display:flex;flex-direction:column;overflow:hidden}.fc-settings-overlay-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-light);padding:0 var(--space-5);flex-shrink:0}.fc-settings-overlay-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5)}.fc-settings-overlay-body .fc-settings-title{display:none}.fc-sidebar-filters{border-top:1px solid var(--color-border-light);padding:var(--space-3) var(--space-4);flex-shrink:0;overflow:hidden}.fc-sidebar-filters-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:0 0;border:0;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);padding:var(--space-2)0;gap:var(--space-2)}.fc-sidebar-filters-header:hover{color:var(--color-text-primary)}.fc-sidebar-filters-body{padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-4)}.fc-filter-badge{background:var(--color-brand);color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:100px;line-height:1.4}.fc-filter-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-brand-bg);border-bottom:1px solid var(--color-brand);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap}.fc-filter-chip{background:var(--color-brand);color:#fff;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600}.fc-filter-clear{background:0 0;border:0;color:var(--color-brand);cursor:pointer;font-size:var(--font-size-xs);font-weight:600;margin-left:auto;padding:0}.fc-filter-modal{position:fixed;bottom:0;left:0;right:0;background:var(--color-bg-surface);border-top:1px solid var(--color-border-light);border-radius:var(--radius-xl) var(--radius-xl)0 0;padding:var(--space-5);z-index:201;max-height:70vh;overflow-y:auto}.fc-mobile-only{display:none}@media (max-width:767px){.fc-mobile-only{display:flex;position:relative}.fc-sidebar-filters{display:none}}.fc-mode-tabs{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-bg-surface-deep);border-radius:var(--radius-lg);width:fit-content}.fc-mode-tab{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:0;background:0 0;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);transition:all var(--transition-fast);text-transform:capitalize}.fc-mode-tab:hover{color:var(--color-text-secondary)}.fc-mode-tab.active{background:var(--color-bg-surface);color:var(--color-brand);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.fc-scenario-context{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:var(--space-4)}.fc-scenario-context-header{background:var(--color-bg-surface-deep);border-bottom:1px solid var(--color-border-light);padding:var(--space-3) var(--space-6);display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.fc-scenario-context-body{padding:var(--space-6)}.fc-scenario-context-body p{font-size:var(--font-size-lg);line-height:1.7;color:var(--color-text-primary);margin:0}.fc-quiz-question{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.fc-quiz-question-text{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);line-height:1.4;margin:0}.fc-quiz-select-hint{display:block;margin-top:var(--space-2);font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-muted)}.fc-quiz-options{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.fc-quiz-option{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-radius:var(--radius-xl);border:2px solid var(--color-border);background:var(--color-bg-surface);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);text-align:left;width:100%}.fc-quiz-option:hover:not(.submitted){border-color:var(--color-quiz-answer-hover-border)}.fc-quiz-option.selected:not(.submitted){border-color:var(--color-quiz-answer-selected-border);background:var(--color-quiz-answer-selected-bg)}.fc-quiz-option.submitted{cursor:default}.fc-quiz-option.correct-selected{border-color:var(--color-quiz-answer-correct-border);background:var(--color-quiz-answer-correct-bg)}.fc-quiz-option.incorrect-selected{border-color:var(--color-quiz-answer-incorrect-border);background:var(--color-quiz-answer-incorrect-bg)}.fc-quiz-option.correct-missed{border-color:transparent;background:var(--color-quiz-answer-incorrect-bg)}.fc-quiz-option.incorrect-not-selected{border-color:transparent;background:var(--color-quiz-answer-inactive-bg)}.fc-quiz-option-content{display:flex;align-items:center;gap:var(--space-3);flex:1}.fc-quiz-option-text{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.5}.fc-quiz-indicator{width:1.25rem;height:1.25rem;flex-shrink:0;border:2px solid var(--color-text-placeholder);display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface);transition:all var(--transition-fast)}.fc-quiz-indicator.radio{border-radius:var(--radius-full)}.fc-quiz-indicator.checkbox{border-radius:var(--radius-sm)}.fc-quiz-indicator.checked{background:var(--color-quiz-answer-selected-border);border-color:var(--color-quiz-answer-selected-border)}.fc-quiz-indicator.checked .fc-indicator-dot{width:.5rem;height:.5rem;background:#fff;border-radius:var(--radius-full)}.fc-quiz-badge{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:700;border-radius:var(--radius-md);color:#fff;white-space:nowrap;flex-shrink:0}.fc-quiz-badge.correct{background:var(--color-quiz-answer-correct-border)}.fc-quiz-badge.incorrect{background:var(--color-quiz-answer-incorrect-border);opacity:.7}.fc-quiz-badge.missed{background:var(--color-quiz-answer-missed-badge)}.fc-key-insight{background:var(--color-quiz-key-insight-bg);border:1px solid var(--color-quiz-key-insight-border);border-left:4px solid var(--color-quiz-key-insight-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3)}.fc-key-insight-icon{flex-shrink:0;color:var(--color-quiz-key-insight-border);margin-top:2px}.fc-key-insight-text{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.5;font-weight:500}.fc-explanation-panel{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-top:var(--space-6);box-shadow:var(--shadow-sm)}.fc-explanation-title{font-weight:700;font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--space-4);margin-left:var(--space-2)}.fc-explanation-section{margin-bottom:var(--space-6)}.fc-explanation-section:last-child{margin-bottom:0}.fc-explanation-section-header{font-weight:700;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);margin-bottom:var(--space-3);margin-left:var(--space-2)}.fc-explanation-list{list-style:disc;padding-left:var(--space-12);margin:0}.fc-explanation-item{margin-bottom:var(--space-2);padding-left:var(--space-1)}.fc-explanation-item-highlight{border-left:4px solid var(--color-quiz-answer-incorrect-border);background:var(--color-quiz-answer-incorrect-bg);padding:var(--space-2) var(--space-3);border-radius:0 var(--radius-md) var(--radius-md)0}.fc-explanation-item-normal{padding:var(--space-2)0}.fc-quiz-actions{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-4);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);margin-top:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.fc-quiz-legend{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-4);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);margin-top:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.fc-quiz-legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.fc-scenario-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.625rem;font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;background:#f59e0b1a;color:#d97706;margin-bottom:var(--space-2)}.fc-import-quiz-view{display:flex;flex-direction:column;height:100%;padding:var(--space-6) var(--space-8);gap:var(--space-6);overflow-y:auto}.fc-import-quiz-header{flex-shrink:0}.fc-import-quiz-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1);display:flex;align-items:center}.fc-import-quiz-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6;margin:0;max-width:52rem}.fc-import-quiz-grid{display:grid;grid-template-columns:1fr 22rem;gap:var(--space-6);align-items:start;flex:1;min-height:0}.fc-import-quiz-builder{min-width:0}.fc-import-quiz-panel{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden;position:sticky;top:0}.fc-import-quiz-panel-header{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--font-size-base);color:var(--color-text-primary)}.fc-import-quiz-panel-header svg{color:var(--color-brand)}.fc-import-quiz-panel-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}@media (max-width:1024px){.fc-import-quiz-grid{grid-template-columns:1fr}.fc-import-quiz-panel{position:static}}@media (max-width:640px){.fc-import-quiz-view{padding:var(--space-4)}}.fc-builder{max-width:72rem;margin:0 auto}.fc-builder-header{text-align:center;margin-bottom:var(--space-8)}.fc-builder-header h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.fc-builder-header p{color:var(--color-text-muted);max-width:36rem;margin:0 auto;line-height:1.6}.fc-builder-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-8);align-items:start}@media (max-width:900px){.fc-builder-grid{grid-template-columns:1fr}}.fc-builder-card{background:var(--color-bg-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden}.fc-builder-card-header{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--font-size-base);color:var(--color-text-primary)}.fc-builder-card-header svg{color:var(--color-brand)}.fc-builder-card-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.fc-builder-field label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.fc-builder-prompt-output{display:flex;flex-direction:column;flex:1}.fc-builder-prompt-header{background:var(--color-bg-surface-deep);border-bottom:1px solid var(--color-border-light);padding:var(--space-3) var(--space-4);display:flex;justify-content:space-between;align-items:center}.fc-builder-prompt-header span{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.fc-builder-prompt-textarea{width:100%;padding:var(--space-6);background:0 0;color:var(--color-text-primary);font-family:Menlo,Monaco,Courier New,monospace;font-size:var(--font-size-sm);line-height:1.7;border:0;margin:0;white-space:pre-wrap;word-break:break-word;flex:1}.fc-scenario-study-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-light);gap:var(--space-4);flex-wrap:wrap}.fc-scenario-study-header-left{display:flex;align-items:center;gap:var(--space-3)}.fc-scenario-study-content{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-8);max-width:52rem;margin:0 auto;width:100%}@media (max-width:768px){.fc-scenario-study-content{padding:var(--space-4)}.fc-builder-grid{grid-template-columns:1fr}}.fc-builder-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.fc-builder-step{display:flex;align-items:flex-start;gap:var(--space-3)}.fc-builder-step-num{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:var(--radius-full);background:var(--color-bg-surface-deep);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-muted);border:1px solid var(--color-border-light);margin-top:2px}.fc-builder-step-text{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.fc-builder-step-text svg{color:var(--color-text-muted);opacity:.7}:root{--color-leech:#ef4444;--color-leech-bg:rgba(239, 68, 68, .1);--color-leech-border:rgba(239, 68, 68, .25);--color-leech-glow:rgba(239, 68, 68, .15)}.fc-flashcard--grind .fc-flashcard-face{box-shadow:0 0 0 1px var(--color-leech-border),0 0 28px var(--color-leech-glow),0 10px 40px -10px #ef444433;transition:box-shadow var(--transition-base)}.fc-ai-panel{margin:0 auto var(--space-3);width:100%;max-width:680px;background:var(--color-bg-surface);border:1px solid var(--color-leech-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 4px 20px #ef44441a;animation:fc-panel-in .25s ease}@keyframes fc-panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.fc-ai-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-leech-bg);border-bottom:1px solid var(--color-leech-border);gap:var(--space-3);flex-wrap:wrap}.fc-ai-panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:700;color:var(--color-leech);flex-wrap:wrap}.fc-ai-panel-icon{flex-shrink:0}.fc-ai-score-badge{font-size:var(--font-size-xs);font-weight:600;background:var(--color-leech);color:#fff;border-radius:var(--radius-full);padding:2px 8px;letter-spacing:.03em;text-align:center}.fc-ai-panel-toggle{display:flex;align-items:center;gap:var(--space-1);background:0 0;border:1px solid var(--color-leech-border);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:600;color:var(--color-leech);cursor:pointer;font-family:var(--font-family);transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;flex-shrink:0}.fc-ai-panel-toggle:hover{background:var(--color-leech-bg)}.fc-ai-panel-body{padding:var(--space-4)}.fc-ai-panel-loading{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--space-2)0}.fc-ai-loading-spinner{width:18px;height:18px;border:2px solid var(--color-leech-border);border-top-color:var(--color-leech);border-radius:50%;animation:fc-spin .7s linear infinite;flex-shrink:0}@keyframes fc-spin{to{transform:rotate(360deg)}}.fc-ai-suggestions{display:flex;flex-direction:column;gap:var(--space-3)}.fc-ai-suggestion-row{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.fc-ai-suggestion-row p{margin:0;color:var(--color-text-primary)}.fc-ai-suggestion-row.fc-ai-wordy{flex-direction:row;align-items:center;gap:var(--space-2);background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:#ca8a04;font-weight:600;font-size:var(--font-size-xs)}.fc-ai-tag{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.fc-ai-cloze{font-family:Menlo,Monaco,Courier New,monospace;font-size:var(--font-size-sm);background:var(--color-bg-surface-deep);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--color-text-primary)}