:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#1c3337;background:#eff5f2}*{box-sizing:border-box}body{margin:0}.shell{max-width:780px;margin:auto;padding:20px 16px 45px}header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0 25px}.brand{font-size:29px;font-weight:800;color:#16636a}.brand span{font-size:20px;color:#1c3337}.tag{font-size:11px;background:#dceee8;border-radius:20px;padding:8px;color:#276b5e}.panel{background:white;border-radius:22px;padding:clamp(20px,5vw,42px);box-shadow:0 10px 40px #143d3510}.eyebrow{color:#16786f;font-size:12px;font-weight:800;letter-spacing:2px}h1{font-size:clamp(28px,5vw,40px);margin:8px 0}h2{font-size:19px;margin-top:27px}.muted,.note{color:#667c7d;line-height:1.5;font-size:14px}.note{font-size:12px}label{display:block;font-weight:650;font-size:14px}select,input[type=number],input[type=text],#answer{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #cddcda;border-radius:11px;font-size:18px;background:white;color:#19373b}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.modes{display:grid;gap:12px}.mode{display:flex;gap:12px;align-items:center;border:2px solid #dbe8e5;border-radius:14px;padding:17px;cursor:pointer}.mode:has(input:checked){border-color:#178778;background:#f0faf6}.mode input{accent-color:#08786f;width:19px;height:19px}.mode small{display:block;font-weight:400;color:#6b8180;margin-top:5px}.primary,.subtle{border:0;border-radius:11px;padding:14px 18px;cursor:pointer;font-size:15px;font-weight:700}.primary{background:#136c6c;color:white}.primary:hover{background:#0c5355}.subtle{background:#e8f1ee;color:#235c5a}#start{width:100%;margin-top:23px}.hidden{display:none!important}.import{border-top:1px solid #e4eeeb;margin-top:30px;padding-top:10px}.import input{max-width:100%;margin:12px 0}.topline,.actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.track{background:#e5eeeb;border-radius:20px;height:8px;margin:20px 0 36px;overflow:hidden}#bar{background:#159b82;height:100%;width:0%;transition:width .2s}.meaning{font-size:clamp(28px,6vw,43px);font-weight:800;margin:14px 0 12px}#pad{width:100%;height:270px;display:block;border:2px dashed #a7c8bf;border-radius:15px;background:#fff;touch-action:none;cursor:crosshair;margin:20px 0 12px}.feedback{padding:16px;background:#eef7f2;border-radius:12px;margin-top:20px;line-height:1.8}.feedback.bad{background:#fff3ed}.hanzi{font-size:30px;font-weight:750}.bottom{margin-top:20px}.results{font-size:20px;line-height:2;margin:25px 0}footer{text-align:center;color:#7d9693;font-size:12px;padding-top:25px}@media(max-width:500px){.shell{padding:8px 10px 35px}.panel{border-radius:17px}.tag{max-width:120px;text-align:center}.two{grid-template-columns:1fr 1fr}#pad{height:245px}.bottom button{flex:1}} 
.tabs{display:flex;gap:8px;margin:0 0 16px}.tab{flex:1;border:1px solid #d3e3df;background:#e4eeeb;border-radius:13px;padding:14px 8px;font:700 15px system-ui;color:#315d5b;cursor:pointer}.tab.active{background:#136c6c;color:white;border-color:#136c6c}.stat{display:flex;gap:12px;align-items:center;background:#eaf7f2;padding:18px;border-radius:14px}.stat b{font-size:36px;color:#136c6c}.stat span{font-size:14px}.level-stats{font-size:13px;color:#667c7d;margin:12px 0 24px;line-height:1.7}.filelabel{display:block;border:2px dashed #98c8bd;padding:24px;text-align:center;border-radius:15px;background:#f4faf8;cursor:pointer;color:#146f69}.filelabel input{display:block;margin:15px auto 0;max-width:100%;font-size:13px}.tablewrap{overflow:auto;max-height:300px;margin:15px 0}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px;border-bottom:1px solid #e1ece8;text-align:left}th{background:#eef6f2}.manage{border-top:1px solid #e4eeeb;margin-top:30px;padding-top:8px}.danger{border:1px solid #e8b9b3;color:#a43c31;background:#fff4f2;border-radius:11px;padding:13px;font-weight:700;cursor:pointer}#importMsg{min-height:22px}#applyImport{width:100%}@media(max-width:500px){.tab{font-size:13px}.stat b{font-size:29px}}

#updateView{margin-bottom:22px}#adminToken{width:100%;margin:8px 0 12px}#cloudStatus{font-weight:600}.shell{max-width:960px}#updateView h1{font-size:clamp(1.4rem,3vw,2rem)}
