@import "https://fonts.cdnfonts.com/css/aileron";*,:before,:after{box-sizing:border-box}:root{--sans:system-ui, "Segoe UI", Arial, sans-serif;--mono:ui-monospace, Consolas, monospace;--ui-bg:#f8f7fb;--ui-border:#e2e0ea;--ui-text:#374151;--ui-text-muted:#6b7280;--ui-accent:#4f46e5;--ui-accent-hover:#4338ca;--ui-danger:#dc2626;font-family:var(--sans);color:var(--ui-text);-webkit-font-smoothing:antialiased;background:#fff;font-size:14px}body{margin:0}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}textarea{resize:vertical}.onboarding-layout{background:#f4f3f8;justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.onboarding-card{background:#fff;border-radius:16px;flex-direction:column;gap:20px;width:100%;max-width:560px;padding:40px 44px;display:flex;box-shadow:0 4px 24px #0000001a,0 0 0 1px #0000000d}.onboarding-card--error{background:#fff5f5;border:2px solid #fca5a5}.onboarding-logo-clip{align-self:center;align-items:center;height:200px;display:flex;overflow:hidden}.onboarding-logo-img{height:333.333px;display:block}.onboarding-title{color:#1a1a2e;margin:0;font-size:22px;font-weight:700}.onboarding-body{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.onboarding-name-row{flex-direction:column;gap:6px;display:flex}.onboarding-label{color:#374151;font-size:13px;font-weight:600}.onboarding-input{color:#1f2937;box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:14px;transition:border-color .15s}.onboarding-input:focus{border-color:#4f46e5}.onboarding-courses{flex-direction:column;gap:6px;display:flex}.onboarding-board-key{border-bottom:1px solid #f3f4f6;grid-template-columns:1fr repeat(4,40px);gap:6px;padding:0 0 4px;display:grid}.onboarding-board-label{color:#9ca3af;text-align:center;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.onboarding-qual-row{border-bottom:1px solid #f9fafb;grid-template-columns:1fr repeat(4,40px);align-items:center;gap:6px;padding:6px 0;display:grid}.onboarding-qual-name{color:#374151;font-size:13px;font-weight:500}.onboarding-boards{display:contents}.onboarding-board-btn{cursor:pointer;color:#0000;background:#f9fafb;border:1.5px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;margin:0 auto;font-size:12px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:flex}.onboarding-board-btn:hover{background:#eef2ff;border-color:#a5b4fc}.onboarding-board-btn--on{color:#fff;background:#4f46e5;border-color:#4f46e5}.onboarding-hint{color:#9ca3af;text-align:center;font-size:13px}.onboarding-error{color:#dc2626;background:#fee2e2;border-radius:6px;margin:0;padding:8px 12px;font-size:13px}.onboarding-submit{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600;transition:background .15s}.onboarding-submit:hover{background:#4338ca}.onboarding-submit:disabled{cursor:not-allowed;background:#a5b4fc}.onboarding-code{color:#374151;white-space:pre-wrap;word-break:break-all;background:#f3f4f6;border-radius:6px;margin:0;padding:12px 16px;font-size:12px}.onboarding-magic-form{flex-direction:column;gap:10px;display:flex}.onboarding-sent{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px 0;display:flex}.onboarding-sent-icon{font-size:40px;line-height:1}.onboarding-sent-heading{color:#1a1a2e;margin:0;font-size:18px;font-weight:700}.onboarding-sent-body{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.onboarding-retry{color:#4f46e5;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;text-decoration:underline}.onboarding-single-section{flex-direction:column;gap:2px;margin-top:10px;display:flex}.onboarding-single-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #f3f4f6;margin-bottom:4px;padding-bottom:6px;font-size:11px;font-weight:700}.onboarding-single-row{border-bottom:1px solid #f9fafb;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.onboarding-sso-group{flex-direction:column;gap:10px;display:flex}.onboarding-sso-btn{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:9px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px 16px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.onboarding-sso-btn:hover{background:#f5f3ff;border-color:#4f46e5}.onboarding-sso-btn--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.onboarding-sso-btn--disabled:hover{background:#fff;border-color:#d1d5db}.onboarding-sso-recommended-wrap{position:relative}.onboarding-sso-badge{text-transform:uppercase;letter-spacing:.5px;color:#16a34a;background:#dcfce7;border-radius:4px;margin-bottom:6px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.onboarding-sso-coming-soon{text-transform:uppercase;letter-spacing:.4px;color:#9ca3af;background:#f3f4f6;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.onboarding-sso-icon{flex-shrink:0;width:18px;height:18px}.onboarding-divider{color:#9ca3af;align-items:center;gap:12px;font-size:12px;display:flex}.onboarding-divider:before,.onboarding-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.profile-linked-section{border-top:1px solid #f3f4f6;padding:20px 32px}.profile-linked-title{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;font-size:12px;font-weight:700}.profile-linked-list{flex-direction:column;gap:8px;display:flex}.profile-linked-row{align-items:center;gap:10px;font-size:13px;display:flex}.profile-linked-connected{color:#6b7280;flex:1;align-items:center;gap:6px;display:flex}.profile-linked-badge{color:#10b981;background:#d1fae5;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.profile-linked-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#f9fafb;border:1.5px solid #d1d5db;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600;transition:border-color .15s}.profile-linked-btn:hover{color:#4f46e5;border-color:#4f46e5}.profile-linked-error{color:#dc2626;margin:4px 0 0;font-size:12px}.onboarding-custom-board{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:14px}.onboarding-custom-board-trigger{color:#6b7280;cursor:pointer;text-align:center;background:0 0;border:1.5px dashed #d1d5db;border-radius:8px;width:100%;padding:8px 16px;font-size:13px;transition:border-color .15s,color .15s}.onboarding-custom-board-trigger:hover{color:#4f46e5;border-color:#4f46e5}.onboarding-custom-board-form{background:#f9fafb;border-radius:10px;padding:14px}.onboarding-custom-subjects{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.onboarding-custom-subject{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;transition:border-color .12s;display:flex}.onboarding-custom-subject:has(input:checked){color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.onboarding-custom-subject input{accent-color:#4f46e5}.onboarding-custom-board-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.topbar{color:#fff;background:#1a1a2e;border-bottom:1px solid #2d2d44;flex-shrink:0;align-items:center;gap:24px;height:88px;padding:0 20px;display:flex}.topbar-brand{align-items:center;text-decoration:none;display:flex}.topbar-logo-clip{align-items:center;height:88px;display:flex;overflow:hidden}.topbar-logo{filter:invert();height:146.667px;display:block}.topbar-nav{gap:4px;display:flex}.topbar-nav-link{color:#9ca3af;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.topbar-nav-link:hover{color:#e2e8f0;background:#ffffff12}.topbar-nav-link--active{color:#e2e8f0;background:#ffffff1a}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-avatar{color:#fff;background:#4f46e5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:4px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex}.topbar-avatar:hover{background:#4338ca}.topbar-avatar--active{box-shadow:0 0 0 2px #fff,0 0 0 4px #4f46e5}.btn-topbar{color:#c7c7d9;cursor:pointer;background:0 0;border:1px solid #3d3d5c;border-radius:6px;align-items:center;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.btn-topbar:hover,.btn-topbar--active{color:#fff;background:#2d2d44}.btn-topbar--ai{color:#c4b5fd;border-color:#6d28d9}.btn-topbar--ai:hover{color:#ddd6fe;background:#2d1d4e}.btn-topbar--share{color:#a5b4fc;border-color:#4f46e5}.btn-topbar--share:hover{color:#c7d2fe;background:#1e1b4b}.btn-topbar--quiz{color:#67e8f9;border-color:#0891b2}.btn-topbar--quiz:hover{color:#a5f3fc;background:#083344}.mode-toggle{background:#2d2d44;border-radius:6px;gap:2px;padding:2px;display:flex}.mode-toggle-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.mode-toggle-btn--active{color:#fff;background:#4f46e5}.mode-toggle-btn:not(.mode-toggle-btn--active):hover{color:#e5e7eb}.btn-download{color:#fff;cursor:pointer;background:#4f46e5;border-radius:6px;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.btn-download:hover{background:#4338ca}.topbar-nav-link--admin{color:#fbbf24}.topbar-nav-link--admin:hover{color:#fde68a}.oak-dir{flex-direction:column;gap:10px;display:flex}.oak-dir-badge{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:20px;align-items:center;gap:6px;width:fit-content;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.oak-dir-badge:before{content:"";background:#16a34a;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.oak-dir-loading{color:#9ca3af;text-align:center;padding:20px;font-size:13px}.oak-dir-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:12px}.oak-dir-tree{background:#fff;border:1px solid #e5e7eb;border-radius:10px;max-height:400px;overflow-y:auto}.oak-dir-year-label{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;z-index:1;background:#f9fafb;border-bottom:1px solid #f3f4f6;padding:8px 12px 4px;font-size:10px;font-weight:700;position:sticky;top:0}.oak-dir-topic{border-bottom:1px solid #f3f4f6}.oak-dir-topic:last-child{border-bottom:none}.oak-dir-topic-btn{text-align:left;cursor:pointer;color:#111827;background:0 0;border:none;align-items:baseline;gap:8px;width:100%;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.oak-dir-topic-btn:hover{background:#f3f4f6}.oak-dir-topic-btn--open{background:#f3f4f6;font-weight:600}.oak-dir-chevron{color:#9ca3af;flex-shrink:0;margin-top:1px;font-size:8px}.oak-dir-topic-title{flex:1;line-height:1.3}.oak-dir-lessons{background:#fafafa;border-top:1px solid #f3f4f6}.oak-dir-lessons-status{color:#9ca3af;padding:8px 12px 8px 28px;font-size:12px}.oak-dir-lesson{border-bottom:1px solid #f3f4f6}.oak-dir-lesson:last-child{border-bottom:none}.oak-dir-lesson--selected{background:#eef2ff}.oak-dir-lesson-btn{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:7px 12px 7px 28px;font-size:12.5px;line-height:1.3;transition:background .1s}.oak-dir-lesson-btn:hover{background:#f3f4f6}.oak-dir-lesson--selected .oak-dir-lesson-btn{color:#4f46e5;font-weight:600}.oak-dir-lesson-actions{gap:8px;padding:4px 12px 10px 28px;display:flex}.oak-tooltip-wrap{position:relative}.oak-tooltip{color:#f9fafb;z-index:200;pointer-events:none;visibility:hidden;opacity:0;background:#1f2937;border-radius:8px;width:220px;padding:9px 12px;font-size:12px;font-weight:400;line-height:1.5;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 4px 12px #00000040}.oak-tooltip:after{content:"";border:6px solid #0000;border-top-color:#1f2937;position:absolute;top:100%;left:16px}.oak-tooltip-wrap:hover .oak-tooltip{visibility:visible;opacity:1}.oak-dir-action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:background .12s}.oak-dir-action-btn--seed{color:#fff;background:#4f46e5}.oak-dir-action-btn--seed:hover:not(:disabled){background:#4338ca}.oak-dir-action-btn--import{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb}.oak-dir-action-btn--import:hover:not(:disabled){background:#e5e7eb}.oak-dir-action-btn:disabled{opacity:.55;cursor:not-allowed}.oak-dir-skip-btn{color:#9ca3af;cursor:pointer;text-underline-offset:2px;text-align:left;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.oak-dir-skip-btn:hover{color:#6b7280}.oak-dir-search{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:8px;outline:none;width:100%;padding:7px 12px;font-size:13px}.oak-dir-search:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51f}.oak-dir-search-loading{color:#9ca3af;padding:2px 0;font-size:11px}.wizard-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.wizard-panel{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #0003}.wizard-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.wizard-title{color:#1a1a2e;margin:0;font-size:17px;font-weight:700}.wizard-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px;transition:color .1s,background .1s}.wizard-close:hover{color:#374151;background:#f3f4f6}.wizard-body{flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex;overflow-y:auto}.wizard-hint{color:#6b7280;margin:0;font-size:14px}.wizard-empty{color:#9ca3af;margin:0;font-size:14px;font-style:italic}.wizard-course-grid{flex-direction:column;gap:8px;display:flex}.wizard-course-btn{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.wizard-course-btn:hover{border-color:var(--course-color,#4f46e5);background:#f9fafb}.wizard-course-btn--selected{border-color:var(--course-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb, var(--course-color,#4f46e5) 15%, transparent);background:#f9fafb}.wizard-course-board{text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--course-color,#374151);white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.wizard-course-name{color:#1f2937;font-size:14px;font-weight:500}.wizard-field{flex-direction:column;gap:6px;display:flex}.wizard-label{color:#374151;font-size:12px;font-weight:600}.wizard-select,.wizard-input{color:#1f2937;background:#fff;border:1.5px solid #d1d5db;border-radius:6px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.wizard-select:focus,.wizard-input:focus{border-color:#4f46e5}.wizard-field-hint{color:#9ca3af;margin:0;font-size:11px}.wizard-actions{gap:10px;margin-top:4px;display:flex}.wizard-btn{cursor:pointer;border:none;border-radius:7px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .15s}.wizard-btn--back{color:#374151;background:#f3f4f6;flex:0}.wizard-btn--back:hover{background:#e5e7eb}.wizard-btn--confirm{color:#fff;background:#4f46e5;flex:1}.wizard-btn--confirm:hover{background:#4338ca}.wizard-btn--confirm:disabled{cursor:not-allowed;background:#a5b4fc}.wizard-type-grid{flex-direction:column;gap:8px;display:flex}.wizard-type-btn{cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.wizard-type-btn:hover{background:#fafafa;border-color:#818cf8}.wizard-type-btn--selected{background:#f5f3ff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.wizard-type-btn:disabled{opacity:.6;cursor:not-allowed}.wizard-type-icon{text-align:center;flex-shrink:0;width:32px;font-size:20px}.wizard-type-info{flex-direction:column;gap:2px;display:flex}.wizard-type-label{color:#1f2937;font-size:13px;font-weight:600}.wizard-textarea{color:#1f2937;resize:vertical;background:#fff;border:1.5px solid #d1d5db;border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.wizard-textarea:focus{border-color:#4f46e5}.wizard-textarea:disabled{color:#9ca3af;background:#f9fafb}.wizard-optional{color:#9ca3af;font-weight:400}.wizard-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin:0;padding:8px 12px;font-size:12px}.wizard-actions--mode{flex-wrap:wrap}.wizard-blank-card{text-align:left;cursor:pointer;background:#f5f3ff;border:2px solid #4f46e5;border-left-width:4px;border-radius:10px;width:100%;padding:14px 16px;transition:background .15s,box-shadow .15s}.wizard-blank-card:hover:not(:disabled){background:#ede9fe;box-shadow:0 0 0 3px #4f46e526}.wizard-blank-card:disabled{opacity:.5;cursor:not-allowed}.wizard-blank-card-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.wizard-blank-card-title{color:#3730a3;font-size:14px;font-weight:700}.wizard-blank-badge{text-transform:uppercase;letter-spacing:.4px;color:#16a34a;background:#dcfce7;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}.wizard-blank-card-desc{color:#4338ca;margin:0;font-size:12px;line-height:1.55}.wizard-ai-divider{text-align:center;color:#9ca3af;padding:4px 0;font-size:11px;font-weight:500}.wizard-type-prefix{color:#9ca3af;text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:10px;font-weight:600;display:block}.wizard-type-desc{color:#6b7280;font-size:11px;line-height:1.5}.wizard-btn--generate{color:#fff;white-space:nowrap;background:#4f46e5;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.wizard-btn--generate:hover:not(:disabled){background:#4338ca}.wizard-btn--generate:disabled{cursor:not-allowed;background:#a5b4fc}.wizard-maths-options{background:#f8f7ff;border:1px solid #e0e7ff;border-radius:10px;flex-direction:column;gap:16px;padding:16px;display:flex}.wizard-difficulty-badge{color:#4f46e5;margin-left:8px;font-size:12px;font-weight:600}.wizard-slider-row{align-items:center;gap:10px;margin-top:6px;display:flex}.wizard-slider-label{color:#9ca3af;white-space:nowrap;font-size:11px}.wizard-slider{accent-color:#4f46e5;cursor:pointer;flex:1}.wizard-eq-count{color:#6b7280;margin-left:8px;font-size:12px;font-weight:400}.wizard-eq-grid{flex-direction:column;gap:4px;max-height:200px;margin-top:6px;padding-right:4px;display:flex;overflow-y:auto}.wizard-eq-btn{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;transition:border-color .12s,background .12s;display:flex}.wizard-eq-btn:hover:not(:disabled){background:#f5f3ff;border-color:#a5b4fc}.wizard-eq-btn--on{background:#ede9fe;border-color:#4f46e5}.wizard-eq-check{color:#4f46e5;flex-shrink:0;width:16px;font-size:11px;font-weight:700}.wizard-eq-info{flex-direction:column;gap:1px;display:flex}.wizard-eq-name{color:#1f2937;font-size:12px;font-weight:600}.wizard-eq-formula{color:#6b7280;font-family:monospace;font-size:11px}.gen-screen{flex-direction:column;justify-content:flex-end;align-items:center;gap:20px;min-height:300px;padding:0 32px 40px;display:flex;position:relative;overflow:hidden}.gen-logo{object-fit:contain;object-position:center top;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:translateY(-20%)}.gen-content{z-index:1;background:linear-gradient(#0000 0%,#ffffffb8 30%,#ffffffeb 100%);border-radius:0 0 14px 14px;flex-direction:column;align-items:center;gap:14px;width:100%;padding:16px 24px 4px;display:flex;position:relative}.gen-phrase{color:#4b5563;text-align:center;min-height:20px;font-size:14px;font-style:italic;transition:opacity .4s}.gen-bar-track{background:#e5e7eb;border-radius:99px;width:100%;max-width:320px;height:6px;overflow:hidden}.gen-bar-fill{background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:99px;height:100%;transition:width .5s ease-out}.gen-subtext{color:#9ca3af;margin:0;font-size:12px}.wizard-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite wizard-spin;display:inline-block}@keyframes wizard-spin{to{transform:rotate(360deg)}}.wizard-accordion{border:1.5px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:2px;max-height:340px;padding:4px;display:flex;overflow-y:auto}.wizard-accordion-selected{color:#4f46e5;background:#eef2ff;border-radius:5px;margin-bottom:4px;padding:6px 10px;font-size:12px}.wizard-accordion-section{border-radius:6px;overflow:hidden}.wizard-accordion-header{cursor:pointer;text-align:left;background:#f9fafb;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;transition:background .12s;display:flex}.wizard-accordion-header:hover{background:#f3f4f6}.wizard-accordion-header--open{background:#eef2ff}.wizard-accordion-ref{color:#4f46e5;min-width:32px;font-size:12px;font-weight:700}.wizard-accordion-title{color:#1f2937;flex:1;font-weight:500}.wizard-accordion-chevron{color:#9ca3af;font-size:11px}.wizard-accordion-body{flex-direction:column;gap:1px;padding:2px 4px 4px;display:flex}.wizard-accordion-lesson{cursor:pointer;text-align:left;color:#374151;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:12.5px;transition:background .1s;display:flex}.wizard-accordion-lesson:hover{background:#f3f4f6}.wizard-accordion-lesson--selected{color:#fff;background:#4f46e5}.wizard-accordion-lesson--selected .wizard-accordion-lesson-ref{color:#ffffffb3}.wizard-accordion-lesson-ref{color:#9ca3af;min-width:36px;font-size:11px;font-weight:600}.wizard-oak-selected{background:#dcfce7;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 12px;font-size:12px;display:flex}.wizard-oak-selected-label{color:#166534;flex-shrink:0;font-weight:600}.wizard-oak-selected-title{color:#15803d;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.wizard-oak-selected-clear{color:#16a34a;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:14px}.oak-prompt-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex}.oak-prompt-badge{color:#166534;align-items:center;gap:6px;width:fit-content;font-size:11px;font-weight:700;display:inline-flex}.oak-prompt-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:6px;height:6px}.oak-prompt-heading{color:#111827;margin:0;font-size:15px;font-weight:700}.oak-prompt-optional{color:#6b7280;font-size:12px;font-weight:400}.oak-prompt-desc{color:#374151;margin:0;font-size:13px;line-height:1.5}.oak-prompt-benefits{flex-direction:column;gap:5px;display:flex}.oak-prompt-benefits span{color:#166534;font-size:12.5px;font-weight:500}.oak-prompt-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.welcome-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f0f1eb3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.welcome-modal{background:#fff;border-radius:16px;flex-direction:column;gap:20px;width:100%;max-width:540px;padding:40px 44px;display:flex;box-shadow:0 24px 64px #0003}.welcome-logo-img{height:56px;display:block}.welcome-title{color:#1a1a2e;margin:0;font-size:20px;font-weight:700;line-height:1.3}.welcome-body{flex-direction:column;gap:12px;display:flex}.welcome-para{color:#374151;margin:0;font-size:14px;line-height:1.65}.welcome-consent{cursor:pointer;background:#f5f3ff;border:1.5px solid #ddd6fe;border-radius:10px;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.welcome-consent input[type=checkbox]{accent-color:#4f46e5;cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:2px}.welcome-consent span{color:#374151;font-size:13px;line-height:1.5}.welcome-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:10px;align-self:stretch;padding:13px 24px;font-size:15px;font-weight:700;transition:background .15s,opacity .15s}.welcome-btn:hover:not(:disabled){background:#4338ca}.welcome-btn:disabled{opacity:.45;cursor:not-allowed}.home-layout{background:#f4f3f8;flex-direction:column;min-height:100vh;display:flex}.home-main{flex-direction:column;flex:1;gap:48px;width:100%;max-width:1100px;margin:0 auto;padding:40px 32px;display:flex}.home-hero{color:#fff;background:#1a1a2e;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:36px 40px;display:flex}.home-hero-title{color:#f1f5f9;margin:0 0 6px;font-size:28px;font-weight:700}.home-hero-sub{color:#94a3b8;margin:0;font-size:16px}.home-hero-cta{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:10px;flex-shrink:0;padding:13px 28px;font-size:15px;font-weight:600;transition:background .15s,transform .1s}.home-hero-cta:hover{background:#4338ca;transform:translateY(-1px)}.home-section{flex-direction:column;gap:16px;display:flex}.home-section-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.home-section-title{color:#1a1a2e;margin:0;font-size:18px;font-weight:700}.home-section-link{color:#4f46e5;font-size:13px;font-weight:500;text-decoration:none}.home-section-link:hover{text-decoration:underline}.home-recent-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.recent-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #00000012;border-radius:10px;flex-direction:row;padding:0;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000014}.recent-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.recent-card-strip{flex-shrink:0;width:5px}.recent-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;padding:12px 14px;display:flex}.recent-card-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.recent-card-board{text-transform:uppercase;letter-spacing:.5px;color:#fff;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.recent-card-tier{color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-weight:600}.recent-card-title{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.recent-card-topic{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.recent-card-qual{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.recent-card-foot{color:#9ca3af;margin-top:4px;font-size:10px}.recent-card-wrap{flex-direction:column;display:flex}.recent-card-quiz-link{cursor:pointer;color:#0891b2;text-align:left;background:0 0;border:none;padding:4px 0 0;font-size:11px;font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s}.recent-card-quiz-link:hover{text-decoration-color:#0891b2}.home-loading{color:#9ca3af;padding:32px 0;font-size:14px}.home-empty{color:#9ca3af;flex-direction:column;align-items:center;gap:12px;padding:60px 0;font-size:14px;display:flex}.home-empty-icon{opacity:.4;font-size:40px}.preview-block-wrap{cursor:pointer;outline-offset:2px;border-radius:3px;outline:2px solid #0000;position:relative}.preview-block-wrap:hover{outline-color:#6366f180}.preview-block-wrap--selected{outline-color:#4f46e5}.preview-block-wrap--selected:after{content:"Editing";text-transform:uppercase;letter-spacing:.4px;color:#fff;pointer-events:none;background:#4f46e5;border-radius:0 2px 0 3px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-1px;right:-1px}.preview-block-wrap--draggable{cursor:grab}.preview-block-wrap--draggable:active{cursor:grabbing}.preview-block-wrap--draggable:after{content:"⠿ drag to attach";text-transform:uppercase;letter-spacing:.4px;color:#fff;pointer-events:none;background:#0891b2;border-radius:0 2px 0 3px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-1px;right:-1px}.preview-block-wrap--drop-zone{outline-style:dashed;outline-color:#16a34a}.preview-block-wrap--drop-zone:after{content:"Drop to attach";text-transform:uppercase;letter-spacing:.4px;color:#fff;pointer-events:none;background:#16a34a;border-radius:0 2px 0 3px;padding:1px 5px;font-size:9px;font-weight:700;position:absolute;top:-1px;right:-1px}.a4-page{box-sizing:border-box;color:#000;background:#fff;flex-shrink:0;width:794px;height:1123px;padding:68px;font-family:Arial,Helvetica Neue,sans-serif;font-size:11pt;line-height:1.45;position:relative;overflow:hidden;box-shadow:0 2px 12px #0003,0 0 0 1px #0000000f}.a4-page-number{text-align:center;color:#9ca3af;pointer-events:none;font-family:Arial,Helvetica Neue,sans-serif;font-size:8.5pt;position:absolute;bottom:22px;left:0;right:0}.booklet-print-root .a4-page-number:after{content:counter(booklet-page)}@media screen{.ws-pages{flex-direction:column;gap:48px;display:flex}}.pr-placeholder{color:#aaa;font-style:italic;font-weight:400}.pr-q-text p,.pr-information-content p,.pr-worked-step p,.pr-mc-option p,.pr-match-cell p,.pr-step-row p{margin:0;display:block}.pr-q-text p+p,.pr-information-content p+p,.pr-worked-step p+p,.pr-mc-option p+p,.pr-match-cell p+p,.pr-step-row p+p{margin-top:3px}.pr-header{margin-bottom:18px}.pr-header-top-row{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.pr-header-badges{gap:6px;display:flex}.pr-total-marks{color:#374151;white-space:nowrap;font-size:10pt;font-weight:700}.pr-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:2px 7px;font-size:8.5pt;font-weight:700}.pr-badge--board{color:#fff;background:#1e3a5f}.pr-badge--tier{color:#374151;background:#e5e7eb}.pr-title{letter-spacing:-.3px;margin:0 0 3px;font-size:18pt;font-weight:700;line-height:1.2}.pr-topic{color:#374151;margin:0 0 12px;font-size:10pt}.pr-student-fields{flex-wrap:wrap;gap:24px;margin-bottom:12px;font-size:10pt;display:flex}.pr-field-line{align-items:baseline;gap:6px;display:flex}.pr-underline{border-bottom:1px solid #000;width:160px;display:inline-block}.pr-underline--short{width:80px}.pr-header-rule{border:none;border-top:2px solid #000;margin-top:4px}.pr-instructions{background:#f9fafb;border:1px solid #d1d5db;border-radius:3px;margin-bottom:16px;padding:8px 12px}.pr-instructions-list{margin:0;padding-left:18px;font-size:10pt}.pr-instructions-list li+li{margin-top:3px}.pr-question{margin-bottom:20px}.pr-q-continuation{color:#6b7280;margin-bottom:4px;font-size:9pt;font-style:italic}.pr-question-stem{align-items:flex-start;gap:6px;margin-bottom:6px;display:flex}.pr-q-num{flex-shrink:0;min-width:20px;font-weight:700}.pr-q-text{flex:1}.pr-marks{color:#374151;white-space:nowrap;flex-shrink:0;align-self:flex-end;margin-left:8px;font-size:9.5pt}.answer-lines{flex-direction:column;gap:0;margin-left:26px;display:flex}.answer-line{border-bottom:1px solid #9ca3af;height:28px}.pr-parts{flex-direction:column;gap:10px;margin-left:26px;display:flex}.pr-part-stem{align-items:flex-start;gap:6px;margin-bottom:6px;display:flex}.pr-part-label{flex-shrink:0;min-width:22px;font-weight:700}.pr-mc-options{flex-direction:column;gap:5px;margin-top:4px;margin-left:26px;display:flex}.pr-mc-option{align-items:baseline;gap:10px;display:flex}.pr-mc-label{flex-shrink:0;width:18px;font-weight:700}.pr-worked-example{background:#f8faff;border:2px solid #1e3a5f;border-radius:4px;margin-bottom:18px;padding:10px 14px}.pr-worked-title{text-transform:uppercase;letter-spacing:.3px;color:#1e3a5f;margin-bottom:8px;font-size:10.5pt;font-weight:700}.pr-worked-steps{margin:0;padding-left:0;font-size:10.5pt;list-style:none}.pr-worked-step{margin-bottom:4px}.pr-worked-step+.pr-worked-step{margin-top:0}.pr-information{background:#fffbeb;border-left:4px solid #b45309;border-radius:0 3px 3px 0;margin-bottom:18px;padding:8px 12px}.pr-information-heading{color:#b45309;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:10pt;font-weight:700}.pr-information-content{margin:0;font-size:10.5pt;line-height:1.5}.pr-activity-heading{margin:0 0 8px;font-size:10.5pt;font-style:italic}.pr-match{margin-bottom:18px}.pr-match-table{align-items:stretch;gap:0;display:flex}.pr-match-col{flex-direction:column;flex:1;gap:10px;display:flex}.pr-match-cell{border:1px solid #d1d5db;border-radius:4px;align-items:center;min-height:30px;padding:8px 12px;font-size:10.5pt;display:flex}.pr-match-cell--left{background:#f8faff}.pr-match-cell--right{background:#fff}.pr-match-gap{flex-shrink:0;width:16px}.pr-cloze{margin-bottom:18px}.pr-word-bank{background:#f9fafb;border:1px solid #d1d5db;border-radius:3px;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.pr-word-bank-word{background:#fff;border:1px solid #9ca3af;border-radius:3px;padding:2px 8px;font-size:10.5pt}.pr-cloze-text{margin:0;font-size:10.5pt;line-height:1.9}.pr-cloze-blank{vertical-align:text-bottom;border-bottom:1.5px solid #374151;margin:0 2px;display:inline-block}.pr-order-steps{margin-bottom:18px}.pr-steps-list{flex-direction:column;gap:6px;display:flex}.pr-step-row{align-items:center;gap:10px;font-size:10.5pt;display:flex}.pr-step-box{border:1.5px solid #374151;border-radius:3px;flex-shrink:0;width:22px;height:22px;display:inline-block}.pr-step-row--correct .pr-step-num{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#15803d}.pr-step-row--correct{color:#15803d;font-weight:600}.pr-match-cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pr-order-ms-layout{align-items:flex-start;gap:0;display:flex}.pr-order-ms-layout .pr-steps-list{flex:1}.pr-order-ms-divider{background:#d1d5db;flex-shrink:0;align-self:stretch;width:1px;margin:0 16px}.pr-figure{flex-direction:column;align-items:center;margin-bottom:18px;padding:8px;display:flex}.pr-figure-label{color:#6b7280;font-size:9.5pt;font-style:italic}.pr-figure-image{object-fit:contain;max-width:100%;max-height:100%;margin:0 auto 4px;display:block}.pr-data-heading{color:#374151;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:10px;font-weight:700}.pr-data-table{margin-bottom:12px}.pr-table{border-collapse:collapse;width:100%;font-size:10px}.pr-th{color:#374151;text-align:center;background:#f3f4f6;border:1px solid #d1d5db;padding:5px 8px;font-weight:600}.pr-td{color:#1f2937;text-align:center;border:1px solid #d1d5db;min-width:50px;padding:4px 8px}.pr-td--was-hidden{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#dcfce7}.pr-data-graph{margin-bottom:12px}.pr-graph-svg{margin:0 auto;display:block;overflow:visible}.pr-inline-data{margin:8px 0 8px 26px}.pr-ms-page-banner{color:#fff;text-transform:uppercase;letter-spacing:.5px;pointer-events:none;background:#7c3aed;border-radius:3px;padding:2px 10px;font-size:8pt;font-weight:700;position:absolute;top:10px;right:68px}.pr-ms-answer{background:#f0fdf4;border-left:3px solid #16a34a;border-radius:0 3px 3px 0;margin-top:6px;margin-left:26px;padding:6px 10px;font-size:10.5pt}.pr-ms-answer p{margin:0}.pr-ms-answer p+p{margin-top:3px}.pr-mc-option--correct{background:#f0fdf4;border-radius:3px;margin-left:-4px;padding:1px 4px}.pr-ms-tick{color:#16a34a;flex-shrink:0;margin-left:6px;font-weight:700}.pr-cloze-answer{color:#15803d;text-underline-offset:2px;font-weight:700;-webkit-text-decoration:underline #86efac;text-decoration:underline #86efac}.pr-match-arrow-col{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;width:28px;display:flex}.pr-match-arrow{color:#16a34a;align-items:center;min-height:30px;font-size:13pt;font-weight:700;display:flex}.pr-match-cell--correct{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f0fdf4;border-color:#86efac}.pr-step-num{color:#fff;background:#16a34a;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9pt;font-weight:700;display:inline-flex}.pr-numerical-answers{background:#f9fafb;border:2px solid #374151;border-radius:6px;margin-bottom:12px;padding:10px 14px 12px}.pr-numerical-heading{color:#111827;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;font-size:10pt;font-weight:700}.pr-numerical-empty{color:#9ca3af;margin:0;font-size:9pt;font-style:italic}.pr-numerical-grid{flex-wrap:wrap;gap:6px 16px;display:flex}.pr-numerical-item{color:#111827;align-items:center;gap:5px;font-size:10pt;display:inline-flex}.pr-numerical-circle{border:1.5px solid #374151;border-radius:50%;flex-shrink:0;width:13px;height:13px;display:inline-block}.landing{font-family:system-ui,-apple-system,sans-serif}.landing-nav{z-index:100;padding:18px 28px;position:fixed;top:0;right:0}.landing-nav-cta{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff26;border:1px solid #ffffff59;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}.landing-nav-cta:hover{background:#ffffff40;border-color:#ffffff8c}.landing-hero{flex-direction:column;justify-content:flex-end;align-items:center;height:100vh;min-height:540px;display:flex;position:relative;overflow:hidden}.landing-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.landing-hero-haze{background:#00000073;transition:opacity 50ms linear;position:absolute;inset:0}.landing-hero-fade{pointer-events:none;background:linear-gradient(#0000 0%,#fff 100%);height:280px;position:absolute;bottom:0;left:0;right:0}.landing-scroll-hint{z-index:1;color:#374151;flex-direction:column;align-items:center;gap:6px;padding-bottom:40px;text-decoration:none;transition:color .2s;display:flex;position:relative}.landing-scroll-hint:hover{color:#111827}.landing-scroll-label{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.landing-scroll-arrow{animation:1.9s ease-in-out infinite landing-bounce}.landing-scroll-arrow svg{display:block}@keyframes landing-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.landing-tagline-section{text-align:center;background:#fff;flex-direction:column;align-items:center;gap:20px;padding:72px 24px 80px;display:flex}.landing-tagline-title{color:#111827;letter-spacing:-.03em;margin:0;font-family:Aileron,system-ui,sans-serif;font-size:clamp(36px,6vw,72px);font-weight:800;line-height:1.08}.landing-tagline-sub{color:#6b7280;max-width:460px;margin:0;font-size:clamp(16px,1.8vw,20px);line-height:1.6}.landing-demo{background:#f8fafc;flex-direction:column;align-items:center;gap:44px;padding:72px 24px 96px;display:flex}.landing-demo-head{text-align:center;max-width:540px}.landing-demo-title{color:#111827;letter-spacing:-.02em;margin:0 0 12px;font-family:Aileron,system-ui,sans-serif;font-size:clamp(22px,3vw,34px);font-weight:800}.landing-demo-sub{color:#6b7280;margin:0;font-size:15px;line-height:1.65}.demo-carousel{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:680px;display:flex}.demo-tile{background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000000f,0 8px 28px #00000017}.demo-prompt-area{background:#fafafa;border-bottom:1px solid #f0f0f0;padding:16px 20px 14px}.demo-prompt-header{align-items:center;gap:6px;margin-bottom:7px;display:flex}.demo-prompt-icon{color:var(--demo-color,#4338ca);font-size:11px}.demo-prompt-label{letter-spacing:.09em;text-transform:uppercase;color:var(--demo-color,#4338ca);font-size:10px;font-weight:700}.demo-prompt-text{color:#374151;min-height:44px;margin:0;font-size:14px;font-style:italic;line-height:1.55}.demo-cursor{vertical-align:text-bottom;background:#374151;width:1.5px;height:1em;margin-left:1px;animation:.85s step-end infinite demo-blink;display:inline-block}.demo-cursor--hidden{opacity:0;animation:none}@keyframes demo-blink{0%,to{opacity:1}50%{opacity:0}}.demo-result-area{opacity:0;max-height:0;overflow:hidden}.demo-result-area--visible{max-height:700px;animation:.4s forwards demo-result-in}@keyframes demo-result-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.demo-dots{gap:9px;display:flex}.demo-dot{cursor:pointer;background:#d1d5db;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.demo-dot--active{background:#4f46e5;transform:scale(1.3)}.demo-preview-content{padding:16px 20px 20px}.landing-cta-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.landing-cta{color:#fff;background:#4f46e5;border-radius:11px;padding:15px 40px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s,transform .1s;display:inline-block}.landing-cta:hover{background:#4338ca;transform:translateY(-1px)}.landing-cta-note{color:#9ca3af;margin:0;font-size:12px}.ep-field{flex-direction:column;flex:1;gap:4px;display:flex}.ep-label{text-transform:uppercase;letter-spacing:.5px;color:var(--ui-text-muted);font-size:11px;font-weight:600}.ep-field input,.ep-field select,.ep-field textarea{border:1px solid var(--ui-border);width:100%;color:var(--ui-text);background:#fff;border-radius:5px;outline:none;padding:6px 8px;font-size:13px;transition:border-color .15s}.ep-field input:focus,.ep-field select:focus,.ep-field textarea:focus{border-color:var(--ui-accent)}.ep-row{gap:10px;display:flex}.ep-check-row{color:var(--ui-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.ep-check-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--ui-accent);cursor:pointer}.ep-list-editor{flex-direction:column;gap:6px;display:flex}.ep-list-row{align-items:center;gap:6px;display:flex}.ep-list-row input{border:1px solid var(--ui-border);color:var(--ui-text);background:#fff;border-radius:5px;outline:none;flex:1;padding:6px 8px;font-size:13px}.ep-list-row input:focus{border-color:var(--ui-accent)}.ep-list-remove{width:24px;height:24px;color:var(--ui-text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:flex}.ep-list-remove:hover{color:var(--ui-danger);background:#fee2e2}.ep-list-add{border:1px dashed var(--ui-border);color:var(--ui-accent);background:0 0;border-radius:5px;align-self:flex-start;margin-top:2px;padding:4px 10px;font-size:12px}.ep-list-add:hover{border-color:var(--ui-accent);background:#ede9fe}.block-fields{flex-direction:column;gap:12px;padding:12px 14px;display:flex}.ms-divider{border-top:1px dashed #c4b5fd;margin:4px 0;position:relative}.ms-divider:before{content:"Mark Scheme";text-transform:uppercase;letter-spacing:.5px;color:#7c3aed;background:#f8f7fb;padding:0 8px;font-size:10px;font-weight:700;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.figure-paste-zone{border:2px dashed var(--ui-border);cursor:pointer;background:#f9fafb;border-radius:6px;outline:none;justify-content:center;align-items:center;width:100%;min-height:80px;transition:border-color .15s,background .15s;display:flex}.figure-paste-zone:focus,.figure-paste-zone--ready{border-color:var(--ui-accent);background:#ede9fe22}.figure-paste-zone--has-image{border-style:solid;border-color:var(--ui-border);min-height:unset;background:#fff}.figure-paste-hint{color:var(--ui-text-muted);text-align:center;padding:8px;font-size:12px}.figure-paste-preview{object-fit:contain;border-radius:4px;max-width:100%;max-height:160px;margin:6px auto;display:block}.figure-paste-actions{gap:8px;margin-top:6px;display:flex}.q-attachments{flex-direction:column;gap:8px;display:flex}.q-inline-editor{border:1px solid #e2e0ea;border-radius:6px;overflow:hidden}.q-inline-editor-header{background:#f5f3ff;border-bottom:1px solid #e2e0ea;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.q-inline-editor-toggle{color:#5b21b6;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:2px 0;font-size:12px;font-weight:600;display:flex}.q-inline-editor-toggle:hover{color:var(--ui-accent)}.q-inline-editor-caret{color:#7c3aed;font-size:9px}.q-inline-editor-remove{color:#7c3aed;cursor:pointer;background:0 0;border:1px solid #c4b5fd;border-radius:4px;padding:2px 8px;font-size:11px}.q-inline-editor-remove:hover{background:#ede9fe}.q-inline-editor-body{background:#fdfcff;padding:10px}.q-attach-chip{color:#5b21b6;background:#ede9fe;border:1px solid #c4b5fd;border-radius:4px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:11px;font-weight:500;display:inline-flex}.q-attach-chip-remove{color:#7c3aed;cursor:pointer;background:0 0;border:none;border-radius:2px;padding:0 2px;font-size:14px;line-height:1}.q-attach-chip-remove:hover{background:#c4b5fd}.q-attach-add{position:relative}.q-attach-btn{border:1px dashed var(--ui-border);color:var(--ui-accent);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;line-height:1;display:flex}.q-attach-btn:hover{border-color:var(--ui-accent);background:#ede9fe}.q-attach-backdrop{z-index:9;position:fixed;inset:0}.q-attach-menu{z-index:10;background:#fff;border:1px solid #e2e0ea;border-radius:6px;min-width:160px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 12px #0000001f}.q-attach-menu button{text-align:left;cursor:pointer;color:#1f2937;background:0 0;border:none;width:100%;padding:8px 12px;font-size:12px;display:block}.q-attach-menu button:hover{color:var(--ui-accent);background:#f5f3ff}.btn-secondary{border:1px solid var(--ui-border);color:var(--ui-text);cursor:pointer;background:#fff;border-radius:5px;padding:5px 12px;font-size:12px;transition:background .1s}.btn-secondary:hover{background:#f3f4f6}.btn-danger{color:#dc2626;border-color:#fca5a5}.btn-danger:hover{background:#fee2e2}.figure-oak-hint{color:#6b7280;margin:0 0 8px;font-size:11.5px;line-height:1.4}.figure-oak-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;display:grid}.figure-oak-thumb{cursor:pointer;aspect-ratio:4/3;background:#f9fafb;border:2px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;padding:2px;transition:border-color .12s,background .12s;display:flex;overflow:hidden}.figure-oak-thumb img{object-fit:contain;width:100%;height:100%;display:block}.figure-oak-thumb:hover{background:#eef2ff;border-color:#818cf8}.figure-oak-thumb--selected{background:#eef2ff;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.rte-wrap{border:1px solid var(--ui-border);background:#fff;border-radius:5px;transition:border-color .15s}.rte-wrap:focus-within{border-color:var(--ui-accent)}.rte-content{padding:6px 8px}.rte-content .tiptap{color:var(--ui-text);outline:none;font-size:13px;line-height:1.5}.rte-content--single .tiptap{white-space:nowrap;overflow:hidden}.rte-content--multi .tiptap{min-height:48px}.rte-content .tiptap p{margin:0}.rte-content .tiptap p+p{margin-top:4px}.rte-content .tiptap:empty:before,.rte-content .tiptap p:first-child:empty:before{content:attr(data-placeholder);color:#aaa;pointer-events:none}.math-node{cursor:default;background:#f0f4ff;border-radius:3px;padding:0 2px;display:inline}.chem-selected{border-radius:3px;outline:2px solid #3b82f6}.de-wrap{flex-direction:column;gap:14px;padding:12px 14px;display:flex}.de-field{flex-direction:column;gap:4px;display:flex}.de-label{text-transform:uppercase;letter-spacing:.4px;color:#6b7280;font-size:11px;font-weight:700}.de-input{border:1px solid #e2e0ea;border-radius:5px;outline:none;padding:6px 9px;font-size:12px}.de-input:focus{border-color:#4f46e5}.de-select{background:#fff;border:1px solid #e2e0ea;border-radius:5px;outline:none;padding:5px 8px;font-size:12px}.de-select:focus{border-color:#4f46e5}.de-section-label{text-transform:uppercase;letter-spacing:.4px;color:#6b7280;margin-bottom:-8px;font-size:11px;font-weight:700}.de-toggle{border:1px solid #e2e0ea;border-radius:6px;width:fit-content;display:flex;overflow:hidden}.de-toggle-btn{color:#374151;cursor:pointer;background:#fff;border:none;padding:5px 16px;font-size:12px;font-weight:500}.de-toggle-btn--on{color:#fff;background:#4f46e5}.de-cols{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.de-col-editor{align-items:center;gap:4px;display:flex}.de-col-label-input{width:100px}.de-col-unit-input{width:60px}.de-remove-btn{cursor:pointer;color:#9ca3af;background:#fff;border:1px solid #e2e0ea;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:14px;line-height:1;display:flex}.de-remove-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.de-add-btn{color:#4f46e5;cursor:pointer;background:#f5f3ff;border:1px dashed #c4b5fd;border-radius:5px;align-self:flex-start;padding:5px 10px;font-size:11px;font-weight:500}.de-add-btn:hover{background:#ede9fe}.de-table-wrap{overflow-x:auto}.de-table{border-collapse:collapse;width:100%}.de-th{color:#374151;text-align:left;white-space:nowrap;background:#f8f7fb;border:1px solid #e2e0ea;padding:5px 8px;font-size:11px;font-weight:600}.de-th-omit,.de-th-del{text-align:center;width:24px}.de-td{border:1px solid #e2e0ea;padding:2px}.de-td-omit,.de-td-del{text-align:center;padding:2px 4px}.de-cell-input{width:100%;min-width:60px;font-size:12px;font-family:var(--mono,monospace);background:0 0;border:none;outline:none;padding:4px 6px}.de-cell-input:focus{background:#f5f3ff}.de-graph-opts{background:#f8f7fb;border:1px solid #e2e0ea;border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.de-graph-opt-row{align-items:center;gap:10px;display:flex}.de-graph-opt-row .de-label{flex-shrink:0;width:120px}.de-graph-checks{flex-direction:column;gap:5px;display:flex}.de-check{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.de-check input{cursor:pointer}.de-fit-row{flex-wrap:wrap;align-items:center;gap:10px;padding-top:3px;display:flex}.de-fit-row .de-label{margin:0}.de-hint{color:#6b7280;margin:0;font-size:10px;font-style:italic}.de-check--fit-visibility{margin-top:2px}.de-check-hint{color:#9ca3af;margin-left:2px;font-size:10px}.de-cell-readonly{color:#6b7280;font-size:12px;font-family:var(--mono,monospace);padding:4px 6px}.de-td{position:relative}.de-cell-eye{cursor:pointer;z-index:1;background:#ffffffeb;border:1px solid #d1d5db;border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:9px;line-height:1;display:none;position:absolute;top:2px;right:2px}.de-td:hover .de-cell-eye{display:flex}.de-cell-eye--on{background:#fef9c3;border-color:#fde047;display:flex}.de-td--hidden .de-cell-input{color:#9ca3af;background:repeating-linear-gradient(45deg,#fef9c3,#fef9c3 4px,#fff 4px 8px)}.add-block-menu{position:relative}.add-block-trigger{border:1px dashed var(--ui-border);width:100%;color:var(--ui-accent);background:0 0;border-radius:6px;padding:8px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.add-block-trigger:hover{border-color:var(--ui-accent);background:#ede9fe}.add-block-backdrop{z-index:9;position:fixed;inset:0}.add-block-dropdown{border:1px solid var(--ui-border);z-index:10;background:#fff;border-radius:8px;max-height:400px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden auto;box-shadow:0 8px 24px #0000001f}.add-block-option{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 12px;transition:background .1s;display:flex}.add-block-option:hover{background:#f5f3ff}.add-block-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.add-block-info{flex-direction:column;gap:1px;display:flex}.add-block-name{color:var(--ui-text);font-size:13px;font-weight:500}.add-block-desc{color:var(--ui-text-muted);font-size:11px}.add-block-row{align-items:stretch;display:flex}.add-block-row .add-block-option{border-radius:0;flex:1}.add-block-ai-btn{color:#a78bfa;cursor:pointer;background:0 0;border:none;border-left:1px solid #f3f4f6;flex-shrink:0;width:32px;font-size:13px;transition:background .1s,color .1s}.add-block-ai-btn:hover{color:#4f46e5;background:#f5f3ff}.add-block-ai-panel{flex-direction:column;gap:10px;padding:12px;display:flex}.add-block-ai-header{color:#374151;align-items:center;gap:8px;font-size:12px;display:flex}.add-block-ai-back{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.add-block-ai-back:hover{color:#1f2937}.add-block-ai-input{box-sizing:border-box;color:#1f2937;resize:none;border:1.5px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.add-block-ai-input:focus{border-color:#4f46e5}.add-block-ai-input:disabled{background:#f9fafb}.add-block-ai-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:5px;margin:0;padding:6px 8px;font-size:11px}.add-block-ai-submit{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.add-block-ai-submit:hover:not(:disabled){background:#4338ca}.add-block-ai-submit:disabled{cursor:not-allowed;background:#a5b4fc}.add-block-ai-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:10px;height:10px;animation:.7s linear infinite abm-spin;display:inline-block}@keyframes abm-spin{to{transform:rotate(360deg)}}.ai-dialog-backdrop{z-index:200;background:#0006;justify-content:center;align-items:flex-end;padding:0 0 24px;display:flex;position:fixed;inset:0}.ai-dialog{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:560px;margin:0 16px;animation:.18s ai-dialog-slide-up;display:flex;overflow:hidden;box-shadow:0 8px 40px #0003}@keyframes ai-dialog-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ai-dialog-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:14px 18px 12px;display:flex}.ai-dialog-title{color:#4f46e5;font-size:14px;font-weight:700}.ai-dialog-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:15px}.ai-dialog-close:hover{color:#374151;background:#f3f4f6}.ai-dialog-body{flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.ai-dialog-hint{color:#6b7280;margin:0;font-size:12px}.ai-dialog-textarea{box-sizing:border-box;color:#1f2937;resize:vertical;border:1.5px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.ai-dialog-textarea:focus{border-color:#4f46e5}.ai-dialog-textarea:disabled{color:#9ca3af;background:#f9fafb}.ai-dialog-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin:0;padding:8px 12px;font-size:12px}.ai-dialog-actions{align-items:center;gap:8px;display:flex}.ai-dialog-hint-cmd{color:#9ca3af;flex:1;font-size:11px}.ai-dialog-cancel{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:8px 14px;font-size:13px}.ai-dialog-cancel:hover{background:#f9fafb}.ai-dialog-cancel:disabled{opacity:.5;cursor:not-allowed}.ai-dialog-submit{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:7px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.ai-dialog-submit:hover:not(:disabled){background:#4338ca}.ai-dialog-submit:disabled{cursor:not-allowed;background:#a5b4fc}.ai-dialog-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:11px;height:11px;animation:.7s linear infinite ai-spin;display:inline-block}@keyframes ai-spin{to{transform:rotate(360deg)}}.ram-backdrop{z-index:300;background:#00000073;justify-content:center;align-items:flex-start;padding:48px 16px 32px;display:flex;position:fixed;inset:0;overflow-y:auto}.ram-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:680px;animation:.18s ease-out ram-slide-up;display:flex;box-shadow:0 12px 48px #00000038}@keyframes ram-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ram-header{border-bottom:1px solid #ebe9f3;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 18px;display:flex}.ram-header-text{flex-direction:column;gap:2px;display:flex}.ram-header-title{color:#1a1a2e;font-size:16px;font-weight:700}.ram-header-subtitle{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;max-width:480px;font-size:13px;overflow:hidden}.ram-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:16px;line-height:1}.ram-close:hover{color:#374151}.ram-body{flex-direction:column;gap:0;max-height:60vh;display:flex;overflow-y:auto}.ram-section{border-bottom:1px solid #ebe9f3;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.ram-section:last-child{border-bottom:none}.ram-section--insights{background:#fafafe}.ram-section-title{text-transform:uppercase;letter-spacing:.06em;color:#374151;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.ram-section-count{color:#6d28d9;text-transform:none;letter-spacing:0;background:#ede9fe;border-radius:10px;padding:2px 7px;font-size:11px;font-weight:600}.ram-section-hint{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.ram-section-actions{justify-content:flex-end;display:flex}.ram-stars{align-items:center;gap:4px;display:flex}.ram-star{color:#d1d5db;cursor:pointer;background:0 0;border:none;padding:0;font-size:26px;line-height:1;transition:color .1s,transform .1s}.ram-star--filled{color:#f59e0b}.ram-star:hover{transform:scale(1.15)}.ram-rating-label{color:#6b7280;margin-left:6px;font-size:13px}.ram-textarea{color:#1a1a2e;resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.ram-textarea:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed14}.ram-textarea--sm{font-size:13px}.ram-btn{cursor:pointer;border:none;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:600;transition:background .15s,opacity .15s}.ram-btn:disabled{opacity:.5;cursor:not-allowed}.ram-btn--save{color:#fff;background:#7c3aed}.ram-btn--save:hover:not(:disabled){background:#6d28d9}.ram-btn--ghost{color:#374151;background:0 0;border:1px solid #d1d5db;padding:5px 12px}.ram-btn--ghost:hover:not(:disabled){background:#f9fafb}.ram-btn--xs{padding:3px 9px;font-size:12px}.ram-btn--insight{color:#7c3aed;background:0 0;border:1px dashed #7c3aed;padding:5px 12px;font-size:12px}.ram-btn--insight:hover:not(:disabled){background:#f5f3ff}.ram-btn--close{color:#374151;background:#f3f4f6}.ram-btn--close:hover{background:#e5e7eb}.ram-block-list{border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.ram-block-row{background:#fff;flex-direction:column;display:flex}.ram-block-row--expanded{background:#fafafe}.ram-block-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.ram-block-row:last-child .ram-block-header{border-bottom:none}.ram-block-row--expanded .ram-block-header{border-bottom:1px solid #e5e7eb}.ram-block-meta{align-items:center;gap:8px;min-width:0;display:flex}.ram-block-badge{border:1px solid;border-radius:5px;flex-shrink:0;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.ram-block-index{color:#9ca3af;flex-shrink:0;font-size:11px}.ram-block-summary{color:#374151;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ram-block-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.ram-block-note-preview{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:12px;font-style:italic;overflow:hidden}.ram-block-form{border-bottom:1px solid #e5e7eb;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.ram-block-form-actions{justify-content:flex-end;gap:8px;display:flex}.ram-insight-area{background:#fafafe;border-bottom:1px solid #f3f4f6;flex-direction:column;gap:8px;padding:10px 14px;display:flex}.ram-block-row:last-child .ram-insight-area{border-bottom:none}.ram-insight-loading{color:#7c3aed;align-items:center;gap:8px;font-size:13px;display:flex}.ram-insight-error{color:#dc2626;margin:0;font-size:13px}.ram-insight-card{background:#fff;border:1px solid #ede9fe;border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.ram-insight-text{color:#374151;margin:0;font-size:13px;font-style:italic;line-height:1.6}.ram-insight-actions{align-items:center;gap:8px;display:flex}.ram-insight-actions-label{color:#6b7280;margin-right:2px;font-size:12px}.ram-thumb{cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:6px;padding:3px 8px;font-size:14px;transition:background .12s}.ram-thumb:hover{background:#f9fafb}.ram-thumb--active{background:#f5f3ff;border-color:#7c3aed}.ram-insights-list{flex-direction:column;gap:16px;display:flex}.ram-insight-summary-row{flex-direction:column;gap:8px;display:flex}.ram-insight-summary-label{align-items:center;gap:8px;display:flex}.ram-spinner{border:2px solid #ede9fe;border-top-color:#7c3aed;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite ram-spin;display:inline-block}@keyframes ram-spin{to{transform:rotate(360deg)}}.ram-footer{border-top:1px solid #ebe9f3;justify-content:flex-end;padding:14px 24px;display:flex}.rtebar{background:#fff;border-bottom:1px solid #e2e0ea;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;min-height:38px;padding:5px 10px;display:flex;position:relative}.rtebar-group{align-items:center;gap:1px;display:flex}.rtebar-sep{background:#e2e0ea;width:1px;height:18px;margin:0 4px}.rtebar-btn{color:#374151;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-width:28px;height:26px;padding:0 5px;font-size:12px;font-weight:600;transition:background .1s,border-color .1s,color .1s;display:flex}.rtebar-btn:hover:not(:disabled){color:#4f46e5;background:#f0eeff;border-color:#c4b5fd}.rtebar-btn--on{color:#4f46e5;background:#ede9fe;border-color:#a78bfa}.rtebar-btn:disabled{opacity:.35;cursor:default}.rtebar-btn--bold{font-weight:800}.rtebar-btn--italic{font-style:italic}.rtebar-btn--underline{text-decoration:underline}.rtebar-hint{color:#9ca3af;margin-left:6px;font-size:11px;font-style:italic}.rtebar-popover{z-index:200;background:#fff;border:1px solid #e2e0ea;border-radius:7px;flex-direction:column;gap:6px;min-width:240px;padding:10px;display:flex;position:absolute;top:calc(100% + 4px);left:auto;right:0;box-shadow:0 6px 20px #0000001f}.rtebar-popover-label{text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;font-size:10px;font-weight:700}.rtebar-math-input{font-family:var(--mono);box-sizing:border-box;border:1px solid #e2e0ea;border-radius:5px;outline:none;width:100%;padding:5px 8px;font-size:12px}.rtebar-math-input:focus{border-color:#4f46e5}.rtebar-math-insert{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:5px;align-self:flex-end;padding:5px 12px;font-size:12px;font-weight:500}.rtebar-math-insert:hover{background:#4338ca}.rtebar-chem-popover{min-width:280px;left:auto;right:0}.rtebar-chem-live-preview{background:#f8faff;border:1px solid #e2e0ea;border-radius:4px;min-height:22px;padding:4px 8px;font-size:13px;display:block}.rtebar-chem-examples{flex-wrap:wrap;gap:4px;display:flex}.rtebar-chem-example{cursor:pointer;color:#374151;background:#f9fafb;border:1px solid #e2e0ea;border-radius:4px;padding:2px 8px;font-size:11px}.rtebar-chem-example:hover{color:#4f46e5;background:#ede9fe;border-color:#a78bfa}.rtebar-chem-hints{color:#9ca3af;flex-wrap:wrap;gap:6px 12px;font-size:10px;display:flex}.rtebar-chem-hints code{font-family:var(--mono,monospace);color:#4b5563;background:#f3f4f6;border-radius:2px;padding:0 3px}.rtebar-symbols-popover{flex-flow:wrap;gap:4px;min-width:220px}.rtebar-sym-btn{cursor:pointer;background:#fff;border:1px solid #e2e0ea;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.rtebar-sym-btn:hover{background:#ede9fe;border-color:#a78bfa}.rtebar-suggestions{background:#fff;border:1px solid #e2e0ea;border-radius:5px;max-height:200px;overflow-y:auto}.rtebar-suggestion{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f3f4f6;flex-direction:column;gap:1px;width:100%;padding:5px 8px;display:flex}.rtebar-suggestion:last-child{border-bottom:none}.rtebar-suggestion:hover{background:#f5f3ff}.rtebar-suggestion-name{color:#1f2937;font-size:11px;font-weight:600}.rtebar-suggestion-meta{color:#9ca3af;font-size:10px}.rtebar-suggestion-latex,.rtebar-suggestion-formula{font-family:var(--mono,monospace);color:#4f46e5;font-size:10px}.editor{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.editor-footer{border-top:1px solid var(--ui-border);background:#f8f7fb;flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px 14px;display:flex}.editor-ai-btn{color:#4f46e5;cursor:pointer;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:6px;width:100%;padding:7px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s}.editor-ai-btn:hover{background:#ede9fe;border-color:#a78bfa}.editor-focused-header{border-bottom:2px solid var(--block-color,#9ca3af);background:#fff;flex-shrink:0;align-items:center;gap:8px;padding:8px 10px;display:flex}.editor-back-btn{color:var(--ui-text-muted);border:1px solid var(--ui-border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;flex-shrink:0;padding:3px 9px;font-size:12px;font-weight:600;transition:background .1s,color .1s}.editor-back-btn:hover{color:var(--ui-text);background:#f3f4f6}.editor-focused-type{color:var(--block-color,#6b7280);text-transform:uppercase;letter-spacing:.4px;flex:1;font-size:12px;font-weight:700}.editor-focused-controls{flex-shrink:0;gap:2px;display:flex}.editor-focused-body{background:#fafafa;flex:1;overflow-y:auto}.editor-empty{color:var(--ui-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.editor-empty-icon{opacity:.4;font-size:32px}.editor-empty-text{text-align:center;max-width:200px;margin:0;font-size:13px;line-height:1.5}.ctrl-btn{width:24px;height:24px;color:var(--ui-text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:background .1s,color .1s;display:flex}.ctrl-btn:hover:not(:disabled){color:var(--ui-text);background:#f3f4f6}.ctrl-btn:disabled{opacity:.25;cursor:default}.ctrl-btn--danger:hover:not(:disabled){color:var(--ui-danger);background:#fee2e2}.ctrl-btn--ai{color:#a78bfa}.ctrl-btn--ai:hover:not(:disabled){color:#4f46e5;background:#f5f3ff}.ctrl-btn--vary{color:#059669;font-size:15px;font-weight:700}.ctrl-btn--vary:hover:not(:disabled){color:#047857;background:#ecfdf5}.ctrl-btn--we{color:#c2410c;letter-spacing:-.3px;font-size:9px;font-weight:700}.ctrl-btn--we:hover:not(:disabled){color:#9a3412;background:#fff7ed}.ctrl-btn--annotate{color:#7c3aed;font-size:13px}.ctrl-btn--annotate:hover:not(:disabled){color:#5b21b6;background:#f5f3ff}.ctrl-spinner{opacity:.7;border:1.5px solid;border-top-color:#0000;border-radius:50%;width:9px;height:9px;animation:.7s linear infinite eai-spin;display:inline-block}.editor-block-ai{background:#f5f3ff;border-bottom:1px solid #ddd6fe;flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.editor-block-ai-input{box-sizing:border-box;color:#1f2937;resize:none;background:#fff;border:1.5px solid #c4b5fd;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.editor-block-ai-input:focus{border-color:#4f46e5}.editor-block-ai-input:disabled{background:#faf5ff}.editor-delete-blocked{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:5px;margin:0 0 4px;padding:5px 10px;font-size:11px}.editor-block-ai-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:5px;margin:0;padding:5px 8px;font-size:11px}.editor-block-ai-actions{align-items:center;gap:6px;display:flex}.editor-block-ai-hint{color:#a78bfa;flex:1;font-size:10px}.editor-block-ai-cancel{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #ddd6fe;border-radius:5px;padding:5px 10px;font-size:11px}.editor-block-ai-cancel:hover{background:#f9fafb}.editor-block-ai-submit{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:5px;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;transition:background .15s;display:flex}.editor-block-ai-submit:hover:not(:disabled){background:#4338ca}.editor-block-ai-submit:disabled{cursor:not-allowed;background:#a5b4fc}.editor-block-ai-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:10px;height:10px;animation:.7s linear infinite eai-spin;display:inline-block}@keyframes eai-spin{to{transform:rotate(360deg)}}.ep-hint{color:var(--ui-text-muted);margin:0;font-size:11px;font-style:italic}.cloze-words-preview{color:var(--ui-text-muted);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:5px;margin:0;padding:6px 10px;font-size:12px}.mc-options{flex-direction:column;gap:6px;display:flex}.mc-option-row{align-items:center;gap:6px;display:flex}.mc-label{width:18px;color:var(--ui-text);flex-shrink:0;font-size:13px;font-weight:600}.mc-input{border:1px solid var(--ui-border);background:#fff;border-radius:5px;outline:none;flex:1;padding:5px 8px;font-size:13px}.mc-input:focus{border-color:var(--ui-accent)}.mc-hint{color:var(--ui-text-muted);margin:0;font-size:11px;font-style:italic}.q-parts{flex-direction:column;gap:10px;display:flex}.q-part{border:1px solid var(--ui-border);background:#fafafa;border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.q-part-header{justify-content:space-between;align-items:center;display:flex}.q-part-label{color:var(--ui-text-muted);font-size:12px;font-weight:600}.q-part-remove{width:20px;height:20px;color:var(--ui-text-muted);background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.q-part-remove:hover{color:var(--ui-danger);background:#fee2e2}.match-grid-header{text-transform:uppercase;letter-spacing:.4px;color:var(--ui-text-muted);grid-template-columns:1fr 1fr 24px;gap:6px;padding:0 2px;font-size:11px;font-weight:600;display:grid}.match-row{grid-template-columns:1fr 1fr 24px;align-items:center;gap:6px;display:grid}.match-row input{border:1px solid var(--ui-border);background:#fff;border-radius:5px;outline:none;width:100%;padding:5px 8px;font-size:13px}.match-row input:focus{border-color:var(--ui-accent)}.annotate-nudge{color:#f1f5f9;z-index:1000;background:#1a1a2e;border-radius:12px;flex-direction:column;gap:12px;max-width:320px;padding:14px 18px;animation:.25s nudge-slide-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 32px #00000040,0 2px 8px #00000026}@keyframes nudge-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.annotate-nudge-body{align-items:flex-start;gap:10px;display:flex}.annotate-nudge-icon{flex-shrink:0;margin-top:1px;font-size:16px}.annotate-nudge-text{color:#e2e8f0;font-size:13px;line-height:1.5}.annotate-nudge-actions{justify-content:flex-end;gap:8px;display:flex}.annotate-nudge-btn{cursor:pointer;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s}.annotate-nudge-btn--primary{color:#fff;background:#7c3aed}.annotate-nudge-btn--primary:hover{background:#6d28d9}.annotate-nudge-btn--ghost{color:#94a3b8;background:#ffffff14}.annotate-nudge-btn--ghost:hover{background:#ffffff24}.pub-backdrop{z-index:900;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pub-modal{text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;padding:32px 36px;display:flex;box-shadow:0 24px 64px #0000002e}.pub-icon{font-size:40px;line-height:1}.pub-title{color:#1a1a2e;margin:0;font-size:20px;font-weight:700}.pub-body{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.pub-actions{flex-direction:column;gap:8px;width:100%;margin-top:4px;display:flex}.pub-btn{cursor:pointer;border:none;border-radius:9px;width:100%;padding:11px 20px;font-size:14px;font-weight:600;transition:background .15s}.pub-btn--named{color:#fff;background:#4f46e5}.pub-btn--named:hover{background:#4338ca}.pub-btn--anon{color:#374151;background:#f3f4f6}.pub-btn--anon:hover{background:#e5e7eb}.pub-btn--skip{color:#9ca3af;background:0 0;font-size:13px;font-weight:500}.pub-btn--skip:hover{color:#6b7280}.tutorial-overlay{z-index:1000;background:#000000a6;position:fixed;inset:0}.tutorial-spotlight{z-index:1000;pointer-events:none;border-radius:6px;position:fixed;box-shadow:0 0 0 3px #4f46e5,0 0 0 9999px #000000a6}.tutorial-card{z-index:1001;background:#fff;border-radius:14px;width:320px;padding:20px 20px 16px;position:fixed;box-shadow:0 8px 32px #00000038,0 2px 8px #0000001f}.tutorial-card--centered{top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial-progress{align-items:center;gap:5px;margin-bottom:14px;display:flex}.tutorial-dot{background:#e5e7eb;border-radius:3px;width:6px;height:6px;transition:width .2s,background .2s}.tutorial-dot--active{background:#4f46e5;width:18px}.tutorial-dot--done{background:#a5b4fc}.tutorial-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tutorial-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:700;display:flex}.tutorial-step-label{color:#9ca3af;font-size:11px;font-weight:500}.tutorial-title{color:#111827;margin:0 0 6px;font-size:15px;font-weight:700;line-height:1.3}.tutorial-body{color:#374151;margin:0 0 16px;font-size:13px;line-height:1.55}.tutorial-actions{justify-content:space-between;align-items:center;display:flex}.tutorial-skip{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:12px}.tutorial-skip:hover{color:#6b7280}.tutorial-nav{gap:6px;display:flex}.tutorial-btn{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s}.tutorial-btn:hover{background:#f3f4f6;border-color:#d1d5db}.tutorial-btn--next{color:#fff;background:#4f46e5;border-color:#4f46e5}.tutorial-btn--next:hover{background:#4338ca;border-color:#4338ca}.tutorial-btn--waiting{color:#9ca3af;cursor:default;background:#f3f4f6;border-color:#e5e7eb;font-size:12px}.tutorial-btn--waiting:hover{background:#f3f4f6;border-color:#e5e7eb}.mcq-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mcq-modal{background:#fff;border-radius:12px;flex-direction:column;width:480px;max-width:95vw;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.mcq-modal--generating{width:540px;min-height:320px}.mcq-modal--review{width:720px;max-width:95vw;max-height:90vh}.mcq-modal-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.mcq-modal-title{color:#111827;margin:0 0 2px;font-size:18px;font-weight:700}.mcq-review-subtitle{color:#6b7280;margin:0;font-size:13px}.mcq-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:18px}.mcq-modal-close:hover:not(:disabled){background:#f3f4f6}.mcq-modal-body{padding:20px 24px}.mcq-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin-bottom:16px;padding:8px 12px;font-size:13px}.mcq-modal-desc{color:#374151;margin:0 0 20px;font-size:14px;line-height:1.5}.mcq-modal-fields{gap:32px;margin-bottom:16px;display:flex}.mcq-field{flex-direction:column;gap:8px;display:flex}.mcq-label{color:#374151;font-size:13px;font-weight:600}.mcq-stepper{border:1px solid #d1d5db;border-radius:8px;align-items:center;width:fit-content;display:flex;overflow:hidden}.mcq-stepper button{cursor:pointer;color:#374151;background:#f9fafb;border:none;width:36px;height:36px;font-size:18px;transition:background .15s}.mcq-stepper button:hover:not(:disabled){background:#e5e7eb}.mcq-stepper button:disabled{opacity:.4;cursor:not-allowed}.mcq-stepper-val{text-align:center;color:#111827;background:#fff;border-left:1px solid #d1d5db;border-right:1px solid #d1d5db;justify-content:center;align-items:center;min-width:44px;height:36px;padding:0 8px;font-size:18px;font-weight:700;display:flex}.mcq-modal-hint{color:#6b7280;margin:0;font-size:12px;line-height:1.5}.mcq-modal-footer{border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 24px 18px;display:flex}.mcq-btn-cancel{cursor:pointer;color:#374151;background:0 0;border:1px solid #d1d5db;border-radius:8px;padding:8px 16px;font-size:14px}.mcq-btn-cancel:hover:not(:disabled){background:#f3f4f6}.mcq-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.mcq-btn-generate{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:background .15s}.mcq-btn-generate:hover:not(:disabled){background:#4338ca}.mcq-btn-generate:disabled{opacity:.6;cursor:not-allowed}.mcq-review-body{flex-direction:column;flex:1;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.mcq-review-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;transition:border-color .15s}.mcq-review-card:hover{border-color:#c7d2fe}.mcq-review-card--replacing{opacity:.6;pointer-events:none}.mcq-review-card-top{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.mcq-review-qnum{color:#6b7280;background:#f3f4f6;border-radius:4px;flex-shrink:0;margin-top:4px;padding:3px 7px;font-size:12px;font-weight:700}.mcq-review-qtext{color:#111827;resize:none;border:1px solid #e5e7eb;border-radius:6px;flex:1;padding:7px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.mcq-review-qtext:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 2px #818cf826}.mcq-review-replace-btn{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d1d5db;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:74px;padding:5px 10px;font-size:12px;transition:border-color .15s,color .15s;display:flex}.mcq-review-replace-btn:hover:not(:disabled){color:#4f46e5;border-color:#818cf8}.mcq-review-options{flex-direction:column;gap:6px;display:flex}.mcq-review-option{align-items:center;gap:8px;display:flex}.mcq-review-option-badge{text-align:center;color:#9ca3af;flex-shrink:0;width:20px;font-size:14px}.mcq-review-option--correct .mcq-review-option-badge{color:#16a34a;font-weight:700}.mcq-review-option-input{color:#111827;border:1px solid #e5e7eb;border-radius:6px;flex:1;padding:5px 9px;font-family:inherit;font-size:13px;transition:border-color .15s}.mcq-review-option--correct .mcq-review-option-input{background:#f0fdf4;border-color:#bbf7d0}.mcq-review-option-input:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 2px #818cf826}.mcq-review-mark-correct{cursor:pointer;color:#9ca3af;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:3px 6px;font-size:11px}.mcq-review-mark-correct:hover{color:#16a34a;background:#f0fdf4}.mcq-replace-spinner{border:2px solid #d1d5db;border-top-color:#4f46e5;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite mcq-spin;display:inline-block}@keyframes mcq-spin{to{transform:rotate(360deg)}}.editor-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.editor-workspace{flex:1;display:flex;overflow:hidden}.panel-editor{background:#f8f7fb;border-right:1px solid #e2e0ea;flex-direction:column;flex-shrink:0;width:480px;display:flex;overflow:visible}.editor-save-status{white-space:nowrap;text-align:center;flex-shrink:0;width:72px;font-size:12px;font-weight:500;display:inline-block}.editor-save-status--idle{color:#4ade80}.editor-save-status--saving{color:#94a3b8}.editor-save-status--saved{color:#4ade80}.editor-save-status--error{color:#f87171}@media screen{.print-only{pointer-events:none;width:794px;position:fixed;top:0;left:-9999px}}.panel-preview{background:#e8e6f0;flex-direction:column;flex:1;align-items:center;gap:48px;padding:40px 24px;display:flex;overflow-y:auto}.gallery-layout{background:#f4f3f8;flex-direction:column;min-height:100vh;display:flex}.gallery-page{flex-direction:column;gap:0;width:100%;max-width:1100px;margin:0 auto;padding:36px 32px;display:flex}.gallery-section{flex-direction:column;gap:20px;padding:8px 0 32px;display:flex}.gallery-section-hdr{flex-direction:column;gap:4px;display:flex}.gallery-section-title{color:#1a1a2e;margin:0;font-size:20px;font-weight:700}.gallery-section-sub{color:#6b7280;margin:0;font-size:14px}.gallery-section-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:0;display:flex}.gallery-section-toggle:hover .gallery-section-title{color:#4f46e5}.gallery-collapse-chevron{color:#9ca3af;flex-shrink:0;margin-left:auto;font-size:16px;transition:transform .2s}.gallery-collapse-chevron--closed{transform:rotate(-90deg)}.gallery-divider{border:none;border-top:1px solid #e2e0ea;margin:8px 0}.gallery-grouped{flex-direction:column;gap:32px;display:flex}.gallery-group{flex-direction:column;gap:16px;display:flex}.gallery-group-title{color:#1a1a2e;border-bottom:2px solid #e2e0ea;margin:0;padding-bottom:8px;font-size:16px;font-weight:700}.gallery-subgroup{flex-direction:column;gap:10px;display:flex}.gallery-subgroup-title{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:600}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.gallery-grid--templates{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.gallery-card{background:#fff;border-radius:10px;flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000001a,0 0 0 1px #0000000d}.gallery-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000024,0 0 0 1px #00000012}.gallery-card--template{border:1px dashed #0000001f}.gallery-card-header{color:#fff;padding:12px 14px 10px}.gallery-card-badges{gap:5px;margin-bottom:6px;display:flex}.gallery-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.gallery-badge--board{background:#ffffff40}.gallery-badge--tier{background:#ffffff26}.gallery-badge--tpl{color:#374151;background:#ffffffe6;font-size:8px}.gallery-card-title{margin-bottom:2px;font-size:14px;font-weight:700;line-height:1.3}.gallery-card-topic{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.gallery-card-preview{padding:10px 14px 4px}.gallery-minipage{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;flex-direction:column;gap:3px;min-height:70px;padding:6px 8px;display:flex}.gallery-miniblock{opacity:.7;border-radius:2px;width:100%}.gallery-card-chips{flex-wrap:wrap;gap:4px;padding:6px 14px 4px;display:flex}.gallery-chip{border:1px solid;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.gallery-card-meta{color:#6b7280;justify-content:space-between;gap:8px;padding:4px 14px 8px;font-size:11px;display:flex}.gallery-card-date{white-space:nowrap}.gallery-card-rating{justify-content:space-between;align-items:center;gap:8px;padding:4px 14px 8px;display:flex}.gallery-stars{color:#f59e0b;letter-spacing:1px;font-size:13px}.gallery-annotate-btn{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #e5e7eb;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;transition:background .12s,color .12s}.gallery-annotate-btn:hover{color:#7c3aed;background:#f5f3ff;border-color:#c4b5fd}.gallery-card-quiz{padding:4px 12px 8px}.gallery-quiz-link{cursor:pointer;color:#0891b2;background:0 0;border:none;padding:0;font-size:12px;font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s}.gallery-quiz-link:hover{text-decoration-color:#0891b2}.gallery-card-actions{border-top:1px solid #f3f4f6;margin-top:auto;display:flex}.gallery-btn{cursor:pointer;border:none;flex:1;padding:9px 6px;font-size:12px;font-weight:500;transition:background .12s}.gallery-btn--open{color:#16a34a;background:#f0fdf4;border-right:1px solid #f3f4f6}.gallery-btn--open:hover{background:#dcfce7}.gallery-btn--delete{color:#9ca3af;background:#fff}.gallery-btn--delete:hover{color:#dc2626;background:#fee2e2}.gallery-btn--load{color:#1d4ed8;background:#eff6ff}.gallery-btn--load:hover{background:#dbeafe}.gallery-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gallery-tabs{flex-wrap:wrap;gap:4px;display:flex}.gallery-tab{cursor:pointer;color:#374151;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:20px;padding:6px 14px;font-size:13px;transition:all .12s}.gallery-tab:hover{border-color:#a5b4fc}.gallery-tab--active{color:#fff;background:#4f46e5;border-color:#4f46e5}.gallery-search{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;flex:1;min-width:180px;max-width:320px;padding:7px 12px;font-size:13px;transition:border-color .12s}.gallery-search:focus{border-color:#6366f1}.gallery-subgroup-toggle{cursor:pointer;text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.4px;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:0;font-size:13px;font-weight:600;display:flex}.gallery-subgroup-toggle:hover{color:#374151}.gallery-subgroup-chevron{font-size:14px;line-height:1;transition:transform .15s;display:inline-block}.gallery-subgroup-chevron--collapsed{transform:rotate(-90deg)}.gallery-subgroup-count{color:#9ca3af;text-transform:none;letter-spacing:0;background:#f3f4f6;border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.gallery-loading{color:#9ca3af;padding:32px 0;font-size:14px}.gallery-empty{color:#9ca3af;flex-direction:column;align-items:center;gap:12px;padding:60px 0;font-size:14px;display:flex}.gallery-empty-icon{opacity:.4;font-size:40px}.profile-layout{background:#f4f3f8;flex-direction:column;min-height:100vh;display:flex}.profile-main{flex:1;justify-content:center;padding:40px 24px;display:flex}.profile-card{background:#fff;border-radius:16px;width:100%;max-width:580px;overflow:hidden;box-shadow:0 2px 12px #00000014,0 0 0 1px #0000000a}.profile-card-header{color:#fff;background:#1a1a2e;border-bottom:1px solid #f3f4f6;align-items:center;gap:20px;padding:28px 32px 24px;display:flex}.profile-header-info{flex:1}.profile-email{color:#fff9;margin:2px 0 4px;font-size:13px}.profile-signout{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:6px 14px;font-size:13px;transition:background .15s}.profile-signout:hover:not(:disabled){background:#ffffff2e}.profile-signout:disabled{opacity:.6;cursor:default}.profile-avatar{color:#fff;background:#4f46e5;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:700;display:flex}.profile-title{color:#f1f5f9;margin:0 0 3px;font-size:18px;font-weight:700}.profile-subtitle{color:#94a3b8;margin:0;font-size:13px}.profile-form{flex-direction:column;gap:24px;padding:28px 32px;display:flex}.profile-field{flex-direction:column;gap:8px;display:flex}.profile-label{color:#374151;font-size:13px;font-weight:600}.profile-field-hint{color:#9ca3af;margin:0;font-size:12px}.profile-input{color:#1f2937;box-sizing:border-box;border:1.5px solid #d1d5db;border-radius:7px;outline:none;width:100%;padding:9px 12px;font-size:14px;transition:border-color .15s}.profile-input:focus{border-color:#4f46e5}.profile-textarea{color:#1f2937;box-sizing:border-box;resize:vertical;border:1.5px solid #d1d5db;border-radius:7px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .15s}.profile-textarea:focus{border-color:#4f46e5}.profile-course-grid{flex-direction:column;gap:2px;margin-top:4px;display:flex}.profile-board-key{border-bottom:1px solid #f3f4f6;grid-template-columns:1fr repeat(4,44px);gap:4px;padding-bottom:6px;display:grid}.profile-board-label{color:#9ca3af;text-align:center;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.profile-qual-row{border-bottom:1px solid #f9fafb;grid-template-columns:1fr repeat(4,44px);align-items:center;gap:4px;padding:7px 0;display:grid}.profile-qual-name{color:#374151;font-size:13px;font-weight:500}.profile-board-btn{cursor:pointer;color:#0000;background:#f9fafb;border:1.5px solid #d1d5db;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;margin:0 auto;font-size:12px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:flex}.profile-board-btn:hover{background:#eef2ff;border-color:#a5b4fc}.profile-board-btn--on{color:#fff;background:#4f46e5;border-color:#4f46e5}.profile-ks3-section{flex-direction:column;gap:2px;margin-top:12px;display:flex}.profile-ks3-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #f3f4f6;margin:0 0 6px;padding-bottom:6px;font-size:11px;font-weight:700}.profile-ks3-row{border-bottom:1px solid #f9fafb;justify-content:space-between;align-items:center;padding:7px 0;display:flex}.profile-error{color:#dc2626;background:#fee2e2;border-radius:6px;margin:0;padding:8px 12px;font-size:13px}.profile-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.profile-btn{cursor:pointer;border:none;border-radius:7px;padding:9px 22px;font-size:14px;font-weight:600;transition:background .15s}.profile-btn--cancel{color:#374151;background:#f3f4f6}.profile-btn--cancel:hover{background:#e5e7eb}.profile-btn--save{color:#fff;background:#4f46e5;min-width:130px}.profile-btn--save:hover{background:#4338ca}.profile-btn--save:disabled{cursor:not-allowed;background:#a5b4fc}.insights-layout{background:#f4f3f8;flex-direction:column;min-height:100vh;display:flex}.insights-main{box-sizing:border-box;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:32px 40px}.insights-header{margin-bottom:28px}.insights-title{color:#1a1a2e;margin:0 0 6px;font-size:24px;font-weight:700}.insights-subtitle{color:#6b7280;margin:0 0 16px;font-size:14px}.insights-filters{flex-wrap:wrap;gap:8px;display:flex}.insights-filter{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:20px;padding:5px 14px;font-size:13px;transition:all .12s}.insights-filter:hover{border-color:#a5b4fc}.insights-filter--on{color:#fff;background:#4f46e5;border-color:#4f46e5}.insights-empty{text-align:center;color:#9ca3af;padding:60px 0;font-size:15px}.insights-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:28px;display:grid}.insights-cards--sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:0}.insights-card{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 4px #00000012}.insights-card--green{border-top:3px solid #10b981}.insights-card--red{border-top:3px solid #ef4444}.insights-card-value{color:#1a1a2e;margin-bottom:6px;font-size:28px;font-weight:700;line-height:1}.insights-card-label{color:#6b7280;font-size:12px;line-height:1.4}.insights-section-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.insights-section{background:#fff;border-radius:12px;padding:20px 22px;box-shadow:0 1px 4px #00000012}.insights-section--full{grid-column:1/-1}.insights-section-title{color:#374151;text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px;font-size:13px;font-weight:700}.insights-none{color:#9ca3af;margin:0;font-size:13px}.insights-bar-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.insights-bar-label{color:#374151;text-transform:capitalize;flex-shrink:0;width:110px;font-size:12px}.insights-bar-track{background:#f3f4f6;border-radius:4px;flex:1;height:8px;overflow:hidden}.insights-bar-fill{border-radius:4px;height:100%;transition:width .3s}.insights-bar-fill--removed{background:#ef4444}.insights-bar-fill--added{background:#10b981}.insights-bar-fill--modified{background:#f59e0b}.insights-bar-count{color:#6b7280;text-align:right;width:24px;font-size:12px;font-weight:600}.insights-table-wrap{overflow-x:auto}.insights-table{border-collapse:collapse;width:100%;font-size:13px}.insights-table th{text-align:left;color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-bottom:2px solid #f3f4f6;padding:8px 12px;font-size:11px;font-weight:600}.insights-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f9fafb;padding:10px 12px}.insights-table tr:hover td{background:#fafaf9}.insights-td-topic{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.insights-td-num{text-align:center;font-variant-numeric:tabular-nums;color:#6b7280}.insights-td-date{white-space:nowrap;color:#9ca3af}.insights-loop-section{background:#fff;border:1px solid #d1fae5;border-radius:14px;flex-direction:column;gap:16px;margin-bottom:12px;padding:20px 24px;display:flex}.insights-loop-top{flex-direction:column;gap:10px;display:flex}.insights-loop-status-row{align-items:center;gap:8px;display:flex}.insights-loop-dot{background:#d1d5db;border-radius:50%;flex-shrink:0;width:9px;height:9px}.insights-loop-dot--active{background:#10b981;animation:2.4s ease-in-out infinite loop-pulse;box-shadow:0 0 0 3px #d1fae5}@keyframes loop-pulse{0%,to{box-shadow:0 0 0 3px #d1fae5}50%{box-shadow:0 0 0 5px #a7f3d0}}.insights-loop-status-label{color:#065f46;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.insights-loop-phrases{flex-direction:column;gap:3px;display:flex}.insights-loop-phrase-primary{color:#374151;margin:0;font-size:14px;line-height:1.5}.insights-loop-phrase-secondary{color:#6b7280;margin:0;font-size:13px}.insights-loop-strength-row{flex-direction:column;gap:5px;display:flex}.insights-loop-bar-track{background:#f3f4f6;border-radius:99px;height:6px;overflow:hidden}.insights-loop-bar-fill{background:linear-gradient(90deg,#6ee7b7 0%,#10b981 100%);border-radius:99px;min-width:0;height:100%;transition:width .6s}.insights-loop-strength-labels{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;font-size:10px;display:flex}.insights-ai-section{background:#fff;border:1px solid #ebe9f3;border-radius:14px;flex-direction:column;gap:20px;margin-bottom:8px;padding:24px 28px;display:flex}.insights-ai-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.insights-ai-title{color:#1a1a2e;margin:0 0 4px;font-size:18px;font-weight:700}.insights-ai-subtitle{color:#6b7280;margin:0;font-size:13px}.insights-ai-generate-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#7c3aed;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:8px;padding:9px 18px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.insights-ai-generate-btn:hover:not(:disabled){background:#6d28d9}.insights-ai-generate-btn:disabled{opacity:.6;cursor:not-allowed}.insights-ai-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:13px;height:13px;animation:.65s linear infinite insights-spin;display:inline-block}@keyframes insights-spin{to{transform:rotate(360deg)}}.insights-ai-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;margin:0;padding:8px 12px;font-size:13px}.insights-ai-prompt{color:#9ca3af;margin:0;font-size:13px;font-style:italic}.insights-ai-result{background:#fafafe;border:1px solid #ede9fe;border-radius:10px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.insights-ai-result-meta{color:#9ca3af;font-size:12px}.insights-ai-result-text{flex-direction:column;gap:10px;display:flex}.insights-ai-result-text p{color:#374151;margin:0;font-size:14px;line-height:1.7}.insights-ann-breakdown{flex-direction:column;gap:8px;display:flex}.insights-ann-breakdown-title{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin:0;font-size:12px;font-weight:700}.insights-ann-chips{flex-wrap:wrap;gap:6px;display:flex}.insights-ann-chip{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;display:flex}.insights-ann-chip-type{color:#374151;text-transform:capitalize;font-size:12px}.insights-ann-chip-count{color:#7c3aed;background:#ede9fe;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700}.insights-divider{border:none;border-top:1px solid #e5e7eb;margin:4px 0 24px}.booklet-print-root{counter-reset:booklet-page 0;flex-direction:column;gap:48px;display:flex}.booklet-print-root .a4-page{counter-increment:booklet-page}@media print{.booklet-print-root{gap:0}}.booklet-title-page{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.booklet-title-inner{text-align:center;box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;padding:80px 60px 40px;display:flex}.booklet-title-eyebrow{color:#9ca3af;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px;font-family:Arial,Helvetica Neue,sans-serif;font-size:9pt}.booklet-title-divider{background:#4f46e5;border-radius:2px;width:56px;height:3px;margin-bottom:28px}.booklet-title-text{color:#111827;text-align:center;margin:0 0 16px;font-family:Arial,Helvetica Neue,sans-serif;font-size:28pt;font-weight:700;line-height:1.25}.booklet-subtitle-text{color:#6b7280;text-align:center;margin:0;font-family:Arial,Helvetica Neue,sans-serif;font-size:13pt;line-height:1.5}.booklet-title-footer{text-align:center;color:#d1d5db;text-transform:uppercase;letter-spacing:.1em;font-family:Arial,Helvetica Neue,sans-serif;font-size:8pt;position:absolute;bottom:36px;left:0;right:0}.booklet-contents-page{flex-direction:column;display:flex;position:relative}.booklet-contents-inner{flex-direction:column;padding:0;display:flex}.booklet-contents-heading{color:#111827;letter-spacing:-.02em;margin:0 0 10px;font-family:Arial,Helvetica Neue,sans-serif;font-size:20pt;font-weight:700}.booklet-contents-rule{background:#111827;height:2px;margin-bottom:6px}.booklet-contents-row{border-bottom:1px solid #f3f4f6;align-items:baseline;gap:0;padding:9px 0;display:flex}.booklet-contents-row--ms{border-bottom:none;margin-top:12px}.booklet-contents-index{color:#6b7280;flex-shrink:0;width:28px;font-family:Arial,Helvetica Neue,sans-serif;font-size:9pt;font-weight:700}.booklet-contents-text{flex:none;min-width:0;padding-right:10px}.booklet-contents-entry-title{color:#111827;font-family:Arial,Helvetica Neue,sans-serif;font-size:11pt;font-weight:700;line-height:1.3}.booklet-contents-entry-title--ms{color:#374151;font-style:italic;font-weight:400}.booklet-contents-qual{color:#6b7280;margin-top:1px;font-family:Arial,Helvetica Neue,sans-serif;font-size:8.5pt}.booklet-contents-dots{border-bottom:1.5px dotted #d1d5db;flex:1;min-width:16px;margin-bottom:4px}.booklet-contents-pagenum{color:#374151;text-align:right;flex-shrink:0;width:28px;font-family:Arial,Helvetica Neue,sans-serif;font-size:11pt;font-weight:700}.booklet-layout{background:#f4f3f8;flex-direction:column;min-height:100vh;display:flex}.booklet-page{flex:1;gap:0;height:calc(100vh - 52px);display:flex;overflow:hidden}.booklet-browser{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:340px;min-width:280px;max-width:400px;display:flex;overflow:hidden}.booklet-browser-header{border-bottom:1px solid #f3f4f6;padding:20px 20px 12px}.booklet-browser-title{color:#111827;margin:0 0 2px;font-size:16px;font-weight:700}.booklet-browser-hint{color:#9ca3af;margin:0;font-size:12px}.booklet-browser-filters{border-bottom:1px solid #f3f4f6;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.booklet-search{color:#111827;box-sizing:border-box;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;outline:none;width:100%;padding:7px 10px;font-size:13px}.booklet-search:focus{background:#fff;border-color:#6366f1}.booklet-tabs{flex-wrap:wrap;gap:4px;display:flex}.booklet-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:#f9fafb;border:1px solid #e5e7eb;border-radius:20px;padding:4px 10px;font-size:12px;transition:all .15s}.booklet-tab:hover{color:#374151;background:#f3f4f6}.booklet-tab--active{color:#4f46e5;background:#eef2ff;border-color:#6366f1;font-weight:600}.booklet-browser-list{flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.booklet-browser-empty{text-align:center;color:#9ca3af;padding:24px 16px;font-size:13px;line-height:1.5}.booklet-browser-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:stretch;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.booklet-browser-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #00000014}.booklet-browser-card--added{background:#fafafa;border-color:#6366f1}.booklet-browser-card-color{flex-shrink:0;width:5px}.booklet-browser-card-body{flex:1;min-width:0;padding:10px 10px 8px}.booklet-browser-card-title{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.booklet-browser-card-topic{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.booklet-browser-card-qual{color:#9ca3af;margin-top:1px;font-size:11px}.booklet-browser-card-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-left:1px solid #f3f4f6;flex-shrink:0;justify-content:center;align-items:center;width:36px;font-size:20px;transition:background .12s,color .12s;display:flex}.booklet-browser-card-btn:hover{color:#16a34a;background:#f0fdf4}.booklet-browser-card-btn--remove:hover{color:#dc2626;background:#fef2f2}.booklet-minipage{background:#f9fafb;border-radius:4px;flex-direction:column;gap:2px;min-height:36px;margin-top:6px;padding:5px;display:flex}.booklet-miniblock{border-radius:2px;width:100%}.booklet-composer{background:#f4f3f8;flex:1;overflow-y:auto}.booklet-composer-inner{flex-direction:column;gap:20px;max-width:640px;margin:0 auto;padding:28px 24px 60px;display:flex}.booklet-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px}.booklet-section-heading{color:#111827;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:700;display:flex}.booklet-section-badge{color:#6b7280;background:#f3f4f6;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:500}.booklet-section-hint{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.booklet-title-fields{flex-direction:column;gap:12px;display:flex}.booklet-field{flex-direction:column;gap:4px;display:flex}.booklet-label{color:#374151;font-size:12px;font-weight:600}.booklet-optional{color:#9ca3af;font-weight:400}.booklet-input{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s}.booklet-input:focus{background:#fff;border-color:#6366f1}.booklet-section--worksheets{padding-bottom:16px}.booklet-empty{text-align:center;color:#9ca3af;padding:24px 16px}.booklet-empty-icon{margin-bottom:8px;font-size:32px}.booklet-empty p{color:#6b7280;margin:0 0 4px;font-size:13px}.booklet-empty-hint{font-size:12px;color:#9ca3af!important}.booklet-items{flex-direction:column;gap:6px;display:flex}.booklet-item{cursor:grab;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:box-shadow .12s,background .12s;display:flex}.booklet-item:hover{background:#f3f4f6;box-shadow:0 1px 4px #0000000f}.booklet-item:active{cursor:grabbing}.booklet-item-handle{color:#d1d5db;cursor:grab;flex-shrink:0;font-size:16px;line-height:1}.booklet-item-num{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.booklet-item-info{flex:1;min-width:0}.booklet-item-title{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.booklet-item-topic{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.booklet-item-qual{color:#9ca3af;font-size:11px}.booklet-item-remove{color:#d1d5db;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;transition:background .12s,color .12s;display:flex}.booklet-item-remove:hover{color:#dc2626;background:#fee2e2}.booklet-download-bar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 24px;display:flex}.booklet-download-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:11px 24px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.booklet-download-btn:hover{background:#4338ca}.booklet-download-btn--disabled{color:#9ca3af;cursor:not-allowed;background:#e5e7eb}.booklet-download-hint{color:#9ca3af;margin:0;font-size:12px}.booklet-download-btn--disabled:hover{background:#e5e7eb}.booklet-print-hidden{visibility:hidden;pointer-events:none;width:794px;position:fixed;top:0;left:-9999px;overflow:visible}.oak-ex-layout{background:#f4f3f8;flex-direction:column;min-height:100vh;display:flex}.oak-ex-page{box-sizing:border-box;flex-direction:column;flex:1;gap:16px;width:100%;max-width:1400px;margin:0 auto;padding:20px 24px;display:flex}.oak-ex-controls{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px 20px;display:flex}.oak-ex-control-group{flex-direction:column;gap:4px;display:flex}.oak-ex-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.oak-ex-toggle{border:1px solid #e5e7eb;border-radius:8px;display:flex;overflow:hidden}.oak-ex-toggle-btn{color:#6b7280;cursor:pointer;background:#f9fafb;border:none;padding:7px 16px;font-size:13px;font-weight:600;transition:background .12s,color .12s}.oak-ex-toggle-btn+.oak-ex-toggle-btn{border-left:1px solid #e5e7eb}.oak-ex-toggle-btn--active{color:#fff;background:#4f46e5}.oak-ex-select{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;outline:none;min-width:120px;padding:7px 10px;font-size:13px}.oak-ex-select:focus{background:#fff;border-color:#6366f1}.oak-ex-load-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#16a34a;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;transition:background .12s}.oak-ex-load-btn:hover{background:#15803d}.oak-ex-load-btn:disabled{cursor:not-allowed;background:#d1d5db}.oak-ex-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:12px}.oak-ex-cols{flex:1;grid-template-columns:260px 280px 1fr;gap:12px;height:calc(100vh - 240px);min-height:0;display:grid}.oak-ex-col{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.oak-ex-col--detail{min-width:0}.oak-ex-col-header{color:#111827;border-bottom:1px solid #f3f4f6;flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:700;display:flex}.oak-ex-count{color:#6b7280;background:#f3f4f6;border-radius:20px;padding:1px 7px;font-size:11px;font-weight:500}.oak-ex-col-body{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex;overflow-y:auto}.oak-ex-empty{color:#9ca3af;text-align:center;padding:12px 8px;font-size:12px}.oak-ex-year-header{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px 3px;font-size:10px;font-weight:700}.oak-ex-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:8px 10px;transition:background .1s;display:flex}.oak-ex-item:hover{background:#f3f4f6}.oak-ex-item--selected{background:#eef2ff}.oak-ex-item--selected .oak-ex-item-title{color:#4f46e5;font-weight:600}.oak-ex-item--dim{opacity:.5;cursor:default}.oak-ex-item-title{color:#111827;min-width:0;font-size:12.5px;line-height:1.3}.oak-ex-item-meta{color:#9ca3af;white-space:nowrap;flex-shrink:0;font-size:10.5px}.oak-ex-detail{flex-direction:column;gap:14px;padding:4px;display:flex}.oak-ex-detail-title{color:#111827;font-size:13px;font-weight:700}.oak-ex-detail-outcome{color:#4f46e5;font-size:12px;font-style:italic;line-height:1.4}.oak-ex-detail-section{flex-direction:column;gap:5px;display:flex}.oak-ex-detail-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.oak-ex-detail-point,.oak-ex-detail-kw{color:#374151;font-size:12px;line-height:1.4}.oak-ex-detail-misc{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;flex-direction:column;gap:3px;padding:7px 10px;display:flex}.oak-ex-detail-misc-q{color:#92400e;font-size:11.5px;font-weight:600}.oak-ex-detail-misc-a{color:#78350f;font-size:11.5px}.oak-ex-detail-q{color:#374151;border-bottom:1px solid #f3f4f6;align-items:flex-start;gap:8px;padding:5px 0;font-size:12px;line-height:1.4;display:flex}.oak-ex-detail-qtype{color:#6366f1;white-space:nowrap;background:#eef2ff;border-radius:4px;flex-shrink:0;margin-top:1px;padding:1px 5px;font-size:10px;font-weight:700}.oak-ex-raw{background:#1e1e2e;border-radius:12px;overflow:hidden}.oak-ex-raw-header{color:#a5b4fc;background:#2a2a3e;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;font-weight:700;display:flex}.oak-ex-raw-close{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.oak-ex-raw-close:hover{color:#fff}.oak-ex-raw-body{color:#e2e8f0;max-height:300px;margin:0;padding:16px;font-family:Courier New,monospace;font-size:11px;line-height:1.5;overflow:auto}.lib-layout{background:#f4f3f8;flex-direction:column;min-height:100vh;display:flex}.lib-main{box-sizing:border-box;flex:1;width:100%;max-width:1000px;margin:0 auto;padding:32px 40px}.lib-header{margin-bottom:24px}.lib-title{color:#1a1a2e;margin:0 0 6px;font-size:24px;font-weight:700}.lib-subtitle{color:#6b7280;margin:0;font-size:14px}.lib-filters{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.lib-search{color:#1f2937;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;outline:none;flex:1;min-width:200px;padding:9px 12px;font-size:14px;transition:border-color .15s}.lib-search:focus{border-color:#4f46e5}.lib-select{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s}.lib-select:focus{border-color:#4f46e5}.lib-option-group{color:#9ca3af;text-transform:uppercase;font-size:12px;font-weight:700}.lib-empty{text-align:center;color:#9ca3af;padding:64px 0;font-size:15px}.lib-results{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.lib-card{background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:18px 20px;transition:box-shadow .15s;display:flex;box-shadow:0 1px 4px #00000012}.lib-card:hover{box-shadow:0 4px 12px #0000001a}.lib-card-meta{flex-wrap:wrap;gap:6px;display:flex}.lib-card-spec,.lib-card-board,.lib-card-tier{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.lib-card-spec{color:#5b21b6;background:#ede9fe}.lib-card-board{color:#075985;background:#e0f2fe}.lib-card-tier{color:#166534;background:#f0fdf4}.lib-card-title{color:#1a1a2e;margin:0;font-size:15px;font-weight:700;line-height:1.3}.lib-card-topic{color:#6b7280;margin:0;font-size:13px}.lib-card-footer{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.lib-card-author{color:#9ca3af;flex:1;font-size:12px}.lib-card-count{color:#9ca3af;font-size:12px}.lib-card{cursor:pointer}.lp-layout{background:#f4f3f8;flex-direction:column;height:100vh;display:flex}.lp-body{flex:1;min-height:0;display:flex;overflow:hidden}.lp-sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;gap:16px;width:280px;padding:24px 20px;display:flex;overflow-y:auto}.lp-back-link{color:#6b7280;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:13px;transition:color .15s}.lp-back-link:hover{color:#374151}.lp-sidebar-meta{flex-direction:column;gap:8px;display:flex}.lp-meta-badges{flex-wrap:wrap;gap:5px;display:flex}.lp-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}.lp-badge--spec{color:#5b21b6;background:#ede9fe}.lp-badge--board{color:#075985;background:#e0f2fe}.lp-badge--tier{color:#166534;background:#f0fdf4}.lp-sidebar-title{color:#1a1a2e;margin:0;font-size:16px;font-weight:700;line-height:1.3}.lp-sidebar-topic{color:#6b7280;margin:0;font-size:13px}.lp-sidebar-author,.lp-sidebar-count{color:#9ca3af;margin:0;font-size:12px}.lp-mismatch-notice{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:12px 14px}.lp-mismatch-text{color:#78350f;margin:0;font-size:13px;line-height:1.5}.lp-realloc{flex-direction:column;gap:8px;display:flex}.lp-realloc-label{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:12px;font-weight:600}.lp-select{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:7px;outline:none;width:100%;padding:8px 10px;font-size:13px;transition:border-color .15s}.lp-select:focus{border-color:#4f46e5}.lp-option-group{color:#9ca3af;text-transform:uppercase;font-size:11px;font-weight:700}.lp-copy-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:9px;width:100%;padding:12px 16px;font-size:14px;font-weight:700;transition:background .15s}.lp-copy-btn:hover:not(:disabled){background:#4338ca}.lp-copy-btn:disabled{opacity:.6;cursor:not-allowed}.lp-preview-area{flex-direction:column;flex:1;align-items:center;padding:32px 40px;display:flex;overflow-y:auto}.lp-main{flex:1;padding:32px 40px}.lp-main--center{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.lp-spinner{border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite lp-spin}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-error{color:#6b7280;margin:0;font-size:15px}.lp-back-btn{color:#374151;cursor:pointer;background:0 0;border:1.5px solid #d1d5db;border-radius:8px;padding:8px 18px;font-size:14px;transition:border-color .15s}.lp-back-btn:hover{color:#4f46e5;border-color:#4f46e5}.sp-layout{background:#f4f3f8;flex-direction:column;height:100vh;display:flex}.sp-auth-btn{color:#fff;background:#4f46e5;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.sp-auth-btn:hover{background:#4338ca}.sp-body{flex:1;min-height:0;display:flex;overflow:hidden}.sp-sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;gap:14px;width:280px;padding:24px 20px;display:flex;overflow-y:auto}.sp-meta-badges{flex-wrap:wrap;gap:5px;display:flex}.sp-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}.sp-badge--spec{color:#5b21b6;background:#ede9fe}.sp-badge--board{color:#075985;background:#e0f2fe}.sp-badge--tier{color:#166534;background:#f0fdf4}.sp-sidebar-title{color:#1a1a2e;margin:0;font-size:16px;font-weight:700;line-height:1.3}.sp-sidebar-topic{color:#6b7280;margin:0;font-size:13px}.sp-sidebar-author,.sp-sidebar-count{color:#9ca3af;margin:0;font-size:12px}.sp-copy-btn{color:#fff;cursor:pointer;text-align:center;box-sizing:border-box;background:#4f46e5;border:none;border-radius:9px;width:100%;padding:12px 16px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s;display:block}.sp-copy-btn:hover:not(:disabled){background:#4338ca}.sp-copy-btn:disabled{opacity:.6;cursor:not-allowed}.sp-realloc{flex-direction:column;gap:8px;display:flex}.sp-realloc-label{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:12px;font-weight:600}.sp-select{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:7px;outline:none;width:100%;padding:8px 10px;font-size:13px;transition:border-color .15s}.sp-select:focus{border-color:#4f46e5}.sp-option-group{color:#9ca3af;text-transform:uppercase;font-size:11px;font-weight:700}.sp-preview-area{flex-direction:column;flex:1;align-items:center;padding:32px 40px;display:flex;overflow-y:auto}.sp-main{flex:1;padding:32px 40px}.sp-main--center{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.sp-spinner{border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite sp-spin}@keyframes sp-spin{to{transform:rotate(360deg)}}.sp-error{color:#6b7280;margin:0;font-size:15px}.sp-cta-btn{color:#fff;background:#4f46e5;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s}.sp-cta-btn:hover{background:#4338ca}.admin-layout{background:#f4f3f8;flex-direction:column;min-height:100vh;display:flex}.admin-main{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:32px 40px}.admin-header{margin-bottom:24px}.admin-title{color:#1a1a2e;margin:0 0 4px;font-size:22px;font-weight:700}.admin-subtitle{color:#6b7280;margin:0;font-size:13px}.admin-filters{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.admin-search{background:#fff;border:1.5px solid #d1d5db;border-radius:8px;outline:none;flex:1;min-width:200px;padding:8px 12px;font-size:14px}.admin-search:focus{border-color:#4f46e5}.admin-select{cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;outline:none;padding:8px 12px;font-size:14px}.admin-select:focus{border-color:#4f46e5}.admin-empty{text-align:center;color:#9ca3af;padding:64px 0;font-size:15px}.admin-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;font-size:13px;overflow:hidden;box-shadow:0 1px 4px #00000012}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 14px;font-size:11px;font-weight:700}.admin-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:12px 14px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#f9fafb}.admin-cell-title{color:#1a1a2e;white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-weight:600;overflow:hidden}.admin-cell-spec{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:12px;overflow:hidden}.admin-cell-author{color:#9ca3af;font-size:12px}.admin-cell-date{color:#9ca3af;white-space:nowrap;font-size:12px}.admin-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.admin-badge--board{color:#075985;background:#e0f2fe}.admin-remove-btn{color:#dc2626;cursor:pointer;white-space:nowrap;background:#fef2f2;border:1.5px solid #fecaca;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .12s,border-color .12s}.admin-remove-btn:hover:not(:disabled){background:#fee2e2;border-color:#dc2626}.admin-remove-btn:disabled{opacity:.5;cursor:not-allowed}.admin-section{background:#fff;border-radius:12px;margin-bottom:32px;padding:24px 28px;box-shadow:0 1px 4px #00000012}.admin-section-title{color:#1a1a2e;margin:0 0 6px;font-size:16px;font-weight:700}.admin-section-hint{color:#6b7280;margin:0 0 20px;font-size:13px}.admin-field{margin-bottom:16px}.admin-label{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.admin-input{color:#1f2937;box-sizing:border-box;border:1.5px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:14px;transition:border-color .15s}.admin-input:focus{border-color:#4f46e5}.admin-textarea{color:#1f2937;box-sizing:border-box;resize:vertical;border:1.5px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .15s}.admin-textarea:focus{border-color:#4f46e5}.admin-field-actions{justify-content:flex-end;display:flex}.admin-save-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:600;transition:background .15s}.admin-save-btn:hover:not(:disabled){background:#4338ca}.admin-save-btn:disabled{opacity:.6;cursor:not-allowed}.admin-stat-loading{color:#9ca3af;margin-bottom:24px;font-size:13px}.admin-stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:24px;display:grid}.admin-stat-card{background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:18px 20px;display:flex;box-shadow:0 1px 4px #00000012}.admin-stat-value{color:#1a1a2e;font-size:28px;font-weight:700;line-height:1.1}.admin-stat-label{color:#6b7280;font-size:12px;font-weight:500}.admin-stat-week{color:#16a34a;margin-top:4px;font-size:11px;font-weight:600}.admin-breakdown-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px;display:grid}.admin-breakdown{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 1px 4px #00000012}.admin-breakdown-title{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin:0 0 14px;font-size:11px;font-weight:700}.admin-bar-list{flex-direction:column;gap:8px;display:flex}.admin-bar-row{grid-template-columns:110px 1fr 32px;align-items:center;gap:8px;display:grid}.admin-bar-label{color:#374151;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.admin-bar-track{background:#f3f4f6;border-radius:4px;height:8px;overflow:hidden}.admin-bar-fill{background:#4f46e5;border-radius:4px;min-width:4px;height:100%;transition:width .3s}.admin-bar-count{color:#6b7280;text-align:right;font-size:11px;font-weight:600}.fu-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.fu-title-input,.fu-file-input{color:#111827;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}.fu-title-input:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 2px #818cf826}.fu-file-name{color:#6b7280;margin:4px 0 0;font-size:12px}.fu-new-btn{margin-top:12px;padding:12px 28px}.fu-title-link{font:inherit;color:#4f46e5;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.fu-title-link:hover{text-decoration:underline}.fu-source-link{font:inherit;color:#6b7280;cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;max-width:120px;padding:0;font-size:12px;overflow:hidden}.fu-source-link:hover:not(:disabled){color:#4f46e5;text-decoration:underline}.fu-source-link:disabled{cursor:not-allowed;opacity:.6}.fu-tabs{border-bottom:1px solid #e5e7eb;gap:4px;margin-bottom:16px;display:flex}.fu-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.fu-tab:hover{color:#374151}.fu-tab--active{color:#4f46e5;border-bottom-color:#4f46e5}.fu-type-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.fu-type-badge--document{color:#4338ca;background:#e0e7ff}.fu-type-badge--worksheet{color:#4b5563;background:#f3f4f6}.schemes-shell{background:#f9fafb;flex-direction:column;min-height:100vh;display:flex}.schemes-main{width:100%;max-width:860px;margin:0 auto;padding:40px 24px 80px}.schemes-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.schemes-title{color:#111827;margin:0 0 6px;font-size:24px;font-weight:800}.schemes-sub{color:#6b7280;max-width:520px;margin:0;font-size:14px}.schemes-new-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:8px;flex-shrink:0;padding:10px 18px;font-size:13px;font-weight:700}.schemes-new-btn:hover{background:#4338ca}.schemes-create-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:14px;margin-bottom:24px;padding:24px;display:flex}.schemes-create-heading{color:#111827;margin:0;font-size:15px;font-weight:700}.schemes-create-row{flex-direction:column;gap:5px;display:flex}.schemes-create-label{color:#374151;font-size:12px;font-weight:600}.schemes-optional{color:#9ca3af;font-weight:400}.schemes-create-select,.schemes-create-input{color:#1f2937;background:#fff;border:1.5px solid #d1d5db;border-radius:6px;outline:none;padding:8px 10px;font-size:13px}.schemes-create-select:focus,.schemes-create-input:focus{border-color:#4f46e5}.schemes-create-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.schemes-cancel-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:7px;padding:9px 16px;font-size:13px;font-weight:600}.schemes-cancel-btn:hover{background:#e5e7eb}.schemes-confirm-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:7px;padding:9px 16px;font-size:13px;font-weight:600}.schemes-confirm-btn:hover:not(:disabled){background:#4338ca}.schemes-confirm-btn:disabled{cursor:not-allowed;background:#a5b4fc}.schemes-list{flex-direction:column;gap:10px;display:flex}.schemes-card{cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.schemes-card:hover{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e514}.schemes-card-body{flex:1;min-width:0}.schemes-card-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px;font-size:15px;font-weight:700;overflow:hidden}.schemes-card-meta{color:#6b7280;margin:0;font-size:12px}.schemes-card-actions{flex-shrink:0;gap:6px;display:flex}.schemes-card-btn{cursor:pointer;background:0 0;border:none;border-radius:5px;padding:4px 6px;font-size:15px;transition:background .1s}.schemes-card-btn:hover{background:#f3f4f6}.schemes-card-btn--danger:hover{background:#fee2e2}.schemes-rename-input{color:#111827;border:1.5px solid #4f46e5;border-radius:5px;outline:none;width:100%;padding:2px 8px;font-size:15px;font-weight:700}.schemes-qual-list{flex-direction:column;gap:6px;display:flex}.schemes-qual-item{cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px solid #e5e7eb;border-radius:7px;align-items:center;gap:10px;padding:8px 12px;transition:border-color .12s,background .12s;display:flex}.schemes-qual-item:hover{background:#f9fafb;border-color:#c7d2fe}.schemes-qual-item--checked{background:#eef2ff;border-color:#4f46e5}.schemes-qual-check{accent-color:#4f46e5;flex-shrink:0;width:15px;height:15px}.schemes-qual-label{color:#374151;font-size:13px;font-weight:500}.schemes-no-courses{color:#9ca3af;margin:0;font-size:13px}.schemes-empty-state{text-align:center;padding:80px 0}.schemes-empty-icon{margin-bottom:16px;font-size:48px}.schemes-empty-text{color:#6b7280;margin:0;font-size:15px}.schemes-empty{color:#9ca3af;text-align:center;padding:40px 0}.scheme-editor-shell{background:#f9fafb;flex-direction:column;height:100vh;display:flex;overflow:hidden}.scheme-editor-body{flex:1;display:flex;overflow:hidden}.scheme-editor-empty{color:#6b7280;padding:60px}.scheme-editor-empty button{color:#4f46e5;cursor:pointer;background:0 0;border:none}.scheme-sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;gap:12px;width:272px;padding:16px;display:flex;overflow-y:auto}.scheme-back-btn{color:#6b7280;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:13px}.scheme-back-btn:hover{color:#111827}.scheme-sidebar-name{color:#111827;margin:0;font-size:15px;font-weight:800}.scheme-sidebar-meta{color:#9ca3af;margin:0;font-size:12px}.scheme-sidebar-hint{color:#9ca3af;margin:0;font-size:12px;line-height:1.6}.scheme-week-panel{flex-direction:column;flex:1;gap:10px;display:flex}.scheme-week-panel-head{justify-content:space-between;align-items:center;display:flex}.scheme-week-panel-title{color:#111827;margin:0;font-size:14px;font-weight:700}.scheme-week-panel-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.scheme-week-topic{background:#f8f7ff;border:1px solid #e0e7ff;border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.scheme-week-topic-head{align-items:center;gap:6px;display:flex}.scheme-week-topic-label{color:#3730a3;flex:1;min-width:0;font-size:12px;font-weight:600}.scheme-week-topic-span{color:#818cf8;background:#eef2ff;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px}.scheme-week-topic-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:12px}.scheme-week-topic-remove:hover{color:#dc2626}.scheme-week-wss{flex-direction:column;gap:4px;display:flex}.scheme-week-ws{background:#fff;border:1px solid #e5e7eb;border-radius:5px;align-items:center;gap:6px;padding:4px 6px;display:flex}.scheme-week-ws-num{color:#9ca3af;min-width:14px;font-size:10px;font-weight:700}.scheme-week-ws-title{color:#374151;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;overflow:hidden}.scheme-week-ws-remove{color:#d1d5db;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.scheme-week-ws-remove:hover{color:#dc2626}.scheme-week-ws-drag{color:#d1d5db;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 4px 0 0;font-size:14px;line-height:1}.scheme-week-ws-drag:active{cursor:grabbing}.scheme-week-ws--over{background:#ede9fe;border-radius:4px;outline:1px dashed #4f46e5}.scheme-add-ws-btn{color:#818cf8;cursor:pointer;text-align:left;background:0 0;border:1px dashed #c7d2fe;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600;transition:background .1s,border-color .1s}.scheme-add-ws-btn:hover{background:#eef2ff;border-color:#818cf8}.scheme-topic-actions{flex-direction:column;gap:4px;display:flex}.scheme-booklet-btn{color:#6d28d9;cursor:pointer;text-align:left;background:#f5f3ff;border:1.5px solid #c4b5fd;border-radius:5px;padding:5px 8px;font-size:11px;font-weight:600;transition:background .1s}.scheme-booklet-btn:hover{background:#ede9fe}.scheme-week-actions{flex-direction:column;gap:6px;margin-top:4px;display:flex}.scheme-add-topic-btn{color:#4f46e5;cursor:pointer;text-align:left;background:#f5f3ff;border:1.5px dashed #818cf8;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:600}.scheme-add-topic-btn:hover{background:#ede9fe}.scheme-recall-btn{color:#c2410c;cursor:pointer;text-align:left;background:#fff7ed;border:1.5px solid #fed7aa;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:600}.scheme-recall-btn:hover:not(:disabled){background:#ffedd5}.scheme-recall-btn:disabled{opacity:.5;cursor:not-allowed}.scheme-checkin-badge{color:#15803d;cursor:pointer;text-align:left;background:#dcfce7;border:none;border-radius:6px;width:100%;padding:6px 10px;font-size:12px}.scheme-checkin-badge:hover{background:#bbf7d0}.scheme-calendar-v{background:#f9fafb;flex-direction:column;flex:1;display:flex;overflow-y:auto}.scheme-cal-head{z-index:20;background:#fff;border-bottom:2px solid #e5e7eb;flex-shrink:0;align-items:center;height:36px;display:flex;position:sticky;top:0}.scheme-cal-head-label{flex-shrink:0;display:block}.scheme-cal-head-topics{color:#9ca3af;letter-spacing:.06em;text-transform:uppercase;flex:1;padding-left:4px;font-size:11px;font-weight:700}.scheme-cal-head-recall{color:#9ca3af;letter-spacing:.06em;text-transform:uppercase;text-align:center;border-left:1px solid #e5e7eb;flex-shrink:0;justify-content:center;align-items:center;height:100%;font-size:11px;font-weight:700;display:flex}.scheme-v-inner{padding-bottom:40px;position:relative}.scheme-vweek-row{cursor:pointer;border-bottom:1px solid #e5e7eb;align-items:center;gap:6px;padding:0 12px 0 0;transition:background .1s;display:flex;position:relative}.scheme-vweek-row:hover{background:#4f46e508}.scheme-vweek-row--selected{background:#4f46e50f}.scheme-vweek-row--checkin{border-left:3px solid #f59e0b}.scheme-vweek-num{color:#d1d5db;letter-spacing:.02em;flex-shrink:0;width:48px;padding-left:12px;font-size:10px;font-weight:700}.scheme-vweek-row--selected .scheme-vweek-num{color:#6366f1}.scheme-vcheckin-dot{cursor:pointer;flex-shrink:0;font-size:11px}.scheme-vweek-add{color:#e5e7eb;cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 4px;font-size:16px;line-height:1;transition:opacity .1s,color .1s}.scheme-vweek-row:hover .scheme-vweek-add{opacity:1}.scheme-vweek-add:hover{color:#4f46e5!important}.scheme-vtopic{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;gap:3px;padding:12px 16px 16px;transition:box-shadow .15s,transform .1s;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 8px #0000002e,0 1px 2px #0000001a}.scheme-vtopic:active{cursor:grabbing;transform:scale(1.01);box-shadow:0 6px 20px #00000040}.scheme-vtopic:hover{box-shadow:0 4px 14px #00000038}.scheme-vtopic-header{flex-direction:column;flex-shrink:0;gap:1px;display:flex}.scheme-vtopic-ref{color:#fff9;letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1}.scheme-vtopic-label{color:#fff;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;font-size:17px;font-weight:800;line-height:1.25;overflow:hidden}.scheme-vtopic-sheets{flex-direction:column;flex:1;gap:2px;margin-top:8px;display:flex;overflow:hidden}.scheme-vtopic-sheet{cursor:pointer;text-align:left;background:#0000002e;border:none;border-radius:5px;flex-shrink:0;align-items:center;gap:8px;width:100%;min-height:0;padding:5px 8px;transition:background .12s;display:flex}.scheme-vtopic-sheet:hover{background:#00000052}.scheme-vtopic-sheet-num{color:#ffffff8c;flex-shrink:0;min-width:14px;font-size:10px;font-weight:800}.scheme-vtopic-sheet-title{color:#ffffffeb;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;overflow:hidden}.scheme-vtopic-resize{cursor:ns-resize;background:#00000026;border-radius:0 0 6px 6px;flex-shrink:0;justify-content:center;align-items:center;height:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.scheme-vtopic-resize:after{content:"";background:#ffffff73;border-radius:1px;width:24px;height:2px}.scheme-recall-col{background:#fafafa;border-left:1px solid #e5e7eb;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.scheme-recall-track{pointer-events:none;background:#f0f0f0;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.scheme-recall-cell{cursor:pointer;border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s;display:flex;position:relative}.scheme-recall-cell:hover{background:#f0f0ff}.scheme-recall-dot{z-index:1;background:#f59e0b;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;position:relative;box-shadow:0 1px 4px #f59e0b80}.scheme-recall-cell--done:hover .scheme-recall-dot{background:#d97706}.scheme-recall-add{opacity:0;z-index:1;font-size:12px;transition:opacity .1s;position:relative}.scheme-recall-cell:not(.scheme-recall-cell--done):hover .scheme-recall-add{opacity:1}.picker-backdrop{z-index:200;background:#0000004d;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.topic-picker{background:#fff;border-radius:12px;flex-direction:column;width:440px;max-height:72vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #0000002e}.topic-picker-head{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.topic-picker-title{color:#111827;font-size:15px;font-weight:700}.topic-picker-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;font-size:14px}.topic-picker-tabs{border-bottom:1px solid #f3f4f6;gap:0;padding:0 8px;display:flex}.topic-picker-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:12px;font-weight:600;transition:color .1s}.topic-picker-tab:hover{color:#374151}.topic-picker-tab--active{color:#4f46e5;border-bottom-color:#4f46e5}.topic-picker-list{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex;overflow-y:auto}.topic-picker-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;transition:background .1s;display:flex}.topic-picker-item:hover{background:#f5f3ff}.topic-picker-item--used{opacity:.4}.topic-picker-ref{color:#818cf8;flex-shrink:0;min-width:36px;font-size:11px;font-weight:800}.topic-picker-label{color:#374151;flex:1;font-size:13px}.topic-picker-count{color:#9ca3af;flex-shrink:0;font-size:10px}.topic-picker-no-spec{color:#9ca3af;margin:0;padding:12px 20px;font-size:13px}.topic-picker-free{border-top:1px solid #f3f4f6;gap:8px;padding:12px 16px;display:flex}.topic-picker-input{border:1.5px solid #d1d5db;border-radius:6px;outline:none;flex:1;padding:8px 10px;font-size:13px}.topic-picker-input:focus{border-color:#4f46e5}.topic-picker-add{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600}.topic-picker-add:disabled{cursor:not-allowed;background:#a5b4fc}.ws-picker{background:#fff;border-radius:12px;flex-direction:column;width:420px;max-height:70vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #0000002e}.ws-picker-head{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.ws-picker-title{color:#111827;font-size:15px;font-weight:700}.ws-picker-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;font-size:14px}.ws-picker-search{background:#f9fafb;border:none;border-bottom:1px solid #f3f4f6;outline:none;padding:10px 16px;font-size:13px}.ws-picker-list{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex;overflow-y:auto}.ws-picker-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex-direction:row;align-items:center;gap:8px;width:100%;padding:8px 12px;transition:background .1s;display:flex;position:relative}.ws-picker-item:hover:not(:disabled){background:#f5f3ff}.ws-picker-item--added{opacity:.5;cursor:not-allowed}.ws-picker-item--selected{background:#ede9fe}.ws-picker-item--selected:hover:not(:disabled){background:#ddd6fe}.ws-picker-checkbox{accent-color:#4f46e5;pointer-events:none;flex-shrink:0;width:16px;height:16px}.ws-picker-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ws-picker-item-title{color:#111827;font-size:13px;font-weight:600}.ws-picker-item-meta{color:#9ca3af;font-size:11px}.ws-picker-added-badge{color:#16a34a;background:#dcfce7;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.ws-picker-footer{border-top:1px solid #f3f4f6;flex-shrink:0;padding:10px 12px}.ws-picker-confirm-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;width:100%;padding:9px 12px;font-size:13px;font-weight:700;transition:background .15s}.ws-picker-confirm-btn:hover:not(:disabled){background:#4338ca}.ws-picker-confirm-btn:disabled{color:#9ca3af;cursor:not-allowed;background:#e5e7eb}.ws-picker-empty{color:#9ca3af;text-align:center;margin:0;padding:20px;font-size:13px}.recall-backdrop{z-index:200;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.recall-modal{background:#fff;border-radius:14px;flex-direction:column;gap:16px;width:480px;padding:24px;display:flex;box-shadow:0 8px 40px #0003}.recall-head{justify-content:space-between;align-items:center;display:flex}.recall-title{color:#111827;margin:0;font-size:16px;font-weight:800}.recall-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;font-size:16px}.recall-desc{color:#6b7280;margin:0;font-size:13px;line-height:1.55}.recall-cutoff{background:#f8f7ff;border:1px solid #e0e7ff;border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.recall-cutoff-label{color:#374151;margin:0;font-size:12px}.recall-cutoff-list{flex-direction:column;gap:3px;display:flex}.recall-cutoff-item{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;padding:4px 8px;transition:background .1s;display:flex}.recall-cutoff-item:hover{background:#ede9fe}.recall-cutoff-item--on{background:#ede9fe;border-color:#c4b5fd}.recall-cutoff-num{color:#818cf8;min-width:14px;font-size:10px;font-weight:800}.recall-cutoff-title{color:#374151;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.recall-cutoff-check{color:#4f46e5;flex-shrink:0;font-size:11px;font-weight:700}.recall-cutoff-check--off{color:#d1d5db}.recall-stat-row{background:#f9fafb;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.recall-stat-label{color:#6b7280;font-size:12px;font-weight:500}.recall-stat-val{color:#111827;font-size:16px;font-weight:800}.recall-sources{flex-direction:column;gap:4px;max-height:160px;display:flex;overflow-y:auto}.recall-source{background:#f8f7ff;border-radius:5px;justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.recall-source-title{color:#3730a3;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.recall-source-meta{color:#9ca3af;flex-shrink:0;margin-left:8px;font-size:11px}.recall-more{color:#9ca3af;margin:0;padding:2px 10px;font-size:11px}.recall-marks-row{flex-direction:column;gap:6px;display:flex}.recall-marks-label{color:#374151;font-size:13px}.recall-slider{accent-color:#f97316;cursor:pointer;width:100%}.recall-slider-ends{color:#9ca3af;justify-content:space-between;font-size:11px;display:flex}.recall-generate-btn{color:#fff;cursor:pointer;background:#f97316;border:none;border-radius:9px;width:100%;padding:12px 20px;font-size:14px;font-weight:700}.recall-generate-btn:hover:not(:disabled){background:#ea6c0c}.recall-generate-btn:disabled{cursor:not-allowed;background:#fed7aa}.recall-warn{color:#dc2626;text-align:center;margin:0;font-size:12px}.mcq-page-layout{background:#f9fafb;flex-direction:column;height:100vh;display:flex}.mcq-page-main{flex:1;padding:32px;overflow-y:auto}.mcq-page-loading{text-align:center;color:#6b7280;padding:60px;font-size:16px}.mcq-page-info{max-width:794px;margin:0 auto 24px}.mcq-page-title{color:#111827;margin:0 0 4px;font-size:24px;font-weight:700}.mcq-page-meta{color:#6b7280;margin:0;font-size:14px}.mcq-print-body{background:#fff;max-width:794px;margin:0 auto;padding:40px;box-shadow:0 2px 12px #0000001a}.mcq-version-header{border-bottom:2px solid #111827;justify-content:space-between;align-items:baseline;margin-bottom:6px;padding-bottom:8px;display:flex}.mcq-version-title{color:#111827;font-size:16px;font-weight:700}.mcq-version-code{color:#374151;font-family:monospace;font-size:13px;font-weight:600}.mcq-version-instructions{color:#6b7280;margin-bottom:20px;font-size:12px;font-style:italic}.mcq-questions{flex-direction:column;gap:16px;display:flex}.mcq-q{page-break-inside:avoid;break-inside:avoid}.mcq-q-stem{gap:6px;margin-bottom:8px;display:flex}.mcq-q-num{color:#111827;flex-shrink:0;min-width:22px;font-size:14px;font-weight:700}.mcq-q-text{color:#111827;font-size:14px;line-height:1.5}.mcq-q-options{grid-template-columns:1fr 1fr;gap:4px 16px;padding-left:28px;display:grid}.mcq-q-option{color:#374151;align-items:flex-start;gap:8px;font-size:13px;display:flex}.mcq-q-letter{color:#111827;flex-shrink:0;min-width:16px;font-weight:700}.mcq-bubble-sheet{border:2px solid #111827;border-radius:4px;padding:20px}.mcq-bubble-header{border-bottom:1px solid #d1d5db;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;padding-bottom:12px;display:flex}.mcq-bubble-title{color:#111827;margin-bottom:4px;font-size:14px;font-weight:700}.mcq-bubble-version{color:#374151;font-family:monospace;font-size:13px}.mcq-bubble-instructions{color:#6b7280;margin-bottom:16px;font-size:11px;font-style:italic}.mcq-bubble-grid{flex-direction:column;gap:4px;max-width:280px;display:flex}.mcq-bubble-col-header,.mcq-bubble-row{grid-template-columns:28px repeat(4,40px);align-items:center;display:grid}.mcq-bubble-col-header{margin-bottom:2px}.mcq-bubble-letter{text-align:center;color:#374151;font-size:12px;font-weight:700}.mcq-bubble-qnum{color:#374151;font-size:12px;font-weight:600}.mcq-bubble-circle{border:1.5px solid #374151;border-radius:50%;width:22px;height:22px;margin:0 auto;display:block}.mcq-bubble-footer{color:#374151;border-top:1px solid #d1d5db;margin-top:16px;padding-top:12px;font-family:monospace;font-size:12px}.mcq-markscheme{border:2px solid #111827;border-radius:4px;padding:24px}.mcq-ms-header{border-bottom:2px solid #111827;margin-bottom:20px;padding-bottom:12px}.mcq-ms-title{color:#dc2626;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:13px;font-weight:700}.mcq-ms-subtitle{color:#111827;font-size:16px;font-weight:700}.mcq-ms-versions{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;display:grid}.mcq-ms-version{page-break-inside:avoid;break-inside:avoid}.mcq-ms-version-code{color:#111827;border-bottom:1px solid #e5e7eb;margin-bottom:8px;padding-bottom:4px;font-family:monospace;font-size:13px;font-weight:700}.mcq-ms-key{flex-direction:column;gap:3px;display:flex}.mcq-ms-row{align-items:baseline;gap:8px;font-size:12px;display:flex}.mcq-ms-qnum{color:#6b7280;min-width:28px;font-family:monospace}.mcq-ms-answer{color:#111827;min-width:14px;font-family:monospace;font-weight:700}.mcq-ms-correct{color:#374151;font-size:11px}.btn-topbar--danger{color:#dc2626;border-color:#fca5a5}.btn-topbar--danger:hover{background:#fef2f2}.mcq-page-break{page-break-before:always;break-before:page;padding-top:40px}@media screen{.mcq-page-break{border-top:2px dashed #e5e7eb;margin-top:40px;padding-top:40px}}.mcq-bubble-qr{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;display:flex}.mcq-bubble-qr-label{color:#6b7280;text-align:center;font-size:9px}.mcq-view-toggle{background:#2d2d44;border-radius:8px;gap:2px;padding:3px;display:flex}.mcq-view-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.mcq-view-btn:hover{color:#e5e7eb}.mcq-view-btn--active{color:#fff;background:#4f46e5}.mcq-page-results-wrap{max-width:700px;margin:0 auto}.mcq-results-empty{text-align:center;color:#6b7280;padding:40px 20px;font-size:15px;line-height:1.6}.mcq-results-hint{color:#9ca3af;max-width:420px;margin:8px auto 0;font-size:13px}.mcq-results{flex-direction:column;gap:24px;display:flex}.mcq-results-summary{background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:0;display:flex;overflow:hidden}.mcq-results-stat{text-align:center;border-right:1px solid #e5e7eb;flex-direction:column;flex:1;gap:4px;padding:20px 16px;display:flex}.mcq-results-stat:last-child{border-right:none}.mcq-results-stat-val{color:#111827;font-size:28px;font-weight:800}.mcq-results-stat-label{color:#6b7280;font-size:12px}.mcq-results-section-title{color:#374151;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:14px;font-weight:700}.mcq-results-questions{flex-direction:column;gap:12px;display:flex}.mcq-results-q{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.mcq-results-q-text{color:#111827;font-size:13px;line-height:1.4}.mcq-results-q-bar-row{align-items:center;gap:12px;display:flex}.mcq-results-q-track{background:#f3f4f6;border-radius:99px;flex:1;height:8px;overflow:hidden}.mcq-results-q-fill{border-radius:99px;height:100%;transition:width .4s ease-out}.mcq-results-q-fill--good{background:#16a34a}.mcq-results-q-fill--ok{background:#d97706}.mcq-results-q-fill--low{background:#dc2626}.mcq-results-q-pct{text-align:right;min-width:80px;font-size:13px;font-weight:700}.mcq-results-q-pct--good{color:#16a34a}.mcq-results-q-pct--ok{color:#d97706}.mcq-results-q-pct--low{color:#dc2626}.mcq-results-scans{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.mcq-results-scan-row{border-bottom:1px solid #f3f4f6;align-items:center;gap:16px;padding:10px 16px;font-size:13px;display:flex}.mcq-results-scan-row:last-child{border-bottom:none}.mcq-results-scan-version{color:#4f46e5;min-width:24px;font-family:monospace;font-weight:700}.mcq-results-scan-score{color:#111827;font-weight:600}.mcq-results-scan-pct{color:#6b7280}.mcq-results-scan-date{color:#9ca3af;margin-left:auto}.marking-shell{background:#f3f4f6;justify-content:center;align-items:flex-start;min-height:100dvh;padding:16px;display:flex}.marking-card{background:#fff;border-radius:16px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 4px 24px #0000001a}.marking-header{text-align:center;background:#1a1a2e;padding:20px 20px 16px}.marking-badge{color:#a5b4fc;letter-spacing:.08em;text-transform:uppercase;background:#4f46e54d;border-radius:99px;margin-bottom:8px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.marking-title{color:#fff;margin:0 0 4px;font-size:18px;font-weight:700;line-height:1.3}.marking-version{color:#818cf8;font-family:monospace;font-size:13px;font-weight:600}.marking-loading,.marking-error{text-align:center;color:#6b7280;padding:40px 24px;font-size:15px}.marking-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin:16px;padding:12px 16px}.marking-capture{flex-direction:column;align-items:center;gap:16px;padding:24px 20px;display:flex}.marking-instructions{text-align:center;color:#374151}.marking-instr-icon{margin-bottom:12px;font-size:40px}.marking-instructions p{margin:0 0 10px;font-size:15px;font-weight:600}.marking-instructions ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.marking-instructions li{color:#6b7280;font-size:13px}.marking-instructions li:before{content:"· "}.marking-preview{border:2px solid #e5e7eb;border-radius:10px;width:100%;display:block}.marking-results{flex-direction:column;gap:16px;padding:20px;display:flex}.marking-score{background:#f9fafb;border-radius:12px;justify-content:center;align-items:baseline;gap:6px;padding:20px;display:flex}.marking-score--good{background:#f0fdf4}.marking-score--ok{background:#fffbeb}.marking-score--low{background:#fef2f2}.marking-score-num{color:#111827;font-size:56px;font-weight:800;line-height:1}.marking-score--good .marking-score-num{color:#15803d}.marking-score--ok .marking-score-num{color:#b45309}.marking-score--low .marking-score-num{color:#dc2626}.marking-score-sep{color:#9ca3af;font-size:28px}.marking-score-total{color:#374151;font-size:28px;font-weight:600}.marking-score-pct{color:#6b7280;margin-left:4px;font-size:16px}.marking-breakdown{flex-direction:column;gap:8px;max-height:50dvh;display:flex;overflow-y:auto}.marking-row{background:#f9fafb;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 12px;display:flex}.marking-row--correct{background:#f0fdf4}.marking-row--wrong{background:#fef2f2}.marking-row-icon{flex-shrink:0;margin-top:1px;font-size:15px;font-weight:700}.marking-row--correct .marking-row-icon{color:#16a34a}.marking-row--wrong .marking-row-icon{color:#dc2626}.marking-row-body{flex-direction:column;gap:2px;min-width:0;display:flex}.marking-row-q{color:#111827;font-size:13px;line-height:1.4}.marking-row-info{color:#6b7280;font-size:12px}.marking-actions{flex-direction:column;gap:10px;display:flex}.marking-btn{cursor:pointer;text-align:center;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;text-decoration:none;transition:opacity .15s;display:flex}.marking-btn:disabled{opacity:.6;cursor:not-allowed}.marking-btn--capture{color:#fff;background:#4f46e5;width:100%;padding:16px;font-size:17px}.marking-btn--scan{color:#fff;background:#4f46e5;width:100%}.marking-btn--retry{color:#374151;background:#f3f4f6;width:100%}.marking-btn--save{color:#fff;background:#0891b2;width:100%}.marking-btn--login{color:#374151;background:#f3f4f6;width:100%;padding:12px;font-size:13px}.marking-btn--again{color:#374151;background:#f3f4f6;width:100%}.marking-saved{text-align:center;color:#16a34a;padding:8px;font-size:14px;font-weight:600}.marking-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite marking-spin;display:inline-block}@keyframes marking-spin{to{transform:rotate(360deg)}}.marking-privacy-notice{text-align:left;background:#fefce8;border:1px solid #fde68a;border-radius:8px;margin-bottom:12px;padding:12px 14px}.marking-privacy-text{color:#78350f;margin:0 0 10px;font-size:13px;line-height:1.5}.marking-consent-label{color:#92400e;cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.marking-consent-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:15px;height:15px;margin-top:2px}.marking-btn--capture:disabled{opacity:.4;cursor:not-allowed}.app-loading{background:#f4f3f8;justify-content:center;align-items:center;min-height:100vh;display:flex}.app-loading-spinner{border:3px solid #e2e0ea;border-top-color:#4f46e5;border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
