@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{--light-primary-bg:#fcf7f7;--light-secondary-bg:#fefbfb;--light-primary-text:#000;--light-secondary-text:#1a1a1a;--light-tertiary-text:#b3b3b3;--borders-dividers:#e0e0e0;--mild-border-radius:8px;--slight-border-radius:4px;--whiteboard-toolbar-border:#dbeafe;--whiteboard-toolbar-accent:#2563eb;--canon-bg-primary:#0a0a1a;--canon-bg-secondary:#1a1a2e;--canon-text-primary:#fff;--canon-text-muted:#ffffffb3;--canon-surface-glass:#ffffff0d;--canon-border-soft:#ffffff1a;--canon-accent:#d4a574;--canon-accent-hover:#e0b88a;--canon-accent-soft:#d4a5741f;--canon-success:#4ade80;--canon-success-soft:#4ade801a;--canon-warm-surface:#fff3e0;--canon-warm-accent:#ff9800;--canon-gradient-angle:135deg;--canon-gradient-success-end:#f1f8e9;--canon-gradient-warning-end:#fff8e1;--sem-surface-page:var(--color-white);--sem-surface-elevated:#fafafa;--sem-surface-sunken:var(--color-surface-muted);--sem-surface-dark:var(--canon-bg-primary);--sem-surface-dark-elevated:var(--canon-bg-secondary);--sem-surface-glass:var(--canon-surface-glass);--sem-text-primary:var(--color-gray-900);--sem-text-secondary:var(--color-gray-700);--sem-text-muted:var(--color-gray-500);--sem-text-on-dark:var(--canon-text-primary);--sem-text-on-dark-muted:var(--canon-text-muted);--sem-border-default:var(--color-gray-300);--sem-border-soft:#eee;--sem-border-dark:var(--canon-border-soft);--sem-action-primary:#1a1a2e;--sem-action-success:var(--btn-success-bg);--sem-action-danger:var(--btn-danger-bg);--sem-action-accent:var(--canon-accent);--sem-success:var(--color-success-500);--sem-success-bright:var(--canon-success);--sem-warning:#f59e0b;--sem-danger:var(--color-danger-bright);--sem-info:var(--color-info-500);--sem-space-page:var(--space-xl);--sem-space-section:var(--space-lg);--sem-space-element:var(--space-md);--sem-space-tight:var(--space-sm);--sem-radius-sm:var(--radius-4);--sem-radius-md:var(--radius-8);--sem-radius-lg:var(--radius-16);--sem-shadow-sm:0 2px 8px #00000014;--sem-shadow-md:0 8px 32px #0003;--sem-shadow-lg:0 20px 60px #0000004d;--bg-hover:#cdd5cd;--primary-color-dark:var(--btn-primary-hover);--color-success-light:var(--color-surface-success-subtle);--color-secondary:var(--color-gray-600);--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-a05:#ffffff0d;--color-white-a10:#ffffff1a;--color-white-a15:#ffffff26;--color-white-a20:#fff3;--color-white-a30:#ffffff4d;--color-white-a50:#ffffff80;--color-white-a70:#ffffffb3;--color-white-a90:#ffffffe6;--color-gold-accent-a10:#d4a5741a;--color-gold-accent-a15:#d4a57426;--color-gold-accent-a20:#d4a57433;--color-success-bright-a10:#4ade801a;--color-success-bright-a20:#4ade8033;--dark-primary-hover-bg:#20203c;--dark-primary-text-highlight:var(--color-white);--sphere-line-color:#f0c878;--btn-primary-hover:#2d2d44;--btn-success-bg:#2d6a4f;--btn-success-text:var(--color-white);--btn-success-hover:#1b4332;--btn-danger-bg:#dc3545;--btn-danger-text:var(--color-white);--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;--goals-primary:#2d6a4f;--goals-primary-dark:#1b4332;--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-50:50px;--space-80:80px;--border-width-1:1px;--border-width-2:2px;--border-width-3:3px;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:3rem;--font-size-px-10:10px;--font-size-px-12:12px;--font-size-px-14:14px;--font-size-px-16:16px;--font-size-px-20:20px;--font-size-px-24:24px;--color-admin-error:#c00;--color-admin-text-muted:#888;--color-errors-resolve-bg:#10b981;--color-feedback-primary:#4f46e5;--color-admin-primary:#4a90d9;--layout-panel-min-h:300px;--letter-spacing-tight:.5px;--color-black-a30:#0000004d;--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-200:#ce93d8;--color-purple-700:#7b1fa2;--color-purple-500:#9c27b0;--color-amber-50:#fff8e1;--color-amber-100:#ffecb3;--color-amber-400:#ffca28;--color-amber-deep:#e65100;--color-amber-brown-900:#92400e;--color-amber-warm-100:#fef3c7;--color-amber-warm-200:#fde68a;--color-amber-warm-500:#d97706;--color-green-300:#86efac;--color-green-500:#22c55e;--color-green-600:#16a34a;--color-green-900:#1b5e20;--color-green-light-100:#e8f5e9;--color-green-light-200:#c8e6c9;--color-green-light-300:#a5d6a7;--color-green-light-400:#81c784;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-600:#dc2626;--color-red-900:#c62828;--color-red-surface:#ffebee;--color-orange-50:#fff3e0;--color-orange-100:#ffe0b2;--color-orange-300:#ffb74d;--color-orange-amber:#f57f17;--color-blue-400:#3b82f6;--color-blue-700:#1d4ed8;--color-blue-soft-bg:#f0f7ff;--color-gray-100:#f3f4f6;--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-warm-100:#f8f9fa;--color-gray-warm-200:#f0f0f0;--color-gray-dark-label:#555;--color-surface-near-white:#f9f9f9;--color-tree-ecf-bg:#f1f8e9;--color-practice-branch:#8ca0ff;--color-dark-surface-deep:#111;--color-dark-surface-card:#1a1a1a;--color-dark-surface-elevated:#222;--color-dark-text-fff:#fff;--color-dark-text-tertiary:#ccc;--color-dark-text-muted:#aaa;--color-dark-border-333:#333;--color-dark-border-444:#444;--color-dark-error-bg:#3a1a1a;--color-toolbar-chip-bg:#2563eb14;--color-toolbar-lesson-start:#8b5cf6;--color-toolbar-lesson-end:#6366f1;--color-toolbar-lesson-bg-start:#f0fdf4;--color-toolbar-sync-saved-text:#b45309;--color-pasted-normal-border:#a8e6c0;--color-rename-btn-border:#4a7c59;--color-violet-500:#7c3aed;--color-violet-600:#6d28d9;--color-green-emerald:#059669;--color-black-a05:#0000000d;--color-black-a20:#0003;--color-qcard-feedback-warning:#ff9800;--letter-spacing-narrow:.3px;--color-gold-accent-a30:#d4a5744d}[data-theme=pink]{--dark-primary-hover-bg:#eec4d9;--dark-primary-text-highlight:#000;--light-primary-bg:#faf4f7;--light-secondary-bg:#fcf8fa;--sphere-line-color:#981b30;--btn-primary-hover:#862d59;--btn-success-bg:#cc3380;--btn-success-text:var(--color-white);--btn-success-hover:#9e2e66;--btn-danger-bg:#bd285a;--btn-danger-text:var(--color-white);--btn-neutral-bg:#f6eef2;--btn-neutral-text:#73264d;--btn-neutral-border:#e0b8cc;--btn-neutral-hover:#eedde6;--borders-dividers:#e4cdd9}
:root{--color-black-a10:#0000001a;--color-black-a50:#00000080;--color-gold-accent-a30:#d4a5744d;--color-accent-hover:#b8956a;--wizard-border-medium:var(--color-white-a30);--wizard-accent-hover:var(--color-accent-hover);--wizard-accent-glow-40:#d4a57466;--wizard-accent-glow-15:var(--color-gold-accent-a15);--deep-onboard-text-inverse:var(--color-black);--deep-onboard-text-90:var(--color-white-a90);--deep-onboard-surface-03:var(--color-white-a05);--deep-onboard-surface-04:#ffffff0a;--deep-onboard-surface-08:var(--color-white-a10);--deep-onboard-surface-20:var(--color-white-a20);--deep-onboard-border-15:var(--color-white-a15);--deep-onboard-accent-tint-20:var(--color-gold-accent-a20);--deep-onboard-accent-tint-50:#d4a57480;--app-explainer-accent-tint-10:var(--color-gold-accent-a10);--marketing-page-bg-2:#0d0d1a;--marketing-page-text-85:#ffffffd9;--marketing-page-text-80:var(--color-white-a70);--marketing-page-text-75:#ffffffbf;--marketing-page-text-60:var(--color-white-a50);--marketing-page-accent-tint-30:var(--color-gold-accent-a30);--accent-gold:#c9a227;--letter-spacing-wide-em:.05em;--letter-spacing-wider:1.5px;--goals-primary:#c63980;--goals-primary-dark:#936;--whiteboard-toolbar-border:#f0dbe6;--whiteboard-toolbar-accent:#cc3380}
html,body{background-color:var(--sem-surface-dark);height:100%;color:var(--sem-text-on-dark);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(--sem-text-on-dark);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{color:var(--sem-text-on-dark);background-color:#ccc}.nav-pane a.active-link{color:var(--sem-surface-dark);background-color:#a3a3a3}
.left-pane{background-color:var(--sem-surface-dark);color:var(--sem-text-on-dark);padding:var(--font-size-base);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(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.logo-container{text-align:center;width:100%;margin-bottom:var(--font-size-base)}.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(--sem-text-on-dark);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(--sem-text-on-dark);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-50);width:var(--space-50);min-width:var(--space-50)}.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(--sem-text-on-dark);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-px-10);line-height:1}.nav-sphere-mini{width:var(--space-40);height:var(--space-40);background:var(--sem-surface-dark);border:var(--border-width-1)solid var(--sem-border-dark);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-black-a30);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-white-a10);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-gray-warm-200);padding:var(--space-2)var(--space-6);border-radius:var(--space-3);font-size:var(--font-size-sm);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);flex-direction:column;width:150px;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-sm);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-xs);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(--sem-surface-dark-elevated);color:var(--sem-text-on-dark);border-radius:var(--btn-radius);cursor:pointer;font-size:var(--font-size-sm);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(--space-lg)}.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-base)}
.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(--sem-surface-dark);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-black-a20);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(--sem-surface-dark);color:(--dark-primary-text);z-index:1000;padding:var(--font-size-base);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(--space-sm)!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-base)}.flashcard-controls-container,.flashcard-feedback-container{padding:var(--space-sm)}}.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(--sem-surface-dark-elevated);color:var(--sem-text-on-dark);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(--space-lg);background-color:var(--light-secondary-bg);padding:var(--space-lg);text-align:center;flex-direction:column;width:300px;display:flex}.subscription-card-title{margin-bottom:var(--space-lg);font-size:1.5em}.subscription-card-pricing{min-height:80px;margin-bottom:var(--space-lg)}.subscription-card-price-and-period-container{justify-content:center;align-items:baseline;padding-top:.8em;display:flex}.subscription-card-price{color:#2c3e50;font-size:2em}.subscription-card-period{color:var(--light-tertiary-text);margin-left:.25em;font-size:.8em}.subscription-card-discount{color:#27ae60;margin-top:.5em;font-size:.9em}.subscription-card-benefits{text-align:left;padding-left:var(--space-lg)}.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);border-bottom:var(--border-width-1)solid #b8d4e0;font-size:var(--font-size-px-14);background:linear-gradient(135deg,#e8f4f8 0%,#d4e9f0 100%);display:flex}.trial-banner--low{background:linear-gradient(135deg,var(--canon-warm-surface)0%,bisque 100%);border-bottom:var(--border-width-1)solid #ffd699}.trial-banner--exhausted{border-bottom:var(--border-width-1)solid #ffb699;background:linear-gradient(135deg,#ffeee8 0%,#ffd4c4 100%)}.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-px-14);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-px-14);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-a50);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;animation:.3s ease-out paywall-slide-up;position:relative;box-shadow:0 20px 60px #0000004d}@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-2xl);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-px-24)}.paywall-subtitle{color:var(--color-gray-700);font-size:var(--font-size-px-16);margin:0}.paywall-benefits{border-radius:var(--radius-8);padding:var(--space-20);margin-bottom:var(--space-xl);background:#f8faf9}.paywall-benefits h3{margin:0 0 var(--space-md)0;font-size:var(--font-size-px-14);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-a70)}.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-px-24);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-px-14);color:var(--color-gray-900);margin-bottom:var(--space-xs);font-weight:600}.paywall-plan__note{font-size:var(--font-size-px-12);color:var(--color-gray-500)}.paywall-guarantee{text-align:center;font-size:var(--font-size-px-14);color:var(--color-gray-500);margin:0}@media (max-width:480px){.paywall-modal{padding:var(--space-30)var(--space-20)}.paywall-plans{grid-template-columns:1fr}}
.login-required-overlay{background-color:var(--color-black-a50);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;animation:.3s ease-out login-required-slide-up;position:relative;box-shadow:0 20px 60px #0000004d}@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-2xl);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-px-24)}.login-required-subtitle{color:var(--color-gray-700);font-size:var(--font-size-px-16);margin:0}.login-required-benefits{border-radius:var(--radius-8);padding:var(--space-20);margin-bottom:var(--space-xl);background:#f8faf9}.login-required-benefits p{margin:0 0 var(--space-md)0;font-size:var(--font-size-px-14);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-px-16);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-30)var(--space-20)}}
.auth-loading-container{background:var(--sem-surface-page);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-px-14)}.auth-loading-spinner{width:var(--space-40);height:var(--space-40);border:var(--border-width-3)solid var(--color-gray-300);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-px-12);color:var(--color-gray-700);margin:0}.admin-heatmap-summary{gap:var(--space-lg);margin-bottom:var(--space-lg);font-size:var(--font-size-px-14);flex-wrap:wrap;display:flex}.admin-heatmap-summary--flashcards{color:#4a9}.admin-heatmap-summary--exercises{color:#49a}.admin-heatmap-summary--whiteboards{color:#94a}.admin-heatmap-summary--spec-recall{color:#a94}.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:#eaedf0}.level-1{background-color:#b8e58a}.level-2{background-color:#99c171}.level-3{background-color:#239023}.level-4{background-color:#165f16}.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:1400px;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-xl);color:var(--sem-surface-dark-elevated);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-base);color:var(--color-gray-900);border-bottom:var(--border-width-1)solid var(--sem-border-soft);padding-bottom:var(--space-sm)}.no-data{color:var(--color-admin-text-muted);font-style:italic;font-size:var(--font-size-px-14)}.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(--sem-surface-elevated);align-items:center;transition:background .2s;display:flex}.admin-student-card-header:hover{background:var(--color-gray-warm-200)}.student-info{flex:1;min-width:150px}.student-name{color:var(--sem-surface-dark-elevated);font-weight:600;display:block}.student-last-active{font-size:var(--font-size-px-12);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-px-12);padding:var(--space-2)var(--space-sm);border-radius:var(--space-md);background:var(--btn-neutral-hover)}.student-stats-summary .stat.flashcard{color:#155724;background:#d4edda}.student-stats-summary .stat.whiteboard{color:#4a1a7a;background:#e2d4f0}.student-stats-summary .stat.exercise{color:#0c5460;background:#d1ecf1}.student-stats-summary .stat.no-activity{background:var(--color-gray-warm-100);color:#6c757d}.student-stats-summary .stat.homework-yes{color:#155724;background:#d4edda;font-weight:600}.student-stats-summary .stat.homework-no{color:#721c24;background:#f8d7da}.expand-icon{color:var(--color-admin-text-muted);font-size:var(--font-size-px-10)}.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-px-14);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-px-14)}.recent-whiteboards li{margin:var(--space-2)0}.recent-whiteboards a{color:#4a6fa5;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);border-radius:var(--space-6);border:var(--border-width-1)solid #e0e4f0;background:#f8f9ff}.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-px-14);color:var(--sem-surface-dark-elevated);flex:1;margin:0}.tutor-briefing-mastery-badge{font-size:var(--font-size-px-12);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:#e74c3c}.tutor-briefing-mastery-badge--developing{background-color:#f39c12}.tutor-briefing-mastery-badge--solid{background-color:#27ae60}.tutor-briefing-mastery-badge--strong{background-color:#2ecc71}.tutor-briefing-refresh-btn{font-size:var(--font-size-px-12);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-gray-warm-200)}.tutor-briefing-generate-btn{width:100%;padding:var(--space-sm);font-size:var(--font-size-px-14);border:var(--border-width-1)dashed #aab;border-radius:var(--slight-border-radius);cursor:pointer;color:#4a6fa5;background:0 0}.tutor-briefing-generate-btn:hover{background:#f0f4ff}.tutor-briefing-loading{text-align:center;padding:var(--space-md);color:var(--color-gray-700);font-size:var(--font-size-px-14);font-style:italic}.tutor-briefing-error{color:var(--color-admin-error);font-size:var(--font-size-px-14);margin-bottom:var(--space-sm)}.tutor-briefing-summary{font-size:var(--font-size-px-14);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-px-12);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-px-14);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-px-12);color:var(--color-gray-600);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:var(--border-width-1)solid #e0e4f0}.mastery-map-panel{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--space-6);border:var(--border-width-1)solid #e0e8e0;background:#f9faf8}.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-px-14);color:var(--sem-surface-dark-elevated);margin:0}.mastery-map-summary{gap:var(--space-sm);flex:1;display:flex}.mastery-map-stat{font-size:var(--font-size-px-12);padding:var(--space-1)var(--space-6);background:var(--sem-border-soft);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-px-12);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-px-12);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-gray-warm-200)}.mastery-map-generate-btn{width:100%;padding:var(--space-sm);font-size:var(--font-size-px-14);border:var(--border-width-1)dashed #aab;border-radius:var(--slight-border-radius);cursor:pointer;color:#4a6fa5;background:0 0}.mastery-map-generate-btn:hover{background:#f0f4ff}.mastery-map-loading,.mastery-map-empty{text-align:center;padding:var(--space-md);color:var(--color-gray-700);font-size:var(--font-size-px-14);font-style:italic}.mastery-map-error{color:var(--color-admin-error);font-size:var(--font-size-px-14);margin-bottom:var(--space-sm)}.mastery-map-topic-group{margin-bottom:var(--space-10)}.mastery-map-topic-label{font-size:var(--font-size-px-12);color:var(--color-gray-dark-label);margin-bottom:var(--space-xs);padding-bottom:var(--space-2);border-bottom:var(--border-width-1)solid var(--btn-neutral-hover);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-px-12)}.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:40px;font-weight:600}.mastery-map-cell-pct{font-weight:700;font-size:var(--font-size-px-14);color:var(--mastery-map-cell-color,inherit)}.mastery-map-cell-label{font-size:var(--font-size-px-12);color:var(--color-admin-text-muted)}.mastery-map-cell-text{color:var(--color-gray-dark-label);font-size:var(--font-size-px-12);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-px-10);color:var(--color-gray-600)}.mastery-map-kt-badges{gap:var(--space-3);display:flex}.mastery-map-kt-badge{font-size:var(--font-size-px-10);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 #e0e8e0;font-size:var(--font-size-px-12);justify-content:center;display:flex}.mastery-map-legend--weak{color:#e74c3c}.mastery-map-legend--partial{color:#e67e22}.mastery-map-legend--developing{color:#f1c40f}.mastery-map-legend--strong{color:#27ae60}.dashboard-footer{text-align:center;padding:var(--space-lg);font-size:var(--font-size-px-12);color:var(--color-admin-text-muted)}
.admin-view-toggle{background:var(--color-gray-warm-200);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-px-14);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-a05)}.view-toggle-btn.active{background:var(--color-white);color:var(--color-admin-primary);box-shadow:0 var(--space-xs)var(--space-md)#4a90d933}.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-px-20);color:var(--color-gray-900);margin:0;font-weight:600}.admin-tools-content{min-height:var(--layout-panel-min-h)}.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-px-14);color:var(--color-gray-700);background:0 0;border:none;font-weight:500;transition:all .2s}.admin-tab:hover{background:var(--btn-neutral-hover);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-px-24);margin:0;font-weight:600}.admin-dashboard-content{min-height:400px}.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-px-20);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-gray-warm-100);border-radius:var(--mild-border-radius);padding:var(--space-lg);text-align:center}.summary-label{font-size:var(--font-size-px-12);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-2xl);color:var(--color-gray-900);font-weight:700}.summary-subvalue{font-size:var(--font-size-px-12);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-px-16);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-gray-warm-100);border-radius:var(--mild-border-radius);padding:var(--space-lg);height:200px}.chart-bars{justify-content:space-between;align-items:flex-end;gap:var(--space-xs);height:160px;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),#7ab8f5);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-px-10);color:var(--color-admin-text-muted);margin-top:var(--space-xs);white-space:nowrap;transform:rotate(-45deg)}.cost-breakdown-table{background:var(--color-gray-warm-100);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(--sem-border-soft);font-size:var(--font-size-px-12);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-px-14)}.cost-breakdown-table tr:last-child td{border-bottom:none}.call-type-name,.model-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:500;overflow:hidden}.user-costs-table-container{background:var(--color-gray-warm-100);border-radius:var(--mild-border-radius);overflow-x:auto}.user-costs-table{border-collapse:collapse;width:100%;min-width:600px}.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(--sem-border-soft);font-size:var(--font-size-px-12);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-px-14)}.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-px-12);color:var(--color-gray-700);text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.user-costs-loading,.user-costs-empty{padding:var(--space-2xl);text-align:center;color:var(--color-gray-700);background:var(--color-gray-warm-100);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-px-12);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-px-14);color:var(--color-gray-700);padding:var(--space-md)var(--space-lg);background:var(--color-gray-warm-100);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-px-14);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-px-14);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-px-14);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-px-12);flex-wrap:wrap;justify-content:flex-start;align-items:center;display:flex}.breadcrumbs a{color:var(--sem-text-primary);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumb-separator{margin:0 var(--space-5);color:var(--sem-text-secondary)}.breadcrumb-link--clickable{cursor:pointer}@media (max-width:768px){.breadcrumbs{display:none}}
.footer{padding:var(--space-14)0;font-size:var(--font-size-px-12);background-color:#0000;flex-wrap:wrap;align-items:center;display:flex}.footer--compact-top{padding-top:var(--space-10)}.footer-link{color:var(--sem-text-on-dark);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-base);border:none;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-block}.btn:disabled,.reusable-button:disabled{background-color:var(--color-gray-400);color:var(--color-gray-700);cursor:not-allowed;border-color:var(--color-gray-400);transform:none}.btn,.btn-primary,.reusable-button{background-color:var(--sem-surface-dark-elevated);color:var(--sem-text-on-dark)}.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);color:var(--canon-bg-secondary);border:var(--border-width-1)solid var(--canon-bg-secondary);border-radius:var(--btn-radius);cursor:pointer;background-color:#0000;font-weight:500;transition:all .2s}.btn-secondary:hover:not(:disabled),.reusable-button-secondary:hover:not(:disabled){background-color:#1a1a2e1a;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:#c82333;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-sm);background-color:var(--sem-surface-dark-elevated);color:var(--sem-text-on-dark);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(--color-gray-400);color:var(--color-gray-700);cursor:not-allowed;transform:none}.btn-xs{padding:var(--btn-padding-xs);font-size:var(--font-size-xs);background-color:var(--sem-surface-dark-elevated);color:var(--sem-text-on-dark);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);color:var(--canon-bg-secondary);border:var(--border-width-1)solid var(--canon-bg-secondary);background-color:#0000}.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);border:var(--border-width-1)solid var(--sem-border-soft);position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014}.card-shell--success{border-color:var(--color-green-light-200);background:linear-gradient(135deg,var(--color-white)0%,var(--color-tree-ecf-bg)100%)}.card-shell--warning{border-color:var(--color-orange-100);background:linear-gradient(135deg,var(--color-white)0%,var(--canon-gradient-warning-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-px-14);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-xs);color:var(--color-gray-dark-label);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-20);width:var(--space-20);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(--sem-text-on-dark);opacity:.6;font-size:var(--font-size-sm)}.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-md);color:var(--color-black);background-color:var(--sem-action-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-sm);color:var(--sem-text-on-dark);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-panel-email{font-size:var(--font-size-xs);color:var(--sem-text-on-dark);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(--sem-text-on-dark);font-size:var(--font-size-sm);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);position:relative;box-shadow:0 8px 32px #0003}.user-settings-close{top:var(--space-md);right:var(--space-lg);font-size:var(--font-size-px-24);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(--sem-border-soft)}.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-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);color:var(--color-admin-text-muted);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-sm);color:var(--color-gray-dark-label)}.user-settings-value{font-size:var(--font-size-sm);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-xs);padding:var(--space-xs)var(--space-10);border-radius:var(--radius-12);background-color:var(--color-gray-warm-200);color:var(--color-gray-700);font-weight:600}.user-settings-plan-badge--pro{background-color:var(--sem-action-accent);color:var(--color-black)}.user-settings-upgrade-btn{padding:var(--space-6)var(--space-14);font-size:var(--font-size-xs);background-color:var(--sem-surface-dark-elevated);color:var(--sem-text-on-dark);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-sm);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-xs);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(--btn-neutral-hover)}.user-settings-theme-btn--active{background-color:var(--sem-surface-dark-elevated);color:var(--sem-text-on-dark);border-color:var(--sem-surface-dark-elevated)}.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);flex-direction:column;width:90%;max-height:90vh;display:flex;box-shadow:0 8px 32px #0003}.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(--sem-border-soft);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-px-20);color:var(--color-gray-900);margin:0}.modal-shell-header-extra{flex-shrink:0}.modal-shell-close{font-size:var(--font-size-px-24);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(--sem-border-soft);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(--sem-surface-dark-elevated);width:100%;color:var(--sem-text-on-dark);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);border:1px solid var(--canon-bg-secondary);border-radius:var(--btn-radius);color:var(--canon-bg-secondary);cursor:pointer;background-color:#0000;flex-shrink:0;margin-left:12px;font-size:.75rem;font-weight:500;transition:all .2s;position:relative}.board-rename-button:hover{background-color:#1a1a2e1a;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-left:4px solid #4caf50;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 .exercise-list{margin:0;padding:0;list-style:none}.standalone-boards-section .board-card-wrapper{margin-bottom:6px}.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}

.whiteboard-toolbar{width:120px;margin-left:var(--space-md);margin-right:var(--space-md);z-index:100;position:relative}.whiteboard-toolbar .reusable-button-small{margin-top:0}.whiteboard-toolbar-card{background:linear-gradient(140deg,#f7fbff,var(--color-white));border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--space-lg);padding:var(--space-10);gap:var(--space-10);top:var(--space-md);flex-direction:column;display:flex;position:sticky;box-shadow:0 12px 36px #0f172a1f}.toolbar-header{align-items:center;gap:var(--space-xs);display:flex}.toolbar-title{min-width:0;padding:var(--space-xs)var(--space-6);border-radius:var(--mild-border-radius);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);background:var(--color-white);color:var(--light-secondary-text);font-weight:700;font-size:var(--font-size-px-12);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;transition:transform .1s,box-shadow .2s;overflow:hidden}.toolbar-title:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb26}.toolbar-title-edit-icon{opacity:0;margin-left:var(--space-xs);transition:opacity .15s}.toolbar-title:hover .toolbar-title-edit-icon{opacity:.6}.toolbar-trash-btn{cursor:pointer;padding:var(--space-xs);opacity:.4;background:0 0;border:none;flex-shrink:0;transition:opacity .15s}.toolbar-trash-btn:hover{opacity:1;color:#b54545}.toolbar-trash-icon{width:var(--space-14);height:var(--space-14)}.toolbar-rename-input{padding:var(--space-sm)var(--space-10);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--mild-border-radius);font-size:var(--font-size-px-14);background:var(--color-white);outline:none;flex:1}.toolbar-rename-input:focus{border-color:var(--whiteboard-toolbar-accent);box-shadow:0 0 0 var(--border-width-2)#2563eb33}.toolbar-chip{padding:var(--space-xs)var(--space-sm);border:var(--border-width-1)solid var(--whiteboard-toolbar-accent);background:var(--color-toolbar-chip-bg);color:var(--whiteboard-toolbar-accent);font-size:var(--font-size-px-12);cursor:pointer;white-space:nowrap;border-radius:999px;font-weight:600;transition:background .2s,transform .1s}.toolbar-chip:hover{background:#2563eb29;transform:translateY(-1px)}.toolbar-bundle{border:var(--border-width-1)solid var(--whiteboard-toolbar-border);background:linear-gradient(135deg,var(--color-toolbar-lesson-bg-start),#ecfeff);border-radius:var(--space-lg);padding:var(--space-10)var(--space-md);gap:var(--space-10);flex-direction:column;display:flex}.toolbar-bundle-meta{justify-content:space-between;align-items:center;display:flex}.toolbar-bundle-name{color:var(--light-secondary-text);font-weight:700}.toolbar-bundle-controls{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;display:grid}.toolbar-bundle-index{text-align:center;color:var(--whiteboard-toolbar-accent);font-weight:700}.toolbar-bundle-compact{border:var(--border-width-1)solid var(--whiteboard-toolbar-border);background:linear-gradient(135deg,var(--color-toolbar-lesson-bg-start),#ecfeff);border-radius:var(--mild-border-radius);padding:var(--space-6)var(--space-xs);gap:var(--space-xs);flex-direction:column;max-width:100%;display:flex;overflow:hidden}.toolbar-bundle-name-compact{font-size:var(--font-size-px-12);color:var(--light-secondary-text);text-align:center;text-overflow:ellipsis;white-space:nowrap;cursor:help;width:100%;padding:0 var(--space-xs);box-sizing:border-box;font-weight:600;overflow:hidden}.toolbar-bundle-nav-row{justify-content:space-between;align-items:center;gap:var(--space-xs);box-sizing:border-box;width:100%;display:flex}.toolbar-bundle-arrow{width:var(--space-xl);height:var(--space-xl);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--radius-4);background:var(--color-white);color:var(--light-secondary-text);font-size:var(--font-size-px-10);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.toolbar-bundle-arrow:hover:not(:disabled){background:var(--whiteboard-toolbar-accent);color:var(--color-white);border-color:var(--whiteboard-toolbar-accent)}.toolbar-bundle-arrow:disabled{opacity:.4;cursor:not-allowed}.toolbar-bundle-index-compact{font-size:var(--font-size-px-12);color:var(--whiteboard-toolbar-accent);text-align:center;flex:1;min-width:44px;font-weight:700}.toolbar-lesson-btn{margin-top:var(--space-xs);background:linear-gradient(135deg,var(--color-toolbar-lesson-start),var(--color-toolbar-lesson-end));color:var(--color-white);border-color:var(--color-violet-500);grid-column:1/-1}.toolbar-lesson-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-violet-500),var(--color-feedback-primary));transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf659}.toolbar-lesson-btn:disabled{opacity:.7;cursor:wait}.toolbar-lesson-btn.success{background:linear-gradient(135deg,var(--color-green-500),var(--canon-success));border-color:var(--canon-success)}.toolbar-subtle{font-size:var(--font-size-px-12);color:var(--light-tertiary-text);letter-spacing:.2px}.toolbar-section{border-top:var(--border-width-1)solid var(--borders-dividers);padding-top:var(--space-md);gap:var(--space-10);flex-direction:column;display:flex}.toolbar-section:first-of-type{border-top:none;padding-top:0}.toolbar-section-heading{font-weight:700;font-size:var(--font-size-px-12);color:var(--light-tertiary-text);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.toolbar-subtext{font-size:var(--font-size-px-10);color:var(--light-tertiary-text)}.toolbar-chip-row{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.toolbar-tool-stack{gap:var(--space-xs);flex-direction:column;display:flex}.toolbar-tool-stack .reusable-button-small{text-align:left;padding:var(--space-6)var(--space-10);border-radius:var(--radius-16);font-size:var(--font-size-px-12);min-height:28px}.toolbar-tool-stack .reusable-button-small:hover:not(:disabled){background-color:#3b5998}.toolbar-pill{border:var(--border-width-1)solid var(--whiteboard-toolbar-border);background:var(--color-white);color:var(--light-secondary-text);box-shadow:0 2px 8px var(--color-black-a05);border-radius:999px;font-weight:600;transition:all .18s}.toolbar-pill.is-active{background:var(--whiteboard-toolbar-accent);color:var(--color-white);border-color:var(--whiteboard-toolbar-accent);box-shadow:0 10px 24px #2563eb40}.toolbar-thickness{position:relative}.toolbar-thickness-trigger{width:100%;padding:var(--space-6)var(--space-sm);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--mild-border-radius);background:var(--light-primary-bg);color:var(--light-secondary-text);font-weight:600;font-size:var(--font-size-px-12);cursor:pointer;justify-content:space-between;align-items:center;transition:border-color .15s;display:flex}.toolbar-thickness-trigger:hover{border-color:var(--whiteboard-toolbar-accent)}.toolbar-thickness-popup{margin-left:var(--space-sm);background:var(--color-white);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--mild-border-radius);padding:var(--space-md);z-index:10000;min-width:160px;position:absolute;top:0;left:100%;box-shadow:0 8px 24px #0000001f}.toolbar-thickness-popup-header{font-size:var(--font-size-px-12);color:var(--light-tertiary-text);margin-bottom:var(--space-sm)}.toolbar-thickness-controls{align-items:center;gap:var(--space-sm);display:flex}.toolbar-mini-button{padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-6);font-size:var(--font-size-px-12);min-width:28px}.toolbar-thickness-rail{height:var(--space-6);background:#2563eb26;border-radius:999px;flex:1;overflow:hidden}.toolbar-thickness-fill{width:var(--toolbar-thickness-fill-width,0%);background:linear-gradient(90deg,var(--whiteboard-toolbar-accent),var(--color-green-600));border-radius:999px;height:100%}.toolbar-actions-grid{gap:var(--space-xs);flex-direction:column;display:flex}.toolbar-undo-redo-row{gap:var(--space-xs);display:flex}.toolbar-undo-redo-row .toolbar-button{min-width:0;padding:var(--space-6)var(--space-xs);font-size:var(--font-size-px-14);flex:1}.toolbar-button{border-radius:var(--mild-border-radius);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);background:var(--light-primary-bg);width:100%;color:var(--light-secondary-text);font-weight:600;font-size:var(--font-size-px-12);padding:var(--space-6)var(--space-sm);min-height:28px;box-shadow:0 4px 12px #0000000f}.toolbar-button:hover:not(:disabled){background:var(--whiteboard-toolbar-accent);color:var(--color-white);border-color:var(--whiteboard-toolbar-accent)}.toolbar-button.secondary{color:#312e81;background:#eef2ff;border-color:#c7d2fe}.toolbar-button.success{background:var(--color-green-600);color:var(--color-white);border-color:var(--color-green-600)}.toolbar-button.success:hover:not(:disabled){background:var(--canon-success)}.toolbar-button.toolbar-button--assess-prominent{min-height:40px;font-size:var(--font-size-px-14);padding:var(--space-10)var(--space-sm);font-weight:700}.toolbar-button.toolbar-button--assess-prominent.success{background:var(--canon-success);border-color:var(--canon-success);box-shadow:0 6px 14px #0000000f}.toolbar-button.toolbar-button--assess-prominent.success:hover:not(:disabled){background:var(--color-green-600);border-color:var(--color-green-600)}.toolbar-button.primary{background:var(--whiteboard-toolbar-accent);color:var(--color-white);border-color:var(--whiteboard-toolbar-accent)}.toolbar-button.primary:hover:not(:disabled){background:var(--color-blue-700)}.toolbar-button.warning{background:var(--sem-warning);color:var(--color-white);border-color:var(--color-amber-warm-500)}.toolbar-button.warning:hover:not(:disabled){background:var(--color-amber-warm-500)}.toolbar-toggle-row{padding:var(--space-10)var(--space-md);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--mild-border-radius);background:#f8fafc;justify-content:space-between;align-items:center;display:flex}.toolbar-placeholder{border:var(--border-width-1)dashed var(--whiteboard-toolbar-border);height:100%;color:var(--light-tertiary-text);border-radius:var(--mild-border-radius);font-size:var(--font-size-px-12);place-items:center;display:grid}.toolbar-status-line{font-size:var(--font-size-px-12);color:var(--light-tertiary-text);text-align:right}.toolbar-alert{margin-top:var(--space-6);padding:var(--space-10)var(--space-md);border:var(--border-width-1)solid #fecdd3;color:#b91c1c;border-radius:var(--mild-border-radius);font-size:var(--font-size-px-12);background:#fff1f2}.toolbar-settings-btn{width:var(--space-2xl);height:var(--space-2xl);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--radius-50);background:var(--light-primary-bg);cursor:pointer;opacity:.6;justify-content:center;align-items:center;margin:auto auto 0;padding:0;transition:opacity .15s,transform .15s;display:flex}.toolbar-settings-btn:hover{opacity:1;transform:scale(1.1)}.toolbar-settings-btn img{opacity:.7}.toolbar-notes-btn{margin-top:var(--space-sm);font-weight:600;border-color:var(--accent-gold)!important;color:#8a6d00!important;background:#fffef0!important}.toolbar-notes-btn:hover{background:#fff9d4!important;border-color:#d4c88c!important}.toolbar-notes-btn.active{border-color:var(--accent-gold)!important;color:#8a6d00!important;background:#fff3b8!important}.whiteboard-toolbar{transition:width .2s ease-out}.whiteboard-toolbar--collapsed{width:var(--space-50);margin-right:var(--space-sm)}.whiteboard-toolbar-card--collapsed{padding:var(--space-sm);align-items:center;gap:var(--space-md);flex-direction:column;min-height:280px;display:flex}.toolbar-collapse-toggle{width:var(--space-2xl);height:var(--space-2xl);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--radius-6);background:var(--color-white);color:var(--light-secondary-text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,transform .15s;display:flex}.toolbar-collapse-toggle:hover{background:var(--color-toolbar-chip-bg);transform:scale(1.05)}.toolbar-collapse-toggle--expanded{margin-right:auto}.toolbar-collapse-icon{font-size:var(--font-size-px-10);line-height:1}.toolbar-quick-actions{gap:var(--space-sm);flex-direction:column;display:flex}.toolbar-quick-btn{width:var(--space-2xl);height:var(--space-2xl);border:var(--border-width-1)solid var(--whiteboard-toolbar-border);border-radius:var(--radius-6);background:var(--color-white);color:var(--light-secondary-text);font-weight:600;font-size:var(--font-size-px-12);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.toolbar-quick-btn:hover{background:var(--color-toolbar-chip-bg);border-color:var(--whiteboard-toolbar-accent)}.toolbar-quick-btn.active{background:var(--whiteboard-toolbar-accent);color:var(--color-white);border-color:var(--whiteboard-toolbar-accent)}.toolbar-quick-btn--assess{margin-top:auto}.toolbar-quick-btn--assess.success{background:var(--color-green-600);color:var(--color-white);border-color:var(--color-green-600)}.toolbar-quick-btn--assess.warning{background:var(--sem-warning);color:var(--color-white);border-color:var(--color-amber-warm-500)}.toolbar-quick-btn--assess.primary{background:var(--whiteboard-toolbar-accent);color:var(--color-white);border-color:var(--whiteboard-toolbar-accent)}.toolbar-connection-status{flex-shrink:0;align-items:center;display:flex}.toolbar-chip--connected{padding:var(--space-xs)var(--space-10);border:var(--border-width-1)solid var(--color-green-500);color:var(--canon-success);font-size:var(--font-size-px-12);cursor:default;background:#22c55e1a;border-radius:999px;font-weight:600}.toolbar-chip--disconnected{padding:var(--space-xs)var(--space-10);border:var(--border-width-1)solid var(--color-danger-bright);color:var(--color-red-600);font-size:var(--font-size-px-12);cursor:pointer;background:#ef44441a;border-radius:999px;font-weight:600;transition:background .15s}.toolbar-chip--disconnected:hover{background:#ef444433}.toolbar-chip--share{padding:var(--space-xs)var(--space-sm);border:var(--border-width-1)solid var(--color-toolbar-lesson-start);color:var(--color-violet-500);font-size:var(--font-size-px-12);cursor:pointer;background:#8b5cf61a;border-radius:999px;flex-shrink:0;font-weight:600;transition:background .15s,transform .1s}.toolbar-chip--share:hover{background:#8b5cf633;transform:translateY(-1px)}.toolbar-chip--end{padding:var(--space-xs)var(--space-10);border:var(--border-width-1)solid var(--color-danger-bright);color:var(--color-red-600);font-size:var(--font-size-px-12);cursor:pointer;margin-left:var(--space-6);background:#ef44441a;border-radius:999px;font-weight:600;transition:background .15s,transform .1s}.toolbar-chip--end:hover:not(:disabled){background:#ef444433;transform:translateY(-1px)}.toolbar-chip--end:disabled{opacity:.7;cursor:wait}.toolbar-sync-chip{padding:var(--space-2)var(--space-sm);font-size:var(--font-size-px-10);cursor:default;white-space:nowrap;border-radius:999px;flex-shrink:0;margin-left:auto;font-weight:600}.toolbar-sync-chip--savedLocally{border:var(--border-width-1)solid var(--color-amber-warm-500);color:var(--color-toolbar-sync-saved-text);background:#d9770614}.toolbar-sync-chip--syncing{border:var(--border-width-1)solid var(--whiteboard-toolbar-accent);background:var(--color-toolbar-chip-bg);color:var(--color-blue-700);animation:1.5s ease-in-out infinite sync-pulse}.toolbar-sync-chip--retrying{border:var(--border-width-1)solid var(--color-amber-warm-500);color:var(--color-toolbar-sync-saved-text);background:#d9770614;animation:1.5s ease-in-out infinite sync-pulse}.toolbar-sync-chip--syncError{border:var(--border-width-1)solid var(--color-amber-warm-500);color:var(--color-toolbar-sync-saved-text);background:#d9770614}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.5}}.toolbar-sync-banner{padding:var(--space-xs)var(--space-10);font-size:var(--font-size-px-12);border-radius:var(--radius-4);margin:var(--space-2)0 var(--space-xs);font-weight:500}.toolbar-sync-banner--error{color:#b91c1c;border:var(--border-width-1)solid #dc262626;background:#dc26260f}.toolbar-avatars{flex-shrink:0;align-items:center;display:flex}.toolbar-avatar{width:var(--space-xl);height:var(--space-xl);border-radius:var(--radius-50);background:linear-gradient(135deg,var(--color-toolbar-lesson-start),var(--color-toolbar-lesson-end));color:var(--color-white);font-size:var(--font-size-px-12);border:var(--border-width-2)solid var(--color-white);cursor:default;justify-content:center;align-items:center;margin-left:-6px;font-weight:600;display:flex}.toolbar-avatar:first-child{margin-left:0}.toolbar-avatar--overflow{font-size:var(--font-size-px-10);background:#64748b}.toolbar-section--lesson{background:linear-gradient(135deg,var(--color-toolbar-lesson-bg-start),#ecfeff);border:var(--border-width-1)solid var(--color-green-300);border-radius:var(--mild-border-radius);padding:var(--space-sm);margin-bottom:var(--space-xs)}.toolbar-section-heading--lesson{align-items:center;gap:var(--space-6);color:var(--canon-success);display:flex}.toolbar-lesson-dot{width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-50);background:var(--color-green-500);animation:2s infinite pulse-lesson}@keyframes pulse-lesson{0%,to{opacity:1}50%{opacity:.5}}.toolbar-lesson-content{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.toolbar-lesson-status{font-size:var(--font-size-px-12);color:var(--canon-success);font-weight:600}.toolbar-lesson-online{color:var(--canon-success)}.toolbar-lesson-reconnect{padding:var(--space-xs)var(--space-sm);border:var(--border-width-1)solid #fca5a5;border-radius:var(--radius-4);background:var(--color-red-50);color:var(--color-red-600);font-size:var(--font-size-px-12);cursor:pointer}.toolbar-lesson-reconnect:hover{background:var(--color-red-100)}.toolbar-lesson-avatars{gap:var(--space-xs);flex-wrap:wrap;display:flex}.toolbar-lesson-avatar{width:var(--space-30);height:var(--space-30);border-radius:var(--radius-50);background:linear-gradient(135deg,var(--color-toolbar-lesson-start),var(--color-toolbar-lesson-end));color:var(--color-white);font-size:var(--font-size-px-12);border:var(--border-width-2)solid var(--color-white);box-shadow:0 1px 3px var(--color-black-a10);justify-content:center;align-items:center;font-weight:600;display:flex}.toolbar-lesson-avatar--overflow{font-size:var(--font-size-px-10);background:#64748b}.toolbar-lesson-share{font-weight:600;background:linear-gradient(135deg,#fbbf24,var(--sem-warning))!important;border-color:var(--color-amber-warm-500)!important;color:var(--color-white)!important}.toolbar-lesson-share:hover{background:linear-gradient(135deg,var(--sem-warning),var(--color-amber-warm-500))!important}@media (max-width:900px){.whiteboard-toolbar{width:100%;margin-left:0;margin-right:0}.whiteboard-toolbar--collapsed{width:100%}.whiteboard-toolbar-card--collapsed{flex-direction:row;justify-content:flex-start}.toolbar-quick-actions{flex-direction:row}.whiteboard-toolbar-card{position:relative;top:0}.toolbar-chip-row,.toolbar-bundle-controls{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.toolbar-thickness-popup{margin-left:0;margin-top:var(--space-sm);top:100%;left:0}}
.question-picker{background:var(--color-dark-text-fff);border-radius:var(--radius-12);padding:var(--space-lg);min-width:280px;max-width:320px;box-shadow:0 8px 32px #00000026}.question-picker-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.question-picker-header h3{font-size:var(--font-size-px-16);color:var(--light-primary-text);margin:0;font-weight:600}.question-picker-close{font-size:var(--font-size-px-20);color:var(--color-gray-450);cursor:pointer;padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-4);background:0 0;border:none;line-height:1}.question-picker-close:hover{background:var(--color-gray-100);color:var(--color-gray-750)}.question-picker-quick-actions{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.question-picker-quick-btn{padding:var(--space-10)var(--space-md);font-size:var(--font-size-px-14);color:var(--color-gray-750);background:var(--color-gray-warm-100);border:var(--border-width-1)solid var(--color-gray-200);border-radius:var(--radius-8);cursor:pointer;justify-content:space-between;align-items:center;font-weight:500;transition:all .15s;display:flex}.question-picker-quick-btn:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-250)}.question-picker-quick-btn:disabled{opacity:.5;cursor:not-allowed}.question-picker-badge{font-size:var(--font-size-px-12);padding:var(--space-2)var(--space-6);color:var(--whiteboard-toolbar-accent);background:#2563eb1a;border-radius:999px;font-weight:600}.question-picker-divider{height:var(--border-width-1);background:var(--color-gray-200);margin:var(--space-md)0}.question-picker-config{gap:var(--space-10);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.question-picker-option{gap:var(--space-xs);flex-direction:column;display:flex}.question-picker-option label{font-size:var(--font-size-px-12);color:var(--color-gray-550);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);font-weight:600}.question-picker-option select{padding:var(--space-sm)var(--space-10);font-size:var(--font-size-px-14);border:var(--border-width-1)solid var(--color-gray-250);border-radius:var(--radius-6);background:var(--color-dark-text-fff);color:var(--color-gray-750);cursor:pointer;transition:border-color .15s}.question-picker-option select:focus{border-color:var(--whiteboard-toolbar-accent);outline:none;box-shadow:0 0 0 2px #2563eb1a}.question-picker-primary-btn{width:100%;padding:var(--space-md);font-size:var(--font-size-px-14);color:var(--color-dark-text-fff);background:linear-gradient(135deg,var(--color-green-500),var(--color-green-600));border-radius:var(--radius-8);cursor:pointer;border:none;font-weight:600;transition:all .15s}.question-picker-primary-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-green-600),#15803d);transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d}.question-picker-primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.question-picker-hint{margin:var(--space-sm)0 0;font-size:var(--font-size-px-12);color:var(--color-gray-450);text-align:center}.toolbar-question-config-overlay{z-index:1000;background:var(--color-black-a30);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.question-picker-popup{z-index:100;position:absolute}.question-picker-popup--above{margin-bottom:var(--space-sm);bottom:100%}.question-picker-popup--below{margin-top:var(--space-sm);top:100%}.question-picker-popup--left{left:0}.question-picker-popup--center{left:50%;transform:translate(-50%)}.question-picker-popup--right{right:0}
.suggested-questions-panel{background:var(--sem-surface-sunken);border-radius:var(--radius-8);padding:var(--space-lg);margin-top:var(--space-lg)}.suggested-questions-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.suggested-questions-header h3{font-size:var(--font-size-base);color:var(--sem-text-primary);margin:0}.suggested-questions-buttons{gap:var(--space-sm);flex-wrap:wrap;display:flex}.generate-questions-btn{color:#fff;padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-size-sm);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;transition:opacity .2s}.generate-questions-btn:hover:not(:disabled){opacity:.9}.generate-questions-btn:disabled{opacity:.6;cursor:not-allowed}.generate-chemistry-btn{color:#fff;padding:var(--space-sm)var(--space-lg);border-radius:var(--radius-6);cursor:pointer;font-size:var(--font-size-sm);background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);border:none;font-weight:600;transition:opacity .2s}.generate-chemistry-btn:hover:not(:disabled){opacity:.9}.generate-chemistry-btn:disabled{opacity:.6;cursor:not-allowed}.suggested-questions-error{color:#c00;padding:var(--space-sm);border-radius:var(--radius-4);margin-bottom:var(--space-lg);font-size:var(--font-size-sm);background:#fee}.suggested-questions-reasoning{color:var(--sem-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-lg);padding:var(--space-sm);background:var(--sem-surface-sunken);border-radius:var(--radius-4)}.suggested-questions-empty{text-align:center;color:var(--sem-text-muted);padding:var(--space-2xl)var(--space-lg);font-style:italic}.suggested-questions-list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.suggested-question-card{background:var(--sem-surface-elevated);border:var(--border-width-1)solid var(--sem-border-default);border-radius:var(--radius-8);padding:var(--space-lg);transition:box-shadow .2s}.suggested-question-card:hover{box-shadow:0 2px 8px #0000001a}.suggested-question-text{font-size:var(--font-size-px-16);margin-bottom:var(--space-sm);line-height:1.5}.suggested-question-hint{font-size:var(--font-size-sm);color:var(--sem-text-muted);margin-bottom:var(--space-md)}.hint-label{color:var(--sem-action-accent);font-weight:600}.suggested-question-actions{gap:var(--space-sm);display:flex}.accept-question-btn,.dismiss-question-btn{padding:var(--space-6)var(--space-sm);border-radius:var(--radius-4);font-size:var(--font-size-sm);cursor:pointer;transition:background .2s}.accept-question-btn{background:var(--sem-success);color:#fff;border:none}.accept-question-btn:hover{background:#218838}.dismiss-question-btn{color:var(--sem-text-muted);border:var(--border-width-1)solid var(--sem-border-default);background:0 0}.dismiss-question-btn:hover{background:var(--sem-surface-sunken)}.suggested-question-spec-badges{gap:var(--space-6);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.spec-badge{padding:var(--space-3)var(--space-sm);font-size:var(--font-size-xs);background:linear-gradient(135deg,var(--color-green-light-100)0%,var(--color-green-light-200)100%);color:var(--goals-primary);border-radius:var(--radius-12);border:var(--border-width-1)solid var(--color-green-light-300);cursor:help;text-overflow:ellipsis;white-space:nowrap;max-width:200px;display:inline-block;overflow:hidden}
