:root{--ink:#182326;--muted:#607074;--paper:#f5f7f2;--surface:#fff;--accent:#d95d39;--accent-dark:#a94228;--line:#d9e1dc;--soft-accent:#f6e2d9}*{box-sizing:border-box}html{background:var(--paper)}body{background:radial-gradient(circle at 85% 10%, #f4d7c7 0, transparent 28rem), var(--paper);color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif}a{color:inherit}.app-shell{min-height:100vh}.site-header{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:28px 32px;display:flex}.brand{font-size:1.2rem;font-weight:700;text-decoration:none}.primary-navigation{align-items:center;gap:24px;font-family:Arial,sans-serif;font-size:.88rem;display:flex}.primary-navigation a{text-decoration:none}.navigation-action,.button-primary{background:var(--accent);color:#fff}.navigation-action{border-radius:999px;padding:10px 16px}.site-main{max-width:1180px;margin:0 auto;padding:80px 32px 120px}.hero-section,.form-section,.dashboard-section{max-width:760px}.hero-section{padding:56px 0}.eyebrow{color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;font-family:Arial,sans-serif;font-size:.74rem;font-weight:700}h1{max-width:800px;margin:20px 0 24px;font-size:clamp(2.8rem,7vw,5.8rem);font-weight:400;line-height:.98}.hero-copy,.section-copy{color:var(--muted);max-width:580px;font-family:Arial,sans-serif;font-size:1.1rem;line-height:1.6}.action-row{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.button{cursor:pointer;border:0;border-radius:999px;padding:14px 22px;font-family:Arial,sans-serif;font-size:.9rem;text-decoration:none;display:inline-block}.button-secondary{border:1px solid var(--line);background:var(--surface)}.button:disabled{cursor:not-allowed;opacity:.55}.form-section{max-width:560px}.form-section h1,.dashboard-section h1{font-size:clamp(2.8rem,6vw,4.8rem)}.form-panel{background:var(--surface);border:1px solid var(--line);gap:10px;margin-top:32px;padding:28px;display:grid}.form-panel label,.form-panel input{font-family:Arial,sans-serif}.form-panel label{margin-top:8px;font-size:.85rem;font-weight:700}.form-panel input{border:1px solid var(--line);border-radius:4px;padding:13px 12px;font-size:1rem}.form-panel .button{margin-top:18px}.form-footer{color:var(--muted);font-family:Arial,sans-serif;font-size:.9rem}.form-footer a{color:var(--accent-dark);font-weight:700}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:48px 0 32px;display:grid}.dashboard-layout{max-width:920px}.dashboard-intro{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;display:flex}.dashboard-intro h1{margin-bottom:18px}.dashboard-group{border-top:1px solid var(--line);margin-top:40px;padding-top:18px}.group-heading{justify-content:space-between;align-items:baseline;display:flex}.group-heading h2{margin:0 0 18px;font-size:1.45rem;font-weight:400}.group-heading span,.test-meta,.empty-state,.result-row p,.history-row{color:var(--muted);font-family:Arial,sans-serif;font-size:.86rem}.test-list{gap:12px;display:grid}.test-card,.result-row,.history-row{background:var(--surface);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.test-card h3,.result-row h3{margin:8px 0;font-size:1.25rem;font-weight:400}.test-card p,.result-row p{margin:0;line-height:1.5}.test-meta{margin-top:12px!important}.test-card-action{flex-shrink:0}.attempt-section-list{gap:6px;margin:0 0 12px;padding:0;font-size:.86rem;list-style:none;display:grid}.attempt-section-list li{justify-content:space-between;gap:16px;display:flex}.status-chip{background:var(--soft-accent);color:var(--accent-dark);text-transform:uppercase;padding:8px 10px;font-family:Arial,sans-serif;font-size:.76rem;font-weight:700}.result-row strong{font-size:1.6rem;font-weight:400}.result-row-summary{flex-shrink:0;align-items:center;gap:16px;display:flex}.history-row{border-width:0 0 1px;padding:14px 0}.result-detail{max-width:860px;margin:0 auto}.result-detail>h1{font-size:clamp(2.4rem,6vw,4.8rem)}.overall-result,.section-result-card{background:var(--surface);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.section-result-card{flex-wrap:wrap}.overall-result{border-top:4px solid var(--accent);margin-top:32px}.overall-result h2,.section-results h2{margin:0 0 12px;font-size:1.45rem;font-weight:400}.overall-result p,.section-result-card p,.evaluation-notice{color:var(--muted);margin:6px 0 0;font-family:Arial,sans-serif;line-height:1.5}.overall-result strong{font-size:2rem;font-weight:400}.evaluation-notice{background:var(--soft-accent);color:var(--ink);margin:20px 0;padding:16px 20px}.section-results{margin-top:36px}.section-results h2{margin-bottom:16px}.section-result-list{gap:12px;display:grid}.section-result-card h3{margin:0;font-size:1.2rem;font-weight:400}.section-evaluation{flex-basis:100%;font-family:Arial,sans-serif}.evaluation-failure{background:var(--soft-accent);flex-basis:100%;padding:12px 16px}.evaluation-failure .button{margin-top:12px}.section-evaluation h4{margin:18px 0 6px}.criterion-scores{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 20px;margin:16px 0;display:grid}.criterion-scores div{justify-content:space-between;display:flex}.criterion-scores dd{margin:0}.section-evaluation ul{color:var(--muted);margin:8px 0;padding-left:22px;line-height:1.5}.section-result-card strong{flex-shrink:0;font-size:1.6rem;font-weight:400}.result-back-link{margin-top:28px}.error-message{color:var(--accent-dark);font-family:Arial,sans-serif;line-height:1.5}.success-message{color:#2d6a4f;font-family:Arial,sans-serif;line-height:1.5}.admin-section{max-width:1120px}.json-import-page>h1{font-size:clamp(2.8rem,6vw,4.8rem)}.json-import-back,.json-import-help,.json-import-filename{color:var(--muted);font-family:Arial,sans-serif;font-size:.9rem}.json-import-back a{color:var(--accent-dark);font-weight:700}.json-import-form{max-width:760px;margin-top:32px}.json-import-form h2,.json-import-preview h2,.json-import-errors h2{margin:0;font-size:1.45rem;font-weight:400}.json-import-form input[type=file]{background:#fbfcf9}.json-import-form .json-import-help,.json-import-form .json-import-filename{margin:0}.json-import-result,.json-import-errors{background:var(--surface);border:1px solid var(--line);margin-top:28px;padding:24px}.json-import-result>.success-message,.json-import-errors>p{margin-top:0}.json-import-preview{margin-top:28px}.json-import-test{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.json-import-test h3{margin:0;font-size:1.2rem;font-weight:400}.json-import-sections{margin:16px 0 0;padding:0;list-style:none}.json-import-sections>li{border-top:1px solid var(--line);padding:14px 0}.json-import-sections h4{margin:0;font-size:1rem;font-weight:700}.json-import-sections p,.json-import-sections ul,.json-import-errors li,.json-import-error-list li,.json-import-test-results{font-family:Arial,sans-serif;font-size:.88rem;line-height:1.5}.json-import-sections p{color:var(--muted);margin:4px 0}.json-import-sections ul{margin:8px 0 0;padding-left:22px}.json-import-errors ul,.json-import-error-list{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.json-import-errors li,.json-import-error-list li{border-left:3px solid var(--accent);overflow-wrap:anywhere;gap:4px;padding:8px 12px;display:grid}.json-import-errors li code,.json-import-error-list li code{color:var(--accent-dark);font-weight:700}.json-import-test-results{gap:8px;padding-left:22px;display:grid}.json-import-actions{margin-top:24px}.admin-metrics{grid-template-columns:repeat(5,1fr);gap:12px;margin:40px 0 56px;display:grid}.metric-card{background:var(--surface);border-top:4px solid var(--accent);gap:8px;padding:20px;display:grid}.metric-card strong{font-size:2rem;font-weight:400}.metric-card span,.admin-form label,.admin-form input,.admin-form select,.admin-form textarea{font-family:Arial,sans-serif}.metric-card span{color:var(--muted);font-size:.82rem}.admin-operations{margin-bottom:56px}.admin-operations h2{margin:0;font-size:1.6rem;font-weight:400}.job-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:20px 0}.admin-job-table-wrap{overflow-x:auto}.admin-job-table{border-collapse:collapse;width:100%;min-width:920px}.admin-job-table th,.admin-job-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.admin-job-table th{color:var(--muted);text-transform:uppercase;font-size:.75rem}.admin-job-table td code,.admin-job-table td small{overflow-wrap:anywhere;display:block}.admin-job-table td small{color:var(--muted);margin-top:4px}.job-stuck{color:var(--danger);display:block}.admin-columns{grid-template-columns:minmax(220px,.7fr) minmax(0,1.7fr);gap:48px;display:grid}.admin-columns h2,.admin-nested h2{margin:0 0 18px;font-size:1.6rem;font-weight:400}.admin-form{background:var(--surface);border:1px solid var(--line);gap:10px;margin-bottom:20px;padding:20px;display:grid}.admin-form h3,.admin-nested-panel>h3{margin:0 0 8px;font-size:1.1rem;font-weight:400}.admin-form label{gap:6px;font-size:.78rem;font-weight:700;display:grid}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--line);border-radius:3px;width:100%;padding:10px;font-size:.95rem;font-weight:400}.admin-form textarea{resize:vertical;min-height:86px}.admin-form .button{justify-self:start}.form-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.admin-test-table-wrap{overflow-x:auto}.admin-test-table{border-collapse:collapse;width:100%;min-width:760px}.admin-test-table th,.admin-test-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.admin-test-table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.editor-heading{justify-content:space-between;align-items:center;display:flex}.editor-heading h2{margin-bottom:24px}.admin-hierarchy{border-top:1px solid var(--line);margin:36px 0;padding-top:24px}.admin-hierarchy h2{margin:0 0 8px;font-size:1.6rem;font-weight:400}.admin-hierarchy-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.admin-hierarchy-list .admin-hierarchy-list{border-left:1px solid var(--line);margin:8px 0 8px 12px;padding-left:16px}.admin-hierarchy-toggle{background:var(--surface);border:1px solid var(--line);color:inherit;cursor:pointer;text-align:left;border-radius:3px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.admin-hierarchy-toggle:hover,.admin-hierarchy-toggle:focus-visible{border-color:var(--accent)}.admin-hierarchy-toggle>span:last-child{color:var(--muted);margin-left:auto;font-size:.8rem}.admin-hierarchy-children{padding:8px 0 8px 16px}.admin-hierarchy-questions{gap:8px;margin:12px 0;padding:0;list-style-position:inside;display:grid}.admin-hierarchy-questions li{background:var(--surface);border:1px solid var(--line);padding:12px}.admin-hierarchy-questions li span{color:var(--muted);font-size:.8rem}.admin-hierarchy-questions li p{margin:6px 0 0}.admin-hierarchy-pagination,.admin-test-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.admin-test-filters label,.admin-question-search label{flex:1;gap:6px;min-width:180px;font-size:.78rem;font-weight:700;display:grid}.admin-test-filters input,.admin-test-filters select,.admin-question-search input{border:1px solid var(--line);font:inherit;border-radius:3px;padding:10px}.admin-question-search{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.admin-nested{border-top:1px solid var(--line);margin-top:36px;padding-top:24px}.admin-nested-panel{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.admin-group-list{gap:20px;margin-top:24px;display:grid}.admin-group-panel{background:var(--surface);border:1px solid var(--line);padding:20px}.admin-group-panel>h3{margin-bottom:8px}.admin-group-panel>h4{margin-top:24px}.question-form{background:#fbfcf9}.test-detail{max-width:760px}.detail-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line);text-transform:uppercase;flex-wrap:wrap;gap:24px;margin:36px 0 24px;padding:16px 0;font-family:Arial,sans-serif;font-size:.84rem;font-weight:700;display:flex}.section-list{margin:0 0 32px;padding:0;list-style:none}.section-list li{border-bottom:1px solid var(--line);justify-content:space-between;padding:14px 0;font-family:Arial,sans-serif;display:flex}.dashboard-card{background:var(--surface);border-top:4px solid var(--accent);padding:24px}.dashboard-card h2{margin:14px 0 10px;font-size:1.45rem;font-weight:400}.dashboard-card p{color:var(--muted);margin:0;font-family:Arial,sans-serif;font-size:.9rem;line-height:1.5}.dashboard-card .card-label{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.exam-section{max-width:860px}.exam-section.exam-runner{max-width:1120px}.exam-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.exam-heading h1{margin-bottom:32px}.exam-timer{background:var(--ink);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;padding:12px 16px;font-family:Arial,sans-serif;font-size:1.1rem}.exam-timer.is-low{background:var(--accent-dark)}.writing-task-tabs{border-bottom:1px solid var(--line);gap:8px;margin-bottom:16px;display:flex}.writing-task-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 16px;font-family:Arial,sans-serif;font-size:.9rem;font-weight:700}.writing-task-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink)}.writing-task-tab:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}.writing-task-panel{margin:0}.writing-response-meta{margin-top:16px}.exam-shell{grid-template-columns:minmax(190px,.32fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.exam-sidebar{background:var(--surface);border:1px solid var(--line);gap:24px;padding:20px;display:grid}.section-progress ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.section-progress li{border-left:3px solid var(--line);gap:4px;padding:8px 10px;font-family:Arial,sans-serif;display:grid}.section-progress li.is-active{border-left-color:var(--accent);font-weight:700}.section-progress li.is-complete .section-status{color:#2d6a4f}.section-status,.question-navigation-heading>span{color:var(--muted);font-size:.76rem}.question-navigation-heading{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.question-navigation-heading .card-label{margin:0}.question-navigation-grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:8px;display:grid}.question-navigation-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:4px;min-height:38px;font-family:Arial,sans-serif;position:relative}.question-navigation-button.is-current{border-color:var(--accent-dark);box-shadow:0 0 0 2px var(--soft-accent);font-weight:700}.question-navigation-button.is-answered{background:#e7f1eb;border-color:#83a893}.question-navigation-button.is-flagged:after{background:var(--accent);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.exam-workspace{gap:16px;min-width:0;display:grid}.content-group-navigation{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.content-group-navigation button{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;border-radius:4px;min-height:40px;padding:8px 12px}.content-group-navigation button[aria-current=step]{border-color:var(--accent-dark);box-shadow:0 0 0 2px var(--soft-accent);font-weight:700}.exam-workspace.is-reading{grid-template-columns:minmax(0,1fr)}.reading-content-panes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;min-width:0;display:grid}.reading-content-pane{overscroll-behavior:contain;height:min(70vh,760px);min-height:0;overflow-y:auto}.reading-content-pane:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}.exam-workspace.is-reading .passage-panel,.exam-workspace.is-reading .question-panel{margin:0}.exam-workspace.is-reading .exam-save-state,.exam-workspace.is-reading>.error-message,.exam-workspace.is-listening .listening-media{grid-column:1/-1}.listening-media{background:var(--surface);border:1px solid var(--line);padding:18px 24px 0}.listening-media .audio-player{margin-bottom:18px}.listening-player{gap:10px;margin-bottom:18px;display:grid}.listening-player audio{display:none}.listening-playback-status{gap:8px;display:grid}.listening-playback-status .section-copy{margin:0}.listening-progress{accent-color:var(--accent-dark);width:100%;height:8px}.passage-heading,.question-toolbar,.passage-tools{justify-content:space-between;align-items:center;gap:12px;display:flex}.passage-tools{flex-wrap:wrap}.passage-tools .button{padding:9px 12px;font-size:.76rem}.passage-heading .card-label,.question-toolbar .card-label{margin:0}.text-button,.flag-button{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;padding:8px;font-family:Arial,sans-serif;font-size:.8rem;font-weight:700;text-decoration:underline}.flag-button{border:1px solid var(--line);border-radius:4px;text-decoration:none}.flag-button.is-flagged{background:var(--soft-accent);border-color:var(--accent)}.text-button:disabled,.flag-button:disabled,.passage-tools .button:disabled{cursor:not-allowed;opacity:.5}.passage-body mark{color:inherit;background:#ffdf73}.exam-save-state{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-family:Arial,sans-serif;font-size:.82rem;display:flex}.exam-completion{max-width:760px}.exam-completion h1{font-size:clamp(2.2rem,5vw,4rem)}.audio-player{width:100%;margin:0 0 24px}.passage-panel,.question-panel{background:var(--surface);border:1px solid var(--line);padding:28px}.passage-panel{margin:0 0 24px}.passage-body{color:var(--ink);white-space:pre-wrap;font-family:Arial,sans-serif;font-size:1rem;line-height:1.8}.reading-passage-title{margin:0 0 16px;font-size:1.4rem;font-weight:600;line-height:1.3}.reading-paragraph{white-space:pre-wrap;margin:0 0 1rem}.reading-paragraph:last-child{margin-bottom:0}.reading-paragraph-break{white-space:pre;height:.75em;line-height:0;display:block;overflow:hidden}.question-panel h2{margin:16px 0 10px;font-size:1.6rem;font-weight:400;line-height:1.2}.question-instructions{color:var(--muted);font-family:Arial,sans-serif}.answer-options{gap:10px;margin-top:24px;display:grid}.answer-option{border:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:12px;padding:14px;display:flex}.answer-field{gap:10px;margin-top:24px;display:grid}.answer-field span{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-family:Arial,sans-serif;font-size:.8rem;font-weight:700}.answer-field textarea{border:1px solid var(--line);font:inherit;resize:vertical;min-height:140px;padding:14px}.answer-option input{margin-top:3px}.answer-option strong{color:var(--accent-dark);margin-right:6px}.exam-actions{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.exam-actions button:disabled{cursor:not-allowed;opacity:.45}@media (max-width:700px){.site-header{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 20px}.primary-navigation{flex-wrap:wrap;gap:14px 18px}.site-main{padding:48px 20px 80px}.hero-section{padding:24px 0}.dashboard-grid,.admin-metrics,.admin-columns,.form-grid{grid-template-columns:1fr}.admin-columns{gap:28px}.dashboard-intro,.test-card,.result-row{flex-direction:column;align-items:flex-start}.result-row-summary{flex-direction:column;align-items:flex-start;width:100%}.result-row-summary .button{text-align:center;width:100%}.section-result-card{align-items:flex-start}.test-card-action{width:100%}.test-card-action .button{text-align:center;width:100%}.exam-heading{flex-direction:column}.exam-shell,.reading-content-panes{grid-template-columns:1fr}.reading-content-pane{height:auto;max-height:none;overflow:visible}.passage-heading{flex-direction:column;align-items:flex-start}}
