
/*! NO8GEO-AUTHORSHIP-20261013 | 教学设计与平台开发：史若彬 | 版权所有，仅限个人使用，侵权必究 | no8geo.online
 * 声明适用于本站原创教学设计及平台开发；第三方库、授权素材与共创作品保留各自作者及许可。 */
:root{font-family:'Microsoft YaHei',system-ui,sans-serif;color:#193249;background:#f1f5f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{max-width:1160px;padding:24px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}a{color:#186c96;text-decoration:none}main{max-width:1120px;padding:20px 24px 60px;margin:auto}.intro{margin-bottom:28px}.eyebrow{font-size:12px;color:#688299;letter-spacing:.12em}h1{font-size:32px;margin:12px 0}h2{font-size:21px;margin:0 0 16px}h3{font-size:16px;margin:20px 0 12px}p{line-height:1.8}button,.button{font:inherit;border:1px solid #bfd0df;background:#fff;color:#214765;border-radius:11px;padding:10px 15px;cursor:pointer;display:inline-block;transition:transform .12s ease-out}button:active{transform:scale(.98)}button:disabled{opacity:.55;cursor:wait}.primary{background:#247fa7;border-color:#247fa7;color:white}.danger{color:#993543}.card{padding:24px;background:#fff;border:1px solid #dbe4ed;border-radius:20px;box-shadow:0 8px 35px #243b5310;margin:16px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.cards .card{margin:0}.hint{font-size:13px;color:#63798d}.actions,.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.actions:empty{display:none}.filters label{flex:1;min-width:200px}label{font-size:14px;display:block;margin:12px 0 7px}input,select,textarea{font:inherit;width:100%;padding:11px;border:1px solid #b9cddd;border-radius:10px;color:inherit;background:#fff;margin-top:7px}textarea{min-height:135px;resize:vertical;line-height:1.8}input[type=checkbox]{width:auto;margin:0 8px 0 0}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #2580af50;outline-offset:2px}#notice{background:#e8f4fd;border:1px solid #c0deef;border-radius:12px;padding:14px;white-space:pre-wrap}.badge{display:inline-block;font-size:12px;padding:5px 9px;border-radius:8px;background:#edf2f7;color:#5b7185}.badge.passed{background:#e2f3e8;color:#28704b}.badge.review{background:#fff1d5;color:#865b16}.student-row{display:flex;gap:18px;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e8ef;padding:16px 0}.student-row p{margin:5px 0}.student-row .actions{margin:0}.review-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;align-items:start}.avatar{width:150px;height:290px;object-fit:contain;object-position:bottom}.question{font-size:20px;line-height:1.8;font-weight:600;white-space:pre-wrap}.transcript{white-space:pre-wrap;background:#f4f7fa;padding:14px;border-radius:10px;line-height:1.8}.point{border-left:3px solid #bfd4e4;padding:6px 14px;margin:12px 0}.point p{margin:4px 0}.review-form{display:grid;grid-template-columns:120px 1fr;gap:12px}.review-form .actions{grid-column:1/-1}.stats{display:flex;gap:28px;flex-wrap:wrap}.stats strong{display:block;font-size:25px}.stats small{font-size:12px;color:#667f93}.empty{padding:35px 0;color:#6b7f90}.bank-question{padding:18px;border:1px solid #dce5ed;border-radius:12px;margin:15px 0}.bank-question textarea{min-height:85px}.class-checks{display:flex;flex-wrap:wrap;gap:10px}.class-checks label{border:1px solid #dce5ed;border-radius:10px;padding:10px}.activity{font-size:13px;color:#61798c}footer{max-width:1120px;padding:0 24px 32px;margin:auto;line-height:1.8;color:#6c7f90;font-size:12px}[hidden]{display:none!important}@media(max-width:650px){header{padding:18px 16px}header span{display:none}main{padding:12px 16px 40px}h1{font-size:27px}.card{padding:19px}.review-layout{grid-template-columns:76px minmax(0,1fr);gap:12px}.avatar{width:76px;height:160px}.question{font-size:17px}.student-row{align-items:flex-start;flex-direction:column}.review-form{grid-template-columns:1fr}.actions button{flex:1}.stats{gap:20px}.filters label{min-width:160px}}@media(prefers-reduced-motion:reduce){button,.button{transition:none}}

.school-avatar-stage{display:block;height:230px;min-width:130px}.school-avatar-stage img,.school-avatar-stage video{width:100%;height:100%;object-fit:contain;object-position:bottom}

/* Keep the question outside all avatar media and action layouts. */
.question-card{position:relative;isolation:isolate;overflow-wrap:anywhere}.question-card .question{margin:0;font-size:20px;line-height:1.8}
.review-interaction{display:grid;grid-template-columns:170px minmax(0,1fr);gap:26px;align-items:start}
.teacher-figure{text-align:center;min-width:0}.teacher-figure .school-avatar-stage{position:relative;width:150px;max-width:100%;min-width:0;height:230px;margin:auto;overflow:hidden;contain:layout paint}.teacher-figure .school-avatar-stage img,.teacher-figure .school-avatar-stage video{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:bottom}.teacher-name{display:block;margin-top:10px;font-size:15px}.teacher-figure .actions{justify-content:center;margin:10px 0}.answer-area{min-width:0}.choice-options{border:0;padding:0;margin:0}.choice-options label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #c6dbe6;border-radius:10px;cursor:pointer}.choice-options input{width:auto;margin:4px 0;flex:none}.choice-options span{overflow-wrap:anywhere}.message-dialog{border:1px solid #c6dbe6;border-radius:18px;padding:24px;width:min(520px,calc(100vw - 32px));max-height:90dvh;color:#193249}.message-dialog::backdrop{background:#122a4966}.message-item{padding:16px 0;border-bottom:1px solid #dce5ed}.message-error{color:#a33b36}#latestAnswer{margin-top:26px}#latestAnswer>.card{border-color:#9ac9df}#answerCards>h2{margin-top:26px}
@media(max-width:650px){.review-interaction{grid-template-columns:1fr;gap:12px}.teacher-figure .school-avatar-stage{width:105px;height:165px}.question-card .question{font-size:18px}.teacher-figure .actions button{flex:0 1 auto}.choice-options label{line-height:1.65}}

/* Question diagrams stay in the question card, separate from the avatar. */
.question-images{display:grid;gap:14px;min-width:0;margin:16px 0}.question-images figure{margin:0;min-width:0}.question-image-button{display:block;background:#fff;padding:8px;width:100%;max-width:900px;min-height:0;border:1px solid #b7cedd;cursor:zoom-in}.question-image-button img{display:block;max-width:100%;max-height:520px;width:auto;height:auto;margin:auto;object-fit:contain}.question-images figcaption{font-size:.85rem;color:var(--muted,#60798a);margin-top:6px}.question-image-dialog{width:min(96vw,1400px);max-width:96vw;max-height:94dvh;overflow:auto;padding:16px;border:1px solid #b7cedd;border-radius:16px;background:#fff}.question-image-dialog::backdrop{background:#132533b3}.question-image-dialog>button{position:sticky;top:0;display:block;margin:0 0 12px auto;background:#136991;color:#fff;z-index:1}.question-image-dialog img{display:block;max-width:100%;height:auto;margin:auto}.image-preview-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.image-preview-row>img{width:140px;max-height:120px;object-fit:contain;background:white}.image-preview-row label{flex:1;min-width:160px}.image-editor{border-top:1px solid #c8dce8;margin-top:16px;padding-top:10px;min-width:0}.image-editor input[type=file]{max-width:100%;font-size:14px}.answer-explanation{padding:12px;border-left:3px solid #2488b5;background:#edf7fb;color:#183c50;margin:12px 0}.answer-explanation p{white-space:pre-wrap}.question{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){.question-image-button img{max-height:420px}.question-image-dialog{padding:8px}.image-preview-row>img{width:100px}}
/* Default dark classroom surface; opaque cards keep low-end tablets responsive. */
html{scroll-padding-top:90px}
header{position:sticky;top:0;z-index:20;max-width:none;background:#f1f5f9;border-bottom:1px solid #dbe4ed;padding:12px max(16px,calc((100vw - 1112px)/2));gap:12px;min-height:70px}
header nav{display:flex;align-items:center;flex-wrap:wrap;gap:14px}header nav a{min-height:40px;display:inline-flex;align-items:center}header .return-list{font-weight:650;background:#dceef8;border:1px solid #a5c8dc;border-radius:11px;padding:8px 12px}#themeToggle{white-space:nowrap;flex-shrink:0;min-height:40px}
.delivery-details{background:#edf4f8;border:1px solid #bbd1df;border-radius:12px;padding:14px;margin:16px 0}.delivery-details h4{margin:0 0 10px}.delivery-details p{margin:6px 0}.delivery-details .hint{font-size:12px}
html:not([data-theme="light"]){color-scheme:dark;background:#081421;color:#e4edf6;--muted:#a8bbcf}
html:not([data-theme="light"]) body{background:#081421;color:#e4edf6}
html:not([data-theme="light"]) header{background:#0c1b2b;border-color:#294257}
html:not([data-theme="light"]) a{color:#80cff3}
html:not([data-theme="light"]) .card{background:#102235;border-color:#2b4258;box-shadow:0 6px 22px #0002}
html:not([data-theme="light"]) button,html:not([data-theme="light"]) .button{background:#19344b;color:#e2f0fa;border-color:#406078}
html:not([data-theme="light"]) .primary{background:#197da5;color:#fff;border-color:#359dc5}
html:not([data-theme="light"]) .return-list{background:#173c54;border-color:#4385a4;color:#b7e9ff}
html:not([data-theme="light"]) input,html:not([data-theme="light"]) select,html:not([data-theme="light"]) textarea{background:#0b1a2b;color:#edf5fc;border-color:#486278}
html:not([data-theme="light"]) ::placeholder{color:#98aec0;opacity:1}
html:not([data-theme="light"]) .hint,html:not([data-theme="light"]) .eyebrow,html:not([data-theme="light"]) .stats small,html:not([data-theme="light"]) .empty,html:not([data-theme="light"]) .activity,html:not([data-theme="light"]) footer{color:#a8bbcf}
html:not([data-theme="light"]) .transcript,html:not([data-theme="light"]) .delivery-details{background:#0b1b2b;border-color:#3a566d}
html:not([data-theme="light"]) .badge{background:#273d52;color:#d4e4f2}
html:not([data-theme="light"]) .badge.passed{background:#173e34;color:#8ee6b8}
html:not([data-theme="light"]) .badge.review{background:#443821;color:#f4d394}
html:not([data-theme="light"]) #notice{background:#153a50;color:#d5f0ff;border-color:#3f728d}
html:not([data-theme="light"]) .point{border-color:#5488a6}
html:not([data-theme="light"]) .student-row,html:not([data-theme="light"]) .bank-question,html:not([data-theme="light"]) .class-checks label,html:not([data-theme="light"]) .choice-options label,html:not([data-theme="light"]) .image-editor,html:not([data-theme="light"]) .message-item{border-color:#3a5268}
html:not([data-theme="light"]) .message-dialog,html:not([data-theme="light"]) .question-image-dialog{background:#102235;color:#e4edf6;border-color:#56758c}
html:not([data-theme="light"]) .answer-explanation{background:#143345;color:#d8edf6}
html:not([data-theme="light"]) .question-image-button{background:#22374a;border-color:#48677e}
html:not([data-theme="light"]) .question-image-button img{opacity:.9}
html:not([data-theme="light"]) .message-error,html:not([data-theme="light"]) .danger{color:#ffb4a9}
html:not([data-theme="light"]) :focus-visible{outline:3px solid #71caf0;outline-offset:3px}
@media(max-width:650px){header{padding:10px 12px;align-items:flex-start}header nav{gap:4px 12px;flex:1}header nav .return-list{flex-basis:100%;width:max-content;max-width:210px}header nav a{font-size:13px;min-height:34px}#themeToggle{padding:9px 10px;font-size:13px}html{scroll-padding-top:115px}.delivery-details{padding:12px}}


/* The question already has its teacher; avoid a second floating avatar covering answers. */
body.learning-in-attempt #no8geo-site-guide{display:none!important}

.hold-to-talk{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;min-width:190px;min-height:54px}.hold-to-talk.recording{background:#168b64;color:white}.hold-to-talk.canceling{background:#b43b4b;color:white}.hold-to-talk:focus-visible{outline:3px solid #79cfea;outline-offset:3px}
