/* Golden House orange and gold, with Jinmumu leaf green. Existing assets unchanged. */
:root{--ink:#312d26;--muted:#857a6c;--line:#eae2d7;--green:#a94b10;--bg:#fbf8f2;--pale:#fff0d8;--amber:#96651a;--leaf:#526934;--orange:#f58220;--gold:#f6bd28}
body{background:var(--bg)}
.institution-logo{width:175px;height:auto;display:block}.brand{letter-spacing:0}.auth-intro .institution-logo{width:245px;max-width:100%}
.primary{background:#b74f0c;color:#fff;box-shadow:0 3px 8px #a94b1012;transition:background .15s,transform .15s}.primary:hover{background:#913c09}.primary:active{transform:translateY(1px)}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #dd8c36;outline-offset:3px}
.auth-shell{background:#faf7f0;grid-template-columns:48% 52%}.auth-intro{position:relative;overflow:hidden;min-height:100vh;padding:40px 52px 25px;background:radial-gradient(circle at 60% 75%,#e9f1ca 0,transparent 45%),linear-gradient(145deg,#fff0d4,#fcf8eb 70%);color:#3c3a2a;gap:20px}.auth-intro:after{content:'';position:absolute;right:-80px;top:40px;width:230px;height:230px;border:1px solid #e9b65455;border-radius:50%;pointer-events:none}.intro-copy{margin-top:20px;z-index:1}.intro-copy .eyebrow{color:#946127;font-size:10px;letter-spacing:2px}.intro-copy h1{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:35px;font-weight:650;line-height:1.65;letter-spacing:1px;margin:16px 0}.intro-copy p{color:#7a7259;font-size:14px}.intro-footer{color:#8b754e;font-size:11px;letter-spacing:1px;z-index:1}.auth-mascot{width:290px;max-width:80%;height:auto;object-fit:contain;align-self:center;margin-top:auto;filter:drop-shadow(0 15px 20px #9b7a4120)}.auth-main{padding:40px;background:#fffcf7}.login-card{width:min(420px,100%);background:#fff;padding:34px;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 50px #7f582b09}.login-card h2{font-size:26px}.auth-footnote{color:#938977}
.sidebar{background:#fffdf9;border-right-color:#eae0d2;padding-top:24px}.side-caption{color:#9b8c76;margin-top:30px;letter-spacing:2px}.nav{color:#7a7367;position:relative}.nav.active{background:#fff0d8;color:#9a440e}.nav.active:before{content:'';width:3px;height:22px;border-radius:4px;background:#ed8a24;position:absolute;left:0}.nav:hover{background:#fff6e7}.nav span{color:#a18a67}.nav.active span{color:#b85a13}.sidebar-mascot{margin:auto auto 0;text-align:center;padding-top:25px}.sidebar-mascot img{display:block;width:112px;height:112px;object-fit:contain;margin:auto}.sidebar-mascot p{font-size:11px;color:#9c8a69;margin:3px 0}.sidebar-bottom{margin-top:0;color:#777d59;padding-top:20px}.live-dot{background:#6c8a42}.topbar{background:#fffefa}.topbar b{color:#6b583d}.user-menu>span{color:#6a593e}
.page-heading{min-height:172px;background:linear-gradient(110deg,#fff1d9,#fffdf7 65%,#f0f5de);border:1px solid #ede3cf;border-radius:17px;padding:24px 30px;position:relative;overflow:hidden}.page-heading h1{font-size:30px;color:#3e3627}.page-heading .eyebrow{color:#ac6a26;letter-spacing:2px}.page-heading p{color:#8a795f}.heading-mascot{display:flex;align-items:center;gap:22px}.heading-mascot img{width:160px;height:140px;object-fit:contain;filter:drop-shadow(0 7px 9px #8d7b2520)}.outline-tag{border-color:#dfb878;background:#fffcf4;color:#996220;font-size:11px;white-space:nowrap}
.stats{border-color:var(--line);box-shadow:0 4px 18px #b1874710}.stats strong{color:#7c5528}.stats>div:nth-child(2) strong{color:#638045}.stats>div:nth-child(3) strong{color:#bd7626}.search-panel,.account-form,.question-card,.file-card{border-color:var(--line);box-shadow:0 3px 16px #79562404}.search-row input{background:#faf8f3}.question-card{border-radius:13px}.code{color:#766035}.tag{background:#f1f4e8;color:#66754b}.tag:hover{background:#e6edce}.notice{background:#f4f3e7;color:#7b7d53;border-radius:9px}.filter-chip{background:#fff0da;color:#9d571e}.secondary{border-color:#decfb8;color:#82592d;background:#fffefa}.secondary:hover{border-color:#c59e68;background:#fff8eb}.paper-edition{background:#fffbf3;border-color:#e8dbc6}.paper-edition:nth-child(2){background:#f6f8ef}.paper-edition h3{color:#8a5822}.paper-edition:nth-child(2) h3{color:#61753e}.paper-download-grid{gap:16px}.knowledge-card:hover{border-color:#d3b07b;background:#fff8e8}.knowledge-card{border-color:var(--line)}.footer{color:#9a8b73}.export-job strong{color:#6f5933}#basketCount{background:#fbe6c1;color:#a25a12}#toast{background:#6b4e2b}.detail-section h3{color:#93551f}.figure-caption{color:#999078}
@media(max-width:1100px){.heading-mascot{gap:8px}.heading-mascot .outline-tag{display:none}.heading-mascot img{width:130px}.auth-intro{padding:35px}.intro-copy h1{font-size:30px}.auth-mascot{width:260px}}
@media(max-width:950px){.institution-logo{width:145px}.sidebar-mascot img{width:95px;height:95px}.page-heading{padding:22px}.auth-intro .institution-logo{width:205px}}
@media(max-width:650px){.auth-shell{display:block}.auth-intro{min-height:0;padding:22px 25px;gap:0}.auth-intro:after,.auth-mascot{display:none}.auth-intro .institution-logo{width:190px}.auth-main{padding:30px 20px 45px}.login-card{padding:26px;box-shadow:none}.sidebar{padding:13px 16px}.institution-logo{width:160px}.sidebar-mascot{display:none}.page-heading{min-height:132px;padding:18px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px;max-width:230px}.page-heading .eyebrow{font-size:9px;letter-spacing:1px}.heading-mascot img{width:85px;height:100px}.heading-mascot{align-self:flex-end;margin-right:-8px}.content{padding-top:20px}.nav.active:before{display:none}.side-caption{display:none}}

/* The education motto remains visible across routes and while scrolling. */
body{padding-top:30px}.brand-motto-bar{position:fixed;inset:0 0 auto;z-index:50;height:30px;display:flex;align-items:center;justify-content:center;background:#fff3d9;border-bottom:1px solid #edd7b4;color:#8b591d;font-size:12px;letter-spacing:4px;font-weight:600}.sidebar{top:30px}.auth-shell,.auth-intro{min-height:calc(100vh - 30px)}@media(max-width:650px){.brand-motto-bar{font-size:11px;letter-spacing:2px}.sidebar{top:auto}.auth-intro{min-height:0}}

/* Teacher workbench: compact actions, persistent basket and paper navigation. */
.workbench-actions{display:flex;gap:20px;border-top:1px solid var(--line,#e8e5dc);padding-top:12px;margin-top:16px;flex-wrap:wrap}
.inline-answer{background:#fffaf0;border-radius:12px;padding:22px;margin-top:14px;border:1px solid #f1dfb9;line-height:1.9}
.inline-answer .question-content{border-bottom:1px dashed #e8d8b6;padding-bottom:12px;margin-bottom:16px}
.basket-dock{position:fixed;bottom:24px;right:28px;z-index:20;display:flex;gap:8px;box-shadow:0 8px 32px #44280722;background:#fff;padding:10px;border-radius:16px;border:1px solid #efd8b6}
.basket-dock[hidden]{display:none}.basket-dock #dockItems{position:absolute;bottom:76px;right:0;width:310px;max-height:420px;overflow:auto;background:#fff;padding:20px;border-radius:14px;border:1px solid #eddcc5;box-shadow:0 12px 34px #44280722}
.dock-item{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #eee;padding:9px 0}.paper-outline{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:24px 0}.paper-outline button{min-width:40px;padding:8px}.question-card{scroll-margin-top:60px}.footer{padding-bottom:110px}#similarDialog{width:min(1050px,94vw)}#similarBody{padding:24px}.card-stem{max-height:none!important;overflow:visible!important;-webkit-line-clamp:unset!important;display:block!important}.result-header .check-label{display:flex;align-items:center;gap:8px;font-size:14px}.result-header input{width:auto}
@media(max-width:700px){.basket-dock{bottom:12px;right:12px;padding:7px;border-radius:12px}.basket-dock button{font-size:13px;padding:10px}.basket-dock #dockItems{width:min(310px,calc(100vw - 40px));bottom:64px}.inline-answer{padding:14px}#similarBody{padding:14px}.workbench-actions{gap:14px}.result-header{gap:10px;flex-wrap:wrap}}

.history-variants{margin-top:18px;border-top:1px solid #eee;padding-top:14px}.history-variants summary{cursor:pointer;color:#9d571a;margin-bottom:15px}.export-job .download-actions button{margin-top:6px}

/* Match institution worksheet layout: statement left, diagram right. */
.question-content.has-figures{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,30%);gap:28px;align-items:start;line-height:1.9;margin:18px 0}
.question-copy{min-width:0;overflow-wrap:anywhere}.question-copy p:first-child{margin-top:0}
.question-content>.question-figures{min-width:0;margin:0;display:block;text-align:right;align-self:start}
.question-content>.question-figures img{display:block!important;margin:0 0 8px auto!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:270px!important;object-fit:contain;object-position:right top}
.question-content .figure-caption{text-align:right;font-size:11px;margin:4px 0 14px}.question-content .card-stem{margin:0}.question-content .card-stem p:first-child{margin-top:0}
.preview-question .question-content.has-figures{grid-template-columns:minmax(0,1fr) minmax(180px,30%)}
.preview-answer .question-figures{text-align:right}.preview-answer .question-figures img{display:block;margin-left:auto;max-width:30%;max-height:270px;object-fit:contain}
@media(max-width:700px){.question-content.has-figures,.preview-question .question-content.has-figures{grid-template-columns:minmax(0,1fr) minmax(105px,33%);gap:12px}.question-content>.question-figures img{max-height:190px!important}.question-content .figure-caption{font-size:10px}.preview-answer .question-figures img{max-width:40%}}

.footer-brand{display:inline-flex;align-items:center;gap:9px}.footer-brand img{width:20px;height:21px;object-fit:contain}

.solve-job{border-left:4px solid #cf831b}.solve-step{line-height:1.9}.related-fallback{margin:20px 0;padding:16px;background:#f6f4ed;border-radius:12px}.related-fallback summary{cursor:pointer;margin-bottom:16px;color:#7a776d}

/* Image-only question flow. The institution mascot uses CSS motion, no external assets. */
.photo-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:6px 0 30px}.photo-heading h1{font-size:32px;letter-spacing:1px;margin:12px 0}.photo-heading p{color:#857762;line-height:1.9;margin:0;max-width:620px}.photo-heading>img{width:128px;height:140px;object-fit:contain}.photo-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr);gap:26px;align-items:stretch}.photo-upload-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}.photo-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:245px;border:1.5px dashed #dabb88;border-radius:14px;background:#fffcf5;cursor:pointer;padding:20px;text-align:center;color:#8a6b40;overflow:hidden}.photo-dropzone:hover,.photo-dropzone.dragging{background:#fff3df;border-color:#c17a24}.photo-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.photo-dropzone:focus-within{outline:2px solid #c17a24;outline-offset:4px}.photo-dropzone strong{font-size:19px}.photo-dropzone>span:not(.upload-icon){font-size:13px}.upload-icon{display:grid;place-items:center;border-radius:17px;background:#f9ead0;color:#ad6720;width:58px;height:58px;font-size:32px;font-weight:300}.photo-dropzone.has-photo .upload-icon,.photo-dropzone.has-photo>span{display:none}.photo-dropzone .photo-preview{max-width:100%;max-height:330px;margin:0;object-fit:contain;border-radius:6px}.photo-upload-card>.help{font-size:12px;line-height:1.8;margin:14px 0 20px}.photo-upload-card #photoStatus:empty{display:none}.photo-guide{border-radius:20px;background:linear-gradient(150deg,#fff1d5,#faf8ec 60%,#edf3de);padding:34px 30px;display:flex;flex-direction:column;justify-content:center}.photo-guide h2{font-size:23px;font-weight:600;line-height:1.6;max-width:240px;margin:14px 0 20px}.photo-guide p{font-size:14px;color:#82765c;line-height:1.95;margin:6px 0}.photo-guide-motto{margin-top:28px;padding-top:20px;border-top:1px solid #d7cba855;letter-spacing:3px;color:#92703b;font-size:13px}.solve-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:38px}.solve-section-heading[hidden]{display:none}.solve-section-heading h2{font-size:21px}.solve-job{border-left:0;margin-top:18px;padding:26px 30px;border-radius:18px}.solve-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.solve-result-label{font-size:13px;font-weight:600;color:#98601f}.solve-card-top time{font-size:12px}.solve-waiting{display:flex;align-items:center;justify-content:center;gap:34px;padding:20px 0 26px}.waiting-mascot{position:relative;flex:0 0 135px}.waiting-mascot img{width:135px;height:135px;object-fit:contain;animation:jinmumu-think 2.8s ease-in-out infinite}.waiting-spark{position:absolute;right:-3px;top:12px;color:#e5a12a;font-size:24px;animation:jinmumu-spark 2.8s ease-in-out infinite}.waiting-copy h3{font-size:21px;margin:10px 0 12px}.waiting-copy .eyebrow{font-size:11px;letter-spacing:1px}.waiting-copy p{font-size:14px;color:#897b67;line-height:1.8;margin:6px 0}.waiting-copy p.help{font-size:12px}.waiting-dots{display:flex;gap:6px;margin-top:18px}.waiting-dots span{width:6px;height:6px;border-radius:50%;background:#d49339;animation:jinmumu-dot 1.4s infinite}.waiting-dots span:nth-child(2){animation-delay:.2s}.waiting-dots span:nth-child(3){animation-delay:.4s}.solve-original-meta{display:flex;align-items:center;gap:12px}.solve-answer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,32%);gap:24px;align-items:start}.solve-answer-layout:not(:has(.solve-figures)){display:block}.solve-answer-copy{min-width:0}.solve-answer-copy h3{font-size:17px}.solve-step{overflow-wrap:anywhere}.solve-figures{text-align:right}.solve-figures figure{margin:14px 0 24px}.solve-figures img{max-width:100%;height:auto;object-fit:contain}.solve-figures figcaption{font-size:11px}.solve-original{border-bottom:1px solid var(--line);margin:20px 0;padding:0 0 16px}.solve-original summary{cursor:pointer;font-size:14px;color:#817052}.solve-conclusion{background:#faf4e6;padding:14px 18px;border-radius:9px;line-height:1.9}.solve-job .preview-answer{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.solve-job .preview-answer .question-figures img{max-width:38%}.solve-job .download-actions{margin-top:22px}
@keyframes jinmumu-think{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes jinmumu-spark{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.08)}}@keyframes jinmumu-dot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.waiting-mascot img,.waiting-spark,.waiting-dots span{animation:none}.waiting-spark,.waiting-dots span{opacity:1}}
@media(max-width:760px){.photo-workspace{grid-template-columns:1fr}.photo-guide{display:none}.photo-heading h1{font-size:25px}.photo-heading>img{width:90px;height:110px}.photo-upload-card{padding:18px}.photo-dropzone{min-height:210px}.solve-job{padding:20px}.solve-waiting{gap:14px}.waiting-mascot{flex-basis:85px}.waiting-mascot img{width:85px;height:100px}.waiting-copy h3{font-size:17px}.waiting-copy p{font-size:12px}.waiting-copy .eyebrow{font-size:10px}.solve-answer-layout{grid-template-columns:minmax(0,1fr) minmax(100px,30%);gap:14px}.solve-section-heading{align-items:start;flex-direction:column;gap:0}.solve-section-heading h2{margin-bottom:3px}.solve-job .preview-answer .question-figures img{max-width:55%}.photo-heading{gap:6px}.photo-heading p{font-size:13px}.photo-heading .eyebrow{font-size:10px}}

.admin-analytics{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin:26px 0}.admin-analytics[hidden]{display:none}.analytics-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.analytics-filter input{width:auto;min-width:140px}.analytics-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.analytics-totals>div{background:#faf6ec;padding:16px;border-radius:10px}.analytics-totals strong{display:block;font-size:27px;margin-top:8px;color:#926127}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:24px 0}.analytics-grid>section{min-width:0}.analytics-bar-row{display:grid;grid-template-columns:minmax(95px,40%) 1fr 28px;gap:10px;align-items:center;font-size:12px;margin:10px 0}.analytics-label{overflow-wrap:anywhere}.analytics-track{background:#f7f0e4;height:9px;border-radius:5px;overflow:hidden}.analytics-track>span{display:block;background:#d99c46;height:100%;border-radius:5px}.admin-analytics table{border-collapse:collapse;width:100%;font-size:12px;margin-top:14px}.admin-analytics td,.admin-analytics th{padding:9px;text-align:left;border-bottom:1px solid var(--line)}.admin-analytics caption{text-align:left;color:#8f8370;font-size:11px;padding:12px 0}.admin-analytics summary{cursor:pointer;font-size:13px;color:#95662e}.analytics-hours{margin-top:20px}.admin-analytics .help{line-height:1.8}
@media(max-width:760px){.admin-analytics{padding:18px}.analytics-grid{grid-template-columns:1fr}.analytics-totals{grid-template-columns:1fr 1fr}.analytics-filter input{min-width:120px;max-width:160px}}

.solve-answer-layout>.solve-figures .figure-caption{font-size:11px;color:#95866f}.solve-answer-layout>.solve-figures>img{display:block;margin:15px 0 8px auto;max-width:100%;height:auto}.solve-answer-layout{margin-top:20px}.solve-answer-layout>.solve-figures{position:sticky;top:50px}.photo-heading h1 span{white-space:nowrap}@media(max-width:760px){.photo-heading h1 span{display:block}.solve-answer-layout>.solve-figures{position:static}.solve-answer-layout:has(.solve-answer-copy + .solve-figures){grid-template-columns:1fr}.solve-answer-layout>.solve-figures>img{max-width:70%;max-height:260px}.solve-answer-layout>.solve-figures figure img{max-height:260px}.solve-job .question-content.has-figures{grid-template-columns:1fr}.solve-job .question-content>.question-figures img{max-width:65%!important;margin-left:auto!important}.photo-heading h1{font-size:24px;line-height:1.6}}

/* Teaching content, without exposing backend controls. */
.main-exam-points{padding:15px 18px;background:#fff6e3;border:1px solid #f0dfbd;border-radius:12px;margin:6px 0 23px;line-height:1.8}.main-exam-points strong{display:inline-block;margin-right:15px;color:#9c6324;font-size:12px}.main-exam-points>span{font-size:15px;font-weight:600;color:#715324}.main-exam-points p{font-size:12px;margin:6px 0 0}.solution-method-title{font-size:16px;line-height:1.9;color:#8b5c25;border-left:3px solid #d99a42;padding-left:12px;margin:26px 0 12px}.solution-method-idea{background:#f5f6ed;border-radius:10px;padding:13px 16px;line-height:1.9;color:#66714d;font-size:14px}#practiceDialog{width:min(1000px,95vw)}#practiceBody{padding:26px}#practiceBody>h2{margin-top:3px}.practice-model{color:#986222;font-size:14px}.practice-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-source-badge{font-size:11px;border-radius:6px;background:#f0f4e7;color:#647448;padding:4px 9px;white-space:nowrap}.practice-source{font-size:12px;color:#8c806e;line-height:1.8;margin:10px 0 17px;overflow-wrap:anywhere}.practice-answer{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;line-height:1.9}.practice-answer .question-figures{text-align:right}.practice-answer .question-figures img{max-width:35%;max-height:240px;object-fit:contain}.practice-button{color:#946025;border-color:#d3b47d;background:#fff9ee}.practice-answer[hidden]{display:none}@media(max-width:700px){#practiceBody{padding:17px}.practice-card{padding:18px}.practice-card-top{align-items:start}.practice-answer .question-figures img{max-width:60%}.main-exam-points{padding:13px}.solution-method-title{font-size:15px}.solution-method-idea{padding:12px;font-size:13px}}

.admin-solve-record{margin:16px 0;padding:18px 0;border-top:1px solid var(--line)}.admin-solve-record summary{cursor:pointer;line-height:1.8}.admin-solve-record p{white-space:pre-wrap;overflow-wrap:anywhere}.admin-question-image{display:block;max-width:100%;max-height:420px;object-fit:contain;margin:18px 0}.admin-record-error{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#8b3028;padding:12px;background:#fff5f0;border-radius:8px}

.history-search label{display:block;margin-bottom:12px;font-weight:600}.history-search select{border:1px solid var(--line);border-radius:10px;padding:12px;background:white;color:var(--ink);font:inherit}.history-question{display:grid;grid-template-columns:156px minmax(0,1fr);gap:24px;align-items:center}.history-thumb{border:1px solid var(--line);border-radius:12px;background:#faf8f2;overflow:hidden;width:156px;height:130px;padding:8px;cursor:pointer}.history-thumb img{height:100%;width:100%;object-fit:contain}.history-question-info h2{font-size:17px;line-height:1.8;overflow-wrap:anywhere;margin:9px 0}.history-question-info>.help{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.history-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.history-meta .help{margin:0}.history-state{border-radius:20px;padding:4px 11px;font-size:12px}.history-state.ready{background:#eaf1e8;color:#446743}.history-state.processing{background:#fff0cf;color:#986a21}.history-state.attention{background:#fff0e9;color:#a45532}#solveHistoryDialog{width:min(1080px,95vw);max-width:1080px}#solveHistoryDetail{padding:0 24px 24px}#solveHistoryDetail .question-card{border:0;padding:12px 0;box-shadow:none}.history-source{margin:18px 24px}.history-source summary{cursor:pointer}.history-source img{display:block;max-width:100%;max-height:520px;object-fit:contain;margin:16px auto}@media(max-width:650px){.history-search .search-row{flex-wrap:wrap}.history-search input{flex-basis:100%}.history-question{grid-template-columns:90px minmax(0,1fr);gap:12px}.history-thumb{width:90px;height:100px}.history-question-info h2{font-size:14px}.history-question-info .help{font-size:11px}#solveHistoryDetail{padding:0 15px 15px}.history-source{margin:15px}.solve-section-heading{flex-wrap:wrap;gap:10px}}

.solve-waiting .waiting-mascot img{animation:jinmumu-sway 2.7s ease-in-out infinite;transform-origin:50% 80%}.solve-waiting[data-frame="1"] .waiting-mascot img,.solve-waiting[data-frame="4"] .waiting-mascot img{animation:jinmumu-search 2.3s ease-in-out infinite}.solve-waiting[data-frame="2"] .waiting-mascot img,.solve-waiting[data-frame="5"] .waiting-mascot img{animation:jinmumu-bounce 2.8s ease-in-out infinite}.waiting-message{min-height:3em}@keyframes jinmumu-sway{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes jinmumu-search{0%,100%{transform:rotate(-4deg) translateX(-3px)}50%{transform:rotate(4deg) translateX(3px)}}@keyframes jinmumu-bounce{0%,100%{transform:translateY(0)}45%{transform:translateY(-11px)}65%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.solve-waiting .waiting-mascot img{animation:none!important}}

.history-question-info h2{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:850px){.history-search .search-row{flex-wrap:wrap}.history-search input{flex-basis:100%}}

/* Image paste surface and file selection are separate actions. */
#photoDropzone{cursor:text;caret-color:transparent;user-select:none;outline:none}#photoDropzone:focus{border-color:#bd701e;box-shadow:0 0 0 3px #efc77b55}#choosePhotoFile{margin-top:12px}

/* 2026-11-06 teacher-facing spacing and navigation clean-up. */
.sidebar .nav{display:flex;align-items:center;gap:12px}.sidebar .nav[hidden]{display:none!important}
.sidebar .navigation-icon{width:23px;height:23px;flex:0 0 23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#searchForm .filters{display:grid;grid-template-columns:minmax(140px,1fr) minmax(220px,1.5fr) minmax(140px,1fr) auto;align-items:end}
#searchForm .filters input:not([type=hidden]),#searchForm .filters select{height:58px;min-height:58px;padding:12px 15px;font-size:15px;line-height:1.4;box-sizing:border-box}
.photo-submit-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto 60px auto;gap:8px 16px;align-items:start}
.photo-semester-range{display:contents}.photo-semester-label{grid-column:1;grid-row:1;font-size:.95rem;font-weight:600;line-height:1.5}
.photo-semester-range select{grid-column:1;grid-row:2;height:60px;min-height:60px;padding:12px 15px;box-sizing:border-box;font-size:15px;line-height:1.4}
.photo-semester-range small{grid-column:1;grid-row:3;line-height:1.6;color:var(--muted)}
.photo-submit-row>.primary{grid-column:2;grid-row:2;height:60px;min-height:60px;margin:0;min-width:0;align-self:start}
.photo-semester-range[hidden]+.primary{grid-column:1/-1;grid-row:1}
#personalDownloadsList .download-history-row{padding:24px 28px;gap:24px;align-items:center;box-sizing:border-box}
#personalDownloadsList .download-history-info{flex:1;min-width:0;overflow-wrap:anywhere}
#personalDownloadsList .download-history-info strong{display:block;overflow-wrap:anywhere;word-break:normal}
#personalDownloadsList .download-history-row>a{flex:0 0 auto;white-space:nowrap;margin:0}
@media(max-width:800px){#searchForm .filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#searchForm .filters{grid-template-columns:1fr}.photo-submit-row{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 60px auto 60px}.photo-submit-row>.primary{grid-column:1;grid-row:4}.photo-semester-range[hidden]+.primary{grid-column:1;grid-row:1}#personalDownloadsList .download-history-row{padding:20px;gap:16px;flex-wrap:wrap}}

.photo-submit-row:has(.photo-semester-range[hidden]){grid-template-rows:auto}

@media(max-width:600px){#personalDownloadsList .download-history-row{flex-direction:column;align-items:stretch}#personalDownloadsList .download-history-row>a{align-self:flex-end}}
