.skill-lab{background:#fffaf2;border:1px solid var(--line);border-radius:14px;overflow:hidden}.skill-lab[hidden]{display:none!important}.lab-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.lab-head button{border:0;background:none;color:var(--terracotta-dark);font-weight:900;cursor:pointer}.lab-head h3{font:700 31px var(--serif);margin:4px 0}.skill-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:26px}.skill-choice{background:#fffdf8;border:1px solid var(--line);border-radius:11px;padding:20px;text-align:left;cursor:pointer;color:var(--espresso);min-height:180px}.skill-choice:hover{border-color:var(--terracotta);transform:translateY(-2px)}.skill-choice>span{width:42px;height:42px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-weight:900}.skill-choice h4{font:700 25px var(--serif);margin:18px 0 8px}.skill-choice p{font-size:11px;color:var(--muted);line-height:1.6}.lab-workspace{padding:26px}.lab-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.lab-toolbar small{font-weight:900;letter-spacing:.12em;color:var(--terracotta-dark)}.lab-timer{font-weight:900}.reading-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.passage-card,.question-card,.coach-card,.writing-prompt{border:1px solid var(--line);border-radius:10px;padding:22px;background:#fffdf8}.passage-card{max-height:520px;overflow:auto}.passage-card h4,.coach-card h4,.writing-prompt h4{font:700 28px var(--serif);margin:0 0 15px}.passage-card p{line-height:1.8;color:var(--brown)}.question-list{display:grid;gap:15px}.question-card fieldset{border:0;padding:0;margin:0}.question-card legend{font-weight:800;margin-bottom:12px}.question-card label{display:flex;gap:8px;padding:8px 0;font-size:12px}.lab-submit{margin-top:20px}.lab-result{margin-top:18px;border-radius:10px;padding:18px;background:var(--sand)}.speaking-stage{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.coach-avatar{background:#4a2e23;color:#fff8ef;border-radius:12px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:390px}.coach-orb{width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f2c7a8,var(--terracotta));display:grid;place-items:center;font:700 34px var(--serif);box-shadow:0 0 0 12px #ffffff14}.coach-avatar p{color:#ead7ca}.coach-controls{display:flex;gap:9px;flex-wrap:wrap}.coach-controls button{border:1px solid #ffffff55;background:#fff0;color:#fff;border-radius:8px;padding:10px 13px;font-weight:800;cursor:pointer}.coach-question{font:700 28px/1.15 var(--serif);margin:12px 0 22px}.transcript{min-height:170px;border:1px solid var(--line);border-radius:9px;padding:15px;background:white;color:var(--muted);line-height:1.7}.recording{border-color:var(--terracotta)!important;background:#fff4e8}.feedback-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.feedback-grid div{padding:14px;background:#fff;border:1px solid var(--line);border-radius:8px}.feedback-grid b{display:block;font-size:11px}.feedback-grid span{font-size:12px;color:var(--muted)}.listening-player{background:#4a2e23;color:#fff8ef;border-radius:12px;padding:28px;margin-bottom:20px;display:flex;align-items:center;gap:22px}.play-recording{width:62px;height:62px;border:0;border-radius:50%;background:var(--terracotta);color:white;font-size:22px;cursor:pointer}.listening-player p{color:#e7d7ca;margin:4px 0}.writing-tabs{display:flex;gap:8px;margin-bottom:18px}.writing-tabs button{border:1px solid var(--line);background:#fffaf2;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.writing-tabs button.active{background:var(--terracotta);color:#fff;border-color:var(--terracotta)}.writing-area{width:100%;min-height:360px;border:1px solid var(--line);border-radius:10px;padding:18px;font:15px/1.7 var(--sans);background:#fffdf8;resize:vertical}.writing-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin:8px 0 18px}
@media(max-width:850px){.skill-picker{grid-template-columns:repeat(2,1fr)}.reading-layout,.speaking-stage{grid-template-columns:1fr}}
@media(max-width:550px){.skill-picker{grid-template-columns:1fr;padding:16px}.lab-workspace{padding:16px}.lab-head{padding:18px}.feedback-grid{grid-template-columns:1fr}.listening-player{align-items:flex-start}.skill-choice{min-height:140px}}
.mode-picker{display:grid;grid-template-columns:1fr repeat(2,minmax(190px,.7fr));gap:12px;align-items:stretch;padding:22px 26px 0}.mode-picker h4{font:700 22px var(--serif);margin:5px 0}.mode-picker button{display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fffdf8;padding:14px 17px;color:var(--espresso);cursor:pointer}.mode-picker button.active{background:var(--espresso);border-color:var(--espresso);color:#fff8ef}.mode-picker button span{font-size:10px;opacity:.72}.mode-notice{margin:-8px 0 20px;padding:12px 15px;border-radius:8px;background:var(--sand);font-size:11px;color:var(--brown)}.mode-notice.exam{background:#4a2e23;color:#fff8ef}.skill-lab[data-mode="exam"] .skill-choice>span{background:var(--terracotta);color:#fff}
@media(max-width:850px){.mode-picker{grid-template-columns:1fr 1fr}.mode-picker>div{grid-column:1/-1}}
@media(max-width:550px){.mode-picker{grid-template-columns:1fr;padding:16px 16px 0}.mode-picker>div{grid-column:auto}}
.listening-library-bar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 16px}.listening-library-bar label{display:grid;gap:7px;font-size:10px;font-weight:900;letter-spacing:.08em}.listening-library-bar select{min-width:220px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:10px;color:var(--espresso);font-weight:800}.listening-library-bar>span{font-size:11px;color:var(--muted)}.real-audio-player{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;background:#4a2e23;color:#fff8ef;border-radius:12px;padding:24px;margin-bottom:20px}.real-audio-player .audio-main{width:64px;height:64px;border:0;border-radius:50%;background:var(--terracotta);color:#fff;font-size:22px;cursor:pointer}.real-audio-player .audio-main:disabled{opacity:.45;cursor:not-allowed}.audio-track{display:grid;gap:10px;min-width:0}.audio-track>div:first-child{display:flex;justify-content:space-between;gap:12px}.audio-track small{color:#dfcbbb}.audio-track>input{width:100%;accent-color:var(--terracotta)}.audio-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px}.audio-actions{display:flex;align-items:center;gap:10px}.audio-actions button,.audio-actions select{border:1px solid #ffffff40;background:#ffffff0c;color:#fff;border-radius:6px;padding:6px 9px}.audio-actions select option{color:#24150f}.audio-actions label{display:flex;align-items:center;gap:7px}.audio-actions input{width:80px;accent-color:var(--terracotta)}.listening-test-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;align-items:start}.question-sheet,.digital-answer-sheet{border:1px solid var(--line);border-radius:11px;background:#fffdf8;overflow:hidden}.sheet-toolbar{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line)}.sheet-toolbar>div{display:flex;align-items:center;gap:9px}.sheet-toolbar small{color:var(--terracotta-dark);font-weight:900;letter-spacing:.08em}.sheet-toolbar button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:6px;font-weight:900;cursor:pointer}.sheet-scroll{height:680px;overflow:auto;background:#eee7dc;text-align:center;padding:12px}.sheet-scroll img{display:block;width:100%;max-width:none;margin:0 auto;background:#fff;box-shadow:0 2px 12px #4b2f2018}.digital-answer-sheet{padding:18px;position:sticky;top:15px}.digital-answer-sheet h4{font:700 25px var(--serif);margin:5px 0}.digital-answer-sheet p{font-size:11px;color:var(--muted)}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-height:510px;overflow:auto;padding-right:4px;margin:16px 0}.answer-grid label{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px}.answer-grid span{font-size:10px;font-weight:900}.answer-grid input{min-width:0;width:100%;border:1px solid var(--line);border-radius:5px;padding:7px;background:#fff}.digital-answer-sheet .button{width:100%}
@media(max-width:900px){.listening-test-layout{grid-template-columns:1fr}.digital-answer-sheet{position:static}.sheet-scroll{height:560px}}
@media(max-width:550px){.listening-library-bar,.audio-meta,.audio-track>div:first-child{align-items:flex-start;flex-direction:column}.real-audio-player{grid-template-columns:1fr;padding:18px}.audio-actions{flex-wrap:wrap}.listening-library-bar select{min-width:0;width:100%}.sheet-scroll{height:480px;padding:6px}.answer-grid{grid-template-columns:1fr}}
.sheet-scroll.native-sheet{height:760px;text-align:left;background:#f7f0e6;padding:18px}.native-question-content{display:grid;gap:18px;max-width:900px;margin:auto}.native-question-content section{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px}.native-question-content section>small{color:var(--terracotta-dark);font-weight:900;letter-spacing:.09em}.native-question-content h4{font:700 24px var(--serif);margin:7px 0}.native-question-content p,.native-question-content li{font-size:12px;line-height:1.6;color:var(--brown)}.native-table{display:grid;margin-top:14px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.native-table>div{display:grid;grid-template-columns:1fr 1.2fr 1.5fr .55fr}.native-table.two>div{grid-template-columns:1fr 2fr}.native-table span,.native-table b{padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}.native-table>div:first-child{background:var(--sand)}.native-blank{display:inline-grid;place-items:center;min-width:34px;padding:2px 5px;border:1px dashed var(--terracotta);border-radius:4px;color:var(--terracotta-dark);font-weight:900;background:#fff7ef}.native-choice{padding:12px 0;border-bottom:1px solid var(--line)}.native-choice ul,.native-notes{margin:8px 0 0;padding-left:20px}.option-bank{padding:12px;background:var(--sand);border-radius:7px;font-size:11px;line-height:1.7}.digital-answer-sheet input.correct{border-color:#68805f;background:#f2f8ee}.digital-answer-sheet input.incorrect{border-color:#a44d3c;background:#fff0ed}.sheet-toolbar>span{font-size:10px;color:var(--muted)}

.integrated-listening-form{display:block}.integrated-listening-form .question-sheet{width:100%}.native-blank{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;min-width:120px;padding:3px 5px}.native-blank span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--sand);font-size:10px}.native-blank input{width:88px;min-width:0;border:0;border-bottom:2px solid var(--terracotta);background:#fffdf8;padding:5px 4px;color:var(--espresso);font-weight:800;outline:none}.native-blank input:focus{background:#fff3e7;border-color:var(--espresso)}.paper-submit{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border-top:1px solid var(--line);background:#fffaf2}.paper-submit>span{font-size:11px;color:var(--muted)}.embedded-answer-area{max-width:900px;margin:18px auto 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;text-align:left}.embedded-answer-area h4{font:700 24px var(--serif);margin:0 0 4px}.embedded-answer-area p{font-size:11px;color:var(--muted)}.embedded-answer-area .answer-grid{grid-template-columns:repeat(4,1fr);max-height:none}.integrated-listening-form input.correct,.reading-inline-answers input.correct{border-color:#68805f!important;background:#f2f8ee!important}.integrated-listening-form input.incorrect,.reading-inline-answers input.incorrect{border-color:#a44d3c!important;background:#fff0ed!important}

.reading-paper-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.reading-paper,.reading-inline-answers{border:1px solid var(--line);border-radius:11px;background:#fffdf8;overflow:hidden}.reading-paper pre{height:760px;overflow:auto;margin:0;padding:28px;white-space:pre-wrap;font:13px/1.75 var(--sans);color:var(--brown);background:#fff}.reading-inline-answers{padding:18px;position:sticky;top:15px}.reading-inline-answers h4{font:700 25px var(--serif);margin:5px 0}.reading-inline-answers p{font-size:11px;color:var(--muted)}.reading-answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;max-height:560px;overflow:auto;padding-right:4px;margin:16px 0}.reading-answer-grid label{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px}.reading-answer-grid span{font-size:10px;font-weight:900}.reading-answer-grid input{min-width:0;width:100%;border:1px solid var(--line);border-radius:5px;padding:7px;background:#fff}.reading-inline-answers .button{width:100%}

@media(max-width:900px){.reading-paper-layout{grid-template-columns:1fr}.reading-inline-answers{position:static}.reading-paper pre{height:600px}.embedded-answer-area .answer-grid{grid-template-columns:repeat(2,1fr)}.paper-submit{align-items:flex-start;flex-direction:column}.paper-submit .button{width:100%}}
@media(max-width:560px){.sheet-scroll.native-sheet{padding:8px}.native-question-content section{padding:14px}.native-table>div,.native-table.two>div{grid-template-columns:1fr}.native-table span,.native-table b{border-right:0}.native-blank{min-width:105px}.native-blank input{width:74px}.reading-paper pre{padding:18px;font-size:12px}.reading-answer-grid{grid-template-columns:1fr}}

.lab-nav-actions{display:flex;align-items:center;gap:8px}.lab-nav-actions button{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:#fffaf2}.lab-nav-actions button[hidden]{display:none}.native-blank{min-width:112px;border:0;border-radius:0;background:transparent;padding:2px;display:inline-flex;flex-wrap:wrap}.native-blank span{flex:0 0 20px;width:20px;height:20px;background:var(--terracotta);color:#fff}.native-blank input{width:82px;background:#fff;border:1px solid var(--line);border-radius:5px;padding:6px 7px}.native-blank small{display:none;flex-basis:100%;margin:4px 0 0 25px;color:#835039;font-size:9px;line-height:1.3}.native-blank small:not(:empty){display:block}.native-table span:has(.native-blank){align-content:center}.native-question-content section{box-shadow:0 8px 24px rgba(77,45,31,.04)}

.reading-paper{border:1px solid var(--line);border-radius:12px;background:#fffdf8;overflow:hidden}.reading-paper-content{height:760px;overflow:auto;padding:42px clamp(22px,5vw,72px);background:#fff;color:var(--brown)}.reading-paper-content p{font-size:14px;line-height:1.85;margin:0 0 14px;max-width:82ch}.reading-paper-heading{font:700 25px/1.25 var(--serif);color:var(--espresso);margin:38px 0 16px;padding-top:24px;border-top:1px solid var(--line)}.reading-paper-heading:first-child{margin-top:0;border-top:0;padding-top:0}.reading-paper-subheading{font:800 16px/1.45 var(--sans);color:var(--espresso);margin:22px 0 8px}.reading-space{height:8px}.reading-bullet{font-size:14px;line-height:1.7;margin:4px 0 4px 18px}.reading-line-answer{display:block;margin:12px 0 24px}.reading-paper-answer{display:inline-flex;vertical-align:middle;align-items:center;flex-wrap:wrap;gap:6px;margin:3px 6px;padding:5px 7px;border:1px solid #dfc4ae;border-radius:7px;background:#fff8ef}.reading-paper-answer>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--terracotta);color:#fff;font-size:10px;font-weight:900}.reading-paper-answer input{width:150px;border:0;border-bottom:2px solid #c27a51;background:#fff;padding:6px 7px;color:var(--espresso);font-weight:800;outline:none}.reading-paper-answer input:focus{border-color:var(--espresso);background:#fffaf2}.reading-paper-answer small{display:none;flex-basis:100%;margin-left:28px;color:#835039;font-size:10px}.reading-paper-answer small:not(:empty){display:block}.reading-remaining{margin-top:40px;padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff8ef}.reading-remaining h4{font:700 24px var(--serif);margin:0 0 5px}.reading-remaining>p{color:var(--muted)}.reading-remaining>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.reading-remaining .reading-paper-answer{margin:0}.reading-remaining input{width:100%;min-width:0}.paper-submit>div{display:flex;align-items:center;gap:9px}.secondary-action{border:1px solid var(--terracotta);border-radius:8px;background:#fff;color:var(--terracotta-dark);padding:11px 15px;font-weight:900;cursor:pointer}.result-summary{display:grid;gap:3px;max-width:650px}.result-summary strong{color:var(--espresso)}.result-summary span{font-size:10px;color:var(--muted)}.embedded-answer-area .answer-grid label{align-items:start}.embedded-answer-area .answer-grid small{display:none;grid-column:2;color:#835039;font-size:9px}.embedded-answer-area .answer-grid small:not(:empty){display:block}

@media(max-width:900px){.reading-paper-content{height:650px;padding:30px 22px}.reading-remaining>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lab-head{align-items:flex-start}.lab-nav-actions{flex-direction:column;align-items:stretch}.reading-paper-content{height:600px;padding:24px 16px}.reading-paper-content p,.reading-bullet{font-size:13px}.reading-paper-answer{display:flex;margin:9px 0}.reading-paper-answer input{flex:1;width:auto;min-width:100px}.reading-remaining>div{grid-template-columns:1fr}.paper-submit>div{width:100%;display:grid;grid-template-columns:1fr 1fr}.paper-submit button{width:100%}}
@media(max-width:650px){.sheet-scroll.native-sheet{height:600px;padding:8px}.native-question-content section{padding:15px}.native-table{overflow-x:auto}.native-table>div{min-width:610px}.native-table.two>div{min-width:470px}}

/* Reading paper typography follows the source document without preserving OCR line wraps. */
.reading-paper-content p{width:100%;max-width:none;line-height:1.72;margin-bottom:16px}.reading-paper-subheading{margin:28px 0 10px;padding-top:2px}.reading-paper-subheading+.reading-paper-subheading{margin-top:10px}.reading-bullet{margin:5px 0 5px 24px}.reading-question-line{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:18px 0 8px;padding:16px 18px;border:1px solid var(--line);border-radius:9px;background:#fffaf4;font-size:14px;line-height:1.65;font-weight:750}.reading-question-line .reading-line-answer{flex:0 0 auto;margin:0}.reading-option{margin:4px 0 4px 24px;padding:7px 12px;border-left:2px solid #ead5c2;font-size:13px;line-height:1.55}.reading-paper-heading+.reading-question-line{margin-top:12px}

/* Keep every listening blank and its number on the same baseline as the sentence. */
.native-blank{display:inline-grid!important;grid-template-columns:20px 72px;align-items:center;gap:5px;min-width:0!important;width:auto;vertical-align:middle;white-space:nowrap;flex-wrap:nowrap!important;margin:0 3px;padding:0!important}.native-blank span{grid-column:1;grid-row:1;margin:0}.native-blank input{grid-column:2;grid-row:1;width:72px!important;box-sizing:border-box}.native-blank small{grid-column:1/-1;grid-row:2;margin:4px 0 0 25px}.native-table>div>span:last-child .native-blank{grid-template-columns:18px 54px}.native-table>div>span:last-child .native-blank input{width:54px!important}.native-table span{align-items:center}.native-table>div>span{line-height:1.55}.native-notes li{margin:7px 0}.native-choice>div{display:flex;align-items:center;gap:8px;margin-top:10px}

@media(max-width:760px){.reading-question-line{display:block}.reading-question-line .reading-line-answer{margin-top:12px}.native-blank{grid-template-columns:18px 64px}.native-blank input{width:64px!important}}

.reading-passage-block{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;margin:20px 0 28px;padding:20px 22px;border:1px solid #ead7c5;border-radius:10px;background:#fffaf5}.reading-passage-label{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--terracotta);color:#fff;font:800 17px var(--serif)}.reading-passage-block p{margin:0 0 13px;line-height:1.72}.reading-passage-block p:last-child{margin-bottom:0}
@media(max-width:560px){.reading-passage-block{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:16px 14px}.reading-passage-label{width:30px;height:30px;font-size:14px}}

#writing-prompt{margin-top:10px}.prompt-number{display:inline-block;margin-bottom:10px;color:var(--terracotta-dark);font-size:10px;font-weight:900;letter-spacing:.1em}.writing-prompt #writing-prompt h4{max-width:950px;margin:0 0 15px;font:700 25px/1.35 var(--serif)}.writing-instruction{margin:0 0 10px;color:var(--brown);font-weight:800}.writing-prompt ul{margin:8px 0 0;padding-left:22px;display:grid;gap:7px}.writing-prompt li{font-size:13px;line-height:1.55;color:var(--brown)}
.speaking-question-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.speaking-question-head button{border:1px solid var(--line);background:#fffaf2;border-radius:999px;padding:9px 13px;color:var(--terracotta-dark);font-weight:800;cursor:pointer}.speaking-guidance{margin:-8px 0 18px;color:var(--muted);line-height:1.6}.voice-picker{display:grid;gap:7px;font-size:10px;font-weight:900;letter-spacing:.1em;color:#ead7ca}.voice-picker select{width:100%;border:1px solid #ffffff55;border-radius:8px;background:#fffaf2;color:var(--espresso);padding:10px;font:12px var(--sans)}.voice-status{min-height:32px;margin:4px 0;color:#ead7ca;font-size:10px;line-height:1.5}.voice-status[data-state="loading"]{color:#ffd0af}.voice-status[data-state="ready"]{color:#d9efdd}.voice-status[data-state="fallback"]{color:#ffd8c7}.ai-voice-note{display:block;margin-top:12px;color:#d9c4b8;font-size:9px;letter-spacing:.04em}.coach-controls button:disabled{cursor:wait;opacity:.65}
@media(max-width:560px){.speaking-question-head{align-items:flex-start;flex-direction:column}.speaking-question-head button{width:100%}}
.native-blank>span,.native-table .native-blank>span{display:grid;place-items:center;box-sizing:border-box;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:var(--terracotta);color:#fff;font-size:11px;font-weight:800;line-height:1;text-align:center}
.native-table>div>span:last-child .native-blank{grid-template-columns:20px 54px}
