.account-root{min-height:100vh;background:#f4f7f9;color:#193044;font-family:Inter,system-ui,sans-serif}.account-root *{box-sizing:border-box}.account-header{background:#fff;border-bottom:1px solid #dce5eb;padding:20px max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.account-brand{font-weight:800;font-size:22px;color:#123c50;text-decoration:none}.account-header nav{display:flex;gap:20px;align-items:center}.account-root a{color:#096a65}.account-main{max-width:1160px;margin:auto;padding:38px 24px 70px}.account-main h1{font-size:clamp(28px,4vw,40px);letter-spacing:-1px;margin:0 0 10px}.account-main h2{font-size:23px;margin:0 0 10px}.account-main p{line-height:1.65}.account-muted{color:#526878}.account-tabs{display:flex;gap:8px;margin:28px 0;flex-wrap:wrap}.account-tabs a{padding:12px 18px;border-radius:10px;text-decoration:none;background:#fff;border:1px solid #dce5eb}.account-tabs a[aria-current=page]{background:#096a65;color:#fff;border-color:#096a65}.account-section{margin:30px 0}.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}.account-card{background:#fff;border:1px solid #dce5eb;border-radius:16px;padding:23px;display:flex;flex-direction:column;gap:12px;min-width:0}.account-card h3{margin:0;font-size:20px}.account-card p{margin:0}.account-card.active{border-top:4px solid #0b8075}.account-symbol{font-size:26px}.account-badge{display:inline-block;align-self:flex-start;padding:5px 9px;border-radius:6px;background:#e6f5f0;color:#146653;font-size:12px;font-weight:700}.account-badge.demo{background:#edf1f6;color:#405b71}.account-button,.account-root a.account-button{display:inline-flex;align-items:center;justify-content:center;background:#096a65;color:#fff;border:1px solid #096a65;border-radius:9px;padding:12px 18px;text-decoration:none;font:inherit;font-weight:650;cursor:pointer;min-height:44px}.account-button.secondary{background:#fff!important;color:#096a65!important;border:1px solid #bdcfd7}.account-button:disabled{opacity:.55;cursor:wait}.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.account-filters{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.account-filters label{flex:1;min-width:180px;font-size:13px;font-weight:650}.account-filters input,.account-filters select{display:block;width:100%;margin-top:7px;border:1px solid #b9cbd6;border-radius:9px;padding:13px;background:#fff;color:#193044;font:inherit}.account-note{padding:18px 22px;background:#e8f2f5;border-radius:12px;line-height:1.6}.account-error{padding:16px;background:#fff0ed;color:#8d2b1d;border-radius:10px}.account-root :focus-visible,.app-workspace-nav :focus-visible{outline:3px solid #d48814;outline-offset:3px}.account-card progress{width:100%;height:8px;accent-color:#096a65}.account-login{max-width:620px;margin:5vh auto;text-align:center}.account-details{display:grid;grid-template-columns:140px 1fr;gap:12px;overflow-wrap:anywhere}.account-details dt{color:#526878}.account-details dd{margin:0}.account-subtle{background:none;border:0;color:#526878;font:inherit;cursor:pointer}.app-workspace-nav{display:flex;align-items:center;gap:18px;padding:12px 24px;background:#f4f8fa;border-bottom:1px solid #d7e2e8;font:14px Inter,system-ui,sans-serif;flex-wrap:wrap}.app-workspace-nav a{color:#096a65;font-weight:700;text-decoration:none}.app-workspace-nav>span{color:#526878}.app-workspace-nav label{margin-left:auto;display:flex;gap:8px;align-items:center}.app-workspace-nav select{padding:8px;border:1px solid #bfd0d9;border-radius:7px;background:#fff;color:#193044;max-width:240px}.account-auth-page .reg-modal-backdrop{position:static;background:transparent;min-height:0;padding:0}.account-auth-page .reg-modal{width:100%;max-height:none;box-shadow:none;border:1px solid #dce5eb}.account-auth-page .reg-modal-close{display:none}.account-user-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 5px;background:#f0f5f7;border:1px solid #dce5eb;border-radius:20px;font-size:12px;font-weight:600;color:#123c50}.account-user-chip img{border-radius:50%;object-fit:cover}.account-user-chip .account-user-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.account-header{padding:18px;align-items:flex-start}.account-header nav{gap:12px;font-size:13px;flex-wrap:wrap;justify-content:flex-end}.account-main{padding:28px 16px}.account-tabs a{padding:11px;font-size:13px}.account-details{grid-template-columns:1fr}.app-workspace-nav{padding:12px}.app-workspace-nav label{width:100%;margin:0}}@media print{.app-workspace-nav{display:none!important}}html,:root{scrollbar-gutter:stable}:root{--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-serif: "Playfair Display", serif;--bg-top-bar: #1d4ed8;--text-top-bar: #ffffff;--bg-header-banner: #0f172a;--text-header-title: #ffffff;--text-header-by: #93c5fd;--text-header-sub: #94a3b8;--bg-app: #edf2f7;--bg-card: #ffffff;--bg-card-secondary: #f8fafc;--bg-input: #ffffff;--border-color: #cbd5e1;--border-light: #e2e8f0;--border-focus: #2563eb;--text-main: #0f172a;--text-title: #0a192f;--text-muted: #64748b;--text-dim: #94a3b8;--accent-orange: #f59e0b;--accent-blue: #2563eb;--accent-blue-hover: #1d4ed8;--accent-blue-light: #eff6ff;--accent-blue-border: #bfdbfe;--accent-crimson: #dc2626;--accent-crimson-hover: #b91c1c;--accent-gold: #d97706;--btn-dark: #0f172a;--btn-dark-hover: #1e293b;--btn-green: #059669;--btn-green-hover: #047857;--btn-gray: #64748b;--btn-gray-hover: #475569;--card-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}[data-theme=studio-scuro]{--bg-top-bar: #1e293b;--text-top-bar: #cbd5e1;--bg-header-banner: #0b0f19;--bg-app: #090d16;--bg-card: #111827;--bg-card-secondary: #1a2234;--bg-input: #0c121e;--border-color: #233044;--border-light: #1c2738;--border-focus: #3b82f6;--text-main: #f8fafc;--text-title: #f1f5f9;--text-muted: #94a3b8;--text-dim: #64748b;--accent-blue: #3b82f6;--accent-blue-hover: #2563eb;--accent-blue-light: rgba(59, 130, 246, .15);--accent-blue-border: #3b82f6}[data-theme=studio-chiaro]{--bg-top-bar: #2563eb;--text-top-bar: #ffffff;--bg-header-banner: #1e3a8a;--bg-app: #f1f5f9;--bg-card: #ffffff;--bg-card-secondary: #f8fafc;--bg-input: #ffffff;--border-color: #cbd5e1;--border-light: #e2e8f0;--border-focus: #1d4ed8;--text-main: #1e293b;--text-title: #0f172a;--text-muted: #475569;--text-dim: #64748b;--accent-blue: #1d4ed8;--accent-blue-hover: #1e40af;--accent-blue-light: #eff6ff;--accent-blue-border: #bfdbfe}[data-theme=alto-contrasto]{--bg-top-bar: #000000;--text-top-bar: #ffffff;--bg-header-banner: #000000;--bg-app: #000000;--bg-card: #121212;--bg-card-secondary: #1e1e1e;--bg-input: #000000;--border-color: #ffffff;--border-light: #e5e7eb;--border-focus: #facc15;--text-main: #ffffff;--text-title: #facc15;--text-muted: #f3f4f6;--text-dim: #d1d5db;--accent-blue: #facc15;--accent-blue-hover: #eab308;--accent-blue-light: rgba(250, 204, 21, .2);--accent-blue-border: #ffffff}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);min-height:100vh;display:flex;flex-direction:column}.app-root{display:flex;flex-direction:column;min-height:100vh}.app-header-banner{background-color:var(--bg-header-banner);padding:.65rem 1.75rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:2px solid var(--border-color);box-shadow:0 4px 12px #0000001a;position:sticky;top:0;z-index:100;min-height:64px;height:auto;box-sizing:border-box}.banner-left{display:flex;flex-direction:column;gap:.2rem;flex-shrink:0;min-width:0}.banner-title-line{display:flex;align-items:baseline;gap:.75rem;white-space:nowrap}.banner-title-text{font-size:1.35rem;font-weight:800;color:var(--text-header-title);letter-spacing:-.02em;white-space:nowrap}.banner-by-text{font-size:.8rem;font-weight:600;color:var(--text-header-by);white-space:nowrap;flex-shrink:0}.banner-subtitle-text{font-size:.825rem;color:var(--text-header-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:540px}.header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end;min-width:0}.header-dropdown-wrap,.header-user-menu{position:relative;display:inline-flex;align-items:center}.header-combo-btn{display:inline-flex;align-items:center;gap:.5rem;height:36px;padding:0 .85rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.header-combo-btn:hover,.header-combo-btn.active{background:#ffffff2e;border-color:#ffffff59}.header-combo-caret{font-size:.7rem;opacity:.8;margin-left:2px;transition:transform .2s ease}.header-combo-btn.active .header-combo-caret,.header-user-badge-btn.active .header-combo-caret{transform:rotate(180deg)}.header-user-badge-btn{display:inline-flex;align-items:center;gap:.5rem;height:36px;padding:0 .75rem 0 .35rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#fff;cursor:pointer;transition:all .15s ease;white-space:nowrap}.header-user-badge-btn:hover,.header-user-badge-btn.active{background:#ffffff2e;border-color:#fff6}.user-badge-avatar{width:26px!important;height:26px!important;border-radius:50%!important;object-fit:cover!important;display:block!important;flex-shrink:0!important}.user-badge-initial{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--teal-dark, #0b7d70);color:#fff;font-weight:700;font-size:.75rem;flex-shrink:0}.user-badge-name{font-size:.8rem;font-weight:700;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-badge-quota{background:#f59e0b40;border:1px solid rgba(245,158,11,.5);color:#fef08a;padding:1px 7px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em}.header-dropdown-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;background:#0f172a;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:6px;box-shadow:0 16px 40px #00000080,0 0 0 1px #ffffff0f;z-index:1200;animation:headerDropdownFade .15s ease-out}.header-dropdown-panel.resources-dropdown{min-width:320px}@keyframes headerDropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-header{padding:10px 12px 8px;display:flex;flex-direction:column;gap:2px}.dropdown-user-header strong{color:#fff;font-size:.85rem;font-weight:700}.dropdown-user-header small{color:#94a3b8;font-size:.75rem;word-break:break-all}.dropdown-sub-status{margin-top:6px;padding:4px 8px;border-radius:6px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);color:#fef08a;display:flex;justify-content:space-between;align-items:center;font-size:.72rem}.dropdown-sub-status b{color:#fff}.header-dropdown-divider{height:1px;background:#ffffff1a;margin:6px 0}.header-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:#e2e8f0;text-align:left;cursor:pointer;text-decoration:none;font-family:inherit;transition:all .12s ease;box-sizing:border-box}.header-dropdown-item:hover{background:#ffffff1a;color:#fff}.header-dropdown-item.logout:hover{background:#ef44442e}.dropdown-item-icon{font-size:1.15rem;line-height:1;flex-shrink:0}.dropdown-item-content{display:flex;flex-direction:column;gap:1px;min-width:0}.dropdown-item-content strong{font-size:.8rem;font-weight:700;color:inherit;line-height:1.25}.dropdown-item-content small{font-size:.7rem;color:#94a3b8;line-height:1.3}.app-google-auth.google-auth-button{height:36px;padding:0 .85rem;border-color:#fff3;border-radius:8px;color:#fff;background:#ffffff1a;box-shadow:none;font-size:.78rem;box-sizing:border-box}.app-google-auth.google-auth-button:hover{background:#ffffff2b;box-shadow:none}.google-user-chip,.app-google-auth.google-user-chip{display:inline-flex;align-items:center;gap:8px;padding:0 10px 0 4px;border-radius:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);font-size:.78rem;color:#fff;height:36px;box-sizing:border-box}.google-user-chip img,.google-user-avatar,.app-google-auth.google-user-chip img{width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important;border-radius:50%!important;object-fit:cover!important;display:block!important;flex-shrink:0!important}.google-user-initial{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--teal-dark, #0b7d70);color:#fff;font-weight:700;font-size:.72rem;flex-shrink:0}.google-user-name,.app-google-auth .google-user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;color:#fff;line-height:1}.google-user-chip button,.app-google-auth.google-user-chip button{background:transparent;border:none;border-left:1px solid rgba(255,255,255,.22);padding:2px 0 2px 8px;margin-left:2px;color:#ffffffbf;font-size:.72rem;font-weight:600;cursor:pointer;transition:color .2s ease;line-height:1}.google-user-chip button:hover,.app-google-auth.google-user-chip button:hover{color:#f87171}.app-google-auth.google-auth-loading{color:#fff}.status-badge{display:flex;align-items:center;gap:.4rem;padding:.35rem .65rem;background:#ffffff14;border-radius:9999px;font-size:.75rem;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.12)}.status-dot{width:8px;height:8px;border-radius:50%;background-color:#ef4444}.status-dot.connected,.status-dot.online{background-color:#10b981;box-shadow:0 0 8px #10b981}.status-dot.connecting{background-color:#f59e0b}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:0 .85rem;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap;box-sizing:border-box}.tool-btn:hover{background:#ffffff2e;border-color:#ffffff4d}.theme-select{height:36px;padding:0 .75rem;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;outline:none;white-space:nowrap;box-sizing:border-box}.theme-select option{background:#0f172a;color:#fff}.header-btn-action{display:inline-flex;align-items:center;gap:.45rem;height:36px;padding:0 .85rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .18s ease;white-space:nowrap;box-sizing:border-box}.header-btn-action:hover:not(:disabled){background:#ffffff38;border-color:#fff6;transform:translateY(-1px)}.header-btn-action:disabled{opacity:.45;cursor:not-allowed}.header-btn-action.save-btn{background:linear-gradient(135deg,#10b981,#059669);border-color:#34d399;box-shadow:0 2px 6px #10b98159}.header-btn-action.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 3px 8px #10b98173}.header-btn-action.archive-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#60a5fa;box-shadow:0 2px 6px #2563eb59}.header-btn-action.archive-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 3px 8px #2563eb73}.header-badge-count{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#1e3a8a;font-size:.7rem;font-weight:800;min-width:18px;height:18px;padding:0 4px;border-radius:9px;margin-left:2px}.hub-btn-save-quick{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.82rem;font-weight:700;border-radius:7px;border:1px solid #10b981;background:#ecfdf5;color:#065f46;cursor:pointer;transition:all .15s ease}.hub-btn-save-quick:hover:not(:disabled){background:#10b981;color:#fff;box-shadow:0 2px 8px #10b9814d}.hub-btn-save-quick:disabled{opacity:.5;cursor:not-allowed}.hub-btn-archive{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.82rem;font-weight:700;border-radius:7px;border:1px solid #cbd5e1;background:#f8fafc;color:#1e293b;cursor:pointer;transition:all .15s ease}.hub-btn-archive:hover{background:#e2e8f0;border-color:#94a3b8}.history-btn-group{display:inline-flex;align-items:center;gap:2px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:2px}.btn-history-step{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;font-size:1rem;font-weight:700;cursor:pointer;color:#334155;transition:background .15s}.btn-history-step:hover:not(:disabled){background:#e2e8f0}.btn-history-step:disabled{opacity:.35;cursor:not-allowed}.main-layout{display:grid;grid-template-columns:460px 1fr;gap:1.5rem;padding:1.5rem 1.75rem;max-width:1720px;margin:0 auto;width:100%}@media(max-width:1150px){.main-layout{grid-template-columns:1fr}}.sidebar-panel{display:flex;flex-direction:column;gap:1.15rem}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem;box-shadow:var(--card-shadow)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-light)}.card-title{font-size:.9rem;font-weight:700;color:var(--text-title);text-transform:uppercase;letter-spacing:.04em}.track-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.track-tab{padding:.55rem .65rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.775rem;font-weight:600;color:var(--text-muted);cursor:pointer;text-align:left;transition:all .15s ease}.track-tab:hover{background:var(--accent-blue-light);border-color:var(--accent-blue-border);color:var(--accent-blue)}.track-tab.active{background:var(--accent-blue-light);border-color:var(--accent-blue);color:var(--accent-blue);font-weight:700}.year-filter-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.year-tab-btn{flex:1;min-width:60px;padding:.4rem .5rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);border-radius:5px;font-size:.75rem;font-weight:600;color:var(--text-muted);cursor:pointer;text-align:center;transition:all .15s ease}.year-tab-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.year-tab-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;font-weight:700}.topics-actions{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.65rem}.search-input{width:100%;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;color:var(--text-main);outline:none}.search-input:focus{border-color:var(--accent-blue)}.batch-buttons{display:flex;gap:.4rem}.btn-secondary-sm{padding:.3rem .6rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);border-radius:5px;font-size:.725rem;font-weight:600;color:var(--text-muted);cursor:pointer}.btn-secondary-sm:hover{background:var(--border-light);color:var(--text-main)}.topics-scroll-list{max-height:290px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;padding-right:.25rem}.topic-item{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem .65rem;background:var(--bg-card-secondary);border:1px solid var(--border-light);border-radius:6px;cursor:pointer;transition:all .12s ease}.topic-item:hover{border-color:var(--accent-blue-border);background:var(--accent-blue-light)}.topic-item.selected{border-color:var(--accent-blue);background:var(--accent-blue-light)}.topic-checkbox{margin-top:.2rem;accent-color:var(--accent-blue);cursor:pointer}.topic-info{display:flex;flex-direction:column;gap:.15rem;flex:1}.topic-meta-line{display:flex;align-items:center;gap:.35rem}.badge-year{font-size:.675rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;background:var(--accent-blue);color:#fff}.badge-period{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:4px}.badge-period-trimestre{background:#0284c7;color:#fff}.badge-period-pentamestre{background:#d97706;color:#fff}.badge-timing{font-size:.65rem;font-weight:600;padding:.1rem .35rem;border-radius:4px;background:#0f172a12;color:var(--text-muted)}.badge-minima{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;background:#16a34a;color:#fff}.prof-curriculum-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0 .65rem;padding:.45rem .6rem;background:#0d94880f;border:1px solid rgba(13,148,136,.2);border-radius:6px}.period-filter-tabs{display:flex;gap:.3rem}.period-tab-btn{font-size:.72rem;font-weight:600;padding:.25rem .55rem;border-radius:4px;border:1px solid #cbd5e1;background:#fff;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.period-tab-btn:hover{background:#f1f5f9;color:var(--text-main)}.period-tab-btn.active{background:#0d9488;border-color:#0d9488;color:#fff;font-weight:700}.btn-minima-toggle{font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:4px;border:1px solid #16a34a;background:#fff;color:#16a34a;cursor:pointer;transition:all .15s ease;margin-left:auto}.btn-minima-toggle:hover{background:#16a34a14}.btn-minima-toggle.active{background:#16a34a;color:#fff;font-weight:700}.topic-category{font-size:.7rem;font-weight:600;color:var(--text-muted)}.topic-title{font-size:.8rem;font-weight:600;color:var(--text-main);line-height:1.25}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-size:.75rem;font-weight:600;color:var(--text-muted)}.form-select,.form-input{padding:.45rem .6rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;color:var(--text-main);outline:none}.form-select:focus,.form-input:focus{border-color:var(--accent-blue)}.seed-row{display:flex;gap:.35rem}.seed-row input{flex:1}.action-buttons-group{display:flex;flex-direction:column;gap:.5rem}.btn-primary{padding:.75rem 1rem;background:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:.5rem;box-shadow:0 2px 6px #2563eb40;transition:all .15s ease}.btn-primary:hover{background:var(--accent-blue-hover);box-shadow:0 4px 12px #2563eb59}.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.btn-secondary{padding:.6rem .75rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;font-size:.775rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:all .15s ease}.btn-secondary:hover{background:var(--border-light);border-color:var(--border-focus)}.preview-panel{display:flex;flex-direction:column;gap:1.15rem}.unified-action-hub{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:.75rem 1rem;box-shadow:0 4px 14px #0000000d;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.hub-group-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.hub-btn-preview{padding:.5rem .95rem;background:var(--accent-blue);border:1px solid var(--accent-blue);color:#fff;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 2px 5px #2563eb40;transition:all .15s ease}.hub-btn-preview:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 8px #2563eb59}.hub-btn-preview:disabled{opacity:.5;cursor:not-allowed}.hub-btn-dice-standalone{padding:.5rem .95rem;background:var(--accent-blue-light);border:1px solid var(--accent-blue-border);color:var(--accent-blue);border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .15s ease}.hub-btn-dice-standalone:hover:not(:disabled){background:var(--accent-blue);color:#fff;box-shadow:0 2px 6px #2563eb4d}.hub-btn-dice-standalone:disabled{opacity:.5;cursor:not-allowed}.hub-seed-pill{display:flex;align-items:center;gap:.4rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.25rem .5rem}.hub-pill-label{font-size:.75rem;font-weight:700;color:var(--text-muted)}.hub-seed-input{width:80px;padding:.25rem .4rem;border:1px solid var(--border-color);border-radius:5px;font-size:.8rem;font-weight:700;background:var(--bg-input);color:var(--text-main)}.hub-btn-dice{padding:.35rem .65rem;background:var(--accent-blue-light);border:1px solid var(--accent-blue-border);color:var(--accent-blue);border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:all .15s ease}.hub-btn-dice:hover{background:var(--accent-blue);color:#fff}.hub-btn-edit{padding:.45rem .85rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .15s ease}.hub-btn-edit:hover{border-color:var(--accent-orange);background:var(--border-light)}.hub-btn-edit.active{background:#fef3c7;border-color:#f59e0b;color:#92400e;box-shadow:0 0 0 2px #f59e0b33}.hub-group-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.hub-btn-generate-complete{padding:.55rem 1.1rem;background:#059669;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 2px 6px #05966940;transition:all .15s ease}.hub-btn-generate-complete:hover{background:#047857;transform:translateY(-1px);box-shadow:0 4px 12px #05966959}.hub-btn-generate-separate{padding:.55rem .95rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.825rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 2px 6px #2563eb33;transition:all .15s ease}.hub-btn-generate-separate:hover{background:#1d4ed8;transform:translateY(-1px)}.hub-btn-folder{padding:.55rem .85rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;font-size:.825rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .15s ease}.hub-btn-folder:hover{background:var(--border-light);border-color:var(--border-focus)}.paper-exercise-item.editing-active{border:2px dashed var(--accent-orange);background:#f59e0b0a;padding:1.25rem;border-radius:10px;margin-bottom:1.5rem;box-shadow:0 4px 14px #f59e0b14}.math-inline-editor-card{position:relative;background:#fff;border:1.5px solid var(--border-color, #cbd5e1);border-radius:8px;padding:8px 12px 10px;margin:8px 0 10px;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.math-inline-editor-card:hover{border-color:#94a3b8}.math-inline-editor-card.focused{border-color:var(--accent-blue, #2563eb);box-shadow:0 0 0 3px #2563eb26}.math-inline-editor-card.solution{border-color:#86efac;background:#fcfdfc;margin-top:10px}.math-inline-editor-card.solution.focused{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.math-inline-editor-card.help{border-color:#fde047;background:#fffdf5;margin-top:10px}.math-inline-editor-card.help.focused{border-color:#eab308;box-shadow:0 0 0 3px #eab30826}.math-inline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-light, #f1f5f9)}.math-inline-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #64748b);padding:2px 6px;border-radius:4px;background:var(--bg-card-secondary, #f1f5f9)}.math-inline-tag.solution{color:#15803d;background:#dcfce7}.math-inline-tag.help{color:#a16207;background:#fef9c3}.math-inline-tools{display:flex;align-items:center;gap:3px;margin-left:auto}.math-inline-tools button{min-width:26px;height:24px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color, #e2e8f0);background:#fff;border-radius:4px;font-size:.75rem;color:var(--text-main, #334155);cursor:pointer;transition:all .15s ease}.math-inline-tools button:hover{background:var(--border-light, #f1f5f9);border-color:var(--border-focus, #cbd5e1);color:#0f172a}.math-inline-textarea{width:100%;border:none;background:transparent;padding:0;margin:0;font-family:inherit;font-size:.95rem;line-height:1.65;color:var(--text-main, #1e293b);resize:none;outline:none;overflow:hidden;box-sizing:border-box}.math-inline-textarea::placeholder{color:var(--text-muted, #94a3b8);font-style:italic}.math-inline-view{font-size:.95rem;line-height:1.7;color:inherit}.math-solution-block{margin-top:.75rem;padding:.65rem .85rem;background:#f0fdf4;border-left:3px solid #22c55e;border-radius:4px;color:#166534}.math-help-block{margin-top:.75rem;padding:.65rem .85rem;background:#fefce8;border-left:3px solid #eab308;border-radius:4px;color:#854d0e}.formatted-math-content{font-size:.95rem;line-height:1.7;color:inherit;overflow-wrap:break-word}.formatted-math-content .katex{font-size:1.06em;line-height:1.25;text-indent:0;text-rendering:auto}.formatted-math-content .katex-display{display:block;margin:.85em 0;padding:.25rem .5rem;overflow-x:auto;overflow-y:visible;text-align:center}.formatted-math-content .katex-error{color:#dc2626;background:#fee2e2;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:.85em}.preview-nav-bar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.6rem .85rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px}.preview-tabs-group{display:flex;gap:.35rem}.preview-tab-btn{padding:.4rem .75rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.775rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.preview-tab-btn:hover{color:var(--text-main);border-color:var(--accent-blue)}.preview-tab-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;font-weight:700}.variant-selector-group{display:flex;align-items:center;gap:.35rem}.variant-label{font-size:.75rem;font-weight:700;color:var(--text-muted);margin-right:.25rem}.variant-btn{padding:.35rem .65rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);border-radius:5px;font-size:.75rem;font-weight:700;color:var(--text-main);cursor:pointer}.variant-btn.active{background:#3b82f6;border-color:#2563eb;color:#fff}.btn-preview-quick{width:100%;padding:.6rem .85rem;background:var(--accent-blue);color:#fff;border:none;border-radius:6px;font-size:.825rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.5rem;box-shadow:0 2px 4px #2563eb33;transition:all .15s ease}.btn-preview-quick:hover{background:var(--accent-blue-hover);box-shadow:0 3px 8px #2563eb4d}.bottom-approval-card{margin-top:1.5rem;background:#f8fafc;border:2px dashed #94a3b8;border-radius:8px;padding:1.25rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.bottom-approval-title{font-size:.95rem;font-weight:800;color:#1e293b}.bottom-approval-desc{font-size:.8rem;color:#64748b;max-width:550px}.exercise-help-box{margin-top:.5rem;padding:.55rem .75rem;background:#fefce8;border-left:3px solid #eab308;border-radius:4px;font-size:.825rem;color:#854d0e}.exercise-help-box strong,.exercise-solution-box strong{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.2rem}.paper-container{background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 16px #00000014;padding:2.5rem 3rem;min-height:1060px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;position:relative}.paper-header{border-bottom:2px solid #111827;padding-bottom:1rem;margin-bottom:1.25rem}.paper-school-row{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.5rem}.paper-title{font-size:1.35rem;font-weight:800;color:#111827;text-align:center;margin:.75rem 0 .5rem;text-transform:uppercase;letter-spacing:.02em}.paper-student-row{display:flex;justify-content:space-between;gap:2rem;margin-top:1rem;font-size:.875rem;font-weight:600}.student-field-line{flex:1;border-bottom:1px solid #4b5563;padding-bottom:.15rem}.paper-instruction{font-size:.8rem;font-style:italic;color:#4b5563;margin-bottom:1.25rem;padding:.4rem .65rem;background:#f3f4f6;border-left:3px solid #2563eb}.preview-points-summary-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:.65rem 1rem;margin-bottom:1.25rem}.points-total-pill{display:flex;align-items:center;gap:.65rem;font-size:.85rem;font-weight:700;padding:.3rem .75rem;border-radius:6px}.points-total-pill.valid{background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7}.points-total-pill.warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.points-status-ok{font-size:.75rem;color:#059669;font-weight:800}.points-status-diff{font-size:.75rem;color:#b45309;font-weight:800}.btn-rebalance-pts{padding:.35rem .85rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.775rem;font-weight:700;cursor:pointer;box-shadow:0 1px 3px #2563eb40;transition:all .15s ease}.btn-rebalance-pts:hover{background:#1d4ed8;box-shadow:0 2px 6px #2563eb59}.paper-exercises-list{display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:1.25rem}.support-settings-note{margin:0 0 .75rem;color:var(--text-muted);font-size:.78rem;line-height:1.45}.paper-support-conditions{margin:-.25rem 0 .7rem;padding:.4rem .6rem;border-radius:6px;background:#f8fafc;color:#334155;font-size:.75rem;font-weight:600;text-align:center}.support-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem}.support-time-field{grid-column:1 / -1;display:grid;gap:.35rem;color:var(--text-main);font-size:.78rem;font-weight:600}.support-check-label{display:flex;align-items:center;gap:.45rem;color:var(--text-main);font-size:.78rem;cursor:pointer}.exercise-item-actions{display:flex;align-items:center;gap:.4rem}.btn-exercise-reroll,.btn-exercise-delete{border:1px solid var(--border-color);border-radius:6px;padding:.3rem .65rem;font-size:.75rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:.15s ease}.btn-exercise-reroll{color:#1d4ed8;background:#eff6ff}.btn-exercise-delete{color:#b91c1c;background:#fff1f2}.btn-exercise-reroll:hover:not(:disabled),.btn-exercise-delete:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.97)}.btn-exercise-reroll:disabled,.btn-exercise-delete:disabled{opacity:.5;cursor:not-allowed}.paper-exercise-item{display:flex;flex-direction:column;flex:1;justify-content:space-between;min-height:0;gap:.5rem;padding-bottom:.75rem;border-bottom:1px dashed #e5e7eb}.paper-exercise-item:last-child{border-bottom:none}.exercise-heading-line{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.65rem 1rem}.exercise-num-title{font-size:.95rem;font-weight:700;color:#111827}.exercise-points-editor{display:flex;align-items:center;gap:.3rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:.2rem .5rem}.points-editor-label{font-size:.75rem;font-weight:600;color:#475569}.btn-pts-step{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #94a3b8;border-radius:4px;font-size:.85rem;font-weight:700;color:#1e293b;cursor:pointer;transition:all .1s ease}.btn-pts-step:hover{background:#e2e8f0;border-color:#64748b}.input-pts-custom{width:44px;text-align:center;padding:.15rem .2rem;border:1px solid #94a3b8;border-radius:4px;font-size:.825rem;font-weight:800;color:#1e293b;background:#fff}.pts-suffix{font-size:.75rem;font-weight:700;color:#2563eb}.exercise-pts-tag{font-size:.775rem;font-weight:700;color:#2563eb;background:#eff6ff;padding:.15rem .5rem;border-radius:4px}.exercise-body-text{font-size:.925rem;line-height:1.55;color:#1f2937}.exercise-solution-box{margin-top:.5rem;padding:.5rem .75rem;background:#f0fdf4;border-left:3px solid #16a34a;border-radius:4px;font-size:.825rem;color:#166534}.exercise-answer-space{margin-top:.75rem;flex:1;min-height:48px;border-bottom:1px solid #d1d5db}.paper-eval-grid{margin-top:auto;padding-top:1.25rem;border:1px solid #374151;display:grid;grid-template-columns:1fr 1fr 1fr;text-align:center;font-size:.8rem}.grid-cell-header{background:#f3f4f6;font-weight:700;padding:.4rem;border-bottom:1px solid #374151;border-right:1px solid #374151}.grid-cell-header:last-child{border-right:none}.grid-cell-value{padding:.6rem;font-weight:600;border-right:1px solid #374151}.grid-cell-value:last-child{border-right:none}.generated-files-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem;box-shadow:var(--card-shadow)}.files-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.file-item-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-card-secondary);border:1px solid var(--border-light);border-radius:6px}.file-name-txt{font-size:.8rem;font-weight:600;color:var(--text-main)}.modal-backdrop{position:fixed;inset:0;background:#000000a6;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1.5rem}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;width:100%;max-width:780px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 36px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.modal-header h2{font-size:1.1rem;font-weight:700;color:var(--text-title)}.modal-close-btn{background:transparent;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer}.modal-body{padding:1.25rem;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem;border-top:1px solid var(--border-light)}.formula-card{padding:.75rem 1rem;background:var(--bg-card-secondary);border:1px solid var(--border-light);border-radius:6px;margin-bottom:.75rem}.formula-category-title{font-size:.85rem;font-weight:700;color:var(--accent-blue);margin-bottom:.35rem}.formula-body{font-size:.875rem;line-height:1.5}.formula-modal-large{max-width:1040px!important;width:95vw!important;max-height:90vh!important}.formula-header-title-group{display:flex;align-items:baseline;gap:.85rem;flex-wrap:wrap}.formula-header-title-group h2{margin:0;font-size:1.15rem}.formula-header-badge{font-size:.75rem;font-weight:600;color:var(--accent-blue);background:var(--accent-blue-light);padding:.15rem .5rem;border-radius:9999px;border:1px solid var(--accent-blue-border)}.formula-controls-bar{display:flex;flex-direction:column;gap:.65rem;padding:.85rem 1.25rem;background:var(--bg-card-secondary);border-bottom:1px solid var(--border-light)}.formula-year-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.formula-tab-pill{padding:.35rem .75rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.formula-tab-pill:hover{border-color:var(--accent-blue-border);color:var(--text-main)}.formula-tab-pill.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;box-shadow:0 2px 6px #2563eb4d}.formula-search-wrapper{position:relative;display:flex;align-items:center}.formula-search-input{width:100%;padding:.5rem 2.2rem .5rem .85rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;font-size:.825rem;color:var(--text-main);outline:none;transition:border-color .15s ease}.formula-search-input:focus{border-color:var(--accent-blue)}.formula-search-clear{position:absolute;right:.65rem;background:transparent;border:none;font-size:.85rem;color:var(--text-muted);cursor:pointer}.formula-search-clear:hover{color:var(--text-main)}.formula-toast-msg{background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7;padding:.45rem 1rem;margin:.5rem 1.25rem 0;border-radius:6px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.4rem;animation:fadeIn .2s ease}.formula-modal-scroll{padding:1rem 1.25rem!important;display:flex;flex-direction:column;gap:1rem}.formula-section-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000000a;transition:border-color .15s ease}.formula-section-card:hover{border-color:var(--accent-blue-border)}.formula-card-topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.formula-card-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.formula-year-tag{font-size:.7rem;font-weight:700;padding:.15rem .45rem;background:var(--accent-blue);color:#fff;border-radius:4px}.formula-category-pill{font-size:.725rem;font-weight:600;color:var(--text-muted);background:var(--bg-card-secondary);padding:.15rem .45rem;border-radius:4px;border:1px solid var(--border-light)}.formula-card-heading{font-size:.925rem;font-weight:700;color:var(--text-title);margin:0}.formula-badge-label{font-size:.7rem;font-weight:700;color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;padding:.15rem .5rem;border-radius:9999px}.formula-items-container{display:flex;flex-direction:column;gap:.75rem}.formula-entry-row{background:var(--bg-card-secondary);border:1px solid var(--border-light);border-radius:6px;padding:.65rem .85rem}.formula-entry-subtitle{font-size:.78rem;font-weight:700;color:var(--accent-blue);margin-bottom:.4rem;display:flex;justify-content:space-between;align-items:center}.formula-header-right-actions{display:flex;align-items:center;gap:.65rem}.btn-expert-toggle{padding:.35rem .75rem;background:var(--bg-card-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.75rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.btn-expert-toggle:hover{background:var(--border-light);color:var(--text-main)}.btn-expert-toggle.active{background:#fef3c7;border-color:#f59e0b;color:#92400e;box-shadow:0 1px 4px #f59e0b33}.formula-entry-action-buttons{display:flex;align-items:center;gap:.4rem}.btn-copy-word-action{padding:.25rem .55rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;font-size:.72rem;font-weight:700;color:#1d4ed8;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:all .15s ease}.btn-copy-word-action:hover{background:#dbeafe;border-color:#93c5fd;color:#1e40af;box-shadow:0 1px 4px #1d4ed826}.btn-copy-latex-action{padding:.25rem .5rem;background:#fef3c7;border:1px solid #fde68a;border-radius:5px;font-size:.7rem;font-weight:600;color:#92400e;cursor:pointer;transition:all .15s ease}.btn-copy-latex-action:hover{background:#fde68a;color:#78350f}.formula-expert-latex-snippet{margin-top:.45rem;padding:.4rem .65rem;background:var(--bg-input);border:1px dashed var(--border-color);border-radius:5px;font-size:.725rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);display:flex;align-items:flex-start;gap:.5rem;overflow-x:auto}.latex-label-tag{font-weight:700;color:#d97706;white-space:nowrap}.formula-expert-latex-snippet code{color:var(--text-main);white-space:pre-wrap;word-break:break-all}.formula-katex-box{overflow-x:auto;padding:.45rem .35rem;font-size:.95rem;line-height:1.6}.formula-katex-box .katex{font-size:1.05em!important}.formula-katex-box .katex-display{margin:.35rem 0!important}.formula-entry-notes{font-size:.725rem;color:var(--text-muted);margin-top:.35rem;font-style:italic}.formula-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem;color:var(--text-muted);font-size:.875rem;text-align:center}.formula-modal-footer{display:flex;justify-content:space-between;align-items:center}.formula-footer-stats{font-size:.775rem;color:var(--text-muted)}.alert-box{padding:.65rem .85rem;border-radius:6px;font-size:.8rem;font-weight:600;display:flex;justify-content:space-between;align-items:center}.alert-success{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46}.alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}@media print{body{background:#fff}.app-header-banner,.sidebar-panel,.preview-toolbar,.generated-files-card{display:none!important}.main-layout{display:block;padding:0;margin:0}.paper-container{border:none;box-shadow:none;padding:0}}.demo-mode-banner{padding:.55rem 1.25rem;display:flex;align-items:center;justify-content:center;gap:1.25rem;color:#d5f4ed;background:#075e55;font-size:.72rem;line-height:1.4;text-align:center}.demo-mode-banner a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}.hub-desktop-offer{min-height:44px;padding:.45rem .85rem;display:flex;align-items:center;gap:.7rem;border:1px solid #5eead4;border-radius:7px;color:#ecfeff;background:#0f766e;text-decoration:none;box-shadow:0 3px 10px #0f766e33}.hub-desktop-offer>span{width:25px;height:25px;display:grid;place-items:center;border-radius:5px;color:#064e3b;background:#99f6e4;font-weight:900}.hub-desktop-offer div{display:grid;gap:2px}.hub-desktop-offer b{font-size:.72rem}.hub-desktop-offer small{color:#b9eee5;font-size:.58rem}.demo-print-lock{padding:.42rem .7rem;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);background:var(--bg-card-secondary);font-size:.7rem;font-weight:700}.demo-paper-watermark{position:absolute;z-index:5;top:48%;left:50%;color:#0d76661d;font-size:clamp(1.35rem,3vw,2.5rem);font-weight:900;letter-spacing:.08em;pointer-events:none;white-space:nowrap;transform:translate(-50%,-50%) rotate(-24deg)}.paper-container.is-editing .demo-paper-watermark{display:none}.demo-access-page{min-height:100vh;padding:30px;display:grid;place-items:center;color:#102536;background:radial-gradient(circle at 20% 15%,rgba(45,190,166,.17),transparent 27%),radial-gradient(circle at 85% 80%,rgba(62,116,162,.15),transparent 28%),#071a29;font-family:Inter,sans-serif}.demo-access-page:before{content:"";position:fixed;inset:0;opacity:.25;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px}.demo-back-home{position:absolute;z-index:2;top:26px;left:30px;color:#b9cbd4;font-size:.78rem;font-weight:700;text-decoration:none}.demo-access-card{position:relative;z-index:2;width:min(520px,100%);padding:50px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#f7f4ed;box-shadow:0 35px 90px #00000052;text-align:center}.demo-access-mark{width:54px;height:54px;margin:0 auto 24px;display:grid;place-items:center;border-radius:15px 15px 15px 4px;color:#fff;background:#0b7d70;font-family:Georgia,serif;font-size:31px}.demo-access-kicker{color:#0b7d70;font-size:.62rem;font-weight:800;letter-spacing:.18em}.demo-access-card h1{margin:13px 0 15px;font-family:Georgia,serif;font-size:clamp(2rem,5vw,2.8rem);font-weight:400;letter-spacing:-.035em}.demo-access-card>p{margin:0 auto 25px;color:#667780;font-size:.82rem;line-height:1.75}.demo-access-google{margin:0 auto 18px;min-height:47px;padding:0 20px;border-radius:8px}.demo-access-card>small{display:block;color:#859299;font-size:.64rem}@media(max-width:760px){.demo-mode-banner{align-items:flex-start;flex-direction:column;gap:.25rem;text-align:left}.hub-desktop-offer small{display:none}.demo-access-page{padding:18px}.demo-access-card{padding:38px 22px 28px}.demo-back-home{top:18px;left:18px}}@media print{body.web-demo-mode #root{display:none!important}body.web-demo-mode:before{content:"La stampa è disponibile nella versione desktop di Docentia Suite.";padding:3cm 2cm;display:block;color:#111827;font:700 18pt/1.5 Arial,sans-serif;text-align:center}}.driver-popover.driverjs-theme{background-color:#fff;color:#0f2434;border:1px solid rgba(15,36,52,.12);border-radius:12px;box-shadow:0 20px 45px #071a2940;font-family:Plus Jakarta Sans,system-ui,sans-serif;max-width:360px;padding:18px 20px}.driver-popover-title{font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;color:#071a29;margin-bottom:8px}.driver-popover-description{font-size:13px;line-height:1.6;color:#4b616c}.driver-popover-description b{color:#071a29}.driver-popover-footer{margin-top:16px;gap:8px}.driver-popover-btn{border-radius:6px;font-size:12px;font-weight:700;padding:6px 12px;cursor:pointer;transition:all .15s ease}.driver-popover-next-btn{background-color:#0b7d70!important;color:#fff!important;border:1px solid #0b7d70!important;text-shadow:none!important}.driver-popover-next-btn:hover{background-color:#086157!important}.driver-popover-prev-btn{background-color:#f1f5f9!important;color:#475569!important;border:1px solid #cbd5e1!important}.driver-popover-close-btn{color:#94a3b8;font-size:18px}.driver-popover-progress-text{font-size:11px;font-weight:600;color:#64748b}.legal-modal-backdrop{z-index:9999}.landing-modal.legal-modal{width:min(800px,94vw);max-height:88vh;padding:36px 36px 28px;display:flex;flex-direction:column;text-align:left;background:#fff;border-radius:20px}.legal-modal-header{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e1ebe7}.legal-modal-header h2{font-size:30px;margin:4px 0 6px}.legal-subtitle{margin:0;color:#728793;font-size:12px;font-weight:600}.legal-modal-content{flex:1;overflow-y:auto;padding-right:14px;margin-bottom:18px}.legal-text h3{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:15px;font-weight:800;color:#071a29;margin:22px 0 8px}.legal-text h3:first-of-type{margin-top:0}.legal-text p{color:#455a66;font-size:13px;line-height:1.7;margin:0 0 12px}.legal-text ul{margin:0 0 16px 20px;padding:0;color:#455a66;font-size:13px;line-height:1.65}.legal-text li{margin-bottom:6px}.legal-link{color:#0b7d70;font-weight:700;text-decoration:underline}.legal-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:16px;border-top:1px solid #e1ebe7}.legal-support-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #0b7d70;border-radius:8px;color:#0b7d70!important;background:#e6f7f3;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s}.legal-support-btn:hover{background:#0b7d70;color:#fff!important}.ministerial-backdrop{position:fixed;z-index:10000;inset:0;background:#0a1929b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:modalFadeIn .2s ease-out}.ministerial-modal-dialog{width:100%;max-width:960px;max-height:90vh;background:var(--panel-bg, #ffffff);border:1px solid var(--border-color, #cbd5e1);border-radius:16px;box-shadow:0 25px 60px #00000059;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ministerial-modal-header{padding:18px 24px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:space-between;gap:16px}.ministerial-header-info{display:flex;align-items:center;gap:14px}.ministerial-subject-badge{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;box-shadow:0 4px 12px #00000026;flex-shrink:0}.ministerial-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--modal-accent, #0d9488);text-transform:uppercase;margin-bottom:2px}.ministerial-header-info h2{margin:0;font-size:19px;font-weight:700;color:var(--text-color, #0f172a)}.ministerial-subtext{display:block;font-size:12px;color:var(--text-muted, #64748b);margin-top:2px}.ministerial-header-actions{display:flex;align-items:center;gap:10px}.ministerial-copy-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--modal-accent, #0d9488);background:transparent;color:var(--modal-accent, #0d9488);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.ministerial-copy-btn:hover{background:var(--modal-accent, #0d9488);color:#fff}.ministerial-copy-btn.copied{background:#16a34a;border-color:#16a34a;color:#fff}.ministerial-close{background:transparent;border:none;font-size:18px;color:var(--text-muted, #64748b);cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .15s}.ministerial-close:hover{background:var(--border-color, #e2e8f0);color:var(--text-color, #0f172a)}.ministerial-control-bar{padding:12px 24px;background:var(--bg-color, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ministerial-subject-select-wrapper{display:flex;align-items:center;gap:8px}.ministerial-subject-select-wrapper label{font-size:12px;font-weight:700;color:var(--text-muted, #64748b)}.ministerial-subject-select{padding:6px 12px;border:1px solid var(--border-color, #cbd5e1);border-radius:8px;font-size:13px;font-weight:600;color:var(--text-color, #0f172a);background:var(--panel-bg, #ffffff);outline:none}.ministerial-search-wrapper{position:relative;flex:1;max-width:450px;display:flex;align-items:center}.ministerial-search-icon{position:absolute;left:10px;font-size:13px;pointer-events:none;opacity:.6}.ministerial-search-input{width:100%;padding:7px 32px;border:1px solid var(--border-color, #cbd5e1);border-radius:8px;font-size:13px;background:var(--panel-bg, #ffffff);color:var(--text-color, #0f172a);outline:none;transition:border-color .2s}.ministerial-search-input:focus{border-color:var(--modal-accent, #0d9488)}.ministerial-search-clear{position:absolute;right:8px;background:transparent;border:none;color:var(--text-muted, #64748b);cursor:pointer;font-size:12px;padding:2px 6px}.ministerial-nav-tabs{padding:0 24px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);display:flex;gap:4px;overflow-x:auto}.ministerial-nav-tab{padding:11px 16px;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text-muted, #64748b);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s ease}.ministerial-nav-tab:hover{color:var(--text-color, #0f172a)}.ministerial-nav-tab.active{color:var(--modal-accent, #0d9488);border-bottom-color:var(--modal-accent, #0d9488);font-weight:700}.ministerial-modal-body{padding:24px;overflow-y:auto;flex:1;background:var(--bg-color, #fdfdfe)}.ministerial-tab-pane{display:flex;flex-direction:column;gap:18px}.ministerial-year-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:4px}.ministerial-pill-label{font-size:12px;font-weight:700;color:var(--text-muted, #64748b)}.ministerial-year-pill{padding:5px 12px;border-radius:20px;border:1px solid var(--border-color, #cbd5e1);background:var(--panel-bg, #ffffff);color:var(--text-muted, #64748b);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.ministerial-year-pill:hover{border-color:var(--modal-accent, #0d9488);color:var(--modal-accent, #0d9488)}.ministerial-year-pill.active{background:var(--modal-accent, #0d9488);border-color:var(--modal-accent, #0d9488);color:#fff}.ministerial-years-timeline{display:flex;flex-direction:column;gap:16px}.ministerial-year-card{border:1px solid var(--border-color, #e2e8f0);background:var(--panel-bg, #ffffff);border-radius:12px;padding:16px 20px;box-shadow:0 2px 6px #00000008}.ministerial-year-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;border-bottom:1px dashed var(--border-color, #e2e8f0);padding-bottom:10px}.ministerial-year-badge{padding:3px 9px;border-radius:6px;background:var(--modal-accent, #0d9488);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase}.ministerial-year-header h4{margin:0;font-size:15px;font-weight:700;color:var(--text-color, #0f172a)}.ministerial-topics-count{margin-left:auto;font-size:11px;color:var(--text-muted, #64748b)}.ministerial-nuclei-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px}.ministerial-nucleus-item{padding:10px 14px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px}.ministerial-nucleus-title{display:flex;align-items:center;gap:6px;margin-bottom:4px;color:var(--text-color, #0f172a);font-size:13px}.ministerial-bullet{color:var(--modal-accent, #0d9488);font-weight:700}.ministerial-nucleus-desc{margin:0;font-size:12px;color:var(--text-muted, #64748b);line-height:1.5}.ministerial-track-banner{padding:18px 22px;border-radius:12px;border:1px solid #cbd5e1;background:#f8fafc}.ministerial-track-banner.liceo{border-color:#93c5fd;background:#eff6ff}.ministerial-track-banner.tecnico{border-color:#fde047;background:#fefce8}.ministerial-track-banner.professionale{border-color:#fca5a5;background:#fef2f2}.ministerial-track-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.ministerial-track-icon{font-size:28px}.ministerial-track-header h3{margin:0 0 4px;font-size:16px;font-weight:700;color:#0f172a}.ministerial-track-header p{margin:0;font-size:12px;color:#475569}.ministerial-track-content{display:flex;flex-direction:column;gap:10px}.ministerial-track-box{background:#ffffffb3;padding:12px 14px;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.ministerial-track-box strong{display:block;margin-bottom:4px;font-size:12px;color:#1e293b}.ministerial-track-box p{margin:0;font-size:13px;color:#334155;line-height:1.6}.ministerial-track-box code{font-size:12px;color:#0369a1;font-weight:600}.ministerial-competenze-section h4{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text-color, #0f172a)}.ministerial-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ministerial-checklist li{padding:10px 14px;background:var(--panel-bg, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:12.5px;line-height:1.5;color:var(--text-color, #1e293b);display:flex;align-items:flex-start;gap:10px}.ministerial-checklist li span{color:#16a34a;font-weight:700}.ministerial-overview-card{padding:16px 20px;border-radius:10px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0)}.ministerial-overview-card h4{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--text-color, #0f172a)}.ministerial-overview-card p{margin:0;font-size:13px;line-height:1.65;color:var(--text-color, #334155)}.ministerial-quadri-orari-box h4,.ministerial-sources-container h4{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text-color, #0f172a)}.ministerial-hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.ministerial-hour-card{padding:12px 16px;background:var(--panel-bg, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;display:flex;flex-direction:column;gap:4px}.ministerial-hour-card strong{font-size:13px;color:var(--text-color, #0f172a)}.ministerial-hour-card span{font-size:12px;color:var(--modal-accent, #0d9488);font-weight:600}.ministerial-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.ministerial-source-card{display:flex;flex-direction:column;padding:14px 16px;border:1px solid var(--border-color, #cbd5e1);border-radius:10px;background:var(--panel-bg, #ffffff);text-decoration:none;color:var(--text-color, #0f172a);transition:all .2s ease}.ministerial-source-card:hover{transform:translateY(-2px);border-color:var(--modal-accent, #0d9488);box-shadow:0 6px 16px #00000014}.ministerial-source-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ministerial-source-badge{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--modal-accent, #0d9488)}.ministerial-source-arrow{font-size:14px;color:var(--text-muted, #64748b)}.ministerial-source-card strong{font-size:13.5px;margin-bottom:4px}.ministerial-source-card small{font-size:11px;color:var(--text-muted, #64748b);margin-bottom:8px}.ministerial-source-cta{font-size:11px;font-weight:700;color:var(--modal-accent, #0d9488);margin-top:auto}.ministerial-modal-footer{padding:14px 24px;background:var(--bg-secondary, #f8fafc);border-top:1px solid var(--border-color, #e2e8f0);display:flex;align-items:center;justify-content:space-between;gap:16px}.ministerial-footer-note{font-size:11.5px;color:var(--text-muted, #64748b)}.ministerial-empty-state{text-align:center;padding:40px 20px}.ministerial-empty-icon{font-size:36px;display:block;margin-bottom:10px}.ministerial-empty-state h3{margin:0 0 6px;font-size:16px}.ministerial-empty-state p{margin:0 0 14px;font-size:13px;color:var(--text-muted, #64748b)}.ministerial-open-explorer-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;background:#14b8a6;border:1px solid #2dd4bf;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #14b8a64d}.ministerial-open-explorer-btn:hover{background:#0d9488;transform:translateY(-2px);box-shadow:0 6px 20px #14b8a666}.ministerial-pdf-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.ministerial-pdf-btn.primary{background:#0d9488;border:1px solid #0f766e;color:#fff;box-shadow:0 2px 6px #0d94884d}.ministerial-pdf-btn.primary:hover:not(:disabled){background:#0f766e;transform:translateY(-1px)}.ministerial-pdf-btn.secondary{background:transparent;border:1px solid var(--border-color, #cbd5e1);color:var(--text-color, #0f172a)}.ministerial-pdf-btn.secondary:hover:not(:disabled){background:var(--bg-secondary, #f8fafc);border-color:#94a3b8}.ministerial-pdf-btn:disabled{opacity:.6;cursor:not-allowed}.ministerial-toast-bar{padding:8px 24px;background:#ecfdf5;border-bottom:1px solid #a7f3d0;color:#065f46;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:space-between}.ministerial-toast-bar button{background:transparent;border:none;color:#065f46;cursor:pointer;font-size:12px}.ministerial-filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px solid var(--border-color, #e2e8f0)}.ministerial-track-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ministerial-year-pill.track-pill{border-radius:6px;font-size:11px}.ministerial-topics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:10px}.ministerial-topic-card-item{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;transition:all .15s ease}.ministerial-topic-card-item:hover{background:#fff;border-color:var(--modal-accent, #0d9488);box-shadow:0 2px 8px #0000000a}.ministerial-topic-index{min-width:24px;height:24px;border-radius:6px;background:var(--modal-accent, #0d9488);color:#fff;font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.ministerial-topic-details{display:flex;flex-direction:column;gap:3px;flex:1}.ministerial-topic-category-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ministerial-topic-category{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--modal-accent, #0d9488);background:#0d948814;padding:1px 6px;border-radius:4px}.ministerial-topic-cefr{font-size:10px;font-weight:800;color:#7c3aed;background:#ede9fe;padding:1px 6px;border-radius:4px}.ministerial-topic-track-badge{font-size:9.5px;color:var(--text-muted, #64748b);margin-left:auto;font-weight:600}.ministerial-topic-title{margin:0;font-size:12.5px;font-weight:600;color:var(--text-color, #0f172a);line-height:1.45}.scientific-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:7px 7px 0 0;margin-bottom:8px;-webkit-user-select:none;user-select:none}.scientific-tag-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:4px;background:#e2e8f0;color:#475569}.scientific-tag-badge.solution{background:#dcfce7;color:#15803d}.scientific-tag-badge.help{background:#fef9c3;color:#a16207}.scientific-tool-group{display:flex;align-items:center;gap:3px}.scientific-toolbar-divider{width:1px;height:20px;background:#cbd5e1;margin:0 2px}.scientific-toolbar .tool-btn{height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#fff;border:1px solid #cbd5e1;border-radius:5px;color:#334155;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.scientific-toolbar .tool-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.scientific-toolbar .tool-btn.active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.scientific-toolbar .tool-btn.math-btn{background:#f0fdf4;border-color:#bbf7d0;color:#166534;font-weight:700}.scientific-toolbar .tool-btn.math-btn:hover{background:#dcfce7;border-color:#86efac}.scientific-toolbar .tool-btn.fraction-btn{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.scientific-toolbar .tool-btn.fraction-btn:hover{background:#dbeafe;border-color:#93c5fd}.scientific-toolbar .tool-btn.fraction-btn small{font-size:9px;font-weight:700;opacity:.85;text-transform:uppercase;margin-left:2px}.scientific-toolbar .tool-btn.dropdown-btn{background:#fdf4ff;border-color:#f5d0fe;color:#86198f;font-weight:700}.scientific-toolbar .tool-btn.dropdown-btn:hover{background:#fae8ff;border-color:#e879f9}.scientific-tutorial-trigger-btn{margin-left:auto;height:28px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:11.5px;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 2px #0000000d}.scientific-tutorial-trigger-btn:hover{background:#fde68a;border-color:#f59e0b;color:#78350f;transform:translateY(-1px)}.relative-popover-wrapper{position:relative}.fraction-popover-card{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;width:270px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 10px 28px #0f172a2e;animation:popoverFadeIn .15s ease-out;padding:12px}.fraction-popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #f1f5f9}.fraction-popover-header strong{font-size:12px;color:#0f172a}.popover-close-btn{background:transparent;border:none;font-size:14px;color:#94a3b8;cursor:pointer;padding:2px 4px}.popover-close-btn:hover{color:#0f172a}.fraction-inputs-container{display:flex;flex-direction:column;gap:8px}.fraction-field-row{display:flex;flex-direction:column;gap:3px}.fraction-field-row label{font-size:11px;font-weight:700;color:#475569}.fraction-field-row input{height:32px;padding:0 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;color:#0f172a;outline:none}.fraction-field-row input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.fraction-visual-divider{height:2px;background:#3b82f6;border-radius:2px;margin:2px 0;opacity:.8}.fraction-popover-actions{margin-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:6px}.btn-cancel-popover{height:28px;padding:0 10px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;font-size:11.5px;font-weight:600;color:#64748b;cursor:pointer}.btn-confirm-fraction{height:28px;padding:0 12px;border:none;background:#2563eb;color:#fff;border-radius:6px;font-size:11.5px;font-weight:700;cursor:pointer;transition:background .15s ease}.btn-confirm-fraction:hover{background:#1d4ed8}.scientific-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;width:320px;max-height:380px;overflow-y:auto;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 10px 30px #0f172a33;padding:12px;display:flex;flex-direction:column;gap:12px;animation:popoverFadeIn .15s ease-out}.scientific-dropdown-menu.units-menu{width:360px}.dropdown-category-block{display:flex;flex-direction:column;gap:6px}.dropdown-category-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#0f766e;border-bottom:1px solid #f1f5f9;padding-bottom:3px}.dropdown-items-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.dropdown-symbol-item{height:26px;padding:0 6px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:5px;font-size:11px;color:#1e293b;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .1s ease}.dropdown-symbol-item:hover{background:#0d9488;border-color:#0d9488;color:#fff}.dropdown-units-pills{display:flex;flex-wrap:wrap;gap:4px}.dropdown-unit-pill{height:24px;padding:0 8px;border:1px solid #cbd5e1;background:#f8fafc;border-radius:4px;font-size:11.5px;font-weight:600;color:#334155;cursor:pointer;transition:all .12s ease}.dropdown-unit-pill:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.scientific-tutorial-backdrop{position:fixed;inset:0;z-index:10000;background:#0f172aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:modalFadeIn .2s ease-out}.scientific-tutorial-card{width:min(840px,96vw);max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 25px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.scientific-tutorial-header{padding:18px 24px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.scientific-tutorial-title-row{display:flex;align-items:center;gap:14px}.scientific-tutorial-badge-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0d9488,#0284c7);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 12px #00000040;flex-shrink:0}.scientific-tutorial-kicker{font-size:10px;font-weight:800;letter-spacing:.1em;color:#5eead4;text-transform:uppercase}.scientific-tutorial-title-row h2{margin:2px 0 0;font-size:18px;font-weight:700;color:#fff}.scientific-tutorial-close-btn{background:transparent;border:none;font-size:20px;color:#94a3b8;cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .15s ease}.scientific-tutorial-close-btn:hover{background:#ffffff1a;color:#fff}.scientific-tutorial-nav{display:flex;align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:6px 16px 0;overflow-x:auto;gap:6px}.scientific-tut-tab{padding:10px 16px;border:none;background:transparent;border-bottom:3px solid transparent;color:#64748b;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.scientific-tut-tab:hover{color:#0f172a}.scientific-tut-tab.active{color:#0d9488;border-bottom-color:#0d9488;background:#fff;border-radius:8px 8px 0 0}.scientific-tutorial-body{padding:22px 24px;overflow-y:auto;flex:1;background:#fff}.scientific-tut-alert-box{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:13px;line-height:1.5}.scientific-tut-alert-box.info{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.scientific-tut-alert-box strong{display:block;font-size:14px;margin-bottom:2px}.scientific-tut-alert-box p{margin:0}.scientific-tut-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.scientific-tut-card{padding:16px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;position:relative}.scientific-tut-card.highlight{background:#eff6ff;border-color:#bfdbfe}.scientific-card-icon{font-size:20px;margin-bottom:6px}.scientific-tut-card h4{margin:0 0 6px;font-size:14px;font-weight:700;color:#0f172a}.scientific-tut-card p{margin:0 0 10px;font-size:12.5px;color:#475569;line-height:1.5}.scientific-tut-list{margin:0;padding-left:18px;font-size:12.5px;color:#334155;line-height:1.6}.scientific-tut-demo-box{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.tut-label{font-size:10px;font-weight:800;text-transform:uppercase;color:#64748b}.scientific-tut-demo-box code{font-family:JetBrains Mono,monospace;font-size:11.5px;color:#0f766e;word-break:break-all}.tut-render-preview{padding:8px;background:#f8fafc;border-radius:6px;border:1px dashed #cbd5e1;font-size:14px;color:#0f172a;text-align:center}.scientific-tut-steps{display:flex;flex-direction:column;gap:10px}.tut-step-item{display:flex;align-items:center;gap:12px;font-size:13px;color:#1e293b}.step-num{width:26px;height:26px;border-radius:50%;background:#2563eb;color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.scientific-tut-table-wrapper{overflow-x:auto}.scientific-tut-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px}.scientific-tut-table th{background:#e2e8f0;color:#1e293b;text-align:left;padding:8px 12px;font-weight:700}.scientific-tut-table td{padding:8px 12px;border-bottom:1px solid #e2e8f0;color:#334155}.scientific-tut-table code{font-family:JetBrains Mono,monospace;font-size:11px;color:#0f766e;background:#f1f5f9;padding:2px 6px;border-radius:4px}.scientific-tut-examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.scientific-tut-example-card{padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;display:flex;flex-direction:column;gap:6px}.example-card-header{display:flex;align-items:center;justify-content:space-between}.example-card-header strong{font-size:12.5px;color:#0f172a}.tut-copy-btn{height:26px;padding:0 10px;border:1px solid #0d9488;background:#f0fdfa;color:#0d9488;border-radius:5px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s ease}.tut-copy-btn:hover{background:#0d9488;color:#fff}.tut-copy-btn.copied{background:#16a34a;border-color:#16a34a;color:#fff}.example-card-preview{padding:8px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;text-align:center;font-size:13.5px}.example-card-code code{font-family:JetBrains Mono,monospace;font-size:11px;color:#64748b;word-break:break-all}.scientific-tutorial-footer{padding:14px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:16px}.scientific-tutorial-footer-hint{font-size:12px;color:#64748b}.scientific-tutorial-ok-btn{padding:9px 20px;border:none;background:#0d9488;color:#fff;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.scientific-tutorial-ok-btn:hover{background:#0f766e;transform:translateY(-1px)}.subscriber-active-banner{padding:.55rem 1.25rem;display:flex;align-items:center;justify-content:center;gap:.85rem;color:#ecfdf5;background:linear-gradient(90deg,#065f46,#047857,#059669);font-size:.76rem;line-height:1.4;text-align:center;box-shadow:inset 0 -1px #ffffff26}.sub-banner-badge{padding:.2rem .55rem;background:#10b981;color:#fff;border-radius:4px;font-size:.65rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.subscription-header-badge{display:inline-flex;align-items:center;gap:.35rem;height:36px;padding:0 .75rem;background:#10b9812e;border:1px solid #10b981;border-radius:8px;color:#10b981;font-size:.78rem;font-weight:800;white-space:nowrap;box-sizing:border-box}.hub-btn-print-sub{min-height:44px;padding:.45rem 1rem;display:inline-flex;align-items:center;gap:.5rem;border:1px solid #34d399;border-radius:7px;color:#fff;background:linear-gradient(135deg,#059669,#047857);font-weight:800;font-size:.78rem;cursor:pointer;box-shadow:0 4px 12px #05966940;transition:all .2s ease}.hub-btn-print-sub:hover{background:linear-gradient(135deg,#10b981,#059669);transform:translateY(-1px);box-shadow:0 6px 16px #05966959}.btn-tool-print-active{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important;font-weight:700}.btn-tool-print-active:hover{background:#d1fae5!important;color:#065f46!important}@media print{@page{size:A4 portrait;margin:15mm 12mm}body{background:#fff!important;color:#000!important;font-size:11pt!important}.app-header-banner,.demo-mode-banner,.subscriber-active-banner,.sidebar-panel,.unified-action-hub,.preview-nav-bar,.preview-points-summary-bar,.exercise-item-actions,.exercise-points-editor,.btn-exercise-reroll,.btn-exercise-delete,.demo-paper-watermark,.subject-watermark,.landing-active-sub-banner,.modal-backdrop,.subject-header,.subject-demo-notice,.subject-suite-nav,.subject-controls,.subject-action-bar,.subject-preview-nav,.subject-exercise-actions,.subject-points-editor,.scientific-toolbar-wrap{display:none!important}.main-layout,.subject-workspace{display:block!important;padding:0!important;margin:0!important;border:none!important;background:transparent!important}.preview-panel,.subject-preview-area{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important}.paper-container,.subject-paper{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border:none!important;box-shadow:none!important;background:#fff!important;color:#000!important}.paper-exercise-item,.subject-exercise{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #e2e8f0;padding-bottom:12px;margin-bottom:12px}}.readable-formula-preview{margin:8px 12px 12px;padding:10px;border:1px solid #dbe4f0;border-radius:6px;background:#fff;overflow-wrap:anywhere}.readable-formula-preview>small{display:block;color:#64748b;margin-bottom:6px}@media print{.readable-formula-preview{display:none}}.header-hub-btn{display:inline-flex;align-items:center;gap:.45rem;height:36px;background:#1e293b;color:#e2e8f0;border:1px solid rgba(255,255,255,.18);padding:0 .85rem;border-radius:8px;font-size:.78rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 5px #0003;white-space:nowrap;box-sizing:border-box}.header-hub-btn:hover{background:#334155;color:#fff;border-color:#ffffff59}.header-switch-subject-btn{display:inline-flex;align-items:center;gap:.45rem;height:36px;background:linear-gradient(135deg,#0d9488,#0369a1);color:#fff;border:1px solid rgba(255,255,255,.25);padding:0 .85rem;border-radius:8px;font-size:.78rem;font-weight:800;text-decoration:none;cursor:pointer;transition:all .15s ease;box-shadow:0 3px 10px #0d948859;white-space:nowrap;box-sizing:border-box}.header-switch-subject-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 5px 14px #0d948880}@media(max-width:1400px){.banner-subtitle-text{max-width:380px}.tool-btn{padding:0 .65rem;font-size:.75rem;gap:.3rem}.header-hub-btn,.header-switch-subject-btn{padding:0 .65rem;font-size:.74rem}}@media(max-width:1200px){.app-header-banner{padding:.55rem 1.25rem}.banner-subtitle-text{max-width:260px}.banner-title-text{font-size:1.2rem}.subscription-header-badge{font-size:.72rem;padding:0 8px}}@media(max-width:1050px){.app-header-banner{flex-wrap:wrap;padding:.5rem 1rem;gap:.5rem}.banner-subtitle-text{display:none}.header-actions{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}}.single-track-pill{padding:10px 14px;border:1px solid var(--accent);border-radius:7px;color:var(--accent);background:#eff6ff;font-size:11px;font-weight:700;text-align:center}.driver-popover{all:unset;font-family:var(--driver-popover-font-family,"Helvetica Neue", Inter, ui-sans-serif, "Apple Color Emoji", Helvetica, Arial, sans-serif);box-sizing:border-box;color:#2d2d2d;z-index:1000000000;background-color:#fff;border-radius:5px;min-width:250px;max-width:300px;margin:0;padding:15px;position:fixed;top:0;right:0;box-shadow:0 1px 10px #0006}.driver-popover-title{zoom:1;margin:0;font-size:19px;font-weight:700;line-height:1.5;display:block;position:relative}.driver-popover-close-btn{all:unset;cursor:pointer;color:#d2d2d2;z-index:1;text-align:center;width:32px;height:28px;font-size:18px;font-weight:500;transition:color .2s;position:absolute;top:0;right:0}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.5}.driver-popover-footer{text-align:right;zoom:1;justify-content:space-between;align-items:center;margin-top:15px;display:flex}.driver-popover-progress-text{color:#727272;zoom:1;font-size:13px;font-weight:400}.driver-popover-footer-btn{all:unset;box-sizing:border-box;color:#2d2d2d;cursor:pointer;zoom:1;background-color:#fff;border:1px solid #ccc;border-radius:3px;outline:0;padding:3px 7px;font-size:12px;line-height:1.3;text-decoration:none;display:inline-block}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}.driver-popover-footer-btn:hover,.driver-popover-footer-btn:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{flex-grow:1;justify-content:flex-end;display:flex}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";border:5px solid #fff;position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;left:100%}.driver-popover-arrow-side-right{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000;bottom:100%}.driver-popover-arrow-side-center,.driver-popover-arrow-none{display:none}.driver-active .driver-overlay{pointer-events:none}.driver-active.driver-no-scroll{overflow:hidden}.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in var(--driver-animation-duration,.4s) ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in var(--driver-animation-duration,.4s)}.driver-active-element-parent-no-scroll{overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.launch-top-banner{background:linear-gradient(90deg,#071a29,#0d2c44,#071a29);border-bottom:2px solid #f59e0b;color:#fff;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1100;box-shadow:0 4px 20px #00000040;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:launchBannerSlideDown .4s ease-out}@keyframes launchBannerSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.launch-top-banner-content{display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.launch-banner-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 2px 8px #f59e0b66;white-space:nowrap}button.launch-banner-badge-btn{border:1px solid rgba(255,255,255,.35);cursor:pointer;font-family:inherit;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}button.launch-banner-badge-btn:hover{transform:translateY(-1px) scale(1.03);filter:brightness(1.08);box-shadow:0 4px 14px #f59e0b8c}button.launch-banner-badge-btn:active{transform:translateY(0) scale(.98)}button.launch-banner-badge-btn:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.launch-banner-pulse{width:8px;height:8px;background-color:#0f172a;border-radius:50%;animation:launchPulse 1.8s infinite}@keyframes launchPulse{0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.3);opacity:1}to{transform:scale(.9);opacity:.8}}.launch-banner-text{font-size:13.5px;line-height:1.4;color:#f1f5f9}.launch-banner-text strong{color:#fef08a;font-weight:700}.launch-banner-text .launch-subtext{color:#94a3b8;font-size:12.5px;margin-left:8px}.launch-banner-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.launch-banner-info-btn{background:#ffffff14;color:#e2e8f0;border:1px solid rgba(255,255,255,.26);padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease;white-space:nowrap}.launch-banner-info-btn:hover{background:#ffffff2e;color:#fff;border-color:#ffffff73;transform:translateY(-1px)}.launch-banner-close-btn{background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;display:grid;place-items:center;transition:color .2s ease,background .2s ease}.launch-banner-close-btn:hover{color:#fff;background:#ffffff1a}.launch-floating-trigger{position:fixed;bottom:20px;right:20px;z-index:990;background:linear-gradient(135deg,#0d2638,#071a29);border:1px solid #f59e0b;color:#fef08a;padding:8px 14px;border-radius:999px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #00000059;transition:all .25s cubic-bezier(.16,1,.3,1);animation:launchPillFloat 3s ease-in-out infinite alternate}.launch-floating-trigger:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 25px #f59e0b59;background:#0f354f}@keyframes launchPillFloat{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.launch-modal-backdrop{position:fixed;inset:0;z-index:2000;background:#05121dc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:launchModalFadeIn .3s ease-out}@keyframes launchModalFadeIn{0%{opacity:0}to{opacity:1}}.launch-modal-card{background:#fff;border-radius:20px;max-width:580px;width:100%;max-height:calc(100dvh - 32px);max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 25px 60px -15px #0006,0 0 0 1px #0f243414;position:relative;animation:launchCardScaleUp .35s cubic-bezier(.16,1,.3,1);font-family:inherit;color:#0f2434}@keyframes launchCardScaleUp{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.launch-modal-header-hero{background:linear-gradient(135deg,#071a29,#0d324d 60%,#124468);color:#fff;padding:32px 28px 24px;position:relative;border-bottom:3px solid #f59e0b}.launch-modal-close{position:absolute;top:16px;right:16px;background:#ffffff1f;border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:16px;cursor:pointer;transition:all .2s ease}.launch-modal-close:hover{background:#ffffff40;transform:rotate(90deg)}.launch-modal-kicker{display:inline-flex;align-items:center;gap:8px;background:#f59e0b33;border:1px solid rgba(245,158,11,.5);color:#fbbf24;font-size:11px;font-weight:800;padding:4px 12px;border-radius:999px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.launch-modal-title{margin:0 0 8px;font-size:24px;font-weight:800;line-height:1.25;color:#fff}.launch-modal-title em{font-style:normal;color:#fef08a;text-decoration:underline;text-decoration-color:#f59e0b;text-underline-offset:4px}.launch-modal-subtitle{margin:0;font-size:14px;line-height:1.5;color:#cbd5e1}.launch-modal-body{padding:24px 28px}.launch-modal-grid{display:grid;gap:14px;margin-bottom:24px}.launch-modal-item{display:flex;align-items:flex-start;gap:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;transition:border-color .2s ease,background .2s ease}.launch-modal-item:hover{border-color:#cbd5e1;background:#f1f5f9}.launch-item-icon{font-size:22px;flex-shrink:0;line-height:1.2}.launch-item-text strong{display:block;font-size:14px;color:#0f172a;margin-bottom:2px}.launch-item-text p{margin:0;font-size:12.5px;color:#64748b;line-height:1.45}.launch-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid #f1f5f9}.launch-btn-primary{background:linear-gradient(135deg,#0b7d70,#065048);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-size:13.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 14px #0b7d704d;transition:all .2s ease}.launch-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0b7d7066;background:linear-gradient(135deg,#0e9687,#075f56)}.launch-btn-secondary{background:transparent;color:#475569;border:1px solid #cbd5e1;padding:10px 18px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s ease}.launch-btn-secondary:hover{background:#f1f5f9;color:#0f172a}@media(max-width:680px){.launch-top-banner{padding:7px 10px;gap:6px}.launch-top-banner-content{flex-direction:row;flex-wrap:nowrap;gap:8px;min-width:0}.launch-banner-text{font-size:11.5px;line-height:1.25}.launch-banner-text .launch-subtext{display:block;margin-left:0;margin-top:3px;font-size:11.5px;line-height:1.4}.launch-banner-actions{width:auto;margin-top:0}.launch-banner-badge{font-size:9px;padding:3px 7px}.launch-banner-close-btn{padding:2px 5px;font-size:15px}.launch-modal-backdrop{padding:12px}.launch-modal-card{max-height:calc(100dvh - 24px);border-radius:16px}.launch-modal-header-hero{padding:20px 16px 16px}.launch-modal-title{font-size:18px}.launch-modal-subtitle{font-size:12.5px}.launch-modal-body{padding:16px}.launch-modal-grid{gap:10px;margin-bottom:16px}.launch-modal-item{padding:10px 12px;gap:10px}.launch-item-icon{font-size:18px}.launch-item-text strong{font-size:13px}.launch-item-text p{font-size:11.5px}.launch-modal-actions{flex-direction:column-reverse;gap:8px}.launch-btn-primary,.launch-btn-secondary{width:100%;justify-content:center;min-height:44px}.launch-floating-trigger{bottom:12px;right:12px;padding:6px 12px;font-size:11px}}.exercise-browser-backdrop{position:fixed;z-index:20000;inset:0;display:grid;place-items:center;padding:20px;background:#081321d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.exercise-browser{display:grid;grid-template-rows:auto auto auto minmax(220px,1fr) auto;width:min(1200px,97vw);height:min(900px,95vh);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 35px 95px #0000008c;color:#172033;position:relative}.exercise-browser>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid #dbe3ec;background:#fff}.exercise-browser-header-left{display:flex;flex-direction:column;gap:2px}.exercise-browser h2{margin:0;font-size:22px;font-weight:800;color:#0f172a}.exercise-browser header p{margin:0;color:#64748b;font-size:12px}.exercise-browser header small{color:var(--subject-accent, var(--accent, #0d9488));font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.exercise-browser-header-actions{display:flex;align-items:center;gap:10px}.exercise-browser-add-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:8px;background:#0d9488;color:#fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 2px 6px #0d948859;transition:all .15s ease}.exercise-browser-add-btn:hover{background:#0f766e;transform:translateY(-1px)}.exercise-browser-backup-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#475569;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s ease}.exercise-browser-backup-btn:hover{background:#e2e8f0;color:#1e293b}.exercise-browser-close{border:0;background:none;color:#64748b;font-size:28px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.exercise-browser-close:hover{background:#f1f5f9;color:#0f172a}.exercise-browser-filters{display:grid;grid-template-columns:2fr .8fr 1.6fr .9fr 1.1fr .9fr;gap:8px;padding:12px 24px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.exercise-browser-filters input,.exercise-browser-filters select{width:100%;min-width:0;padding:9px 11px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;font:inherit;font-size:11.5px;color:#1e293b;outline:none}.exercise-browser-filters input:focus,.exercise-browser-filters select:focus{border-color:#0d9488;box-shadow:0 0 0 2px #0d948826}.exercise-browser-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:9px 24px;border-bottom:1px solid #e2e8f0;font-size:11.5px;background:#fff}.exercise-browser-summary b{color:#1e293b}.exercise-browser-count-pill{padding:4px 10px;border-radius:999px;color:#fff;background:#0d9488;font-weight:700;font-size:11px}.exercise-browser-custom-counter{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:#fef3c7;color:#92400e;font-weight:700;font-size:11px}.exercise-browser-summary button.reset-btn{margin-left:auto;border:0;background:none;color:#b91c1c;font-size:11px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px}.exercise-browser-summary button.reset-btn:hover{background:#fee2e2}.exercise-browser-list{overflow-y:auto;padding:14px 24px;display:grid;align-content:start;gap:10px;background:#f8fafc}.exercise-browser-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:all .15s ease;position:relative}.exercise-browser-item:hover{border-color:#94a3b8;box-shadow:0 3px 8px #0000000a}.exercise-browser-item.selected{border-color:#0d9488;background:#f0fdf4;box-shadow:0 0 0 1px #0d9488}.exercise-browser-item.is-custom-item{border-left:4px solid #f59e0b}.exercise-browser-checkbox{margin-top:4px;width:17px;height:17px;accent-color:#0d9488;cursor:pointer}.exercise-browser-content{display:grid;gap:8px;min-width:0}.exercise-browser-item-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.exercise-browser-topic-title{font-size:12px;font-weight:700;color:#1e293b}.exercise-browser-year-badge{padding:2px 7px;border-radius:999px;font-size:9px;font-weight:700;background:#e2e8f0;color:#475569}.exercise-browser-level-badge{padding:3px 8px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.exercise-browser-level-badge.facile{color:#166534;background:#dcfce7}.exercise-browser-level-badge.media{color:#854d0e;background:#fef9c3}.exercise-browser-level-badge.difficile{color:#991b1b;background:#fee2e2}.exercise-browser-track-badge{padding:3px 8px;border-radius:999px;font-size:9px;font-weight:700;color:#1e40af;background:#dbeafe}.exercise-browser-track-badge.tecnico{color:#9a3412;background:#ffedd5}.exercise-browser-track-badge.professionale{color:#831843;background:#fce7f3}.exercise-browser-custom-badge{padding:3px 8px;border-radius:999px;font-size:9px;font-weight:800;color:#92400e;background:#fef3c7;border:1px solid #fde68a}.exercise-browser-points-badge{margin-left:auto;font-size:10px;font-weight:700;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}.exercise-browser-text{font-size:12px;line-height:1.55;color:#0f172a;overflow-wrap:anywhere;white-space:pre-line}.exercise-browser-text .katex{font-size:1.15em;line-height:1.25}.exercise-browser-text .katex-display{margin:8px 0;padding:6px 10px;background:#f8fafc;border-radius:6px;overflow-x:auto;overflow-y:hidden;border:1px solid #e2e8f0}.exercise-browser-solution-box{display:block;margin-top:4px;padding:8px 10px;border-radius:6px;background:#f8fafc;border-left:3px solid #0d9488;color:#334155;font-size:11px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-line}.exercise-browser-solution-box strong{color:#0f766e}.exercise-browser-solution-box .katex{font-size:1.1em}.exercise-browser-help-box{display:block;margin-top:4px;padding:6px 10px;border-radius:6px;background:#fefce8;border-left:3px solid #eab308;color:#713f12;font-size:10.5px;line-height:1.45}.exercise-browser-item-actions{display:flex;flex-direction:column;gap:6px}.exercise-item-action-btn{padding:5px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.exercise-item-action-btn:hover{background:#f1f5f9;color:#0f172a}.exercise-item-action-btn.delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.exercise-browser-empty{padding:60px 20px;text-align:center;color:#64748b;font-size:13px}.exercise-browser>footer{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-top:1px solid #dbe3ec;background:#fff}.exercise-browser-pages{display:flex;align-items:center;gap:10px;font-size:11px;color:#334155;font-weight:600}.exercise-browser-pages button{padding:8px 14px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;font-weight:700;cursor:pointer}.exercise-browser-pages button:hover:not(:disabled){background:#f1f5f9}.exercise-browser-apply{padding:10px 18px;border:none;border-radius:8px;background:#0d9488;color:#fff;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 2px 6px #0d948859;transition:all .15s ease}.exercise-browser-apply:hover:not(:disabled){background:#0f766e}.exercise-browser button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.exercise-form-overlay{position:absolute;inset:0;z-index:50;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;overflow-y:auto}.exercise-form-card{width:min(840px,94%);max-height:90vh;display:grid;grid-template-rows:auto 1fr auto;background:#fff;border-radius:14px;box-shadow:0 25px 60px #0006;overflow:hidden;animation:fadeInForm .18s ease-out}@keyframes fadeInForm{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.exercise-form-header{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.exercise-form-header h3{margin:0;font-size:16px;font-weight:800;color:#0f172a}.exercise-form-body{padding:18px 22px;overflow-y:auto;display:grid;gap:16px}.exercise-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.exercise-form-group{display:flex;flex-direction:column;gap:6px}.exercise-form-group label{font-size:11.5px;font-weight:700;color:#334155}.exercise-form-group select,.exercise-form-group input[type=text],.exercise-form-group input[type=number],.exercise-form-group textarea{width:100%;padding:9px 12px;border:1px solid #cbd5e1;border-radius:7px;font:inherit;font-size:12px;color:#1e293b;outline:none;background:#fff}.exercise-form-group select:focus,.exercise-form-group input:focus,.exercise-form-group textarea:focus{border-color:#0d9488;box-shadow:0 0 0 2px #0d948826}.exercise-form-group textarea{min-height:85px;resize:vertical;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.exercise-pill-selector{display:flex;flex-wrap:wrap;gap:8px}.exercise-pill-btn{padding:7px 12px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font-size:11px;font-weight:700;color:#475569;cursor:pointer;transition:all .15s ease}.exercise-pill-btn:hover{background:#f1f5f9;border-color:#94a3b8}.exercise-pill-btn.active.facile{background:#166534;color:#fff;border-color:#166534}.exercise-pill-btn.active.media{background:#b45309;color:#fff;border-color:#b45309}.exercise-pill-btn.active.difficile{background:#b91c1c;color:#fff;border-color:#b91c1c}.exercise-pill-btn.active.track{background:#0d9488;color:#fff;border-color:#0d9488}.exercise-math-quick-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;background:#f1f5f9;border-radius:6px;border:1px solid #e2e8f0}.exercise-math-quick-bar span{font-size:10px;font-weight:700;color:#64748b;margin-right:4px}.quick-math-btn{padding:3px 7px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#1e293b;font-size:11px;font-family:ui-monospace,SFMono-Regular,monospace;font-weight:600;cursor:pointer;transition:background .1s}.quick-math-btn:hover{background:#e2e8f0;border-color:#94a3b8}.exercise-live-preview{margin-top:4px;padding:10px 14px;border-radius:7px;background:#f8fafc;border:1px dashed #cbd5e1;font-size:12px;line-height:1.55;color:#0f172a;min-height:38px;overflow-wrap:anywhere}.exercise-live-preview-label{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:4px;display:block}.exercise-form-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 22px;border-top:1px solid #e2e8f0;background:#f8fafc}.exercise-form-cancel-btn{padding:9px 16px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#475569;font-size:12px;font-weight:700;cursor:pointer}.exercise-form-cancel-btn:hover{background:#f1f5f9}.exercise-form-save-btn{padding:9px 20px;border:none;border-radius:7px;background:#0d9488;color:#fff;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 2px 6px #0d948859}.exercise-form-save-btn:hover{background:#0f766e}@media(max-width:960px){.exercise-browser-filters{grid-template-columns:1fr 1fr 1fr}.exercise-form-row{grid-template-columns:1fr}}@media(max-width:640px){.exercise-browser-backdrop{padding:6px}.exercise-browser{width:100%;height:98vh}.exercise-browser-filters{grid-template-columns:1fr 1fr;padding:10px}.exercise-browser-list{padding:10px}.exercise-browser-item{grid-template-columns:auto 1fr}.exercise-browser-item-actions{grid-column:1 / -1;flex-direction:row;justify-content:flex-end}.exercise-browser>footer{padding:10px;flex-direction:column;gap:8px}.exercise-form-card{width:98%;max-height:95vh}}.dbsync-overlay{position:fixed;inset:0;background:#0a0f1ec7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:dbsyncFadeIn .2s ease-out}@keyframes dbsyncFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.dbsync-modal{background:#111827;color:#f3f4f6;border:1px solid rgba(255,255,255,.12);border-radius:16px;width:100%;max-width:580px;box-shadow:0 24px 60px #0009,0 0 0 1px #6366f133;display:flex;flex-direction:column;overflow:hidden}.dbsync-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.dbsync-header h2{margin:0;font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:.6rem;color:#fff}.dbsync-header h2 .dbsync-icon{font-size:1.35rem}.dbsync-close{background:transparent;border:none;color:#9ca3af;font-size:1.4rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;line-height:1;transition:all .15s}.dbsync-close:hover{background:#ffffff1a;color:#fff}.dbsync-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;max-height:75vh;overflow-y:auto}.dbsync-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.dbsync-stat-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.9rem 1rem}.dbsync-stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;margin-bottom:.35rem}.dbsync-stat-val{font-size:1.15rem;font-weight:700;color:#60a5fa}.dbsync-info-box{background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:10px;padding:.9rem 1rem;font-size:.85rem;line-height:1.45;color:#cbd5e1}.dbsync-info-box p{margin:0 0 .4rem}.dbsync-info-box p:last-child{margin-bottom:0}.dbsync-info-box input{width:100%;margin-top:.8rem;padding:.8rem .9rem;border:1px solid #475569;border-radius:.6rem;background:#0f172a;color:#f8fafc;font:inherit;letter-spacing:.04em}.dbsync-status-banner{padding:.85rem 1rem;border-radius:8px;font-size:.88rem;font-weight:500;display:flex;align-items:center;gap:.6rem}.dbsync-status-banner.success{background:#10b98126;border:1px solid rgba(16,185,129,.35);color:#34d399}.dbsync-status-banner.info{background:#3b82f626;border:1px solid rgba(59,130,246,.35);color:#93c5fd}.dbsync-status-banner.warning{background:#f59e0b26;border:1px solid rgba(245,158,11,.35);color:#fbbf24}.dbsync-status-banner.error{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#f87171}.dbsync-progress-bar{width:100%;height:6px;background:#ffffff1a;border-radius:999px;overflow:hidden;margin-top:.5rem}.dbsync-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:999px;animation:dbsyncIndeterminate 1.5s infinite linear;width:50%}@keyframes dbsyncIndeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.dbsync-actions{display:flex;flex-direction:column;gap:.6rem}.dbsync-btn-primary{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;border:none;font-weight:600;font-size:.95rem;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;box-shadow:0 4px 12px #2563eb4d}.dbsync-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#4338ca);transform:translateY(-1px);box-shadow:0 6px 16px #2563eb66}.dbsync-btn-primary:disabled{opacity:.6;cursor:not-allowed}.dbsync-btn-secondary{background:#ffffff0f;color:#e5e7eb;border:1px solid rgba(255,255,255,.12);font-weight:500;font-size:.88rem;padding:.6rem 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .15s}.dbsync-btn-secondary:hover:not(:disabled){background:#ffffff1a;color:#fff}.dbsync-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.dbsync-btn-danger{background:transparent;color:#9ca3af;border:none;font-size:.8rem;padding:.4rem;cursor:pointer;text-decoration:underline;transition:color .15s}.dbsync-btn-danger:hover{color:#f87171}.dbsync-tool-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.82rem;font-weight:600;border-radius:8px;border:1px solid rgba(59,130,246,.35);background:#3b82f61f;color:#93c5fd;cursor:pointer;transition:all .15s}.dbsync-tool-btn:hover{background:#3b82f638;border-color:#3b82f68c;color:#fff}.dbsync-tool-btn .dbsync-dot{width:7px;height:7px;border-radius:50%;background:#10b981;display:inline-block}.dbsync-tool-btn .dbsync-dot.pulse{animation:dbsyncDotPulse 1.8s infinite}@keyframes dbsyncDotPulse{0%{transform:scale(.9);opacity:.7}50%{transform:scale(1.3);opacity:1}to{transform:scale(.9);opacity:.7}}.selected-topics-chip-bar{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.6rem .75rem;margin-bottom:.75rem}.selected-topics-chip-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;color:#9ca3af;margin-bottom:.4rem}.selected-topics-chip-list{display:flex;flex-wrap:wrap;gap:.4rem;max-height:120px;overflow-y:auto}.selected-topic-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .5rem;background:#3b82f62e;border:1px solid rgba(59,130,246,.4);color:#e0e7ff;border-radius:6px;font-size:.78rem;line-height:1.2}.selected-topic-chip .chip-year{font-size:.7rem;font-weight:700;background:#3b82f666;padding:.1rem .3rem;border-radius:4px}.selected-topic-chip .chip-title{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-topic-chip .chip-remove{background:transparent;border:none;color:#9ca3af;cursor:pointer;font-size:.85rem;line-height:1;padding:0;display:inline-flex;align-items:center}.selected-topic-chip .chip-remove:hover{color:#f87171}.topic-year-group-header{position:sticky;top:0;z-index:2;background:#1e293b;color:#cbd5e1;padding:.4rem .6rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-left:3px solid var(--subject-accent, #3b82f6);margin:.4rem 0 .2rem;display:flex;align-items:center;justify-content:space-between}.main-layout{grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:20px;padding:20px}.preview-panel,.sidebar-panel{min-width:0;scroll-margin-top:100px}.workspace-progress{position:sticky;top:0;z-index:40;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 20px;background:var(--bg-card, white);border-bottom:1px solid var(--border-color, #d1d5db)}.workspace-progress a{display:inline-flex;align-items:center;gap:6px;color:var(--text-main, #172a3a);text-decoration:none;font-weight:600}.workspace-progress a b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e1eeff;color:#194c92}.workspace-progress [role=status]{flex:1;font-size:12px;color:var(--text-muted, #526176)}.workspace-progress button,.workspace-actions button,.exam-archive-list button,.workspace-dialog header button,.exercise-item-actions button,.editor-field-tabs button{padding:8px 11px;min-height:36px;border:1px solid var(--border-color, #bcc9d6);border-radius:7px;background:var(--bg-card, white);color:var(--text-main, #172a3a);font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #357be2;outline-offset:3px}.support-options summary{cursor:pointer;font-weight:650;padding:14px 16px}.support-options>:not(summary){margin:10px 16px}.unified-action-hub{gap:12px}.hub-group-left,.hub-group-right{gap:8px;flex-wrap:wrap}.hub-btn-preview{min-height:40px}.card-title,.topic-name,.topic-title,.form-select,.form-input,.search-input{font-size:14px}.paper-container{padding:28px 36px;min-height:1060px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box}.exercise-heading-line{flex-wrap:wrap;gap:8px}.exercise-item-actions{display:flex;gap:5px;flex-wrap:wrap}.exercise-item-actions button{font-size:12px}.exercise-item-actions button[aria-pressed=true]{color:#805317;background:#fff3d6;border-color:#bb891f}.editor-field-tabs{display:flex;gap:7px;margin:12px 0}.editor-field-tabs button[aria-pressed=true]{background:#215cca;color:#fff;border-color:#215cca}.focused-exercise-editor>small{display:block;margin:10px 0;color:#526176}.advanced-exam-options summary{cursor:pointer;font-size:13px}.workspace-dialog{border:1px solid #cad5e0;border-radius:16px;width:min(780px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;color:var(--text-main, #172a3a);background:var(--bg-card, white)}.workspace-dialog.wide{width:min(1100px,calc(100vw - 32px))}.workspace-dialog::backdrop{background:#0b1f39aa}.workspace-dialog-inner{padding:24px}.workspace-dialog header{display:flex;justify-content:space-between;align-items:center;gap:20px}.workspace-dialog h2{font-size:21px;margin:0}.workspace-dialog p{line-height:1.6}.workspace-actions{display:flex;flex-wrap:wrap;gap:10px}.project-file-label{display:grid;gap:5px;font-size:13px}.exam-archive-list{padding:0;list-style:none}.exam-archive-list li{display:flex;gap:10px;padding:16px 0;border-top:1px solid #cbd5e1;align-items:center}.exam-archive-list li>div{flex:1}.exam-archive-list small{display:block;margin-top:5px}#export-exam{scroll-margin-top:90px}.export-options{display:flex;flex-wrap:wrap;gap:10px;width:100%}.export-options label{display:grid;gap:5px;font-size:13px}.export-options select{padding:7px;border:1px solid #bdcbd8;border-radius:6px;background:var(--bg-card, white);color:var(--text-main, #172a3a);max-width:100%}@media(min-width:1051px)and (max-width:1200px){.banner-subtitle-text{display:none}}@media(max-width:900px){.main-layout{grid-template-columns:1fr;padding:12px}.workspace-progress [role=status]{flex-basis:100%}}@media print{.workspace-progress,.workspace-dialog,.exercise-item-actions,.editor-field-tabs,.focused-exercise-editor>small{display:none!important}}.workspace-dialog{position:fixed;margin:auto;inset:0}.workspace-dialog header{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;padding-bottom:12px}.paper-exercise-item .katex-display{margin:1em 0;padding-top:4px;padding-bottom:4px}.paper-exercises-list{display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:16px}.paper-exercise-item{display:flex;flex-direction:column;flex:1;justify-content:space-between;min-height:0;padding-bottom:12px}.paper-exercise-item .formatted-math-content{font-size:14px;line-height:1.6}.paper-exercise-item .katex-display{margin:.65em 0;padding:4px 8px}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-grid>.form-group{min-width:0}.config-grid .form-input,.config-grid .form-select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}[data-tour=config-panel] .config-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}[data-tour=config-panel] .form-help{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.45}.progressive-flow-nav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;background:var(--bg-card, #ffffff);border-bottom:2px solid var(--border-color, #cbd5e1);padding:8px 24px;box-shadow:0 2px 4px #0000000a}.progressive-flow-steps{display:flex;align-items:center;gap:12px}.flow-step-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card-secondary, #f8fafc);color:var(--text-muted, #475569);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.flow-step-btn:hover{background:var(--bg-app, #f1f5f9);color:var(--text-main, #1e293b)}.flow-step-btn.active{background:var(--accent-blue, #2563eb);color:#fff;border-color:var(--accent-blue, #2563eb);box-shadow:0 2px 6px #2563eb40}.flow-step-number{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ffffff40;font-size:12px;font-weight:700}.flow-step-btn:not(.active) .flow-step-number{background:var(--border-color, #cbd5e1);color:var(--text-main, #1e293b)}.flow-step-arrow{color:var(--border-color, #cbd5e1);font-size:18px}.presets-container{margin-bottom:16px;padding:14px;background:var(--bg-card-secondary, #f8fafc);border:1px solid var(--border-color, #cbd5e1);border-radius:10px}.presets-title{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;margin-bottom:10px;color:var(--text-title, #0f172a)}.presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.preset-chip-btn{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border-radius:6px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-card, #ffffff);color:var(--text-main, #1e293b);font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.preset-chip-btn:hover{border-color:var(--accent-blue, #2563eb);background:var(--accent-blue-light, #eff6ff)}.preset-chip-desc{font-size:11px;font-weight:400;color:var(--text-muted, #64748b);margin-top:2px}.selected-topics-badge-bar{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;padding:8px 10px;background:var(--accent-blue-light, #eff6ff);border:1px solid var(--accent-blue-border, #bfdbfe);border-radius:6px}.topic-badge-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:#fff;border:1px solid #93c5fd;border-radius:12px;font-size:12px;font-weight:600;color:#1e40af}@media(max-width:1024px){.main-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:14px;padding:14px}.paper-container{padding:20px 24px}}@media(max-width:960px){.main-layout{display:flex;flex-direction:column;padding:12px}.sidebar-panel{width:100%}.progressive-flow-nav{padding:8px 12px}.flow-step-btn{padding:6px 10px;font-size:13px}}
