:root{--blue:#258ee9;--deep:#3273dc;--ink:#26354b;--muted:#718096;--line:#dce7f2}*{box-sizing:border-box}body{margin:0;font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:#f0f6fb}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #95caff;outline-offset:3px}.auth-scene{min-height:100vh;padding:65px 24px 30px;background:radial-gradient(ellipse 120% 90% at 12% -6%,#4475e5 0%,#3a8bed 53%,#f0f6fb 53.3%,#f0f6fb 100%);position:relative}.site-brand{display:flex;align-items:center;justify-content:center;gap:18px;color:#fff;text-align:left;margin:0 auto 38px}.site-brand svg{width:65px;height:65px;flex:none}.site-brand strong{font-size:27px;letter-spacing:1px;display:block;font-weight:600}.site-brand span{display:block;font-size:13px;opacity:.8;letter-spacing:5px;margin-top:10px}.auth-teacher-entry{position:absolute;right:28px;top:20px;color:white;border:1px solid #ffffff70;border-radius:30px;padding:8px 21px;font-size:14px;background:#ffffff15}.auth-card{width:min(100%,410px);margin:auto;background:#fffffff5;border:1px solid #fff;border-radius:14px;box-shadow:0 12px 42px #21487e1f;padding:32px 35px}.auth-card h1{font-size:24px;color:#287fce;text-align:center;margin:0 0 10px;font-weight:600}.auth-subtitle{font-size:13px;color:var(--muted);text-align:center;margin:0 0 28px}.auth-card label{display:block;font-size:13px;color:#526278;margin:17px 0 7px}.auth-card input{display:block;width:100%;height:44px;padding:10px 13px;border:1px solid #d8e1ec;border-radius:6px;background:#fff;color:#26354b;font-size:14px}.auth-card input:focus{border-color:var(--blue)}.auth-card input::placeholder{color:#98a4b5}.auth-submit{display:block;width:100%;border:0;border-radius:6px;background:var(--blue);color:#fff;height:44px;margin-top:26px;font-weight:600;box-shadow:0 3px 9px #238ee928}.auth-submit:hover{background:#137bda}.auth-links{text-align:center;font-size:13px;color:#7c8795;margin:22px 0 0}.auth-links a{margin-left:5px}.auth-status{border:1px solid #ffd5ca;background:#fff2ee;padding:10px 12px;font-size:13px;color:#b5452b;border-radius:6px;margin-top:15px;line-height:1.6}.auth-footer{text-align:center;color:#7890aa;font-size:12px;margin-top:32px;letter-spacing:2px}.route-loading{min-height:60vh;display:grid;place-items:center;color:#5182b2}.route-error{max-width:620px;padding:35px;background:white;border-radius:12px;margin:80px auto}.route-error button{background:var(--blue);border:0;color:#fff;border-radius:5px;padding:10px 20px}@media(max-width:650px){.auth-scene{padding:78px 18px 26px;background:radial-gradient(ellipse 180% 62% at 15% 0%,#477be7 0%,#348fea 55%,#f0f6fb 55.4%,#f0f6fb 100%)}.site-brand{gap:9px;margin-bottom:25px}.site-brand svg{width:43px;height:43px}.site-brand strong{font-size:18px;line-height:1.5;max-width:285px;letter-spacing:0}.site-brand span{font-size:10px;margin-top:4px}.auth-card{padding:26px 24px}.auth-teacher-entry{right:18px;top:16px;padding:6px 16px;font-size:12px}.auth-card h1{font-size:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
.auth-step{text-align:center;font-size:12px;letter-spacing:2px;color:#4387c5;margin:0 0 12px}.auth-setup{width:min(100%,460px)}.auth-setup .auth-subtitle{line-height:1.7;margin-bottom:18px;color:#436582}.auth-guidance{background:#eef7ff;border:1px solid #d5eaff;border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.7;color:#466784}.auth-guidance strong{color:#267dca;font-size:14px}.auth-guidance p{margin:5px 0 0}.auth-help{font-size:12px;color:#73859a;line-height:1.7;margin:7px 0 0}.auth-notice{background:#edf6ff;border:1px solid #cde4fb;border-radius:6px;padding:11px 13px;color:#3877af;font-size:13px;line-height:1.7}.auth-waiting h1{font-size:22px;line-height:1.5}.auth-waiting .auth-subtitle{line-height:1.9;margin:18px 0}.auth-waiting{padding-top:35px;padding-bottom:35px}
/* Browser preview account flow. */
.account-scene{min-height:100svh;padding:24px 18px 44px;background:linear-gradient(155deg,#e4f2ff,#f4f8fc 50%);color:#26354b}.account-shell{max-width:660px;margin:auto}.account-shell>.account-button{margin-bottom:18px}.account-card{background:#fff;border:1px solid #dce7f2;border-radius:16px;padding:30px;box-shadow:0 8px 30px #1f5b9410}.account-card h1{font-size:27px;margin:18px 0 12px;color:#246fad}.account-card h2{font-size:18px;margin:0 0 10px}.account-eyebrow{color:#4183b9;font-size:13px;letter-spacing:1px;margin:0 0 16px}.account-notice{padding:12px 15px;border:1px solid #bcdcf5;border-radius:8px;background:#eef7ff;color:#3d6684;font-size:13px;line-height:1.8}.account-intro,.account-help{color:#637a8d;line-height:1.8}.account-help{font-size:13px}.account-card label{display:block;margin:18px 0;color:#41586e;font-size:14px}.account-card input,.account-card select{display:block;width:100%;min-height:44px;border:1px solid #cad8e6;border-radius:7px;padding:10px 12px;margin-top:7px;background:#fff;color:#26354b}.account-card input:disabled{background:#f2f5f8}.account-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;background:#fff;color:#2679b9;border:1px solid #abcce7;border-radius:7px;font-size:14px;line-height:1.5;text-align:center}.account-button.primary{background:#2186d3;border-color:#2186d3;color:#fff;font-weight:600}.account-button:hover{filter:brightness(.97)}.account-button:disabled{opacity:.65;background:#eef2f6;color:#7a8b9c;border-color:#d9e1e9;cursor:not-allowed}.account-card form>.account-button{width:100%;margin-top:12px}.account-sms{display:flex;gap:12px;align-items:flex-end}.account-sms label{flex:1;margin:0}.account-sms .account-button{max-width:165px}.account-payment,.account-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.account-payment .account-button{flex:1}.account-preview-box{background:#f8fbfe;border:1px dashed #99bfdf;border-radius:9px;padding:20px;margin-top:26px}.account-preview-box p{font-size:14px;line-height:1.8;color:#657a8f}.account-price{display:flex;align-items:center;gap:14px;color:#607689}.account-price strong{font-size:42px;color:#2186d3}.account-profile{line-height:2}.account-badge{display:inline-block;padding:1px 8px;border-radius:4px;background:#fff1db;color:#8f6a2e;font-size:12px}.account-status{padding:12px 15px;margin-top:18px;border:1px solid #bbd6ed;border-radius:7px;background:#f1f8ff;color:#376583;font-size:14px;line-height:1.8}.account-success{color:#287943!important}.account-scene [hidden]{display:none!important}@media(max-width:600px){.account-scene{padding:18px 14px 32px}.account-card{padding:22px 18px}.account-card h1{font-size:24px}.account-sms{align-items:stretch;flex-direction:column}.account-sms .account-button{max-width:none}.account-card input,.account-card select{font-size:16px}.account-payment{flex-direction:column}.account-actions .account-button{flex:1 1 45%}.account-price strong{font-size:36px}}
.account-shell > [data-account-action="back"]{font-size:24px;font-weight:700;min-height:58px;padding:14px 24px;background:#125a94;color:#fff;border:3px solid #0d497a}

/* Verified-account pages share auth.css controls and add real contact/invitation assets. */
.account-scene .account-section-title {font-size:18px;line-height:1.7;margin:26px 0 14px;}
.account-scene .account-qr {margin:20px auto;text-align:center;}
.account-scene .account-qr img,.account-scene .account-qr svg {display:block;width:240px;max-width:100%;height:auto;margin:0 auto;background:#fff;}
.account-scene .account-qr img {aspect-ratio:1;object-fit:contain;}
.account-scene .account-qr figcaption {margin-top:12px;font-size:13px;line-height:1.7;color:#637a8d;}
.account-scene .account-qr-empty {margin:20px 0;padding:30px 20px;background:#f7fafc;border:1px dashed #c7d7e5;border-radius:10px;color:#637a8d;text-align:center;line-height:1.8;}
.account-scene .account-contact {text-align:center;color:#41586e;overflow-wrap:anywhere;}
.account-scene .account-invitation-count {padding:14px 18px;border-radius:8px;background:#eef7ff;color:#416780;line-height:1.8;}
.account-scene .account-invitation-count strong {font-size:24px;color:#246fad;white-space:nowrap;}
.account-scene .account-invite-link input {font-size:13px;background:#f7fafc;}
.account-scene .account-invite-tools {display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0;}
.account-scene .account-text-link {color:#1976d2;text-underline-offset:3px;overflow-wrap:anywhere;}
.account-scene .account-badge {background:#e8f4ec;color:#287943;}
.account-scene .account-sms .account-button {min-width:116px;white-space:nowrap;}
.account-scene input:focus-visible,.account-scene select:focus-visible,.account-scene button:focus-visible {outline:2px solid #2186d3;outline-offset:3px;}
@media(max-width:600px) {
  .account-scene .account-qr img,.account-scene .account-qr svg {width:220px;}
  .account-scene .account-actions .account-button {flex:1 1 100%;}
}

.admin-scene{min-height:100svh;background:#f3f7fc;color:#26384b;font:15px/1.65 Arial,"Microsoft YaHei","PingFang SC",sans-serif}.admin-scene *{box-sizing:border-box}.admin-scene [hidden]{display:none!important}.admin-scene button,.admin-scene input,.admin-scene textarea,.admin-scene select{font:inherit}.admin-scene button{cursor:pointer}.admin-scene button:disabled{cursor:wait;opacity:.55}.admin-scene button:focus-visible,.admin-scene input:focus-visible,.admin-scene textarea:focus-visible,.admin-scene select:focus-visible,.admin-scene summary:focus-visible{outline:3px solid #82b9eb;outline-offset:3px}.admin-header{background:#187bc7;color:#fff;padding:25px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-header p{margin:0;font-size:14px;color:#e0f0ff;letter-spacing:1px}.admin-header h1{font-size:25px;letter-spacing:1px;margin:4px 0 0}.admin-user{display:flex;align-items:center;gap:18px;white-space:nowrap}.admin-shell{max-width:1228px;margin:auto;padding:0 24px 48px}.admin-nav{display:flex;gap:8px;border-bottom:1px solid #dce5ef;margin-bottom:28px;overflow:auto;padding-top:16px}.admin-button{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:39px;padding:8px 17px;border:1px solid transparent;border-radius:5px;background:#2189d9;color:#fff;text-decoration:none;white-space:nowrap;font-weight:500}.admin-button:hover{background:#1577c2}.admin-button.subtle{background:#eaf2fb;color:#2675b5}.admin-button.subtle:hover{background:#dceaf9}.admin-button.outline{background:#fff;color:#227cc2;border-color:#aed0ed}.admin-button.link{background:transparent;color:#227cc2;padding:5px 0}.admin-button.danger-link{background:transparent;color:#b34b4b;padding:2px 0;font-size:13px;min-height:28px}.admin-button.header-button{background:#ffffff1a;border-color:#ffffff60;color:white;padding:5px 13px;font-size:13px;min-height:32px}.admin-nav .admin-button{border-radius:0;background:transparent;color:#65758a;border-bottom:3px solid transparent;padding:14px 24px;font-size:16px}.admin-nav .admin-button.active{color:#187bc7;border-bottom-color:#2189d9;font-weight:700}.admin-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.admin-section-head h2{font-size:23px;color:#203b53;margin:0 0 5px}.admin-section-head p{color:#6c7f92;font-size:14px;margin:0}.admin-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.admin-message{margin:0 0 20px;padding:12px 16px;border:1px solid #bde0c5;border-radius:6px;background:#f0faf3;color:#276b3c;overflow-wrap:anywhere}.admin-message.error,.admin-error{background:#fff3f1;border:1px solid #ecc2bc;color:#a33e34}.admin-message.info{background:#edf6ff;border-color:#c1dbee;color:#28678f}.admin-error{padding:13px 16px;margin-bottom:16px;border-radius:6px}.admin-error .admin-button{margin-left:10px}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.admin-stat{padding:21px 23px;border:1px solid #e0e8f1;border-radius:8px;background:#fff;border-top:3px solid #77b8ec}.admin-stat p{font-size:14px;color:#667f93;margin:0 0 10px}.admin-stat strong{font-size:32px;line-height:1.2;color:#187bc7;display:block;letter-spacing:-1px}.admin-stat span{display:block;font-size:12px;color:#8b99a7;margin-top:12px}.admin-panel{border:1px solid #e0e8f1;border-radius:8px;background:#fff;margin-bottom:22px;overflow:hidden}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 22px;border-bottom:1px solid #e7edf5}.admin-panel-head h3{font-size:17px;margin:0}.admin-tip{background:#eaf3fc;border-left:3px solid #70afe0;padding:15px 20px;border-radius:3px;font-size:14px;color:#476c89}.admin-tip p{margin:5px 0 0}.admin-empty{text-align:center;padding:54px 22px;color:#8395a7;background:white;border:1px solid #e4ebf3;border-radius:8px}.admin-panel .admin-empty{border:0;border-radius:0}.admin-empty strong{display:block;font-size:18px;font-weight:500;color:#4f6b83}.admin-empty p{font-size:14px;margin:9px 0 0}.admin-exam-list{display:grid;gap:14px}.admin-exam-card{display:flex;align-items:center;gap:19px;background:white;border:1px solid #e0e8f1;border-radius:8px;padding:23px}.admin-exam-number{color:#86b7dc;background:#edf6fe;border-radius:6px;width:48px;height:56px;display:grid;place-items:center;font-size:22px;flex-shrink:0}.admin-exam-info{flex:1;min-width:0}.admin-exam-info h3{font-size:17px;margin:0 0 4px;color:#29455d;overflow-wrap:anywhere}.admin-exam-info p{font-size:13px;margin:0 0 6px;color:#8592a1}.admin-badge{display:inline-block;border-radius:4px;padding:2px 8px;font-size:12px;line-height:1.6;background:#edf3fa;color:#5d7a95;white-space:nowrap}.admin-badge.success{background:#e9f6ef;color:#35885e}.admin-badge.pending{background:#fff2dd;color:#9d712f}.admin-search{display:flex;gap:15px;align-items:center;margin-bottom:18px}.admin-search label{font-size:14px;color:#61788f}.admin-search input{width:310px;max-width:100%;padding:9px 12px;border:1px solid #d4e0ec;background:white;border-radius:5px;min-height:41px;color:#29455d}.admin-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e0e8f1;border-radius:7px}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;white-space:nowrap}.admin-table th{background:#edf4fc;color:#5c768e;font-weight:500;padding:13px 21px}.admin-table td{padding:16px 21px;border-top:1px solid #edf1f7}.admin-table tr:hover td{background:#fafcfe}.admin-attempts{border-radius:8px;overflow:hidden;border:1px solid #e0e8f1;background:#fff}.admin-panel .admin-attempts{border:0;border-radius:0}.admin-attempt{border-bottom:1px solid #e7edf4}.admin-attempt:last-child{border-bottom:0}.admin-attempt summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;padding:19px 22px}.admin-attempt summary::-webkit-details-marker{display:none}.admin-attempt summary:hover{background:#f9fcff}.admin-attempt-person{width:120px;flex-shrink:0;overflow-wrap:anywhere}.admin-attempt-person small,.admin-attempt-exam small{display:block;font-size:12px;color:#8a98a8;margin-top:4px}.admin-attempt-exam{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}.admin-attempt-score{min-width:80px;text-align:right;white-space:nowrap}.admin-score{font-size:22px;color:#257dbb}.admin-expand{font-size:12px;color:#3484c4;white-space:nowrap}.admin-expand:after{content:'⌄';margin-left:8px}.admin-attempt[open] .admin-expand:after{content:'⌃'}.admin-attempt-detail{padding:0 22px 22px;background:#fbfdff}.admin-pending-note{font-size:13px;padding:11px 14px;color:#957437;background:#fff7e8;border-radius:5px;margin:0 0 13px}.admin-answer-chips{display:flex;gap:10px;flex-wrap:wrap;padding-top:16px}.admin-answer-chips span{padding:6px 13px;border:1px solid #dce8f3;background:white;border-radius:4px;font-size:13px}.admin-muted{color:#8998a7;font-size:13px;line-height:1.7}.admin-editor{padding-bottom:15px}.admin-form-panel{padding:24px}.admin-field{display:flex;flex-direction:column;gap:7px;font-size:14px;min-width:0;margin-bottom:18px}.admin-field>span{color:#597086}.admin-field input,.admin-field textarea,.admin-field select{width:100%;border:1px solid #cfdae6;background:#fff;color:#273e54;border-radius:5px;padding:9px 11px;min-height:41px}.admin-field textarea{resize:vertical;line-height:1.65;min-height:73px}.admin-field input:focus,.admin-field textarea:focus,.admin-field select:focus{border-color:#5e9ecf}.admin-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-grid-two .admin-field{margin-bottom:0}.admin-paper{padding:25px;background:#fff;border:1px solid #dce6f0;border-radius:8px;margin-bottom:24px}.admin-paper-title{display:flex;gap:16px;align-items:center;margin-bottom:18px}.admin-paper-title h3{font-size:21px;color:#187bc7;margin:0}.admin-paper-title span{color:#8a9aaa;font-size:13px}.admin-section-editor{border:1px solid #dce6f0;border-radius:6px;margin-bottom:17px;overflow:hidden}.admin-section-editor>summary{display:flex;justify-content:space-between;gap:16px;padding:14px 18px;background:#f0f6fc;color:#426480;cursor:pointer;list-style:none;align-items:center}.admin-section-editor>summary::-webkit-details-marker{display:none}.admin-section-editor>summary:before{content:'›';font-size:23px;line-height:1}.admin-section-editor[open]>summary:before{transform:rotate(90deg)}.admin-section-editor>summary>span{flex:1}.admin-section-editor>summary small{font-size:12px;color:#7891a7}.admin-section-body{padding:8px 20px 20px}.admin-section-tools,.admin-question-tools{display:flex;justify-content:flex-end;margin:0 0 4px}.admin-audio-box{background:#f6f9fc;border:1px dashed #c8d9e9;border-radius:6px;padding:17px;margin:20px 0}.admin-audio-box>strong{font-size:14px;color:#54738d;font-weight:500}.admin-audio-box audio{display:block;width:100%;max-width:420px;height:40px;margin:13px 0}.admin-audio-box .admin-muted{margin:8px 0 0}.admin-upload{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;font-size:13px;color:#4c7698}.admin-upload input{font-size:12px;max-width:100%}.admin-upload input::file-selector-button{font:inherit;border:1px solid #a9c9e5;background:#fff;color:#307cb7;padding:7px 11px;border-radius:4px;margin-right:12px;cursor:pointer}.admin-audio-error{font-size:13px;color:#b04c43}.admin-question{position:relative;border:1px solid #e0e7ef;border-radius:6px;margin:22px 0;padding:8px 18px 19px;min-width:0;background:white}.admin-question legend{padding:0 9px;font-weight:700;color:#3f6b8e;font-size:14px}.admin-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.admin-options input{font-size:14px}.admin-save-bar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #d4e3ef;border-radius:8px;box-shadow:0 -4px 22px #163e6810;padding:17px 24px}.admin-save-bar strong{font-size:14px;font-weight:500;color:#51708c}.admin-save-bar p{font-size:12px;color:#8c9cac;margin:2px 0 0}.admin-save-bar .admin-button{min-width:130px}@media(max-width:900px){.admin-header{padding:22px 24px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-options{grid-template-columns:1fr}.admin-exam-card{flex-wrap:wrap}.admin-exam-card>.admin-actions{margin-left:67px}.admin-attempt summary{gap:13px}.admin-attempt-person{width:85px}.admin-expand{font-size:0}.admin-expand:after{font-size:18px}.admin-nav .admin-button{padding:14px 18px}.admin-header p{letter-spacing:0;font-size:12px}}@media(max-width:600px){.admin-header{padding:19px 16px;align-items:flex-start;gap:12px}.admin-header h1{font-size:22px}.admin-header p{max-width:235px;line-height:1.5}.admin-user{flex-direction:column;gap:9px;font-size:13px;align-items:flex-end}.admin-shell{padding:0 14px 30px}.admin-nav{margin-bottom:22px;gap:0;padding-top:8px}.admin-nav .admin-button{font-size:14px;padding:13px 15px;flex-shrink:0}.admin-section-head{align-items:flex-start;flex-wrap:wrap;gap:13px}.admin-section-head h2{font-size:21px}.admin-section-head p{font-size:13px}.admin-stats{gap:11px}.admin-stat{padding:17px}.admin-stat strong{font-size:27px}.admin-stat span{font-size:11px}.admin-stat p{margin-bottom:8px;font-size:13px}.admin-panel-head{padding:14px 16px}.admin-exam-card{padding:17px;gap:12px}.admin-exam-number{width:38px;height:47px;font-size:19px}.admin-exam-info h3{font-size:15px}.admin-exam-card>.admin-actions{margin-left:50px}.admin-button{font-size:13px;padding:7px 13px;min-height:36px}.admin-search{align-items:flex-start;gap:7px;flex-direction:column}.admin-search input{width:100%}.admin-table th,.admin-table td{padding:12px 16px;font-size:13px}.admin-attempt summary{padding:15px 14px;display:grid;grid-template-columns:1fr auto;gap:6px 13px}.admin-attempt-person{width:auto;display:flex;align-items:center;gap:9px}.admin-attempt-person small{margin:0}.admin-attempt-exam{grid-column:1;grid-row:2}.admin-attempt-score{grid-column:2;grid-row:1}.admin-expand{grid-column:2;grid-row:2;text-align:right}.admin-attempt-detail{padding:0 13px 15px}.admin-form-panel,.admin-paper{padding:17px}.admin-grid-two{gap:14px;grid-template-columns:1fr}.admin-section-editor>summary{padding:12px;align-items:flex-start;gap:8px;flex-wrap:wrap}.admin-section-editor>summary>span{font-size:14px;min-width:150px}.admin-section-editor>summary small{padding-left:16px;width:100%}.admin-section-body{padding:8px 12px 16px}.admin-question{padding:8px 12px 15px}.admin-save-bar{padding:13px 15px;bottom:0;gap:10px}.admin-save-bar p{max-width:180px;font-size:11px}.admin-save-bar .admin-button{min-width:95px}.admin-field input,.admin-field textarea,.admin-field select{font-size:16px}}
.admin-shell>.admin-message:first-child{margin-top:24px}.admin-panel-head h2{margin:0;font-size:19px}.admin-exam-list{padding:16px}.admin-panel .admin-table-wrap{border:0;border-radius:0}.admin-scene button:disabled{cursor:not-allowed}.admin-shell .admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.admin-shell .admin-stats{grid-template-columns:1fr}.admin-exam-list{padding:10px}}

/* Verified accounts, historical answers and genuine contact QR settings. */
.admin-practiced-exams{list-style:none;padding:0;margin:0}
.admin-practiced-exams li{display:flex;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid #e7edf4}
.admin-practiced-exams li:last-child{border-bottom:0}
.admin-practiced-exams strong{white-space:nowrap;color:#2675b5}
.admin-attempt-detail>.admin-actions{margin:12px 0 16px}
.admin-record-question{padding:16px 18px;margin:12px 0;background:#fff;border:1px solid #dce6f0;border-radius:6px;overflow-wrap:anywhere}
.admin-record-question h4{margin:0 0 10px;color:#29455d;font-size:15px}
.admin-record-question p{margin:8px 0}
.admin-record-question .admin-badge{margin-left:8px}
.admin-badge.wrong{background:#fff0ed;color:#a34239}
.admin-record-options{list-style:none;padding:0;margin:12px 0}
.admin-record-options li{padding:8px 12px;margin:7px 0;border:1px solid #dce6f0;border-radius:4px}
.admin-record-options li.correct{background:#edf9f2;border-color:#b6ddc7;color:#286b45}
.admin-record-options li.selected{background:#edf5ff;border-color:#b5cfea;color:#285c8d}
.admin-record-question[data-admin-answer-state="wrong"] .admin-record-options li.selected{background:#fff2ef;border-color:#e6bcb5;color:#a34239}
.admin-record-options strong{margin-left:8px;font-size:12px}
.admin-answer-labels{font-size:14px;color:#4d657b}
.admin-all-answers{margin-top:18px}
.admin-all-answers>summary{cursor:pointer;color:#227cc2;padding:8px 0}
.admin-contact-qr{margin:10px 0 24px;max-width:300px;text-align:center}
.admin-contact-qr img{display:block;width:240px;height:auto;max-width:100%;margin:auto;border:1px solid #dce6f0;border-radius:6px;background:#fff;padding:10px}
.admin-contact-qr figcaption{margin-top:8px;font-size:13px;color:#667f93}
.admin-scene .admin-audio-box audio{max-width:none;height:48px}
.admin-audio-advanced{margin:0 0 20px;border:1px solid #dce6f0;border-radius:6px}
.admin-audio-advanced>summary{padding:10px 14px;cursor:pointer;color:#426480;background:#f6f9fc}
.admin-audio-advanced>.admin-field{padding:14px;margin:0}
.admin-audio-box .admin-audio-error{margin:8px 0 0}
@media(max-width:600px){.admin-practiced-exams li{padding:12px 16px}.admin-record-question{padding:12px}.admin-contact-qr{max-width:100%}}

.portal-scene{min-height:100vh;padding:48px 28px 30px;background:linear-gradient(160deg,#4381e6,#3399ed) no-repeat;background-size:100% 240px;background-color:#f0f6fb}.portal-scene .site-brand{margin-bottom:35px}.portal-scene .site-brand strong{font-size:25px}.verify-card{width:min(100%,480px);background:#fff;padding:28px 32px;border-radius:12px;box-shadow:0 8px 28px #223d601f;margin:auto}.verify-card h1{text-align:center;color:#228cdc;font-size:23px;margin:0 0 28px}.verify-profile{background:#f5f8fc;border:1px solid #e5edf6;padding:20px;display:flex;gap:20px;align-items:center;border-radius:8px}.student-avatar{width:74px;flex:none}.verify-profile p{font-size:14px;line-height:1.8;margin:4px 0;overflow-wrap:anywhere}.verify-profile strong{font-weight:500;color:#3288d7}.verify-card ol{font-size:13px;color:#75859a;padding-left:20px;line-height:2.2;margin:22px 0}.verify-actions{display:flex;justify-content:space-between;gap:20px}.portal-button{background:#2394ed;color:#fff;border:0;border-radius:5px;padding:10px 19px;font-size:14px;white-space:nowrap}.portal-button:hover{background:#167cd5}.portal-button.secondary{background:#e8edf2;color:#5d6b7c}.portal-link{color:#4686c7;border:0;background:transparent;padding:5px;font-size:13px}.portal-footnote{text-align:center;font-size:12px;color:#8091a6;margin:24px 0}.exam-list-panel{max-width:1060px;margin:auto;background:#fff;padding:24px;border-radius:12px;box-shadow:0 8px 28px #223d601a}.portal-panel-top{position:relative;margin-bottom:24px}.portal-panel-top h1{font-size:25px;text-align:center;color:#258fdc;margin:0;padding:5px}.portal-account{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin:12px 0 0;font-size:13px;color:#708196}.paper-area{background:#f8fafc;border:1px solid #eff2f7;border-radius:8px;padding:18px}.paper-toolbar{display:flex;align-items:center;gap:15px;margin-bottom:18px;flex-wrap:wrap}.paper-filters{display:flex;gap:7px}.paper-filters button{background:#fff;color:#5282a8;border:1px solid #cde0ef;border-radius:5px;padding:9px 13px;white-space:nowrap;font-size:13px}.paper-filters .selected{background:#258feb;color:#fff;border-color:#258feb}.paper-search{flex:1;min-width:150px}.paper-search input{width:100%;padding:9px 12px;border:1px solid #dce5ef;border-radius:5px;background:white;font-size:13px}.paper-row{display:flex;align-items:center;gap:15px;padding:18px 16px;background:#edf4fa;border:1px solid #e2ebf4;margin-bottom:10px;border-radius:7px}.paper-number{background:#258fee;color:#fff;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:15px;flex:none}.paper-name{flex:1;min-width:0}.paper-name strong{font-size:15px;font-weight:500;line-height:1.6;display:block;overflow-wrap:anywhere}.paper-name span{font-size:12px;color:#7b92a7;display:block;margin-top:4px}.list-total{font-size:12px;text-align:center;color:#8797a9;margin:23px 0 5px}.paper-empty{text-align:center;color:#8595a7;padding:55px 10px}.paper-empty strong{font-size:16px;font-weight:500}.paper-empty p{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.portal-scene{padding:28px 14px;background-size:100% 185px}.portal-scene .site-brand strong{font-size:18px}.portal-scene .site-brand{margin-bottom:26px}.verify-card{padding:25px 20px}.verify-profile{padding:15px;gap:15px}.exam-list-panel{padding:20px 12px}.paper-area{padding:10px}.paper-toolbar{gap:9px}.paper-search{order:3;flex-basis:100%}.paper-toolbar>.portal-button{margin-left:auto;padding:9px 12px}.paper-filters button{padding:9px 10px;font-size:12px}.paper-row{padding:14px 10px;gap:9px;flex-wrap:wrap}.paper-name strong{font-size:14px}.paper-row>.portal-button{margin-left:auto;padding:8px 12px;font-size:13px}.paper-number{width:27px;height:27px;font-size:13px}.portal-panel-top h1{font-size:22px}.portal-account{justify-content:center;margin-top:10px;gap:12px}}
.teacher-welcome{max-width:760px;margin:auto;background:#fff;padding:26px 30px 30px;border-radius:12px;box-shadow:0 8px 28px #223d601f}.teacher-welcome>.portal-account{margin:0 0 24px}.teacher-welcome h1{font-size:25px;color:#268bd4;text-align:center;margin:0 0 12px;line-height:1.5}.welcome-intro{text-align:center;font-size:14px;line-height:1.8;color:#73859a;margin:0 0 26px}.welcome-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.welcome-choices article{display:flex;flex-direction:column;align-items:flex-start;padding:25px;background:#f3f8fd;border:1px solid #dceaf7;border-radius:10px}.welcome-symbol{display:grid;place-items:center;width:40px;height:40px;background:#e1f0ff;border-radius:10px;color:#288bd6;font-size:21px}.welcome-choices h2{font-size:18px;margin:16px 0 7px}.welcome-choices p{font-size:13px;color:#71859a;line-height:1.8;margin:0 0 22px;flex:1}.welcome-choices .portal-button{width:100%;padding:13px 16px;font-weight:600}.welcome-choices .portal-button.secondary{background:white;border:1px solid #8bbde7;color:#267ab9}.welcome-tip{font-size:12px;text-align:center;line-height:1.8;color:#8191a3;margin:24px 0 0}.paper-filters{flex-wrap:wrap}.portal-account{flex-wrap:wrap}@media(max-width:650px){.teacher-welcome{padding:22px 18px}.teacher-welcome h1{font-size:21px}.teacher-welcome>.portal-account{margin-bottom:20px}.welcome-choices{grid-template-columns:1fr;gap:13px}.welcome-choices article{padding:20px}.welcome-choices h2{margin-top:12px}.welcome-choices p{margin-bottom:15px}}

/* Reference exam layout, scoped to this module. */
.exam-scene{position:fixed;inset:0;z-index:50;margin:0;overflow:hidden;background:#f0f4f7;color:#333;font-family:'Microsoft YaHei','PingFang SC',sans-serif;font-size:14px;line-height:1.5}
.exam-scene *{box-sizing:content-box}
.exam-scene button,.exam-scene input{font:inherit}
.exam-scene button{cursor:pointer}
.exam-scene button:disabled{cursor:not-allowed;opacity:.48}
.exam-scene button:focus-visible,.exam-scene input:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.exam-scene .container{width:80%;max-width:1200px;margin:0 auto;background:#fff;padding:0 20px;border-radius:0 0 10px 10px;box-shadow:0 0 10px #0000001a;display:flex;flex-direction:column;height:calc(100dvh - 50px)}
.exam-scene .content-wrapper{display:flex;flex:1;min-height:0;height:100%;overflow:hidden}
.exam-scene .main-content{flex:1;min-width:0;position:relative;height:100%;overflow:hidden;padding-right:20px}
.exam-scene .main-content.exam-mode{display:block;overflow-y:auto;padding-right:20px}
.exam-scene .main-content.showing-notice{display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:0}
.exam-scene .main-content::-webkit-scrollbar{width:6px}
.exam-scene .main-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}
.exam-scene .main-content::-webkit-scrollbar-thumb{background:#888;border-radius:3px}
.exam-scene .sidebar{width:200px;min-width:200px;background:#e6f4ff;padding:0 15px;border-radius:0 0 5px 5px;display:flex;flex-direction:column;height:100%}
.exam-scene .user-info{padding:15px 0 10px;border-bottom:1px solid #0000001a;margin-bottom:15px;display:flex;flex-direction:column;align-items:center}
.exam-scene .seat-number{font-size:28px;font-weight:bold;margin:5px 0;color:#333;display:flex;align-items:center;justify-content:center;gap:10px}
.exam-scene .seat-number:before,.exam-scene .seat-number:after{content:'';display:block;width:20px;height:1px;background:#ccc}
.exam-scene .user-photo{width:50px;height:62px;margin:5px auto;background:#fff;border:2px solid #fff;box-shadow:0 0 3px #0000001a;display:flex;align-items:center;justify-content:center;color:#a5bdd0}
.exam-scene .user-photo svg{width:44px;height:52px}
.exam-scene .info-item{font-size:13px;color:#666;margin:5px 0;line-height:1.5;text-align:left}
.exam-scene .info-label{color:#333;display:block;margin-bottom:5px;text-align:left}
.exam-scene .info-item span:not(.info-label){color:#2196f3;font-weight:bold}
.exam-scene .nav-container{background:#fff;border-radius:5px;padding:8px;margin:8px 0 0;flex:1;overflow-y:auto;min-height:0}
.exam-scene .nav-section{margin:15px 0 10px;color:#333}
.exam-scene .nav-section-title{font-size:13px;font-weight:bold;margin:6px 0 4px}
.exam-scene .nav-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px}
.exam-scene .nav-number{width:28px;height:28px;font-size:13px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:3px;background:#fff;color:#333}
.exam-scene .nav-number:hover{background:#f5f5f5}
.exam-scene .nav-number.answered{background:#2196f3;color:#fff;border-color:#2196f3}
.exam-scene .nav-number.current{box-shadow:0 0 0 2px #94cfff}
.exam-scene .volume-control{padding:8px 0;background:#e6f4ff;margin:0}
.exam-scene .volume-title{font-size:13px;color:#666;margin-bottom:8px;position:relative;text-align:center}
.exam-scene .volume-title:before,.exam-scene .volume-title:after{content:'';position:absolute;top:50%;width:30px;height:1px;background:#ccc}
.exam-scene .volume-title:before{left:20px}.exam-scene .volume-title:after{right:20px}
.exam-scene .volume-slider-container{display:flex;align-items:center;justify-content:center}
.exam-scene .volume-slider{width:80%;height:4px;cursor:pointer;margin:0 10px;accent-color:#2196f3}
.exam-scene .volume-icon{width:24px;height:24px;flex-shrink:0;color:#2196f3}
.exam-scene .section{padding:20px 15px 15px;background:#fff;border-radius:5px;margin:0 0 20px;display:block}
.exam-scene .section-title{font-size:16px;font-weight:normal;color:#333;margin:0 0 20px}
.exam-scene .section-description{background:#e6f4ff;padding:10px;border-radius:5px;margin-bottom:15px;font-size:14px;line-height:1.5}
.exam-scene .question{margin-bottom:20px;padding:10px 0;text-align:left;scroll-margin-top:16px;border-radius:5px;transition:background .3s}
.exam-scene .question.question-focus{background:#f0f9ff}
.exam-scene .question-text{font-size:14px;line-height:1.5;color:#333;margin-bottom:15px}
.exam-scene .options{padding-left:20px}
.exam-scene .option{margin:8px 0}
.exam-scene .option label{display:flex;align-items:flex-start;cursor:pointer;font-size:14px;color:#333}
.exam-scene .option input{margin:3px 8px 0 0;cursor:pointer;accent-color:#2196f3;flex-shrink:0}
.exam-scene .audio-visualizer{height:50px;background:#2196f3;display:flex;align-items:center;padding:0 15px;margin:0 auto;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:80%;max-width:1200px;z-index:1;gap:10px;color:#fff}
.exam-scene .bars-container{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;height:100%;width:45%;justify-content:center;pointer-events:none;opacity:.72}
.exam-scene .audio-bar{width:3px;background:#ffffffcc;height:5px;border-radius:1px}
.exam-scene .audio-visualizer.is-playing .audio-bar{animation:exam-wave var(--speed,.7s) ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
@keyframes exam-wave{from{height:5px}to{height:var(--height,25px)}}
.exam-scene .play-toggle{background:#ffffff1a;color:#fff;border:1px solid #ffffff6b;border-radius:4px;padding:4px 11px;z-index:1;font-size:13px;min-width:40px}
.exam-scene .audio-label{font-size:12px;z-index:1;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exam-scene .audio-time{margin-left:auto;font-size:12px;z-index:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.exam-scene .notice-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;width:100%;max-width:800px;margin:auto}
.exam-scene .ready-card{background:#f6ffed;padding:20px;border-radius:8px;text-align:center;box-shadow:0 2px 10px #0000001a}
.exam-scene .ready-title{display:flex;align-items:center;justify-content:center;color:#52c41a;font-size:24px;margin-bottom:10px;gap:10px}
.exam-scene .ready-check{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;background:#52c41a;border-radius:50%;color:#fff;font-size:14px}
.exam-scene .ready-card p{color:#666;font-size:16px;margin:0;line-height:1.8}
.exam-scene .notice-content{width:auto;max-width:600px;background:#f0f9ff;padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-top:20px}
.exam-scene .notice-content h2{color:#2196f3;font-size:24px;margin:0 0 20px;line-height:1.5;text-align:center;font-weight:600}
.exam-scene .notice-content p{color:#2196f3;font-size:18px;line-height:2;margin:10px 0}
.exam-scene .notice-content ol{color:#1890ff;font-size:18px;line-height:2;padding-left:24px;margin:0}
.exam-scene .notice-content .exam-small,.exam-scene .exam-small{font-size:12px;color:#7d8994;line-height:1.7}
.exam-scene .exam-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}
.exam-scene .exam-button{padding:9px 20px;border:1px solid #2196f3;border-radius:5px;background:#2196f3;color:#fff;font-size:14px;line-height:1.5}
.exam-scene .exam-button:hover{background:#1976d2;border-color:#1976d2}
.exam-scene .exam-button.secondary{background:#fff;color:#2196f3;border-color:#b9dfff}
.exam-scene .exam-button.secondary:hover{background:#f0f9ff}
.exam-scene .sidebar-actions{display:flex;gap:8px;padding:7px 0 10px;flex-wrap:wrap}
.exam-scene .sidebar-actions button{background:transparent;color:#5383a5;border:0;padding:2px 0;font-size:12px}
.exam-scene .sidebar-actions button:last-child{margin-left:auto}
.exam-scene .paper-indicator{font-size:12px;color:#6e8c9f;text-align:center;margin:0 0 3px}
.exam-scene .section-navigation{margin:10px 15px 25px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.exam-scene .section-navigation .exam-button{padding:6px 13px;font-size:13px}
.exam-scene .section-navigation .submit-paper{margin-left:auto}
.exam-scene .audio-feedback{font-size:12px;padding:8px 12px;color:#a25c00;background:#fff7e6;border-radius:4px;margin:14px 15px 0;line-height:1.6}
.exam-scene .audio-feedback:empty{display:none}
.exam-scene .progress-label{font-size:12px;color:#7792a7;text-align:center;padding:4px 0 0}
.exam-scene .exam-dialog-backdrop{position:absolute;inset:0;background:#10294455;z-index:10;display:grid;place-items:center;padding:20px}
.exam-scene .exam-dialog{box-sizing:border-box;background:#fff;padding:28px;border-radius:10px;max-width:450px;width:100%;box-shadow:0 12px 50px #10294433}
.exam-scene .exam-dialog h2{font-size:20px;margin:0 0 15px}.exam-scene .exam-dialog p{color:#637788;line-height:1.8}
.exam-scene .exam-dialog .exam-actions{justify-content:flex-end}
.exam-scene .result-content{padding:30px 20px 40px}
.exam-scene .result-content h1{font-size:25px;color:#2196f3;margin:0 0 12px}
.exam-scene .result-stat{display:flex;gap:14px;margin:20px 0;flex-wrap:wrap}
.exam-scene .result-stat div{background:#e6f4ff;border-radius:7px;padding:16px 23px;color:#587184;min-width:70px;font-size:13px}
.exam-scene .result-stat strong{display:block;font-size:28px;color:#2196f3;font-weight:600}
.exam-scene .answer-key-notice{background:#fff7e6;color:#966019;padding:12px 15px;border-radius:5px;line-height:1.8;margin:16px 0}
.exam-scene .record-row{border:1px solid #dbeaf4;border-radius:7px;padding:17px;margin:14px 0;background:#fafdff}
.exam-scene .record-row button{margin-top:10px}
.exam-scene .record-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:18px}
.exam-scene .record-table th,.exam-scene .record-table td{border-bottom:1px solid #e3edf4;text-align:left;padding:9px}
.exam-scene .record-table th{background:#f0f9ff;font-weight:normal;color:#648095}
.exam-scene .record-table .record-question{color:#697a88;font-size:12px;line-height:1.5;max-width:360px}
.exam-scene .correct-answer{color:#279840}.exam-scene .incorrect-answer{color:#d55449}
.exam-scene .review-timer{font-size:13px;color:#c77b16;background:#fff7e6;padding:9px 15px;margin:12px 15px 0;border-radius:4px}
@media(max-width:1000px){.exam-scene .container{width:calc(100% - 40px)}.exam-scene .audio-visualizer{width:calc(100% - 30px)}}
@media(max-width:700px){.exam-scene .container{width:100%;padding:0}.exam-scene .sidebar{width:125px;min-width:125px;padding:0 10px}.exam-scene .main-content.exam-mode{padding-right:6px}.exam-scene .section{padding:17px 12px}.exam-scene .notice-wrapper{padding:14px}.exam-scene .ready-title{font-size:18px;align-items:flex-start}.exam-scene .ready-card p{font-size:13px}.exam-scene .notice-content{padding:19px}.exam-scene .notice-content h2{font-size:19px}.exam-scene .notice-content p,.exam-scene .notice-content ol{font-size:14px}.exam-scene .user-info{padding-top:8px;margin-bottom:6px}.exam-scene .volume-title:before{left:0;width:15px}.exam-scene .volume-title:after{right:0;width:15px}.exam-scene .nav-number{width:25px;height:25px}.exam-scene .nav-section{margin:10px 0 7px}.exam-scene .options{padding-left:5px}.exam-scene .exam-actions{gap:7px}.exam-scene .exam-button{padding:8px 12px}.exam-scene .section-navigation .submit-paper{margin-left:0}.exam-scene .section-title{font-size:14px}.exam-scene .section-description{font-size:12px}.exam-scene .audio-label{max-width:35%;font-size:11px}.exam-scene .bars-container{width:25%;left:60%}.exam-scene .result-content{padding:22px 12px}.exam-scene .result-content h1{font-size:20px}.exam-scene .record-table .record-question{display:none}.exam-scene .result-stat{gap:8px}.exam-scene .result-stat div{padding:10px;min-width:55px}.exam-scene .result-stat strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.exam-scene .audio-bar{animation:none!important}.exam-scene .question{transition:none}}

.exam-scene:is([data-stage="records"],[data-stage="report"]) :is(.nav-container,.progress-label,.volume-control){display:none}
.exam-scene:is([data-stage="records"],[data-stage="report"]) .sidebar-actions{margin-top:auto;padding-bottom:18px}

/* 2026 exam and review frames. The saved sound-check layout stays separate. */
.exam-scene.strict-simulation:not([data-stage="sound-check"]) .user-info{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:start;
  column-gap:10px;
  row-gap:5px;
  padding:12px 0 10px;
  margin-bottom:10px;
}
.exam-scene.strict-simulation:not([data-stage="sound-check"]) .seat-number{
  grid-column:1 / -1;
  margin:0 0 5px;
}
.exam-scene.strict-simulation:not([data-stage="sound-check"]) .user-photo{
  grid-column:1;
  grid-row:2 / span 2;
  margin:0;
}
.exam-scene.strict-simulation:not([data-stage="sound-check"]) .info-item{
  grid-column:2;
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
}
.exam-scene.strict-simulation:not([data-stage="sound-check"]) .info-label{
  margin-bottom:1px;
}

.exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"]) .nav-number{
  font-variant-numeric:tabular-nums;
}
.exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"]) .nav-number:disabled{
  opacity:1;
  color:#626f7b;
  background:#f2f4f6;
  border-color:#cbd2d8;
}
.exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"]) .nav-number.answered{
  color:#fff;
  background:#2196f3;
  border-color:#2196f3;
}
.exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"]) .nav-number.current{
  border-color:#1683d5;
  box-shadow:0 0 0 2px #94cfff;
}
.exam-scene.strict-simulation[data-stage="exam"] .question.is-current{
  position:relative;
}
.exam-scene.strict-simulation[data-stage="exam"] .question.is-current::before{
  content:'';
  position:absolute;
  left:-11px;
  top:16px;
  width:0;
  height:0;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  border-left:7px solid #2196f3;
}
.exam-scene .section-description p{margin:0}
.exam-scene .section-description p+p{margin-top:5px}
.exam-scene.strict-simulation .long-material-instructions{
  background:#f4f8fc;
  color:#6c757d;
  padding:2px 0;
  margin-bottom:4px;
  text-indent:2em;
}
.exam-scene.strict-simulation .section-range-prompt{
  color:#6c757d;
  font-size:14px;
  line-height:1.5;
  margin:0 0 18px;
}
@media(max-width:700px){
  .exam-scene.strict-simulation .section-range-prompt{font-size:12px}
}

.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .main-content.exam-mode{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header{
  flex:0 0 auto;
  padding:12px 15px 9px;
  text-align:center;
  color:#333;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header h1{
  font-size:16px;
  font-weight:bold;
  line-height:1.5;
  margin:0 0 4px;
  color:#333;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header :is(p,.exam-review-instruction){
  margin:0;
  font-size:12px;
  line-height:1.8;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header>span{
  display:block;
  font-size:12px;
  line-height:1.8;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header :is(button,.review-page-label){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  padding:1px 9px;
  margin:0 3px;
  border:1px solid #8bb7da;
  border-radius:12px;
  color:#4788b8;
  background:#fff;
  font-size:12px;
  line-height:1.4;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .section{
  flex:1 1 auto;
  min-height:0;
  margin:0;
  padding:0 15px 12px;
  overflow-y:auto;
  scroll-padding:10px;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .section-title{
  font-weight:bold;
  margin:0 0 10px;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) :is(.section-description,.section-range-prompt,.exam-example){
  display:none;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .review-timer{
  display:none;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .question{
  margin-bottom:10px;
  padding:0;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .question-text{
  margin-bottom:4px;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .option{
  margin:3px 0;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .section-navigation{
  flex:0 0 auto;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:8px;
  margin:0;
  padding:8px 15px 10px;
  background:#fff;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .section-navigation :is([data-action="previous"],[data-action="next"]){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 11px;
  border:1px solid #8bb7da;
  border-radius:12px;
  color:#4788b8;
  background:#fff;
  font-size:12px;
  line-height:1.5;
  white-space:nowrap;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .section-navigation :is([data-action="previous"],[data-action="next"]):disabled{
  opacity:1;
  color:#7c8790;
  background:#e9ecef;
  border-color:#d8dde1;
}
.exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .section-navigation :is([data-action="replay"],[data-action="submit"]){
  display:none;
}

.exam-scene .exam-phase-countdown{
  position:relative;
  z-index:2;
  min-width:0;
  color:#fff;
  background:#2196f3;
  font-size:16px;
  font-weight:600;
  line-height:1.4;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
.exam-scene .exam-phase-countdown:empty,
.exam-scene .exam-phase-countdown[hidden]{
  display:none;
}
.exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"],[data-stage="review-intro"]) .audio-label{
  position:relative;
  z-index:2;
  max-width:38%;
  min-width:0;
  color:#fff;
  background:#2196f3;
  line-height:1.4;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"],[data-stage="review-intro"]) .audio-visualizer.has-phase-countdown .bars-container{
  display:none;
}
.exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"],[data-stage="review-intro"]) .bars-container{
  left:50%;
  right:auto;
  width:60%;
  transform:translateX(-50%);
  opacity:.72;
}
.exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"],[data-stage="review-intro"]) .exam-phase-countdown{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  font-size:20px;
  font-weight:400;
}

@media(max-width:700px){
  .exam-scene.strict-simulation:not([data-stage="sound-check"]) .user-info{
    grid-template-columns:46px minmax(0,1fr);
    column-gap:7px;
    row-gap:4px;
    padding-top:8px;
    margin-bottom:6px;
  }
  .exam-scene.strict-simulation:not([data-stage="sound-check"]) .user-photo{
    width:42px;
    height:54px;
  }
  .exam-scene.strict-simulation:not([data-stage="sound-check"]) .user-photo svg{
    width:38px;
    height:46px;
  }
  .exam-scene.strict-simulation:not([data-stage="sound-check"]) .info-item{
    font-size:11px;
    line-height:1.45;
  }
  .exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header{
    padding:10px 10px 8px;
  }
  .exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header h1{
    font-size:15px;
  }
  .exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header :is(p,.exam-review-instruction),
  .exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .exam-review-header>span{
    font-size:11px;
  }
  .exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .section{
    padding:0 12px 10px;
  }
  .exam-scene.strict-simulation:is([data-stage="review"],[data-stage="review-intro"]) .section-navigation{
    padding:7px 10px 9px;
  }
  .exam-scene.strict-simulation[data-stage="exam"] .question.is-current::before{
    top:16px;
  }
  .exam-scene.strict-simulation:is([data-stage="exam"],[data-stage="review"]) .exam-phase-countdown{
    font-size:14px;
    line-height:1.35;
  }
}

.exam-scene .mock-navigation {position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #dbeaf4;padding:12px 0;margin:0 15px 16px;}
.exam-scene .mock-navigation .exam-button {font-size:16px;padding:10px 18px;}
.exam-scene.manual-practice .mock-audio-tools{margin:0 15px 16px;padding:14px;background:#f0f9ff;border:1px solid #dbeaf4;border-radius:8px;}
.exam-scene.manual-practice .mock-material-choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.exam-scene.manual-practice .mock-material-choices .exam-button{padding:8px 13px;font-size:16px;}
.exam-scene.manual-practice .mock-material-choices [aria-pressed="true"]{background:#2196f3;color:#fff;border-color:#2196f3;}
.exam-scene.manual-practice .mock-seek-label{display:flex;align-items:center;gap:12px;font-size:16px;}
.exam-scene.manual-practice [data-manual-seek]{flex:1;min-width:50px;height:24px;accent-color:#2196f3;cursor:pointer;}
.exam-scene.manual-practice .mock-audio-time{display:block;text-align:right;font-size:14px;font-variant-numeric:tabular-nums;margin-top:4px;color:#53738a;}
.exam-scene.manual-practice .mock-audio-hint{margin:8px 0 0;font-size:14px;line-height:1.6;color:#53738a;}
@media(max-width:700px){.exam-scene.manual-practice .mock-navigation{margin:0 12px 12px}.exam-scene.manual-practice .mock-navigation .exam-button{padding:8px 12px}.exam-scene.manual-practice .mock-audio-tools{margin:0 12px 14px;padding:10px}.exam-scene.manual-practice .mock-material-choices{gap:6px}.exam-scene.manual-practice .mock-material-choices .exam-button{padding:7px 10px}}
.exam-scene .sidebar-actions {flex-wrap:wrap;gap:8px;}
.exam-scene .sidebar-actions button {padding:8px 12px;border:1px solid #74b2e6;border-radius:6px;font-size:16px;color:#1976d2;background:#fff;}

body{padding-top:0}.demo-strip{position:fixed;inset:0 0 auto;z-index:90;min-height:44px;background:#173b68;color:#fff;display:flex;justify-content:center;align-items:center;gap:18px;padding:8px 18px;font-size:14px;line-height:1.6}.demo-strip strong{white-space:nowrap}.demo-strip span{color:#e5effb}.demo-strip a{color:white;text-underline-offset:4px;white-space:nowrap}.demo-note{padding:16px 20px;background:#eef6ff;color:#385777;border-radius:10px;line-height:1.8;margin:22px 0 0;font-size:14px}.demo-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.demo-toolbar a{color:#236da9;text-underline-offset:4px}.demo-details{margin:18px 0;border:1px solid #dbe5ef;border-radius:12px;background:#fff}.demo-details summary{padding:18px;cursor:pointer;font-weight:600;color:#254463}.demo-section{padding:0 20px 20px}.demo-section h3{font-size:17px;margin-top:20px}.demo-question{margin:14px 0;padding:16px;border-radius:8px;background:#f5f8fc;line-height:1.8}.demo-question p{margin:5px 0}.demo-question small{color:#65788d}.demo-summary{display:flex;gap:18px;flex-wrap:wrap;margin:22px 0}.demo-summary div{flex:1;min-width:120px;padding:20px;background:#f1f7fe;border-radius:12px;color:#536c84}.demo-summary strong{display:block;color:#2878b8;font-size:28px;margin-bottom:8px}.demo-admin{max-width:1120px;margin:auto;padding:25px;background:white;border-radius:16px}.demo-admin h1{margin:0;font-size:24px;color:#294967}.demo-admin h2{font-size:20px;color:#294967;margin:28px 0 16px}.demo-admin-title{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}.demo-label{font-size:14px;background:#e7f2ff;color:#296ca6;border-radius:20px;padding:5px 12px}.demo-preview-title{margin-top:0;font-size:22px;color:#294967}.demo-help{color:#607a93;line-height:1.7;font-size:15px}.teacher-welcome{margin-top:0}.portal-scene{min-height:100vh}
@media(max-width:700px){body{padding-top:0}.demo-strip{gap:4px 12px;flex-wrap:wrap;min-height:68px;font-size:13px}.demo-strip span{order:3;flex-basis:100%;text-align:center}.demo-strip a{margin-left:auto}.demo-strip strong{margin-right:auto}.portal-scene{min-height:100vh}.demo-admin{padding:18px}.demo-summary{gap:10px}.demo-summary div{padding:14px;min-width:85px}.demo-summary strong{font-size:24px}.demo-section{padding:0 12px 12px}.demo-toolbar{gap:10px}.demo-strip strong,.demo-strip a{font-size:14px}}

.corpus-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.corpus-row-actions button{white-space:nowrap}@media(max-width:760px){.paper-row{flex-wrap:wrap}.corpus-row-actions{width:100%;justify-content:flex-start;margin-left:44px}.paper-name{min-width:0;flex:1}}

.report-page{max-width:960px;margin:28px auto;padding:0 20px;color:#171a20;font:16px/1.7 'Microsoft YaHei','PingFang SC',sans-serif}.report-page *{box-sizing:border-box}.report-card{background:#fff;border-radius:14px;padding:26px;margin:18px 0;box-shadow:0 4px 18px #1629440a}.report-page h1{font-size:28px;margin:0 0 8px;line-height:1.4}.report-page h2{font-size:23px;margin:0 0 18px;line-height:1.5}.report-sub{font-size:14px;color:#69727c;margin:10px 0;line-height:1.8}.report-stats{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0}.report-stats>div{flex:1;min-width:130px;background:#edf7ff;border-radius:9px;padding:16px;color:#597388;font-size:14px}.report-stats strong{display:block;font-size:28px;line-height:1.5;color:#2196f3;margin-top:6px}.report-stats .stat-date{font-size:17px}.report-page button{background:#2196f3;color:white;border:1px solid #2196f3;border-radius:7px;padding:10px 15px;font:inherit;font-size:14px;cursor:pointer;line-height:1.4}.report-page button:hover{background:#167eca}.report-page button:focus-visible,.report-page select:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}.report-links,.report-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:15px 0}.report-links button{border:0;padding:5px 0;color:#2986c7;background:transparent;margin-right:12px}.report-links button:hover{background:#e7f4ff;color:#155d94}.report-actions button.active{background:#155d94}.report-table-wrap{overflow-x:auto}.report-page table{width:100%;border-collapse:collapse;text-align:left}.report-page th,.report-page td{padding:13px 10px;border-bottom:1px solid #edf0f4;vertical-align:top}.report-page th{font-weight:600}.report-tag,.chart-legend span{background:#e7f4ff;color:#267bb5;padding:3px 11px;border-radius:16px;display:inline-block;font-size:14px}.report-page .advice-list{padding-left:24px;margin:8px 0}.advice-list li{margin:10px 0}.chart-legend{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}.radar-chart{display:block;width:100%;max-width:650px;height:auto;margin:0 auto}.radar-chart text,.line-chart text{font:14px 'Microsoft YaHei','PingFang SC',sans-serif;fill:#414b56}.line-chart{width:100%;height:auto;display:block;margin:20px 0}.chart-data{margin-top:18px;font-size:14px}.chart-data summary{color:#2b79b0;cursor:pointer}.report-empty{text-align:center;padding:55px 20px;color:#6c7987}.report-foot{text-align:center;color:#7c8791;font-size:13px;margin:25px 0}.report-sharing-note{border-radius:10px;padding:14px 18px;background:#fff6db;color:#855a11;font-size:14px}.share-box{padding:16px;background:#f2f8fe;border:1px solid #d9e9f5;border-radius:10px;margin-top:16px}.share-box[hidden]{display:none}.share-box label{display:block}.share-box textarea{width:100%;padding:10px;margin:8px 0;border:1px solid #c4d8e8;resize:vertical;word-break:break-all;font:13px/1.5 monospace}.mistake-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:#697787;font-size:14px}.report-page select{padding:7px;border:1px solid #cbd8e5;border-radius:5px;background:#fff;font:inherit}.report-page .mistake-question{font-size:18px;margin:19px 0 10px;font-weight:500}.mistake-option{padding:9px 12px;background:#f7f9fc;border-radius:6px;margin:8px 0}.mistake-option strong{font-size:13px;margin-left:10px}.mistake-option.correct{color:#187448;background:#eaf8ee}.mistake-option.wrong{color:#b64036;background:#fff0ed}.mistake-audio{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:15px}.mistake-audio audio{max-width:100%;width:320px}.report-save-message{position:sticky;bottom:12px;background:#173b68;color:white;border-radius:8px;padding:10px 16px;font-size:14px;box-shadow:0 3px 15px #18364b22}.report-save-message:empty{display:none}
.exam-scene{top:44px}.exam-scene .container{height:calc(100dvh - 94px)}.exam-scene .audio-visualizer{z-index:51}.exam-scene .listening-check{padding:28px 22px;width:auto;line-height:1.9}.listening-check h1{font-size:28px;color:#1598f5;margin:0 0 20px}.listening-check h2{font-size:22px;display:flex;gap:12px;align-items:center;margin:22px 0 14px}.listening-check h2 span{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:30px;height:30px;background:#1496fa;color:white}.headphone-instructions{background:#f1f9ff;border-radius:12px;padding:24px;text-align:center}.headphone-instructions img{max-width:100%;width:420px;max-height:190px;object-fit:contain}.headphone-instructions p{font-size:16px;margin:18px 0 0}.listening-check>p{font-size:16px}.listening-encouragement{background:#f1f9ff;padding:13px;border-radius:6px}.exam-scene[data-stage="sound-check"] .nav-container,.exam-scene[data-stage="sound-check"] .paper-indicator,.exam-scene[data-stage="sound-check"] .progress-label{display:none}.exam-scene[data-stage="sound-check"] .volume-control{margin-top:auto}.exam-scene[data-stage="sound-check"] .sidebar-actions{margin-top:16px}.exam-scene .notice-content{max-width:720px}.exam-scene .notice-content ol{font-size:20px;line-height:2.2}.exam-scene .notice-content h2{font-size:26px!important}.exam-scene .exam-small{font-size:13px}
@media(max-width:700px){.report-page{margin:15px auto;padding:0 10px;font-size:15px}.report-card{padding:18px;border-radius:10px}.report-page h1{font-size:24px}.report-page h2{font-size:20px}.report-stats{gap:10px}.report-stats>div{min-width:115px;padding:12px}.report-stats strong{font-size:24px}.report-page th,.report-page td{padding:9px 7px;font-size:14px}.report-links{gap:7px}.report-links button{margin-right:7px}.report-actions{gap:8px}.report-page button{padding:9px 12px}.report-links button{padding:4px 0}.exam-scene{top:68px}.exam-scene .container{height:calc(100dvh - 118px)}.exam-scene .listening-check{padding:18px 12px}.listening-check h1{font-size:24px}.listening-check h2{font-size:18px}.headphone-instructions{padding:15px}.headphone-instructions p,.listening-check>p{font-size:14px}.headphone-instructions img{max-height:130px}.exam-scene .notice-content ol{font-size:16px}.exam-scene .notice-content h2{font-size:22px!important}}
@media print{body{padding:0!important;background:white!important}.demo-strip,.no-print,.report-save-message,.report-foot{display:none!important}.report-page{margin:0;padding:0;max-width:none;font-size:12px}.report-card{box-shadow:none;border:1px solid #ddd;border-radius:4px;margin:10px 0;padding:16px;break-inside:avoid}.report-page h1{font-size:23px}.report-page h2{font-size:19px}.report-page th,.report-page td{font-size:12px;padding:7px}.report-stats>div,.mistake-option{print-color-adjust:exact;-webkit-print-color-adjust:exact}.line-chart,.radar-chart{max-height:550px}.report-table-wrap{overflow:visible}.share-box{display:none!important}.report-sharing-note{background:white;border:1px solid #ccc}audio{display:none!important}select{appearance:none;border:0!important}}
@media(min-width:701px){.exam-scene .listening-check{padding:18px 22px;line-height:1.65}.listening-check h1{font-size:25px;margin-bottom:10px}.listening-check h2{font-size:20px;margin:14px 0 10px}.headphone-instructions{padding:16px}.headphone-instructions img{width:340px;max-height:145px}.headphone-instructions p{font-size:15px;margin-top:12px}.listening-check>p{font-size:15px}.listening-check .exam-actions{margin-top:16px}.listening-encouragement{padding:10px}.exam-scene[data-stage="sound-check"] .audio-feedback{margin-top:8px;padding:5px 10px}}
.automatic-question{padding:20px 0;border-top:1px solid #e0e8ef;break-inside:avoid}.automatic-question h3{font-size:18px;margin:0 0 12px}.automatic-question p{margin:9px 0}.automatic-question blockquote{margin:16px 0;padding:12px 16px;background:#f1f7fc;border-left:3px solid #2196f3;overflow-wrap:anywhere}.report-evidence-label{font-size:13px;color:#52758f}.report-completion{padding:10px 14px;background:#fff7e5;border-radius:6px;color:#765a28}.report-page small{color:#69727c}.report-page td{overflow-wrap:anywhere}.report-card h3{line-height:1.5}
@media print{.report-card:has(.automatic-question){break-inside:auto}.automatic-question blockquote{print-color-adjust:exact;-webkit-print-color-adjust:exact}.automatic-question{padding:12px 0}.report-card h3{font-size:15px}}
.report-overview-title{margin-top:24px!important;font-size:20px!important}.report-overview{font-weight:600;line-height:1.8}.report-type-table{table-layout:fixed;font-size:15px}.report-type-table thead{background:#edf7ff}.report-type-table th:first-child{width:17%}.report-type-table th:nth-child(2){width:43%}.report-type-table th:nth-child(3){width:40%}.report-type-table tbody th{color:#245b7f;background:#f5faff}.report-type-table p{margin:0 0 10px}.report-type-table .report-type-count{font-weight:600;color:#1b4665}.report-type-table .report-actions{margin:8px 0 18px}.report-type-table td,.report-type-table th{border:1px solid #e0eaf2;padding:16px 14px}.report-improvement-steps{padding-left:24px;margin:0}.report-improvement-steps li{padding-left:4px;margin:12px 0}
@media screen and (max-width:700px){.report-type-table,.report-type-table tbody,.report-type-table tr,.report-type-table th,.report-type-table td{display:block;width:100%!important}.report-type-table thead{display:none}.report-type-table tbody tr{margin-bottom:16px;border:1px solid #dbe8f3;border-radius:8px;overflow:hidden}.report-type-table td,.report-type-table th{border:0;padding:14px}.report-type-table td+td{border-top:1px solid #e0eaf2}.report-type-table tbody th{font-size:17px}.report-type-table td:nth-child(3):before{content:'提高方案';display:block;color:#245b7f;font-weight:600;margin-bottom:10px}.report-type-table .report-actions:last-child{margin-bottom:0}.report-overview-title{font-size:18px!important}}
@media print{
  .report-card:has(.report-type-table){break-inside:auto}
  .report-card:has(.report-type-table){display:contents}
  .report-card:has(.report-type-table)>h2,.report-card:has(.report-type-table)>h2+.report-sub{break-after:avoid}
  .report-type-table{font-size:12px}
  .report-type-table thead{display:table-header-group;break-inside:avoid;break-after:avoid}
  .report-type-table tbody tr{break-inside:auto;page-break-inside:auto}
  .report-type-table th,.report-type-table td{padding:10px}
  .report-type-table p,.report-type-table li{orphans:2;widows:2}
  .report-type-table thead,.report-type-table tbody th{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
.report-plan-intensity{font-weight:600;color:#245b7f;background:#edf7ff;padding:14px 16px;border-radius:8px}.report-plan-note{font-size:14px;padding:10px 14px;background:#fff7e5;border-radius:6px}.report-plan-priorities{padding-left:24px}.report-plan-priorities li{margin:10px 0}.report-plan-stages{list-style:none;padding:0;counter-reset:stage}.report-plan-stages>li{padding:18px 20px;margin:14px 0;border:1px solid #dbe8f3;border-radius:10px;background:#f8fbff}.report-plan-stages h3{font-size:18px;margin:0 0 10px;color:#245b7f}.report-plan-stages h3 span{display:inline-block;margin-left:8px;font-size:14px;color:#476a84;font-weight:500}.report-plan-stages p{margin:10px 0}.report-practice-label{font-weight:600;color:#245b7f}.report-practice-steps{padding-left:22px;margin:0 0 16px}.report-practice-steps li{margin:10px 0}.report-plan button{min-height:44px}.report-plan a:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
@media(max-width:700px){.report-plan-stages>li{padding:14px}.report-plan-stages h3 span{display:block;margin:6px 0 0}.report-practice-steps{padding-left:20px}}
@media print{.report-card.report-plan{break-inside:auto}.report-plan-stages>li{break-inside:avoid;background:white;border-color:#bbb}.report-plan-intensity,.report-plan-note{print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-plan-stages h3{font-size:15px}}

.wrongbook-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.wrongbook-paper {border-top:1px solid #dce7ef;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.wrongbook-paper h2 {font-size:21px;margin:0 0 10px;}
.wrongbook-actions {display:flex;gap:12px;flex-shrink:0;flex-wrap:wrap;}
.wrongbook-index .portal-button {min-height:48px;padding:14px 22px;font-size:18px;}
.learning-page [data-back],.report-page [data-back],.training-page [data-back] {min-height:48px;font-size:18px;padding:14px 22px;}
@media(max-width:700px){.wrongbook-paper{align-items:flex-start;flex-direction:column;gap:12px;}.wrongbook-actions{width:100%;}.wrongbook-actions button{flex:1;}}

/* Keep returning at the page edge, separate from the content navigation. */
.report-page:has(>.page-return-toolbar){margin-top:12px}
.page-return-toolbar{position:sticky;top:12px;z-index:4;display:flex;justify-content:flex-end;width:calc(100vw - 40px);margin-left:calc(50% - 50vw + 20px);padding:0 0 8px;pointer-events:none}
.report-page .page-return-button{pointer-events:auto;min-width:240px;max-width:100%;min-height:64px;padding:16px 26px;font-size:24px;font-weight:700;line-height:1.3;background:#125a94;color:#fff;border:3px solid #0d497a;box-shadow:0 3px 9px #125a9426}
.report-page .page-return-button:hover{background:#0d497a}
@media(max-width:700px){.page-return-toolbar{width:calc(100vw - 20px);margin-left:calc(50% - 50vw + 10px)}.report-page .page-return-button{min-width:220px;min-height:60px;padding:14px 18px;font-size:22px}}

.wrongbook-example{margin:26px 0 30px;padding:30px;border:1px solid #a7c9e9;border-radius:16px;background:#eef6ff;box-shadow:0 4px 16px #1d558410}
.wrongbook-example .example-badge{display:inline-block;color:#1763a6;background:#d9ebff;border-radius:20px;padding:5px 13px;font-weight:700;font-size:14px}
.wrongbook-example h2{margin:16px 0 10px;color:#1c4267;font-size:24px;line-height:1.45}
.wrongbook-example>p{margin:0;color:#45637e;font-size:16px;line-height:1.75}
.wrongbook-example .wrongbook-actions{align-items:center;margin:22px 0 14px;gap:14px}
.wrongbook-example .example-report-button{min-height:64px;padding:18px 28px;background:#1b75c4;color:#fff;border:1px solid #1b75c4;border-radius:8px;box-shadow:0 4px 12px #1874c62b;font-size:21px;font-weight:700;line-height:1.4;white-space:normal}
.wrongbook-example .example-report-button:hover{background:#155f9f;border-color:#155f9f}
.wrongbook-example .portal-button.secondary{min-height:50px;padding:13px 20px;background:#fff;color:#426783;border:1px solid #b2c9df;border-radius:8px;font-size:17px;line-height:1.45;white-space:normal;box-shadow:none}
.wrongbook-example .portal-button.secondary:hover{background:#f8fbff;border-color:#7fa7ca}
.wrongbook-example .portal-button:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.wrongbook-example>.report-sub{margin:0;color:#617389;font-size:14px;line-height:1.75}
.wrongbook-index .wrongbook-history-title{margin:30px 0 10px;color:#223d57;font-size:22px;line-height:1.45}
.wrongbook-index .wrongbook-empty{margin:0;padding:18px 0;border-top:1px solid #dce7ef;color:#667b8e;font-size:16px;line-height:1.75}
.report-example-note{border:1px solid #82b9ed;background:#e8f4ff;border-radius:12px;padding:20px 26px;margin:12px 0 24px;color:#235a8d}.report-example-note strong{font-size:21px}.report-example-note p{margin:8px 0 0;line-height:1.6}
@media(max-width:640px){.wrongbook-example{margin:22px 0 26px;padding:22px 18px}.wrongbook-example h2{font-size:22px}.wrongbook-example .wrongbook-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.wrongbook-example .portal-button{width:100%;min-width:0;text-align:center}.wrongbook-example .example-report-button{padding:16px 14px;font-size:20px}.wrongbook-example .portal-button.secondary{padding:13px 14px}.wrongbook-index .wrongbook-history-title{font-size:20px}}

.report-sentence-meaning{font-size:14px;color:#334e62}
@media print{.automatic-question:has(.report-sentence-meaning){break-inside:auto}.report-evidence-sentence{break-inside:avoid}.automatic-question h3{break-after:avoid}}

body.simulation-layout{padding-top:0}.simulation-layout .demo-strip{display:none}.simulation-layout .exam-scene{top:0}.simulation-layout .exam-scene .container{height:calc(100dvh - 50px)}.simulation-login{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:url('assets/images/bg.png') center/cover no-repeat;font-family:Arial,sans-serif;color:#333}.reference-login{width:360px;max-width:90%;padding:30px;background:rgba(255,255,255,.9);border-radius:8px;box-shadow:0 0 10px #0000001a;margin-top:40px}.reference-login h1{color:#2196f3;font-size:18px;text-align:center;margin:0 0 20px}.reference-login input{display:block;width:100%;margin:10px 0;padding:10px;border:1px solid #ddd;border-radius:4px;background:white;color:#333;font-size:14px}.reference-buttons{display:flex;gap:10px;margin-top:20px}.reference-buttons button{flex:1;padding:10px;border:0;border-radius:4px;background:#f0f0f0;color:#333;font-size:14px}.reference-buttons .register{background:#4caf50;color:white}.reference-buttons .enter{background:#2196f3;color:white}.simulation-note{font-size:12px;line-height:1.65;color:#536275;margin:16px 0 8px}.reference-fill{border:0;background:none;padding:4px 0;color:#2196f3;font-size:13px}.simulation-links{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap;font-size:13px}.reference-teacher{position:fixed;top:12px;right:12px;background:#fffffff0;border:1px solid #00000014;border-radius:999px;padding:8px 12px;font-size:14px;color:#111827;box-shadow:0 4px 14px #0000001f}#simulation-error{font-size:13px;color:#a94442;margin:8px 0 0;line-height:1.6}.candidate-check{max-width:600px;padding:30px;margin:25px auto;background:white;border:1px solid #ddd;border-radius:5px;text-align:center}.candidate-check h1{font-size:24px;color:#2196f3}.candidate-check dl{display:grid;grid-template-columns:1fr 1fr;text-align:left;line-height:2.4;padding:0 35px}.candidate-check dt{color:#555}.candidate-check dd{margin:0;color:#2196f3;font-weight:bold}.candidate-check button{margin:8px}.exam-example{font-size:14px;line-height:1.8;margin:0 0 20px;padding:12px 10px;border-bottom:1px solid #ddd}.exam-example p{margin:4px 0}.training-page audio{width:100%}.training-page li{margin:10px 0}.training-label{display:block;margin:20px 0 10px}.training-label textarea{display:block;width:100%;padding:12px;border:1px solid #c7d4df;border-radius:4px;margin-top:8px;resize:vertical}.training-label select{display:block;max-width:100%;margin:8px 0}.training-page fieldset{margin:20px 0;border:1px solid #dde3e8}.training-page fieldset label{display:inline-block;margin:10px 30px 10px 0}.training-answer,.transcript{margin:18px 0;border:1px solid #dbe1e8;padding:12px}.transcript summary,.training-answer summary{cursor:pointer;color:#267bb5}.transcript p{white-space:pre-wrap}.transcript p span{font-size:12px;color:#7d8793}.baseline-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.baseline-list article{padding:16px;background:#f4f8fb;border:1px solid #e1e8ee}.baseline-list p{font-size:14px}.baseline-list button{font-size:14px}.report-page a{color:#1b72af}.report-page h1,.report-page h2{font-weight:600}@media(max-width:700px){.simulation-login{background-image:url('assets/images/bgmb.png')}.reference-login{width:90%;margin-top:100px;padding:24px}.candidate-check{padding:20px 12px}.candidate-check dl{padding:0 10px}.simulation-layout .exam-scene .container{height:calc(100dvh - 50px)}}

/* Exam simulation follows the source's automatic audio flow. Replay tools live in training. */
.strict-simulation .section-navigation [data-action=previous],
.strict-simulation .section-navigation [data-action=next],
.strict-simulation .section-navigation [data-action=replay],
.strict-simulation[data-stage=exam] .section-navigation [data-action=submit]{display:none}
.strict-simulation .paper-indicator,.strict-simulation .progress-label{display:none}
.strict-simulation .sidebar-actions{display:none}
.strict-simulation .audio-time{display:none}
.strict-simulation .audio-label{font-size:14px}
.strict-simulation[data-stage=transition] .nav-container{visibility:hidden}

.learning-download{display:inline-block;padding:9px 14px;border:1px solid #2196f3;border-radius:4px;color:#1976d2;background:white;text-decoration:none;font-size:14px}

.audio-practice{margin:14px 0 24px}.audio-practice-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.audio-practice-status,.skill-status{padding:12px;border-left:3px solid #2196f3;background:#eff7ff;min-height:44px}.audio-practice-status:empty,.skill-status:empty{display:none}.audio-practice details{margin-top:12px}.audio-practice input[type=number]{width:95px;padding:8px;border:1px solid #bacbd8;margin:8px}.audio-practice label{display:inline-block;margin-right:10px}.skill-eyebrow{color:#277cab;font-size:14px}.skill-page h3{font-size:19px;margin-top:24px}.skill-method{padding-left:24px}.skill-steps{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #dce6ed;padding-bottom:18px}.skill-steps button{font-size:14px;padding:9px}.skill-steps button:not(.active),.skill-secondary{background:white!important;color:#1677b9!important;border:1px solid #91bddc!important}.skill-page fieldset{padding:18px}.skill-page fieldset:disabled{opacity:.65}.skill-checks button{display:block;text-align:left;margin:10px 0;background:#f4f8fb;color:#1b4059;border:1px solid #c3d9e9}.skill-checks button.selected{border:2px solid #1976d2}.skill-checks p{font-size:15px;color:#335b73}.skill-answer label{display:block!important;margin:12px 0!important;cursor:pointer}.skill-answer input{accent-color:#2196f3}.skill-answer button{margin-top:14px}.skill-feedback{padding:18px 22px;background:#f0f7fc;border-left:4px solid #2196f3;margin:20px 0}.skill-feedback.success{border-color:#28906b}.skill-feedback.needs-practice{border-color:#b88728;background:#fff9ee}.skill-script{padding:8px 20px;background:#f7f9fb;font-size:17px}.skill-script strong{font-size:13px;color:#637b8b;margin-right:8px}.skill-page button:disabled{opacity:.5;cursor:default}.skill-work{scroll-margin-top:70px}.skill-thinking{line-height:1.9}.skill-feedback summary{cursor:pointer;color:#196da3}.skill-status{color:#216796}@media(max-width:650px){.skill-page .report-card{padding:20px 16px}.skill-steps button{flex:1 1 40%}.audio-practice-controls button{font-size:14px}.skill-page .skill-answer label{font-size:16px}.skill-page h1{font-size:25px}.skill-page h2{font-size:21px}}
.skill-checks button.selected,.skill-checks button:hover{background:#e4f2ff!important;color:#143a56!important}

.materials-title{font-size:20px;color:#294d68}.materials-page audio{width:100%}.materials-page .report-actions{align-items:flex-start}.materials-catalog{margin-top:24px;border-top:1px solid #dce6ed;padding-top:18px}.materials-catalog summary{cursor:pointer;color:#1b72af;font-weight:600}.materials-catalog nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin-top:16px}.materials-catalog a{display:block;padding:11px 14px;background:#f4f8fb;border:1px solid #dce6ed;border-radius:4px;text-decoration:none;line-height:1.55}.materials-catalog a[aria-current=page]{border-color:#1976d2;background:#e8f4ff;font-weight:600}.source-warning{padding:14px 18px;border-left:3px solid #b88728;background:#fff9ee;line-height:1.7;margin:18px 0}.source-warning ul{margin:8px 0;padding-left:20px}.source-warning li{margin:6px 0}.material-card .transcript{line-height:1.85}.transcript-block+ .transcript-block{border-top:1px solid #e3eaf0;padding-top:10px;margin-top:18px}.transcript-block h3{font-size:16px;color:#3d647f;margin:10px 0}.transcript .transcript-speaker{font-size:13px;color:#55768c;font-weight:600}.transcript .transcript-time{font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:5px}.material-card .transcript p{overflow-wrap:anywhere}@media(max-width:650px){.materials-catalog nav{grid-template-columns:1fr}.materials-title{font-size:18px}.materials-page .learning-download{max-width:100%;overflow-wrap:anywhere}.materials-page .report-card{padding:20px 16px}.source-warning{padding:12px 14px}}

.action-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.action-catalog article{padding:18px;border:1px solid #cadce8;background:#f6faff}.action-catalog h3{margin-top:0}.action-catalog p{font-size:15px;min-height:65px}.action-course-nav button{font-size:14px}.action-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:20px 0}.action-targets article{border:1px solid #d5e1e9;padding:14px}.action-targets strong{font-size:22px;color:#1e6594}.action-targets p{font-size:15px}.action-annotated{padding:16px;border-left:4px solid #2196f3;background:#f0f7fc;font-size:20px;white-space:pre-wrap}.action-recorder{border:1px solid #cadce8;padding:16px;margin-top:18px}.action-recorder button{margin:5px}.action-self-practice{padding:16px;background:#f7fafb;margin:16px 0}.action-self-practice label{display:block;margin-bottom:16px}.action-questions fieldset{padding:18px;border:1px solid #d8e1e8;margin:18px 0}.action-questions label,.action-preview-questions label{display:block;margin:12px 0;line-height:1.6;cursor:pointer}.action-questions input,.action-preview-questions input{accent-color:#2196f3}.action-expression-bank table{font-size:15px}.action-expression-bank{margin:20px 0}.action-source-pair{padding:16px 0;border-bottom:1px solid #d9e3ec}.action-focus{position:sticky;top:45px;background:#e7f4ff;border:1px solid #86bae2;padding:16px;z-index:2;margin:15px 0}.action-preview-questions article{padding:18px;margin:16px 0;border:2px solid #dce4ea}.action-preview-questions article.following{border:3px solid #2196f3;background:#f4faff}.action-preview-questions article h3{margin:0 0 15px}.action-stages button{font-size:15px}.action-recorder [hidden]{display:none!important}.action-page audio[hidden]{display:none!important}.action-preview-stage{font-weight:bold;color:#1976a9}.action-pair-feedback{padding:16px;background:#f7fafc}@media(max-width:650px){.action-catalog{grid-template-columns:1fr}.action-catalog p{min-height:0}.action-course-nav button{flex:1 1 40%}.action-expression-bank{overflow:auto}.action-expression-bank table{min-width:560px}.action-focus{top:55px;font-size:14px}}
.action-exercise-picker{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0;font-size:17px}.action-exercise-picker select{max-width:100%;padding:10px 12px;font-size:16px;border:1px solid #b8d2e4;border-radius:5px;background:white;color:#1a4d72}.action-source{border-left:3px solid #b8d2e4;padding-left:12px;margin:16px 0}.action-source p{margin:5px 0;line-height:1.7}@media(max-width:650px){.action-exercise-picker select{width:100%}}
.student-recording{border-radius:10px;background:#f6faff}.student-recording h3{margin:0 0 10px;color:#1a4d72}.student-recording p{line-height:1.7}.student-recording audio{display:block;width:100%;margin-top:12px}.student-recording button:disabled{opacity:.55;cursor:default}.student-recording [hidden]{display:none!important}.student-recording [data-record-stop]{background:#9d3a32;color:white}.audio-range .report-actions{align-items:flex-end}.audio-range input{width:110px}.audio-range [data-audio-once]{background:#176ca1;color:white}@media(max-width:650px){.student-recording .report-actions button{flex:1 1 45%}.student-recording [data-record-compare]{flex-basis:100%}.audio-range .report-actions button{width:100%}}

/* Keep the preview focus below the separate sticky return control. */
.action-page .action-focus{top:96px}
@media(max-width:700px){.action-page .action-focus{top:92px}}

/* Original select_exam.php layout. Scope protects examination and review screens. */
body.reference-catalog {
    box-sizing: content-box;
    color: #000;
    font-size: 16px;
    line-height: normal;
    background-color: #fff;
}
body.reference-catalog *,
body.reference-catalog *::before,
body.reference-catalog *::after {
    box-sizing: content-box;
}
body.reference-catalog #app {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
    background: transparent;
}
body.reference-catalog button {
    font: 400 13.3333px Arial, sans-serif;
    line-height: normal;
}
body.reference-catalog .demo-strip {
    display: none;
}
body.reference-catalog .page-link:hover,
body.reference-catalog .mistakes-button:hover,
body.reference-catalog .exchange-button:hover {
    text-decoration: none;
}
body.reference-catalog .exam-number {
    flex-shrink: 0;
}
body.reference-catalog .start-button {
    flex-shrink: 0;
}
body.reference-catalog,
html:has(body.reference-catalog) {
            height: 100%;
            margin: 0;
            font-family: Arial, sans-serif;
        }
body.reference-catalog {
            background-image: url('assets/images/bg.png');
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            display: flex;
            justify-content: flex-start;
            align-items: center;
            padding-top: 33vh;
            min-height: 100vh;
        }
body.reference-catalog .container {
            background-color: white;
            border-radius: 10px;
            padding: 20px;
            width: 80%;
            max-width: 1000px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            margin: 0 auto;
        }
body.reference-catalog .header {
            text-align: center;
            color: #2196F3;
            margin-bottom: 20px;
        }
body.reference-catalog .header img {
            width: 24px;
            height: 24px;
            vertical-align: middle;
            margin-right: 10px;
        }
body.reference-catalog .header h1 {
            font-size: 18px;
            margin: 0;
            display: inline;
            vertical-align: middle;
        }
body.reference-catalog .content {
            background-color: #f0f0f0;
            border-radius: 5px;
            padding: 20px;
        }
body.reference-catalog .content h2 {
            font-size: 16px;
            margin-top: 0;
            margin-bottom: 20px;
            color: #333;
        }
body.reference-catalog .exam-list {
            list-style-type: none;
            padding: 0;
        }
body.reference-catalog .exam-item {
            background-color: #e0e0e0;
            border-radius: 5px;
            padding: 10px;
            margin-bottom: 10px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
body.reference-catalog .exam-number {
            background-color: #2196F3;
            color: white;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-right: 10px;
        }
body.reference-catalog .exam-title {
            flex-grow: 1;
        }
body.reference-catalog .start-button {
            background-color: #2196F3;
            color: white;
            border: none;
            padding: 5px 10px;
            border-radius: 3px;
            cursor: pointer;
        }
body.reference-catalog .version {
            text-align: right;
            font-size: 12px;
            color: #888;
            margin-top: 10px;
        }
body.reference-catalog .filter-buttons {
            margin-bottom: 10px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
body.reference-catalog .filter-left {
            display: flex;
            gap: 5px;
        }
        
body.reference-catalog .filter-button {
            background-color: #f0f0f0;
            border: 1px solid #2196F3;
            color: #2196F3;
            padding: 8px 16px;
            border-radius: 3px;
            cursor: pointer;
        }
        
body.reference-catalog .filter-button.active {
            background-color: #2196F3;
            color: white;
        }
        
body.reference-catalog .pagination {
            margin-top: 20px;
            text-align: center;
        }
        
body.reference-catalog .page-link {
            display: inline-block;
            padding: 5px 10px;
            margin: 0 2px;
            border: 1px solid #2196F3;
            color: #2196F3;
            text-decoration: none;
            border-radius: 3px;
        }
        
body.reference-catalog .page-link.active {
            background-color: #2196F3;
            color: white;
        }
        
body.reference-catalog .user-info {
            display: flex;
            align-items: center;
            gap: 15px;
        }
        
body.reference-catalog .attempts-display {
            color: #2e7d32;
            font-weight: bold;
        }

body.reference-catalog .mistakes-button {
            background-color: #2196F3;
            color: white;
            border: none;
            padding: 8px 16px;
            border-radius: 3px;
            cursor: pointer;
            transition: background-color 0.3s;
            text-decoration: none;
            display: inline-block;
        }

body.reference-catalog .mistakes-button:hover {
            background-color: #1976D2;
        }

body.reference-catalog .exchange-button {
            background-color: #ff9800;
            color: white;
            border: none;
            padding: 8px 16px;
            border-radius: 3px;
            cursor: pointer;
            transition: background-color 0.3s;
            text-decoration: none;
            display: inline-block;
        }
        
body.reference-catalog .exchange-button:hover {
            background-color: #f57c00;
        }
        
body.reference-catalog .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
            z-index: 1000;
        }
        
body.reference-catalog .modal-content {
            position: relative;
            background-color: white;
            margin: 15% auto;
            padding: 20px;
            width: 80%;
            max-width: 500px;
            border-radius: 5px;
            text-align: center;
        }
        
body.reference-catalog .close-modal {
            position: absolute;
            right: 10px;
            top: 10px;
            font-size: 24px;
            cursor: pointer;
            color: #666;
        }
        
body.reference-catalog .exchange-code-input {
            width: 100%;
            padding: 8px;
            margin: 10px 0;
            border: 1px solid #ddd;
            border-radius: 3px;
            box-sizing: border-box;
        }
        
body.reference-catalog .submit-exchange {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 3px;
            cursor: pointer;
            margin-top: 10px;
        }
        
        @media screen and (max-width: 768px) {
body.reference-catalog .filter-buttons {
                flex-direction: column;
                gap: 15px;
            }
            
body.reference-catalog .filter-left {
                width: 100%;
                justify-content: center;
                flex-wrap: wrap;
            }
            
body.reference-catalog .user-info {
                width: 100%;
                justify-content: center;
            }
body.reference-catalog .exam-button-mobile {
        min-width: 80px;        /* 设置最小宽度 */
        width: auto;            /* 改为自适应宽度 */
        padding: 8px 15px;      /* 调整内边距 */
        background-color: #2196F3;
        color: white;
        border: none;
        border-radius: 4px;
        font-size: 14px;        /* 稍微调小字号 */
        cursor: pointer;
        white-space: nowrap;    /* 文字不换行 */
        display: inline-block;  /* 改为行内块级元素 */
    }
        }
        
body.reference-catalog .start-button.disabled {
            background-color: #cccccc;
            cursor: not-allowed;
            opacity: 0.7;
        }
        
        /* 广告相关样式（放在筛选与用户信息之间） */
body.reference-catalog .search-ad-container {
            flex: 1;
            margin: 0 15px;
            height: 36px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 160px;
        }
        /* 试卷列表页：广告打开即从左侧可见开始滚动 */
body.reference-catalog .search-ad-container .text-ad { justify-content: flex-start; }
body.reference-catalog .search-ad-container .ad-text {
            animation-name: scrollTextLeftStart !important;
            transform: translateX(0);
        }
        

body.reference-catalog .image-ad {
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

body.reference-catalog .image-ad img {
            max-height: 36px;
            width: auto;
            object-fit: contain;
        }

        @media screen and (max-width: 768px) {
body.reference-catalog {
                background-image: url('assets/images/bgmb.png');
                padding-top: 50vh;  /* 改为视窗高度的一半 */
            }
            
body.reference-catalog .container {
                width: 90%;
                padding: 15px;
            }
        }

        /* PC版样式 */
body.reference-catalog .pc-only {
            display: block;
        }

body.reference-catalog .mobile-only {
            display: none;
        }

        /* 移动端适配 */
        @media screen and (max-width: 768px) {
body.reference-catalog .pc-only {
                display: none;
            }
            
body.reference-catalog .mobile-only {
                display: block;
            }

body.reference-catalog {
                background-image: url('assets/images/bgmb.png');
                padding-top: 50vh;
            }
            
body.reference-catalog .container {
                width: 95%;
                padding: 15px;
                margin: 0 auto;
            }
            
body.reference-catalog .header h1 {
                font-size: 16px;
            }
            
body.reference-catalog .filter-buttons {
                flex-direction: column;
                gap: 10px;
            }
            
body.reference-catalog .filter-left {
                width: 100%;
                display: flex;
                justify-content: space-between;
            }
            
body.reference-catalog .filter-button {
                flex: 1;
                margin: 0 2px;
                padding: 8px 5px;
                font-size: 14px;
            }
            
body.reference-catalog .user-info {
                width: 100%;
                flex-direction: column;
                align-items: center;
                gap: 10px;
            }
            
body.reference-catalog .attempts-display {
                font-size: 14px;
            }

body.reference-catalog .mistakes-button {
                width: 100%;
                text-align: center;
            }

body.reference-catalog .exchange-button {
                width: 100%;
                text-align: center;
            }
            
body.reference-catalog .exam-item {
                padding: 8px;
            }
            
body.reference-catalog .exam-title {
                font-size: 14px;
            }
            
body.reference-catalog .start-button {
                padding: 5px 8px;
                font-size: 13px;
            }
            
body.reference-catalog .pagination {
                margin-top: 15px;
            }
            
body.reference-catalog .page-link {
                padding: 4px 8px;
                font-size: 13px;
            }
            
body.reference-catalog .search-ad-container {
                margin: 10px 0 0;
                width: 100%;
                order: -1; /* 移动端放到最上面，避免挤压按钮 */
            }
        }

body.reference-catalog .catalog-account {color:#1976d2;background:#fff;border:1px solid #2196f3;border-radius:4px;padding:8px 14px;cursor:pointer;white-space:nowrap;}
body.reference-catalog .catalog-quota-note {font-size:14px;line-height:1.6;color:#50606b;margin:16px 0 0;}
body.reference-catalog .user-info {flex-wrap:wrap;justify-content:flex-end;gap:10px;}
body.reference-catalog .filter-buttons {gap:12px;flex-wrap:wrap;}

/* Three large exam categories lead the toolbar; practice tools remain secondary. */
body.reference-catalog .catalog-heading {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:8px;margin-bottom:20px;}
body.reference-catalog .catalog-heading .header {grid-column:2;grid-row:1;margin:0;}
body.reference-catalog .catalog-heading .catalog-account-entry {grid-column:3;grid-row:1;justify-self:end;}
body.reference-catalog .catalog-account-entry {box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;font-weight:400;color:#1976d2;text-decoration:none;padding:10px 0;background:transparent;border:0;border-radius:0;white-space:nowrap;}
body.reference-catalog .catalog-account-entry:hover {color:#125a9c;text-decoration:underline;text-underline-offset:3px;}
body.reference-catalog .catalog-account-entry:focus-visible,
body.reference-catalog .filter-button:focus-visible,
body.reference-catalog .user-info a:focus-visible {outline:3px solid #1976d2;outline-offset:3px;}
body.reference-catalog .filter-buttons {display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:28px;margin-bottom:22px;}
body.reference-catalog .filter-left {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;max-width:610px;gap:12px;}
body.reference-catalog .filter-button {box-sizing:border-box;min-width:0;min-height:62px;margin:0;padding:16px 20px;font-size:20px;font-weight:700;line-height:1.35;white-space:nowrap;background:#f7fbff;border:2px solid #2196f3;border-radius:8px;}
body.reference-catalog .filter-button.active {background:#2196f3;color:#fff;box-shadow:0 3px 8px rgba(33,150,243,.18);}
body.reference-catalog .filter-button:not(.active):hover {background:#e5f2ff;}
body.reference-catalog .user-info {display:flex;flex:none;flex-direction:row;justify-content:flex-end;flex-wrap:nowrap;gap:10px;}
body.reference-catalog .user-info .catalog-account,
body.reference-catalog .user-info .mistakes-button {box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;padding:10px 16px;font-size:16px;font-weight:500;line-height:1.35;white-space:nowrap;text-decoration:none;background:#fff;color:#1976d2;border:1px solid #9ecbf0;border-radius:6px;}
body.reference-catalog .user-info a:hover {background:#e5f2ff;border-color:#2196f3;}
@media(max-width:900px) {
  body.reference-catalog .filter-buttons {flex-direction:column;align-items:stretch;gap:14px;}
  body.reference-catalog .filter-left {width:100%;max-width:none;flex:none;}
  body.reference-catalog .user-info {width:100%;justify-content:flex-end;}
}
@media(max-width:768px) {
  body.reference-catalog .container {box-sizing:border-box;width:calc(100% - 24px);}
  body.reference-catalog .content {padding:14px;}
  body.reference-catalog .catalog-account-entry {font-size:14px;padding:10px 0;}
  body.reference-catalog .filter-left {gap:8px;}
  body.reference-catalog .filter-button {min-height:56px;padding:14px 6px;font-size:17px;}
  body.reference-catalog .user-info .catalog-account,
  body.reference-catalog .user-info .mistakes-button {font-size:14px;padding:10px 14px;}
}
@media(max-width:360px) {
  body.reference-catalog .filter-left {gap:6px;}
  body.reference-catalog .filter-button {font-size:16px;padding:14px 3px;}
}

/* Pre-exam screens follow the saved source test.php and notices.js layouts.
   Keep these rules confined to simulation preparation, not report or training pages. */
.exam-scene.strict-simulation:is([data-stage="sound-check"],[data-stage="ready"],[data-stage="instructions"],[data-stage="title"]){
  top:0;
  font-family:'Microsoft YaHei',sans-serif;
  font-size:16px;
  line-height:normal;
  background:#f0f4f7;
}
.exam-scene.strict-simulation:is([data-stage="sound-check"],[data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .container{
  width:80%;
  max-width:1200px;
  min-width:800px;
  padding:0 20px;
  margin:0 auto;
  height:calc(100vh - 50px);
  transform:none;
  transform-origin:top;
}
.exam-scene.strict-simulation:is([data-stage="sound-check"],[data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .content-wrapper{
  height:calc(100vh - 50px);
  min-height:0;
  overflow:hidden;
}
.exam-scene.strict-simulation:is([data-stage="sound-check"],[data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .sidebar{
  width:200px;
  min-width:200px;
  padding:0 15px;
  height:100%;
  background:#e6f4ff;
}
.exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .main-content.showing-notice{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:0;
  height:100%;
}
.exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .notice-wrapper{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:800px;
  min-height:100vh;
  padding:20px;
  margin:0 auto;
}
.exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .notice-content{
  width:100%;
  max-width:600px;
  background:#f0f9ff;
  padding:30px;
  border-radius:8px;
  box-shadow:0 2px 10px rgba(0,0,0,.1);
  margin-top:20px;
}
.exam-scene.strict-simulation[data-stage="ready"] .ready-card{
  width:auto;
  max-width:none;
  background:#f6ffed;
  padding:20px;
  border-radius:8px;
  text-align:center;
  box-shadow:0 2px 10px rgba(0,0,0,.1);
}
.exam-scene.strict-simulation[data-stage="ready"] .ready-title{
  font-size:24px;
  color:#52c41a;
  font-weight:normal;
  line-height:normal;
  gap:10px;
  margin-bottom:10px;
}
.exam-scene.strict-simulation[data-stage="ready"] .ready-check{
  width:24px;
  height:24px;
  font-size:14px;
  line-height:1;
}
.exam-scene.strict-simulation[data-stage="ready"] .ready-card p{
  color:#666;
  font-size:16px;
  line-height:normal;
  margin:0;
}
.exam-scene.strict-simulation[data-stage="instructions"] .notice-content{
  background:#f0f7ff;
}
.exam-scene.strict-simulation[data-stage="instructions"] .notice-content h2{
  color:#1890ff;
  font-size:20px!important;
  font-weight:bold;
  line-height:normal;
  margin:0 0 15px;
  text-align:left;
}
.exam-scene.strict-simulation[data-stage="instructions"] .notice-content :is(ol,.notice-instructions){
  color:#1890ff;
  font-size:18px;
  line-height:2;
  text-align:left;
  padding:0;
  margin:0;
}
.exam-scene.strict-simulation[data-stage="instructions"] .notice-content ol{
  list-style:none;
  counter-reset:reference-notice;
}
.exam-scene.strict-simulation[data-stage="instructions"] .notice-content ol>li{
  counter-increment:reference-notice;
  margin:0;
}
.exam-scene.strict-simulation[data-stage="instructions"] .notice-content ol>li::before{
  content:counter(reference-notice) '. ';
}
.exam-scene.strict-simulation[data-stage="instructions"] .notice-content p{
  color:#1890ff;
  font-size:18px;
  line-height:2;
  margin:10px 0 0;
  text-align:center;
}
.exam-scene.strict-simulation[data-stage="instructions"] :is(#notice-ad-container,.notice-ad-container){
  width:100%;
  max-width:600px;
  height:36px;
  margin-bottom:20px;
  background:rgba(255,255,255,.9);
  border-radius:8px;
  box-shadow:0 2px 10px rgba(0,0,0,.1);
  overflow:hidden;
}
.exam-scene.strict-simulation[data-stage="title"] .notice-content h2{
  color:#2196f3;
  font-size:24px!important;
  font-weight:bold;
  line-height:1.5;
  margin:0 0 20px;
  text-align:center;
}
.exam-scene.strict-simulation[data-stage="title"] .notice-content p{
  color:#2196f3;
  font-size:24px;
  line-height:normal;
  margin:20px 0;
  text-align:center;
}
.exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .audio-visualizer{
  height:50px;
  background:#2196f3;
  width:80%;
  max-width:1200px;
  min-width:800px;
  padding:0 15px;
  margin:0 auto;
  left:50%;
  transform:translateX(-50%);
}
.exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .bars-container{
  width:60%;
  left:50%;
  gap:2px;
  opacity:1;
}
.exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .nav-number:disabled{
  opacity:1;
}
.exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) :is(.audio-label,.audio-time,.play-toggle:not(.autoplay-recovery)){
  display:none;
}
/* A playback recovery control is only exposed by the app when autoplay fails. */
.exam-scene.strict-simulation:is([data-stage="sound-check"],[data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .autoplay-recovery[hidden]{
  display:none!important;
}

/* test.php uses a full-height frame and a plain 20px footer, unlike exam.php. */
.exam-scene.strict-simulation[data-stage="sound-check"] .container{
  height:100vh;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .content-wrapper{
  height:calc(100vh - 70px);
  max-width:100%;
  overflow-x:hidden;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .main-content.exam-mode{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0 20px 0 0;
  overflow-y:auto;
  position:relative;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check{
  display:flex;
  flex-direction:column;
  flex:1;
  width:auto;
  padding:0;
  margin:0;
  line-height:normal;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check h1{
  color:#0084ff;
  font-size:24px;
  font-weight:bold;
  line-height:normal;
  margin:16px 0 20px;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check h2{
  display:flex;
  align-items:center;
  font-size:18px;
  font-weight:bold;
  line-height:normal;
  gap:10px;
  margin:0 0 10px;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check h2 span{
  width:25px;
  height:25px;
  flex-shrink:0;
  background:#0084ff;
  color:#fff;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .headphone-instructions{
  background:#f2faff;
  padding:20px;
  border-radius:10px;
  text-align:center;
  margin-bottom:20px;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .headphone-instructions img{
  width:50%;
  max-width:none;
  max-height:none;
  height:auto;
  display:block;
  margin:0 auto;
  object-fit:contain;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .headphone-instructions p{
  font-size:16px;
  line-height:normal;
  margin:16px 0;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check>p{
  font-size:16px;
  line-height:normal;
  margin:16px 0;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-encouragement{
  margin:10px 0 20px;
  font-size:18px;
  color:#333;
  background:#f2faff;
  padding:10px;
  border-radius:5px;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check>.listening-encouragement{
  font-size:18px;
  margin:10px 0 20px;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check .exam-actions{
  margin-top:auto;
  padding-bottom:30px;
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:nowrap;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check .exam-actions button{
  box-sizing:border-box;
  background:#00b589;
  border:0;
  color:white;
  padding:10px 30px;
  font-size:16px;
  line-height:normal;
  border-radius:5px;
  min-width:120px;
  box-shadow:none;
  transition:opacity .3s ease;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check .exam-actions button:hover:not(:disabled){
  background:#009976;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check .exam-actions [data-action="sound-clear"]{
  background:#0084ff;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check .exam-actions [data-action="sound-clear"]:hover:not(:disabled){
  background:#0073e6;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check .exam-actions [data-action="sound-clear"]:active{
  background:#0062cc;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .listening-check .exam-actions [data-action="sound-clear"]:disabled{
  background:#ccc;
  opacity:.7;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .inline-clear{
  font-family:Arial,sans-serif;
  font-size:13.3333px;
  line-height:normal;
  color:#000;
  padding:2px 6px;
  border:2px outset buttonborder;
  border-radius:2px;
  background:buttonface;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .user-info{
  display:block;
  text-align:left;
  width:100%;
  padding:15px 0;
  margin-bottom:20px;
  border-bottom:1px solid rgba(0,0,0,.1);
}
.exam-scene.strict-simulation[data-stage="sound-check"] .seat-number{
  display:block;
  position:relative;
  font-size:48px;
  font-weight:bold;
  color:#333;
  margin:15px 0;
  text-align:center;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .seat-number::before,
.exam-scene.strict-simulation[data-stage="sound-check"] .seat-number::after{
  content:'';
  display:block;
  position:absolute;
  top:50%;
  width:30px;
  height:1px;
  background:#ccc;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .seat-number::before{left:20px}
.exam-scene.strict-simulation[data-stage="sound-check"] .seat-number::after{right:20px}
.exam-scene.strict-simulation[data-stage="sound-check"] .user-photo{
  width:50px;
  height:62px;
  margin:0 auto 15px;
  background:#fff;
  overflow:hidden;
  border:2px solid #fff;
  box-shadow:0 0 3px rgba(0,0,0,.1);
}
.exam-scene.strict-simulation[data-stage="sound-check"] .info-item{
  font-size:14px;
  color:#666;
  margin:5px 0;
  line-height:1.5;
  text-align:left;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .info-label{
  display:block;
  color:#333;
  margin-bottom:5px;
  text-align:left;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .volume-control{
  position:relative;
  margin-top:auto;
  padding:15px;
  background:transparent;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .volume-title{
  font-size:14px;
  color:#666;
  margin-bottom:10px;
  position:relative;
  text-align:center;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .volume-slider{
  -webkit-appearance:none;
  appearance:none;
  width:80%;
  height:4px;
  margin:0 10px;
  background:#ddd;
  outline:none;
  opacity:.7;
  transition:opacity .2s;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .volume-slider:hover{opacity:1}
.exam-scene.strict-simulation[data-stage="sound-check"] .volume-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:15px;
  height:15px;
  border:0;
  border-radius:50%;
  background:#2196f3;
  cursor:pointer;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .volume-slider::-moz-range-thumb{
  width:15px;
  height:15px;
  border:0;
  border-radius:50%;
  background:#2196f3;
  cursor:pointer;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .volume-icon{
  width:24px;
  height:24px;
  color:#000;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .audio-visualizer{
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  min-width:0;
  max-width:none;
  height:20px;
  margin:0;
  padding:0;
  transform:none;
  background:#0084ff;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .audio-visualizer>*:not(.autoplay-recovery){
  display:none;
}
.exam-scene.strict-simulation[data-stage="sound-check"] .audio-visualizer>.autoplay-recovery:not([hidden]){
  display:block;
  position:absolute;
  bottom:30px;
  left:20px;
  padding:8px 16px;
  border:1px solid #2196f3;
  border-radius:4px;
  background:#fff;
  color:#2196f3;
  font-size:14px;
}

@media screen and (max-width:1000px){
  .exam-scene.strict-simulation:is([data-stage="sound-check"],[data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .container{
    width:100%;
    transform:scale(.9);
    height:calc(111.11vh - 50px);
  }
  .exam-scene.strict-simulation[data-stage="sound-check"] .container{height:111.11vh}
  .exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .audio-visualizer{
    width:100%;
    transform:translateX(-50%) scale(.9);
  }
}
@media screen and (max-width:900px){
  .exam-scene.strict-simulation:is([data-stage="sound-check"],[data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .container{
    transform:scale(.8);
    height:calc(125vh - 50px);
  }
  .exam-scene.strict-simulation[data-stage="sound-check"] .container{height:125vh}
  .exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .audio-visualizer{transform:translateX(-50%) scale(.8)}
}
@media screen and (max-width:800px){
  .exam-scene.strict-simulation:is([data-stage="sound-check"],[data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .container{
    transform:scale(.7);
    height:calc(142.86vh - 50px);
  }
  .exam-scene.strict-simulation[data-stage="sound-check"] .container{height:142.86vh}
  .exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .audio-visualizer{transform:translateX(-50%) scale(.7)}
}
@media screen and (max-width:1200px){
  .exam-scene.strict-simulation[data-stage="sound-check"] .container{
    width:95%;
    margin:10px auto;
    padding:15px;
  }
}
@media screen and (max-width:768px){
  .exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .notice-wrapper{padding:15px}
  .exam-scene.strict-simulation:is([data-stage="ready"],[data-stage="instructions"],[data-stage="title"]) .notice-content{margin:15px;padding:20px}
  .exam-scene.strict-simulation[data-stage="instructions"] :is(#notice-ad-container,.notice-ad-container){margin:15px;border-radius:12px}
}
