@tailwind base;@tailwind components;@tailwind utilities;body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}canvas{touch-action:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:root{--dark-primary-bg:#0a0a1a;--dark-primary-text:#fff;--dark-secondary-text:#ccc;--dark-accent-text:#a3a3a3;--dark-interactive-elements:#0080ff;--dark-overlay-bg:#00000080;--light-primary-bg:#fcf7f7;--light-secondary-bg:#fefbfb;--light-primary-text:#000;--light-secondary-text:#1a1a1a;--light-tertiary-text:#b3b3b3;--light-accent-text:#d73114bb;--light-interactive-elements:#363636;--light-interactive-elements-hover:#cdd5cd;--light-interactive-text:#fff0f0;--light-overlay-bg:#ffffff80;--light-interactive-negative-elements:gray;--light-interactive-negative-elements-hover:#666;--borders-dividers:#e0e0e0;--default-padding:16px;--default-margin:16px;--default-mobile-padding:8px;--default-mobile-margin:8px;--default-border-radius:16px;--mild-border-radius:8px;--slight-border-radius:4px;--disabled-bg:#ccc;--disabled-text:#666;--heatmap-level-0:#eaedf0;--heatmap-level-1:#b8e58a;--heatmap-level-2:#99c171;--heatmap-level-3:#239023;--heatmap-level-4:#165f16;--subscription-price-color:#2c3e50;--subscription-discount-color:#27ae60;--whiteboard-toolbar-surface:#f7fbff;--whiteboard-toolbar-border:#dbeafe;--whiteboard-toolbar-accent:#2563eb;--whiteboard-toolbar-success:#16a34a;--marketing-bg:#0a0a1a;--marketing-text:#fff;--marketing-accent:#d4a574;--marketing-section-padding:80px;--color-surface-dark-1:#0a0a1a;--color-surface-dark-2:#1a1a2e;--color-gold-accent:#d4a574;--color-gold-accent-hover:#e0b88a;--color-success-bright:#4ade80;--color-success-500:#4caf50;--color-success-700:#2e7d32;--color-danger-bright:#ef4444;--color-info-300:#90caf9;--color-info-400:#64b5f6;--color-info-500:#1976d2;--color-info-700:#1565c0;--color-white:#fff;--color-black:#000;--color-gray-300:#e0e0e0;--color-gray-350:#ddd;--color-gray-400:#ccc;--color-gray-500:#9e9e9e;--color-gray-600:#999;--color-gray-700:#666;--color-gray-800:#424242;--color-gray-900:#333;--color-surface-muted:#f5f5f5;--color-surface-info-subtle:#e3f2fd;--color-surface-info-soft:#bbdefb;--color-surface-success-subtle:#e8f5e9;--color-white-a02:#ffffff05;--color-white-a03:#ffffff08;--color-white-a05:#ffffff0d;--color-white-a06:#ffffff0f;--color-white-a08:#ffffff14;--color-white-a10:#ffffff1a;--color-white-a12:#ffffff1f;--color-white-a15:#ffffff26;--color-white-a20:#fff3;--color-white-a25:#ffffff40;--color-white-a30:#ffffff4d;--color-white-a40:#fff6;--color-white-a50:#ffffff80;--color-white-a60:#fff9;--color-white-a70:#ffffffb3;--color-white-a80:#fffc;--color-white-a90:#ffffffe6;--color-gold-accent-a08:#d4a57414;--color-gold-accent-a10:#d4a5741a;--color-gold-accent-a12:#d4a5741f;--color-gold-accent-a15:#d4a57426;--color-gold-accent-a20:#d4a57433;--color-gold-accent-a25:#d4a57440;--color-success-bright-a08:#4ade8014;--color-success-bright-a10:#4ade801a;--color-success-bright-a15:#4ade8026;--color-success-bright-a20:#4ade8033;--accent:#d4a574;--accent-hover:#b8956a;--accent-subtle:#d4a5741a;--dark-primary-hover-bg:#20203c;--dark-primary-text-highlight:#fff;--sphere-line-color:#f0c878;--btn-primary-bg:#1a1a2e;--btn-primary-text:#fff;--btn-primary-hover:#2d2d44;--btn-secondary-bg:transparent;--btn-secondary-text:#1a1a2e;--btn-secondary-border:#1a1a2e;--btn-secondary-hover-bg:#1a1a2e1a;--btn-success-bg:#2d6a4f;--btn-success-text:#fff;--btn-success-hover:#1b4332;--btn-danger-bg:#dc3545;--btn-danger-text:#fff;--btn-danger-hover:#c82333;--btn-neutral-bg:#f5f5f5;--btn-neutral-text:#333;--btn-neutral-border:#ccc;--btn-neutral-hover:#e8e8e8;--btn-radius:8px;--btn-padding:12px 24px;--btn-padding-sm:8px 16px;--btn-padding-xs:6px 12px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--fractals-bg:#0a0a0a;--fractals-surface:#151515;--fractals-accent:gold;--fractals-text:#fff;--fractals-text-muted:#888;--goals-primary:#2d6a4f;--goals-primary-dark:#1b4332;--goals-bg-selected:#f0fff4;--goals-border:#e0e0e0;--goals-text:#333;--goals-text-muted:#666;--goals-text-light:#999;--space-1:1px;--space-2:2px;--space-3:3px;--space-5:5px;--space-6:6px;--space-10:10px;--space-14:14px;--space-20:20px;--space-30:30px;--space-40:40px;--space-48:48px;--space-50:50px;--space-60:60px;--space-80:80px;--space-400:400px;--border-width-1:1px;--border-width-2:2px;--border-width-3:3px;--font-size-075:.75rem;--font-size-078:.78rem;--font-size-08:.8rem;--font-size-085:.85rem;--font-size-088:.88rem;--font-size-0875:.875rem;--font-size-09:.9rem;--font-size-095:.95rem;--font-size-1:1rem;--font-size-11:1.1rem;--font-size-15:1.5rem;--font-size-9px:9px;--font-size-10px:10px;--font-size-11px:11px;--font-size-12px:12px;--font-size-13px:13px;--font-size-14px:14px;--font-size-16px:16px;--font-size-18px:18px;--font-size-20px:20px;--font-size-22px:22px;--font-size-24px:24px;--font-size-28px:28px;--font-size-36px:36px;--color-admin-error:#c00;--color-admin-link:#4a6fa5;--color-admin-text-muted:#888;--color-admin-surface-bg:#fafafa;--color-admin-surface-hover:#f0f0f0;--color-admin-border-light:#eee;--color-admin-stat-bg:#e8e8e8;--color-admin-stat-flashcard-bg:#d4edda;--color-admin-stat-flashcard-text:#155724;--color-admin-stat-whiteboard-bg:#e2d4f0;--color-admin-stat-whiteboard-text:#4a1a7a;--color-admin-stat-exercise-bg:#d1ecf1;--color-admin-stat-exercise-text:#0c5460;--color-admin-stat-inactive-bg:#f8f9fa;--color-admin-stat-inactive-text:#6c757d;--color-admin-stat-hw-yes-bg:#d4edda;--color-admin-stat-hw-yes-text:#155724;--color-admin-stat-hw-no-bg:#f8d7da;--color-admin-stat-hw-no-text:#721c24;--color-admin-briefing-bg:#f8f9ff;--color-admin-briefing-border:#e0e4f0;--color-admin-briefing-gen-border:#aab;--color-admin-briefing-gen-hover-bg:#f0f4ff;--color-admin-mastery-low:#e74c3c;--color-admin-mastery-developing:#f39c12;--color-admin-mastery-solid:#27ae60;--color-admin-mastery-strong:#2ecc71;--color-admin-mastery-partial:#e67e22;--color-admin-mastery-yellow:#f1c40f;--color-admin-map-bg:#f9faf8;--color-admin-map-border:#e0e8e0;--color-admin-map-stat-bg:#eee;--color-admin-map-topic-text:#555;--color-errors-border-light:#d1d5db;--color-errors-border:#e5e7eb;--color-errors-row-hover:#f9fafb;--color-errors-row-expanded-border:#3b82f6;--color-errors-row-expanded-bg:#f0f7ff;--color-errors-severity-text:#374151;--color-errors-badge-bg:#e5e7eb;--color-errors-count-text:#6b7280;--color-errors-time-text:#9ca3af;--color-errors-message-text:#1f2937;--color-errors-stack-bg:#1e1e1e;--color-errors-stack-text:#d4d4d4;--color-errors-json-bg:#f3f4f6;--color-errors-resolve-bg:#10b981;--color-errors-resolve-hover:#059669;--color-errors-severity-error:#ea580c;--color-errors-refresh-hover:#f3f4f6;--color-feedback-primary:#4f46e5;--color-feedback-primary-hover:#4338ca;--color-feedback-success:#10b981;--color-feedback-priority-low-bg:#d1fae5;--color-feedback-priority-low-border:#10b981;--color-feedback-priority-low-text:#065f46;--color-feedback-priority-med-bg:#fef3c7;--color-feedback-priority-med-border:#f59e0b;--color-feedback-priority-med-text:#92400e;--color-feedback-priority-high-bg:#fee2e2;--color-feedback-priority-high-border:#ef4444;--color-feedback-priority-high-text:#991b1b;--color-feedback-priority-critical-bg:#991b1b;--color-admin-primary:#4a90d9;--color-admin-primary-shadow:#4a90d933;--color-admin-bar-gradient-end:#7ab8f5;--color-progress-summary-bg:#f9f9f9;--color-progress-summary-generate:#4a90d9;--color-progress-header-bg:#f5f7fa;--color-progress-practiced-bg:#f8faf8;--color-progress-practiced-border:#e8f0e8;--color-progress-practiced-title:#2d8a2d;--color-progress-practiced-badge-bg:#e8f4e8;--color-progress-weak-bg:#fef8f8;--color-progress-weak-border:#f0e8e8;--color-progress-weak-title:#c44;--color-progress-weak-item-border:#f0e0e0;--color-progress-error-bg:#fee;--color-progress-error-border:#fcc;--color-tags-bg:#f0f0f0;--color-heatmap-summary-flashcards:#4a9;--color-heatmap-summary-exercises:#49a;--color-heatmap-summary-whiteboards:#94a;--color-heatmap-summary-spec-recall:#a94;--color-controls-border:#ccc;--color-layout-sphere-shadow:#0000004d;--color-layout-settings-bg:#ffffff1a;--color-fractals-spinner-border:#333;--color-fractals-canvas-bg:#050505;--color-fractals-canvas-shadow:#0000004d;--color-fractals-journey-text:#aaa;--color-fractals-btn-bg:#1a1a1a;--color-fractals-btn-text:#ddd;--color-fractals-btn-border:#333;--color-fractals-card-border:#252525;--color-fractals-modal-overlay:#000000d9;--color-fractals-modal-border:#333;--color-mobile-overlay:#0003;--color-latex-error-bg:#fff0f0;--color-latex-error-border:#fcc;--color-dashboard-continue-shadow:#00000026;--mastery-text-muted:#666;--mastery-text-soft:#555;--mastery-text-faint:#888;--mastery-surface-subtle:#f9f9f9;--mastery-surface-panel:#f5f5f5;--mastery-surface-hover:#e0e0e0;--mastery-shadow-soft:0 4px 8px #0000001a;--mastery-shadow-modal:0 8px 32px #0003;--mastery-overlay:#00000080;--mastery-success:#2d8a2d;--mastery-warning:#d4a000;--mastery-danger:#c44;--mastery-danger-strong:#c62828;--mastery-danger-bg:#ffebee;--mastery-border-muted:#e0e0e0;--mastery-text-title:#1a1a1a;--mastery-gold:#d4a574;--mastery-gold-dark:#b8860b;--mastery-gold-rgb:184,134,11;--mastery-principle-item-bg-start:#fdf8f3;--mastery-principle-item-bg-end:#fff9f2;--mastery-principle-text:#4a4a4a;--mastery-principle-name:#4a3c31;--mastery-principle-meta:#7c6f63;--mastery-related-border:#e8ddd4;--mastery-related-text:#5d4e42;--mastery-related-more:#9c8878;--progress-color-text-primary:#333;--progress-color-text-secondary:#666;--progress-color-text-muted:#888;--progress-color-border-soft:#eee;--progress-color-spinner-accent:#2e7d32;--progress-color-encouragement-bg-start:#f3e5f5;--progress-color-encouragement-bg-end:#e1bee7;--progress-color-encouragement-text:#4a148c;--progress-color-encouragement-dismiss:#7b1fa2;--progress-color-card-success-border:#c8e6c9;--progress-color-card-success-bg-end:#f1f8e9;--progress-color-card-warning-border:#ffe0b2;--progress-color-card-warning-bg-end:#fff8e1;--progress-shadow-card:0 2px 8px #00000014;--progress-color-heatmap-0:#ebedf0;--progress-color-heatmap-1:#c6e48b;--progress-color-heatmap-2:#7bc96f;--progress-color-heatmap-3:#239a3b;--progress-color-heatmap-4:#196127;--layout-max-width-admin:1400px;--layout-min-width-150:150px;--layout-min-width-40:40px;--layout-width-420:420px;--layout-min-height-120:120px;--layout-max-height-200:200px;--layout-min-height-300:300px;--layout-min-height-400:400px;--layout-height-200:200px;--layout-height-160:160px;--layout-max-width-200:200px;--layout-min-width-600:600px;--layout-max-width-150:150px;--layout-width-150:150px;--letter-spacing-tight:.5px;--color-black-a03:#00000008;--color-black-a15:#00000026;--color-black-a30:#0000004d;--space-7:7px;--space-9:9px;--space-18:18px;--space-64:64px;--border-width-4:4px;--font-size-065:.65rem;--font-size-068:.68rem;--font-size-07:.7rem;--font-size-082:.82rem;--font-size-083:.83rem;--font-size-105:1.05rem;--font-size-12:1.2rem;--font-size-2:2rem;--font-size-25:2.5rem;--font-size-3:3rem;--font-size-15px:15px;--radius-3:3px;--radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-10:10px;--radius-12:12px;--radius-16:16px;--radius-50:50%;--color-purple-50:#f3e5f5;--color-purple-100:#e1bee7;--color-purple-200:#ce93d8;--color-purple-700:#7b1fa2;--color-purple-900:#4a148c;--color-purple-deep:#6a1b9a;--color-purple-500:#9c27b0;--color-purple-a10:#9c27b01a;--color-purple-a15:#ce93d826;--color-purple-badge-a10:#7b1fa21a;--color-amber-50:#fff8e1;--color-amber-100:#ffecb3;--color-amber-200:#ffe082;--color-amber-400:#ffca28;--color-amber-700:#ff8f00;--color-amber-800:#ff6f00;--color-amber-deep:#e65100;--color-amber-brown-900:#92400e;--color-amber-brown-800:#78350f;--color-amber-brown-950:#451a03;--color-amber-warm-50:#fffbeb;--color-amber-warm-100:#fef3c7;--color-amber-warm-200:#fde68a;--color-amber-warm-400:#f59e0b;--color-amber-warm-500:#d97706;--color-amber-warm-600:#b45309;--color-amber-warm-gold:#d4a017;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-300:#86efac;--color-green-500:#22c55e;--color-green-600:#16a34a;--color-green-800:#166534;--color-green-900:#1b5e20;--color-green-success-bg:#f1f8f2;--color-green-light-100:#e8f5e9;--color-green-light-200:#c8e6c9;--color-green-light-300:#a5d6a7;--color-green-light-400:#81c784;--color-green-light-500:#66bb6a;--color-green-light-600:#43a047;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-300:#fca5a5;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-900:#c62828;--color-red-deep:#b71c1c;--color-red-flag:#ff00001a;--color-red-surface:#ffebee;--color-red-border:#ffcdd2;--color-red-ef9a9a:#ef9a9a;--color-pink-50:#fce4ec;--color-pink-100:#f8bbd9;--color-pink-200:#f48fb1;--color-pink-800:#880e4f;--color-orange-50:#fff3e0;--color-orange-100:#ffe0b2;--color-orange-200:#ffcc80;--color-orange-300:#ffb74d;--color-orange-deep:#f57c00;--color-orange-amber:#f57f17;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-400:#3b82f6;--color-blue-700:#1d4ed8;--color-blue-900:#1e3a8a;--color-blue-soft-bg:#f0f7ff;--color-blue-007bff:#007bff;--color-gray-100:#f3f4f6;--color-gray-150:#eee;--color-gray-200:#e5e7eb;--color-gray-250:#d1d5db;--color-gray-450:#9ca3af;--color-gray-550:#6b7280;--color-gray-650:#4b5563;--color-gray-750:#374151;--color-gray-850:#1f2937;--color-gray-950:#111827;--color-gray-warm-100:#f8f9fa;--color-gray-warm-200:#f0f0f0;--color-gray-bdbdbd:#bdbdbd;--color-gray-d0d0d0:#d0d0d0;--color-gray-757575:#757575;--color-gray-555:#555;--color-gray-aaa:#aaa;--color-surface-f9f9f9:#f9f9f9;--color-surface-e8e8e8:#e8e8e8;--color-ocr-warning-border:#f6c26b;--color-ocr-warning-bg:#fffbf0;--color-ocr-warning-icon-text:#7a4f00;--color-ocr-warning-title:#8a4b00;--color-ocr-warning-hint:#6b4f1d;--color-ocr-connection-bg:#fff7e6;--color-tree-surface:#fafaf7;--color-tree-surface-hover:#f5f5f0;--color-tree-border:#e4e4df;--color-tree-border-inner:#e8e8e4;--color-tree-text-dark:#2d2d2d;--color-tree-text-mid:#5a5a5a;--color-tree-text-label:#3a3a3a;--color-tree-text-shared:#6b6b6b;--color-tree-text-mid2:#4a4a4a;--color-tree-or-divider:#d8d8d4;--color-tree-or-bg:#f5f5f0;--color-tree-or-text:#888;--color-tree-ecf-bg:#f1f8e9;--color-vision-border:#c4b5fd;--color-vision-text:#5b21b6;--color-vision-bg:#faf5ff;--color-vision-hover-bg:#f3e8ff;--color-vision-hover-border:#8b5cf6;--color-retry-improved-bg:#f1f8f2;--color-retry-regressed-bg:#fdf2f2;--color-practice-branch:#8ca0ff;--color-dark-surface-111:#111;--color-dark-surface-151515:#151515;--color-dark-surface-1a1a1a:#1a1a1a;--color-dark-surface-222:#222;--color-dark-surface-0d0d0d:#0d0d0d;--color-dark-surface-0a0a0a:#0a0a0a;--color-dark-text-fff:#fff;--color-dark-text-ddd:#ddd;--color-dark-text-ccc:#ccc;--color-dark-text-aaa:#aaa;--color-dark-text-e0e0e0:#e0e0e0;--color-dark-border-333:#333;--color-dark-border-444:#444;--color-dark-border-555:#555;--color-dark-border-222:#222;--color-dark-active-bg:#2a1a4a;--color-dark-error-bg:#3a1a1a;--color-dark-spec-bg:#1a2a3a;--color-dark-spec-col-bg:#1a1a2a;--color-dark-spec-row-bg:#1a2a1a;--color-dark-spec-col-text:#88c;--color-dark-spec-row-text:#8a8;--color-dark-result-generated-bg:#1b3a1b;--color-dark-result-generated-text:#a5d6a7;--color-dark-knowledge-bg:#2a2a4a;--color-dark-knowledge-text:#88c;--color-dark-preview-bg:#0a1a0a;--color-dark-error-2a0a0a:#2a0a0a;--color-toolbar-shadow:#0f172a1f;--color-toolbar-title-shadow:#2563eb26;--color-toolbar-chip-bg:#2563eb14;--color-toolbar-chip-hover-bg:#2563eb29;--color-toolbar-pill-shadow:#0000000d;--color-toolbar-pill-active-shadow:#2563eb40;--color-toolbar-thickness-bg:#2563eb26;--color-toolbar-btn-shadow:#0000000f;--color-toolbar-popup-shadow:#0000001f;--color-toolbar-secondary-bg:#eef2ff;--color-toolbar-secondary-border:#c7d2fe;--color-toolbar-secondary-text:#312e81;--color-toolbar-toggle-bg:#f8fafc;--color-toolbar-alert-border:#fecdd3;--color-toolbar-alert-bg:#fff1f2;--color-toolbar-alert-text:#b91c1c;--color-toolbar-notes-bg:#fffef0;--color-toolbar-notes-border:#c9a227;--color-toolbar-notes-text:#8a6d00;--color-toolbar-notes-hover-bg:#fff9d4;--color-toolbar-notes-hover-border:#d4c88c;--color-toolbar-notes-active-bg:#fff3b8;--color-toolbar-trash-hover:#b54545;--color-toolbar-focus-shadow:#2563eb33;--color-toolbar-lesson-start:#8b5cf6;--color-toolbar-lesson-end:#6366f1;--color-toolbar-lesson-hover-start:#7c3aed;--color-toolbar-lesson-hover-end:#4f46e5;--color-toolbar-lesson-shadow:#8b5cf659;--color-toolbar-lesson-success-start:#22c55e;--color-toolbar-lesson-border:#86efac;--color-toolbar-lesson-bg-start:#f0fdf4;--color-toolbar-lesson-bg-end:#ecfeff;--color-toolbar-primary-hover:#1d4ed8;--color-toolbar-warning-bg:#f59e0b;--color-toolbar-warning-hover:#d97706;--color-toolbar-connected-border:#22c55e;--color-toolbar-connected-bg:#22c55e1a;--color-toolbar-disconnected-bg:#ef44441a;--color-toolbar-disconnected-hover-bg:#ef444433;--color-toolbar-disconnected-text:#dc2626;--color-toolbar-share-border:#8b5cf6;--color-toolbar-share-bg:#8b5cf61a;--color-toolbar-share-text:#7c3aed;--color-toolbar-share-hover-bg:#8b5cf633;--color-toolbar-sync-saved-border:#d97706;--color-toolbar-sync-saved-bg:#d9770614;--color-toolbar-sync-saved-text:#b45309;--color-toolbar-sync-syncing-border:#2563eb;--color-toolbar-sync-syncing-bg:#2563eb14;--color-toolbar-sync-syncing-text:#1d4ed8;--color-toolbar-sync-error-bg:#dc26260f;--color-toolbar-sync-error-text:#b91c1c;--color-toolbar-sync-error-border:#dc262626;--color-toolbar-avatar-bg:linear-gradient(135deg,#8b5cf6,#6366f1);--color-toolbar-avatar-overflow:#64748b;--color-toolbar-lesson-dot:#22c55e;--color-toolbar-reconnect-border:#fca5a5;--color-toolbar-reconnect-bg:#fef2f2;--color-toolbar-reconnect-hover:#fee2e2;--color-toolbar-reconnect-text:#dc2626;--color-toolbar-lesson-share-start:#fbbf24;--color-toolbar-lesson-share-end:#f59e0b;--color-toolbar-lesson-share-hover-start:#f59e0b;--color-toolbar-lesson-share-hover-end:#d97706;--color-toolbar-blue-3b5998:#3b5998;--color-light-surface-f8f9fa:#f8f9fa;--color-light-surface-f0f7ff:#f0f7ff;--color-light-surface-f0fff4:#f0fff4;--color-light-border-d0e0f0:#d0e0f0;--color-light-border-bbb:#bbb;--color-light-border-e0b0b0:#e0b0b0;--color-picker-shadow:#00000026;--color-picker-badge-bg:#2563eb1a;--color-picker-focus-shadow:#2563eb1a;--color-picker-btn-shadow:#16a34a4d;--color-picker-overlay:#0000004d;--color-escalation-issue-bg:#fff1f0;--color-escalation-issue-border:#ffa39e;--color-escalation-issue-text:#cf1322;--color-escalation-issue-hover-bg:#ffccc7;--color-escalation-issue-hover-border:#ff7875;--color-escalation-positive-bg:#f0fff4;--color-escalation-positive-border:#87d068;--color-escalation-positive-text:#237804;--color-pasted-normal-border:#a8e6c0;--color-pasted-error-border:#f0b8b8;--color-pasted-title:#2a6a4a;--color-pasted-source-border:#d4e6d0;--color-pasted-source-btn:#4a8a5a;--color-pasted-error-bg:#fff0f0;--color-pasted-error-text:#8a2a2a;--color-pasted-preview:#1a4a3a;--color-pasted-hint:#6a8a6a;--color-growth-delta-border:#86efac;--color-growth-delta-icon:#22c55e;--color-growth-delta-title:#166534;--color-growth-delta-highlight-bg:#dcfce7;--color-growth-delta-value:#15803d;--color-growth-delta-loading-bg:#f9fafb;--color-growth-delta-loading-border:#e5e7eb;--color-growth-delta-loading-text:#6b7280;--color-growth-delta-spinner-border:#e5e7eb;--color-growth-delta-spinner-top:#22c55e;--color-rename-title:#1b4332;--color-rename-btn-bg:#f0f7f4;--color-rename-btn-border:#4a7c59;--color-rename-btn-text:#4a7c59;--color-rename-focus-shadow:#4a7c5933;--color-notes-bg:#fffef0;--color-notes-border:#e8e4c8;--color-notes-hide-disabled:#bbb;--si-accent-hover-local:#c59a2e;--color-figure-bg:#0d0d0d;--color-figure-grid:#2a2a2a;--color-figure-curve:#7c3aed;--color-suggest-generate-start:#667eea;--color-suggest-generate-end:#764ba2;--color-suggest-chem-start:#11998e;--color-suggest-chem-end:#38ef7d;--color-suggest-accent:#667eea;--color-suggest-accept:#28a745;--color-suggest-accept-hover:#218838;--color-suggest-spec-start:#e8f5e9;--color-suggest-spec-end:#c8e6c9;--color-suggest-spec-text:#2d6a4f;--color-suggest-spec-border:#a5d6a7;--color-spec-blue:#4a90e2;--color-spec-blue-surface:#f0f7ff;--color-analysis-spinner-bg:#f3f3f3;--color-homework-surface:#1a1a2e;--color-violet-500:#7c3aed;--color-violet-600:#6d28d9;--color-green-emerald:#059669;--color-green-emerald-light:#d1fae5;--color-approach-procedural-start:#90a4ae;--color-approach-procedural-end:#607d8b;--color-capture-fail-border:#ffcc02;--color-black-a05:#0000000d;--color-black-a20:#0003;--color-green-600-a35:#16a34a59;--color-green-500-a08:#4caf5014;--color-info-500-a20:#1976d233;--color-info-500-a10:#1976d21a;--color-amber-warm-400-a10:#f59e0b1a;--color-star-empty:#d1d5db;--color-star-filled:#f59e0b;--color-lime-50:#fefce8;--color-violet-50:#ede9fe;--color-qcard-surface:#fafafa;--color-qcard-review-not-bg:#eceff1;--color-qcard-review-not-border:#78909c;--color-qcard-review-not-text:#455a64;--color-qcard-review-badge-not-text:#546e7a;--color-qcard-feedback-warning:#ff9800;--color-qcard-feedback-deep-orange:#ff5722;--color-qcard-feedback-red:#f44336;--color-qcard-feedback-pink:#e91e63;--color-qcard-feedback-blue:#2196f3;--color-qcard-remove-border:#ef5350;--color-qcard-remove-hover-bg:#ffebee;--color-qcard-vision-bg:#e8eaf6;--color-qcard-vision-text:#283593;--color-qcard-comment-border:#90a4ae;--color-black-a70:#000000b3;--color-qcard-feedback-warning-a10:#ff980018;--color-qcard-feedback-deep-orange-a10:#ff572218;--color-qcard-feedback-red-a10:#f4433618;--color-qcard-feedback-pink-a10:#e91e6318;--color-qcard-feedback-purple-a10:#9c27b018;--color-qcard-feedback-success-a10:#4caf5018;--color-qcard-feedback-blue-a10:#2196f318;--layout-width-70:70px;--layout-width-60:60px;--layout-max-width-560:560px;--layout-max-width-600:600px;--layout-max-width-900:900px;--layout-max-height-300:300px;--layout-si-canvas-width:864px;--layout-si-canvas-height:540px;--layout-min-width-320:320px;--layout-max-width-280:280px;--layout-max-width-320:320px;--layout-min-height-200:200px;--letter-spacing-narrow:.3px;--letter-spacing-wide:1px;--letter-spacing-loose:1.5px;--letter-spacing-em-005:.05em;--font-size-095em:.95em;--font-size-11em:1.1em;--layout-max-width-800:800px;--layout-width-300:300px;--layout-min-width-140:140px;--layout-min-height-70:70px;--layout-max-height-400:400px;--layout-min-width-36:36px;--layout-height-24:24px;--color-danger-bright-a10:#ef44441a;--color-danger-bright-a30:#ef44444d;--color-success-bright-a25:#4ade8040;--color-gold-accent-a30:#d4a5744d;--color-gold-accent-a35:#d4a57459}[data-theme=pink]{--dark-primary-bg:#f7deeb;--dark-primary-text:#000;--dark-secondary-text:#222;--dark-accent-text:#444;--dark-primary-hover-bg:#eec4d9;--dark-primary-text-highlight:#000;--light-primary-bg:#faf4f7;--light-secondary-bg:#fcf8fa;--light-accent-text:#a32966;--light-interactive-elements-hover:#f0dbe6;--accent:#d92680;--accent-hover:#a82466;--accent-subtle:#d926801a;--sphere-line-color:#981b30;--btn-primary-bg:#b23473;--btn-primary-text:#fff;--btn-primary-hover:#862d59;--btn-secondary-bg:transparent;--btn-secondary-text:#9e2e66;--btn-secondary-border:#9e2e66;--btn-secondary-hover-bg:#b234731a;--btn-success-bg:#cc3380;--btn-success-text:#fff;--btn-success-hover:#9e2e66;--btn-danger-bg:#bd285a;--btn-danger-text:#fff;--btn-danger-hover:#8f2447;--btn-neutral-bg:#f6eef2;--btn-neutral-text:#73264d;--btn-neutral-border:#e0b8cc;--btn-neutral-hover:#eedde6;--heatmap-level-0:#f1eaed;--heatmap-level-1:#e3b5cc;--heatmap-level-2:#d279a6;--heatmap-level-3:#c63980;--heatmap-level-4:#a32966;--borders-dividers:#e4cdd9}
:root{--space-15:15px;--space-25:25px;--space-28:28px;--space-35:35px;--space-36:36px;--space-100:100px;--space-120:120px;--font-size-070:.7rem;--font-size-110:1.1rem;--font-size-120:1.2rem;--font-size-115:1.15rem;--font-size-125:1.25rem;--font-size-130:1.3rem;--font-size-140:1.4rem;--font-size-160:1.6rem;--font-size-175:1.75rem;--font-size-180:1.8rem;--font-size-200:2rem;--font-size-220:2.2rem;--font-size-240:2.4rem;--font-size-250:2.5rem;--font-size-300:3rem;--font-size-400:4rem;--font-size-40px:40px;--font-size-48px:48px;--font-size-50px:50px;--font-size-085em:.85em;--font-size-110em:1.1em;--radius-14:14px;--radius-20:20px;--radius-24:24px;--color-white-a04:#ffffff0a;--color-white-a07:#ffffff12;--color-white-a95:#fffffff2;--color-black-a08:#00000014;--color-black-a10:#0000001a;--color-black-a50:#00000080;--color-black-a60:#0009;--color-black-a80:#000c;--color-black-a85:#000000d9;--color-gold-accent-a30:#d4a5744d;--color-gold-accent-a40:#d4a57466;--color-gold-accent-a50:#d4a57480;--color-surface-dark-3:#0d0d1a;--color-surface-dark-4:#050510;--color-accent-hover:#b8956a;--color-error-red-a15:#ff525226;--color-error-red-a40:#ff525266;--color-error-pink:#f99;--color-orange-f97316:#f97316;--color-orange-a40:#f9731666;--color-gold-ffd700:gold;--shadow-card-sm:0 2px 8px #00000014;--shadow-card-md:0 8px 32px #0003;--shadow-card-lg:0 20px 60px #0000001a;--shadow-card-xl:0 20px 60px #0000004d;--wizard-bg-start:#0a0a1a;--wizard-bg-end:#1a1a2e;--wizard-text-strong:#fff;--wizard-text-muted:#ffffffb3;--wizard-surface-1:#ffffff08;--wizard-surface-2:#ffffff0d;--wizard-surface-3:#ffffff0f;--wizard-border-soft:#ffffff1a;--wizard-border-medium:#ffffff4d;--wizard-accent-rgb:212,165,116;--wizard-accent-hover:#b8956a;--wizard-accent-glow-50:#d4a57480;--wizard-accent-glow-40:#d4a57466;--wizard-accent-glow-30:#d4a5744d;--wizard-accent-glow-25:#d4a57440;--wizard-accent-glow-15:#d4a57426;--wizard-accent-tint-12:#d4a5741f;--wizard-accent-tint-10:#d4a5741a;--wizard-accent-tint-05:#d4a5740d;--deep-onboard-text-strong:#fff;--deep-onboard-text-inverse:#000;--deep-onboard-text-90:#ffffffe6;--deep-onboard-text-80:#fffc;--deep-onboard-text-75:#ffffffbf;--deep-onboard-text-50:#ffffff80;--deep-onboard-text-30:#ffffff4d;--deep-onboard-surface-03:#ffffff08;--deep-onboard-surface-04:#ffffff0a;--deep-onboard-surface-05:#ffffff0d;--deep-onboard-surface-07:#ffffff12;--deep-onboard-surface-08:#ffffff14;--deep-onboard-surface-20:#fff3;--deep-onboard-border-04:#ffffff0a;--deep-onboard-border-08:#ffffff14;--deep-onboard-border-10:#ffffff1a;--deep-onboard-border-12:#ffffff1f;--deep-onboard-border-15:#ffffff26;--deep-onboard-border-20:#fff3;--deep-onboard-border-30:#ffffff4d;--deep-onboard-accent-hover:#b8956a;--deep-onboard-accent-rgb:212,165,116;--deep-onboard-accent-tint-20:#d4a57433;--deep-onboard-accent-tint-25:#d4a57440;--deep-onboard-accent-tint-30:#d4a5744d;--deep-onboard-accent-tint-40:#d4a57466;--deep-onboard-accent-tint-50:#d4a57480;--app-explainer-bg-start:#0a0a1a;--app-explainer-bg-end:#1a1a2e;--app-explainer-text-strong:#fff;--app-explainer-text-muted:#ffffffb3;--app-explainer-surface-1:#ffffff08;--app-explainer-surface-2:#ffffff0d;--app-explainer-border-soft:#ffffff1a;--app-explainer-accent-rgb:212,165,116;--app-explainer-accent-hover:#b8956a;--app-explainer-accent-tint-10:#d4a5741a;--app-explainer-accent-glow-30:#d4a5744d;--app-explainer-accent-glow-40:#d4a57466;--marketing-page-bg-1:#0a0a1a;--marketing-page-bg-2:#0d0d1a;--marketing-page-bg-3:#1a1a2e;--marketing-page-text-strong:#fff;--marketing-page-text-90:#ffffffe6;--marketing-page-text-85:#ffffffd9;--marketing-page-text-80:#fffc;--marketing-page-text-75:#ffffffbf;--marketing-page-text-70:#ffffffb3;--marketing-page-text-60:#fff9;--marketing-page-surface-03:#ffffff08;--marketing-page-border-white-10:#ffffff1a;--marketing-page-border-white-08:#ffffff14;--marketing-page-accent-rgb:212,165,116;--marketing-page-accent-tint-08:#d4a57414;--marketing-page-accent-tint-10:#d4a5741a;--marketing-page-accent-tint-20:#d4a57433;--marketing-page-accent-tint-30:#d4a5744d;--principles-color-text-muted:#6b7280;--principles-color-text-primary:#111827;--principles-color-text-secondary:#4b5563;--principles-color-text-tertiary:#9ca3af;--principles-color-border:#e5e7eb;--principles-color-border-soft:#f3f4f6;--principles-color-surface-subtle:#fafafa;--principles-color-surface-hover:#f3f4f6;--principles-color-surface-card:#fefefe;--principles-color-accent:#d4a017;--principles-color-accent-dark:#b8860b;--principles-color-danger:#dc2626;--principles-color-verified-bg:#d4f8d4;--principles-color-verified-text:#166534;--principles-shadow-card:0 1px 3px #0000001a;--principles-shadow-accent-hover:0 2px 8px #d4a01726;--principles-shadow-button-hover:0 2px 6px #d4a0174d;--syllabus-color-ability-good-bg:#e8f5e9;--syllabus-color-ability-good-border:#8bc34a;--syllabus-color-ability-developing-bg:#fff3cd;--syllabus-color-ability-weak-bg:#f8d7da;--syllabus-color-ability-seen-bg:#e9ecef;--syllabus-color-btn-conceptual-hover:#138496;--syllabus-color-btn-quantitative-hover:#218838;--syllabus-color-btn-one-mark-text:#333;--syllabus-color-btn-one-mark-hover:#e0a800;--syllabus-color-btn-synoptic:#e65100;--syllabus-color-btn-synoptic-hover:#bf360c;--syllabus-color-btn-session:#7c3aed;--syllabus-color-btn-session-hover:#6d28d9;--syllabus-color-btn-quick:#3b82f6;--syllabus-color-btn-quick-hover:#2563eb;--syllabus-color-btn-medium:#10b981;--syllabus-color-btn-medium-hover:#059669;--syllabus-color-btn-extended:#f59e0b;--syllabus-color-btn-extended-hover:#d97706;--syllabus-color-btn-challenge:#ef4444;--syllabus-color-btn-challenge-hover:#dc2626;--syllabus-color-mark-select-border:#d1d5db;--syllabus-color-mark-select-bg:#fff;--syllabus-color-mark-select-text:#374151;--syllabus-color-mark-select-border-hover:#9ca3af;--syllabus-color-mark-select-border-focus:#2563eb;--spec-selector-bg:#fafafa;--spec-selector-suggestions-bg:#e8f5e9;--spec-selector-suggestions-border:#a5d6a7;--spec-selector-suggestions-title-color:#2e7d32;--spec-selector-unit-border:#eee;--lesson-presence-bg:#fffffff2;--lesson-presence-border:#e0e0e0;--lesson-presence-dot-color:#22c55e;--lesson-presence-label-color:#374151;--lesson-presence-avatar-bg:#e5e7eb;--lesson-presence-avatar-shadow:0 1px 3px #0000001a;--lesson-presence-host-color:#f59e0b;--lesson-presence-initials-color:#6b7280;--lesson-presence-more-bg:#6b7280;--lesson-presence-more-hover:#4b5563;--lesson-btn-copy-bg:#e5e7eb;--lesson-btn-copy-color:#374151;--lesson-btn-copy-hover:#d1d5db;--lesson-btn-end-bg:#ef4444;--lesson-btn-end-hover:#dc2626;--join-lesson-bg-start:#f8fafc;--join-lesson-bg-end:#e2e8f0;--join-lesson-heading-color:#1e293b;--join-lesson-text-color:#64748b;--join-lesson-error-color:#dc2626;--join-lesson-error-bg:#fef2f2;--join-lesson-error-border:#fecaca;--join-lesson-card-shadow:0 20px 60px #0000001a;--join-lesson-spinner-border:#e2e8f0;--join-lesson-spinner-active:#6366f1;--user-settings-section-border:#eee;--user-settings-section-title-color:#888;--user-settings-label-color:#555;--user-settings-badge-bg:#f0f0f0;--user-settings-badge-hover:#e8e8e8;--modal-shell-border:#eee;--card-shell-border:#eee;--card-shell-success-border:#c8e6c9;--card-shell-success-bg-end:#f1f8e9;--card-shell-warning-border:#ffe0b2;--card-shell-warning-bg-end:#fff8e1;--trial-banner-bg-start:#e8f4f8;--trial-banner-bg-end:#d4e9f0;--trial-banner-border:#b8d4e0;--trial-banner-low-bg-start:#fff3e0;--trial-banner-low-bg-end:bisque;--trial-banner-low-border:#ffd699;--trial-banner-exhausted-bg-start:#ffeee8;--trial-banner-exhausted-bg-end:#ffd4c4;--trial-banner-exhausted-border:#ffb699;--paywall-benefits-bg:#f8faf9;--auth-spinner-border:#e0e0e0;--accent-gold:#c9a227;--dev-overlay-border:#555;--dev-overlay-text:#aaa;--letter-spacing-wide-em:.05em;--letter-spacing-wider:1.5px;--space-1-5rem:1.5rem;--space-2rem:2rem;--goals-primary:#c63980;--goals-primary-dark:#936;--goals-bg-selected:#f9ecf2;--whiteboard-toolbar-surface:#fbf8fa;--whiteboard-toolbar-border:#f0dbe6;--whiteboard-toolbar-accent:#cc3380;--whiteboard-toolbar-success:#b23473;--subscription-price-color:#73264d;--subscription-discount-color:#b82e73}
html,body{background-color:var(--dark-primary-bg);height:100%;color:var(--dark-primary-text);margin:0;padding:0;overflow:hidden}.app-container{flex-direction:row;width:100%;height:100vh;display:flex;overflow:hidden}
.nav-pane a:link,.nav-pane a:visited{color:var(--dark-primary-text);padding:var(--space-sm)var(--space-10);border-radius:var(--mild-border-radius);text-decoration:none;display:block}.nav-pane a:hover,.nav-pane a:active{background-color:var(--dark-secondary-text);color:var(--dark-primary-text)}.nav-pane a.active-link{background-color:var(--dark-accent-text);color:var(--dark-primary-bg)}
.left-pane{background-color:var(--dark-primary-bg);color:var(--dark-primary-text);padding:var(--font-size-1);flex-direction:column;flex:0 0 16%;height:100%;padding-bottom:0;display:flex;overflow:hidden}.right-pane{background-color:var(--light-primary-bg);color:var(--light-primary-text);height:100%;padding:var(--default-padding);flex-direction:column;flex:1;display:flex;overflow-y:auto}.logo-container{text-align:center;width:100%;margin-bottom:var(--font-size-1)}.logo-img{max-width:80%;height:auto}.nav-pane{align-items:flex-start;gap:var(--space-sm);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.nav-item{width:100%}.nav-item--footer-link{opacity:.7;margin-top:auto}.nav-link{padding:var(--space-sm);border-radius:var(--slight-border-radius);color:var(--dark-primary-text);white-space:nowrap;text-decoration:none;display:block}.nav-link:hover,.active-link{background-color:var(--dark-primary-hover-bg);color:var(--dark-primary-text-highlight)}.dropdown-heading{padding:var(--space-sm);border-radius:var(--slight-border-radius);color:var(--dark-primary-text);white-space:nowrap;cursor:pointer;justify-content:space-between;align-items:center;text-decoration:none;display:flex}.dropdown-heading:hover,.active-parent>.dropdown-heading{background-color:var(--dark-primary-hover-bg);color:var(--dark-primary-text-highlight)}.dropdown-content{padding-left:var(--space-sm);gap:var(--space-xs);border-left:none;flex-direction:column;margin-left:0;display:flex}.left-pane{transition:width .2s ease-out,flex-basis .2s ease-out}.left-pane.collapsed{flex:0 0 var(--space-48);width:var(--space-48);min-width:var(--space-48)}.left-panel-content{flex-direction:row;flex:1;height:100%;min-height:0;display:flex}.nav-main-column{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex}.nav-collapse-column{width:var(--space-2xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.left-panel-content--collapsed{flex-direction:column;align-items:center;height:100%;display:flex}.left-panel-content--collapsed .nav-collapse-column{width:100%;height:100%;padding:var(--space-sm)0;flex-direction:column;display:flex}.nav-sphere-wrapper{flex:1;justify-content:center;align-items:center;display:flex}.nav-collapse-toggle{width:var(--space-xl);height:var(--space-xl);border:var(--border-width-1)solid var(--dark-primary-hover-bg);border-radius:var(--space-6);color:var(--dark-primary-text);cursor:pointer;opacity:.6;background:0 0;justify-content:center;align-items:center;transition:background-color .15s,transform .15s;display:flex}.nav-collapse-toggle:hover{background:var(--dark-primary-hover-bg);opacity:1;transform:scale(1.05)}.nav-collapse-icon{font-size:var(--font-size-10px);line-height:1}.nav-sphere-mini{width:var(--space-40);height:var(--space-40);background:var(--dark-primary-bg);border:var(--border-width-1)solid var(--dark-border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:flex}.nav-sphere-mini:hover{box-shadow:0 var(--space-xs)var(--space-md)var(--color-layout-sphere-shadow);transform:scale(1.1)}.nav-settings-btn{width:var(--space-2xl);height:var(--space-2xl);border:var(--border-width-1)solid var(--dark-primary-hover-bg);background:var(--color-layout-settings-bg);cursor:pointer;opacity:.7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s,transform .15s;display:flex}.nav-settings-btn:hover{opacity:1;transform:scale(1.1)}.nav-settings-btn img{filter:invert();opacity:.7}
.tags{gap:var(--space-xs);justify-content:center;margin:0;padding:0;list-style:none;display:flex}.tags li{background-color:var(--color-tags-bg);padding:var(--space-2)var(--space-6);border-radius:var(--space-3);font-size:var(--font-size-085);color:var(--color-gray-700);margin:0;list-style:none}
.controls-container{gap:var(--space-10);margin-top:var(--space-20);text-align:center;flex-direction:column;grid-template-columns:1fr 1fr;place-items:start center;display:grid}.controls-container input,.controls-container select{width:calc(50% - var(--space-20));padding:var(--space-10);margin-bottom:var(--space-5);box-sizing:border-box;border:var(--border-width-1)solid var(--color-gray-400);border-radius:var(--mild-border-radius);transition:border-color .3s}.controls-container>:last-child,.controls-container>div:last-child>select{margin-right:0}.control-container{gap:var(--space-1);width:var(--layout-width-150);flex-direction:column;font-size:small;display:flex}.control-container label{text-align:left}.control-container input,.control-container select{width:100%}.practice-pool-list{padding:0;list-style-type:none}.practice-pool-item{margin-bottom:var(--space-5);font-size:var(--font-size-09);justify-content:space-between;align-items:center;display:flex}.practice-pool-item span{margin-right:var(--space-10)}.practice-pool-item button{padding:var(--btn-padding-xs);background-color:var(--btn-neutral-bg);color:var(--btn-neutral-text);border:var(--border-width-1)solid var(--btn-neutral-border);border-radius:var(--btn-radius);cursor:pointer;font-size:var(--font-size-075);font-weight:500;transition:all .2s}.practice-pool-item button:hover{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);border-color:var(--btn-danger-bg);transform:translateY(-1px)}.submit-pool-button{padding:var(--btn-padding-sm);background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--btn-radius);cursor:pointer;font-size:var(--font-size-0875);border:none;font-weight:500;transition:all .2s}.submit-pool-button:hover{background-color:var(--btn-primary-hover);transform:translateY(-1px)}.flashcard-controls-container{padding:var(--default-padding)}.flashcard-controls-container input,.flashcard-controls-container select{padding:var(--space-10);margin-bottom:var(--space-5);box-sizing:border-box;border:var(--border-width-1)solid var(--color-gray-400);border-radius:var(--mild-border-radius);transition:border-color .3s}
.exercise-timer{padding-bottom:var(--space-20);font-size:var(--font-size-1)}
.fractal-canvas{width:100%;height:100%;display:block}
.sphere-logo-container{justify-content:center;align-items:center;width:100%;margin-bottom:1rem;display:flex}.sphere-logo-link{cursor:pointer;transition:transform .3s;display:block}.sphere-logo-link:hover{transform:scale(1.05)}@media screen and (max-width:768px){.sphere-logo-container{display:none}}
@media screen and (max-width:900px){:root{--mobile-header-base-height:44px;--mobile-header-safe-top:env(safe-area-inset-top,0px);--mobile-header-total-height:calc(var(--mobile-header-base-height) + var(--mobile-header-safe-top))}.app-container{flex-direction:column}.mobile-header-band{background-color:var(--dark-primary-bg);width:100%;height:var(--mobile-header-total-height);padding-top:var(--mobile-header-safe-top);box-sizing:border-box;z-index:10;justify-content:flex-start;align-items:center;display:flex;position:fixed;top:0;left:0}.mobile-menu-button{margin-left:var(--space-10);cursor:pointer;height:var(--mobile-header-base-height);width:var(--mobile-header-base-height);display:block}.mobile-menu-button svg{width:100%;height:100%;margin:auto;display:block}.mobile-menu-overlay{top:var(--mobile-header-total-height);width:100vw;height:calc(100vh - var(--mobile-header-total-height));background-color:var(--color-mobile-overlay);z-index:999;position:fixed;left:0}.left-pane{top:var(--mobile-header-total-height);width:80%;height:calc(100vh - var(--mobile-header-total-height));background-color:var(--dark-primary-bg);color:(--dark-primary-text);z-index:1000;padding:var(--font-size-1);flex-direction:column;display:none;position:fixed;left:0;overflow-y:auto}.left-pane.open{display:flex}@media screen and (max-width:768px){.logo-container{display:none}}.right-pane{margin-top:var(--mobile-header-total-height);width:100%;position:relative;overflow:auto}.exercise-navigation-container{width:100%!important;max-width:none!important;padding:var(--default-mobile-padding-)!important}.exercise-list{gap:var(--space-10);display:grid;grid-template-columns:1fr!important}.exercise-card{padding:var(--space-lg);justify-content:center}.exercise-label{font-size:var(--font-size-1)}.flashcard-controls-container,.flashcard-feedback-container{padding:var(--default-mobile-padding)}}.mobile-only-nav-item{display:none}@media screen and (max-width:900px){.mobile-only-nav-item{display:block}}
@media screen and (min-width:901px){.app-container{flex-direction:row}.left-pane{display:flex}.mobile-header-band,.mobile-menu-button{display:none}}
.auth-button{padding:var(--btn-padding);margin:var(--space-10)0;border-radius:var(--btn-radius);background-color:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;font-weight:500;transition:all .2s}.auth-button-container{justify-content:center;align-items:center;display:flex}.auth-button:hover{background-color:var(--btn-primary-hover);transform:translateY(-2px)}
.subscription-options-container{gap:var(--space-20);flex-wrap:wrap;justify-content:center;display:flex}.subscription-card{border:var(--border-width-1)solid var(--borders-dividers);border-radius:var(--default-border-radius);background-color:var(--light-secondary-bg);padding:var(--default-padding);text-align:center;flex-direction:column;width:300px;display:flex}.subscription-card-title{margin-bottom:var(--default-margin);font-size:1.5em}.subscription-card-pricing{min-height:80px;margin-bottom:var(--default-margin)}.subscription-card-price-and-period-container{justify-content:center;align-items:baseline;padding-top:.8em;display:flex}.subscription-card-price{color:var(--subscription-price-color);font-size:2em}.subscription-card-period{color:var(--light-tertiary-text);margin-left:.25em;font-size:.8em}.subscription-card-discount{color:var(--subscription-discount-color);margin-top:.5em;font-size:.9em}.subscription-card-benefits{text-align:left;padding-left:var(--default-padding)}.subscription-card-button-container{margin-top:auto}.subscribe-page-container{padding:var(--space-50);justify-content:center;display:flex}
.trial-banner{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-10)var(--space-20);background:linear-gradient(135deg,var(--trial-banner-bg-start)0%,var(--trial-banner-bg-end)100%);border-bottom:var(--border-width-1)solid var(--trial-banner-border);font-size:var(--font-size-14px);display:flex}.trial-banner--low{background:linear-gradient(135deg,var(--trial-banner-low-bg-start)0%,var(--trial-banner-low-bg-end)100%);border-bottom:var(--border-width-1)solid var(--trial-banner-low-border)}.trial-banner--exhausted{background:linear-gradient(135deg,var(--trial-banner-exhausted-bg-start)0%,var(--trial-banner-exhausted-bg-end)100%);border-bottom:var(--border-width-1)solid var(--trial-banner-exhausted-border)}.trial-banner__text{color:var(--color-gray-900)}.trial-banner__cta{padding:var(--space-6)var(--space-lg);background-color:var(--goals-primary,var(--color-success-700));color:var(--color-white);border-radius:var(--radius-4);font-weight:600;font-size:var(--font-size-13px);cursor:pointer;border:none;transition:background-color .15s}.trial-banner__cta:hover{background-color:var(--goals-primary-dark,var(--btn-success-hover))}.trial-banner__cta-subtle{padding:var(--space-6)var(--space-md);color:var(--goals-primary,var(--color-success-700));border:var(--border-width-1)solid var(--goals-primary,var(--color-success-700));border-radius:var(--radius-4);font-weight:500;font-size:var(--font-size-13px);cursor:pointer;background-color:#0000;transition:all .15s}.trial-banner__cta-subtle:hover{background-color:var(--goals-primary,var(--color-success-700));color:var(--color-white)}
.paywall-overlay{background-color:var(--color-black-a60);z-index:1000;justify-content:center;align-items:center;animation:.2s ease-out paywall-fade-in;display:flex;position:fixed;inset:0}@keyframes paywall-fade-in{0%{opacity:0}to{opacity:1}}.paywall-modal{background:var(--color-white);border-radius:var(--radius-16);padding:var(--space-40);width:90%;max-width:480px;box-shadow:var(--shadow-card-xl);animation:.3s ease-out paywall-slide-up;position:relative}@keyframes paywall-slide-up{0%{opacity:0;transform:translateY(var(--space-20))}to{opacity:1;transform:translateY(0)}}.paywall-close{top:var(--space-lg);right:var(--space-lg);font-size:var(--font-size-28px);color:var(--color-gray-600);cursor:pointer;padding:var(--space-xs)var(--space-sm);background:0 0;border:none;line-height:1;position:absolute}.paywall-close:hover{color:var(--color-gray-900)}.paywall-header{text-align:center;margin-bottom:var(--space-xl)}.paywall-header h2{margin:0 0 var(--space-sm)0;color:var(--goals-primary-dark,var(--color-gray-900));font-size:var(--font-size-24px)}.paywall-subtitle{color:var(--color-gray-700);font-size:var(--font-size-15px);margin:0}.paywall-benefits{background:var(--paywall-benefits-bg);border-radius:var(--radius-8);padding:var(--space-20);margin-bottom:var(--space-xl)}.paywall-benefits h3{margin:0 0 var(--space-md)0;font-size:var(--font-size-14px);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);color:var(--color-gray-700)}.paywall-benefits ul{margin:0;padding:0;list-style:none}.paywall-benefits li{padding:var(--space-6)0;padding-left:var(--space-xl);color:var(--color-gray-900);position:relative}.paywall-benefits li:before{content:"✓";color:var(--goals-primary,var(--color-success-700));font-weight:700;position:absolute;left:0}.paywall-plans{margin-bottom:var(--space-20);justify-content:center;display:flex}.paywall-plan{padding:var(--space-20)var(--space-lg);border-radius:var(--radius-12);border:var(--border-width-2)solid var(--color-gray-300);background:var(--color-white);cursor:pointer;flex-direction:column;align-items:center;transition:all .15s;display:flex;position:relative}.paywall-plan:hover{border-color:var(--goals-primary,var(--color-success-700));box-shadow:0 var(--space-xs)var(--space-md)var(--color-black-a10);transform:translateY(-2px)}.paywall-plan--primary{border-color:var(--goals-primary,var(--color-success-700));background:var(--goals-primary,var(--color-success-700));min-width:200px}.paywall-plan--primary .paywall-plan__price,.paywall-plan--primary .paywall-plan__label{color:var(--color-white)}.paywall-plan--primary .paywall-plan__note{color:var(--color-white-a80)}.paywall-plan--primary:hover{background:var(--goals-primary-dark,var(--btn-success-hover));border-color:var(--goals-primary-dark,var(--btn-success-hover))}.paywall-plan__price{font-size:var(--font-size-24px);color:var(--goals-primary-dark,var(--color-gray-900));margin-bottom:var(--space-xs);font-weight:700}.paywall-plan__label{font-size:var(--font-size-14px);color:var(--color-gray-900);margin-bottom:var(--space-xs);font-weight:600}.paywall-plan__note{font-size:var(--font-size-12px);color:var(--color-gray-500)}.paywall-guarantee{text-align:center;font-size:var(--font-size-13px);color:var(--color-gray-500);margin:0}@media (max-width:480px){.paywall-modal{padding:var(--space-28)var(--space-20)}.paywall-plans{grid-template-columns:1fr}}
.login-required-overlay{background-color:var(--color-black-a60);z-index:1000;justify-content:center;align-items:center;animation:.2s ease-out login-required-fade-in;display:flex;position:fixed;inset:0}@keyframes login-required-fade-in{0%{opacity:0}to{opacity:1}}.login-required-modal{background:var(--color-white);border-radius:var(--radius-16);padding:var(--space-40);width:90%;max-width:420px;box-shadow:var(--shadow-card-xl);animation:.3s ease-out login-required-slide-up;position:relative}@keyframes login-required-slide-up{0%{opacity:0;transform:translateY(var(--space-20))}to{opacity:1;transform:translateY(0)}}.login-required-close{top:var(--space-lg);right:var(--space-lg);font-size:var(--font-size-28px);color:var(--color-gray-600);cursor:pointer;padding:var(--space-xs)var(--space-sm);background:0 0;border:none;line-height:1;position:absolute}.login-required-close:hover{color:var(--color-gray-900)}.login-required-header{text-align:center;margin-bottom:var(--space-xl)}.login-required-icon{color:var(--goals-primary,var(--color-success-700));margin-bottom:var(--space-lg)}.login-required-header h2{margin:0 0 var(--space-sm)0;color:var(--goals-primary-dark,var(--color-gray-900));font-size:var(--font-size-24px)}.login-required-subtitle{color:var(--color-gray-700);font-size:var(--font-size-15px);margin:0}.login-required-benefits{background:var(--paywall-benefits-bg);border-radius:var(--radius-8);padding:var(--space-20);margin-bottom:var(--space-xl)}.login-required-benefits p{margin:0 0 var(--space-md)0;font-size:var(--font-size-14px);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);color:var(--color-gray-700)}.login-required-benefits ul{margin:0;padding:0;list-style:none}.login-required-benefits li{padding:var(--space-6)0;padding-left:var(--space-xl);color:var(--color-gray-900);position:relative}.login-required-benefits li:before{content:"✓";color:var(--goals-primary,var(--color-success-700));font-weight:700;position:absolute;left:0}.login-required-actions{gap:var(--space-md);flex-direction:column;display:flex}.login-required-btn{padding:var(--space-14)var(--space-xl);border-radius:var(--radius-8);font-size:var(--font-size-16px);cursor:pointer;border:none;font-weight:600;transition:all .15s}.login-required-btn--primary{background:var(--goals-primary,var(--color-success-700));color:var(--color-white)}.login-required-btn--primary:hover{background:var(--goals-primary-dark,var(--btn-success-hover));transform:translateY(-1px)}.login-required-btn--secondary{color:var(--color-gray-700);border:var(--border-width-1)solid var(--color-gray-350);background:0 0}.login-required-btn--secondary:hover{background:var(--color-surface-muted);color:var(--color-gray-900)}@media (max-width:480px){.login-required-modal{padding:var(--space-28)var(--space-20)}}
.auth-loading-container{background:var(--background-color,var(--color-surface-muted));flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.auth-loading-container p{margin-top:var(--space-lg);color:var(--color-gray-700);font-size:var(--font-size-14px)}.auth-loading-spinner{width:var(--space-40);height:var(--space-40);border:var(--border-width-3)solid var(--auth-spinner-border);border-top-color:var(--goals-primary,var(--color-success-700));border-radius:var(--radius-50);animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}
:root{--heatmap-total-width:calc(53*var(--space-md) + 52*var(--space-2))}.heatmap-header{grid-template-columns:repeat(53,var(--space-md));gap:var(--space-2);width:var(--heatmap-total-width);margin:0 auto;display:grid}.month-label{text-align:center;white-space:nowrap;margin-bottom:var(--space-5);font-size:small}.heatmap-scroll-container{max-width:100%;overflow-x:auto}.heatmap{grid-template-columns:repeat(53,var(--space-md));gap:var(--space-2);width:var(--heatmap-total-width);margin:0 auto;display:grid}.heatmap--dynamic-columns{grid-template-columns:repeat(var(--heatmap-weeks,53),var(--space-md));width:calc(var(--heatmap-weeks,53)*var(--space-md) + (max(var(--heatmap-weeks,53) - 1,0)*var(--space-2)))}.heatmap-header.heatmap-header--dynamic-columns{grid-template-columns:repeat(var(--heatmap-weeks,53),var(--space-md))}.day--placeholder{visibility:hidden}.admin-heatmap-panel{--heatmap-weeks:53}.admin-heatmap-intro{margin-bottom:var(--space-lg)}.admin-heatmap-intro-title{margin-bottom:var(--space-xs);color:var(--color-gray-900)}.admin-heatmap-intro-subtitle{font-size:var(--font-size-12px);color:var(--color-gray-700);margin:0}.admin-heatmap-summary{gap:var(--space-lg);margin-bottom:var(--space-lg);font-size:var(--font-size-13px);flex-wrap:wrap;display:flex}.admin-heatmap-summary--flashcards{color:var(--color-heatmap-summary-flashcards)}.admin-heatmap-summary--exercises{color:var(--color-heatmap-summary-exercises)}.admin-heatmap-summary--whiteboards{color:var(--color-heatmap-summary-whiteboards)}.admin-heatmap-summary--spec-recall{color:var(--color-heatmap-summary-spec-recall)}.day{width:var(--space-10);height:var(--space-10);border:var(--border-width-1)solid gray;border-radius:var(--space-2)}.level-0{background-color:var(--heatmap-level-0)}.level-1{background-color:var(--heatmap-level-1)}.level-2{background-color:var(--heatmap-level-2)}.level-3{background-color:var(--heatmap-level-3)}.level-4{background-color:var(--heatmap-level-4)}.heatmap-key-container{max-width:var(--heatmap-total-width);margin:var(--space-10)auto 0;overflow-x:auto}.heatmap-key{justify-content:space-around;width:100%;font-size:small;display:flex}.heatmap-key-item{align-items:center;display:flex}.heatmap-key-item .day{margin-right:var(--space-5)}
.admin-dashboard{padding:var(--space-20);max-width:var(--layout-max-width-admin);margin:0 auto}.admin-dashboard.loading,.admin-dashboard.error{text-align:center;padding:var(--space-40);color:var(--color-gray-700)}.admin-dashboard.error{color:var(--color-admin-error)}.admin-dashboard-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.admin-dashboard-header h1{font-size:var(--font-size-15);color:var(--color-surface-dark-2);margin:0}.admin-dashboard-grid{gap:var(--space-xl);grid-template-columns:1fr;display:grid}@media (max-width:1000px){.admin-dashboard-grid{grid-template-columns:1fr}}.dashboard-section{background:var(--color-white);border-radius:var(--mild-border-radius);padding:var(--space-lg);box-shadow:0 var(--space-1)var(--space-3)#0000001a;margin-bottom:var(--space-20)}.dashboard-section h2{margin:0 0 var(--space-lg)0;font-size:var(--font-size-1);color:var(--color-gray-900);border-bottom:var(--border-width-1)solid var(--color-admin-border-light);padding-bottom:var(--space-sm)}.no-data{color:var(--color-admin-text-muted);font-style:italic;font-size:var(--font-size-14px)}.admin-student-card{border:var(--border-width-1)solid var(--color-gray-300);border-radius:var(--space-6);margin-bottom:var(--space-sm);overflow:hidden}.admin-student-card-header{padding:var(--space-md);cursor:pointer;background:var(--color-admin-surface-bg);align-items:center;transition:background .2s;display:flex}.admin-student-card-header:hover{background:var(--color-admin-surface-hover)}.student-info{min-width:var(--layout-min-width-150);flex:1}.student-name{color:var(--color-surface-dark-2);font-weight:600;display:block}.student-last-active{font-size:var(--font-size-12px);color:var(--color-admin-text-muted)}.student-stats-summary{gap:var(--space-sm);margin-right:var(--space-md);flex-wrap:wrap;flex:2;justify-content:flex-end;display:flex}.student-stats-summary .stat{font-size:var(--font-size-12px);padding:var(--space-2)var(--space-sm);border-radius:var(--space-md);background:var(--color-admin-stat-bg)}.student-stats-summary .stat.flashcard{background:var(--color-admin-stat-flashcard-bg);color:var(--color-admin-stat-flashcard-text)}.student-stats-summary .stat.whiteboard{background:var(--color-admin-stat-whiteboard-bg);color:var(--color-admin-stat-whiteboard-text)}.student-stats-summary .stat.exercise{background:var(--color-admin-stat-exercise-bg);color:var(--color-admin-stat-exercise-text)}.student-stats-summary .stat.no-activity{background:var(--color-admin-stat-inactive-bg);color:var(--color-admin-stat-inactive-text)}.student-stats-summary .stat.homework-yes{background:var(--color-admin-stat-hw-yes-bg);color:var(--color-admin-stat-hw-yes-text);font-weight:600}.student-stats-summary .stat.homework-no{background:var(--color-admin-stat-hw-no-bg);color:var(--color-admin-stat-hw-no-text)}.expand-icon{color:var(--color-admin-text-muted);font-size:var(--font-size-10px)}.admin-student-card-details{padding:var(--space-md);background:var(--color-white);border-top:var(--border-width-1)solid var(--color-gray-300)}.detail-row{padding:var(--space-xs)0;font-size:var(--font-size-13px);justify-content:space-between;display:flex}.detail-label{color:var(--color-gray-700)}.detail-value{font-weight:500}.recent-whiteboards{margin-top:var(--space-sm)}.recent-whiteboards ul{margin:var(--space-xs)0 0 0;padding-left:var(--space-20);font-size:var(--font-size-13px)}.recent-whiteboards li{margin:var(--space-2)0}.recent-whiteboards a{color:var(--color-admin-link);text-decoration:none}.recent-whiteboards a:hover{text-decoration:underline}.heatmap-section{overflow-x:auto}.tutor-briefing-panel{margin-top:var(--space-md);padding:var(--space-md);background:var(--color-admin-briefing-bg);border-radius:var(--space-6);border:var(--border-width-1)solid var(--color-admin-briefing-border)}.tutor-briefing-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.tutor-briefing-header h3{font-size:var(--font-size-14px);color:var(--color-surface-dark-2);flex:1;margin:0}.tutor-briefing-mastery-badge{font-size:var(--font-size-11px);color:var(--color-white);padding:var(--space-2)var(--space-sm);border-radius:var(--space-10);text-transform:capitalize;font-weight:600}.tutor-briefing-mastery-badge--low{background-color:var(--color-admin-mastery-low)}.tutor-briefing-mastery-badge--developing{background-color:var(--color-admin-mastery-developing)}.tutor-briefing-mastery-badge--solid{background-color:var(--color-admin-mastery-solid)}.tutor-briefing-mastery-badge--strong{background-color:var(--color-admin-mastery-strong)}.tutor-briefing-refresh-btn{font-size:var(--font-size-12px);padding:var(--space-2)var(--space-sm);border:var(--border-width-1)solid var(--color-gray-400);border-radius:var(--slight-border-radius);background:var(--color-white);cursor:pointer;color:var(--color-gray-700)}.tutor-briefing-refresh-btn:hover{background:var(--color-admin-surface-hover)}.tutor-briefing-generate-btn{width:100%;padding:var(--space-sm);font-size:var(--font-size-13px);border:var(--border-width-1)dashed var(--color-admin-briefing-gen-border);border-radius:var(--slight-border-radius);cursor:pointer;color:var(--color-admin-link);background:0 0}.tutor-briefing-generate-btn:hover{background:var(--color-admin-briefing-gen-hover-bg)}.tutor-briefing-loading{text-align:center;padding:var(--space-md);color:var(--color-gray-700);font-size:var(--font-size-13px);font-style:italic}.tutor-briefing-error{color:var(--color-admin-error);font-size:var(--font-size-13px);margin-bottom:var(--space-sm)}.tutor-briefing-summary{font-size:var(--font-size-13px);color:var(--color-gray-900);margin:0 0 var(--space-10)0;line-height:1.4}.tutor-briefing-section{margin-bottom:var(--space-sm)}.tutor-briefing-section h4{margin:0 0 var(--space-xs)0;font-size:var(--font-size-12px);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.tutor-briefing-section ul{padding-left:var(--space-lg);font-size:var(--font-size-13px);color:var(--color-gray-900);margin:0}.tutor-briefing-section li{margin:var(--space-2)0;line-height:1.4}.tutor-briefing-meta{font-size:var(--font-size-11px);color:var(--color-gray-600);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:var(--border-width-1)solid var(--color-admin-briefing-border)}.mastery-map-panel{margin-top:var(--space-md);padding:var(--space-md);background:var(--color-admin-map-bg);border-radius:var(--space-6);border:var(--border-width-1)solid var(--color-admin-map-border)}.mastery-map-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.mastery-map-header h3{font-size:var(--font-size-14px);color:var(--color-surface-dark-2);margin:0}.mastery-map-summary{gap:var(--space-sm);flex:1;display:flex}.mastery-map-stat{font-size:var(--font-size-12px);padding:var(--space-1)var(--space-6);background:var(--color-admin-map-stat-bg);border-radius:var(--space-sm);color:var(--mastery-map-stat-color,inherit);font-weight:500}.mastery-map-controls{align-items:center;gap:var(--space-sm);display:flex}.mastery-map-toggle{font-size:var(--font-size-12px);color:var(--color-gray-700);cursor:pointer}.mastery-map-toggle input{margin-right:var(--space-xs)}.mastery-map-refresh-btn{font-size:var(--font-size-12px);padding:var(--space-2)var(--space-sm);border:var(--border-width-1)solid var(--color-gray-400);border-radius:var(--slight-border-radius);background:var(--color-white);cursor:pointer;color:var(--color-gray-700)}.mastery-map-refresh-btn:hover{background:var(--color-admin-surface-hover)}.mastery-map-generate-btn{width:100%;padding:var(--space-sm);font-size:var(--font-size-13px);border:var(--border-width-1)dashed var(--color-admin-briefing-gen-border);border-radius:var(--slight-border-radius);cursor:pointer;color:var(--color-admin-link);background:0 0}.mastery-map-generate-btn:hover{background:var(--color-admin-briefing-gen-hover-bg)}.mastery-map-loading,.mastery-map-empty{text-align:center;padding:var(--space-md);color:var(--color-gray-700);font-size:var(--font-size-13px);font-style:italic}.mastery-map-error{color:var(--color-admin-error);font-size:var(--font-size-13px);margin-bottom:var(--space-sm)}.mastery-map-topic-group{margin-bottom:var(--space-10)}.mastery-map-topic-label{font-size:var(--font-size-12px);color:var(--color-admin-map-topic-text);margin-bottom:var(--space-xs);padding-bottom:var(--space-2);border-bottom:var(--border-width-1)solid var(--color-admin-stat-bg);font-weight:600}.mastery-map-entries{gap:var(--space-xs);flex-direction:column;display:flex}.mastery-map-cell{padding:var(--space-6)var(--space-sm);background:var(--color-white);border-radius:var(--slight-border-radius);border-left:var(--space-3)solid var(--mastery-map-cell-color,var(--color-gray-400));font-size:var(--font-size-12px)}.mastery-map-cell-header{align-items:center;gap:var(--space-6);margin-bottom:var(--space-2);display:flex}.mastery-map-cell-ref{color:var(--color-gray-900);min-width:var(--layout-min-width-40);font-weight:600}.mastery-map-cell-pct{font-weight:700;font-size:var(--font-size-13px);color:var(--mastery-map-cell-color,inherit)}.mastery-map-cell-label{font-size:var(--font-size-11px);color:var(--color-admin-text-muted)}.mastery-map-cell-text{color:var(--color-admin-map-topic-text);font-size:var(--font-size-11px);line-height:1.3}.mastery-map-cell-footer{align-items:center;gap:var(--space-6);margin-top:var(--space-3);display:flex}.mastery-map-cell-attempts{font-size:var(--font-size-10px);color:var(--color-gray-600)}.mastery-map-kt-badges{gap:var(--space-3);display:flex}.mastery-map-kt-badge{font-size:var(--font-size-9px);padding:0 var(--space-xs);border:var(--border-width-1)solid var(--mastery-map-kt-color,var(--color-gray-400));border-radius:var(--space-3);color:var(--color-gray-700);text-transform:uppercase}.mastery-map-legend{gap:var(--space-md);margin-top:var(--space-10);padding-top:var(--space-sm);border-top:var(--border-width-1)solid var(--color-admin-map-border);font-size:var(--font-size-11px);justify-content:center;display:flex}.mastery-map-legend--weak{color:var(--color-admin-mastery-low)}.mastery-map-legend--partial{color:var(--color-admin-mastery-partial)}.mastery-map-legend--developing{color:var(--color-admin-mastery-yellow)}.mastery-map-legend--strong{color:var(--color-admin-mastery-solid)}.dashboard-footer{text-align:center;padding:var(--space-lg);font-size:var(--font-size-12px);color:var(--color-admin-text-muted)}
.admin-view-toggle{background:var(--color-admin-surface-hover);padding:var(--space-xs);border-radius:var(--space-10);margin-top:var(--space-lg);margin-bottom:var(--space-xl);border:var(--border-width-1)solid var(--color-gray-300);width:fit-content;box-shadow:0 var(--space-2)var(--space-sm)#0000000f;gap:0;display:flex}.view-toggle-btn{padding:var(--space-10)var(--space-xl);border-radius:var(--mild-border-radius);cursor:pointer;font-size:var(--font-size-14px);color:var(--color-gray-700);background:0 0;border:none;font-weight:600;transition:all .2s}.view-toggle-btn:hover{color:var(--color-gray-900);background:var(--color-black-a03)}.view-toggle-btn.active{background:var(--color-white);color:var(--color-admin-primary);box-shadow:0 var(--space-xs)var(--space-md)var(--color-admin-primary-shadow)}.admin-dashboard-page{gap:var(--space-xl);flex-direction:column;display:flex}.admin-tools-section{border-top:var(--border-width-2)solid var(--color-gray-300);padding-top:var(--space-2xl)}.admin-tools-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.admin-tools-header h2{font-size:var(--font-size-20px);color:var(--color-gray-900);margin:0;font-weight:600}.admin-tools-content{min-height:var(--layout-min-height-300)}.admin-tabs{gap:var(--space-xs);background:var(--color-surface-muted);padding:var(--space-xs);border-radius:var(--mild-border-radius);margin-left:auto;display:flex}.admin-tab{padding:var(--space-sm)var(--space-lg);border-radius:var(--space-6);cursor:pointer;font-size:var(--font-size-14px);color:var(--color-gray-700);background:0 0;border:none;font-weight:500;transition:all .2s}.admin-tab:hover{background:var(--color-admin-stat-bg);color:var(--color-gray-900)}.admin-tab.active{background:var(--color-white);color:var(--color-admin-primary);box-shadow:0 var(--space-1)var(--space-3)#0000001a}.admin-dashboard-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.admin-dashboard-header h1{font-size:var(--font-size-24px);margin:0;font-weight:600}.admin-dashboard-content{min-height:var(--layout-min-height-400)}.admin-panel-header{margin-bottom:var(--space-20)}.admin-panel-loading,.admin-panel-error{padding:var(--space-40);text-align:center;color:var(--color-gray-700)}.ai-costs-panel{padding:0}.ai-costs-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.ai-costs-header h2{font-size:var(--font-size-20px);margin:0;font-weight:600}.ai-costs-summary-grid{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.ai-cost-summary-card{background:var(--color-admin-stat-inactive-bg);border-radius:var(--mild-border-radius);padding:var(--space-lg);text-align:center}.summary-label{font-size:var(--font-size-12px);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-sm)}.summary-value{font-size:var(--font-size-28px);color:var(--color-gray-900);font-weight:700}.summary-subvalue{font-size:var(--font-size-12px);color:var(--color-admin-text-muted);margin-top:var(--space-xs)}.ai-costs-section{margin-bottom:var(--space-2xl)}.ai-costs-section h3{font-size:var(--font-size-16px);margin-bottom:var(--space-lg);color:var(--color-gray-900);font-weight:600}.ai-costs-breakdowns{gap:var(--space-xl);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.cost-bar-chart{background:var(--color-admin-stat-inactive-bg);border-radius:var(--mild-border-radius);padding:var(--space-lg);height:var(--layout-height-200)}.chart-bars{height:var(--layout-height-160);justify-content:space-between;align-items:flex-end;gap:var(--space-xs);padding-bottom:var(--space-xl);display:flex}.chart-bar-container{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.chart-bar{width:100%;max-width:var(--space-40);background:linear-gradient(to top,var(--color-admin-primary),var(--color-admin-bar-gradient-end));border-radius:var(--slight-border-radius)var(--slight-border-radius)0 0;min-height:var(--space-2);cursor:pointer;transition:opacity .2s}.chart-bar:hover{opacity:.8}.chart-bar-label{font-size:var(--font-size-10px);color:var(--color-admin-text-muted);margin-top:var(--space-xs);white-space:nowrap;transform:rotate(-45deg)}.cost-breakdown-table{background:var(--color-admin-stat-inactive-bg);border-radius:var(--mild-border-radius);overflow:hidden}.cost-breakdown-table table{border-collapse:collapse;width:100%}.cost-breakdown-table th,.cost-breakdown-table td{padding:var(--space-10)var(--space-md);text-align:left;border-bottom:var(--border-width-1)solid var(--color-gray-300)}.cost-breakdown-table th{background:var(--color-admin-map-stat-bg);font-size:var(--font-size-12px);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);color:var(--color-gray-700);cursor:pointer;font-weight:600}.cost-breakdown-table th:hover{background:var(--color-gray-300)}.cost-breakdown-table th.sorted{color:var(--color-admin-primary)}.cost-breakdown-table td{font-size:var(--font-size-14px)}.cost-breakdown-table tr:last-child td{border-bottom:none}.call-type-name,.model-name{max-width:var(--layout-max-width-200);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.user-costs-table-container{background:var(--color-admin-stat-inactive-bg);border-radius:var(--mild-border-radius);overflow-x:auto}.user-costs-table{border-collapse:collapse;width:100%;min-width:var(--layout-min-width-600)}.user-costs-table th,.user-costs-table td{padding:var(--space-md);text-align:left;border-bottom:var(--border-width-1)solid var(--color-gray-300)}.user-costs-table th{background:var(--color-admin-map-stat-bg);font-size:var(--font-size-12px);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);color:var(--color-gray-700);font-weight:600}.user-costs-table th.sortable,.user-costs-table th.sorted{cursor:pointer}.user-costs-table th.sortable:hover{background:var(--color-gray-300)}.user-costs-table th.sorted{color:var(--color-admin-primary)}.user-costs-table td{font-size:var(--font-size-14px)}.user-costs-table tr:last-child td{border-bottom:none}.user-costs-table .user-name{font-weight:500}.user-costs-table .user-cost{color:var(--color-admin-primary);font-weight:600}.user-costs-table .call-type{font-size:var(--font-size-12px);color:var(--color-gray-700);max-width:var(--layout-max-width-150);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-costs-loading,.user-costs-empty{padding:var(--space-2xl);text-align:center;color:var(--color-gray-700);background:var(--color-admin-stat-inactive-bg);border-radius:var(--mild-border-radius)}.ai-costs-footer{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:var(--border-width-1)solid var(--color-gray-300);font-size:var(--font-size-12px);color:var(--color-admin-text-muted)}.admin-personal-progress{padding:0}.admin-personal-progress-header{margin-bottom:var(--space-lg)}.admin-personal-progress-note{font-size:var(--font-size-14px);color:var(--color-gray-700);padding:var(--space-md)var(--space-lg);background:var(--color-admin-stat-inactive-bg);border-radius:var(--mild-border-radius);border-left:var(--space-3)solid var(--color-admin-primary);margin:0}.filter-controls{align-items:center;gap:var(--space-sm);display:flex}.filter-controls label{font-size:var(--font-size-14px);color:var(--color-gray-700)}.filter-controls select{padding:var(--space-6)var(--space-10);border:var(--border-width-1)solid var(--color-gray-350);border-radius:var(--slight-border-radius);font-size:var(--font-size-14px);background:var(--color-white);cursor:pointer}.filter-controls select:focus{border-color:var(--color-admin-primary);outline:none}@media (max-width:768px){.admin-dashboard-header{flex-direction:column;align-items:flex-start}.admin-tabs{width:100%;margin-left:0}.admin-tab{text-align:center;padding:var(--space-10)var(--space-sm);font-size:var(--font-size-13px);flex:1}.ai-costs-summary-grid{grid-template-columns:repeat(2,1fr)}.ai-costs-breakdowns{grid-template-columns:1fr}.chart-bar-label{display:none}}
.breadcrumbs{padding:0 0 var(--space-sm)0;background-color:var(--light-primary-bg);font-size:var(--font-size-12px);flex-wrap:wrap;justify-content:flex-start;align-items:center;display:flex}.breadcrumbs a{color:var(--primary-text-color);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumb-separator{margin:0 var(--space-5);color:var(--secondary-text-color)}.breadcrumb-link--clickable{cursor:pointer}@media (max-width:768px){.breadcrumbs{display:none}}
.footer{padding:var(--space-15)0;font-size:var(--font-size-12px);background-color:#0000;flex-wrap:wrap;align-items:center;display:flex}.footer--compact-top{padding-top:var(--space-10)}.footer-link{color:var(--dark-primary-text);margin:0 var(--space-10);opacity:.7;text-decoration:none}.footer-link:hover{opacity:1}
.btn,.reusable-button{padding:var(--btn-padding);border-radius:var(--btn-radius);cursor:pointer;text-align:center;font-weight:500;font-size:var(--font-size-1);border:none;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-block}.btn:disabled,.reusable-button:disabled{background-color:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;border-color:var(--disabled-bg);transform:none}.btn,.btn-primary,.reusable-button{background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn:hover:not(:disabled),.btn-primary:hover:not(:disabled),.reusable-button:hover:not(:disabled){background-color:var(--btn-primary-hover);transform:translateY(-2px)}.btn-secondary,.reusable-button-secondary{padding:var(--btn-padding);background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:var(--border-width-1)solid var(--btn-secondary-border);border-radius:var(--btn-radius);cursor:pointer;font-weight:500;transition:all .2s}.btn-secondary:hover:not(:disabled),.reusable-button-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover-bg);transform:translateY(-2px)}.btn-success{padding:var(--btn-padding);background-color:var(--btn-success-bg);color:var(--btn-success-text);border-radius:var(--btn-radius);cursor:pointer;border:none;font-weight:500;transition:all .2s}.btn-success:hover:not(:disabled){background-color:var(--btn-success-hover);transform:translateY(-2px)}.btn-danger,.reusable-button-danger{padding:var(--btn-padding);background-color:var(--btn-danger-bg);color:var(--btn-danger-text);border-radius:var(--btn-radius);cursor:pointer;border:none;font-weight:500;transition:all .2s}.btn-danger:hover:not(:disabled),.reusable-button-danger:hover:not(:disabled){background-color:var(--btn-danger-hover);transform:translateY(-2px)}.btn-neutral{padding:var(--btn-padding);background-color:var(--btn-neutral-bg);color:var(--btn-neutral-text);border:var(--border-width-1)solid var(--btn-neutral-border);border-radius:var(--btn-radius);cursor:pointer;font-weight:500;transition:all .2s}.btn-neutral:hover:not(:disabled){background-color:var(--btn-neutral-hover);transform:translateY(-1px)}.btn-sm,.reusable-button-small{padding:var(--btn-padding-sm);font-size:var(--font-size-0875);background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--btn-radius);cursor:pointer;border:none;font-weight:500;transition:all .2s}.btn-sm:hover:not(:disabled),.reusable-button-small:hover:not(:disabled){background-color:var(--btn-primary-hover);transform:translateY(-1px)}.btn-sm:disabled,.reusable-button-small:disabled{background-color:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;transform:none}.btn-xs{padding:var(--btn-padding-xs);font-size:var(--font-size-075);background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--btn-radius);cursor:pointer;border:none;font-weight:500;transition:all .2s}.btn-xs:hover:not(:disabled){background-color:var(--btn-primary-hover);transform:translateY(-1px)}.btn-sm.btn-secondary{padding:var(--btn-padding-sm);background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:var(--border-width-1)solid var(--btn-secondary-border)}.btn-sm.btn-success{padding:var(--btn-padding-sm);background-color:var(--btn-success-bg);color:var(--btn-success-text)}.btn-sm.btn-danger{padding:var(--btn-padding-sm);background-color:var(--btn-danger-bg);color:var(--btn-danger-text)}.btn-sm.btn-neutral{padding:var(--btn-padding-sm);background-color:var(--btn-neutral-bg);color:var(--btn-neutral-text);border:var(--border-width-1)solid var(--btn-neutral-border)}.btn-block{width:100%;display:block}
.card-shell{background:var(--color-white);border-radius:var(--radius-12);padding:var(--space-xl);box-shadow:var(--shadow-card-sm);border:var(--border-width-1)solid var(--card-shell-border);position:relative;overflow:hidden}.card-shell--success{border-color:var(--card-shell-success-border);background:linear-gradient(135deg,var(--color-white)0%,var(--card-shell-success-bg-end)100%)}.card-shell--warning{border-color:var(--card-shell-warning-border);background:linear-gradient(135deg,var(--color-white)0%,var(--card-shell-warning-bg-end)100%)}.card-shell--flat{box-shadow:none;border-radius:var(--radius-8)}.card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-header__title{font-size:var(--font-size-14px);color:var(--color-gray-900);font-weight:600}.card-header__actions{align-items:center;gap:var(--space-sm);display:flex}.card-actions{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.card-actions--end{justify-content:flex-end}.card-actions--between{justify-content:space-between}.card-badge-slot{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}
.reusable-toggle-container{margin-top:var(--space-10);flex-direction:column;align-items:flex-start;display:inline-flex}.reusable-toggle-label{font-size:var(--font-size-08);color:var(--color-gray-555);margin-bottom:var(--space-xs);text-align:left}.reusable-toggle{width:var(--space-50);height:var(--space-xl);display:inline-block;position:relative}.reusable-toggle input{opacity:0;width:0;height:0}.reusable-slider{cursor:pointer;background-color:var(--color-gray-400);border-radius:var(--space-xl);transition:all .4s;position:absolute;inset:0}.reusable-slider:before{content:"";height:var(--space-18);width:var(--space-18);left:var(--space-3);bottom:var(--space-3);background-color:var(--color-white);border-radius:var(--radius-50);transition:all .4s;position:absolute}.reusable-toggle input:checked+.reusable-slider{background-color:var(--color-success-500)}.reusable-toggle input:checked+.reusable-slider:before{transform:translateX(var(--space-xl))}
.user-panel{align-items:center;gap:var(--space-10);padding:var(--space-md);border-top:var(--border-width-1)solid var(--color-white-a15);background-color:var(--color-white-a05);border-radius:var(--mild-border-radius);flex-shrink:0;margin-top:auto;margin-bottom:1.5rem;display:flex}.user-panel--loading{justify-content:center}.user-panel-loading-text{color:var(--dark-primary-text);opacity:.6;font-size:var(--font-size-0875)}.user-panel-avatar{width:var(--space-40);height:var(--space-40);border-radius:var(--radius-50);flex-shrink:0;overflow:hidden}.user-panel-avatar img{object-fit:cover;width:100%;height:100%}.user-panel-avatar-placeholder{width:100%;height:100%;font-weight:600;font-size:var(--font-size-110);color:var(--color-black);background-color:var(--accent);justify-content:center;align-items:center;display:flex}.user-panel-info{flex:1;min-width:0;overflow:hidden}.user-panel-name{font-weight:600;font-size:var(--font-size-09);color:var(--dark-primary-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-panel-email{font-size:var(--font-size-075);color:var(--dark-primary-text);opacity:.6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-panel-settings-btn{width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-6);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.user-panel-settings-btn:hover{background-color:var(--color-white-a10)}.user-panel-settings-btn img{filter:invert()brightness(.7);transition:all .3s}.user-panel-settings-btn:hover img{filter:invert()brightness();transform:rotate(45deg)}.user-panel--logged-out{padding:var(--space-sm)var(--space-md);justify-content:flex-start}.user-panel-login-link{color:var(--dark-primary-text);font-size:var(--font-size-0875);opacity:.7;text-decoration:none;transition:opacity .2s}.user-panel-login-link:hover{opacity:1}
.user-settings-overlay{background-color:var(--color-black-a50);z-index:1000;padding:var(--space-20);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.user-settings-modal{background:var(--color-white);border-radius:var(--radius-12);width:100%;max-width:420px;padding:var(--space-xl);box-shadow:var(--shadow-card-md);position:relative}.user-settings-close{top:var(--space-md);right:var(--space-lg);font-size:var(--font-size-24px);color:var(--color-gray-700);cursor:pointer;padding:var(--space-xs);background:0 0;border:none;line-height:1;transition:color .2s;position:absolute}.user-settings-close:hover{color:var(--color-gray-900)}.user-settings-section{padding:var(--space-lg)0;border-bottom:var(--border-width-1)solid var(--user-settings-section-border)}.user-settings-section:first-of-type{padding-top:0}.user-settings-section:last-of-type{border-bottom:none;padding-bottom:0}.user-settings-section-title{font-size:var(--font-size-075);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);color:var(--user-settings-section-title-color);margin:0 0 var(--space-md)0;font-weight:600}.user-settings-row{padding:var(--space-sm)0;justify-content:space-between;align-items:center;display:flex}.user-settings-label{font-size:var(--font-size-09);color:var(--user-settings-label-color)}.user-settings-value{font-size:var(--font-size-09);color:var(--color-gray-900);font-weight:500}.user-settings-value--muted{color:var(--color-gray-600);font-weight:400}.user-settings-plan{align-items:center;gap:var(--space-10);display:flex}.user-settings-plan-badge{font-size:var(--font-size-075);padding:var(--space-xs)var(--space-10);border-radius:var(--radius-12);background-color:var(--user-settings-badge-bg);color:var(--color-gray-700);font-weight:600}.user-settings-plan-badge--pro{background-color:var(--accent);color:var(--color-black)}.user-settings-upgrade-btn{padding:var(--space-6)var(--space-14);font-size:var(--font-size-08);background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--radius-8);cursor:pointer;border:none;font-weight:500;transition:all .2s}.user-settings-upgrade-btn:hover{background-color:var(--btn-primary-hover);transform:translateY(-1px)}.user-settings-logout-btn{width:100%;padding:var(--space-10)var(--space-lg);font-size:var(--font-size-09);background-color:var(--color-surface-muted);color:var(--color-gray-900);border:var(--border-width-1)solid var(--color-gray-400);border-radius:var(--radius-8);cursor:pointer;font-weight:500;transition:all .2s}.user-settings-logout-btn:hover{background-color:var(--btn-danger-bg);color:var(--btn-danger-text);border-color:var(--btn-danger-bg)}.user-settings-theme-picker{gap:var(--space-sm);display:flex}.user-settings-theme-btn{padding:var(--space-6)var(--space-14);font-size:var(--font-size-08);background-color:var(--color-surface-muted);color:var(--color-gray-900);border:var(--border-width-1)solid var(--color-gray-400);border-radius:var(--radius-8);cursor:pointer;font-weight:500;transition:all .2s}.user-settings-theme-btn:hover{background-color:var(--user-settings-badge-hover)}.user-settings-theme-btn--active{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.user-settings-theme-btn--active:hover{background-color:var(--btn-primary-hover)}.user-settings-theme-btn--pink{border-color:#d98cb3}.user-settings-theme-btn--pink.user-settings-theme-btn--active{color:var(--color-white);background-color:#c63980;border-color:#c63980}.user-settings-theme-btn--pink.user-settings-theme-btn--active:hover{background-color:#936}
.modal-shell-backdrop{background:var(--color-black-a50);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-shell-panel{background:var(--color-white);border-radius:var(--radius-12);box-shadow:var(--shadow-card-md);flex-direction:column;width:90%;max-height:90vh;display:flex}.modal-shell-panel--small{max-width:400px}.modal-shell-panel--medium{max-width:520px}.modal-shell-panel--large{max-width:720px}.modal-shell-panel--full{width:90vw;max-width:90vw;height:85vh}.modal-shell-header{align-items:center;gap:var(--space-sm);padding:var(--space-lg)var(--space-20);border-bottom:var(--border-width-1)solid var(--modal-shell-border);flex-shrink:0;display:flex}.modal-shell-header-title{flex:1;min-width:0}.modal-shell-header-title h2,.modal-shell-header-title h3{font-size:var(--font-size-18px);color:var(--color-gray-900);margin:0}.modal-shell-header-extra{flex-shrink:0}.modal-shell-close{font-size:var(--font-size-24px);cursor:pointer;color:var(--color-gray-700);padding:0 var(--space-xs);background:0 0;border:none;flex-shrink:0;line-height:1}.modal-shell-close:hover{color:var(--color-gray-900)}.modal-shell-body{padding:var(--space-lg)var(--space-20);flex:1;overflow-y:auto}.modal-shell-footer{align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-20);border-top:var(--border-width-1)solid var(--modal-shell-border);flex-shrink:0;display:flex}.modal-shell-footer--start{justify-content:flex-start}.modal-shell-footer--center{justify-content:center}.modal-shell-footer--end{justify-content:flex-end}.modal-shell-footer--space-between{justify-content:space-between}
.whiteboard-desktop-outer-wrapper{flex-direction:row;width:100%;height:100%;display:flex}.whiteboard-desktop-outer-wrapper>.whiteboard-desktop-scrollable-container{flex:1;min-width:0}.whiteboard-desktop-scrollable-container{flex-direction:row;align-items:flex-start;padding:0 12px 8px;display:flex}.whiteboard-desktop-scrollable-controls{flex-direction:column;align-items:center;gap:8px;padding-top:20px;padding-right:16px;display:flex}.whiteboard-desktop-scrollable-controls>button{width:100%;max-width:150px}.whiteboard-desktop-scrollable-canvas-container{justify-content:center;align-items:center;display:flex;position:relative}.cartesian-grid-overlay{pointer-events:none;opacity:.4;background-image:linear-gradient(90deg,#ddd 1px,#0000 1px),linear-gradient(#ddd 1px,#0000 1px);background-size:60px 60px;width:100%;height:100%;position:absolute;top:0;left:0}.cursor-eraser{cursor:url(/eraser.png) 8 24,auto}.cursor-pan{cursor:grab}.cursor-pan:active{cursor:grabbing}.new-board-button-large{background-color:var(--btn-primary-bg);width:100%;color:var(--btn-primary-text);border-radius:var(--btn-radius);cursor:pointer;border:none;margin-bottom:24px;padding:20px 32px;font-size:1.4rem;font-weight:600;transition:all .2s}.new-board-button-large:hover{background-color:var(--btn-primary-hover);transform:translateY(-2px)}.new-board-button-large:active{transform:translateY(0)}.board-card-wrapper{margin-bottom:12px}.board-card{cursor:pointer;text-align:left;background-color:#d8f3dc;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:80px;padding:16px 16px 16px 24px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #00000014}.board-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.board-card-content{z-index:1;flex:1;min-width:0;position:relative}.board-card-name{color:#1b4332;white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:1.1rem;font-weight:600;overflow:hidden}.board-card-question{color:#52796f;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:.85rem;line-height:1.3;display:-webkit-box;overflow:hidden}.board-card-meta{color:#40916c;flex-wrap:wrap;gap:12px;font-size:.85rem;display:flex}.board-card-date{opacity:.9}.board-rename-button{z-index:2;padding:var(--btn-padding-xs);background-color:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--btn-radius);color:var(--btn-secondary-text);cursor:pointer;flex-shrink:0;margin-left:12px;font-size:.75rem;font-weight:500;transition:all .2s;position:relative}.board-rename-button:hover{background-color:var(--btn-secondary-hover-bg);transform:translateY(-1px)}.board-card-actions{z-index:2;flex-shrink:0;gap:8px;margin-left:12px;display:flex;position:relative}.board-action-button{color:#1b4332;cursor:pointer;background-color:#ffffffb3;border:1px solid #40916c;border-radius:4px;padding:6px 12px;font-size:.8rem;transition:background-color .15s}.board-action-button:hover{background-color:#fffffff2}.board-actions-row{gap:12px;margin-bottom:24px;display:flex}.board-actions-row .new-board-button-large{flex:1;margin-bottom:0}.new-bundle-button{background-color:var(--btn-success-bg);color:var(--btn-success-text);border-radius:var(--btn-radius);cursor:pointer;border:none;padding:20px 32px;font-size:1.4rem;font-weight:600;transition:all .2s}.new-bundle-button:hover{background-color:var(--btn-success-hover);transform:translateY(-2px)}.new-lesson-button{color:#fff;border-radius:var(--btn-radius);cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;padding:20px 32px;font-size:1.4rem;font-weight:600;transition:all .2s}.new-lesson-button:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf659}.new-lesson-button:disabled{opacity:.7;cursor:wait}.new-lesson-button.success{background:linear-gradient(135deg,#22c55e,#16a34a)}.bundles-section{margin-bottom:32px}.bundles-section h2{color:#1b4332;margin-bottom:16px;font-size:1.3rem}.bundles-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.bundle-stack{background-color:#e8f5e9;border-radius:12px;padding:16px;transition:box-shadow .2s;box-shadow:0 2px 8px #0000001a}.bundle-stack:hover{box-shadow:0 4px 16px #00000026}.bundle-stack.bundle-active{background-color:#d8f3dc;border:2px solid #2d6a4f}.bundle-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.bundle-name{color:#1b4332;font-size:1.1rem;font-weight:600}.bundle-count{color:#52796f;margin-left:auto;font-size:.85rem}.bundle-actions{flex-wrap:wrap;gap:6px;display:flex}.bundle-action-btn{color:#1b4332;cursor:pointer;background-color:#fffc;border:1px solid #74c69d;border-radius:4px;padding:4px 10px;font-size:.75rem;transition:background-color .15s}.bundle-action-btn:hover{background-color:#fff}.bundle-add-board-btn{color:#fff;background-color:#52b788;border-color:#40916c;font-weight:600}.bundle-add-board-btn:hover{background-color:#40916c}.bundle-active-indicator{color:#fff;background-color:#2d6a4f;border-color:#2d6a4f}.bundle-active-indicator:hover{background-color:#1b4332}.bundle-delete-btn,.board-delete-btn{color:#b54545;border-color:#d97373}.bundle-delete-btn:hover,.board-delete-btn:hover{background-color:#fdeaea}.board-delete-btn{justify-content:center;align-items:center;padding:6px 8px;display:flex}.trash-icon{filter:invert(35%)sepia(20%)saturate(1200%)hue-rotate(314deg)brightness(90%)contrast(85%);width:16px;height:16px}.bundle-start-lesson-btn{color:#fff;background-color:#7b2cbf;border-color:#5a189a;font-weight:600}.bundle-start-lesson-btn:hover{background-color:#5a189a}.bundle-start-lesson-btn.success{background-color:#40916c;border-color:#2d6a4f}.bundle-start-lesson-btn:disabled{opacity:.7;cursor:wait}.bundle-resume-btn{color:#fff;cursor:pointer;background-color:#2196f3;border:1px solid #1976d2;border-radius:4px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:background-color .15s}.bundle-resume-btn:hover{background-color:#1976d2}.bundle-boards{min-height:70px;margin-bottom:8px;position:relative}.bundle-board-preview{cursor:pointer;width:200px;transform:translateY(var(--board-offset,0))translateX(var(--board-offset,0));z-index:var(--board-z,0);background-color:#d8f3dc;border-radius:6px;padding:8px;transition:transform .15s,box-shadow .15s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 1px 4px #0000001a}.bundle-board-preview:hover{box-shadow:0 2px 8px #00000026;z-index:10!important}.bundle-board-name{color:#1b4332;white-space:nowrap;text-overflow:ellipsis;max-height:1.4em;margin-top:4px;font-size:.8rem;line-height:1.4em;display:block;overflow:hidden}.bundle-board-name .katex{font-size:.8rem}.bundle-board-name .katex-display{margin:0;display:inline}.bundle-board-name .katex-display>.katex{display:inline}.bundle-board-question{color:#52796f;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.7rem;display:block;overflow:hidden}.bundle-more{color:#52796f;font-size:.85rem;font-style:italic;position:absolute;bottom:0;right:0}.bundle-expanded{margin-top:8px}.bundle-expanded summary{cursor:pointer;color:#40916c;padding:4px 0;font-size:.9rem}.bundle-expanded summary:hover{color:#2d6a4f}.bundle-board-list{margin:8px 0 0;padding:0;list-style:none}.bundle-board-list .board-card-wrapper{margin-bottom:6px}.bundle-board-list .board-card{flex-direction:column;align-items:flex-start;gap:6px;min-height:auto;padding:8px 10px}.bundle-board-list .board-card-content{width:100%}.bundle-board-list .board-card-name{white-space:normal;text-overflow:unset;font-size:.9rem;line-height:1.3;overflow:visible}.board-position-label{color:#6b7280;margin-right:6px;font-size:.8rem;font-weight:500}.bundle-board-list .board-card-meta{gap:8px;font-size:.75rem}.bundle-board-list .board-card-actions{gap:6px;margin-left:0}.bundle-board-list .board-rename-button,.bundle-board-list .board-action-button{padding:4px 8px;font-size:.7rem}.standalone-boards-section{margin-bottom:24px}.standalone-boards-section h2{color:#1b4332;margin-bottom:16px;font-size:1.3rem}.no-boards-message{color:#666;padding:16px;font-style:italic}.add-to-bundle-picker{background-color:#f0f7f4;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px;display:flex}.add-to-bundle-picker>span{color:#1b4332;font-weight:500}.bundle-picker-option{color:#fff;cursor:pointer;background-color:#74c69d;border:none;border-radius:4px;padding:6px 12px;font-size:.9rem;transition:background-color .15s}.bundle-picker-option:hover{background-color:#52b788}.bundle-picker-cancel{color:#333;cursor:pointer;background-color:#ccc;border:none;border-radius:4px;padding:6px 12px;font-size:.9rem}.bundle-picker-cancel:hover{background-color:#bbb}.bundle-controls-section{border-top:1px solid #ddd;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;display:flex}.current-bundle-badge{color:#1b4332;text-align:center;background-color:#d8f3dc;border:1px solid #74c69d;border-radius:4px;padding:6px 10px;font-size:.85rem}.bundle-next-btn{background-color:#52796f!important}.bundle-next-btn:hover{background-color:#3a5a4c!important}.bundle-picker-wrapper{position:relative}.bundle-picker-dropdown{z-index:100;background-color:#fff;border:1px solid #ccc;border-radius:6px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.bundle-picker-item{text-align:left;cursor:pointer;color:#1b4332;background:0 0;border:none;border-bottom:1px solid #eee;width:100%;padding:10px 12px;font-size:.9rem;transition:background-color .15s;display:block}.bundle-picker-item:last-child{border-bottom:none}.bundle-picker-item:hover{background-color:#e8f5e9}.next-question-controls{gap:6px;display:flex}.next-question-btn{flex:1;font-weight:600;background-color:#2d6a4f!important}.next-question-btn:hover{background-color:#1b4332!important}.next-question-btn:disabled{cursor:wait;background-color:#95d5b2!important}.harder-btn{font-weight:500;background-color:#9d4edd!important}.harder-btn:hover{background-color:#7b2cbf!important}.harder-btn:disabled{cursor:wait;background-color:#c77dff!important}.whiteboard-desktop-toolbar-col{flex-direction:column;align-self:stretch;gap:8px;display:flex}.whiteboard-desktop-canvas-col{flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.whiteboard-linked-question-banner{background-color:#f0f7ff;border:1px solid #b8d4f0;border-radius:8px;margin-bottom:12px;padding:16px 20px}.whiteboard-linked-question-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.whiteboard-linked-question-nav{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.whiteboard-nav-group{align-items:center;gap:6px;display:flex}.whiteboard-nav-btn{cursor:pointer;border-radius:4px;padding:2px 6px;font-size:12px}.whiteboard-nav-btn--board{color:#1565c0;background-color:#e3f2fd;border:1px solid #b8d4f0}.whiteboard-nav-btn--board:disabled{color:#999;cursor:not-allowed;background-color:#f5f5f5}.whiteboard-nav-btn--legacy{color:#1565c0;background-color:#e3f2fd;border:1px solid #b8d4f0;border-radius:4px;padding:2px 8px;font-size:12px}.whiteboard-nav-btn--legacy:disabled{color:#999;cursor:not-allowed;background-color:#f5f5f5}.whiteboard-nav-label--board{color:#4a6a8a;text-align:center;min-width:70px;font-size:12px;font-weight:500}.whiteboard-header-actions{align-items:center;gap:8px;display:flex}.whiteboard-star-btn{cursor:pointer;color:#888;background-color:#0000;border:1px solid #555;border-radius:4px;padding:4px 8px;font-size:16px;line-height:1}.whiteboard-star-btn:hover{color:#ffc107;background-color:#333}.whiteboard-star-btn.starred{color:#ffc107;border-color:#ffc107}.whiteboard-edit-btn{cursor:pointer;color:#e65100;background-color:#0000;border:1px solid #ffb74d;border-radius:4px;padding:4px 10px;font-size:12px}.whiteboard-edit-btn:hover{background-color:#fff3e0}.whiteboard-feedback-btn{cursor:pointer;color:#8a4a4a;background-color:#0000;border:1px solid #9b59b6;border-radius:4px;padding:4px 10px;font-size:12px}.whiteboard-homework-btn{cursor:pointer;color:#fff;background-color:#10b981;border:1px solid #10b981;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500}.whiteboard-homework-btn:hover{background-color:#059669;border-color:#059669}.whiteboard-question-footer{border-top:1px solid #e0e8f0;justify-content:flex-end;margin-top:12px;padding-top:10px;display:flex}.whiteboard-mark-scheme-btn{cursor:pointer;color:#555;background-color:#f8f8f8;border:1px solid #ddd;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.whiteboard-mark-scheme-btn:hover{background-color:#eee;border-color:#ccc}.whiteboard-mark-scheme-btn.active{color:#e65100;background-color:#fff8e1;border-color:#ffcc80}
.whiteboard-mark-scheme-content{color:#333;background-color:#fff8e1;border:1px solid #ffcc80;border-radius:6px;margin-top:12px;padding:12px;font-size:14px;line-height:1.6}.whiteboard-mark-scheme-item{background:#fff9;border-radius:4px;gap:10px;margin-bottom:8px;padding:8px;display:flex}.whiteboard-mark-scheme-item:last-child{margin-bottom:0}.whiteboard-mark-scheme-mark{color:#fff;background:#9e9e9e;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;height:22px;font-size:.7rem;font-weight:600;display:flex}.whiteboard-mark-scheme-details{color:#333;flex:1;min-width:0;font-size:.85rem;line-height:1.4}.whiteboard-mark-scheme-expected{color:#666;margin-top:4px;font-style:italic}.whiteboard-question-container{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.whiteboard-canvas-width{width:var(--canvas-display-width);max-width:100%}.whiteboard-question-container .whiteboard-linked-question-banner{flex:1;min-width:0;margin-bottom:0}.whiteboard-question-text{color:#1a3a5a;font-size:18px;line-height:1.5}.whiteboard-question-figure{max-width:400px;margin:8px 0 4px}.whiteboard-new-board-btn{color:#2e7d32;cursor:pointer;background:#fff;border:2px solid #2e7d32;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:32px;font-weight:300;line-height:1;transition:all .15s;display:flex}.whiteboard-new-board-btn:hover{background:#32cd32;transform:scale(1.08)}.whiteboard-new-board-btn:active{transform:scale(.95)}.whiteboard-pasting-banner{text-align:center;background-color:#fff8e6;border:1px solid #e6d4a8;border-radius:8px;margin-bottom:12px;padding:16px 20px}.whiteboard-pasting-text{color:#8a6a2a;font-size:14px}.whiteboard-paste-error-banner{background-color:#fff0f0;border:1px solid #f0b8b8;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 20px;display:flex}.whiteboard-paste-error-text{color:#8a2a2a;font-size:14px}.whiteboard-dismiss-btn{cursor:pointer;color:#8a2a2a;background-color:#0000;border:1px solid #d4a8a8;border-radius:4px;padding:4px 12px;font-size:12px}.whiteboard-canvas{width:var(--canvas-display-width);height:var(--canvas-display-height);touch-action:none;background-color:#fff;border:1px solid #ccc}.whiteboard-hidden-file-input{display:none}.whiteboard-auto-generating{text-align:center;background-color:#f0f7ff;border:1px solid #b8d4f0;border-radius:8px;margin-bottom:12px;padding:32px 24px}.whiteboard-auto-generating-spinner{border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:1s linear infinite whiteboard-spin}@keyframes whiteboard-spin{to{transform:rotate(360deg)}}.whiteboard-auto-generating-text{color:#1a3a5a;margin-bottom:12px;font-size:18px;font-weight:500}.whiteboard-auto-generating-context{color:#667eea;margin-bottom:8px;font-size:16px;font-weight:600}.whiteboard-auto-generating-spec{color:#666;font-size:14px;line-height:1.4}.whiteboard-strokes-loading{text-align:center;color:#666;padding:32px}.whiteboard-strokes-loading-spinner{border:3px solid #e0e0e0;border-top-color:#40916c;border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:1s linear infinite whiteboard-spin}.whiteboard-strokes-loading-text{color:#888;font-size:14px}.whiteboard-auto-generate-error{text-align:center;background-color:#fff0f0;border:1px solid #f0b8b8;border-radius:8px;margin-bottom:12px;padding:24px}.whiteboard-auto-generate-error-text{color:#8a2a2a;margin-bottom:16px;font-size:14px}.whiteboard-auto-generate-error-note{color:#666;font-size:13px}.whiteboard-auto-generate-retry-btn{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500}.whiteboard-auto-generate-retry-btn:hover{background-color:#5a6fd6}.trash-section{border-top:1px solid #e0e0e0;margin-top:32px;padding-top:16px}.trash-toggle-btn{cursor:pointer;color:#666;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;transition:background-color .15s;display:inline-flex}.trash-toggle-btn:hover{background-color:#e8e8e8}.trash-count{color:#fff;background-color:#d97373;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:600;display:inline-flex}.trash-content{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-top:16px;padding:16px}.trash-loading,.trash-empty{color:#888;font-size:.9rem;font-style:italic}.trashed-bundles,.trashed-boards{margin-bottom:16px}.trashed-bundles:last-child,.trashed-boards:last-child{margin-bottom:0}.trashed-bundles h3,.trashed-boards h3{color:#666;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);margin:0 0 8px;font-size:.85rem}.trashed-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.trashed-item:last-child{margin-bottom:0}.trashed-item-name{color:#333;flex:1;font-size:.9rem}.trashed-item-date{color:#888;font-size:.8rem}.restore-btn{color:#fff;cursor:pointer;background-color:#40916c;border:none;border-radius:4px;padding:6px 12px;font-size:.8rem;transition:background-color .15s}.restore-btn:hover{background-color:#2d6a4f}.homework-bundles-section{border-top:1px solid #e0e0e0;margin-top:24px;padding-top:16px}.homework-bundles-toggle-btn{cursor:pointer;color:#666;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;transition:background-color .15s;display:inline-flex}.homework-bundles-toggle-btn:hover{background-color:#e8e8e8}.homework-bundles-count{color:#fff;background-color:#6c757d;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:600;display:inline-flex}.homework-bundles-section .bundles-grid{margin-top:16px}.student-homework-section{margin-bottom:32px}.student-homework-section h2{color:#1b4332;margin-bottom:16px;font-size:1.3rem}.student-homework-bundle{background-color:#fff3e0;border-left:4px solid #ff9800}.student-homework-bundle:hover{background-color:#ffe0b2}.bundle-empty{color:#666;padding:12px 16px;font-size:.9rem;font-style:italic}.student-homework-board-item{margin:4px 0;list-style:none}.student-homework-board-btn{text-align:left;cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;width:100%;padding:10px 16px;font-size:.9rem;transition:background-color .15s}.student-homework-board-btn:hover{background-color:#f5f5f5}.bundle-settings-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bundle-settings-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.bundle-settings-header{border-bottom:1px solid #e0e0e0;align-items:center;gap:12px;padding:16px 20px;display:flex}.bundle-settings-header h2{margin:0;font-size:1.1rem;font-weight:600}.bundle-settings-name{color:#666;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.bundle-settings-close{cursor:pointer;color:#666;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.bundle-settings-content{padding:20px}.bundle-settings-section{margin-bottom:24px}.bundle-settings-section:last-child{margin-bottom:0}.bundle-settings-section h3{color:#333;margin:0 0 8px;font-size:.95rem;font-weight:600}.bundle-settings-hint{color:#666;margin:0 0 16px;font-size:.85rem}.bundle-settings-options{flex-direction:column;gap:8px;display:flex}.bundle-settings-option{cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;transition:border-color .15s,background-color .15s;display:flex}.bundle-settings-option:hover{border-color:#aaa}.bundle-settings-option.selected{background-color:#f0f7ff;border-color:#4a90d9}.bundle-settings-option.disabled{opacity:.6;cursor:not-allowed}.bundle-settings-option input[type=radio]{margin-top:3px}.bundle-settings-option-content{flex-direction:column;flex:1;gap:4px;display:flex}.bundle-settings-option-title{color:#333;font-weight:500}.bundle-settings-option-desc{color:#666;font-size:.85rem}.bundle-settings-option-locked{color:#999;font-size:.8rem;font-style:italic}.bundle-settings-unit-picker{align-items:center;gap:8px;margin-top:8px;display:flex}.bundle-settings-unit-selected{color:#4a90d9;font-size:.85rem;font-weight:500}.bundle-settings-pick-unit-btn{cursor:pointer;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:6px 12px;font-size:.8rem}.bundle-settings-pick-unit-btn:hover{background-color:#e8e8e8}.bundle-settings-toggles{flex-direction:column;gap:12px;display:flex}.bundle-settings-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.bundle-settings-toggle input[type=checkbox]{width:18px;height:18px}.bundle-settings-toggle span{color:#333;font-size:.9rem}.bundle-settings-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:16px;padding:12px;font-size:.85rem}.bundle-settings-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.bundle-settings-cancel-btn{cursor:pointer;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:.9rem}.bundle-settings-cancel-btn:hover{background-color:#e8e8e8}.bundle-settings-save-btn{color:#fff;cursor:pointer;background-color:#4a90d9;border:none;border-radius:6px;padding:8px 20px;font-size:.9rem}.bundle-settings-save-btn:hover{background-color:#3a7fc8}.bundle-settings-save-btn:disabled{cursor:not-allowed;background-color:#a0c4e8}.bundle-settings-btn{cursor:pointer;color:#666;background:0 0;border:1px solid #ddd;border-radius:4px;padding:4px 8px;font-size:.75rem}.bundle-settings-btn:hover{background-color:#f5f5f5;border-color:#bbb}.bundle-mode-badge{color:#666;background-color:#f0f0f0;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;display:inline-flex}.bundle-mode-badge.syllabus_unit{color:#2563eb;background-color:#e8f4fd}.bundle-mode-badge.from_my_work{color:#d97706;background-color:#fef3c7}.bundle-mode-badge.target_weakness{color:#db2777;background-color:#fce7f3}.bundle-mode-badge.build_confidence{color:#059669;background-color:#d1fae5}.whiteboard-write-question-banner{text-align:center;background-color:#f0f7ff;border:2px solid #667eea;border-radius:8px;margin-bottom:12px;padding:20px 24px}.whiteboard-write-question-header{justify-content:center;align-items:center;gap:8px;margin-bottom:8px;display:flex}.whiteboard-write-question-icon{font-size:20px}.whiteboard-write-question-text{color:#1a3a5a;font-size:18px;font-weight:600}.whiteboard-write-question-hint{color:#666;margin-bottom:16px;font-size:14px}.whiteboard-write-question-actions{justify-content:center;gap:12px;display:flex}.whiteboard-write-question-cancel{color:#666;cursor:pointer;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:background-color .15s}.whiteboard-write-question-cancel:hover{background-color:#e8e8e8}.whiteboard-write-question-read{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:background-color .15s}.whiteboard-write-question-read:hover{background-color:#5a6fd6}.whiteboard-write-question-error{color:#8a2a2a;background-color:#fff0f0;border:1px solid #f0b8b8;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:14px}

