/* Star Classroom: warm classroom workspace */
:root{--bg:#f7f5e9;--ink:#203b5d;--muted:#6d8193;--primary:#254a70;--light:#edf3d9;--line:#d9dfdf;--card:#fffefa}
body{background:radial-gradient(ellipse at 3% 85%,#dbeedb 0,transparent 38%),radial-gradient(ellipse at 95% 0,#fff0b5 0,transparent 40%),#f7f5e9;line-height:1.6}
button,input,select{transition:background .16s,box-shadow .16s,transform .16s}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #559fc0;outline-offset:4px}
.shell{padding:16px;gap:18px;align-items:flex-start}.sidebar{width:242px;flex-shrink:0;border:1px solid #bbc8ce;border-radius:26px;background:#fffef9ed;padding:20px 15px;top:16px;height:calc(100vh - 32px);box-shadow:0 12px 28px #203b5d0c;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:5px 4px 22px;border-bottom:1px solid var(--line);font-size:21px;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:46px;height:49px;flex-shrink:0;border:2px solid #203b5d;border-radius:15px;background:#d8e99c;box-shadow:0 4px 0 #203b5d;font-size:25px}.brand small{font-size:11px;color:#6e8598;margin-top:0;letter-spacing:.05em}.class-badge{padding:17px 12px;margin:19px 0 15px;background:linear-gradient(125deg,#fff9dc,#f4f9f8);border:1px solid #d7dfda;border-radius:17px}.class-badge small{font-size:10px;letter-spacing:.15em;color:#7a8a90;display:block;font-weight:800}.class-badge strong{font-size:19px}.class-badge span{font-size:11px;display:block;color:#6e8598}.nav{padding:9px 12px;border-radius:12px;font-size:14px;font-weight:650;color:#496278;margin:3px 0;border:2px solid transparent;line-height:1.5}.nav.active{background:#eff4d9;border:2px solid #203b5d;box-shadow:0 3px 0 #203b5d;color:#203b5d}.nav:hover{background:#f2f5e6}.nav .nav-icon{display:inline-block;width:28px;text-align:center;margin-right:5px}.sidebar-footer{font-size:10px;color:#84939d;letter-spacing:.1em;padding:18px 8px 0;margin-top:auto}.main{background:#fffefbd9;min-height:calc(100vh - 32px);border:1px solid #d5ddda;border-radius:26px;padding:0 28px 28px;max-width:none;margin:0;overflow:hidden}.top{background:linear-gradient(115deg,#fff6cc,#f3f4de 60%,#e9f4ee);padding:27px 28px 25px;margin:0 -28px 25px;border-bottom:1px solid #e0e2cf;position:relative;gap:20px}.workspace-kicker{display:block;color:#56758b;letter-spacing:.18em;font-weight:850;font-size:10px;margin-bottom:5px}h1{font-size:35px;font-weight:900;letter-spacing:-.04em;line-height:1.25;margin:0 0 8px;color:#203b5d}.top p{font-size:13px;color:#5d788b}.top .row{gap:8px}.top select{min-height:41px;padding:7px 10px;font-size:12px;font-weight:650;border:1px solid #afbec5!important;box-shadow:none;border-radius:11px;color:#294866!important}.banner{position:relative;background:linear-gradient(110deg,#f9efbf,#eef3df 65%,#e6f3f1);border:1px solid #dce2cf;color:#203b5d;padding:28px 30px;border-radius:21px;overflow:hidden}.banner h1{font-size:28px;position:relative;z-index:1}.banner p{color:#627c89;max-width:70%;font-size:14px;position:relative;z-index:1}.banner:after{content:'✦';position:absolute;right:32px;top:-22px;font-size:150px;line-height:1.3;color:#e2c76266;transform:rotate(12deg)}.card{border:1px solid #dbe1df;border-radius:20px;box-shadow:0 7px 22px #203b5d05;background:#fffefa;padding:22px}h2{font-size:18px;line-height:1.5;font-weight:800;letter-spacing:-.02em}.grid{gap:14px}.stat{min-height:112px;position:relative;overflow:hidden}.stat:nth-child(4n+1){background:#fff8df}.stat:nth-child(4n+2){background:#edf6f9}.stat:nth-child(4n+3){background:#f1f4e4}.stat:nth-child(4n+4){background:#fff0e9}.stat strong{font-size:30px;color:#203b5d;margin-top:7px}.stat span{color:#627a87;font-size:13px;font-weight:650}.two{gap:18px;margin-top:18px;grid-template-columns:1.4fr 1fr}.btn{border:2px solid #203b5d;box-shadow:0 3px 0 #203b5d;background:#dce99f;color:#203b5d;border-radius:12px;padding:9px 14px;font-size:13px;font-weight:800}.btn.secondary{background:#fffdf3;color:#203b5d}.btn.ghost{border:1px solid #d2dddf;box-shadow:none;background:#f2f6f5;color:#5f7788}.btn:hover{filter:none;transform:translateY(-1px);background:#eff4cd}.btn:active{transform:translateY(2px);box-shadow:none}.item{padding:14px 0;border-color:#e8ede8;font-size:14px}.item input[type=checkbox]{accent-color:#628b77;width:17px;height:17px;vertical-align:middle;margin-right:7px}.muted{color:#7b8a95}.tag{background:#e7f2e6;color:#3f7c62;font-weight:700}.tag.warn{background:#fff1cf;color:#9b732f}input,select,textarea{border-color:#cdd9dd;border-radius:11px;background:#fffffc;color:#203b5d}.student-grid{gap:14px}.student{padding:18px;text-align:center;background:#fffdf4;border:1px solid #dce3df;border-radius:18px}.student:nth-child(3n+2){background:#f0f7fa}.student:nth-child(3n){background:#f2f5e7}.student .avatar{display:grid;place-items:center;width:62px;height:62px;background:#fff;border-radius:20px;margin:0 auto 9px;font-size:34px;border:1px solid #e0e6df}.student .actions{justify-content:center}.student strong{font-size:15px}.seat{background:#eff6f7;border:1px solid #cbdcdd;padding:19px 12px;border-radius:15px}.group-card,.pet-card{border-radius:19px}.pet-card{background:#fffdf6}.correction-pick{background:#f4f7ee;border-color:#d5e0d5}.correction-student{border-color:#d9e2db}.correction-student input{accent-color:#527e69}.progress{background:#e8eddd}.progress div{background:#8ca16a}.note{font-size:11px;line-height:1.8;background:#f1f4ec;color:#7a897e;border:1px solid #e0e7d9;border-radius:14px;margin-top:25px;padding:12px 16px}.template{border-radius:18px}.template.selected{border-color:#254a70}.preview{height:120px}.actions{gap:11px}#content{animation:arrive .2s ease-out}@keyframes arrive{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
body[data-theme=forest]{--primary:#347860;--light:#e4f2dc}body[data-theme=forest] .top,body[data-theme=forest] .banner{background:linear-gradient(110deg,#e3efca,#e4f4ec)}body[data-theme=space]{--primary:#4556b5;--light:#e7eaff}body[data-theme=space] .top,body[data-theme=space] .banner{background:linear-gradient(110deg,#e8e9fb,#edf2ff)}
@media(min-width:1600px){.main{padding-left:40px;padding-right:40px}.top{margin-left:-40px;margin-right:-40px;padding-left:40px;padding-right:40px}}
@media(max-width:1100px){.sidebar{width:210px}.main{padding:0 20px 22px}.top{margin:0 -20px 20px;padding:22px 20px}.top .row{width:100%}.top select{flex:1}.two{grid-template-columns:1fr}h1{font-size:30px}}
@media(max-width:850px){.shell{padding:10px;gap:10px}.sidebar{width:74px;border-radius:20px;padding:15px 7px;top:10px;height:calc(100vh - 20px)}.brand{padding:0 0 20px;justify-content:center}.brand-mark{width:44px;height:46px}.brand-copy,.class-badge,.sidebar-footer{display:none}.nav{padding:10px 0;font-size:21px;text-align:center}.nav .label{display:none}.nav .nav-icon{margin:0;width:auto}.main{min-height:calc(100vh - 20px);border-radius:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.banner{padding:23px}.banner p{max-width:85%}.banner h1{font-size:25px}}
@media(max-width:520px){.shell{padding:0;gap:0}.sidebar{width:56px;top:0;height:100dvh;border-radius:0;padding:14px 4px;border-width:0 1px 0 0}.brand-mark{width:38px;height:40px;font-size:22px;border-radius:12px}.nav{font-size:20px;border-radius:10px}.main{padding:0 12px 18px;border:0;border-radius:0;min-height:100dvh}.top{padding:23px 15px 19px;margin:0 -12px 18px}.top h1{font-size:27px}.top .row{gap:6px}.top select{width:auto!important;min-width:0;font-size:11px;padding:7px 5px;flex:1}.banner{padding:20px 16px}.banner h1{font-size:22px}.banner p{font-size:12px;max-width:90%}.banner:after{font-size:100px;right:5px;top:5px}.grid{gap:9px}.card{padding:16px;border-radius:16px}.stat{min-height:100px}.stat span{font-size:11px}.stat strong{font-size:25px}.btn{padding:8px 10px;font-size:12px}.two{gap:12px}.student-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:9px}.student{padding:15px 8px}.templates{grid-template-columns:1fr}.seats{grid-template-columns:repeat(2,minmax(0,1fr))}.correction-form label{min-width:0;width:100%;flex-basis:100%}.note{padding:11px;font-size:10px}table{display:block;overflow:auto}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.settings-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.settings-heading h2{margin-bottom:4px}.settings-heading p{font-size:13px}.class-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px;background:#f6f7ee;border:1px solid #e1e6d8;border-radius:16px;margin-bottom:26px}.class-fields label{display:grid;gap:9px;font-size:14px;font-weight:750}.class-fields input{width:100%;font-weight:500}.feature-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.feature-option{display:flex;align-items:center;gap:12px;padding:17px 13px;border:1px solid #d9e2de;border-radius:15px;background:#fff;cursor:pointer}.feature-option:has(input:checked){background:#f0f5df;border-color:#80976c}.feature-option input{width:18px;height:18px;accent-color:#53754c;flex-shrink:0}.feature-option b{display:block;font-size:14px}.feature-option small{display:block;font-size:11px;color:#748591;margin-top:4px}.feature-symbol{font-size:23px}.settings-save{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid #e0e5dc}.settings-save [role=status]{color:#397658;font-size:13px}.workspace-launcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.launch-item{display:flex;align-items:center;text-align:left;gap:12px;border:1px solid #d8e0db;border-radius:15px;background:#fffdf5;padding:19px 15px;color:#203b5d}.launch-item:hover{background:#eff5df;border-color:#819b6a;transform:translateY(-2px)}.launch-item span:first-child{font-size:26px}.launch-item b{font-size:14px;flex:1}.launch-item span:last-child{color:#93a396}@media(max-width:1150px){.feature-picker,.workspace-launcher{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.class-fields,.feature-picker,.workspace-launcher{grid-template-columns:1fr}.class-fields{padding:15px;gap:15px}.feature-option{padding:14px}.settings-save{align-items:stretch;flex-direction:column}.settings-heading .actions{gap:7px}.launch-item{padding:15px}.customization{padding:16px}}
