.exam-main{max-width:76rem;margin:auto;padding:var(--space-xxl) var(--space-lg)}
.exam-intro{max-width:50rem;margin:var(--space-xl) 0 var(--space-xxl)}
.exam-intro h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:600;line-height:1.1;letter-spacing:-.03em;margin:var(--space-md) 0}
.intro-copy{font-size:var(--text-lead)}
.notice,.practice-guide,.mode-note,.map-key{font-size:var(--text-caption);color:var(--color-ink-soft);line-height:1.65}
.notice{border-left:3px solid var(--color-hairline);padding-left:var(--space-md)}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
.mode-card,.question-card,.result-panel{border:1px solid var(--color-hairline);border-radius:var(--radius-lg);padding:var(--space-xl);background:var(--color-canvas)}
.mode-card{background:var(--color-surface)}
.mode-card h2{font-size:var(--text-section);margin:var(--space-sm) 0}
.mode-number{font-size:var(--text-section);font-weight:600}.mode-number span{font-weight:400}
.mode-note{min-height:1.5em}.practice-guide{max-width:55rem;margin-top:var(--space-lg)}
.exam-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);background:var(--color-canvas-parchment);border-radius:var(--radius-lg);margin:var(--space-xl) 0}
.exam-toolbar p{margin:0 0 var(--space-xs)}.timer-block{display:flex;flex-direction:column}.timer-block span{font-size:var(--text-caption)}#timer{font-size:1.7rem;font-variant-numeric:tabular-nums}#timer[data-urgent=true]{text-decoration:underline;text-decoration-thickness:3px}
.exam-layout{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:var(--space-lg)}
.question-sidebar h2{font-size:var(--text-body)}#question-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-xs)}
.map-button{min-height:44px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink);font-size:var(--text-caption);cursor:pointer}
.map-button[aria-current=true]{border:2px solid var(--color-primary);color:var(--color-primary);font-weight:600}.map-button.answered{background:var(--color-canvas-parchment)}
.side-actions{display:grid;gap:var(--space-sm);margin-top:var(--space-lg)}
.question-card h2{font-size:var(--text-section);line-height:1.4;margin-top:0;overflow-wrap:anywhere}
.question-prompt,.model-answer{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.question-prompt{margin-bottom:var(--space-xl)}
.answer-options{border:0;padding:0;margin:0;display:grid;gap:var(--space-sm);min-width:0}.option{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);cursor:pointer;overflow-wrap:anywhere}.option:has(input:checked){border-color:var(--color-primary);background:var(--color-canvas-parchment)}
input[type=radio],input[type=checkbox]{accent-color:var(--color-primary);width:20px;height:20px;flex-shrink:0;margin-top:3px}
.task-label{display:block;margin-bottom:var(--space-sm)}#task-answer{width:100%;min-height:18rem;resize:vertical;padding:var(--space-md);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink);line-height:1.65}
.flag-label,.review-filter,.rubric-item{display:flex;align-items:flex-start;gap:var(--space-xs);padding:var(--space-sm) 0;min-height:44px}.flag-label{margin-top:var(--space-lg)}
.question-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);border-top:1px solid var(--color-hairline);margin-top:var(--space-lg);padding-top:var(--space-lg)}#question-position{font-size:var(--text-caption);white-space:nowrap}
.explanation,.result-panel{background:var(--color-canvas-parchment);margin:var(--space-lg) 0}.explanation{padding:var(--space-lg);border-radius:var(--radius-sm)}.explanation h3{margin-top:0}.result-panel h2{margin:0 0 var(--space-sm)}.result-panel p:last-child{margin-bottom:0}.result-links{display:flex;gap:var(--space-lg);flex-wrap:wrap}
button:disabled{opacity:.5;cursor:not-allowed}.exam-footer{padding:var(--space-xxl) var(--space-lg);text-align:center;background:var(--color-canvas-parchment);font-size:var(--text-caption)}
dialog{max-width:32rem;width:calc(100% - 2rem);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);padding:var(--space-xl);color:var(--color-ink);background:var(--color-canvas)}dialog::backdrop{background:var(--color-backdrop)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}
#save-status:not(:empty){font-size:var(--text-caption);padding:var(--space-sm);border-left:3px solid var(--color-primary)}
@media(max-width:734px){.exam-main{padding:var(--space-lg) var(--space-md)}.mode-grid,.exam-layout{grid-template-columns:1fr}.mode-card,.question-card{padding:var(--space-lg)}.exam-intro{margin-top:var(--space-lg)}#question-map{grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--space-xxs)}.side-actions{display:flex;flex-wrap:wrap}.exam-toolbar{flex-wrap:wrap;padding:var(--space-md)}.question-actions{flex-wrap:wrap}.header-inner{flex-wrap:wrap}.header-nav{display:flex!important;flex-wrap:wrap}.question-prompt{font-size:1rem}}
@media(max-width:419px){#question-map{grid-template-columns:repeat(5,minmax(0,1fr))}.question-actions .button{padding:11px 14px}.question-card{padding:var(--space-md)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.written-model-toggle{margin:var(--space-lg) 0;padding:var(--space-md);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);overflow-wrap:anywhere}.written-model-toggle summary,.rubric-details summary{cursor:pointer;min-height:44px;font-weight:600}.written-model-toggle p{white-space:pre-wrap}
