:root{--ink:#213d33;--green:#236a50;--deep:#163e31;--muted:#728079;--line:#dfe7e1;--paper:#fff;--bg:#f4f6f2;--gold:#b88535}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:15px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:8px;padding:10px 17px;transition:background .15s}button:disabled{opacity:.5;cursor:wait}a{color:var(--green);text-decoration:none}input,textarea,select{border:1px solid #d5ded7;background:white;border-radius:7px;padding:10px;color:var(--ink);max-width:100%}textarea{resize:vertical}input:focus,textarea:focus,select:focus,[contenteditable]:focus{outline:2px solid #aacdb6;outline-offset:1px}.primary{background:var(--green);color:#fff}.primary:hover{background:#185a40}.secondary{background:#eef3ef;color:#335e48;border:1px solid #d4e0d7}.plain{background:none;color:inherit;padding:6px}.icon-button{background:#f0f3f0;font-size:28px;line-height:1;padding:6px 13px}.sidebar{width:234px;position:fixed;inset:0 auto 0 0;background:var(--deep);color:#e7eee7;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:20px;font-weight:650;padding:0 9px 38px}.brand small{display:block;font-size:10px;letter-spacing:1px;color:#bacdc2;font-weight:400}.brand-icon{background:#d6e6b7;color:#20442f;border-radius:11px;width:42px;height:46px;display:inline-grid;place-items:center;font-size:24px;font-family:serif}.sidebar nav{display:grid;gap:10px}.nav{color:#d3e0d6;background:transparent;text-align:left;padding:13px 15px}.nav.active{background:#315846;color:white}.nav span{float:right;background:#ffffff20;border-radius:5px;padding:0 5px;font-size:12px}.sidebar-foot{margin-top:auto;font-size:12px;padding:12px;color:#c0d0c3}.sidebar-foot a{color:#e2ecd7}.sidebar-foot p{line-height:1.9}.status-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:100%;background:#c5d891;margin-right:8px}main{margin-left:234px;padding:38px 42px 70px;max-width:1900px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:var(--muted)}h1{font-size:27px;letter-spacing:1px;margin:9px 0;font-weight:650}h2{font-size:19px;margin:8px 0}h3{font-size:16px}p{margin:8px 0}.topbar p,.muted{color:var(--muted);font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);padding:20px 23px;border-radius:12px}.stat small{color:var(--muted);font-size:12px}.stat strong{display:block;font:600 32px/1.4 Georgia,serif;margin:7px 0}.stat span{font-size:11px;color:#88958a}.stat:first-child{background:#eaf0e3;border-color:#d7e2ce}.filterbar{display:flex;flex-wrap:wrap;gap:9px;padding:16px;background:white;border:1px solid var(--line);border-radius:10px}.filterbar select{font-size:12px;max-width:190px;min-width:110px}.search{display:flex;flex:1;min-width:240px;align-items:center;border:1px solid #d5ded7;border-radius:7px;padding-left:12px}.search input{border:0;min-width:0;width:100%;font-size:13px}.search span{font-size:23px;color:#7e9184}.listbar{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px;gap:10px}.listbar h2{font-size:16px}.listbar span{font-size:12px;color:var(--muted)}.question-row{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 21px;margin-bottom:10px;display:grid;grid-template-columns:1fr auto;gap:8px 20px}.question-row:hover{border-color:#aabfb0}.row-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.badge{border-radius:5px;padding:3px 8px;display:inline-block;font-size:11px;white-space:nowrap;background:#edf1ed;color:#637268}.badge.pending{background:#f8efd9;color:#97712b}.badge.needs_revision{background:#fae9e1;color:#a25638}.badge.approved,.badge.published{background:#e7f2e9;color:#307549}.question-row h3{margin:6px 0;font-size:15px;font-weight:600}.excerpt{color:#717c72;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw}.row-action{grid-column:2;grid-row:1/4;align-self:center}.row-issue{font-size:11px;color:#b07830}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:28px}.upload-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px}.section-kicker{font-size:11px;letter-spacing:2px;color:#8c9b81}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1.5px dashed #abc5ac;border-radius:12px;background:#f7faf5;min-height:240px;margin:25px 0;cursor:pointer}.dropzone.drag{background:#e5f0df}.dropzone span:last-of-type{font-size:12px;color:#81927e}.upload-symbol{font:40px/1.2 Georgia;color:#638a64}.guide ol{padding-left:22px}.guide li{padding:10px 0}.guide li p{font-size:13px;color:var(--muted)}.callout{padding:14px 17px;border-radius:8px;background:#f7f4e9;font-size:12px;color:#827144;margin:12px 0}.result-grid{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.result-grid div{background:#f1f5ef;padding:12px 20px;border-radius:8px;font-size:12px}.result-grid strong{font-size:24px;display:block}.batch{background:white;border:1px solid var(--line);padding:22px;border-radius:10px;margin-bottom:12px}.batch-top{display:flex;justify-content:space-between;gap:16px}.batch h3{margin:0}.batch p{font-size:12px;color:var(--muted)}.batch-actions{display:flex;gap:12px;align-items:center;margin-top:12px}.batch-actions a{font-size:12px}progress{width:100%;accent-color:var(--green)}.empty{text-align:center;padding:70px 20px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.empty h2{color:var(--ink)}.empty-symbol{font-size:48px;color:#99b58b}.empty button{margin-top:18px}#loadMore{display:block;margin:20px auto}.login-card{width:380px;max-width:90vw;background:white;margin:12vh auto;padding:36px;border-radius:16px;border:1px solid var(--line)}label{display:block}.login-card input{width:100%;margin:7px 0 18px}.login-card button{width:100%}dialog{border:0;border-radius:15px;padding:0;width:min(1400px,96vw);height:94vh;max-height:none;color:var(--ink);box-shadow:0 20px 80px #1234}dialog::backdrop{background:#122b2380;backdrop-filter:blur(3px)}dialog[open]{display:flex;flex-direction:column}.dialog-head{padding:20px 26px 14px;display:flex;justify-content:space-between;gap:20px}.dialog-head h2{font-size:21px}.dialog-head p{font-size:12px;color:var(--muted)}.dialog-tabs{display:flex;gap:5px;border-block:1px solid var(--line);padding:0 22px}.dialog-tabs button{background:transparent;border-radius:0;padding:13px 18px;font-size:13px;color:var(--muted)}.dialog-tabs button.active{border-bottom:2px solid var(--green);color:var(--green);font-weight:600}.dialog-tabs a{margin-left:auto;align-self:center;font-size:12px}.dialog-body{overflow:auto;flex:1;padding:22px 26px;background:#f5f7f3;min-height:0}.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}.paper{background:white;border:1px solid var(--line);padding:22px;border-radius:8px;min-width:0}.paper-label{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px;color:#5c7163;display:flex;justify-content:space-between}.paper-label small{color:#9aa59b}.paper.current{border-color:#b6cbb8}.issue-list{background:#fff3dc;color:#8e6632;border:1px solid #eddbb5;border-radius:8px;padding:14px 18px;font-size:12px;margin-bottom:18px}.issue-list ul{margin:7px 0;padding-left:20px}.question-content{font-family:"Songti SC","SimSun",serif;line-height:1.9;overflow-wrap:anywhere}.para{white-space:pre-wrap;tab-size:4;margin:7px 0}.figure{display:inline-block;position:relative;overflow:hidden;max-width:calc(100% - 12px);vertical-align:middle;margin:6px;aspect-ratio:1}.figure img{position:absolute;max-width:none}.textbox{border:1px solid #aab7a9;padding:10px;margin:10px 0}.mathwrap{display:inline-block;max-width:100%;overflow-x:auto;vertical-align:middle;padding:3px 0}math{font-size:1.1em}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%}td{border:1px solid #a8b6aa;padding:7px;min-width:55px}.edit-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.edit-meta label,.resolution-label{font-size:12px;color:#607264}.edit-meta input,.edit-meta textarea,.resolution-label textarea{width:100%;display:block;margin-top:5px}.editor-heading{display:flex;gap:8px;align-items:center}.editor-heading h3{margin-right:auto}.editor-heading button{font-size:12px;padding:7px 12px}.content-editor{padding:22px;border:1px solid #c9d7cc;border-radius:8px;background:white}.edit-block{position:relative;padding:8px 0;border-bottom:1px dashed #e1e7de}.editable{white-space:pre-wrap;min-height:24px;display:inline;outline-offset:3px}.editable:empty:before{content:"填写文字";color:#a8b0a5}.image-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font:12px/1.5 sans-serif;background:#f0f4ef;padding:7px;border-radius:6px;margin-bottom:10px}.image-tools button{padding:4px 8px}.image-tools input{width:75px;padding:3px}.formula-editor{margin:14px 0;font-size:12px}.formula-editor textarea{width:100%;font:12px/1.5 monospace;min-height:90px}.review-footer{padding:16px 26px 10px;background:white;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;align-items:center}.review-note{flex:1;min-width:260px}.review-note>label:first-child{display:flex;align-items:center;font-size:12px;gap:10px}.review-note input:not([type=checkbox]){flex:1;min-width:0;padding:7px}.checkline{font-size:12px;margin-top:7px;display:flex;align-items:center;gap:6px}.checkline input{accent-color:var(--green)}.review-actions{display:flex;gap:8px;flex-wrap:wrap}.review-actions button{font-size:13px}.local-note{flex-basis:100%;margin:0;font-size:11px;color:#93a08f}.history-row{background:white;border:1px solid var(--line);border-radius:8px;padding:13px 16px;margin:8px 0;display:flex;justify-content:space-between;gap:12px}.history-row span{font-size:12px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1000;background:#203f32;color:#fff;box-shadow:0 6px 30px #0002;padding:13px 23px;border-radius:8px;max-width:90vw}#toast.error{background:#974b37}[hidden]{display:none!important}@media(max-width:1100px){main{padding:25px}.sidebar{width:200px}.brand{font-size:17px;padding-left:0}main{margin-left:200px}.compare{grid-template-columns:1fr}.upload-grid{grid-template-columns:1fr}.excerpt{max-width:55vw}.stats{gap:10px}.stat{padding:16px}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:16px}.brand{padding:0 0 15px}.sidebar nav{display:flex;overflow-x:auto;gap:5px}.nav{font-size:12px;white-space:nowrap;padding:10px}.sidebar-foot{display:none}main{margin:0;padding:20px 14px}.topbar{align-items:flex-start}.topbar h1{font-size:21px}.topbar .primary{white-space:nowrap;font-size:12px;padding:9px}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:28px}.filterbar{padding:10px}.filterbar select{max-width:100%;flex:1}.search{min-width:100%}.question-row{padding:14px;gap:8px}.excerpt{max-width:65vw}.row-action{font-size:12px;padding:8px}.dialog-head{padding:15px}.dialog-tabs{padding:0 6px}.dialog-tabs button{padding:11px 10px}.dialog-tabs a{font-size:10px}.dialog-body{padding:14px}.paper{padding:14px}.review-footer{padding:12px}.edit-meta{grid-template-columns:1fr}.editor-heading{flex-wrap:wrap}.content-editor{padding:12px}.batch-top{display:block}.editor-heading h3{flex-basis:100%}.review-note{min-width:100%}.review-actions{width:100%}.review-actions button{flex:1}.panel{padding:20px}.listbar{align-items:flex-start}}

.dialog-head{align-items:flex-start}.dialog-head .icon-button{width:40px;height:40px;flex-shrink:0}
.bulkbar,.inline-fields{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.bulkbar{padding:14px;background:#eef4ef;border:1px solid #d5e1d6;border-radius:12px}.bulkbar strong{margin-right:auto}.row-top input[type=checkbox]{width:19px;height:19px;accent-color:#22654d;flex-shrink:0}.inline-fields input{flex:1;min-width:140px}#manualPage label,#organizeDialog label{display:grid;gap:8px;margin:16px 0}#manualPage select{width:100%}#manualPage textarea{width:100%;box-sizing:border-box}.manual-preview .paper,.bulk-card{margin:16px 0}.manual-preview{max-height:650px;overflow:auto}.bulk-card .checkline{padding-bottom:12px;border-bottom:1px solid #ddd}.bulk-card .question-content{padding:18px 0}#bulkDialog{width:min(960px,94vw)}#organizeDialog{width:min(650px,94vw)}#manualImageList img{max-height:100px;object-fit:contain}#manualSaved button{margin-left:10px}#bulkDialog .review-footer{display:grid;gap:12px}#bulkNote{width:100%}#bulkInfo{margin:5px 0}.figure{max-width:100%}@media(max-width:700px){.bulkbar button{flex:1}.bulkbar strong{width:100%}.inline-fields>*{flex:1 1 100%}.bulk-card{padding:14px}#bulkDialog .dialog-head{padding:16px}.bulk-card .checkline{flex-wrap:wrap}}
#manualPage .upload-grid{grid-template-columns:minmax(290px,.85fr) minmax(350px,1.15fr);align-items:start}#exportBook{display:inline-block;padding:10px 14px;border-radius:8px;text-decoration:none}@media(max-width:1000px){#manualPage .upload-grid{grid-template-columns:1fr}}
#manualPage .panel,#manualPage .upload-grid,#manualPage label{min-width:0}#manualPage input,#manualPage select{max-width:100%;box-sizing:border-box}#manualImages{width:100%}

.row-buttons{grid-column:2;grid-row:1 / 5;display:flex;gap:8px;align-items:center}.text-editor{display:block;width:100%;min-width:80px;min-height:76px;margin:8px 0;padding:12px;border:1px solid #87ad95;background:#fff;font-size:16px;line-height:1.7;white-space:pre-wrap}.content-editor span:has(>.text-editor){display:block}.review-actions #saveState{font-size:12px;color:#755918;align-self:center}.review-actions{flex-wrap:wrap}@media(max-width:700px){.row-buttons{grid-column:1 / -1;grid-row:auto}.row-buttons button{flex:1}.review-actions #saveState{flex-basis:100%}.text-editor{font-size:16px}}

.editor-mode .review-note,.editor-mode #approveQuestion,.editor-mode #returnQuestion,.editor-mode #publishQuestion,.editor-mode #unpublishQuestion,.editor-mode #previousQuestion,.editor-mode #nextQuestion{display:none}.editor-mode .review-actions{width:100%;justify-content:flex-end}.editor-mode #saveState{margin-right:auto}.classification-editor{padding:12px 0;border-bottom:1px solid var(--line)}@media(max-width:700px){.review-actions button{min-width:100px;white-space:nowrap}.editor-mode .review-actions button{flex:1;min-width:110px}.review-actions #saveState{width:100%}}
#bulkDialog{width:min(1100px,96vw);height:94vh;max-height:94vh}.batch-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 24px;border-bottom:1px solid var(--line)}.batch-tools span{font-size:12px;color:var(--muted)}.bulk-card-head{display:flex;justify-content:space-between;align-items:center}.batch-inline-editor{padding:18px;background:#eef5ee;border:1px solid #aac8af;border-radius:10px}.batch-inline-editor label,#batchChooser label{display:grid;gap:8px;margin:12px 0}.batch-inline-editor textarea{width:100%}.batch-problem{display:flex;flex-wrap:wrap;gap:8px}.batch-problem input{flex:1;min-width:180px}#bulkCards{overflow-anchor:none;scroll-behavior:auto}#batchChooser{width:min(620px,94vw)}#bulkDialog .review-footer{gap:6px}#bulkNote{padding:6px 10px}@media(max-width:700px){#bulkDialog{height:96vh;width:96vw}.batch-tools{padding:8px 14px}.batch-tools button{font-size:12px;padding:7px}.batch-tools span{display:none}.bulk-card .inline-fields>*{flex:1 1 auto}.batch-inline-editor{padding:10px}}

.release-entry{position:fixed;right:24px;bottom:24px;z-index:15;box-shadow:0 3px 16px #0003}#releaseDialog{max-width:700px;width:90vw}#releaseHistory>div{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:12px 0}

.ai-skill-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,360px);gap:18px 28px;padding:24px 26px;margin-bottom:25px;border:1px solid #d2dfd1;border-radius:14px;background:linear-gradient(120deg,#edf4e8,#fff 75%)}.ai-skill-card h2{font-size:21px;margin:7px 0 9px}.ai-skill-intro p{max-width:620px;margin:0;color:#5b7062;font-size:13px;line-height:1.85}.ai-skill-downloads{display:grid;grid-template-columns:1fr;gap:8px;align-content:start;min-width:0}.ai-skill-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:8px;padding:11px 15px;text-decoration:none;font-size:14px;font-weight:600;min-height:44px}.ai-skill-link small{font-size:11px;font-weight:400;white-space:nowrap}.ai-skill-link:focus-visible,.ai-skill-help summary:focus-visible{outline:3px solid #b88535;outline-offset:3px}.ai-skill-downloads p{font-size:11px;color:#697b6e;line-height:1.7;margin:1px 0 0}.ai-skill-help{grid-column:1/-1;border-top:1px solid #dce6d9;padding-top:12px;font-size:13px}.ai-skill-help summary{cursor:pointer;color:var(--green);font-weight:600;min-height:32px;line-height:32px}.ai-skill-help ol{margin:12px 0;padding-left:22px}.ai-skill-help li{padding:4px 0;line-height:1.85}.ai-skill-prompt{padding:14px 16px;border-radius:8px;background:#fff;border:1px solid #dfe7e1;line-height:1.85;user-select:text}.ai-skill-help .muted{margin:12px 0 0}@media(max-width:1000px){.ai-skill-card{grid-template-columns:1fr;gap:16px}.ai-skill-downloads{grid-template-columns:1fr 1fr}.ai-skill-downloads p{grid-column:1/-1}}@media(max-width:560px){.ai-skill-card{padding:18px 16px;gap:15px}.ai-skill-card h2{font-size:19px}.ai-skill-downloads{grid-template-columns:1fr}.ai-skill-help summary{line-height:1.65;padding:6px 0}.ai-skill-link{font-size:13px}.ai-skill-prompt{padding:12px}}

.grade-controls{margin:0 0 18px;padding:16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.grade-controls label{min-width:180px}.grade-controls p{margin:0}.grade-controls select{min-width:160px}
