.main-content:has(#examScreen[style*="display: block"]){padding:0!important;overflow:hidden!important}#examScreen.exam-paper-view{height:100vh!important;max-height:100vh!important;min-height:100vh!important;margin:0!important;border-radius:0!important;border:none!important}body,html{height:100%;margin:0;padding:0}.container{display:flex;min-height:calc(100vh - 60px)}.main-content{flex:1;display:flex;flex-direction:column;min-height:0}.exam-paper-view{flex:1;min-height:0}.exam-paper-view .exam-paper-container{flex:1;display:flex;flex-direction:column;min-height:0}.exam-paper-view.fullscreen-mode{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:var(--background);z-index:9999;padding:0;margin:0;overflow:hidden}.exam-paper-view.fullscreen-mode .exam-paper-container{height:100vh;display:flex;flex-direction:column;padding:0;margin:0}.exam-paper-view.fullscreen-mode .exam-controls-bar{flex-shrink:0}.exam-paper-view.fullscreen-mode .split-view-container{flex:1;height:100%;min-height:0;padding:0 20px 20px;margin-top:0;display:grid;grid-template-columns:1fr 4px 1fr}.exam-paper-view.fullscreen-mode .split-panel{height:100%;min-height:0}.exam-paper-view.fullscreen-mode .question-content-paper h1{font-size:1.5rem;margin-top:.5rem;margin-bottom:1rem;color:var(--text-primary);font-weight:600}.exam-paper-view.fullscreen-mode .question-content-paper h2{font-size:1.25rem;margin-top:1rem;margin-bottom:.75rem;color:var(--text-primary);font-weight:600}.exam-paper-view.fullscreen-mode .question-content-paper h3{font-size:1.1rem;margin-top:.75rem;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500}.exam-paper-view.fullscreen-mode .question-content-paper ol,.exam-paper-view.fullscreen-mode .question-content-paper ul{margin-left:2.5rem;margin-top:.5rem;margin-bottom:1rem;padding-left:.5rem}.exam-paper-view.fullscreen-mode .question-content-paper li{margin-bottom:.5rem;line-height:1.6;padding-left:.5rem}.exam-paper-view.fullscreen-mode~.navbar,.exam-paper-view.fullscreen-mode~.sidebar{display:none!important}#topicQuestionScreen{min-height:auto!important;padding-bottom:20px!important}#topicQuestionScreen .question-grid{margin-bottom:0!important}.exam-controls-bar{gap:16px}.controls-left{display:flex;align-items:center;gap:16px;flex:1}.exam-control-btn-icon{padding:0;width:32px;height:32px;background:var(--surface-variant);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.exam-control-btn-icon:hover{background:var(--surface);transform:translateY(-1px)}.exam-control-btn-icon .material-symbols-outlined{font-size:18px;transform:translateY(-1px);color:var(--text-primary)}#fullscreenToggle .material-symbols-outlined{font-family:Material Symbols Outlined!important;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20!important}.font-size-controls{display:flex;align-items:center;gap:4px;padding:4px;background:var(--surface-variant);border:1px solid var(--border);border-radius:6px}.font-size-controls .exam-control-btn-icon{padding:0;width:32px;height:24px;border:none;background:transparent;color:var(--text-primary)}.font-size-controls .exam-control-btn-icon:hover{background:var(--surface);transform:none}.font-size-controls .material-symbols-outlined{font-size:18px;transform:translateY(-1px)}.split-view-container{display:grid;grid-template-columns:1fr 4px 1fr;gap:16px;flex:1;margin-top:16px;padding:0 16px;min-height:0}.resizer{grid-column:2;width:4px;background:var(--border);cursor:col-resize;transition:background .2s ease;z-index:10;position:relative}.resizer:hover{background:var(--primary-color)}.split-panel{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);box-shadow:0 2px 8px rgba(0,0,0,.1);height:100%;min-height:0}.split-panel .panel-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface-variant);border-bottom:1px solid var(--border);color:var(--text-primary)}.split-panel .panel-header .material-symbols-outlined{font-size:20px;color:var(--primary-color)}.split-panel .panel-header h3{margin:0;font-size:16px;font-weight:600}.split-panel.question-panel{overflow:hidden;display:flex;flex-direction:column}.split-panel.question-panel .question-paper-full{flex:1;overflow-y:auto;padding:20px;min-height:0}.split-panel.question-panel .question-content-paper{max-width:100%}.split-panel.question-panel .question-content-paper h1{font-size:1.5rem;margin-top:.5rem;margin-bottom:1rem;color:var(--text-primary);font-weight:600}.split-panel.question-panel .question-content-paper h2{font-size:1.25rem;margin-top:1rem;margin-bottom:.75rem;color:var(--text-primary);font-weight:600}.split-panel.question-panel .question-content-paper h3{font-size:1.1rem;margin-top:.75rem;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500}.split-panel.question-panel .question-content-paper ol,.split-panel.question-panel .question-content-paper ul{margin-left:2rem;padding-left:0;margin-top:.5rem;margin-bottom:1rem}.split-panel.question-panel .question-content-paper li{margin-bottom:.5rem;line-height:1.6}.split-panel.answer-panel{display:flex;flex-direction:column;overflow:hidden}.split-panel.answer-panel .answer-booklet-full{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding:0;min-height:0}.split-panel.answer-panel .lined-paper-container{flex:1;position:relative;min-height:100%;display:flex;flex-direction:column}.split-panel.answer-panel .lined-paper-textarea{flex:1;width:100%;min-height:100%;resize:none;border:none;padding:20px;font-family:Courier New,monospace;font-size:14px;line-height:24px;box-sizing:border-box}@media (max-width:1200px){.split-view-container{grid-template-columns:1fr;height:auto}.split-panel{min-height:400px}.split-panel.question-panel{max-height:50vh}.split-panel.answer-panel{min-height:60vh}}[data-theme=dark] .split-panel{background:#1e1e1e;border-color:#3c3c3c}[data-theme=dark] .exam-control-btn-icon,[data-theme=dark] .split-panel .panel-header{background:#2a2a2a;border-color:#3c3c3c}[data-theme=dark] .exam-control-btn-icon:hover{background:#333}.exam-paper-view .flip-panel{display:none!important}.exam-paper-view .split-view-container{display:grid!important}#resultsScreen{overflow-y:auto!important;height:100vh!important}#resultsScreen .results-container{max-height:none!important;overflow-y:visible!important;padding-bottom:60px}.submit-btn-inline{padding:6px 12px;background:linear-gradient(135deg,#4caf50,#388e3c);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;height:32px;box-shadow:0 1px 3px rgba(76,175,80,.3)}.submit-btn-inline:hover{background:linear-gradient(135deg,#388e3c,#2e7d32);box-shadow:0 2px 6px rgba(76,175,80,.4);transform:translateY(-1px)}.submit-btn-inline .material-symbols-outlined{font-size:18px;transform:translateY(-1px)}.score-badge{margin-top:.75rem}.score-pills-inline{display:flex;gap:.5rem}.score-pill-small{display:flex;flex-direction:column;align-items:center;padding:.5rem .75rem;border-radius:8px;background:var(--surface-variant);border:2px solid;transition:all .2s ease;min-width:60px;flex:1}.score-pill-small .pill-label-small{font-size:.625rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.score-pill-small .pill-value-small{font-size:.875rem;font-weight:700;white-space:nowrap;line-height:1}.score-pill-small.distinction{background:linear-gradient(135deg,rgba(156,39,176,.1),rgba(123,31,162,.15));border-color:#9c27b0}.score-pill-small.distinction .pill-value-small{color:#9c27b0}.score-pill-small.merit{background:linear-gradient(135deg,rgba(33,150,243,.1),rgba(25,118,210,.15));border-color:#2196f3}.score-pill-small.merit .pill-value-small{color:#2196f3}.score-pill-small.pass{background:linear-gradient(135deg,rgba(76,175,80,.1),rgba(56,142,60,.15));border-color:#4caf50}.score-pill-small.pass .pill-value-small{color:#4caf50}.score-pill-small.needs-work{background:linear-gradient(135deg,rgba(255,152,0,.1),rgba(245,124,0,.15));border-color:#ff9800}.score-pill-small.needs-work .pill-value-small{color:#ff9800}.not-attempted{font-size:12px;color:var(--text-secondary);font-style:italic}.paper2-completion-badge{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;background:#16a34a;border-radius:50%;z-index:15;display:flex;align-items:center;justify-content:center;pointer-events:none;border:none;outline:none;box-shadow:none}.paper2-completion-badge .material-symbols-outlined{color:#fff;font-size:1.5rem;font-variation-settings:"FILL" 1,"wght" 600}@keyframes completionPop{0%{transform:scale(0) rotate(-180deg);opacity:0}70%{transform:scale(1.1) rotate(10deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.question-card{overflow:visible}.question-card-header{justify-content:flex-start;margin-bottom:1.1rem;margin-top:-.5rem;min-height:28px;padding-right:60px}.question-badge{background:linear-gradient(135deg,#eae8f0,#d8d4e0);color:#2c3e50;width:48px;height:48px;border-radius:50%;font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:center;position:absolute;top:-8px;left:-8px;z-index:10;box-shadow:0 2px 8px rgba(138,99,210,.12)}[data-theme=dark] .question-badge{background:linear-gradient(135deg,#3a4a5c,#2c3e50);color:#e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.4)}.time-badge{background:var(--surface-variant);color:var(--text-secondary);font-weight:500;gap:.25rem;margin-left:.5rem}.category-pill,.time-badge{padding:.375rem .75rem;border-radius:14px;font-size:.7rem;height:28px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.category-pill{font-weight:600;margin-left:3.5rem;text-transform:uppercase;letter-spacing:.5px}.category-pill[data-category=Industry]{background:#607d8b;color:#fff}.category-pill{background:var(--surface-variant);color:var(--text-primary)}[data-category=Industry] .category-pill{background:#607d8b;color:#fff}[data-category=Transport] .category-pill{background:#1976d2;color:#fff}[data-category=Agriculture] .category-pill{background:#689f38;color:#fff}[data-category=Weather] .category-pill{background:#0288d1;color:#fff}[data-category=Gaming] .category-pill{background:#7b1fa2;color:#fff}[data-category=Lighting] .category-pill{background:#ffa726;color:#fff}[data-category=Science] .category-pill{background:#0097a7;color:#fff}[data-category=Medicine] .category-pill{background:#c62828;color:#fff}[data-category=Domestic] .category-pill{background:#5d4037;color:#fff}[data-category=Entertainment] .category-pill{background:#e91e63;color:#fff}[data-theme=dark] [data-category=Industry] .category-pill{background:#3a4a56;color:#e0e0e0}[data-theme=dark] [data-category=Transport] .category-pill{background:#153a5f;color:#b3d4fc}[data-theme=dark] [data-category=Agriculture] .category-pill{background:#3a5225;color:#c5e1a5}[data-theme=dark] [data-category=Weather] .category-pill{background:#144b66;color:#b3e5fc}[data-theme=dark] [data-category=Gaming] .category-pill{background:#451159;color:#e1bee7}[data-theme=dark] [data-category=Lighting] .category-pill{background:#8f5a18;color:#ffe0b2}[data-theme=dark] [data-category=Science] .category-pill{background:#004d57;color:#b2ebf2}[data-theme=dark] [data-category=Medicine] .category-pill{background:#6b1616;color:#ffcdd2}[data-theme=dark] [data-category=Domestic] .category-pill{background:#322823;color:#d7ccc8}[data-theme=dark] [data-category=Entertainment] .category-pill{background:#7f1139;color:#f8bbd0}.question-card h4{line-height:1.4;word-wrap:break-word}.container:has(#examScreen:not([style*="display: none"])),.container:has(#examScreen[style*="display: block"]){min-height:auto!important}.main-content:has(#examScreen:not([style*="display: none"])),.main-content:has(#examScreen[style*="display: block"]){overflow:hidden!important;padding:1rem 2rem!important}.exam-paper-view{padding:0;background:var(--background);height:calc(100vh - 73px - 4rem - 50px);max-height:calc(100vh - 73px - 4rem - 50px);min-height:auto;overflow:hidden;display:flex;flex-direction:column;margin:1rem 0 .5rem;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.1);border:1px solid var(--border)}#resultsScreen.exam-paper-view{height:auto;max-height:none;overflow:visible;margin:1rem 0}.exam-controls-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.75rem 1.5rem;background:var(--surface);border-bottom:2px solid var(--border);box-shadow:0 2px 8px var(--shadow);font-family:Google Sans,sans-serif;backdrop-filter:blur(10px);width:100%;flex-shrink:0}.exam-control-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface-variant);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.exam-control-btn:hover{background:var(--surface);border-color:var(--border);transform:translateY(-1px)}.timer-compact{font-family:SF Mono,Courier New,monospace;font-size:.9375rem;font-weight:700;color:var(--text-primary);padding:0 .75rem;background:var(--surface-variant);border-radius:6px;min-width:70px;height:32px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--border)}.timer-compact.warning{color:#ff6b6b;background:hsla(0,100%,71%,.15);border-color:hsla(0,100%,71%,.3)}.exam-actions{display:flex;align-items:center;gap:.5rem}.timer-btn{justify-content:center;width:36px;height:36px;background:transparent;border-radius:6px}.timer-btn:hover{background:var(--surface-variant)}.timer-btn .material-symbols-outlined{font-size:1.25rem}.rubric-btn-compact{display:flex;align-items:center;gap:.5rem;padding:6px 12px;background:var(--surface-variant);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;height:32px}.rubric-btn-compact:hover{background:var(--surface);transform:translateY(-1px)}.exam-paper-container{background:var(--background);height:100%;overflow-y:auto;padding-top:0;flex:1;display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none}.exam-paper-container::-webkit-scrollbar{display:none}.question-paper{background:#fff;border-bottom:2px solid #e0e0e0;overflow-y:visible;width:100%;min-height:auto;height:auto}[data-theme=dark] .question-paper{background:#1a1a1a;border-bottom-color:#333}.paper-header{border-bottom:2px solid #e0e0e0;padding:1rem 2rem;background:#fff}[data-theme=dark] .paper-header{background:#1a1a1a;border-bottom-color:#333}.question-content-paper{padding:1rem 2rem 2rem;font-family:Google Sans,sans-serif;font-size:.9375rem;line-height:1.8;color:#000}[data-theme=dark] .question-content-paper{color:#e0e0e0}.question-header-section{position:relative;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border)}.question-badge-large{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-color);color:#fff;padding:.5rem 1.25rem;border-radius:16px;font-size:.875rem;font-weight:600}.question-title-large{font-size:1.75rem;font-weight:700;margin:0;padding-right:200px;color:#000;line-height:1.3}[data-theme=dark] .question-title-large{color:#fff}.question-content-paper h1{font-size:1.125rem;font-weight:700;margin:.5rem 0 1rem;color:#000}[data-theme=dark] .question-content-paper h1{color:#fff}.question-content-paper h2{font-size:1rem;font-weight:700;margin:1.25rem 0 .75rem;color:#000}[data-theme=dark] .question-content-paper h2{color:#fff}.question-content-paper h3{font-size:.9375rem;font-weight:700;margin:1rem 0 .5rem;color:#000}[data-theme=dark] .question-content-paper h3{color:#fff}.question-content-paper hr{margin:2.5rem 0;border:none;border-top:1px solid #e0e0e0}[data-theme=dark] .question-content-paper hr{border-top-color:#333}.question-content-paper p{margin:.75rem 0;text-align:justify}.question-content-paper code{font-family:SF Mono,Courier New,monospace;font-size:.875rem;background:#f5f5f5;padding:.125rem .375rem;border-radius:3px}[data-theme=dark] .question-content-paper code{background:#2a2a2a}.question-content-paper ol,.question-content-paper ul{margin:.75rem 0;padding-left:2rem}.question-content-paper ol{list-style-type:decimal}.question-content-paper li{margin:.75rem 0;line-height:1.8}.question-content-paper li p{margin:.25rem 0}.question-content-paper ol ol,.question-content-paper ol ul,.question-content-paper ul ol,.question-content-paper ul ul{margin:.5rem 0;padding-left:1.5rem}.question-content-paper img{display:block;max-width:30%;height:auto;margin:1.5rem auto;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);background:transparent;padding:.5rem}[data-theme=dark] .question-content-paper img{mix-blend-mode:screen;box-shadow:0 2px 8px rgba(0,0,0,.3)}.answer-booklet{background:#fafafa;display:flex;flex-direction:column;overflow-y:auto;flex:1;width:100%}[data-theme=dark] .answer-booklet{background:#0f0f0f}.booklet-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e0e0e0}[data-theme=dark] .booklet-header{background:#1a1a1a;border-bottom-color:#333}.answer-type-selector,.type-option{display:flex;gap:.5rem}.type-option{align-items:center;padding:.5rem 1rem;background:#f5f5f5;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}[data-theme=dark] .type-option{background:#2a2a2a}.type-option:has(input:checked){background:var(--primary-color);color:#fff}.type-option input[type=radio]{margin:0}.lined-paper-container{position:relative;flex:1;background:#fff;padding:0 1.5rem 0 3rem;overflow:hidden;width:100%;height:100%}[data-theme=dark] .lined-paper-container{background:#1a1a1a}.lined-paper-textarea{width:100%;min-height:2400px;resize:vertical;border:none;outline:none;background:#fff;background-image:linear-gradient(180deg,transparent 16px,hsla(0,0%,88%,.2) 0,hsla(0,0%,88%,.2) 17px,transparent 0);background-size:100% 24px;background-position:0 0;background-attachment:local;font-family:SF Mono,Courier New,monospace;font-size:.875rem;line-height:24px;color:#000;padding:0;z-index:10;position:relative}[data-theme=dark] .lined-paper-textarea{color:#e0e0e0;background:#1a1a1a;background-image:linear-gradient(180deg,transparent 16px,hsla(0,0%,40%,.2) 0,hsla(0,0%,40%,.2) 17px,transparent 0);background-size:100% 24px;background-position:0 0;background-attachment:local}.lined-paper-textarea::placeholder{color:#999;font-style:italic}.paper-lines{display:none}.lined-paper-container:before{content:"";position:absolute;left:2.5rem;top:0;bottom:0;width:2px;background:#ffcdd2;z-index:5}[data-theme=dark] .lined-paper-container:before{background:#5d3a3a}.booklet-footer{padding:1.5rem;background:#fff;border-top:1px solid #e0e0e0;text-align:center}[data-theme=dark] .booklet-footer{background:#1a1a1a;border-top-color:#333}.submit-container{padding:0 2rem;background:transparent;text-align:center;margin:0 2rem}.submit-btn-exam{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-family:Google Sans,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 3px 10px rgba(76,175,80,.3)}.submit-btn-exam:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(76,175,80,.4)}.submit-btn-exam .material-symbols-outlined{font-size:1.2rem}.test-autofill-toggle{gap:.5rem;padding:.5rem .875rem;background:linear-gradient(135deg,#ea4335,#c5221f);border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:600}.test-autofill-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(234,67,53,.3)}.test-autofill-toggle input[type=checkbox]{margin:0}.test-autofill-toggle .material-symbols-outlined{font-size:1rem}.view-flip-buttons{display:flex;gap:.5rem;background:hsla(0,0%,100%,.1);padding:.25rem;border-radius:8px;width:fit-content;position:relative}.view-flip-buttons:before{content:"";position:absolute;top:.25rem;left:.25rem;width:calc(50% - .375rem);height:calc(100% - .5rem);background:hsla(0,0%,100%,.2);border-radius:6px;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:0}.view-flip-buttons:has(#answerViewBtn.active):before{transform:translateX(calc(100% + .5rem))}.flip-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;border-radius:6px;color:hsla(0,0%,100%,.7);font-size:.875rem;font-weight:600;cursor:pointer;transition:color .2s;white-space:nowrap;min-width:110px;position:relative;z-index:1}.flip-btn.active,.flip-btn:hover{color:#fff}.flip-btn .material-symbols-outlined{font-size:1.125rem}.answer-type-compact{display:flex;gap:4px;background:var(--surface-variant);border:1px solid var(--border);padding:4px;border-radius:6px;height:32px;width:fit-content;position:relative}.answer-type-compact:before{content:"";position:absolute;top:4px;left:4px;width:calc(50% - 6px);height:calc(100% - 8px);background:var(--surface);border-radius:4px;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:0}.answer-type-compact:has(input[value=java]:checked):before{transform:translateX(calc(100% + 4px))}.type-option-compact{display:flex;align-items:center;gap:.25rem;padding:0 .75rem;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:color .2s;white-space:nowrap;min-width:90px;height:24px;position:relative;z-index:1}.type-option-compact:has(input:checked){color:var(--text-primary)}.type-option-compact input[type=radio]{display:none}.timer-section{display:flex;align-items:center;gap:.5rem}.timer-controls{gap:.25rem}.timer-btn-small{display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:32px;width:32px;height:32px;padding:0;background:var(--surface-variant);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s;white-space:nowrap;font-size:.875rem;font-weight:500;line-height:1}.timer-btn-small:hover{background:var(--surface);transform:translateY(-1px)}.timer-btn-small .material-symbols-outlined{font-size:1.125rem;line-height:1;vertical-align:middle;display:inline-flex;align-items:center;transform:translateY(-2px)}.timer-btn-small:not(#pauseBtn){min-width:32px;width:32px;padding:0}.sample-solution-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--surface-variant);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s}.sample-solution-btn.active,.sample-solution-btn:hover{background:var(--surface);transform:translateY(-1px)}.sample-solution-btn .material-symbols-outlined{font-size:1.25rem}.sample-solution-dropdown{position:absolute;top:calc(100% + .5rem);right:1.5rem;background:var(--surface);border:2px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:320px;z-index:1100;animation:slideDown .3s ease}.dropdown-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--primary-color);color:#fff;font-weight:600;font-size:.9375rem;border-radius:10px 10px 0 0}.dropdown-header .material-symbols-outlined{font-size:1.25rem}.dropdown-options{padding:.5rem;max-height:400px;overflow-y:auto}.sample-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s;text-align:left}.sample-option:hover{background:var(--surface-variant)}.sample-option .dot{width:10px;height:10px;border-radius:50%}.dot.perfect{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.dot.strong{background:linear-gradient(135deg,#2196f3,#1976d2)}.dot.good{background:linear-gradient(135deg,#4caf50,#388e3c)}.dot.developing{background:linear-gradient(135deg,#ff9800,#f57c00)}.dot.basic{background:linear-gradient(135deg,#f44336,#d32f2f)}.dot.minimal{background:linear-gradient(135deg,#9e9e9e,#616161)}.sample-option .option-label{font-weight:600;font-size:.875rem;color:var(--text-primary)}.sample-option .option-desc{font-size:.75rem;color:var(--text-secondary)}.sample-option.reference{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1rem}.sample-option.reference .material-symbols-outlined{color:gold;font-size:1.25rem}.sample-option.clear{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1rem;color:#ff5252}.sample-option.clear .material-symbols-outlined{color:#ff5252;font-size:1.25rem}.flip-panel{width:100%;min-height:auto}.question-paper-full{width:100%;margin:0 auto;padding:0 0 2rem;background:#fff;border-radius:0 0 8px 8px;box-shadow:0 4px 12px rgba(0,0,0,.08);overflow:visible;position:relative}[data-theme=dark] .question-paper-full{background:#1a1a1a}.answer-booklet-full{width:100%;margin:0;padding:1rem 0 0}@media (max-width:1400px){.question-paper{max-height:35vh}}@media (max-width:768px){.exam-controls-bar{flex-wrap:wrap;gap:.75rem}.exam-info{order:-1;width:100%}.answer-type-compact,.view-flip-buttons{order:2;width:100%}.lined-paper-container{padding:1.5rem 1rem 1.5rem 2.5rem}.sample-solution-dropdown{right:.5rem;min-width:calc(100vw - 1rem)}}.info-banner{display:flex;align-items:flex-start;gap:1rem;background:linear-gradient(135deg,rgba(26,115,232,.1),rgba(26,115,232,.05));border-left:4px solid var(--primary-color);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.info-banner .material-symbols-outlined{font-size:2rem;color:var(--primary-color)}.info-banner strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.info-banner p{margin:0;color:var(--text-secondary);line-height:1.6}.question-categories{margin-bottom:3rem}.question-categories h2{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:var(--text-primary)}.year-sections{display:flex;flex-direction:column;gap:2rem}.year-section h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.question-card{background:var(--surface);border:2px solid var(--border);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative}.question-card:hover{border-color:var(--primary-color);box-shadow:0 8px 24px rgba(26,115,232,.15);transform:translateY(-4px)}.question-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.question-badge{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.question-code{color:var(--text-secondary)}.question-code,.question-code-badge{font-family:Courier New,monospace;font-weight:600}.question-code-badge{background:var(--surface-variant);padding:.5rem 1rem;border-radius:8px}.question-card h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem}.question-card p{color:var(--text-secondary);margin:0 0 1rem;font-size:.875rem;line-height:1.5}.score-badge{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-weight:600;font-size:.875rem;z-index:10;transition:all .3s ease}.score-badge:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.score-badge .material-symbols-outlined{font-size:1.125rem}.score-badge.distinction{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff}.score-badge.distinction:hover{background:linear-gradient(135deg,#ab47bc,#8e24aa)}.score-badge.merit{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.score-badge.merit:hover{background:linear-gradient(135deg,#42a5f5,#1e88e5)}.score-badge.pass{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.score-badge.pass:hover{background:linear-gradient(135deg,#66bb6a,#43a047)}.score-badge.needs-work{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.score-badge.needs-work:hover{background:linear-gradient(135deg,#ffa726,#fb8c00)}.question-meta{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.question-meta span{display:flex;align-items:center;gap:.25rem}.question-meta .material-symbols-outlined{font-size:1.125rem}.random-section{text-align:center;padding:3rem 2rem;background:var(--surface);border-radius:16px;border:2px dashed var(--border)}.random-section h2{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.random-btn{display:inline-flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(102,126,234,.3)}.random-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(102,126,234,.4)}.random-btn .material-symbols-outlined{font-size:1.5rem}.exam-header{justify-content:space-between;padding:1.5rem;background:var(--surface);border-radius:16px;margin-bottom:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.exam-header,.exam-info{display:flex;align-items:center}.exam-info{gap:1rem}.back-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s}.back-btn:hover{background:var(--hover-bg)}.exam-info h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.timer-controls{display:flex;align-items:center;gap:1rem}.timer{font-family:Courier New,monospace;font-size:2rem;font-weight:700;color:var(--primary-color);background:var(--surface-variant);padding:.75rem 1.5rem;border-radius:12px;min-width:140px;text-align:center}.timer.warning{color:#ea4335;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.timer-btn{display:flex;align-items:center;gap:.5rem;background:var(--surface-variant);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500}.timer-btn:hover{background:var(--hover-bg)}.exam-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;height:calc(100vh - 300px)}.question-panel{background:var(--surface);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(0,0,0,.1)}.question-panel.hidden{display:none}.panel-header{justify-content:space-between;padding:1.25rem 1.5rem;background:var(--surface-variant);border-bottom:1px solid var(--border)}.panel-header,.panel-header h3{display:flex;align-items:center}.panel-header h3{gap:.5rem;margin:0;font-size:1.125rem;color:var(--text-primary)}.toggle-panel-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s}.toggle-panel-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.question-content{padding:2rem;overflow-y:auto;flex:1}.question-content h1{font-size:1.5rem;margin-top:0;color:var(--text-primary)}.question-content h2{font-size:1.25rem;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem}.question-content h3{font-size:1.125rem;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.75rem}.question-content ul{line-height:1.8;color:var(--text-secondary)}.question-content code{background:var(--background);padding:.125rem .375rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.question-content hr{border:none;border-top:2px solid var(--border);margin:2rem 0}.editor-panel{background:var(--surface);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(0,0,0,.1)}.editor-panel.fullwidth{grid-column:1/-1}.editor-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.answer-type-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--background);border-radius:8px;cursor:pointer;transition:all .2s}.answer-type-toggle input[type=radio]{margin:0}.answer-type-toggle:has(input:checked){background:var(--primary-color);color:#fff}.fullscreen-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s}.fullscreen-btn:hover{background:var(--hover-bg)}.editor-container{flex:1;padding:1.5rem;overflow:hidden}.code-editor{width:100%;height:100%;background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1rem;font-family:Courier New,monospace;font-size:.9375rem;line-height:1.6;color:var(--text-primary);resize:none;outline:none;transition:border-color .2s}.code-editor:focus{border-color:var(--primary-color)}.editor-footer{padding:1.25rem 1.5rem;background:var(--surface-variant);border-top:1px solid var(--border)}.submit-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;background:var(--success);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-btn:hover{background:#2d8e3e;transform:translateY(-2px);box-shadow:0 4px 12px rgba(52,168,83,.3)}.fullscreen-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--background);z-index:10000;display:flex;flex-direction:column}.fullscreen-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.fullscreen-header h3{margin:0;color:var(--text-primary)}.fullscreen-timer{font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;color:var(--primary-color);margin-left:1rem}.close-fullscreen-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s}.close-fullscreen-btn:hover{background:var(--hover-bg)}.fullscreen-editor{flex:1;padding:2rem;background:var(--background);border:none;font-family:Courier New,monospace;font-size:1rem;line-height:1.6;color:var(--text-primary);resize:none;outline:none}.screen{width:100%;min-height:100vh;padding:2rem}#resultsScreen{min-height:100vh!important}.results-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--surface);border-radius:16px;margin-bottom:1.5rem}.results-header-left{display:flex;flex-direction:column;gap:.5rem}.results-header h2{display:flex;align-items:center;gap:.75rem;margin:0}.results-meta{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.results-header-actions{display:flex;gap:.75rem;align-items:center}.results-action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:12px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:inherit}.results-action-btn.primary{background:linear-gradient(135deg,var(--primary-color),#5b21b6);color:#fff}.results-action-btn.secondary{background:var(--surface-variant);color:var(--text-primary);border:1px solid var(--border)}.results-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.results-action-btn.primary:hover{background:linear-gradient(135deg,#6d28d9,#4c1d95)}.results-action-btn.secondary:hover{background:var(--background)}.results-action-btn .material-symbols-outlined{font-size:1.25rem}@media print{.back-to-questions-btn,.question-nav,.results-header-actions,.sidebar,header{display:none!important}.results-header{border:1px solid #ccc;page-break-after:avoid}.results-section{page-break-inside:avoid}#resultsScreen{padding:0;margin:0}}.results-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.results-section{background:var(--surface);border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.results-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:var(--text-primary)}.answer-display pre{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1.5rem;overflow-x:auto;font-family:Courier New,monospace;font-size:.9375rem;line-height:1.6;margin:0}.ai-feedback{line-height:1.8;color:var(--text-secondary)}.ai-feedback h1,.ai-feedback h2{color:var(--text-primary);margin-top:1.5rem;margin-bottom:1rem}.ai-feedback h3{color:var(--primary-color);margin-top:1rem;margin-bottom:.5rem}.ai-feedback strong{color:var(--text-primary);font-weight:600}.ai-feedback ol,.ai-feedback ul{padding-left:2rem;margin:1rem 0}.ai-feedback li{margin:.5rem 0}.ai-feedback code{background:var(--background);padding:.125rem .375rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.ai-feedback .total-marks{background:linear-gradient(135deg,var(--primary-color) 0,#667eea 100%);color:#fff;padding:1rem;border-radius:8px;font-size:1.25rem;font-weight:700;text-align:center;margin:1.5rem 0}.loading-indicator{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.question-display{color:var(--text-secondary);line-height:1.8}.results-actions{display:flex;gap:1rem;justify-content:center}.action-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn.primary{background:var(--primary-color);color:#fff}.action-btn.primary:hover{background:#1557b0;transform:translateY(-2px);box-shadow:0 4px 12px rgba(26,115,232,.3)}.action-btn.secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.action-btn.secondary:hover{background:var(--hover-bg)}.rubric-btn{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:600;box-shadow:0 2px 8px rgba(102,126,234,.3)}.rubric-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.rubric-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.rubric-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.rubric-content{position:relative;background:var(--surface);border-radius:20px;width:95%;max-width:1400px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 48px rgba(0,0,0,.3);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.rubric-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--border);background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));gap:1.5rem}.rubric-header h2{display:flex;align-items:center;gap:.75rem;margin:0;color:var(--text-primary);font-size:1.5rem;flex:0 1 auto}.rubric-header .material-symbols-outlined{color:var(--primary-color);font-size:2rem}.active-rubric-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(102,126,234,.15);border:1px solid var(--primary-color);border-radius:8px;font-size:.9rem;color:var(--primary-color);font-weight:500;cursor:help;transition:all .3s ease;flex:0 0 auto}.active-rubric-indicator:hover{background:rgba(102,126,234,.25);transform:translateY(-1px)}.active-rubric-indicator .material-symbols-outlined{font-size:1.2rem;color:var(--primary-color)}.rubric-selector-container{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;justify-content:center}.rubric-selector{flex:1;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px rgba(102,126,234,.4);appearance:none;background-image:linear-gradient(135deg,#667eea,#764ba2),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:0 0,right 1rem center;padding:.875rem 3rem .875rem 1.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;min-width:280px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.rubric-selector:hover{box-shadow:0 6px 24px rgba(102,126,234,.5);transform:translateY(-2px)}.rubric-selector:focus{outline:none;box-shadow:0 0 0 4px rgba(102,126,234,.2),0 6px 24px rgba(102,126,234,.5)}.rubric-selector option{background:var(--surface);color:var(--text-primary);padding:1rem 1.25rem;font-size:1rem;line-height:1.6;font-weight:600;min-height:3rem}[data-theme=dark] .rubric-selector option{background:#1a1a1a;color:#fff}.close-rubric-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;flex:0 0 auto}.close-rubric-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.rubric-body{padding:2rem;overflow-y:auto;flex:1}.rubric-summary{text-align:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));border-radius:12px}.rubric-summary h3{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.75rem}.grade-bands{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 1rem}.grade-band{padding:2rem 1.5rem;border-radius:16px;display:flex;flex-direction:column;gap:.75rem;transition:all .3s;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.15)}.grade-band.distinction{background:linear-gradient(135deg,#34a853,#2d8e3e);color:#fff}.grade-band.merit{background:linear-gradient(135deg,#fbbc04,#f9ab00);color:#fff}.grade-band.pass{background:linear-gradient(135deg,#4285f4,#1a73e8);color:#fff}.grade-band:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.25)}.grade-band .grade{font-size:1.5rem;font-weight:700}.grade-band .marks{font-weight:700;font-size:1.75rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.grade-band .label{font-size:.875rem;opacity:.9}.grade-band p{font-size:1.1rem;font-weight:500;line-height:1.6;text-shadow:0 1px 2px rgba(0,0,0,.1)}.rubric-section{margin-bottom:1.5rem;border:2px solid var(--border);overflow:hidden}.rubric-section-header{background:var(--surface-variant);padding:1rem 1.5rem;cursor:pointer;transition:all .2s;user-select:none}.rubric-section-header:hover{background:var(--hover-bg)}.rubric-section-header h3{font-size:1.125rem}.rubric-section-header .material-symbols-outlined{transition:transform .3s}.rubric-section-header.active .material-symbols-outlined{transform:rotate(180deg)}.max-marks{margin-left:auto;background:var(--primary-color);color:#fff;padding:.5rem 1rem;border-radius:12px;font-size:.9rem;font-weight:600;white-space:nowrap;flex-shrink:0}.rubric-section-content{padding:1.5rem;animation:slideDown .3s ease}.criterion{margin-bottom:2rem}.criterion h4{color:var(--text-primary);margin:0 0 1rem;font-size:1.125rem}.band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.band{padding:1rem;border-radius:8px;border:2px solid}.band.high{background:rgba(52,168,83,.1);border-color:#34a853}.band.medium{background:rgba(251,188,4,.1);border-color:#fbbc04}.band.low{background:rgba(66,133,244,.1);border-color:#4285f4}.band strong{display:block;margin-bottom:.5rem;color:var(--text-primary)}.band p{margin:0 0 .5rem;font-size:.9375rem;line-height:1.5}.band p,.techniques{color:var(--text-secondary)}.techniques{display:block;font-size:.8125rem;font-style:italic;margin-top:.5rem}.criterion-compact{margin-bottom:1.5rem}.criterion-compact h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;color:var(--text-primary);font-size:1rem}.criterion-compact .material-symbols-outlined{font-size:1.25rem;color:var(--primary-color)}.band-small{flex:1;min-width:150px;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500}.band-small.high{background:rgba(52,168,83,.15);color:#1b5e20;border:1px solid #34a853}.band-small.medium{background:rgba(251,188,4,.15);color:#7f6003;border:1px solid #fbbc04}.band-small.low{background:rgba(66,133,244,.15);color:#1557b0;border:1px solid #4285f4}[data-theme=dark] .band-small.high{color:#a5d6a7}[data-theme=dark] .band-small.medium{color:#fff9c4}[data-theme=dark] .band-small.low{color:#90caf9}.rubric-tips{background:var(--surface-variant);padding:1.5rem;border-radius:12px;margin-top:2rem}.rubric-tips h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;color:var(--text-primary)}.rubric-tips .material-symbols-outlined{color:#fbbc04;font-size:1.5rem}.rubric-tips ul{margin:0;padding-left:1.5rem}.rubric-tips li{margin:.75rem 0;line-height:1.6;color:var(--text-secondary)}.rubric-tips strong{color:var(--text-primary)}.test-autofill-toggle{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#0288d1,#0277bd)!important;color:#fff;border-radius:8px;transition:all .2s;border:2px solid hsla(0,0%,100%,.3)!important;box-shadow:0 2px 8px rgba(2,136,209,.3)!important}.test-autofill-toggle .material-symbols-outlined{font-size:1.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.test-autofill-toggle select{flex:1;border:none;border-radius:8px;background:#fff;color:#1a1a1a;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.12);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%230288d1' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding:.875rem 3rem .875rem 1.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.test-autofill-toggle select:hover{background-color:#fafafa;box-shadow:0 4px 16px rgba(0,0,0,.16);transform:translateY(-1px)}.test-autofill-toggle select:focus{outline:none;background-color:#fff;box-shadow:0 0 0 3px rgba(2,136,209,.15),0 4px 16px rgba(0,0,0,.16)}.test-autofill-toggle select option{padding:1rem 1.25rem;font-size:1rem;line-height:1.6;font-weight:600;min-height:3rem}.test-autofill-toggle select option:first-child{color:#666;font-weight:500;font-style:italic}.test-autofill-toggle select option[value=perfect],.test-autofill-toggle select option[value=reference]{color:#2e7d32;font-weight:700}.test-autofill-toggle select option[value=strong]{color:#388e3c;font-weight:700}.test-autofill-toggle select option[value=good]{color:#1976d2;font-weight:600}.test-autofill-toggle select option[value=developing]{color:#0288d1;font-weight:600}.test-autofill-toggle select option[value=basic]{color:#f57c00;font-weight:600}.test-autofill-toggle select option[value=minimal]{color:#ef6c00;font-weight:600}.test-autofill-toggle .clear-btn{display:flex;align-items:center;justify-content:center;padding:.625rem;background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);border-radius:6px;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px rgba(0,0,0,.1)}.test-autofill-toggle .clear-btn:hover{background:hsla(0,0%,100%,.3);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.test-autofill-toggle .clear-btn:active{transform:translateY(0)}.test-autofill-toggle .clear-btn .material-symbols-outlined{font-size:1.125rem}.score-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:2rem;border-radius:16px;margin-bottom:2rem;background:linear-gradient(135deg,var(--surface) 0,var(--surface-variant) 100%);border:2px solid;animation:slideInRight .5s ease}.score-banner.distinction{border-color:#4caf50;background:linear-gradient(135deg,rgba(76,175,80,.1),rgba(76,175,80,.05))}.score-banner.merit{border-color:#66bb6a;background:linear-gradient(135deg,rgba(102,187,106,.1),rgba(102,187,106,.05))}.score-banner.pass{border-color:#42a5f5;background:linear-gradient(135deg,rgba(66,165,245,.1),rgba(66,165,245,.05))}.score-banner.needs-work{border-color:#26c6da;background:linear-gradient(135deg,rgba(38,198,218,.1),rgba(38,198,218,.05))}.score-display{display:flex;flex-direction:column;gap:.5rem}.score-main{display:flex;align-items:baseline;gap:.25rem;font-weight:700}.score-number{font-size:3rem;line-height:1;color:var(--text-primary)}.score-divider{margin:0 .25rem}.score-divider,.score-total{font-size:2rem;color:var(--text-secondary)}.score-breakdown{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-secondary);font-weight:600}.score-breakdown .separator{opacity:.5}.grade-label{font-size:1rem;font-weight:700;margin-top:.25rem}.distinction .grade-label{color:#4caf50}.merit .grade-label{color:#66bb6a}.pass .grade-label{color:#42a5f5}.needs-work .grade-label{color:#26c6da}.score-icon{font-size:4rem;opacity:.3}.distinction .score-icon{color:#4caf50}.merit .score-icon{color:#66bb6a}.pass .score-icon{color:#42a5f5}.needs-work .score-icon{color:#26c6da}.rubric-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:.5rem;padding:0 1rem}.mini-rubric-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;border-radius:6px;text-align:center;transition:all .3s ease;min-height:60px}.mini-rubric-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.mini-rubric-item.score-perfect{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff}.mini-rubric-item.score-good{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff}.mini-rubric-item.score-fair{background:linear-gradient(135deg,#42a5f5,#1e88e5);color:#fff}.mini-rubric-item.score-needs-work{background:linear-gradient(135deg,#26c6da,#00acc1);color:#fff}.mini-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.9;margin-bottom:.25rem}.mini-score{font-size:1rem;font-weight:700}.band-overview-container{display:flex;flex-direction:column;gap:12px}.band-overview-container h4{margin:0;font-size:11px;font-weight:700;color:hsla(0,0%,100%,.5);text-transform:uppercase;letter-spacing:1.2px}.band-row{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:12px}.band-row-label{font-size:12px;font-weight:600;color:hsla(0,0%,100%,.7)}.band-cells{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.band-cell{aspect-ratio:1;height:60px;max-height:60px;background:hsla(0,0%,100%,.06);border:2px solid hsla(0,0%,100%,.12);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .3s ease;position:relative;cursor:default}.band-cell .material-symbols-outlined{font-size:16px;color:#fff;display:none;font-weight:700}.band-cell.awarded{background:linear-gradient(135deg,rgba(76,175,80,.95),rgba(46,125,50,.95));border-color:#4caf50;box-shadow:0 0 16px rgba(76,175,80,.5)}.band-cell.awarded .material-symbols-outlined{display:block}.band-label{font-size:10px;font-weight:700;color:hsla(0,0%,100%,.4);letter-spacing:.3px}.band-cell.awarded .band-label{color:hsla(0,0%,100%,.95)}.moderation-results-section{margin-top:16px;padding:16px;background:rgba(103,126,234,.08);border-left:4px solid #667eea;border-radius:8px}.moderation-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#667eea}.moderation-header .material-symbols-outlined{font-size:20px}.moderation-header strong{font-size:14px;font-weight:600}.moderation-feedback{font-size:14px;line-height:1.6;color:var(--text-primary)}.subsection-band-badge{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:700;letter-spacing:.5px}.subsection-band-badge.band-high{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff}.subsection-band-badge.band-medium{background:linear-gradient(135deg,#ffa726,#fb8c00);color:#fff}.subsection-band-badge.band-low{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff}.subsection-band-badge.band-none{background:hsla(0,0%,100%,.1);color:var(--text-secondary)}.feedback-content{margin-top:1rem}.feedback-content h1{font-size:1.5rem;margin-top:2rem;margin-bottom:1rem;color:var(--text-primary);border-bottom:2px solid var(--border);padding-bottom:.5rem}.feedback-content h2{font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-primary)}.feedback-content ul{margin:1rem 0;padding-left:2rem}.feedback-content li{margin:.5rem 0}.feedback-content strong{color:var(--text-primary)}.feedback-content code{background:var(--surface-variant);padding:.125rem .375rem;border-radius:4px;font-size:.875em}@media (max-width:1200px){.exam-container{grid-template-columns:1fr}.question-panel{height:400px}.band-grid,.grade-bands{grid-template-columns:1fr}}@media (max-width:768px){.exam-header{flex-direction:column;gap:1rem}.timer-controls{width:100%;justify-content:space-between;flex-wrap:wrap}.question-grid{grid-template-columns:1fr}.rubric-content{width:95%;max-height:90vh}.rubric-body{padding:1rem}.band-row{grid-template-columns:1fr}.band-row-label{text-align:left;margin-bottom:8px}}.rubric-breakdown{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}.rubric-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;animation:fadeIn .5s ease}.rubric-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.rubric-section-header h3{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;color:var(--text-primary);margin:0}.rubric-section-header .material-symbols-outlined{font-size:1.5rem;color:var(--primary-color)}.section-score{font-size:1.125rem;font-weight:700;color:var(--text-secondary);background:var(--background);padding:.5rem 1rem;border-radius:8px}.rubric-subsection{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1rem;transition:all .3s ease}.rubric-subsection:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(0,0,0,.1)}.rubric-subsection:last-child{margin-bottom:0}.subsection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.subsection-header h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.subsection-score-badge{font-size:.875rem;font-weight:700;padding:.375rem .75rem;border-radius:6px;color:#fff;display:inline-block}.subsection-score-badge.score-perfect{background:linear-gradient(135deg,#4caf50,#2e7d32)}.subsection-score-badge.score-good{background:linear-gradient(135deg,#66bb6a,#43a047)}.subsection-score-badge.score-fair{background:linear-gradient(135deg,#42a5f5,#1e88e5)}.subsection-score-badge.score-needs-work{background:linear-gradient(135deg,#26c6da,#00acc1)}.subsection-feedback{font-size:.9375rem;line-height:1.7;color:var(--text-secondary);margin-bottom:.75rem}.band-awarded{display:inline-block;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.875rem;margin:.75rem 0;border:2px solid}.band-awarded.band-high{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border-color:#2e7d32;box-shadow:0 2px 6px rgba(76,175,80,.3)}.band-awarded.band-medium{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border-color:#f57c00;box-shadow:0 2px 6px rgba(255,152,0,.3)}.band-awarded.band-low{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border-color:#1976d2;box-shadow:0 2px 6px rgba(33,150,243,.3)}.band-awarded.band-none{background:linear-gradient(135deg,#757575,#616161);color:#fff;border-color:#616161;box-shadow:0 2px 6px hsla(0,0%,46%,.3)}.band-justification{background:var(--surface);border-left:4px solid var(--primary-color);padding:1rem;margin:.75rem 0;border-radius:6px}.band-justification strong{display:block;color:var(--primary-color);font-size:.875rem;font-weight:700;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.band-justification p{margin:0;line-height:1.8;color:var(--text-primary)}.evidence-list{margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--border)}.evidence-quote{background:var(--surface);border-left:3px solid var(--primary-color);padding:.75rem 1rem;margin:.5rem 0;font-family:Courier New,monospace;font-size:.875rem;color:var(--text-primary);border-radius:4px;line-height:1.6}.overall-feedback{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-top:2rem;animation:fadeIn .5s ease}.overall-feedback h3{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;color:var(--text-primary);margin:0 0 1rem}.overall-feedback .material-symbols-outlined{font-size:1.5rem;color:var(--primary-color)}.overall-feedback p{font-size:1rem;line-height:1.8;color:var(--text-secondary);margin-bottom:1.5rem}.improvements-list,.strengths-list{margin-top:1rem}.improvements-list strong,.strengths-list strong{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);margin-bottom:.5rem}.improvements-list ul,.strengths-list ul{margin:.5rem 0;padding-left:2rem}.strengths-list li{color:#4caf50;margin:.375rem 0}.improvements-list li{color:#42a5f5;margin:.375rem 0}.collapsible-section{margin-top:2rem}.collapsible-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:1rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:all .3s ease;user-select:none}.collapsible-header:hover{background:var(--hover-bg);border-color:var(--primary-color)}.collapsible-header h3{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.125rem}.expand-icon{color:var(--text-secondary);transition:transform .3s ease;font-size:1.5rem}.collapsible-content{margin-top:1rem;animation:fadeIn .3s ease}.collapsible-content .answer-display,.collapsible-content .question-display{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.collapsible-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100px)}}.student-feedback-section{background:linear-gradient(135deg,rgba(76,175,80,.08),rgba(76,175,80,.04));border-left:3px solid var(--success);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.student-feedback-section .feedback-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--success);font-weight:600}.student-feedback-section .material-symbols-outlined{font-size:1.25rem}.student-feedback-section .feedback-content{color:var(--text-primary);line-height:1.7;font-size:.95rem}.moderation-feedback-container{margin-top:2.5rem;padding-top:2rem;border-top:2px solid var(--border)}.moderation-toggle-main{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--surface-variant) 0,var(--surface) 100%);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .3s ease;font-size:1rem;color:var(--text-primary);font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.05)}.moderation-toggle-main:hover{box-shadow:0 4px 12px rgba(26,115,232,.2);transform:translateY(-2px)}.moderation-toggle-main.active,.moderation-toggle-main:hover{background:linear-gradient(135deg,var(--primary-color) 0,#1565c0 100%);color:#fff;border-color:var(--primary-color)}.moderation-toggle-main .expand-icon{font-size:1.5rem;transition:transform .3s ease}.moderation-toggle-main.active .expand-icon{transform:rotate(180deg)}.moderation-toggle-main .moderation-toggle-text{flex:1;text-align:left}.moderation-full-section{margin-top:1rem;background:var(--surface);border:2px solid var(--border);border-radius:10px;padding:1.5rem;animation:slideDown .3s ease}.moderation-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.moderation-section-header .material-symbols-outlined{font-size:1.75rem;color:var(--primary-color)}.moderation-section-header h4{margin:0;color:var(--text-primary);font-size:1.25rem}.moderation-subsection{margin-bottom:2rem;padding:1.25rem;background:var(--surface-variant);border-radius:8px;border-left:4px solid var(--primary-color)}.moderation-subsection h5{margin:0 0 1rem;color:var(--primary-color);font-size:1.1rem;font-weight:600}.moderation-criterion{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.moderation-criterion:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.moderation-criterion strong{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.95rem}.moderation-criterion p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:.9rem;font-style:italic}.moderation-summary{margin-top:1.5rem;padding:1.25rem;background:linear-gradient(135deg,rgba(26,115,232,.05),rgba(26,115,232,.02));border-radius:8px;border-left:4px solid var(--primary-color)}.moderation-summary strong{display:block;margin-bottom:.75rem;color:var(--primary-color);font-size:1rem}.moderation-summary p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:.95rem}.moderation-collapsible{margin-top:.75rem}.moderation-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem 1rem;background:var(--surface-variant);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.875rem;color:var(--text-secondary);font-weight:500}.moderation-toggle:hover{background:var(--surface);border-color:var(--primary-color);color:var(--primary-color)}.moderation-toggle.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.moderation-toggle .expand-icon{font-size:1.25rem;transition:transform .2s ease}.moderation-toggle .moderation-toggle-text{flex:1;text-align:left}.moderation-details{margin-top:.5rem;background:var(--surface-variant);border:1px solid var(--border);border-radius:6px;padding:1rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.moderation-details .moderation-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--primary-color);font-weight:600;font-size:.9rem}.moderation-details .material-symbols-outlined{font-size:1.1rem}.moderation-details .moderation-feedback{color:var(--text-secondary);line-height:1.6;font-size:.875rem;font-style:italic}