:root{font-family:Microsoft YaHei,PingFang SC,sans-serif;color:#243b35;background:#f5f4ee;font-synthesis:none;line-height:1.7;font-size:15px;--green: #204f42;--line: #dce0d5;--muted: #697970;--paper: #fffef9}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;padding:9px 17px;border:1px solid #bac9bd;background:transparent;color:var(--green);border-radius:6px;transition:background .15s}button:hover:not(:disabled){background:#e5ecdf}button:disabled{cursor:default;opacity:.5}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#336650}button.quiet{border:0;padding-left:0}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2,.brand{font-family:"Noto Serif CJK SC","Source Han Serif SC",Songti SC,SimSun,serif}h1{font-size:36px;font-weight:600;line-height:1.4;margin-bottom:12px}h2{font-size:24px;margin-bottom:14px}h3{font-size:18px;line-height:1.6}p{margin-bottom:16px}.shell{display:flex;min-height:100vh}aside{width:236px;flex-shrink:0;position:fixed;inset:0 auto 0 0;background:#173e34;color:#f6f4e6;padding:40px 22px;display:flex;flex-direction:column}.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:13px;font-size:31px;letter-spacing:3px}.brand small{display:block;font:11px Microsoft YaHei;letter-spacing:3px;opacity:.75}.brand-mark{display:grid;place-items:center;width:46px;height:50px;border:1px solid #b3c2a1;font-size:28px}.nav-caption{font-size:11px;color:#adc3b8;margin:25px 0 34px}nav{display:grid;gap:7px}nav button{text-align:left;border:0;color:#d3dfd7;padding:12px 13px;border-radius:3px}nav button.active{background:#dfe6c9;color:#173e34}nav button:hover:not(:disabled){background:#34584b;color:#fff}.nav-num{font-size:10px;letter-spacing:1px;opacity:.55;margin-right:15px}.sidebar-note{margin-top:auto;font-size:12px;color:#bdcec3;padding:22px 10px 0}.sidebar-note p{font-size:11px;color:#97b2a3;margin:10px 0}.dot{display:inline-block;background:#cfda91;width:6px;height:6px;border-radius:50%;margin-right:7px}.workspace{margin-left:236px;min-width:0;flex:1}header{padding:19px 42px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:20px}main{max-width:1320px;margin:auto;padding:36px 42px 64px}footer{border-top:1px solid var(--line);padding:20px 42px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.hero{position:relative;overflow:hidden;padding:42px 46px;background:#e9eddc;border:1px solid #dce3cc;min-height:345px}.hero h1{font-size:41px;margin:15px 0 20px;letter-spacing:1px}.hero p{color:#59705c}.hero-index{position:absolute;right:55px;top:55px;writing-mode:vertical-rl;font-family:SimSun,serif;letter-spacing:14px;font-size:25px;color:#839477;border-left:1px solid #c4cfb6;padding-left:36px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#697d60}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:28px 0;margin-bottom:32px}.stats>div{padding:0 22px;border-right:1px solid var(--line)}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font:32px Georgia,serif}.stats strong span{font-size:20px;color:#819181}.stats p{font-size:12px;color:var(--muted);margin:6px 0 0}.section-title,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.page-heading p{color:var(--muted);max-width:720px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 30px}.study-card{text-align:left;background:var(--paper);padding:24px;border:1px solid var(--line);border-top:3px solid #9aaf76;min-height:200px}.study-card h3{font-family:SimSun,serif;font-size:22px;margin:20px 0}.study-card>span:last-child{font-size:12px;color:var(--muted)}.card,.reading,.material,.lab{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:5px;margin:20px 0}.reading{max-width:900px}.reading section{margin-bottom:30px}.reading p,.material p{line-height:1.95}.lab{background:#ebefdf}.lab h2{margin-top:10px}.badge{font-size:11px;background:#edf0e2;padding:5px 9px;border-radius:3px;display:inline-block;color:#586b45}.muted{color:var(--muted);font-size:13px}.filters,.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.filters input{flex:1}.course-row{display:flex;align-items:center;gap:23px;padding:21px 0;border-bottom:1px solid var(--line)}.unit-id{font-family:Georgia,serif;font-size:21px;color:#7e906c;width:46px;flex-shrink:0}.course-row>div{flex:1}.course-row h3{margin-bottom:4px}.course-row p{font-size:12px;color:var(--muted);margin-bottom:0}.course-row button{flex-shrink:0;font-size:12px}label{display:block;font-size:14px;margin:9px 0}input:not([type=radio]):not([type=checkbox]),select,textarea{display:block;border:1px solid #cbd4c7;background:#fffef9;color:#243b35;width:100%;padding:10px 12px;border-radius:4px}input[type=range]{padding:0!important}input[type=checkbox],input[type=radio]{accent-color:var(--green)}textarea{min-height:110px;resize:vertical}fieldset{border:0;margin:15px 0;padding:0}.option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px 16px;background:#fff;margin:10px 0;cursor:pointer}.option.selected{background:#edf2e4;border-color:#678b60}.option b{font-size:13px}.figures{display:flex;gap:16px;flex-wrap:wrap}.feedback{padding:18px;border-left:3px solid #8da477;background:#f0f2e8;margin-top:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border:1px solid var(--line);padding:12px}th{background:#edf0e4}caption{text-align:left;font-size:11px;color:var(--muted)}.ratio-bars{max-width:520px;margin:24px 0}.ratio-bars>div{height:22px;background:#d8dfce}.ratio-bars>div>span{display:block;height:100%;background:#487358}.ratio-bars p{margin:12px 0 5px}.ratio-bars small{font-size:11px}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.split .material,.split .card{margin-top:16px}.paragraph{margin-bottom:18px}.paragraph small{color:#7c8a71;font:11px monospace}.paragraph p{margin-bottom:7px}.writing{min-height:350px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}.form-grid small{color:var(--muted);font-size:11px}.pdf{width:100%;height:760px;border:1px solid var(--line);margin-top:16px;background:#e5e5df}.exam-bar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:18px;background:#e4ebd7;position:sticky;top:0;z-index:2}.exam-bar small{font-size:11px}.answer-row{border-bottom:1px solid var(--line);padding:10px 0;display:flex;align-items:center;gap:10px}.answer-row label{flex:1}.answer-row button{font-size:11px}.error,.warning{background:#fff0dc;color:#885122;padding:16px}.error{position:sticky;top:0;z-index:4}.empty{padding:60px 24px;text-align:center;color:var(--muted)}details{margin:16px 0;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}li{margin:8px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1000px){aside{width:190px;padding:28px 14px}.workspace{margin-left:190px}main{padding:25px}header,footer{padding:16px 25px}.hero{padding:30px}.hero-index{right:25px}.hero h1{font-size:34px}.split{grid-template-columns:1fr}.cards{gap:10px}.study-card{padding:18px}.stats>div{padding:0 12px}}@media(max-width:680px){.shell{display:block}aside{position:static;width:100%;padding:15px 18px}.brand{font-size:24px}.brand-mark{width:33px;height:36px;font-size:22px}.nav-caption,.sidebar-note{display:none}nav{display:flex;overflow:auto;gap:4px;margin-top:14px}nav button{white-space:nowrap;font-size:12px;padding:9px}.nav-num{display:none}.workspace{margin-left:0}main{padding:20px 16px}.hero{padding:25px}.hero h1{font-size:29px}.hero-index{display:none}.stats{grid-template-columns:1fr 1fr;gap:20px}.stats>div{padding:0!important;border:0}.stats strong{font-size:28px}.cards{grid-template-columns:1fr}.study-card{min-height:auto}.study-card h3{margin:10px 0}.card,.reading,.material,.lab{padding:20px}.page-heading,.section-title{display:block}h1{font-size:28px}.form-grid{grid-template-columns:1fr}.course-row{gap:12px;flex-wrap:wrap}.course-row>div{min-width:200px}.course-row button{margin-left:58px}.pdf{height:550px}footer{display:block}.exam-bar{gap:10px}.option{padding:10px}.option svg{min-width:55px}header{padding:12px 16px;font-size:10px}}@media print{aside,header,footer,button,input[type=file],.actions{display:none}.workspace{margin:0}main{padding:0}.split{display:block}.card,.material{break-inside:avoid}textarea{min-height:300px}.pdf{height:900px}}.pdf-viewer{margin-top:16px;min-width:0}.pdf-viewer .actions{align-items:center}.pdf-viewer label{display:flex;align-items:center;gap:8px}.pdf-canvas{background:#dfe2d9;overflow:auto;min-height:200px;border:1px solid var(--line)}.pdf-canvas canvas{display:block;width:100%;height:auto}.pdf-viewer details p{overflow-wrap:anywhere}.pdf-scroll{overflow:auto;max-height:900px}.pdf-viewer .actions label{white-space:nowrap}.pdf-viewer .actions select{min-width:60px}.exam-answer-card{max-height:calc(100vh - 180px);overflow:auto;position:sticky;top:100px}.essay-paper-tools{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;max-width:200px}.essay-paper-tools small{display:block;width:100%}@media(max-width:1000px){.exam-answer-card{position:static;max-height:650px}}.card p{overflow-wrap:anywhere}.exam-answer-card .answer-row{align-items:flex-start}.exam-answer-card textarea{min-height:220px}
