@font-face{font-family:localserif;src:local('Noto Serif CJK SC'),local('Source Han Serif SC'),local('SimSun')}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f7f5ef;color:#263b32;font-family:'Microsoft YaHei','PingFang SC',sans-serif;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}header{max-width:1240px;margin:auto;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dcded4;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:17px;font-weight:700}.brand small{display:block;font-size:11px;font-weight:400;color:#6a756b;letter-spacing:2px}.brand-icon{background:#35634f;color:#fff;border-radius:12px;width:44px;height:44px;display:grid;place-items:center;font-family:localserif,serif;font-size:25px}nav{display:flex;gap:6px}nav button,.quiet{border:0;background:transparent;color:#425a4c;padding:9px 13px;border-radius:7px}nav button:hover,.quiet:hover{background:#e7ecdf}main{max-width:1180px;margin:auto;padding:10px 30px 60px;min-height:75vh}.hero{padding:60px 0 38px}.eyebrow{font-size:12px;color:#63775e;letter-spacing:2px;font-weight:600;margin:0 0 15px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font:500 clamp(30px,4.4vw,53px)/1.4 localserif,'Songti SC',serif;margin:0 0 20px;letter-spacing:1px}h1 em{font-style:normal;color:#607a57}h2{font-size:21px;margin:0 0 18px}h3{font-size:17px;margin:0 0 12px}.lead{font-size:17px;color:#6b766a;line-height:1.9}.hero-tags{display:flex;gap:12px;margin-top:24px}.hero-tags span,.pill{font-size:12px;padding:4px 10px;background:#e8ecdf;border-radius:20px;color:#52654d}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.entry{padding:28px 30px;text-align:left;background:#fffdf7;border:1px solid #daddcf;border-radius:16px;color:#344b3b;transition:transform .2s,box-shadow .2s}.entry:hover{transform:translateY(-3px);box-shadow:0 12px 22px #253b3210}.quick-entry{background:#e6eddf}.entry-label{font-size:12px;color:#6b7b62;letter-spacing:1px}.entry h2{font-family:localserif,serif;font-weight:500;font-size:30px;margin:15px 0}.entry h2 span{float:right}.entry p{color:#6a7866}.entry-foot{display:flex;gap:10px;justify-content:space-between;border-top:1px solid #d9dfd0;padding-top:18px;margin-top:28px;font-size:12px}.entry-foot b{font-weight:500;color:#315740}.fine{font-size:12px;color:#778171;line-height:1.9}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:35px 0 25px}.section-title h1{font-size:33px;margin:0}.section-title .eyebrow{margin-bottom:8px}.workspace{display:grid;grid-template-columns:350px 1fr;gap:24px}.panel{background:#fffdf8;border:1px solid #dce0d2;border-radius:14px;padding:26px}.field,label{display:block;margin-bottom:17px}label{font-size:13px;font-weight:600;color:#4f624d}label span{font-size:11px;color:#88917e;font-weight:400}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #d4dccc;background:white;border-radius:7px;padding:10px 12px;color:#304837;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #89a980;outline-offset:1px}input[type=checkbox]{display:inline-block;width:16px;height:16px;margin:0;accent-color:#41694e}.lesson-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.lesson-grid label{margin:0;border:1px solid #dce2d5;border-radius:6px;padding:6px 4px;font-size:12px;text-align:center;font-weight:400}.lesson-grid input{vertical-align:middle;margin-right:4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-line{display:flex;align-items:center;gap:7px;font-weight:400}.primary,.secondary{border:0;border-radius:8px;padding:11px 19px;background:#35634f;color:white}.primary:hover{background:#284e3d}.secondary{background:#e7ecdf;color:#3d5944}.wide{width:100%}.row,.between{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.center{justify-content:center}.vocabulary{min-height:400px}.word-item{display:grid;grid-template-columns:20px 1fr;gap:9px;border-bottom:1px solid #eceee5;padding:11px 0;align-items:start;margin:0;font-weight:400}.word-item input{margin-top:5px}.word-line{display:flex;gap:12px;flex-wrap:wrap}.word-line strong{font-size:19px;font-weight:500}.word-line small{color:#7f8a73;align-self:center}.word-item .meaning{display:block;color:#7a8274;font-size:12px;margin-top:3px}.word-item .category{font-size:10px;background:#f2e5cb;padding:1px 5px;border-radius:3px}.auth-layout{display:grid;grid-template-columns:1fr 430px;gap:60px;align-items:start}.auth-note{padding:30px 15px}.auth-note h2{font:30px/1.7 localserif,serif}.auth-note p,.auth-note li{color:#75816f}.auth-note li{margin:10px 0}.segmented{display:flex;gap:3px;background:#edf0e6;border-radius:8px;padding:4px;margin-bottom:24px}.segmented button{border:0;background:transparent;color:#708068;padding:9px 15px;border-radius:5px;flex:1}.segmented .active{background:#fff;color:#33543f;box-shadow:0 1px 5px #263b3210}.error{color:#b34336;font-size:13px}.text-button{border:0;background:none;color:#52724d;display:block;margin:12px auto 0;padding:8px}.dashboard-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.dash-grid{display:grid;grid-template-columns:280px 1fr;gap:22px}.class-item{border:1px solid #dbe0d1;background:#fff;color:#3b5540;border-radius:8px;display:block;width:100%;padding:12px;text-align:left;margin:9px 0}.class-item.active{background:#e7eddf;border-color:#8ba27e}.class-item small{display:block;color:#7f8977}.invite-code{font:600 22px monospace;letter-spacing:2px;margin:12px 0}.tabs{display:flex;gap:5px;margin:22px 0;border-bottom:1px solid #dce2d2;flex-wrap:wrap}.tabs button{border:0;background:none;padding:10px 15px;color:#708067}.tabs .active{color:#31563e;border-bottom:2px solid #31563e}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid #e5e8de;white-space:nowrap}td.wrap{white-space:normal;min-width:140px;max-width:280px}.assignment{padding:16px;border:1px solid #dfe3d7;border-radius:10px;margin:12px 0}.assignment p{margin:5px 0;color:#798470;font-size:12px}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{border:1px solid #d5dece;border-radius:12px;background:#fffef9;color:#304837;min-height:115px;padding:15px 12px;font-size:clamp(18px,2.8vw,29px);box-shadow:0 3px 0 #e1e5d8;overflow-wrap:anywhere;transition:transform .15s,background .15s}.card.gloss{font-size:clamp(14px,1.8vw,19px);line-height:1.45}.card.selected{background:#e4eddb;border:2px solid #5f8052;transform:translateY(-2px)}.card.wrong{background:#f8e4d9;border-color:#c78162}.card.matched{visibility:hidden;pointer-events:none}.card small{display:block;font-size:12px;color:#849074;margin-top:8px}.game-toolbar{background:#e6ecdf;padding:14px 20px;border-radius:10px;display:flex;justify-content:space-between;gap:12px;font-size:14px;flex-wrap:wrap}.feedback{text-align:center;min-height:30px;color:#54784b}.result-card{max-width:760px;margin:55px auto;text-align:center;padding:40px}.result-card h1{font-size:34px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}.metric{background:#eff2e8;border-radius:10px;padding:18px 8px;font-size:12px;color:#78836f}.metric b{display:block;font-size:30px;color:#36533d}.muted{color:#7c8674}.result-words{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.result-words span{background:#f4e8d3;padding:5px 10px;border-radius:6px;font-size:13px}small{font-size:11px;color:#7b8772}footer{max-width:1180px;margin:auto;padding:25px 30px;border-top:1px solid #dcded4;color:#7d8876;font-size:12px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}footer a{text-decoration:none}dialog{border:1px solid #d5ddcb;border-radius:14px;background:#fffdf8;color:#304837;max-width:720px;width:calc(100% - 30px);max-height:90vh;padding:28px}dialog::backdrop{background:#15271b77}dialog form[method=dialog]{text-align:right;margin-top:20px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:9px;background:#2f503f;color:white;max-width:90vw;z-index:20;display:none}[hidden]{display:none!important}:focus-visible{outline:3px solid #94ac7f;outline-offset:3px}@media(min-width:1500px){.board{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:760px){header{padding:16px;align-items:flex-start;gap:10px}.brand{font-size:14px;gap:7px}.brand small{font-size:9px;letter-spacing:0}.brand-icon{width:35px;height:35px;font-size:22px}nav{gap:0;flex-wrap:wrap;justify-content:flex-end;max-width:190px}nav button{font-size:12px;padding:7px}main{padding:5px 16px 35px}.hero{padding-top:34px}.lead{font-size:15px}.entry-grid,.workspace,.auth-layout,.dash-grid{grid-template-columns:1fr}.entry{padding:23px}.entry-foot{flex-wrap:wrap}.section-title{align-items:flex-start;margin:25px 0 20px}.section-title h1{font-size:26px}.section-title>.quiet{font-size:12px;padding:7px;white-space:nowrap}.panel{padding:20px}.auth-layout{gap:12px}.auth-note{padding:5px}.auth-note h2{font-size:25px}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.card{min-height:100px;padding:10px 6px;font-size:22px}.card.gloss{font-size:13px}.result-card{padding:26px 16px;margin:30px auto}.metrics{grid-template-columns:repeat(2,1fr)}.game-toolbar{font-size:12px;padding:12px}.section-title .row{gap:0}footer{padding:20px 16px}.vocabulary{max-height:540px;overflow:auto}}
