:root{--bg-body: #F5F4F0;--bg-surface: #ffffff;--bg-surface-alt: #FAF9F6;--bg-surface-raised: #ffffff;--bg-input: #ffffff;--bg-input-focus: #FAF9F6;--text-primary: #3D3D3A;--text-secondary: #6B6B6B;--text-tertiary: #908E88;--text-on-accent: #ffffff;--accent-blue: #5A68B8;--accent-blue-hover: #4a58b0;--accent-blue-muted: #EDECEA;--accent-blue-subtle: #E0DED8;--edge: #3A3A36;--edge-light: #C8C7C2;--color-correct: #16a34a;--color-correct-bg: #ecfdf5;--color-correct-border: #22c55e;--color-correct-text: #15803d;--color-incorrect: #dc2626;--color-incorrect-bg: #fef2f2;--color-incorrect-border: #ef4444;--color-incorrect-text: #b91c1c;--color-partial: #d97706;--color-partial-bg: #fffbeb;--color-partial-border: #f59e0b;--color-partial-text: #92400e;--color-progress-fill: #16a34a;--color-progress-track: #E4E3DF;--color-mark-scheme-bg: #F3F1EE;--color-mark-scheme-border: #8b5cf6;--color-mark-scheme-text: #6d28d9;--border-default: #D5D4D0;--border-subtle: #E8E7E3;--border-input: #C8C7C3;--border-input-focus: #5A68B8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .12);--press-shadow: 3px 3px 0 var(--edge);--press-shadow-sm: 2px 2px 0 var(--edge);--press-shadow-active: 1px 1px 0 var(--edge);--border-card: #6B6B6B;--press-shadow-card: 3px 3px 0 var(--border-card);--press-radius: 16px;--press-radius-sm: 12px;--scrollbar-track: #EFEEEA;--scrollbar-thumb: #C5C4C0;--scrollbar-thumb-hover: #A0A09A;--card-bg: var(--bg-surface);--border: var(--border-default);--matchup-next-bg: var(--accent-blue-muted);--matchup-next-hover: var(--bg-surface-alt)}[data-theme=dark]{--bg-body: #1A1918;--bg-surface: #242320;--bg-surface-alt: #2E2D2A;--bg-surface-raised: #333230;--bg-input: #2A2926;--bg-input-focus: #333230;--text-primary: #EDEDEB;--text-secondary: #A8A7A3;--text-tertiary: #6B6A66;--text-on-accent: #ffffff;--accent-blue: #9BA3DA;--accent-blue-hover: #8B93CC;--accent-blue-muted: #2E2D3A;--accent-blue-subtle: #262530;--edge: #4A4945;--edge-light: #3A3936;--color-correct: #34D399;--color-correct-bg: #1A2E24;--color-correct-border: #28a77a;--color-correct-text: #6ee7b7;--color-incorrect: #F87171;--color-incorrect-bg: #2E1E1E;--color-incorrect-border: #dc5656;--color-incorrect-text: #fca5a5;--color-partial: #EAB308;--color-partial-bg: #2E2A1A;--color-partial-border: #ca9a04;--color-partial-text: #facc15;--color-progress-fill: #34D399;--color-progress-track: #2E2D2A;--color-mark-scheme-bg: #26252E;--color-mark-scheme-border: #8b5cf6;--color-mark-scheme-text: #c4b5fd;--border-default: #3E3D3A;--border-subtle: #333230;--border-input: #4A4945;--border-input-focus: #9BA3DA;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .4);--shadow-hover: 0 6px 20px rgba(0, 0, 0, .5);--press-shadow: 3px 3px 0 var(--edge);--press-shadow-sm: 2px 2px 0 var(--edge);--press-shadow-active: 1px 1px 0 var(--edge);--border-card: #4A4945;--press-shadow-card: 3px 3px 0 #3A3936;--scrollbar-track: var(--bg-body);--scrollbar-thumb: var(--border-default);--scrollbar-thumb-hover: var(--text-tertiary);--card-bg: var(--bg-surface);--border: var(--border-default);--matchup-next-bg: var(--accent-blue-muted);--matchup-next-hover: var(--bg-surface-alt)}*,*:before,*:after{box-sizing:border-box}html{overflow-y:scroll}html:has(.self-marking-overlay),html:has(.score-page-overlay){overflow:hidden}html:has(.score-page-overlay) .top-right-buttons,html:has(.exam-session) .top-right-buttons{display:none}html:has(.figure-viewer-overlay){overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.65;color:var(--text-primary);background:var(--bg-body);padding:clamp(1rem,4vw,1.5rem);max-width:920px;margin:0 auto;transition:background-color .3s,color .3s}button,input,select,textarea{font-family:inherit}h1,h2,h3,header h1,.breadcrumb-link,.breadcrumb-current,.landing-title,.landing-strapline,.landing-select-label,.landing-cta-btn,.landing-feature-card h3,.topic-card-name,.subtopic-card-name,.question-header h2,.score-page-value,.score-page-label,.self-marking-part-label,.content-subtitle{font-family:Merriweather,Georgia,Times New Roman,serif;font-weight:300}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}button:active,.question-item:active,.landing-feature-card:active,.matchup-box:active,.self-marking-submit-group:active{transition:none!important}header{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#f5f4f0eb;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:clamp(1rem,3vw,1.5rem);margin-left:calc(-1*clamp(1rem,4vw,1.5rem));margin-right:calc(-1*clamp(1rem,4vw,1.5rem));margin-top:calc(-1*clamp(1rem,4vw,1.5rem));padding:.15rem clamp(1rem,4vw,1.5rem);text-align:center}[data-theme=dark] header{background:#1a1918eb;border-bottom-color:#ffffff14}header h1{color:var(--accent-blue);font-size:3.1rem;font-weight:800;letter-spacing:-.03em;margin:0}.header-title-row{display:flex;align-items:center;justify-content:center;gap:.75rem}.content-back-row{margin-top:1.5rem;display:flex}.header-back-btn{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-surface);border:1.5px solid var(--edge);color:var(--text-secondary);cursor:pointer;padding:.3rem .7rem .3rem .45rem;border-radius:999px;flex-shrink:0;font-size:.85rem;font-weight:500;font-family:inherit;box-shadow:var(--press-shadow-sm);transition:color .15s,background .15s,transform .12s,box-shadow .12s}.header-back-btn svg{width:1rem;height:1rem;flex-shrink:0}.header-back-btn:hover{color:var(--accent-blue);background:var(--bg-surface-alt);transform:translateY(-1px)}.header-back-btn:active{transform:translate(1px,1px);box-shadow:none}.content-subtitle-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;padding:.6rem 0}.content-subtitle-row .content-subtitle{margin:0}.content-subtitle{color:var(--text-secondary);font-size:1.5rem;font-weight:500;margin-bottom:clamp(.75rem,2vw,1.25rem)}.header-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;text-align:left}.back-link{border:none;background:none;padding:0;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:color .15s}.back-link:hover{color:var(--accent-blue);text-decoration:underline}.top-right-buttons{position:fixed;top:10px;right:20px;z-index:1000;display:flex;gap:10px;align-items:center}.top-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--edge);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--press-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .12s ease;line-height:1;-webkit-user-select:none;user-select:none;touch-action:manipulation}.top-btn:hover{background:var(--bg-surface-alt);transform:translateY(-1px)}.top-btn:active{transform:translate(1px,1px);box-shadow:none}.bug-btn{color:var(--color-incorrect)}.breadcrumb-nav{min-height:24px}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;row-gap:4px}.breadcrumb-link,.breadcrumb-current{font-family:inherit;font-size:1.1rem;font-weight:700;line-height:1.4;display:inline;vertical-align:baseline;padding:0;margin:0;border:none;background:none;letter-spacing:-.01em}.breadcrumb-link{color:var(--accent-blue);opacity:.85;cursor:pointer}.breadcrumb-link:hover{text-decoration:underline;opacity:1}.breadcrumb-sep{margin:0 8px;color:var(--text-tertiary);font-size:.95rem;opacity:.5}.breadcrumb-current{color:var(--text-primary)}.view{display:none}.view.active{display:block}.hidden{display:none!important}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header-row.reset-only{justify-content:flex-end;margin-bottom:16px}.section-header-row h2{margin:0;font-size:1.69rem;font-weight:800;letter-spacing:-.02em}.reset-all-btn{background:#fff;border:1.5px solid var(--edge);border-radius:999px;padding:6px 16px;font-size:.82rem;font-weight:650;color:var(--text-secondary);cursor:pointer;white-space:nowrap;box-shadow:var(--press-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .15s,color .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.reset-all-btn:hover{background:var(--color-incorrect-bg);border-color:var(--color-incorrect-border);color:var(--color-incorrect-text)}.reset-all-btn:active{transform:translate(1px,1px);box-shadow:none}.filter-toggles{display:flex;gap:.75rem;flex-wrap:wrap}.filter-toggle-group{display:flex;border-radius:8px;overflow:hidden}.filter-toggle-item{font-size:.8rem;font-weight:600;padding:.3rem .75rem;border:1.5px solid var(--border-card);background:transparent;color:color-mix(in srgb,var(--text-tertiary) 40%,transparent);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}.filter-toggle-item:first-child{border-right:none;border-radius:8px 0 0 8px}.filter-toggle-item:last-child{border-left:none;border-radius:0 8px 8px 0}.filter-toggle-item:not(:first-child):not(:last-child){border-left:none;border-right:none;border-radius:0}.filter-toggle-item.active{color:var(--text-primary);border-color:var(--text-primary);background:var(--bg-surface)}.filter-toggle-item:hover:not(.active){background:var(--bg-surface-alt)}.eb-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.eb-modal-box{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius, 16px);padding:clamp(1.5rem,5vw,2.5rem);text-align:center;max-width:380px;width:90%;box-shadow:6px 6px 0 var(--edge)}.eb-modal-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0 0 1.25rem}.eb-modal-message{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1.25rem}.eb-modal-options{display:flex;flex-direction:column;gap:.6rem}.eb-modal-btn{display:block;width:100%;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;border-radius:999px;border:1.5px solid var(--edge);cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:2px 2px 0 var(--edge)}.eb-modal-btn:active{transform:translate(1px,1px);box-shadow:none}.eb-modal-btn-primary{background:var(--accent-blue);color:var(--text-on-accent, #fff);border-color:var(--edge)}.eb-modal-btn-primary:hover{opacity:.9}.eb-modal-btn-secondary{background:var(--bg-surface-alt);color:var(--text-secondary)}.eb-modal-btn-secondary:hover{background:var(--bg-surface)}.eb-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:4px;margin-left:.4rem;vertical-align:middle;letter-spacing:.02em;line-height:1.4}.eb-badge-aqa{background:#e8eaf6;color:#3949ab}.eb-badge-edexcel{background:#fce4ec;color:#c62828}.spec-tooltip-wrapper{position:absolute;top:8px;right:8px;z-index:10}h1>.spec-tooltip-wrapper{position:relative;top:auto;right:auto;display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px}.spec-tooltip-trigger{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-tertiary);display:inline-flex;align-items:center;opacity:.5;transition:opacity .15s,color .15s}.spec-tooltip-trigger:hover{opacity:1;color:var(--accent-blue)}.spec-tooltip-popup{position:absolute;top:calc(100% + 6px);right:0;z-index:999;min-width:260px;max-width:360px;padding:12px 16px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-card);border-radius:10px;font-size:.78rem;line-height:1.55;text-align:left;font-weight:400;box-shadow:0 8px 24px #00000026;pointer-events:auto}.spec-tooltip-heading{font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin:0 0 6px}.spec-tooltip-list{margin:0;padding:0 0 0 1.1em;list-style:disc}.spec-tooltip-list li{margin-bottom:3px}.spec-tooltip-list li:last-child{margin-bottom:0}.spec-tooltip-list .katex{font-size:.85em}.topic-selection,.subtopic-selection{display:flex;flex-direction:column}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.75rem,2vw,1.25rem);margin-top:clamp(1rem,3vw,1.5rem)}.topic-btn{padding:clamp(1.25rem,3vw,1.75rem) clamp(1rem,2.5vw,1.5rem);font-size:1.37rem;background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border-card);border-radius:var(--press-radius);cursor:pointer;box-shadow:var(--press-shadow-card);text-align:center;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;-webkit-user-select:none;user-select:none;touch-action:manipulation}.topic-btn:hover:not(:disabled){background:var(--bg-surface-alt);transform:translate(2px,2px);box-shadow:none}.topic-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.topic-btn-empty,.subtopic-btn-empty{opacity:.4;cursor:default;box-shadow:none;border-style:dashed}.btn-name{display:block;font-weight:600;letter-spacing:-.01em}.btn-counter{display:block;font-size:.82rem;color:var(--text-secondary);margin-top:10px}.subtopic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:clamp(.75rem,2vw,1.125rem);margin-top:clamp(1rem,3vw,1.5rem)}.subtopic-btn{position:relative;padding:clamp(1rem,2.5vw,1.375rem) clamp(.875rem,2vw,1.25rem);font-size:1.3rem;background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border-card);border-radius:var(--press-radius);cursor:pointer;box-shadow:var(--press-shadow-card);text-align:center;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;-webkit-user-select:none;user-select:none;touch-action:manipulation}.subtopic-btn:hover:not(:disabled){background:var(--bg-surface-alt);transform:translate(2px,2px);box-shadow:none}.subtopic-btn:has(.spec-tooltip-popup){z-index:50}.subtopic-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}#no-subtopics-message{text-align:center;font-style:italic;color:var(--text-secondary);margin-top:clamp(1rem,3vw,1.5rem)}.question-item{background:var(--bg-surface);padding:clamp(.875rem,2vw,1.125rem) clamp(1rem,2.5vw,1.375rem);margin-bottom:clamp(.5rem,1.5vw,.75rem);border-radius:var(--press-radius-sm);cursor:pointer;display:flex;justify-content:space-between;align-items:center;border:1.5px solid var(--border-card);box-shadow:2px 2px 0 var(--border-card);transition:transform .12s ease,box-shadow .12s ease,background .12s ease;-webkit-user-select:none;user-select:none;touch-action:manipulation}.question-item:hover{background:var(--bg-surface-alt);transform:translate(1px,1px);box-shadow:none}.question-item:active{transform:translate(1px,1px);box-shadow:none}.question-item .marks{border-radius:999px;background:var(--bg-surface-alt);border:1px solid var(--border-subtle);font-size:.85rem;font-weight:600;padding:4px 12px}.question-item-title{flex:1;min-width:0;font-weight:600}.question-item-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.question-progress{width:100px;height:24px;background:var(--color-progress-track);border-radius:12px;overflow:hidden;position:relative}.question-progress-fill{height:100%;border-radius:12px;transition:width .3s ease}.question-progress-fill.progress-full{background:var(--color-correct)}.question-progress-fill.progress-zero{background:var(--color-incorrect)}.question-progress-fill.progress-partial{background:var(--color-partial)}.question-progress-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--text-primary)}.question-progress.has-score{cursor:pointer}.question-progress.has-score:after{content:"";position:absolute;inset:0;border-radius:12px;border:1.5px solid var(--text-primary);pointer-events:none;transition:border-color .15s ease;z-index:2}.question-progress.has-score:hover:after{border-color:var(--color-incorrect)}.question-progress-reset{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--color-incorrect-text);background:var(--color-incorrect-bg);border-radius:12px;opacity:0;transition:opacity .15s ease}.question-progress.has-score:hover .question-progress-reset{opacity:1}.confirm-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .confirm-overlay{background:#0009}.confirm-box{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius);padding:clamp(1.25rem,4vw,2rem) clamp(1.5rem,5vw,2.5rem);text-align:center;max-width:400px;width:90%;box-shadow:6px 6px 0 var(--edge)}.confirm-message{color:var(--text-primary);font-size:1rem;margin-bottom:24px;line-height:1.5}.confirm-buttons{display:flex;gap:12px;justify-content:center}.confirm-ok{padding:10px 28px;background:var(--color-incorrect);color:var(--text-on-accent);border:1.5px solid rgba(0,0,0,.2);border-radius:999px;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:2px 2px #0000004d;transition:transform .12s ease,box-shadow .12s ease,background .15s ease}.confirm-ok:hover{background:var(--color-incorrect-border)}.confirm-ok:active{transform:translate(1px,1px);box-shadow:none}.confirm-cancel{padding:10px 28px;background:var(--bg-surface-alt);color:var(--text-secondary);border:1.5px solid var(--edge);border-radius:999px;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:2px 2px 0 var(--edge);transition:transform .12s ease,box-shadow .12s ease,background .15s ease}.confirm-cancel:hover{background:var(--bg-surface-raised)}.confirm-cancel:active{transform:translate(1px,1px);box-shadow:none}.back-btn-fixed{display:block;margin-top:clamp(1rem,3vw,1.75rem);background:var(--bg-surface);border:1.5px solid var(--edge);color:var(--accent-blue);font-size:.95rem;font-weight:700;cursor:pointer;padding:.625rem 1.25rem;border-radius:999px;box-shadow:var(--press-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .15s ease}.back-btn-fixed:hover{background:var(--bg-surface-alt);transform:translate(1px,1px);box-shadow:none}.back-btn-fixed:active{transform:translate(1px,1px);box-shadow:none}.bottom-nav-row{margin-top:clamp(1rem,3vw,1.75rem)}.bottom-nav-row.has-report{display:flex;justify-content:space-between;align-items:center}.bottom-nav-row-solo{display:flex;justify-content:flex-end;align-items:center}.bottom-nav-row .back-btn-fixed{margin-top:0}.bug-report-btn{background:var(--bg-surface);border:1.5px solid var(--edge);color:var(--color-incorrect);font-size:.8rem;font-weight:700;cursor:pointer;padding:.3rem .75rem;border-radius:999px;box-shadow:var(--press-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .15s ease;white-space:nowrap;flex-shrink:0}.bug-report-btn:hover{background:var(--color-incorrect-bg);border-color:var(--color-incorrect-border)}.bug-report-btn:active{transform:translate(1px,1px);box-shadow:none}.difficulty-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px}.difficulty-easy{color:var(--color-correct-text);background:var(--color-correct-bg)}.difficulty-medium{color:var(--color-partial-text);background:var(--color-partial-bg)}.difficulty-hard{color:var(--color-incorrect-text);background:var(--color-incorrect-bg)}#question-container{background:var(--bg-surface);padding:clamp(1.25rem,4vw,2.25rem);border-radius:var(--press-radius);border:1.5px solid var(--border-card);box-shadow:var(--press-shadow-card)}.question-header-back{margin-top:.6rem}.question-header{margin-bottom:clamp(1rem,3vw,1.75rem);padding-bottom:clamp(.75rem,2vw,1.125rem);border-bottom:2px solid var(--border-subtle)}.question-header h2{color:var(--text-primary);font-size:1.76rem;font-weight:800;margin-bottom:6px;letter-spacing:-.02em}.question-header-path{font-size:.85rem;color:var(--text-tertiary);margin-bottom:6px;display:flex;align-items:center;gap:.5rem}.question-header .total-marks{color:var(--accent-blue);font-size:1rem;font-weight:700}.part-text table,.mark-scheme table,.self-marking-question-text table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.95rem;border-radius:8px;overflow:hidden}.part-text table th,.mark-scheme table th,.self-marking-question-text table th{background:var(--bg-surface-alt);color:var(--text-primary);font-weight:700;text-align:left;padding:10px 14px;border:1px solid var(--border-default)}.part-text table td,.mark-scheme table td,.self-marking-question-text table td{padding:8px 14px;border:1px solid var(--border-default);color:var(--text-primary)}.part-text table tbody tr:nth-child(2n),.mark-scheme table tbody tr:nth-child(2n),.self-marking-question-text table tbody tr:nth-child(2n){background:var(--bg-surface-alt)}.part-text table tbody tr:nth-child(odd),.mark-scheme table tbody tr:nth-child(odd),.self-marking-question-text table tbody tr:nth-child(odd){background:var(--bg-surface)}.question-part{margin-bottom:clamp(1.5rem,4vw,2.25rem);padding-bottom:clamp(1.25rem,3vw,1.875rem);border-bottom:1px solid var(--border-subtle)}.question-part:last-child{border-bottom:none;margin-bottom:0}.part-label{font-weight:800;color:var(--accent-blue);font-size:1.1rem;letter-spacing:-.01em;margin-right:.5em}.part-label-standalone{font-weight:800;color:var(--accent-blue);font-size:1.1rem;letter-spacing:-.01em;margin-bottom:12px}.part-text{margin-bottom:16px;line-height:1.7}.part-marks{color:var(--text-secondary);font-size:.88rem;font-weight:600;margin-top:12px;text-align:right}.part-diagrams-grid{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.part-diagram-figure{margin:0;flex:1 1 0;min-width:0;max-width:min(100%,420px)}.part-diagrams-grid .part-diagram-figure:first-child:nth-last-child(1){flex:0 1 auto;max-width:min(100%,480px)}.part-diagrams-grid .part-diagram-figure:first-child:nth-last-child(2),.part-diagrams-grid .part-diagram-figure:first-child:nth-last-child(2)~.part-diagram-figure{flex:0 1 calc(50% - 8px);max-width:min(calc(50% - 8px),400px)}.part-diagram{max-width:100%;width:auto;height:auto;max-height:380px;border-radius:8px;background:var(--bg-surface);padding:8px;border:1px solid var(--border-subtle)}.part-diagram-caption{text-align:center;font-size:.78rem;font-weight:700;color:var(--text-secondary);margin-top:4px}.part-diagram-clickable{cursor:pointer;transition:border-color .2s,box-shadow .2s}.part-diagram-clickable:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-md)}.part-tables-grid{margin-bottom:16px}.part-table-block{margin-bottom:12px;border:1px solid var(--border-subtle);border-radius:var(--press-radius-sm);overflow:hidden;background:var(--bg-surface)}.part-table-clickable{cursor:pointer;transition:border-color .2s,box-shadow .2s}.part-table-clickable:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-md)}.part-table-label{font-size:.78rem;font-weight:700;color:var(--text-secondary);padding:6px 10px;background:var(--bg-surface-alt);border-bottom:1px solid var(--border-subtle)}.part-inline-table{width:100%;border-collapse:collapse;font-size:.9rem}.part-inline-table th,.part-inline-table td{padding:8px 12px;border:1px solid var(--border-subtle);text-align:left}.part-inline-table th{background:var(--bg-surface-alt);font-weight:700;font-size:.85rem}.part-inline-table tbody tr:nth-child(2n){background:var(--bg-surface-alt)}#question-container.has-figure-sidebar{display:grid;grid-template-columns:1fr 180px;gap:clamp(.75rem,2vw,1rem);padding:0;background:none;border:none;box-shadow:none}#question-container.has-figure-sidebar #question-content-inner{padding:clamp(1.25rem,4vw,2.25rem);background:var(--bg-surface);border:1.5px solid var(--border-card);border-radius:var(--press-radius);box-shadow:var(--press-shadow-card)}body:has(.has-figure-sidebar){max-width:1120px}.figure-sidebar{position:sticky;top:1rem;align-self:start;padding:14px;background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius);box-shadow:var(--press-shadow-sm);max-height:calc(100vh - 2rem);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;min-height:0;scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent}.figure-sidebar::-webkit-scrollbar{width:4px}.figure-sidebar::-webkit-scrollbar-track{background:transparent}.figure-sidebar::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.figure-sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.figure-sidebar-thumbs{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1 1 auto;min-height:0;padding-right:6px}.figure-sidebar-thumbs::-webkit-scrollbar{width:4px}.figure-sidebar-thumbs::-webkit-scrollbar-track{background:transparent}.figure-sidebar-thumbs::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.figure-sidebar-thumbs::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.figure-sidebar-thumbs{scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent}.figure-sidebar-title{font-size:.68rem;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.figure-thumb{cursor:pointer;border-radius:8px;border:2px solid transparent;padding:4px;background:var(--bg-surface);transition:border-color .2s,box-shadow .2s;display:block;width:100%;text-align:center;font-family:inherit}.figure-thumb:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-sm)}.figure-thumb.active{border-color:var(--accent-blue);box-shadow:var(--shadow-md)}.figure-thumb img{width:100%;height:auto;border-radius:4px;display:block;background:var(--bg-surface)}.figure-thumb-label{font-size:.68rem;font-weight:700;color:var(--text-secondary);margin-top:3px}.sidebar-title-tables{margin-top:6px;padding-top:8px;border-top:1px solid var(--border-subtle)}.table-thumb{cursor:pointer;border-radius:8px;border:2px solid transparent;padding:8px;background:var(--bg-surface);transition:border-color .2s,box-shadow .2s;display:flex;align-items:center;gap:6px;width:100%;text-align:left;font-family:inherit}.table-thumb:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-sm)}.table-thumb.active{border-color:var(--accent-blue);box-shadow:var(--shadow-md)}.table-thumb-icon{font-size:.9rem;color:var(--accent-blue);flex-shrink:0}.table-thumb-label{font-size:.73rem;font-weight:700;color:var(--text-secondary)}.figure-sidebar-mobile-trigger{display:none}.figure-viewer-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .figure-viewer-overlay{background:#000000bf}.figure-viewer-content{position:relative;background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius);padding:20px;max-width:90vw;max-height:90vh;box-shadow:6px 6px 0 var(--edge);cursor:default;display:flex;flex-direction:column;align-items:center}.figure-viewer-content img{max-width:100%;max-height:calc(90vh - 100px);object-fit:contain;border-radius:8px;background:var(--bg-surface)}.figure-viewer-caption{margin-top:10px;font-size:.95rem;font-weight:700;color:var(--text-secondary)}.figure-viewer-content-table{max-width:90vw;overflow:visible}.figure-viewer-content-table .viewer-table{display:block;overflow-x:auto;max-width:100%}.equation-sheet-viewer img{max-width:80vw;max-height:calc(80vh - 100px)}.viewer-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:300px}.viewer-table th,.viewer-table td{padding:10px 14px;border:1px solid var(--border-subtle);text-align:left}.viewer-table th{background:var(--bg-surface-alt);font-weight:700}.viewer-table tbody tr:nth-child(2n){background:var(--bg-surface-alt)}.figure-viewer-close{position:absolute;top:8px;right:8px;background:var(--bg-surface-alt);border:1.5px solid var(--edge);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;color:var(--text-secondary);transition:background .15s,color .15s;font-family:inherit;box-shadow:1px 1px 0 var(--edge)}.figure-viewer-close:hover{background:var(--bg-surface);color:var(--text-primary)}.figure-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.4rem;color:var(--text-secondary);box-shadow:2px 2px 0 var(--edge);transition:transform .12s,box-shadow .12s,background .15s;font-family:inherit}.figure-viewer-nav:hover{background:var(--bg-surface-alt);color:var(--text-primary)}.figure-viewer-nav:active{transform:translateY(-50%) translate(1px,1px);box-shadow:none}.figure-viewer-prev{left:-18px}.figure-viewer-next{right:-18px}.mc-options{display:flex;flex-direction:column;gap:10px}.mc-option{display:flex;align-items:center;padding:12px 16px;background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,background .15s,border-color .15s;-webkit-user-select:none;user-select:none}.mc-option:hover{background:var(--bg-surface-alt);transform:translateY(-1px)}.mc-option:active{transform:translate(1px,1px);box-shadow:none}.mc-option input[type=radio],.mc-option input[type=checkbox]{margin-right:12px;width:18px;height:18px;accent-color:var(--accent-blue)}.mc-option input:disabled{cursor:not-allowed}.mc-option.correct{background:var(--color-correct-bg);border-color:var(--color-correct-border);box-shadow:none;transform:none}.mc-option.incorrect{background:var(--color-incorrect-bg);border-color:var(--color-incorrect-border);box-shadow:none;transform:none}.mc-option.selected{border-color:var(--accent-blue);background:var(--accent-blue-muted)}.mc-options-grid{display:grid;grid-template-columns:repeat(2,1fr)}.mc-option-image-label{flex-direction:column;align-items:flex-start;gap:8px}.mc-option-image-label span{display:flex;flex-direction:column;align-items:center;width:100%}.mc-option-image{max-width:100%;max-height:180px;display:block;margin:4px auto 0;border-radius:6px;background:var(--bg-surface);padding:4px;border:1px solid var(--border-subtle)}.review-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.review-option-image-item{flex-direction:column;align-items:center}.review-option-image{max-width:100%;max-height:150px;display:block;margin:6px auto 0;border-radius:6px;background:var(--bg-surface);padding:4px;border:1px solid var(--border-subtle)}.mark-scheme{margin-top:20px;padding:16px 18px;background:var(--color-mark-scheme-bg);border:1.5px solid var(--color-mark-scheme-border);border-radius:var(--press-radius-sm);box-shadow:2px 2px 0 var(--color-mark-scheme-border)}.mark-scheme h4{color:var(--color-mark-scheme-text);margin-bottom:10px;font-size:.95rem;font-weight:700}.mark-scheme ul{margin-left:20px;color:var(--color-mark-scheme-text)}.mark-scheme li{margin-bottom:5px}.self-mark{margin-top:15px;display:flex;align-items:center;gap:10px}.self-mark label{font-weight:600;color:var(--text-secondary)}.self-mark input[type=number]{width:60px;padding:8px;border:2px solid var(--border-input);border-radius:8px;font-size:1rem;text-align:center;background:var(--bg-input);color:var(--text-primary)}.self-mark input[type=number]:focus{outline:none;border-color:var(--border-input-focus)}.self-mark .max-marks{color:var(--text-secondary)}.auto-mark-result{margin-top:15px;padding:10px 15px;border-radius:8px;font-weight:600}.auto-mark-result.correct{background:var(--color-correct-bg);color:var(--color-correct-text);border:1px solid var(--color-correct-border)}.auto-mark-result.incorrect{background:var(--color-incorrect-bg);color:var(--color-incorrect-text);border:1px solid var(--color-incorrect-border)}.submit-btn{display:block;width:100%;padding:16px;margin-top:24px;font-size:1.3rem;font-weight:700;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid var(--edge);border-radius:999px;cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation;letter-spacing:.01em}.submit-btn:hover{background:var(--accent-blue-hover);transform:translateY(-1px)}.submit-btn:active{transform:translate(2px,2px);box-shadow:none}.submit-btn:disabled{background:var(--bg-surface-alt);color:var(--text-tertiary);cursor:not-allowed;border:1.5px solid var(--border-default);box-shadow:none;transform:none}.marking-summary{margin-top:clamp(1rem,3vw,1.75rem);padding:clamp(1rem,3vw,1.75rem);background:var(--bg-surface);border-radius:var(--press-radius);text-align:center;border:1.5px solid var(--edge);box-shadow:var(--press-shadow)}.marking-summary h3{color:var(--accent-blue);margin-bottom:10px;font-weight:800;letter-spacing:-.01em}.marking-summary p{font-size:2rem;font-weight:800;color:var(--text-primary)}.bank-score-btn{padding:12px 30px;font-size:1rem;font-weight:700;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid rgba(0,0,0,.15);border-radius:999px;cursor:pointer;box-shadow:2px 2px #0000004d;transition:transform .12s,box-shadow .12s,background .15s}.bank-score-btn:hover{background:var(--accent-blue-hover)}.bank-score-btn:active{transform:translate(1px,1px);box-shadow:none}.marking-summary-buttons{display:flex;gap:12px;justify-content:center;margin-top:20px}.reset-question-btn{padding:12px 30px;font-size:1rem;font-weight:600;background:var(--bg-surface-alt);color:var(--text-secondary);border:1.5px solid var(--edge);border-radius:999px;cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,background .15s}.reset-question-btn:hover{background:var(--color-incorrect-bg);border-color:var(--color-incorrect-border);color:var(--color-incorrect-text)}.reset-question-btn:active{transform:translate(1px,1px);box-shadow:none}.question-part.marking-dimmed{opacity:.35;transition:opacity .3s}.question-part.marking-active{opacity:1;transition:opacity .3s}.question-part.marking-done{opacity:.7;transition:opacity .3s}.question-part.marking-alt{background:var(--bg-surface-alt);border-radius:8px;padding:16px;margin-left:-16px;margin-right:-16px}.ew-container{display:flex;flex-direction:column}.ew-encouragement{font-size:.88rem;color:var(--accent-blue);font-style:italic;margin-bottom:10px;line-height:1.5;padding:10px 14px;background:var(--accent-blue-muted);border-radius:8px;border-left:3px solid var(--accent-blue)}.ew-textarea{width:100%;min-height:150px;padding:14px 16px;font-family:inherit;font-size:1rem;line-height:1.65;color:var(--text-primary);background:var(--bg-input);border:2px solid var(--border-input);border-radius:var(--press-radius-sm);resize:vertical;transition:border-color .2s,box-shadow .2s}.ew-textarea:focus{outline:none;border-color:var(--border-input-focus);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-blue-muted)}.ew-textarea:read-only,.ew-textarea:disabled{opacity:.7;cursor:not-allowed;background:var(--bg-surface-alt)}.ew-textarea::placeholder{color:var(--text-tertiary)}.ew-char-counter{text-align:right;font-size:.8rem;color:var(--text-secondary);margin-top:6px}.ew-char-counter.near-limit{color:var(--color-incorrect);font-weight:700}.self-marking-overlay{position:fixed;inset:0;z-index:950;display:flex;flex-direction:column;background:var(--bg-body)}@keyframes smHeaderSlideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes smNavSlideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes smTitleFadeIn{0%{opacity:0}to{opacity:1}}@keyframes smTitlePop{0%{transform:scale(1);opacity:1}40%{transform:scale(1.18);opacity:0}to{transform:scale(1.3);opacity:0}}@keyframes smCurtainFadeOut{0%{opacity:1}to{opacity:0}}@keyframes smPanelSwellIn{0%{opacity:0;transform:scale(.82)}50%{opacity:1;transform:scale(1.02)}75%{opacity:1;transform:scale(.995)}to{opacity:1;transform:scale(1)}}.sm-intro-curtain{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding-bottom:6%;background:var(--bg-body);pointer-events:none}.sm-intro-title{font-family:Merriweather,Georgia,Times New Roman,serif;font-size:clamp(3rem,7.5vw,5.25rem);font-weight:300;color:#000;letter-spacing:-.01em}.self-marking-overlay:not([data-anim-stage=ready]) .self-marking-header,.self-marking-overlay:not([data-anim-stage=ready]) .self-marking-nav{position:relative;z-index:20}.self-marking-overlay:not([data-anim-stage=intro]) .self-marking-header,.self-marking-overlay:not([data-anim-stage=intro]) .self-marking-nav{transform:translateY(0);opacity:1}[data-anim-stage=intro] .self-marking-header{animation:smHeaderSlideIn 1.2s ease both}[data-anim-stage=intro] .self-marking-nav{animation:smNavSlideIn 1.2s ease both}[data-anim-stage=intro] .sm-intro-title{animation:smTitleFadeIn .4s ease-out both}[data-anim-stage=intro] .self-marking-panels{opacity:0}[data-anim-stage=intro] .self-marking-left,[data-anim-stage=intro] .self-marking-right{opacity:0;transform:scale(.82)}[data-anim-stage=popping] .sm-intro-title{animation:smTitlePop .3s ease-out both}[data-anim-stage=popping] .self-marking-panels{opacity:0}[data-anim-stage=popping] .self-marking-left,[data-anim-stage=popping] .self-marking-right{opacity:0;transform:scale(.82)}[data-anim-stage=blank] .self-marking-panels{opacity:0}[data-anim-stage=blank] .self-marking-left,[data-anim-stage=blank] .self-marking-right{opacity:0;transform:scale(.82)}[data-anim-stage=fading] .sm-intro-curtain{animation:smCurtainFadeOut .6s ease-out both}[data-anim-stage=fading] .self-marking-panels{opacity:1}[data-anim-stage=fading] .self-marking-left{animation:smPanelSwellIn .8s cubic-bezier(.22,1,.36,1) both}[data-anim-stage=fading] .self-marking-right{animation:smPanelSwellIn .8s cubic-bezier(.22,1,.36,1) .15s both}[data-anim-stage=ready] .self-marking-panels{opacity:1}[data-anim-stage=ready] .self-marking-left,[data-anim-stage=ready] .self-marking-right{transform:scale(1);opacity:1}.self-marking-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:clamp(.75rem,2vw,1rem) clamp(1rem,3vw,1.75rem);background:var(--bg-body);border-bottom:1px solid var(--border-default);flex-shrink:0;box-shadow:var(--shadow-sm)}.self-marking-header-left{justify-self:start}.self-marking-header-center{justify-self:center}.self-marking-header-right{justify-self:end}.self-marking-save-exit{padding:.4rem .9rem;font-size:.82rem;font-weight:600;border:1.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.self-marking-save-exit:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.self-marking-title{position:relative;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.self-marking-title-text{color:var(--accent-blue);font-family:Merriweather,Georgia,Times New Roman,serif;font-weight:700}.auto-marked-header .self-marking-title-text{color:var(--color-correct)}.self-mark-badge{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-left:10px}.self-mark-badge.badge-action{background:var(--color-partial-bg);color:var(--color-partial-text);border:1px solid var(--color-partial-border)}.self-marking-question-label{font-size:1rem;font-weight:700;color:var(--text-tertiary)}.self-marking-counter{font-size:.88rem;font-weight:600;color:var(--text-secondary)}.self-marking-report-btn{margin:0;padding:4px 12px;font-size:.8rem;font-weight:700;border-radius:999px}.self-marking-panels{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(.75rem,2vw,1.25rem);padding:clamp(.75rem,2vw,1.25rem);overflow:hidden}.self-marking-left,.self-marking-right{display:flex;flex-direction:column;padding:0 clamp(1rem,3vw,1.75rem);overflow:hidden;border:1.5px solid var(--border-card);border-radius:var(--press-radius);box-shadow:var(--press-shadow-card);background:var(--bg-surface)}.self-marking-panel-scroll{flex:1;overflow-y:auto;padding-top:clamp(.75rem,2vw,1rem);padding-bottom:clamp(1rem,3vw,1.75rem)}.self-marking-left,.self-marking-right{background:var(--bg-surface)}.self-marking-panel-scroll::-webkit-scrollbar{width:6px}.self-marking-panel-scroll::-webkit-scrollbar-track{background:transparent}.self-marking-panel-scroll::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:6px}.self-marking-panel-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.self-marking-panel-scroll{scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent}.self-marking-panel-heading-row{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:10px 0 8px;border-bottom:2px solid var(--text-primary)}.self-marking-panel-heading{flex-shrink:0;font-size:1.1rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:0;padding:10px 0 8px;border-bottom:2px solid var(--text-primary)}.self-marking-panel-heading-row .self-marking-panel-heading{padding:0;border-bottom:none}.self-marking-question-text{font-size:.95rem;color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.self-marking-answer-display{font-size:1rem;color:var(--text-primary);line-height:1.7;white-space:pre-wrap;word-wrap:break-word;background:var(--bg-surface-alt);border-radius:8px;padding:16px 18px;border:1px solid var(--border-subtle)}.self-marking-no-answer{font-style:italic;color:var(--text-tertiary)}.self-mark-hint-banner{background:var(--color-partial-bg);border:1px solid var(--color-partial-border);border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:.9rem;color:var(--color-partial-text);font-weight:600;line-height:1.5}.self-marking-panel-scroll .self-mark-hint-banner{margin-bottom:16px}.levels-cap-badge{background:var(--color-correct-bg);border:1px solid var(--color-correct-border);border-radius:999px;padding:.25rem .75rem;font-size:.75rem;color:var(--color-correct-text);font-weight:700;white-space:nowrap}.levels-hint-text{background:var(--color-partial-bg);border:1px solid var(--color-partial-border);border-radius:8px;padding:12px 16px;margin-top:1rem;margin-bottom:20px;font-size:.9rem;color:var(--color-partial-text);font-weight:600;line-height:1.5}.mark-tick.award-capped{opacity:.35;cursor:not-allowed}.self-marking-points{display:flex;flex-direction:column}.self-marking-tally{flex:1;display:flex;align-items:center;justify-content:center;font-size:clamp(36px,6vw,56px);font-weight:800;color:var(--text-primary);border-top:2px solid var(--border-subtle);margin-top:clamp(.5rem,1.5vw,.75rem);padding-top:clamp(.75rem,2vw,1rem);letter-spacing:-.03em}.self-marking-tally.tally-full{color:var(--color-correct)}.self-marking-tally.tally-zero{color:var(--color-incorrect)}.self-marking-tally.tally-partial{color:var(--color-partial)}.auto-marked-answer{pointer-events:none;opacity:.95}.numerical-display-answer.correct{color:var(--color-correct);font-weight:700}.self-marking-nav{display:flex;justify-content:space-between;align-items:center;padding:clamp(.625rem,2vw,1rem) clamp(1rem,3vw,1.75rem);background:var(--bg-body);border-top:1.5px solid var(--edge);flex-shrink:0}.self-marking-submit-group{display:inline-flex;align-items:stretch;transition:transform .12s,box-shadow .12s}.self-marking-submit-group:has(.self-marking-submit:not(:disabled)):hover{transform:translateY(-2px)}.self-marking-submit-group:has(.self-marking-submit:not(:disabled)):active{transform:translate(2px,2px)}.self-marking-submit-group:has(.self-marking-submit:not(:disabled)):hover .self-marking-submit{background:var(--accent-blue-hover)}.self-marking-submit-group:has(.self-marking-submit:not(:disabled)):active .self-marking-submit{box-shadow:none}.self-marking-submit-group:has(.self-marking-submit:not(:disabled)):active .self-marking-score{box-shadow:none}.self-marking-submit-group:has(.self-marking-submit:disabled){opacity:.6}.self-marking-submit-group:has(.self-marking-submit:disabled) .self-marking-submit{box-shadow:none}.self-marking-submit-group:has(.self-marking-submit:disabled) .self-marking-score{box-shadow:none;border-color:var(--border-default)}.self-marking-nav-btn{padding:10px 24px;font-size:.95rem;font-weight:700;color:var(--text-secondary);background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:999px;cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,background .15s,color .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.self-marking-nav-btn:hover:not(:disabled){background:var(--bg-surface-alt);color:var(--text-primary);transform:translateY(-2px)}.self-marking-nav-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.self-marking-nav-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;border-color:var(--border-default)}.self-marking-nav-btn.ready-pulse{animation:readyPulse 1.5s ease-in-out infinite;border-color:var(--accent-blue);color:var(--accent-blue);background:var(--accent-blue-muted);box-shadow:var(--press-shadow-sm)}@keyframes readyPulse{0%,to{box-shadow:var(--press-shadow-sm),0 0 #5b6abf4d}50%{box-shadow:var(--press-shadow-sm),0 0 12px 4px #5b6abf26}}[data-theme=dark] .self-marking-nav-btn.ready-pulse{animation:readyPulseDark 1.5s ease-in-out infinite}@keyframes readyPulseDark{0%,to{box-shadow:var(--press-shadow-sm),0 0 #8b95d64d}50%{box-shadow:var(--press-shadow-sm),0 0 12px 4px #8b95d626}}.self-marking-submit{padding:12px 36px;font-size:1rem;font-weight:700;color:var(--text-on-accent);background:var(--accent-blue);border:1.5px solid var(--edge);border-radius:999px 0 0 999px;cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,background .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.self-marking-submit--standalone{border-radius:999px}.self-marking-submit:disabled{background:var(--accent-blue-muted);color:var(--text-tertiary);cursor:default;pointer-events:none;box-shadow:none;border-color:var(--border-default)}.self-marking-submit-group:has(.self-marking-submit.ready-pulse){animation:submitGroupPulse 1.5s ease-in-out infinite;border-radius:999px}@keyframes submitGroupPulse{0%,to{box-shadow:0 0 #5b6abf73}50%{box-shadow:0 0 18px 6px #5b6abf40}}[data-theme=dark] .self-marking-submit-group:has(.self-marking-submit.ready-pulse){animation:submitGroupPulseDark 1.5s ease-in-out infinite}@keyframes submitGroupPulseDark{0%,to{box-shadow:0 0 #8b95d673}50%{box-shadow:0 0 18px 6px #8b95d640}}.self-marking-score{display:flex;align-items:center;justify-content:center;min-width:10ch;padding:12px 16px;font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;background:var(--bg-surface);border:1.5px solid var(--edge);border-left:none;border-radius:0 999px 999px 0;color:var(--text-primary);box-shadow:var(--press-shadow-sm);cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap}.self-marking-score.score-full{color:var(--color-correct)}.self-marking-score.score-zero{color:var(--color-incorrect)}.self-marking-score.score-partial{color:var(--color-partial)}.review-options-list{display:flex;flex-direction:column;gap:8px}.review-option-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--press-radius-sm);background:var(--bg-surface-alt);border:1px solid var(--border-subtle);font-size:.95rem;line-height:1.5}.review-option-item.review-correct{background:var(--color-correct-bg);border-color:var(--color-correct-border)}.review-option-item.review-incorrect{background:var(--color-incorrect-bg);border-color:var(--color-incorrect-border)}.review-option-item.review-incorrect .review-option-text,.review-option-item.review-incorrect .review-option-text span{text-decoration:line-through;text-decoration-color:var(--color-incorrect-text);opacity:.7}.review-option-item.review-was-correct{background:var(--color-correct-bg);border-color:var(--color-correct-border);opacity:.7}.review-option-letter{font-weight:800;color:var(--text-secondary);min-width:24px}.review-option-text{flex:1}.review-badge{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;white-space:nowrap;flex-shrink:0}.review-badge.badge-selected{background:var(--accent-blue-muted);color:var(--accent-blue);border:1px solid var(--accent-blue)}.review-badge.badge-correct{background:var(--color-correct-bg);color:var(--color-correct-text);border:1px solid var(--color-correct-border)}.review-badge.badge-incorrect{background:var(--color-incorrect-bg);color:var(--color-incorrect-text);border:1px solid var(--color-incorrect-border)}.review-badge.badge-missed{background:var(--color-correct-bg);color:var(--color-correct-text);border:1px solid var(--color-correct-border)}.review-gap-sentence{line-height:2.2;font-size:1rem}.review-gap-answer{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:700;margin:0 2px}.review-gap-answer.gap-correct{background:var(--color-correct-bg);color:var(--color-correct-text);border:1px solid var(--color-correct-border)}.review-gap-answer.gap-incorrect{background:var(--color-incorrect-bg);color:var(--color-incorrect-text);border:1px solid var(--color-incorrect-border);text-decoration:line-through}.review-gap-correction{display:inline-block;margin-left:4px;font-size:.88rem;color:var(--color-correct-text);font-weight:700}.review-tick-table{width:100%;border-collapse:collapse;font-size:.95rem}.review-tick-table th,.review-tick-table td{padding:10px 14px;border:1px solid var(--border-default);text-align:center}.review-tick-table th{background:var(--bg-surface-alt);font-weight:700}.review-tick-table th:first-child{text-align:left}.review-tick-row-correct{background:var(--color-correct-bg)}.review-tick-row-incorrect{background:var(--color-incorrect-bg)}.review-tick-selected{font-weight:800}.review-tick-indicator{font-size:1.1rem}.part-score-badge{display:inline-block;margin-top:14px;padding:5px 16px;border-radius:999px;font-size:.85rem;font-weight:700}.part-score-badge.score-full{background:var(--color-correct-bg);color:var(--color-correct-text);border:1px solid var(--color-correct-border)}.part-score-badge.score-zero{background:var(--color-incorrect-bg);color:var(--color-incorrect-text);border:1px solid var(--color-incorrect-border)}.part-score-badge.score-partial{background:var(--color-partial-bg);color:var(--color-partial-text);border:1px solid var(--color-partial-border)}.marking-point-text strong{color:var(--accent-blue);font-weight:800}.marking-point-row{display:flex;flex-direction:column;gap:8px;padding:16px 14px;border-bottom:1px solid var(--border-subtle);border-radius:8px;margin-bottom:10px;transition:opacity .2s,background .2s}.marking-point-row.decided{opacity:1}.marking-point-row.locked{background:var(--bg-surface)}.marking-point-row.locked .mark-btn-wrapper:has(.mark-tick:not(.selected)),.marking-point-row.locked .mark-btn-wrapper:has(.mark-cross:not(.selected)){visibility:hidden}.marking-point-row.trace-border{position:relative;border-bottom-color:transparent}.trace-border-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.trace-border-svg path{fill:none;stroke:var(--accent-blue);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;animation:traceDraw 1.575s linear forwards}@keyframes traceDraw{0%{stroke-dashoffset:1;opacity:1}75%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.marking-point-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:700}.marking-point-awarded{color:var(--color-correct)}.marking-point-not-awarded{color:var(--color-incorrect)}.marking-point-dep-note{text-transform:none;font-weight:400;letter-spacing:normal;color:var(--text-tertiary);font-size:.72rem}.marking-point-content{display:flex;align-items:center;justify-content:space-between;gap:14px}.marking-point-text{flex:1;font-size:1rem;font-weight:500;color:var(--text-primary);line-height:1.55}.marking-point-buttons{display:flex;gap:8px;flex-shrink:0}.mark-btn-wrapper{display:flex;flex-direction:column;align-items:center;gap:3px}.mark-btn-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.mark-tick,.mark-cross{width:44px;height:44px;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,box-shadow .12s,background .15s,color .15s}.mark-tick{border:2px solid var(--color-correct);background:var(--bg-surface);color:var(--color-correct);box-shadow:2px 2px 0 var(--color-correct)}.mark-tick:hover:not(:disabled){background:var(--color-correct-bg)}.mark-tick:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.mark-tick.selected{background:var(--color-correct);color:var(--text-on-accent);box-shadow:2px 2px #0003}.mark-tick.selected:hover{background:var(--color-correct)}.mark-cross{border:2px solid var(--color-incorrect);background:var(--bg-surface);color:var(--color-incorrect);box-shadow:2px 2px 0 var(--color-incorrect)}.mark-cross:hover:not(:disabled){background:var(--color-incorrect-bg)}.mark-cross:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.mark-cross.selected{background:var(--color-incorrect);color:var(--text-on-accent);box-shadow:2px 2px #0003}.mark-cross.selected:hover{background:var(--color-incorrect)}.mark-tick:disabled,.mark-cross:disabled{cursor:not-allowed;opacity:.4;box-shadow:none}.marking-point-locked-note{font-size:.82rem;color:var(--color-incorrect);font-style:italic;margin-top:2px}.final-score-panel{margin-top:.25rem;margin-bottom:1.25rem;padding:.5rem 1rem;background:var(--bg-surface);border-radius:var(--press-radius);text-align:center;border:1.5px solid var(--edge);box-shadow:var(--press-shadow)}.final-score-panel h3{color:var(--accent-blue);margin:0 0 2px;font-size:1.5rem;font-weight:800}.final-score-value{font-size:2rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;margin:0}.final-score-value.score-full{color:var(--color-correct)}.final-score-value.score-zero{color:var(--color-incorrect)}.final-score-value.score-partial{color:var(--color-partial)}.final-score-buttons{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:10px}.mc-selection-info{font-weight:600;color:var(--text-secondary);margin-bottom:10px;font-size:.95rem}.mc-selection-remaining{color:var(--text-tertiary);font-weight:400}.gf-word-bank{border:2px solid var(--accent-blue-muted);padding:12px 16px;border-radius:var(--press-radius-sm);margin-bottom:16px;background:var(--accent-blue-muted);font-size:1.05rem;color:var(--text-primary);display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.gf-word-bank strong{color:var(--accent-blue);background:var(--bg-surface);padding:5px 16px;border-radius:999px;border:1px solid var(--border-default);font-weight:700;text-align:center}.gf-sentence{margin-top:12px;line-height:2.4}.gf-blank-wrapper{display:inline}.gf-dropdown{display:inline-block;padding:6px 10px;margin:0 4px;border:2px solid var(--accent-blue);border-radius:8px;background:var(--bg-input);font-family:inherit;font-size:inherit;color:var(--text-primary);cursor:pointer;vertical-align:baseline;appearance:auto;transition:border-color .2s,background .2s}.gf-dropdown:focus{outline:none;border-color:var(--accent-blue-hover);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-blue-muted)}.gf-dropdown:disabled{background:var(--bg-surface-alt);cursor:not-allowed;color:var(--text-tertiary);border-color:var(--border-default)}.gf-dropdown option{background:var(--bg-surface);color:var(--text-primary)}.gf-dropdown.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.gf-dropdown.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.gf-correct-answer{display:inline-block;margin-left:4px;font-size:.85rem;color:var(--color-correct-text);font-weight:700}.sa-wrapper{margin-top:12px}.sa-input{display:block;width:100%;max-width:360px;padding:8px 12px;border:2px solid var(--accent-blue);border-radius:8px;background:var(--bg-input);font-family:inherit;font-size:inherit;color:var(--text-primary);transition:border-color .2s,background .2s}.sa-input:focus{outline:none;border-color:var(--accent-blue-hover);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-blue-muted)}.sa-input:disabled{background:var(--bg-surface-alt);cursor:not-allowed;color:var(--text-tertiary);border-color:var(--border-default)}.sa-input.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.sa-input.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.sa-misspelt-note,.sa-keyword-note{display:block;margin-top:6px;font-size:.82rem;color:var(--text-tertiary);font-style:italic}.sa-correct-answer{display:block;margin-top:6px;font-size:.85rem;color:var(--color-correct-text);font-weight:700}.review-short-answer{margin-top:10px}.review-sa-value{display:inline-block;padding:6px 12px;border-radius:8px;font-weight:600}.review-sa-value.review-correct{background:var(--color-correct-bg);color:var(--color-correct-text);border:1px solid var(--color-correct)}.review-sa-value.review-incorrect{background:var(--color-incorrect-bg);color:var(--color-incorrect);border:1px solid var(--color-incorrect)}.review-sa-misspelt{display:block;margin-top:6px;font-size:.82rem;color:var(--text-tertiary);font-style:italic}.review-sa-correct{display:block;margin-top:6px;font-size:.85rem;color:var(--color-correct-text);font-weight:700}.sae-container{display:flex;flex-direction:column}.sae-explain-prompt{margin-top:14px;font-weight:600;color:var(--text-primary);font-size:.95rem}.sae-explain-section{margin-top:10px}.review-sae-explanation{margin-top:14px}.review-sae-label{font-size:.85rem;font-weight:700;color:var(--text-secondary);margin-bottom:6px}.tf-wrapper{margin-top:12px}.tf-table{width:100%;border-collapse:collapse;font-size:.95rem}.tf-table th,.tf-table td{padding:10px 14px;border:1px solid var(--border-default);color:var(--text-primary)}.tf-table thead th{background:var(--bg-surface-alt);font-weight:700;text-align:center}.tf-table td{text-align:center}.tf-blank-cell{position:relative}.tf-cell-input{width:100%;max-width:160px;padding:6px 10px;border:2px solid var(--accent-blue);border-radius:8px;background:var(--bg-input);font-family:inherit;font-size:inherit;color:var(--text-primary);text-align:center;transition:border-color .2s,background .2s}.tf-cell-input:focus{outline:none;border-color:var(--accent-blue-hover);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-blue-muted)}.tf-cell-input:disabled{background:var(--bg-surface-alt);cursor:not-allowed;color:var(--text-tertiary);border-color:var(--border-default)}.tf-cell-input.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.tf-cell-input.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.tf-misspelt-note{display:block;margin-top:4px;font-size:.78rem;color:var(--text-tertiary);font-style:italic}.tf-correct-answer{display:block;margin-top:4px;font-size:.82rem;color:var(--color-correct-text);font-weight:700}.review-table-fill{width:100%;border-collapse:collapse;margin-top:10px;font-size:.92rem}.review-table-fill th,.review-table-fill td{padding:8px 12px;border:1px solid var(--border-default);text-align:center;color:var(--text-primary)}.review-table-fill thead th{background:var(--bg-surface-alt);font-weight:700}.review-tf-correct{background:var(--color-correct-bg)}.review-tf-incorrect{background:var(--color-incorrect-bg)}.review-tf-answer{font-weight:600}.review-tf-misspelt{display:block;margin-top:3px;font-size:.78rem;color:var(--text-tertiary);font-style:italic}.review-tf-correction{display:block;margin-top:4px;font-size:.82rem;color:var(--color-correct-text);font-weight:700}.tick-box-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.95rem}.tick-box-table th,.tick-box-table td{padding:10px 14px;border:1px solid var(--border-default);color:var(--text-primary)}.tick-box-table thead th{background:var(--bg-surface-alt);font-weight:700;text-align:center}.tick-box-table thead th:first-child{text-align:left}.tick-box-row-label{text-align:left;font-weight:600}.tick-box-cell{text-align:center;width:120px}.tick-box-cell input[type=radio]{width:20px;height:20px;accent-color:var(--accent-blue);cursor:pointer}.tick-box-cell input[type=radio]:disabled{cursor:not-allowed}.tick-box-table tbody tr:nth-child(2n){background:var(--bg-surface-alt)}.tick-box-table tbody tr:nth-child(odd){background:var(--bg-surface)}.tick-box-table tbody tr.correct{background:var(--color-correct-bg)}.tick-box-table tbody tr.incorrect{background:var(--color-incorrect-bg)}.matchup-container{display:flex;flex-direction:column;padding:12px 0}.matchup-columns{display:flex;justify-content:space-between;align-items:center;gap:80px}.matchup-column-left,.matchup-column-right{display:flex;flex-direction:column;gap:12px;flex:0 1 auto}.matchup-right-row{display:flex;align-items:center;gap:8px}.matchup-right-row .matchup-box{flex:1}.matchup-box{padding:10px 18px;border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);background:var(--card-bg);cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,border-color .15s,background .15s;-webkit-user-select:none;user-select:none;min-width:120px;text-align:center}.matchup-box:hover:not(.disabled):not(.linked):not(.selected){background:var(--matchup-next-hover);transform:translateY(-1px)}.matchup-box:active:not(.disabled):not(.linked){transform:translate(1px,1px);box-shadow:none}.matchup-box.selected{box-shadow:0 0 0 3px var(--matchup-next-bg);background:var(--matchup-next-bg);border-color:var(--accent-blue)}.matchup-box.linked{cursor:default}.matchup-box.disabled{cursor:default;opacity:.9;box-shadow:none}.matchup-box.correct{border-color:var(--color-correct);background:var(--color-correct-bg);box-shadow:none}.matchup-box.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg);box-shadow:none}.matchup-box-image{max-width:100px;max-height:80px;display:block;margin:0 auto}.matchup-cancel-btn{background:none;border:1.5px solid var(--border);border-radius:50%;width:28px;height:28px;cursor:pointer;color:var(--text-secondary);font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.matchup-cancel-btn:hover{color:var(--color-incorrect);border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.matchup-reset-row{display:flex;justify-content:flex-end;margin-bottom:10px}.matchup-reset-btn{padding:5px 14px;border:1.5px solid var(--border);border-radius:999px;background:var(--card-bg);color:var(--border);cursor:default;font-size:.8rem;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,color .15s,border-color .15s,background .15s;opacity:.5}.matchup-reset-btn.active{color:var(--text-secondary);border-color:var(--text-secondary);opacity:1;cursor:pointer}.matchup-reset-btn.active:hover{color:var(--color-incorrect);border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.matchup-reset-btn.active:active{transform:translate(1px,1px);box-shadow:none}.review-matchup{display:flex;flex-direction:column;gap:8px}.review-matchup-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:.95rem}.review-matchup-row.review-correct{background:var(--color-correct-bg)}.review-matchup-row.review-incorrect{background:var(--color-incorrect-bg)}.review-matchup-left{font-weight:700;min-width:100px}.review-matchup-arrow{color:var(--text-secondary)}.review-matchup-wrong{text-decoration:line-through;opacity:.7}.review-matchup-missing{font-style:italic;opacity:.6}.review-matchup-correction{color:var(--color-correct-text);font-weight:700;margin-left:4px}.review-matchup-correction:before{content:"("}.review-matchup-correction:after{content:")"}.numerical-container{display:flex;flex-direction:column;gap:12px}.numerical-final-answer{display:flex;flex-direction:column;gap:6px}.numerical-final-label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.numerical-final-row{display:flex;align-items:center;gap:10px}.numerical-final-input{flex:1;max-width:280px;padding:10px 14px;font-family:inherit;font-size:1.1rem;color:var(--text-primary);background:var(--bg-input);border:2px solid var(--accent-blue);border-radius:8px;transition:border-color .2s,box-shadow .2s}.numerical-final-input:focus{outline:none;border-color:var(--accent-blue-hover);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-blue-muted)}.numerical-final-input:disabled,.numerical-final-input:read-only{opacity:.7;cursor:not-allowed;background:var(--bg-surface-alt)}.numerical-final-input::placeholder{color:var(--text-tertiary)}.numerical-final-input.correct{border-color:var(--color-correct-border);background:var(--color-correct-bg)}.numerical-final-input.incorrect{border-color:var(--color-incorrect-border);background:var(--color-incorrect-bg)}.numerical-unit{font-size:1.1rem;font-weight:600;color:var(--text-secondary)}.numerical-correct-answer{font-size:.9rem;color:var(--color-correct-text);font-weight:600;margin-top:4px}.numerical-working-toggle{align-self:flex-start;padding:6px 16px;font-size:.85rem;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;cursor:pointer;transition:background .2s,color .2s}.numerical-working-toggle:hover{background:var(--bg-surface-alt);color:var(--text-primary)}.numerical-working-toggle.open{color:var(--accent-blue);border-color:var(--accent-blue);background:var(--accent-blue-muted)}.numerical-working{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--bg-surface-alt);border:1px solid var(--border-default);border-radius:8px}.numerical-working-section{display:flex;flex-direction:column;gap:6px}.numerical-working-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.numerical-formula-list{display:flex;flex-direction:column;gap:6px}.numerical-formula-option{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-input);border:2px solid var(--border-input);border-radius:8px;cursor:pointer;transition:border-color .2s,background .2s}.numerical-formula-option:hover:not(.disabled){border-color:var(--accent-blue-muted);background:var(--bg-input-focus)}.numerical-formula-option.selected{border-color:var(--accent-blue);background:var(--bg-input-focus)}.numerical-formula-option.disabled{opacity:.7;cursor:not-allowed}.numerical-formula-option input[type=radio]{width:16px;height:16px;accent-color:var(--accent-blue);flex-shrink:0}.numerical-working-input{padding:8px 12px;font-family:inherit;font-size:1rem;color:var(--text-primary);background:var(--bg-input);border:2px solid var(--border-input);border-radius:8px;transition:border-color .2s}.numerical-working-input:focus{outline:none;border-color:var(--accent-blue);background:var(--bg-input-focus)}.numerical-working-input:disabled,.numerical-working-input:read-only{opacity:.7;cursor:not-allowed;background:var(--bg-surface-alt)}.numerical-working-input::placeholder{color:var(--text-tertiary)}.numerical-calculator{display:flex;flex-direction:column;gap:6px}.numerical-calc-row{display:flex;align-items:center;gap:8px}.numerical-calc-input{flex:1;padding:8px 12px;font-family:inherit;font-size:1rem;color:var(--text-primary);background:var(--bg-input);border:2px solid var(--border-input);border-radius:8px;transition:border-color .2s}.numerical-calc-input:focus{outline:none;border-color:var(--accent-blue);background:var(--bg-input-focus)}.numerical-calc-input::placeholder{color:var(--text-tertiary)}.numerical-calc-btn{width:40px;height:40px;font-size:1.2rem;font-weight:700;color:var(--text-on-accent);background:var(--accent-blue);border:none;border-radius:8px;cursor:pointer;flex-shrink:0;transition:background .2s}.numerical-calc-btn:hover{background:var(--accent-blue-hover)}.numerical-calc-result{font-size:1.05rem;font-weight:600;color:var(--text-primary);min-width:80px}.numerical-display{display:flex;flex-direction:column;gap:14px}.numerical-display-section{display:flex;flex-direction:column;gap:4px}.numerical-display-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.numerical-display-value{font-size:1rem;color:var(--text-primary);padding:8px 12px;background:var(--bg-surface-alt);border-radius:8px;border:1px solid var(--border-subtle)}.numerical-display-answer.correct{color:var(--color-correct);font-weight:600}.numerical-display-answer.incorrect{color:var(--color-incorrect-text);font-weight:700}.calc-step-actions{display:flex;align-items:center;gap:10px;margin-top:2px;padding-left:56px}.calc-equals-btn{flex-shrink:0;padding:0 14px;height:38px;font-size:.85rem;font-weight:600;color:var(--text-on-accent);background:var(--accent-blue);border:none;border-radius:8px;cursor:pointer;transition:background .2s}.calc-equals-btn:hover{background:var(--accent-blue-hover)}.calc-btn-layout{display:flex;gap:24px;margin-top:4px;position:relative}.calc-btn-left{display:flex;gap:5px}.calc-btn-numpad{display:grid;grid-template-columns:repeat(3,40px);gap:5px}.calc-btn-ops{display:grid;grid-template-columns:40px 40px;gap:5px}.calc-btn-symbols{display:grid;grid-template-columns:repeat(6,36px);gap:5px;align-content:start}.calc-help-btn{flex-shrink:0;align-self:start;padding:6px 14px;font-size:.8rem;font-weight:600;color:var(--accent-blue);background:var(--accent-blue-muted);border:1px solid var(--accent-blue-subtle);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.calc-help-btn:hover{background:var(--accent-blue-subtle);border-color:var(--accent-blue)}.calc-help-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.calc-help-modal{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius);padding:24px 28px;max-width:520px;width:90%;box-shadow:6px 6px 0 var(--edge)}.calc-help-title{font-size:1rem;font-weight:700;color:var(--accent-blue);margin-bottom:14px}.calc-help-list{font-size:.85rem;line-height:1.6;color:var(--text-secondary);padding-left:20px;margin:0 0 18px}.calc-help-list li{margin-bottom:10px}.calc-help-list li:last-child{margin-bottom:0}.calc-help-example{display:inline-block;font-family:Courier New,monospace;font-size:.83rem;font-weight:600;color:var(--text-primary);background:var(--bg-surface-alt);padding:1px 6px;border-radius:4px;margin:2px 3px 2px 0}.calc-help-ok-btn{display:block;margin-left:auto;padding:6px 24px;font-size:.85rem;font-weight:600;color:var(--text-on-accent);background:var(--accent-blue);border:none;border-radius:8px;cursor:pointer;transition:background .2s}.calc-help-ok-btn:hover{background:var(--accent-blue-hover)}.calc-btn-layout button{height:38px;font-size:1rem;font-weight:600;color:var(--text-primary);background:var(--bg-input);border:1.5px solid var(--border-input);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none}.calc-btn-layout button:hover:not(:disabled){background:var(--bg-input-focus);border-color:var(--accent-blue-muted)}.calc-btn-layout button:active:not(:disabled){background:var(--accent-blue-muted)}.calc-btn-layout button:disabled{opacity:.5;cursor:not-allowed}.calc-btn-layout .calc-btn-operator{color:var(--accent-blue);font-weight:800}.calc-btn-layout .calc-btn-symbol{font-style:italic;color:var(--accent-blue)}.calc-btn-layout .calc-btn-symbol-greek{font-style:italic;color:#8b5e9b}[data-theme=dark] .calc-btn-layout .calc-btn-symbol{color:#7b8fd4}[data-theme=dark] .calc-btn-layout .calc-btn-symbol-greek{color:#b48cc4}.calc-steps-container{display:flex;flex-direction:column;gap:8px}.calc-step-row{display:flex;align-items:center;gap:8px}.calc-step-label{font-size:.8rem;font-weight:600;color:var(--text-tertiary);min-width:48px;flex-shrink:0}.calc-step-input{flex:1;padding:8px 12px;font-family:inherit;font-size:1rem;color:var(--text-primary);background:var(--bg-input);border:2px solid var(--border-input);border-radius:8px;transition:border-color .2s,box-shadow .2s}.calc-step-input:focus{outline:none;border-color:var(--accent-blue);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--accent-blue-muted)}.calc-step-input:disabled,.calc-step-input:read-only{opacity:.7;cursor:not-allowed;background:var(--bg-surface-alt)}.calc-step-input::placeholder{color:var(--text-tertiary)}.calc-remove-step-btn{margin-left:auto;padding:4px 12px;font-size:.8rem;font-weight:500;color:var(--text-tertiary);background:transparent;border:1px dashed var(--border-subtle);border-radius:8px;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.calc-remove-step-btn:hover:not(:disabled){color:var(--color-incorrect);background:var(--color-incorrect-bg);border-color:var(--color-incorrect-border)}.calc-remove-step-btn:disabled{opacity:.35;cursor:not-allowed}.calc-add-step-btn{padding:4px 12px;font-size:.8rem;font-weight:500;color:var(--accent-blue);background:transparent;border:1px dashed var(--accent-blue-muted);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.calc-add-step-btn:hover:not(:disabled){background:var(--accent-blue-muted);border-color:var(--accent-blue)}.calc-add-step-btn:disabled{opacity:.4;cursor:not-allowed}.calc-message{font-size:.8rem;padding:4px 10px;border-radius:8px}.calc-message-error{color:var(--color-incorrect-text);background:var(--color-incorrect-bg);border:1px solid var(--color-incorrect-border)}.katex{font-size:1.1em;color:var(--text-primary)}.feedback-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .feedback-overlay{background:#000000b3}.feedback-overlay.hidden{display:none}.feedback-box{background:var(--bg-surface);padding:clamp(1.25rem,4vw,1.875rem) clamp(1.5rem,5vw,2.5rem);border-radius:var(--press-radius);border:1.5px solid var(--edge);max-width:500px;width:90%;box-shadow:6px 6px 0 var(--edge)}.feedback-box h2{color:var(--accent-blue);margin-bottom:25px;text-align:center;font-size:1.25rem;font-weight:800}.feedback-question{margin-bottom:20px}.feedback-question label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:8px}.rating-dropdown{width:100%;padding:12px;font-size:1rem;border:2px solid var(--border-input);border-radius:8px;cursor:pointer;background:var(--bg-input);color:var(--text-primary)}.rating-dropdown:focus{outline:none;border-color:var(--border-input-focus)}.rating-dropdown option{background:var(--bg-surface);color:var(--text-primary)}.feedback-question textarea{width:100%;padding:12px;font-size:1rem;font-family:inherit;border:2px solid var(--border-input);border-radius:8px;resize:vertical;min-height:100px;background:var(--bg-input);color:var(--text-primary)}.feedback-question textarea:focus{outline:none;border-color:var(--border-input-focus)}.feedback-question textarea::placeholder{color:var(--text-tertiary)}.feedback-buttons{display:flex;gap:15px;margin-top:25px}.feedback-submit-btn{flex:1;padding:12px 20px;font-size:1rem;font-weight:700;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid rgba(0,0,0,.15);border-radius:999px;cursor:pointer;box-shadow:2px 2px #0000004d;transition:transform .12s,box-shadow .12s,background .15s}.feedback-submit-btn:hover{background:var(--accent-blue-hover)}.feedback-submit-btn:active{transform:translate(1px,1px);box-shadow:none}.feedback-skip-btn{flex:1;padding:12px 20px;font-size:1rem;font-weight:600;background:var(--bg-surface-alt);color:var(--text-secondary);border:1.5px solid var(--edge);border-radius:999px;cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,background .15s}.feedback-skip-btn:hover{background:var(--bg-surface-raised)}.feedback-skip-btn:active{transform:translate(1px,1px);box-shadow:none}.bugreport-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=dark] .bugreport-overlay{background:#000000b3}.bugreport-box{background:var(--bg-surface);padding:clamp(1.25rem,4vw,1.875rem) clamp(1.5rem,5vw,2.5rem);border-radius:var(--press-radius);border:1.5px solid var(--color-incorrect);max-width:500px;width:90%;box-shadow:6px 6px 0 var(--edge)}.bugreport-box h2{color:var(--color-incorrect);margin-bottom:25px;text-align:center;font-size:1.25rem;font-weight:800}.bugreport-field{margin-bottom:20px}.bugreport-field label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:8px}.bugreport-field select{width:100%;padding:12px;font-size:1rem;border:2px solid var(--border-input);border-radius:8px;cursor:pointer;background:var(--bg-input);color:var(--text-primary)}.bugreport-field select:focus{outline:none;border-color:var(--border-input-focus)}.bugreport-field select option{background:var(--bg-surface);color:var(--text-primary)}.bugreport-field textarea{width:100%;padding:12px;font-size:1rem;font-family:inherit;border:2px solid var(--border-input);border-radius:8px;resize:vertical;min-height:100px;background:var(--bg-input);color:var(--text-primary)}.bugreport-field textarea:focus{outline:none;border-color:var(--border-input-focus)}.bugreport-field textarea::placeholder{color:var(--text-tertiary)}.bugreport-buttons{display:flex;gap:15px;margin-top:25px}.bugreport-submit-btn{flex:1;padding:12px 20px;font-size:1rem;font-weight:700;background:var(--color-incorrect);color:var(--text-on-accent);border:1.5px solid rgba(0,0,0,.15);border-radius:999px;cursor:pointer;box-shadow:2px 2px #0000004d;transition:transform .12s,box-shadow .12s,background .15s}.bugreport-submit-btn:hover{background:var(--color-incorrect-border)}.bugreport-submit-btn:active{transform:translate(1px,1px);box-shadow:none}.bugreport-submit-btn:disabled{opacity:.5;cursor:not-allowed}.bugreport-cancel-btn{flex:1;padding:12px 20px;font-size:1rem;font-weight:600;background:var(--bg-surface-alt);color:var(--text-secondary);border:1.5px solid var(--edge);border-radius:999px;cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,background .15s}.bugreport-cancel-btn:hover{background:var(--bg-surface-raised)}.bugreport-cancel-btn:active{transform:translate(1px,1px);box-shadow:none}#landing-page{display:none;min-height:80vh}#landing-page.active{display:flex;justify-content:center;align-items:center}.landing-content{text-align:center;max-width:700px;width:100%;margin:0 auto;transition:transform .6s ease}.landing-content.slid-up{transform:translateY(-20px)}.landing-title{font-size:clamp(2.6rem,7.8vw,4.55rem);font-weight:800;color:var(--accent-blue);letter-spacing:-.04em;margin-bottom:clamp(.75rem,2vw,1rem);line-height:1.05}.landing-strapline{font-size:1.5rem;color:var(--text-secondary);margin-bottom:clamp(1.5rem,4vw,2rem);line-height:1.6;opacity:0;transition:opacity .8s ease}.landing-strapline.fade-in{opacity:1}.landing-select-label{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:16px;opacity:0;transition:opacity .8s ease}.landing-select-label.fade-in{opacity:1}.landing-subjects{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:clamp(2rem,6vw,3.75rem);opacity:0;transition:opacity .8s ease}.landing-subjects.fade-in{opacity:1}.landing-cta-btn{font-size:1.3rem;font-weight:700;color:var(--text-on-accent);background:var(--accent-blue);border:1.5px solid var(--edge);padding:14px 48px;border-radius:999px;cursor:pointer;letter-spacing:.01em;box-shadow:var(--press-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.landing-cta-btn:hover{background:var(--accent-blue-hover);transform:translate(2px,2px);box-shadow:none}.landing-cta-btn:active{transform:translate(2px,2px);box-shadow:none}body.landing-active header{display:none}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(.75rem,2vw,1.25rem);max-width:700px;margin:0 auto;opacity:0;transition:opacity .8s ease}.landing-features.fade-in{opacity:1}.landing-feature-card{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius);padding:.625rem .75rem;text-align:left;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s}.landing-feature-card:hover{transform:translateY(-2px)}.landing-feature-card:active{transform:translate(1px,1px);box-shadow:none}.landing-feature-card h3{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.01em}.landing-feature-card p{font-size:.8rem;color:var(--text-secondary);line-height:1.55}.score-page-overlay{position:fixed;inset:0;z-index:950;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-body);overflow-y:auto;padding:clamp(1rem,4vw,2rem)}.score-page-content{display:flex;flex-direction:column;align-items:center;gap:clamp(1.5rem,4vw,2.5rem);max-width:600px;width:100%}.score-page-score{text-align:center;display:flex;align-items:baseline;justify-content:center;gap:clamp(1rem,3vw,2rem);flex-wrap:wrap}.score-page-value{font-size:clamp(73px,13.7vw,137px);font-weight:800;color:var(--text-primary);letter-spacing:-.03em;display:flex;align-items:baseline;justify-content:center;gap:0}.score-page-emoji{font-size:3rem;width:100%;margin-top:-.5rem}.score-page-value.score-color-full{color:var(--color-correct)}.score-page-value.score-color-zero{color:var(--color-incorrect)}.score-page-value.score-color-partial{color:var(--color-partial)}.score-page-label{font-size:clamp(36px,7.3vw,69px);color:var(--text-secondary);font-weight:500}.score-page-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.score-page-primary{display:flex;gap:.875rem;flex-wrap:wrap;justify-content:center;width:min(100%,480px)}.score-page-btn-primary{flex:1;white-space:nowrap;padding:.875rem 2rem;font-size:1.3rem;font-weight:700;color:var(--text-on-accent);background:var(--accent-blue);border:1.5px solid var(--edge);border-radius:999px;cursor:pointer;box-shadow:var(--press-shadow-sm);transition:transform .12s,box-shadow .12s,background .15s;text-align:center}.score-page-btn-primary:hover{background:var(--accent-blue-hover);transform:translateY(-1px)}.score-page-btn-primary:active{transform:translate(1px,1px);box-shadow:none}.score-page-secondary{display:flex;align-items:center;gap:.875rem;justify-content:center;width:min(100%,480px)}.score-page-secondary-sep{color:var(--text-tertiary);flex-shrink:0}.score-page-link{flex:1;background:none;border:none;padding:.25rem .5rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:color .2s}.score-page-link:first-child{text-align:right}.score-page-link:last-child{text-align:left}.score-page-link:hover{color:var(--accent-blue);text-decoration:underline}@media(max-width:900px){body:has(.has-figure-sidebar){max-width:920px}#question-container.has-figure-sidebar{display:block;padding:clamp(1.25rem,4vw,2.25rem);padding-bottom:4rem}.figure-sidebar{position:fixed;inset:auto 0 0;border-left:none;border-top:1px solid var(--border-default);border-radius:0;max-height:none;overflow:visible;padding:0;background:var(--bg-surface);box-shadow:0 -2px 10px #00000014;z-index:50;gap:0}.figure-sidebar-title{display:none}.figure-sidebar-mobile-trigger{display:flex;align-items:center;justify-content:center;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));font-size:.9rem;font-weight:700;color:var(--accent-blue);cursor:pointer;gap:6px}.figure-sidebar-mobile-arrow{font-size:.7rem}.figure-sidebar-thumbs{display:none}.figure-sidebar.drawer-open .figure-sidebar-title{display:block}.figure-sidebar.drawer-open .figure-sidebar-thumbs{display:flex;flex-direction:column;overflow-y:auto;max-height:50vh;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:10px;border-top:1px solid var(--border-subtle)}.figure-sidebar.drawer-open .figure-thumb{flex-shrink:0;width:100%}.figure-sidebar.drawer-open .table-thumb{flex-shrink:0}}@media(min-width:1400px){html{zoom:1.5}}@media(max-width:1024px){body{padding:clamp(.75rem,3vw,1rem)}.topic-grid{grid-template-columns:repeat(2,1fr)}.topic-btn{padding:1rem .875rem}.subtopic-btn{padding:.875rem .75rem}#question-container{padding:1.25rem}.question-header{margin-bottom:1rem;padding-bottom:.75rem}.question-part{margin-bottom:1.5rem;padding-bottom:1.25rem}.self-marking-left,.self-marking-right{padding:1rem}.self-marking-header{padding:.75rem 1rem}.self-marking-nav{padding:.625rem 1rem}.marking-summary{margin-top:1rem;padding:1rem}.landing-title{font-size:3.58rem}.landing-strapline{font-size:1.3rem;margin-bottom:1.5rem}.landing-subjects{margin-bottom:2rem}.landing-feature-card{padding:1rem .875rem}.landing-feature-card h3{font-size:1.24rem}.landing-feature-card p{font-size:.82rem}}@media(max-width:767px){.score-page-overlay{justify-content:flex-start;padding-bottom:0}.score-page-content{flex:1;justify-content:center;padding-bottom:140px}.score-page-score{flex-direction:column;align-items:center;gap:0}.score-page-value{font-size:clamp(78px,23.4vw,130px)}.score-page-label{font-size:clamp(39px,13vw,65px)}.score-page-actions{position:fixed;bottom:0;left:0;right:0;background:var(--bg-surface);border-top:1px solid var(--border-default);padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 10px #00000014;gap:.75rem}.score-page-primary{width:100%}.score-page-btn-primary{flex:1;padding:.75rem 1rem;font-size:.9rem}.score-page-secondary{gap:.5rem}.score-page-link{font-size:.82rem}}@media(max-width:768px){.landing-features{grid-template-columns:1fr 1fr}}@media(max-width:600px){.sm-intro-title{font-size:clamp(2.25rem,12vw,3.75rem)}.breadcrumb-link,.breadcrumb-current{font-size:.95rem}.breadcrumb-sep{margin:0 6px;font-size:.85rem}.back-link{font-size:.95rem}.landing-cta-btn{font-size:1rem;padding:.75rem 2.25rem}.landing-features{grid-template-columns:1fr;max-width:320px}.question-item{flex-direction:column;align-items:stretch;gap:.625rem}.question-item-title{width:100%}.question-item-right{justify-content:space-between;width:100%}.question-progress{flex:1;max-width:120px}.self-marking-panels{grid-template-columns:1fr}.self-marking-left{max-height:40vh}.self-marking-right{flex:1}.numerical-final-input{max-width:100%}.numerical-calc-row{flex-wrap:wrap}.numerical-calc-result{width:100%;min-width:unset}.top-right-buttons{top:6px;right:12px;gap:8px}.top-btn{width:38px;height:38px}.theme-btn{font-size:1rem}.self-marking-nav-btn{padding:.375rem .625rem;font-size:.78rem}.self-marking-submit{padding:.375rem .75rem;font-size:.8rem}.self-marking-score{padding:.375rem .625rem;font-size:.8rem}.score-label-text,.self-marking-title-text{display:none}.self-mark-badge{margin-left:0}.self-marking-report-btn,.self-marking-panel-heading-row{display:none}.self-marking-left{background:var(--bg-body)}.self-marking-right{background:var(--bg-surface)}.self-marking-title{font-size:1rem}.self-marking-counter{font-size:.8rem}.marking-summary-buttons{flex-direction:column;gap:.5rem}.bank-score-btn,.reset-question-btn{padding:.625rem 1.25rem;font-size:.9rem}.back-btn-fixed,.bug-report-btn{padding:.5rem .875rem;font-size:.88rem}}.auth-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9000;padding:20px}.auth-modal{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius);box-shadow:var(--press-shadow);padding:32px;max-width:420px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.auth-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;line-height:1}.auth-close:hover{color:var(--text-primary)}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border-default)}.auth-tab{flex:1;padding:10px 16px;background:none;border:none;color:var(--text-secondary);font-size:15px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.auth-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.auth-tab:hover{color:var(--text-primary)}.auth-error{background:var(--color-incorrect-bg);border:1px solid var(--color-incorrect-border);color:var(--color-incorrect-text);padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);font-size:13px}.auth-form input,.auth-form select{padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:8px;color:var(--text-primary);font-size:15px;outline:none;transition:border-color .2s}.auth-form input:focus,.auth-form select:focus{border-color:var(--border-input-focus)}.auth-required{color:var(--color-incorrect)}.auth-submit{padding:12px;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid var(--edge);border-radius:999px;box-shadow:var(--press-shadow-sm);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s,box-shadow .1s;margin-top:4px}.auth-submit:hover:not(:disabled){background:var(--accent-blue-hover);transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translate(1px,1px);box-shadow:var(--press-shadow-active)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-tertiary);font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.auth-google{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:var(--bg-surface-alt);border:1.5px solid var(--edge);border-radius:999px;box-shadow:var(--press-shadow-sm);color:var(--text-primary);font-size:15px;cursor:pointer;transition:background .2s,transform .1s,box-shadow .1s;width:100%}.auth-google:hover:not(:disabled){background:var(--bg-surface-raised);transform:translateY(-1px)}.auth-google:active:not(:disabled){transform:translate(1px,1px);box-shadow:var(--press-shadow-active)}.auth-google:disabled{opacity:.6;cursor:not-allowed}.auth-google-icon{flex-shrink:0}.header-user-area{display:flex;align-items:center;flex-shrink:0;margin-left:auto}.header-sign-in-btn{padding:6px 18px;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid var(--edge);border-radius:999px;box-shadow:var(--press-shadow-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s,box-shadow .1s;white-space:nowrap}.header-sign-in-btn:hover{background:var(--accent-blue-hover);transform:translateY(-1px)}.header-sign-in-btn:active{transform:translate(1px,1px);box-shadow:var(--press-shadow-active)}.user-menu-wrapper{position:relative}.user-avatar-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--accent-blue);color:var(--text-on-accent);font-size:14px;font-weight:700;border:1.5px solid var(--edge);cursor:pointer;transition:transform .1s}.user-avatar-btn:hover{transform:translateY(-1px)}.user-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow);overflow:hidden;min-width:160px;z-index:100}.user-dropdown-email{padding:10px 16px;color:var(--text-secondary);font-size:12px;border-bottom:1px solid var(--border-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown button{display:block;width:100%;padding:10px 16px;background:none;border:none;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .15s}.user-dropdown button:hover{background:var(--bg-surface-alt)}.user-dropdown button+button{border-top:1px solid var(--border-subtle)}.question-item-locked{position:relative;opacity:.55;cursor:pointer}.question-item-locked:hover{opacity:.7}.locked-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;background:#0f121999;border-radius:var(--press-radius-sm);z-index:2}.lock-icon{font-size:18px}.locked-text{color:#d1d5e0;font-size:13px;font-weight:500}.migration-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--color-correct-bg);border:1.5px solid var(--color-correct-border);color:var(--color-correct-text);padding:12px 24px;border-radius:999px;font-size:14px;z-index:8000;animation:toastIn .3s ease-out,toastOut .3s ease-in 3.5s forwards;box-shadow:var(--press-shadow-sm)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.profile-page{max-width:600px;margin:0 auto;padding:20px 0}.profile-page h2{color:var(--text-primary);font-size:24px;margin-bottom:24px}.profile-card{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius);box-shadow:var(--press-shadow);padding:24px;display:flex;flex-direction:column;gap:16px}.profile-field{display:flex;flex-direction:column;gap:4px}.profile-label{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.profile-value{color:var(--text-primary);font-size:15px}.profile-tier{text-transform:capitalize;color:var(--accent-blue);font-weight:600}.profile-field input,.profile-field select{padding:8px 12px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:8px;color:var(--text-primary);font-size:14px;outline:none}.profile-field input:focus,.profile-field select:focus{border-color:var(--border-input-focus)}.profile-actions{display:flex;gap:10px;margin-top:8px}.profile-edit-btn,.profile-save-btn{padding:8px 20px;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid var(--edge);border-radius:999px;box-shadow:var(--press-shadow-sm);font-size:14px;cursor:pointer;transition:background .2s,transform .1s,box-shadow .1s}.profile-edit-btn:hover,.profile-save-btn:hover:not(:disabled){background:var(--accent-blue-hover);transform:translateY(-1px)}.profile-edit-btn:active,.profile-save-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:var(--press-shadow-active)}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.profile-cancel-btn{padding:8px 20px;background:var(--bg-surface-alt);color:var(--text-secondary);border:1.5px solid var(--edge);border-radius:999px;box-shadow:var(--press-shadow-sm);font-size:14px;cursor:pointer;transition:background .2s,transform .1s,box-shadow .1s}.profile-cancel-btn:hover{background:var(--bg-surface-raised);transform:translateY(-1px)}.profile-cancel-btn:active{transform:translate(1px,1px);box-shadow:var(--press-shadow-active)}.profile-stats{margin-top:28px}.profile-stats h3{color:var(--text-primary);font-size:18px;margin-bottom:16px}.profile-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-stat-card{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow-sm);padding:16px;display:flex;flex-direction:column;align-items:center;gap:4px}.profile-stat-number{color:var(--accent-blue);font-size:28px;font-weight:700}.profile-stat-label{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:center}.profile-bottom-actions{margin-top:28px;display:flex;justify-content:space-between}.profile-back-btn{padding:10px 20px;background:var(--bg-surface-alt);color:var(--text-primary);border:1.5px solid var(--edge);border-radius:999px;box-shadow:var(--press-shadow-sm);font-size:14px;cursor:pointer;transition:background .2s,transform .1s,box-shadow .1s}.profile-back-btn:hover{background:var(--bg-surface-raised);transform:translateY(-1px)}.profile-back-btn:active{transform:translate(1px,1px);box-shadow:var(--press-shadow-active)}.profile-signout-btn{padding:10px 20px;background:var(--color-incorrect-bg);color:var(--color-incorrect-text);border:1.5px solid var(--color-incorrect-border);border-radius:999px;box-shadow:2px 2px 0 var(--color-incorrect-border);font-size:14px;cursor:pointer;transition:background .2s,transform .1s,box-shadow .1s}.profile-signout-btn:hover{transform:translateY(-1px)}.profile-signout-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--color-incorrect-border)}@media(max-width:600px){.auth-modal{padding:24px 20px;max-width:100%}.profile-stats-grid{grid-template-columns:1fr 1fr}}.admin-gate{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:20px}.admin-gate-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:32px;max-width:380px;width:100%}.admin-gate-card h2{margin:0 0 20px;font-size:1.25rem;color:var(--text-primary)}.admin-gate-card p{color:var(--text-secondary);font-size:.9rem;margin:0 0 16px;line-height:1.5}.admin-gate-card label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.admin-gate-card input{display:block;width:100%;margin-top:4px;padding:8px 10px;font-size:.95rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-base);color:var(--text-primary);box-sizing:border-box}.admin-gate-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #6366f126}.admin-gate-error{color:#ef4444;font-size:.85rem;margin:0 0 12px}.admin-gate-btn{display:block;width:100%;padding:10px;margin-top:8px;font-size:.95rem;font-weight:600;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;transition:opacity .15s}.admin-gate-btn:hover{opacity:.9}.admin-gate-btn:disabled{opacity:.5;cursor:not-allowed}.admin-dashboard{max-width:1100px;margin:0 auto;padding:32px 20px 64px}.admin-title{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 28px}.admin-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:28px}.admin-header-row .admin-title{margin:0}.admin-purge-area{display:flex;align-items:center;gap:10px}.admin-anon-id{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text-tertiary)}.admin-purge-btn{padding:6px 16px;font-size:13px;font-weight:500;border:1.5px solid var(--color-incorrect-border);border-radius:999px;background:var(--bg-surface);color:var(--color-incorrect-text);cursor:pointer;transition:all .15s}.admin-purge-btn:hover{background:var(--color-incorrect-bg)}.admin-purge-btn:disabled{opacity:.5;cursor:not-allowed}.admin-purge-result{padding:10px 16px;margin-bottom:20px;border-radius:var(--press-radius-sm);font-size:14px;background:var(--color-correct-bg);border:1.5px solid var(--color-correct-border);color:var(--color-correct-text)}.admin-purge-result.error{background:var(--color-incorrect-bg);border-color:var(--color-incorrect-border);color:var(--color-incorrect-text)}.admin-loading,.admin-error{text-align:center;padding:48px 20px;color:var(--text-secondary);font-size:16px}.admin-error{color:var(--color-incorrect-text);background:var(--color-incorrect-bg);border:1.5px solid var(--color-incorrect-border);border-radius:var(--press-radius-sm);padding:16px 20px}.admin-empty{color:var(--text-tertiary);font-style:italic;padding:16px 0}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-stat-card{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow-sm);padding:20px;text-align:center}.admin-stat-value{font-size:32px;font-weight:700;color:var(--accent-blue);line-height:1.2}.admin-stat-label{font-size:13px;color:var(--text-secondary);margin-top:6px;text-transform:uppercase;letter-spacing:.5px}.admin-section{margin-top:32px}.admin-section h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.admin-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.admin-section-header h2{margin:0}.admin-range-picker{display:flex;gap:6px}.admin-range-btn{padding:6px 14px;font-size:13px;font-weight:500;border:1.5px solid var(--edge-light);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.admin-range-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.admin-range-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:var(--text-on-accent)}.admin-chart-wrapper{background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow-sm);padding:20px 12px 12px}.admin-table-wrapper{overflow-x:auto;background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow-sm)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table thead{background:var(--bg-surface-alt)}.admin-table th{text-align:left;padding:12px 16px;font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1.5px solid var(--edge-light)}.admin-table td{padding:10px 16px;color:var(--text-primary);border-bottom:1px solid var(--edge-light)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--bg-surface-alt)}.admin-cell-mono{font-family:SF Mono,Fira Code,monospace;font-size:13px}.admin-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-sortable:hover{color:var(--accent-blue)}@media(max-width:768px){.admin-summary-grid{grid-template-columns:repeat(2,1fr)}.admin-stat-value{font-size:24px}.admin-title{font-size:22px}}@media(max-width:480px){.admin-dashboard{padding:20px 12px 48px}.admin-section-header{flex-direction:column;align-items:flex-start}.admin-table th,.admin-table td{padding:8px 10px}}.admin-layout,.admin-layout *{--accent: var(--accent-blue);--accent-hover: var(--accent-blue-hover);--accent-muted: var(--accent-blue-muted);--accent-subtle: var(--accent-blue-subtle);--radius: 12px;--radius-sm: 8px;--radius-xs: 6px;--transition: .2s ease;--font-body: "Inter", -apple-system, sans-serif;--danger: #dc2626;--danger-subtle: rgba(220, 38, 38, .1);--color-info: #3b82f6;--color-info-bg: #eff6ff;--color-warning: #d97706;--color-warning-bg: #fffbeb;--bg-secondary: var(--bg-surface-alt);--bg-primary: var(--bg-surface)}body:has(.admin-layout){max-width:none;padding:0;margin:0}.admin-layout{display:flex;min-height:100vh;background:var(--bg-body)}.admin-sidebar{width:220px;flex-shrink:0;background:var(--bg-surface);border-right:1px solid var(--edge-light);padding:24px 16px;display:flex;flex-direction:column;gap:8px;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-sidebar-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:16px;padding:0 8px}.admin-sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.admin-nav-btn{display:block;width:100%;padding:10px 12px;background:none;border:none;border-radius:var(--radius-xs);font-family:inherit;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.admin-nav-btn:hover{background:var(--bg-surface-alt);color:var(--text-primary)}.admin-nav-btn.active{background:var(--accent-blue-subtle);color:var(--accent-blue);font-weight:600}.admin-back-btn{margin-top:auto;color:var(--text-tertiary);font-size:.82rem}.admin-content{flex:1;min-width:0;padding:32px clamp(24px,3vw,48px);max-width:1100px}.ca-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.ca-badge-easy{background:var(--color-correct-bg);color:#15803d}.ca-badge-medium{background:var(--color-warning-bg);color:#92400e}.ca-badge-hard{background:var(--color-incorrect-bg);color:#991b1b}.ca-empty{text-align:center;padding:48px 24px;color:var(--text-secondary)}.qb-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.qb-section-header h1{margin:0;font-size:1.4rem}.ca-badge-status-draft{background:var(--bg-surface-alt);color:var(--text-tertiary)}.ca-badge-status-in_review{background:var(--color-warning-bg);color:#92400e}.ca-badge-status-published{background:var(--color-correct-bg);color:#15803d}.ca-badge-status-needs_fixes{background:#fef2f2;color:#b91c1c}.ca-question-display{margin-bottom:24px}.ca-question-title{font-size:1.1rem;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--edge-light)}.ca-question-part{margin-bottom:24px;padding:16px;background:var(--bg-surface);border:1px solid var(--edge-light);border-radius:var(--radius-sm)}.ca-part-text-row{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}.ca-part-label{font-weight:800;font-size:1rem;color:var(--accent);flex-shrink:0}.ca-part-text{line-height:1.7;white-space:pre-line}.ca-part-marks{text-align:right;font-size:.82rem;color:var(--text-tertiary);font-weight:500;margin-top:12px}.ca-part-diagrams{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.ca-diagram{max-height:300px;border-radius:var(--radius-xs);border:1px solid var(--edge-light);flex:1 1 0;min-width:0;max-width:400px;object-fit:contain}.ca-diagram:only-child{flex:0 1 auto}.ca-part-tables{margin-bottom:14px}.ca-part-table-block{border:1px solid var(--edge-light);border-radius:var(--radius-xs);overflow:hidden;margin-bottom:10px}.ca-part-table-label{font-size:.78rem;font-weight:700;color:var(--text-muted);padding:6px 12px;border-bottom:1px solid var(--edge-light)}.ca-part-inline-table{width:100%;border-collapse:collapse;font-size:.9rem}.ca-part-inline-table th,.ca-part-inline-table td{padding:8px 12px;border:1px solid var(--edge-light);text-align:left}.ca-part-inline-table th{background:var(--bg-raised);font-weight:700;font-size:.85rem}.ca-part-inline-table tbody tr:nth-child(2n){background:var(--bg-raised)}.ca-part-unsupported{padding:12px;background:var(--color-warning-bg);color:#92400e;border-radius:var(--radius-xs);font-size:.85rem}.qb-tabs{display:inline-flex;gap:2px;margin-bottom:20px;background:var(--bg-surface-alt);border-radius:var(--radius-sm);padding:3px}.qb-tab{padding:9px 22px;background:none;border:none;border-radius:var(--radius-xs);font-size:.85rem;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease;position:relative;font-family:var(--font-body)}.qb-tab:hover{color:var(--text-primary)}.qb-tab-active{background:var(--bg-surface);color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #00000014,0 1px 1px #0000000a}.qb-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding:16px 18px;background:var(--bg-surface);border:1px solid var(--edge-light);border-radius:var(--radius-sm)}.qb-filters-row{display:flex;gap:12px;align-items:flex-end}.qb-filter-group{display:flex;flex-direction:column;gap:5px;min-width:0}.qb-filter-topic,.qb-filter-subtopic{flex:1}.qb-filter-difficulty{width:120px;flex-shrink:0}.qb-filter-search{flex:1}.qb-filter-status{width:130px;flex-shrink:0}.qb-filter-label{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.qb-category-toggle{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.qb-category-btn{padding:4px 12px;font-size:.8rem;font-weight:500;background:transparent;color:var(--text-secondary);border:none;cursor:pointer;transition:background .15s,color .15s}.qb-category-btn:not(:last-child){border-right:1px solid var(--border)}.qb-category-btn:hover{background:var(--bg-hover)}.qb-category-btn--active{background:var(--brand);color:#fff}.qb-category-btn--active:hover{background:var(--brand)}.qb-filter-select,.qb-filter-input{padding:9px 12px;border:1px solid var(--edge);border-radius:var(--radius-xs);background:var(--bg-input);font-size:.85rem;color:var(--text-primary);font-family:var(--font-body);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.qb-filter-select:focus,.qb-filter-input:focus{outline:none;border-color:var(--accent-muted);background:var(--bg-input-focus);box-shadow:0 0 0 3px #4f46e514}.qb-filter-select:disabled{opacity:.45;cursor:not-allowed;background:var(--bg-surface-alt);color:var(--text-tertiary)}.qb-result-count{font-size:.78rem;font-weight:500;color:var(--text-tertiary);margin-bottom:14px;letter-spacing:.01em}.qb-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;color:var(--text-secondary);font-size:1.05rem;font-weight:500}.qb-prompt:before{content:"";display:block;width:48px;height:48px;margin-bottom:16px;border-radius:50%;background:var(--bg-surface-alt);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238b8fa3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.qb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.qb-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:96px;padding:16px;background:var(--bg-surface);border:1px solid var(--edge-light);border-left:3px solid var(--edge-light);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;animation:qb-card-in .3s ease both}.qb-card:hover{transform:translateY(-2px);border-left-color:var(--accent-muted);box-shadow:var(--shadow-sm)}.qb-card--highlight{animation:qb-highlight-pulse 1.5s ease}@keyframes qb-highlight-pulse{0%{box-shadow:0 0 0 0 var(--accent-blue)}20%{box-shadow:0 0 0 4px var(--accent-blue);border-left-color:var(--accent-blue)}to{box-shadow:0 0 0 0 transparent}}@keyframes qb-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qb-card:nth-child(1){animation-delay:0ms}.qb-card:nth-child(2){animation-delay:30ms}.qb-card:nth-child(3){animation-delay:60ms}.qb-card:nth-child(4){animation-delay:90ms}.qb-card:nth-child(5){animation-delay:.12s}.qb-card:nth-child(6){animation-delay:.15s}.qb-card:nth-child(7){animation-delay:.18s}.qb-card:nth-child(8){animation-delay:.21s}.qb-card:nth-child(9){animation-delay:.24s}.qb-card:nth-child(10){animation-delay:.27s}.qb-card:nth-child(11){animation-delay:.3s}.qb-card:nth-child(12){animation-delay:.33s}.qb-card-title{font-size:.9rem;font-weight:500;line-height:1.45;color:var(--text-primary);margin-bottom:12px}.qb-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid var(--edge-light)}.qb-card-marks{font-size:.78rem;font-weight:600;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.qb-card-date{display:block;font-size:.7rem;font-weight:400;color:var(--text-quaternary, #999);margin-top:2px}.qb-tag-badge{position:relative;display:inline-flex}.qb-tag-tooltip{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:10;min-width:180px;padding:10px 14px;background:#fff;color:#1a1a1a;border:1px solid #d1d5db;border-radius:8px;font-size:.8rem;line-height:1.8;box-shadow:0 8px 24px #0000002e;pointer-events:none;flex-direction:column;gap:2px}.qb-tag-tooltip strong{color:#6b7280;font-weight:600;margin-right:4px}.qb-tag-badge:hover .qb-tag-tooltip{display:flex}.qb-card{overflow:visible}.qb-card:hover{z-index:5}.qb-load-more{text-align:center;padding:24px 0}.qb-preview-overlay{position:fixed;inset:0;background:#0f111c73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:qb-overlay-in .2s ease}@keyframes qb-overlay-in{0%{opacity:0}to{opacity:1}}.qb-preview-modal{background:var(--bg-surface);border-radius:var(--radius);box-shadow:0 24px 48px -12px #00000026,0 0 0 1px #0000000d;max-width:800px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:qb-modal-in .25s cubic-bezier(.16,1,.3,1)}@keyframes qb-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.qb-preview-header{flex-shrink:0;padding:20px 24px 14px;border-bottom:1px solid var(--edge-light);background:var(--bg-surface)}.qb-preview-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.qb-preview-title{font-size:1.15rem;font-weight:600;line-height:1.3;flex:1;min-width:0}.qb-preview-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.qb-preview-marks{font-size:.85rem;font-weight:700;color:var(--text-secondary);white-space:nowrap;background:var(--bg-surface-alt);padding:4px 10px;border-radius:var(--radius-xs);font-variant-numeric:tabular-nums}.qb-preview-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-tertiary);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);transition:background .15s ease,color .15s ease;line-height:1}.qb-preview-close:hover{background:var(--bg-surface-alt);color:var(--text-primary)}.qb-preview-header-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.qb-preview-breadcrumb{font-size:.8rem;color:var(--text-tertiary);font-weight:500}.qb-preview-header-creator{font-size:.75rem;color:var(--text-tertiary);margin-top:8px;padding-top:8px;border-top:1px solid var(--edge-light);font-weight:500}.qb-preview-body{flex:1;min-height:0;overflow-y:auto;padding:24px;scroll-behavior:smooth}.qb-preview-body .ca-question-title{display:none}.qb-preview-body::-webkit-scrollbar{width:6px}.qb-preview-body::-webkit-scrollbar-track{background:transparent}.qb-preview-body::-webkit-scrollbar-thumb{background:var(--edge);border-radius:3px}.qb-preview-body::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.qp-empty{text-align:center;padding:32px 24px;color:var(--text-tertiary)}.qb-draft-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-info);background:var(--color-info-bg);padding:2px 7px;border-radius:var(--radius-xs);margin-right:6px;vertical-align:middle}.qb-filter-checkbox{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:0 4px}.qb-filter-checkbox input[type=checkbox]{accent-color:var(--accent)}.qe-part{background:var(--bg-surface);border:1px solid var(--edge-light);border-radius:var(--radius-sm);margin-bottom:16px;overflow:hidden}.qe-part-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-surface-alt);border-bottom:1px solid var(--edge-light);cursor:pointer}.qe-part-body{padding:16px}.qe-part-actions{display:flex;gap:6px}.qe-part-actions button{padding:4px 8px;background:none;border:1px solid var(--edge);border-radius:var(--radius-xs);cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:all var(--transition)}.qe-part-actions button:hover{background:var(--bg-surface-alt)}.qe-part-actions button.qe-delete:hover{background:var(--color-incorrect-bg);color:var(--color-incorrect);border-color:var(--color-incorrect-border)}.qe-options-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.qe-option-row{display:flex;align-items:center;gap:8px}.qe-option-row input[type=text]{flex:1}.qe-mark-scheme-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.qe-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.qe-header h1{margin:0}.qe-readonly-badge{font-size:.78rem;font-weight:600;color:var(--color-warning);background:var(--color-warning-bg);padding:3px 10px;border-radius:var(--radius-xs)}.qe-draft-badge{font-size:.78rem;font-weight:600;color:var(--color-info);background:var(--color-info-bg);padding:3px 10px;border-radius:var(--radius-xs)}.qe-form-section{margin-bottom:32px}.qe-field{margin-bottom:14px}.qe-field-row{display:flex;gap:16px;flex-wrap:wrap}.qe-field-row .qe-field{flex:1;min-width:180px}.qe-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.qe-input,.qe-select{width:100%;padding:8px 12px;border:1px solid var(--edge);border-radius:var(--radius-xs);font-family:inherit;font-size:.9rem;background:var(--bg-input);color:var(--text-primary);transition:border-color var(--transition)}.qe-input:focus,.qe-select:focus{outline:none;border-color:var(--accent);background:var(--bg-input-focus)}.qe-custom-input-row{display:flex;gap:8px;align-items:center}.qe-custom-input-row .qe-input,.qe-custom-input-row .qe-select{flex:1}.qe-total-marks{font-size:.9rem;color:var(--text-secondary);padding:8px 0}.qe-total-marks strong{color:var(--text-primary);font-size:1.1rem}.qe-parts-section{margin-bottom:32px}.qe-part-nav{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:20px;padding:4px;background:var(--bg-surface-alt);border-radius:var(--radius-sm);border:1px solid var(--edge-light)}.qe-part-tab{padding:8px 16px;border:none;background:transparent;border-radius:var(--radius-xs);font-family:inherit;font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:6px}.qe-part-tab:hover{background:var(--bg-surface)}.qe-part-tab-active{background:var(--bg-surface);color:var(--accent);box-shadow:var(--shadow-sm)}.qe-part-tab-marks{font-size:.75rem;font-weight:500;color:var(--text-tertiary)}.qe-part-tab-active .qe-part-tab-marks{color:var(--accent-muted)}.qe-part-tab-x{font-size:.85rem;line-height:1;color:var(--text-tertiary);margin-left:2px;padding:0 2px;border-radius:var(--radius-xs);opacity:0;transition:all var(--transition)}.qe-part-tab:hover .qe-part-tab-x{opacity:1}.qe-part-tab-x:hover{color:var(--danger);background:var(--danger-subtle, rgba(220, 38, 38, .1))}.qe-part-tab-add{color:var(--accent);font-size:1rem;font-weight:700;padding:8px 12px}.qe-part-tab-add:hover{background:var(--accent-subtle)}.qe-part-arrows{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--edge-light)}.qe-part-indicator{font-size:.85rem;color:var(--text-secondary);font-weight:500}.qe-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;margin-bottom:32px}.qe-add-part-bottom{width:100%;margin-top:8px}.qe-preview-section{margin-top:24px;padding:20px;background:var(--bg-surface);border:1px solid var(--edge-light);border-radius:var(--radius-sm)}.qe-preview-section h2{font-size:1rem;margin-bottom:16px;color:var(--text-secondary)}.qe-preview-container{border:1px dashed var(--edge);border-radius:var(--radius-xs);padding:16px}.qe-publish-overlay{position:fixed;inset:0;z-index:1000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px}.qe-publish-modal{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:480px;overflow:hidden}.qe-publish-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--edge-light)}.qe-publish-header h2{font-size:1.1rem;margin:0}.qe-publish-close{background:none;border:none;font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;padding:0 4px;line-height:1}.qe-publish-close:hover{color:var(--text-primary)}.qe-publish-body{padding:20px}.qe-publish-hint{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px}.qe-publish-field{margin-bottom:16px}.qe-publish-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--edge-light);background:var(--bg-surface-alt)}.qpe-part{background:var(--accent-subtle);border:1px solid var(--edge-light);border-left:3px solid var(--accent-muted);border-radius:var(--radius-sm);padding:24px}.qpe-part-title-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--edge-light)}.qpe-part-title{font-size:1.05rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.03em}.qpe-type-marks-bar{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--edge-light)}.qpe-type-marks-bar>.qpe-field{margin-bottom:0}.qpe-field{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:18px}.qpe-section{background:var(--bg-surface);border:1px solid var(--edge-light);border-radius:var(--radius-sm);margin-bottom:20px;overflow:hidden}.qpe-section:last-child{margin-bottom:0}.qpe-section-title{margin:0;padding:10px 16px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);background:var(--bg-surface-alt);border-bottom:1px solid var(--edge-light)}.qpe-section-markscheme .qpe-section-title{color:var(--color-correct);background:var(--color-correct-bg);border-bottom-color:var(--color-correct-border)}.qpe-section-content{padding:16px}.qpe-field-row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}.qpe-field-row>.qpe-field{margin-bottom:0}.qpe-field-row .qpe-field-type,.qpe-field-row .qpe-field-marks{flex:0 0 auto}.qpe-option-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-xs);border:1px solid transparent;margin-bottom:4px}.qpe-option-row .qpe-input{flex:1}.qpe-diagram-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.qpe-diagram-row .qpe-input{flex:1}.qpe-diagram-label-input{font-size:.85rem}.icm-backdrop{position:fixed;inset:0;background:#0009;z-index:600;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.icm-modal{background:var(--surface-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:900px;max-height:90vh;width:100%;display:flex;flex-direction:column;overflow:hidden}.icm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--edge-light)}.icm-header h3{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--text-primary)}.icm-close{background:none;border:none;font-size:1.5rem;color:var(--text-tertiary);cursor:pointer;padding:0 4px;line-height:1}.icm-close:hover{color:var(--text-primary)}.icm-body{flex:1;overflow:auto;padding:20px;display:flex;justify-content:center;background:var(--surface-secondary)}.icm-img-wrapper{position:relative;display:inline-block;cursor:crosshair;user-select:none;-webkit-user-select:none}.icm-img{display:block;max-width:100%;max-height:65vh;pointer-events:none}.icm-overlay{position:absolute;background:#00000073;pointer-events:none}.icm-crop-rect{position:absolute;border:2px solid #fff;box-shadow:0 0 0 1px #0000004d,inset 0 0 0 1px #00000026;cursor:move}.icm-grid-h,.icm-grid-v{position:absolute;pointer-events:none}.icm-grid-h{left:0;right:0;height:1px;background:#ffffff40}.icm-grid-v{top:0;bottom:0;width:1px;background:#ffffff40}.icm-handle{position:absolute;width:10px;height:10px;background:#fff;border:1px solid rgba(0,0,0,.4);border-radius:2px;z-index:2}.icm-size-label{position:absolute;transform:translate(-50%);background:#000000b3;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:4px;white-space:nowrap;pointer-events:none}.icm-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:16px 20px;border-top:1px solid var(--edge-light)}.qpe-option-correct{background:var(--color-correct-bg);border-color:var(--color-correct-border)}.qpe-equation-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.qpe-equation-edit{flex:1;display:flex;flex-direction:column;gap:4px}.qpe-equation-preview{padding:6px 10px;background:var(--bg-surface);border:1px solid var(--edge-light);border-radius:var(--radius-xs);font-size:.95rem;min-height:28px}.qpe-equation-input-row{display:flex;gap:6px;align-items:center}.qpe-equation-input-row .qpe-input{flex:1}.qpe-equation-bank{background:var(--bg-surface);border:1px solid var(--edge-light);border-radius:var(--radius-sm);padding:12px;margin-top:8px;margin-bottom:8px;max-height:320px;overflow-y:auto}.qpe-equation-bank-group{margin-bottom:12px}.qpe-equation-bank-group:last-child{margin-bottom:0}.qpe-equation-bank-group-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:6px}.qpe-equation-bank-items{display:flex;flex-wrap:wrap;gap:6px}.qpe-equation-bank-item{background:var(--bg-surface-alt);border:1px solid var(--edge-light);border-radius:var(--radius-xs);padding:6px 12px;cursor:pointer;font-family:inherit;font-size:.9rem;transition:all var(--transition)}.qpe-equation-bank-item:hover{background:var(--accent-subtle);border-color:var(--accent-muted)}.qpe-marks-auto{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:8px 12px;background:var(--bg-surface-alt);border:1px solid var(--edge-light);border-radius:var(--radius-xs);font-size:.9rem;font-weight:600;color:var(--text-secondary);box-sizing:border-box}.qpe-gap-info{font-size:.8rem;color:var(--text-tertiary);margin-top:.25rem}.qpe-wordbank-preview{margin-top:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--edge-light)}.qpe-wordbank-label{font-weight:600;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.qpe-wordbank-words{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.qpe-wordbank-word{display:inline-block;padding:.2rem .65rem;background:var(--bg-primary);border:1px solid var(--edge-light);border-radius:2rem;font-size:.85rem;font-weight:500;color:var(--text-primary)}.qpe-matchup-pairs{display:flex;flex-direction:column;gap:.4rem}.qpe-matchup-pair-header{display:grid;grid-template-columns:1fr auto 1fr auto;gap:.5rem;padding:0 .25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.qpe-matchup-pair-row{display:grid;grid-template-columns:1fr auto 1fr auto;gap:.5rem;align-items:center}.qpe-matchup-link{color:var(--text-tertiary);font-size:1.1rem;flex-shrink:0;width:1.5rem;text-align:center}.qpe-matchup-dummy-divider{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--edge-light);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.qpe-matchup-dummy-cell{display:flex;gap:.35rem;align-items:center}.qpe-matchup-dummy-cell .qpe-input{flex:1}.qpe-matchup-empty{display:block}.qpe-matchup-buttons{display:flex;gap:.5rem;margin-top:.75rem}.qpe-tickbox-table-wrap{overflow-x:auto}.qpe-tickbox-table{border-collapse:collapse;width:100%}.qpe-tickbox-table th,.qpe-tickbox-table td{border:1px solid var(--edge-light);padding:.35rem .5rem;vertical-align:middle}.qpe-tickbox-th-label{width:40%;min-width:120px}.qpe-tickbox-th{text-align:center;position:relative;min-width:80px}.qpe-tickbox-header-input{width:100%;border:none;background:transparent;text-align:center;font-weight:600;font-size:.85rem;font-family:inherit;color:var(--text-primary);padding:.2rem 0;outline:none}.qpe-tickbox-header-input::placeholder{color:var(--text-tertiary);font-weight:400}.qpe-tickbox-header-input:focus{box-shadow:inset 0 -2px 0 var(--accent)}.qpe-tickbox-remove-col{position:absolute;top:1px;right:1px;border:none;background:none;color:var(--text-tertiary);font-size:.8rem;cursor:pointer;padding:0 3px;line-height:1;opacity:0;transition:all var(--transition)}.qpe-tickbox-th:hover .qpe-tickbox-remove-col{opacity:1}.qpe-tickbox-remove-col:hover{color:var(--danger)}.qpe-section-tables{margin-top:.25rem}.qpe-data-table-block{margin-bottom:.75rem;border:1px solid var(--edge-light);border-radius:6px;padding:.5rem}.qpe-data-table-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.qpe-data-table-wrap{overflow-x:auto}.qpe-data-table{border-collapse:collapse;width:100%}.qpe-data-table th,.qpe-data-table td{border:1px solid var(--edge-light);padding:0;vertical-align:middle;position:relative}.qpe-data-table th{background:var(--bg-secondary)}.qpe-data-table-input{width:100%;border:none;background:transparent;font-size:var(--text-sm);font-family:inherit;color:var(--text-primary);padding:.3rem .4rem;outline:none;box-sizing:border-box}.qpe-data-table-input:focus{background:var(--bg-primary);box-shadow:inset 0 0 0 2px var(--accent)}.qpe-data-table-header-input{font-weight:600;text-align:center}.qpe-data-table-col-remove{position:absolute;top:-1px;right:1px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.75rem;line-height:1;padding:0 2px;opacity:0}.qpe-data-table th:hover .qpe-data-table-col-remove{opacity:1}.qpe-data-table-col-remove:hover{color:var(--danger)}.qpe-data-table-add-col{border:none!important;background:none!important;width:30px;text-align:center}.qpe-data-table-row-actions{border:none!important;width:24px;text-align:center}.qpe-data-table-row-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:0;opacity:0}.qpe-data-table tr:hover .qpe-data-table-row-remove{opacity:1}.qpe-data-table-row-remove:hover{color:var(--danger)}.qpe-tickbox-td-label{position:relative}.qpe-tickbox-label-input{width:100%;border:none;background:transparent;font-size:.85rem;font-family:inherit;color:var(--text-primary);padding:.2rem 0;outline:none}.qpe-tickbox-label-input::placeholder{color:var(--text-tertiary)}.qpe-tickbox-label-input:focus{box-shadow:inset 0 -2px 0 var(--accent)}.qpe-tickbox-remove-row{position:absolute;top:50%;right:2px;transform:translateY(-50%);border:none;background:none;color:var(--text-tertiary);font-size:.85rem;cursor:pointer;padding:0 3px;line-height:1;opacity:0;transition:all var(--transition)}.qpe-tickbox-td-label:hover .qpe-tickbox-remove-row{opacity:1}.qpe-tickbox-remove-row:hover{color:var(--danger)}.qpe-tickbox-td-cell{text-align:center}.qpe-tickbox-check{width:1.1rem;height:1.1rem;cursor:pointer;accent-color:var(--accent)}.qpe-tickbox-th-add{border:none!important;padding-left:.5rem;vertical-align:middle}.qpe-tickbox-add-row{margin-top:.5rem}.qpe-tf-td{vertical-align:top;padding:.25rem .35rem!important}.qpe-tf-td-blank{background:var(--accent-subtle, rgba(59, 130, 246, .06))}.qpe-tf-cell{display:flex;align-items:center;gap:.3rem}.qpe-tf-cell-input{flex:1;border:none;background:transparent;font-size:.85rem;font-family:inherit;color:var(--text-primary);padding:.25rem 0;outline:none;min-width:60px}.qpe-tf-cell-input::placeholder{color:var(--text-tertiary)}.qpe-tf-cell-input:focus{box-shadow:inset 0 -2px 0 var(--accent)}.qpe-tf-blank-toggle{border:1px solid var(--edge-light);background:var(--bg-secondary);color:var(--text-tertiary);font-size:.65rem;font-family:inherit;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.15rem .4rem;border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap;transition:all var(--transition);flex-shrink:0}.qpe-tf-blank-toggle:hover{border-color:var(--accent);color:var(--accent)}.qpe-tf-blank-active{background:var(--accent);color:#fff;border-color:var(--accent)}.qpe-tf-blank-active:hover{background:var(--accent-hover, var(--accent));color:#fff}.qpe-tf-blank-label{font-size:.7rem;color:var(--accent);margin-top:.1rem}.qt-header{margin-bottom:1.25rem}.qt-question-info{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.qt-question-title{font-weight:600;color:var(--text-primary);font-size:.95rem}.qt-question-marks{background:var(--bg-surface-alt);padding:2px 10px;border-radius:var(--radius-xs);font-size:.85rem;color:var(--text-secondary)}.qt-question-area{background:var(--bg-surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.25rem}.qt-actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.qt-results{margin-top:.5rem}.qt-results h2{font-size:1.15rem;margin-bottom:1rem}.qt-part-result{background:var(--bg-surface);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.75rem;box-shadow:var(--shadow-sm)}.qt-part-result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.qt-part-label{font-weight:600;font-size:.95rem}.qt-selfassess-badge{font-size:.8rem;font-weight:600;color:var(--color-partial);background:var(--color-partial-bg);padding:2px 8px;border-radius:var(--radius-xs)}.qt-manual-notice{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;font-style:italic}.qt-manual-note{font-size:.85rem;color:var(--text-secondary);margin-top:.5rem}.ca-ms-ribbon{border-left:4px solid var(--color-partial);background:var(--color-partial-bg);border-radius:0 var(--radius-xs) var(--radius-xs) 0;padding:10px 14px;margin-top:12px;font-size:.85rem;line-height:1.55}.ca-ms-ribbon-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#92400e;margin-bottom:4px}.ca-ms-ribbon-list{list-style:none;padding:0;margin:0}.ca-ms-ribbon-list li{margin-bottom:3px}.ca-ms-ribbon-marks{font-weight:700;color:#b45309;margin-right:6px}.ca-score-full{color:var(--color-correct)}.ca-score-partial{color:var(--color-partial)}.ca-score-zero{color:var(--color-incorrect)}.qr-page{max-width:860px}.qr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.qr-header h1{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0}.qr-header-controls{display:flex;align-items:center;gap:.75rem}.qr-sort-select{font-size:.8rem;padding:4px 8px;border:1px solid var(--border-light);border-radius:var(--radius-xs);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.qr-counter{font-size:.8rem;font-weight:600;color:var(--text-secondary);background:var(--bg-surface-alt);padding:4px 12px;border-radius:var(--radius-xs)}.qr-loading{color:var(--text-tertiary);padding:2rem 0;font-size:.9rem}.qr-error{background:var(--color-incorrect-bg);color:var(--color-incorrect);border:1px solid var(--color-incorrect-border);border-radius:var(--radius-xs);padding:10px 14px;font-size:.85rem;margin-bottom:1rem}.qr-meta-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--edge);border-radius:var(--radius);margin-bottom:1rem}.qr-meta-title{font-weight:600;font-size:.95rem;color:var(--text-primary);margin-right:auto}.qr-meta-tags{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.qr-meta-tag{font-size:.78rem;color:var(--text-secondary);background:var(--bg-surface-alt);padding:2px 8px;border-radius:var(--radius-xs)}.qr-meta-marks{font-size:.78rem;color:var(--text-secondary);font-weight:500}.qr-meta-actions{display:flex;gap:.5rem}.qr-meta-link{font-size:.8rem;font-weight:500;color:var(--accent-blue);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);transition:background .15s}.qr-meta-link:hover{background:var(--bg-surface-alt)}.qr-preview-container{background:var(--bg-surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1rem;border:1px solid var(--edge)}.qr-flag-form{background:var(--bg-surface);border:1px solid var(--edge);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.qr-flag-field{display:flex;flex-direction:column;gap:4px}.qr-flag-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.qr-required{color:var(--color-incorrect)}.qr-flag-select{padding:8px 10px;border:1px solid var(--edge);border-radius:var(--radius-xs);font-family:inherit;font-size:.85rem;background:var(--bg-body);color:var(--text-primary);max-width:320px}.qr-flag-textarea{padding:8px 10px;border:1px solid var(--edge);border-radius:var(--radius-xs);font-family:inherit;font-size:.85rem;background:var(--bg-body);color:var(--text-primary);resize:vertical}.qr-actions{display:flex;gap:.75rem;align-items:center;padding-top:.25rem}.qr-btn-approve,.qr-btn-flag,.qr-btn-delete,.qr-btn-skip,.qr-btn-cancel,.qr-btn-back{display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border-radius:6px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.qr-btn-approve{background:#16a34a;color:#fff;margin-left:auto}.qr-btn-approve:hover:not(:disabled){background:#15803d}.qr-btn-flag{background:#f59e0b;color:#fff}.qr-btn-flag:hover:not(:disabled){background:#d97706}.qr-btn-delete{background:var(--color-incorrect-bg);color:var(--color-incorrect);border:1px solid var(--color-incorrect-border)}.qr-btn-delete:hover:not(:disabled){background:var(--color-incorrect);color:#fff}.qr-btn-skip{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--edge);font-weight:500}.qr-btn-skip:hover:not(:disabled){background:var(--bg-surface-alt);color:var(--text-primary)}.qr-btn-cancel{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--edge);font-weight:500}.qr-btn-cancel:hover:not(:disabled){background:var(--bg-surface-alt)}.qr-btn-back{background:var(--accent-blue);color:#fff}.qr-btn-back:hover{background:var(--accent-blue-hover)}.qr-btn-approve:disabled,.qr-btn-flag:disabled,.qr-btn-delete:disabled,.qr-btn-skip:disabled,.qr-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.qr-empty{text-align:center;padding:4rem 2rem}.qr-empty-icon{font-size:3rem;color:var(--color-correct);margin-bottom:.75rem}.qr-empty h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.qr-empty p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}[data-theme=dark] .qr-flag-form{background:var(--bg-surface)}[data-theme=dark] .ca-badge-status-needs_fixes{background:#451a1a;color:#fca5a5}.admin-layout .btn,.qb-preview-overlay .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:6px;font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid var(--edge);background:var(--bg-surface);color:var(--text-secondary);line-height:1.4}.admin-layout .btn:hover:not(:disabled),.qb-preview-overlay .btn:hover:not(:disabled){background:var(--bg-surface-alt);color:var(--text-primary)}.admin-layout .btn:disabled,.qb-preview-overlay .btn:disabled{opacity:.5;cursor:not-allowed}.admin-layout .btn-primary,.admin-layout .btn.btn-primary,.qb-preview-overlay .btn-primary,.qb-preview-overlay .btn.btn-primary{background:var(--accent-blue);color:#fff;border:none;padding:9px 18px;border-radius:6px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease}.admin-layout .btn-primary:hover:not(:disabled),.admin-layout .btn.btn-primary:hover:not(:disabled),.qb-preview-overlay .btn-primary:hover:not(:disabled),.qb-preview-overlay .btn.btn-primary:hover:not(:disabled){background:var(--accent-blue-hover)}.admin-layout .btn-primary:disabled,.admin-layout .btn.btn-primary:disabled,.qb-preview-overlay .btn-primary:disabled,.qb-preview-overlay .btn.btn-primary:disabled{opacity:.5;cursor:not-allowed}.admin-layout .btn-secondary,.admin-layout .btn.btn-secondary,.qb-preview-overlay .btn-secondary,.qb-preview-overlay .btn.btn-secondary{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--edge);padding:9px 18px;border-radius:6px;font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.admin-layout .btn-secondary:hover:not(:disabled),.admin-layout .btn.btn-secondary:hover:not(:disabled),.qb-preview-overlay .btn-secondary:hover:not(:disabled),.qb-preview-overlay .btn.btn-secondary:hover:not(:disabled){background:var(--bg-surface-alt);color:var(--text-primary)}.admin-layout .btn-danger,.admin-layout .btn.btn-danger,.qb-preview-overlay .btn-danger,.qb-preview-overlay .btn.btn-danger{background:var(--color-incorrect-bg);color:var(--color-incorrect);border:1px solid var(--color-incorrect-border);padding:9px 18px;border-radius:6px;font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.admin-layout .btn-danger:hover:not(:disabled),.admin-layout .btn.btn-danger:hover:not(:disabled),.qb-preview-overlay .btn-danger:hover:not(:disabled),.qb-preview-overlay .btn.btn-danger:hover:not(:disabled){background:var(--color-incorrect);color:#fff}.admin-layout .btn-link,.admin-layout .btn.btn-link,.qb-preview-overlay .btn-link,.qb-preview-overlay .btn.btn-link{background:none;border:none;color:var(--accent-blue);padding:4px 0;font-size:.85rem;font-weight:500;cursor:pointer;text-decoration:none}.admin-layout .btn-link:hover,.admin-layout .btn.btn-link:hover,.qb-preview-overlay .btn-link:hover,.qb-preview-overlay .btn.btn-link:hover{text-decoration:underline}.admin-layout .btn-sm,.admin-layout .btn.btn-sm,.qb-preview-overlay .btn-sm,.qb-preview-overlay .btn.btn-sm{padding:6px 12px;font-size:.8rem}.admin-layout .btn-xs,.admin-layout .btn.btn-xs,.qb-preview-overlay .btn-xs,.qb-preview-overlay .btn.btn-xs{padding:4px 8px;font-size:.75rem}.qpe-input,.qpe-select{width:100%;padding:8px 12px;border:1px solid var(--edge);border-radius:var(--radius-xs);font-family:inherit;font-size:.9rem;background:var(--bg-input);color:var(--text-primary);transition:border-color var(--transition)}.qpe-input:focus,.qpe-select:focus{outline:none;border-color:var(--accent);background:var(--bg-input-focus)}.qpe-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.qpe-textarea{width:100%;padding:8px 12px;border:1px solid var(--edge);border-radius:var(--radius-xs);font-family:inherit;font-size:.9rem;background:var(--bg-input);color:var(--text-primary);resize:vertical;min-height:80px;transition:border-color var(--transition)}.qpe-textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-input-focus)}.qb-visible-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:3px;margin-left:4px}.qb-visible-badge-pp{background:#dbeafe;color:#1e40af}.qb-visible-badge-ca{background:#fef3c7;color:#92400e}.qb-status-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:var(--radius-xs)}.qb-status-draft{background:var(--bg-surface-alt);color:var(--text-tertiary)}.qb-status-in_review{background:var(--color-warning-bg);color:#92400e}.qb-status-published{background:var(--color-correct-bg);color:#15803d}.qe-metadata-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.qe-checkbox-group{display:flex;gap:16px;flex-wrap:wrap}.qe-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.qe-checkbox-label input[type=checkbox]{accent-color:var(--accent)}.img-lib-backdrop{position:fixed;inset:0;z-index:499;background:#00000040}.img-lib-panel{position:fixed;top:0;right:0;width:340px;height:100vh;z-index:500;background:var(--bg-surface);border-left:1px solid var(--border-subtle);box-shadow:-6px 0 24px #0000002e;display:flex;flex-direction:column;overflow:hidden}.img-lib-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 13px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.img-lib-title{font-weight:700;font-size:1rem;color:var(--text-primary)}.img-lib-close{background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--text-secondary);padding:0 2px;display:flex;align-items:center}.img-lib-close:hover{color:var(--text-primary)}.img-lib-search-wrap{position:relative;padding:10px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.img-lib-search{width:100%;padding:7px 30px 7px 10px;border:1px solid var(--border-subtle);border-radius:6px;font-size:.88rem;background:var(--bg-base);color:var(--text-primary);box-sizing:border-box}.img-lib-search:focus{outline:none;border-color:var(--accent)}.img-lib-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:1.1rem;line-height:1;padding:2px 4px}.img-lib-clear:hover{color:var(--text-primary)}.img-lib-count{padding:5px 14px 4px;font-size:.75rem;color:var(--text-tertiary);flex-shrink:0}.img-lib-grid{flex:1;overflow-y:auto;padding:8px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;align-content:start}.img-lib-status{grid-column:1 / -1;padding:28px 16px;text-align:center;font-size:.88rem;color:var(--text-secondary)}.img-lib-error{color:var(--danger, #e53e3e)}.img-lib-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 6px 6px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-base);cursor:pointer;transition:border-color .13s,background .13s,box-shadow .13s;text-align:center;width:100%}.img-lib-item:hover{border-color:var(--accent);background:var(--accent-subtle);box-shadow:0 1px 6px #00000014}.img-lib-thumb{width:100%;height:76px;object-fit:contain;border-radius:4px}.img-lib-name{font-size:.65rem;color:var(--text-secondary);word-break:break-all;line-height:1.3;max-height:2.6em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.img-lib-tags{display:flex;flex-wrap:wrap;gap:2px;margin-top:3px}.img-lib-tag{font-size:.55rem;color:var(--text-secondary);background:var(--bg-subtle, rgba(0,0,0,.06));border-radius:3px;padding:1px 4px;line-height:1.4;white-space:nowrap}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;padding:12px 16px;gap:8px;overflow-x:auto}.admin-sidebar-title{margin-bottom:0;margin-right:12px;white-space:nowrap}.admin-sidebar-nav{flex-direction:row;gap:4px}.admin-back-btn{margin-top:0;margin-left:auto}.admin-content{padding:20px 16px}.qb-filters-row{flex-direction:column}.qb-filter-difficulty,.qb-filter-status{width:100%}.qe-metadata-grid{grid-template-columns:1fr}}.landing-cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.landing-exam-btn{background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--edge)}.landing-exam-btn:hover{background:var(--bg-surface-alt);transform:translate(2px,2px);box-shadow:none}.exam-config{max-width:600px;margin:2rem auto;padding:0 1rem}.exam-config-title{font-size:1.8rem;font-weight:800;margin-bottom:.25rem}.exam-config-subtitle{color:var(--text-secondary);margin-bottom:1.5rem}.exam-config-resume{background:var(--accent-blue-muted);border:1.5px solid var(--accent-blue);border-radius:var(--press-radius);padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.exam-config-resume-info{display:flex;flex-direction:column;gap:.2rem}.exam-config-resume-info strong{font-size:1rem}.exam-config-resume-time{font-size:.85rem;color:var(--text-secondary)}.exam-config-resume-actions{display:flex;gap:.5rem}.exam-config-resume-btn{font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow-sm);cursor:pointer;transition:transform .12s,box-shadow .12s}.exam-config-resume-btn:hover{transform:translate(2px,2px);box-shadow:none}.exam-config-abandon-btn{font-size:.9rem;font-weight:600;padding:.5rem 1rem;background:var(--bg-surface);color:var(--color-incorrect-text);border:1.5px solid var(--color-incorrect-border);border-radius:var(--press-radius-sm);cursor:pointer;transition:background .15s}.exam-config-abandon-btn:hover{background:var(--color-incorrect-bg)}.exam-config-toggles{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.exam-config-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.exam-config-toggle-label{font-weight:600;font-size:.95rem;color:var(--text-primary)}.exam-config-summary{background:var(--bg-surface);border:1.5px solid var(--border-card);border-radius:var(--press-radius);padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.exam-config-summary-item{display:flex;justify-content:space-between;font-size:.9rem}.exam-config-summary-label{color:var(--text-secondary)}.exam-config-summary-value{font-weight:600}.exam-config-error{color:var(--color-incorrect-text);font-size:.9rem;margin-bottom:1rem}.exam-config-build-btn{width:100%;font-size:1.1rem;font-weight:700;padding:.85rem;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid var(--edge);border-radius:var(--press-radius);box-shadow:var(--press-shadow-sm);cursor:pointer;transition:transform .12s,box-shadow .12s,background .15s;margin-bottom:.75rem}.exam-config-build-btn:hover{background:var(--accent-blue-hover);transform:translate(2px,2px);box-shadow:none}.exam-config-build-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:var(--press-shadow-sm)}.exam-config-back-btn{width:100%;font-size:.95rem;font-weight:600;padding:.7rem;background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border-card);border-radius:var(--press-radius);cursor:pointer;transition:background .15s}.exam-config-back-btn:hover{background:var(--bg-surface-alt)}.exam-config-history{margin-top:2rem;padding-top:1.5rem;border-top:1.5px solid var(--border-card)}.exam-config-history-title{font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.exam-config-history-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.exam-config-history-card{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-surface);border:1.5px solid var(--edge);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow-sm);cursor:pointer;text-align:left;font:inherit;color:var(--text-primary);transition:transform .12s,box-shadow .12s}.exam-config-history-card:hover{transform:translate(2px,2px);box-shadow:none}.exam-config-history-card-type{font-weight:600;font-size:.9rem}.exam-config-history-card-score{font-size:.85rem;font-weight:600}.exam-config-history-card-grade{font-size:.85rem;font-weight:700;color:var(--accent-blue)}.exam-config-history-card-date{font-size:.8rem;color:var(--text-secondary)}@media(max-width:600px){.exam-config-history-card{grid-template-columns:1fr 1fr}}body:has(.exam-session){max-width:none;padding:0;margin:0}.exam-session{position:relative;min-height:100vh;padding-top:3rem}.exam-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:.75rem;background:var(--bg-surface);border-bottom:1.5px solid var(--border-card);padding:.5rem 1rem}.exam-nav-exit{font-size:.85rem;font-weight:600;padding:.35rem .85rem;background:var(--bg-surface);color:var(--text-secondary);border:1.5px solid var(--border-card);border-radius:var(--press-radius-sm);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.exam-nav-exit:hover{color:var(--text-on-accent);border-color:var(--accent-blue);background:var(--accent-blue)}.exam-nav-pills{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex:1;padding:.25rem 0}.exam-nav-pills::-webkit-scrollbar{display:none}.exam-nav-pill{min-width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;border-radius:8px;border:1.5px solid var(--border-card);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.exam-nav-pill:hover:not(:disabled):not(.exam-nav-pill--current){background:var(--bg-surface-alt);color:var(--text-primary)}.exam-nav-pill--current{background:var(--accent-blue);color:var(--text-on-accent);border-color:var(--edge)}.exam-nav-pill--answered{background:var(--accent-blue-muted);color:var(--accent-blue);border-color:var(--accent-blue)}.exam-nav-pill--full{background:var(--color-correct-bg);color:var(--color-correct-text);border-color:var(--color-correct-bg);opacity:.7}.exam-nav-pill--partial{background:var(--color-partial-bg);color:var(--color-partial-text);border-color:var(--color-partial-bg);opacity:.7}.exam-nav-pill--zero{background:var(--color-incorrect-bg);color:var(--color-incorrect-text);border-color:var(--color-incorrect-bg);opacity:.7}.exam-nav-pill--full:hover:not(.exam-nav-pill--current),.exam-nav-pill--partial:hover:not(.exam-nav-pill--current),.exam-nav-pill--zero:hover:not(.exam-nav-pill--current){opacity:1}.exam-nav-pill--full.exam-nav-pill--current,.exam-nav-pill--partial.exam-nav-pill--current,.exam-nav-pill--zero.exam-nav-pill--current{opacity:1;background:var(--accent-blue);color:var(--text-on-accent);border-color:var(--accent-blue)}.exam-nav-pill:disabled{opacity:.5;cursor:default}.exam-timer{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);flex-shrink:0;min-width:4.5rem;text-align:right}.exam-timer--warning{color:var(--color-partial)}.exam-timer--danger{color:var(--color-incorrect);animation:timer-pulse 1s ease-in-out infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.5}}.exam-nav-theme{font-size:1.1rem;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.25rem;flex-shrink:0;line-height:1}.exam-nav-theme:hover{color:var(--text-primary)}.exam-nav-review-btns{display:flex;gap:.35rem;flex-shrink:0}.exam-nav-review-btn{padding:.25rem .7rem;font-size:.8rem;font-weight:600;border-radius:6px;border:1.5px solid var(--edge);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:background .15s,border-color .15s}.exam-nav-review-btn:hover:not(:disabled){background:var(--bg-surface-alt);border-color:var(--text-secondary)}.exam-nav-review-btn:disabled{opacity:.35;cursor:default}.exam-question-wrapper{max-width:920px;margin:0 auto;padding:1rem 1rem 2rem}.exam-question-wrapper.has-figure-sidebar{display:grid;grid-template-columns:1fr;gap:1rem}.exam-question-wrapper .figure-sidebar{position:sticky;top:4rem;max-height:calc(100vh - 5rem)}.exam-question-content{min-width:0}.exam-question-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1.5px solid var(--border-subtle)}.exam-question-title{font-size:1.3rem;font-weight:700;margin:0}.exam-question-marks{font-size:.85rem;font-weight:600;color:var(--text-secondary);background:var(--bg-surface-alt);padding:.15rem .6rem;border-radius:8px}.exam-question-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1.5px solid var(--border-subtle)}.exam-question-nav-btn{font-size:.95rem;font-weight:600;padding:.6rem 1.5rem;background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border-card);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow-sm);cursor:pointer;transition:transform .12s,box-shadow .12s,background .15s}.exam-question-nav-btn:hover:not(:disabled){background:var(--bg-surface-alt);transform:translate(2px,2px);box-shadow:none}.exam-question-nav-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:var(--press-shadow-sm)}.exam-question-nav-btn--submit{background:var(--accent-blue);color:var(--text-on-accent);border-color:var(--edge)}.exam-question-nav-btn--submit:hover:not(:disabled){background:var(--accent-blue-hover)}.exam-submit{max-width:700px;margin:2rem auto;padding:0 1rem}.exam-submit-title{font-size:1.5rem;font-weight:800;margin-bottom:.25rem}.exam-submit-subtitle{color:var(--text-secondary);margin-bottom:1rem}.exam-submit-warning{background:var(--color-partial-bg);color:var(--color-partial-text);border:1.5px solid var(--color-partial-border);border-radius:var(--press-radius-sm);padding:.6rem 1rem;font-size:.9rem;font-weight:600;margin-bottom:1rem}.exam-submit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-bottom:1.5rem}.exam-submit-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.65rem .5rem;background:var(--bg-surface);border:1.5px solid var(--border-card);border-radius:var(--press-radius-sm);box-shadow:var(--press-shadow-sm);cursor:pointer;transition:transform .12s,box-shadow .12s}.exam-submit-item:hover{transform:translate(2px,2px);box-shadow:none}.exam-submit-item--complete{border-color:var(--color-correct-border);background:var(--color-correct-bg)}.exam-submit-item--partial{border-color:var(--color-partial-border);background:var(--color-partial-bg)}.exam-submit-item--incomplete{border-color:var(--color-incorrect-border);background:var(--color-incorrect-bg)}.exam-submit-item-number{font-size:1.1rem;font-weight:700}.exam-submit-item-status{font-size:.75rem;font-weight:400;color:var(--text-secondary)}.exam-submit-item-marks{font-size:.7rem;color:var(--text-tertiary)}.exam-submit-mark-btn{width:100%;font-size:1.1rem;font-weight:700;padding:.85rem;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid var(--edge);border-radius:999px;box-shadow:var(--press-shadow-sm);cursor:pointer;transition:transform .12s,box-shadow .12s,background .15s}.exam-submit-mark-btn:hover{background:var(--accent-blue-hover);transform:translate(2px,2px);box-shadow:none}.exam-results{max-width:700px;margin:2rem auto;padding:0 1rem 3rem}.exam-results-heading{font-size:1.8rem;font-weight:800;margin-bottom:.25rem}.exam-results-paper-label{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.exam-results-score-hero{background:var(--bg-surface);border:1.5px solid var(--border-card);border-radius:var(--press-radius);box-shadow:var(--press-shadow-card);padding:1.5rem 1.5rem 1.25rem;text-align:center;margin-bottom:1rem}.exam-results-score-value{font-size:2.4rem;font-weight:800;letter-spacing:-.02em}.exam-results-score-pct{font-size:1.2rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.exam-results-grade-inline{display:flex;align-items:center;justify-content:center;gap:.6rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.exam-results-grade-label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.exam-results-grade-value{font-size:1.8rem;font-weight:800;color:var(--accent-blue);background:var(--accent-blue-muted);width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--accent-blue)}.exam-results-disclaimer{font-size:.8rem;color:var(--text-tertiary);font-style:italic;margin-bottom:1.5rem;text-align:center}.exam-results-boundaries,.exam-results-breakdown{margin-bottom:1.5rem}.exam-results-boundaries h3,.exam-results-breakdown h3{font-size:1rem;font-weight:700;margin-bottom:.5rem}.exam-results-boundaries-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--bg-surface);border-radius:var(--press-radius-sm);overflow:hidden;border:1px solid var(--border-card)}[data-theme=dark] .exam-results-boundaries-table{background:var(--bg-surface)}.exam-results-boundaries-table th{text-align:left;padding:.5rem .75rem;background:var(--bg-surface-alt);border-bottom:1.5px solid var(--border-default);font-weight:600;color:var(--text-secondary)}.exam-results-boundaries-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-subtle)}.exam-results-boundary--active{background:var(--accent-blue-muted);font-weight:700}.exam-results-boundary--active td{border-color:var(--accent-blue)}.exam-results-breakdown-hint{font-size:.8rem;color:var(--text-tertiary);margin-bottom:.5rem}.exam-results-breakdown-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--bg-surface);border-radius:var(--press-radius-sm);overflow:hidden;border:1px solid var(--border-card)}[data-theme=dark] .exam-results-breakdown-table{background:var(--bg-surface)}.exam-results-breakdown-table th{text-align:left;padding:.5rem .75rem;background:var(--bg-surface-alt);border-bottom:1.5px solid var(--border-default);font-weight:600;color:var(--text-secondary)}.exam-results-breakdown-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-subtle)}.exam-results-breakdown-row{cursor:pointer;transition:background .12s}.exam-results-breakdown-row:hover{background:var(--bg-surface-alt)}.exam-results-breakdown-row--full td:nth-child(3){color:var(--color-success, #22c55e);font-weight:700}.exam-results-breakdown-row--zero td:nth-child(3){color:var(--color-danger, #ef4444);font-weight:700}.exam-results-breakdown-row--partial td:nth-child(3){color:var(--color-warning, #f59e0b);font-weight:600}.exam-results-done-btn{width:100%;font-size:1.05rem;font-weight:700;padding:.8rem;background:var(--accent-blue);color:var(--text-on-accent);border:1.5px solid var(--edge);border-radius:var(--press-radius);box-shadow:var(--press-shadow-sm);cursor:pointer;transition:transform .12s,box-shadow .12s,background .15s;margin-top:1rem}.exam-results-done-btn:hover{background:var(--accent-blue-hover);transform:translate(2px,2px);box-shadow:none}.exam-review-score-badge{font-size:.9rem;font-weight:700;padding:.2rem .6rem;border-radius:6px}.exam-review-score-badge.full{background:var(--color-correct-bg);color:var(--color-correct-text)}.exam-review-score-badge.partial{background:var(--color-partial-bg);color:var(--color-partial-text)}.exam-review-score-badge.zero{background:var(--color-incorrect-bg);color:var(--color-incorrect-text)}.exam-review-part{margin-bottom:.5rem}.exam-review-part-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.exam-review-part-label{font-weight:700;font-size:.95rem}.exam-review-part-score{font-size:.8rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.exam-review-part-score.full{background:#22c55e26;color:var(--color-success, #22c55e)}.exam-review-part-score.zero{background:#ef444426;color:var(--color-danger, #ef4444)}.exam-review-part-score.partial{background:#f59e0b26;color:var(--color-warning, #f59e0b)}.exam-review-q-text{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.5}.exam-review-answer-section{margin-bottom:.75rem}.exam-review-answer-label{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.exam-review-answer-text{font-size:.9rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap;word-wrap:break-word;background:var(--bg-surface-alt);border-radius:6px;padding:.6rem .75rem;border:1px solid var(--border-subtle)}.exam-review-no-answer{color:var(--text-tertiary);font-style:italic}.exam-review-divider{border:none;border-top:1px solid var(--border-subtle);margin:1rem 0}.exam-review-options{display:flex;flex-direction:column;gap:.3rem}.exam-review-opt{display:flex;align-items:center;gap:.4rem;font-size:.88rem;padding:.35rem .6rem;border-radius:6px;border:1px solid transparent}.exam-review-opt.correct{background:#22c55e1a;border-color:#22c55e4d}.exam-review-opt.incorrect{background:#ef44441a;border-color:#ef44444d}.exam-review-opt.was-correct{background:#22c55e0d;border-color:#22c55e26;color:var(--text-secondary)}.exam-review-opt-letter{font-weight:700;min-width:1.2rem}.exam-review-badge{margin-left:auto;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:999px}.exam-review-badge.correct{background:var(--color-success, #22c55e);color:#fff}.exam-review-badge.incorrect{background:var(--color-danger, #ef4444);color:#fff}.exam-review-badge.missed{background:var(--text-tertiary);color:#fff}.exam-review-short{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.9rem}.exam-review-short-val{font-weight:600;padding:.2rem .5rem;border-radius:4px}.exam-review-short-val.correct{background:#22c55e26;color:var(--color-success, #22c55e)}.exam-review-short-val.incorrect{background:#ef444426;color:var(--color-danger, #ef4444);text-decoration:line-through}.exam-review-correct-ans{font-size:.82rem;color:var(--color-success, #22c55e);font-weight:600}.exam-review-misspelt{font-size:.75rem;color:var(--text-tertiary);font-style:italic}.exam-review-gaps{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem}.exam-review-gap-item{display:flex;align-items:center;gap:.4rem}.exam-review-gap-num{font-weight:600;color:var(--text-secondary);min-width:3.5rem}.exam-review-gap-val{font-weight:600}.exam-review-gap-item.correct .exam-review-gap-val{color:var(--color-success, #22c55e)}.exam-review-gap-item.incorrect .exam-review-gap-val{color:var(--color-danger, #ef4444);text-decoration:line-through}.exam-review-calc{font-size:.9rem;display:flex;flex-direction:column;gap:.35rem}.exam-review-calc-row{display:flex;gap:.5rem;align-items:baseline}.exam-review-calc-label{font-weight:600;color:var(--text-secondary);min-width:5rem;flex-shrink:0;font-size:.82rem}.exam-review-calc-row .correct{color:var(--color-success, #22c55e);font-weight:700}.exam-review-calc-row .incorrect{color:var(--color-danger, #ef4444);font-weight:700}.exam-review-explanation{margin-top:.5rem}.exam-review-tbt{width:100%;border-collapse:collapse;font-size:.85rem;border:1px solid var(--border-subtle);border-radius:4px;overflow:hidden}.exam-review-tbt th{background:var(--bg-surface-alt);padding:.35rem .5rem;font-weight:600;text-align:center;border-bottom:1px solid var(--border-default)}.exam-review-tbt th:first-child{text-align:left}.exam-review-tbt td{padding:.35rem .5rem;border-bottom:1px solid var(--border-subtle);text-align:center}.exam-review-tbt td:first-child{text-align:left}.exam-review-tbt td.selected{font-weight:700}.exam-review-tbt tr.correct td:first-child{border-left:3px solid var(--color-success, #22c55e)}.exam-review-tbt tr.incorrect td:first-child{border-left:3px solid var(--color-danger, #ef4444)}.exam-review-tbt td.correct{color:var(--color-success, #22c55e);font-weight:700}.exam-review-tbt td.incorrect{color:var(--color-danger, #ef4444);font-weight:700}.exam-review-tbt-missed{color:var(--text-tertiary);font-size:.8em}.exam-review-matchup{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem}.exam-review-matchup-row{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;border-radius:4px}.exam-review-matchup-row.correct{background:#22c55e14}.exam-review-matchup-row.incorrect{background:#ef444414}.exam-review-matchup-arrow{color:var(--text-tertiary);margin:0 .25rem}.exam-review-matchup-indicator{margin-left:auto;font-weight:700}.exam-review-matchup-row.correct .exam-review-matchup-indicator{color:var(--color-success, #22c55e)}.exam-review-matchup-row.incorrect .exam-review-matchup-indicator{color:var(--color-danger, #ef4444)}.exam-review-ms{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-subtle)}.exam-review-ms-label{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.exam-review-ms-point{display:flex;align-items:flex-start;gap:.4rem;font-size:.85rem;padding:.25rem 0;line-height:1.4}.exam-review-ms-icon{flex-shrink:0;width:1.2rem;text-align:center;font-weight:700;font-size:.9rem}.exam-review-ms-point.awarded .exam-review-ms-icon{color:var(--color-success, #22c55e)}.exam-review-ms-point.denied .exam-review-ms-icon{color:var(--color-danger, #ef4444)}.exam-review-ms-text{color:var(--text-secondary)}.exam-dev-panel{position:fixed;bottom:1rem;right:1rem;z-index:200;font-size:.75rem;font-family:SF Mono,Fira Code,monospace}.exam-dev-toggle{background:#000000bf;color:#0f0;border:1px solid #0f0;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-family:inherit;cursor:pointer;letter-spacing:.05em}.exam-dev-panel.open .exam-dev-toggle{border-radius:4px 4px 0 0;width:100%;text-align:left}.exam-dev-body{background:#000000d9;color:#ccc;border:1px solid #0f0;border-top:none;border-radius:0 0 4px 4px;padding:.5rem;min-width:220px;display:flex;flex-direction:column;gap:.5rem}.exam-dev-info{display:flex;gap:.75rem;flex-wrap:wrap;color:#aaa}.exam-dev-info strong{color:#0f0}.exam-dev-section{border-top:1px solid #333;padding-top:.4rem}.exam-dev-label{color:#888;margin-bottom:.25rem}.exam-dev-body input[type=range]{width:100%;accent-color:#0f0}.exam-dev-btn-row{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.25rem}.exam-dev-btn-row button{background:#00ff001a;color:#0f0;border:1px solid #0f04;border-radius:3px;padding:.2rem .4rem;font-size:.65rem;font-family:inherit;cursor:pointer}.exam-dev-btn-row button:hover{background:#00ff0040}@media(max-width:600px){.exam-config-resume{flex-direction:column;align-items:flex-start}.exam-submit-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.exam-results-score-value{font-size:1.6rem}.exam-results-grade-value{font-size:1.4rem;width:2.25rem;height:2.25rem}.exam-review-calc-row{flex-direction:column;gap:.15rem}.exam-question-nav{flex-direction:column}.exam-question-nav-btn{width:100%;text-align:center}}@media(min-width:768px){.exam-question-wrapper.has-figure-sidebar{grid-template-columns:1fr 240px}}
