:root{font-size:17px;--ink:#1f3935;--muted:#6e7e76;--green:#29634e;--cream:#f6f7f2;--line:#e0e6dc;--gold:#e9b65e}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:.55rem .9rem;background:#fff;color:var(--ink)}button:hover{background:#e9f0e6}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--green);border-color:var(--green);color:white}button.danger{color:#a13737}input,select,textarea{width:100%;border:1px solid #cbd6ca;border-radius:8px;padding:.65rem;background:white;color:var(--ink)}textarea{min-height:140px}label{display:block;font-size:.88rem;font-weight:600;margin-bottom:1rem}label input,label select,label textarea{margin-top:.4rem}h1,h2,h3,p{margin-top:0}h1{font-size:2.2rem;letter-spacing:-.04em;line-height:1.25}h2{font-size:1.5rem}h3{font-size:1.1rem}small,.muted{color:var(--muted)}.eyebrow{font-size:.7rem;letter-spacing:.18em;font-weight:700;color:var(--green)}#login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:#dfead9;padding:10vh 12%;position:relative}.brandmark{font-size:3rem;font-family:serif;color:var(--green);margin-bottom:2rem}.login-art h1{font-size:4rem;line-height:1.4;font-family:serif}.characters{margin-top:3rem;border-top:1px solid #b7cbb1;padding-top:1rem;letter-spacing:.8rem;color:#79906d}.login-form{max-width:440px;padding:15vh 1.5rem;margin:auto;width:100%}.login-form button{width:100%}#shell{display:flex;min-height:100vh}#sidebar{width:260px;flex:none;background:#fff;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.3rem .85rem;overflow:auto}.logo{display:flex;align-items:center;gap:.7rem;padding:.2rem .4rem 1.3rem}.logo b{font-family:serif;font-size:1.7rem;background:var(--green);color:white;border-radius:10px;width:45px;text-align:center}.logo span{font-size:1.1rem;font-weight:700}.logo small{display:block;font-size:.55rem;letter-spacing:.15em}.logo button{padding:.2rem .4rem;margin-left:auto;border:0}.profile{display:flex;gap:.6rem;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem .4rem;font-size:.85rem}.profile small{display:block}.profile button{margin-left:auto;border:0;padding:.2rem}.avatar{background:#f2e5c9;border-radius:50%;padding:.4rem .7rem}nav{padding-top:1rem}nav details{margin-bottom:1rem}nav summary{cursor:pointer;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.4rem}nav button{width:100%;text-align:left;border:0;background:none;margin:.1rem 0;display:flex;align-items:center;gap:.7rem;font-size:.85rem;padding:.65rem .8rem}nav button.active{background:#e6eee1;color:var(--green);font-weight:700}nav button i{font-style:normal;width:1.2rem;text-align:center}.nav-foot{margin-top:auto;font-size:.7rem;color:var(--muted);padding:1rem .5rem}.workspace{min-width:0;flex:1}header{height:76px;background:#ffffffb5;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;font-size:.8rem;position:relative}header>button{border:0;background:none;font-size:1.25rem}#pref-panel{position:absolute;right:2rem;top:60px;background:white;padding:1rem;box-shadow:0 5px 25px #253b3520;z-index:10;border:1px solid var(--line);border-radius:12px}main{max-width:1400px;margin:auto;padding:2rem 2.5rem 4rem}.page-title{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.5rem}.page-title p{color:var(--muted);max-width:700px;margin:0}.hero{background:#e4ecdc;border:1px solid #d7e2cb;border-radius:18px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;padding:2rem 2.5rem;margin:1.5rem 0 2rem}.hero h2{font-size:2rem;margin-bottom:.6rem}.hero p{color:#5b7360}.hero-art{font-family:serif;font-size:6rem;line-height:1;color:#50734c;padding:0 2rem;border:1px solid #aebfa3;transform:rotate(-8deg);background:#f2f5e8;border-radius:9px;box-shadow:10px 10px 0 #cddbbf}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.metric,.card{background:white;border:1px solid var(--line);border-radius:14px;padding:1.3rem}.metric strong{font-size:2rem;display:block}.metric small{font-size:.75rem}.info{border:0;background:none;padding:0 .2rem;cursor:help;color:var(--muted)}.tabs{display:flex;gap:1.4rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}.tabs button{border:0;background:none;border-radius:0;padding:.7rem .1rem;color:var(--muted)}.tabs button.active{color:var(--green);border-bottom:3px solid var(--green);font-weight:700}.test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}.test-card{display:flex;flex-direction:column;gap:1rem}.test-card h3{margin:0}.test-card .row{margin-top:auto}.tag{font-size:.68rem;background:#f0f3ea;color:#58704f;padding:.25rem .6rem;border-radius:6px;display:inline-block;max-width:max-content}.tag.gold{background:#fff1d7;color:#976a24}.row{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.empty{text-align:center;padding:3rem 1rem;color:var(--muted);background:white;border:1px dashed #ccd7c4;border-radius:14px}.empty b{font-size:2rem;display:block;color:#92a689}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.type-choice{border:1px solid var(--line);border-radius:10px;padding:1rem;cursor:pointer;font-weight:500;background:white}.type-choice:has(input:checked){border-color:var(--green);background:#edf3e7}.type-choice input{width:auto;margin-right:.5rem}.question{margin-bottom:1.2rem}.question h3{font-size:1.2rem;line-height:1.8}.passage{white-space:pre-wrap;background:#f7f7f0;border-left:3px solid #c4d4b7;padding:1rem;line-height:2}.option{display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);padding:.8rem 1rem;border-radius:9px;cursor:pointer;font-weight:400}.option:has(input:checked){border-color:var(--green);background:#edf4e8}.option input{width:auto;margin:0}.correct{background:#edf5e9;border-color:#b2cf9f}.incorrect{background:#fff7f0;border-color:#e4c6ad}.feedback{padding:1rem;border-top:1px solid var(--line);margin-top:1rem}.score{font-size:3rem;font-weight:750;line-height:1.2}.sticky-submit{position:sticky;bottom:0;padding:1rem;background:#ffffffed;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;align-items:center}#notice{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:#243c32;color:white;max-width:650px;width:90%;padding:1rem 1.3rem;border-radius:12px;z-index:200;box-shadow:0 4px 25px #0003}dialog{border:1px solid var(--line);border-radius:18px;width:min(800px,94vw);max-height:90vh;padding:2rem;color:var(--ink)}dialog::backdrop{background:#20342b70}#close-modal{float:right}pre{white-space:pre-wrap;word-break:break-word;font-size:.8rem}table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{text-align:left;padding:.7rem;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap{overflow:auto}.toolbar{display:flex;gap:.8rem;margin-bottom:1rem}.toolbar input{max-width:400px}.chat-layout{display:grid;grid-template-columns:200px 1fr 250px;gap:1rem}.chat-list button{display:block;width:100%;margin:.4rem 0}.message{white-space:pre-wrap;padding:1rem;border-radius:12px;margin-bottom:1rem;background:#f0f4eb}.message.assistant{background:white;border:1px solid var(--line)}.message small{display:block;font-size:.7rem;margin-top:1rem}.doc{white-space:pre-wrap;line-height:1.9}.slide{aspect-ratio:16/9;background:#e2ebd8;display:flex;flex-direction:column;justify-content:center;padding:6%;border-radius:14px}.slide h2{font-size:3rem}.slide p{font-size:1.4rem}.slide:fullscreen{border-radius:0}.bar{height:12px;background:#77a278;border-radius:4px;min-width:2px}#sidebar.collapsed{width:76px}#sidebar.collapsed .logo span,#sidebar.collapsed .profile span,#sidebar.collapsed nav button span,#sidebar.collapsed .nav-foot{display:none}#sidebar.collapsed .logo b{display:none}#sidebar.collapsed nav summary{font-size:0}#sidebar.collapsed nav summary::after{content:'•••';font-size:12px}#sidebar.collapsed .profile{padding:.5rem}#sidebar.collapsed nav button{justify-content:center}#sidebar.collapsed .logo{padding-bottom:.5rem}[hidden]{display:none!important}@media(max-width:1000px){.chat-layout{grid-template-columns:1fr}.hero-art{display:none}#sidebar{width:215px}main{padding:1.5rem}.type-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){#sidebar{width:76px}.logo span,.profile span,nav button span,.nav-foot{display:none}.logo b{display:none}nav summary{font-size:0}nav summary::after{content:'•••';font-size:12px}#sidebar.expanded{position:fixed;z-index:30;width:260px;box-shadow:0 0 0 100vw #0004}#sidebar.expanded .logo span,#sidebar.expanded .profile span,#sidebar.expanded nav button span{display:initial}#sidebar.expanded nav summary{font-size:.7rem}#sidebar.expanded nav summary::after{display:none}.metrics{grid-template-columns:1fr;gap:.6rem}.metric{padding:.7rem 1rem}.metric strong{display:inline;margin-right:1rem}.hero{padding:1.3rem}.hero h2{font-size:1.6rem}.page-title{display:block}.page-title button{margin-top:1rem}.form-grid{grid-template-columns:1fr}#login{grid-template-columns:1fr}.login-art{display:none}.login-form{padding:12vh 1.5rem}header{padding:0 1rem}main{padding:1rem}.slide h2{font-size:1.5rem}.slide p{font-size:1rem}}

.type-group{border:1px solid var(--line);border-radius:12px;margin:1.2rem 0;padding:1rem;min-width:0}.type-group legend{font-weight:700;padding:0 .5rem}.type-choice small{overflow-wrap:anywhere}.type-choice p{font-size:.8rem;margin:.5rem 0 0}.type-choice.unavailable{background:#f4f4f1;color:#62675e}
.type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.type-choice{min-width:0;overflow-wrap:anywhere}.type-group legend{max-width:100%;overflow-wrap:anywhere}@media(max-width:1000px){.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.type-grid{grid-template-columns:minmax(0,1fr)}}
.review-link{display:inline-block;border:1px solid var(--line);border-radius:9px;padding:.65rem 1rem;text-decoration:none;color:var(--ink);background:white;white-space:nowrap}#review-approval-form fieldset{border:0;padding:0;min-width:0}#review-approval-form input[type=checkbox]{width:auto}#review-error{color:#a23333}#review-filters{align-items:end}
#profile{min-width:0;overflow-wrap:anywhere}#profile small{overflow-wrap:anywhere}

.review-table{min-width:1250px}.review-table td{vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}.review-table td:nth-child(2){min-width:240px}.review-table td:nth-child(3){min-width:180px}.review-option{margin-bottom:.6rem}#review-report{white-space:pre-wrap;overflow-wrap:anywhere;max-height:22rem;overflow:auto}

.tabs{flex-wrap:wrap}
