:root{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Alibaba PuHuiTi,PingFang SC,Microsoft YaHei,sans-serif;font-weight:450;line-height:1.45}*{box-sizing:border-box}body{color:#273f65;background-color:var(--page-bg-base,#eaf0ff);background-image:radial-gradient(circle at 12% -8%, var(--page-bg-glow-a,#7b95ec3d), transparent 45%), radial-gradient(circle at 88% 120%, var(--page-bg-glow-b,#81bcff3d), transparent 40%), radial-gradient(var(--page-bg-dot,#a0b2dc85) 1.1px, transparent 1.1px);background-size:auto,auto,24px 24px;min-height:100vh;margin:0}#root{min-height:100vh}.app-shell{--theme-accent:#ef5665;--theme-accent-ink:#bf3a4d;--theme-accent-soft:#ef566524;--theme-accent-soft-strong:#ef56653d;--theme-accent-border:#ef566566;--theme-accent-glow:#ef56654d;--theme-surface-tint:#fff7f8;--theme-gradient-start:#ff7a8e;--theme-gradient-end:#ea4f66;--theme-track:#e7ecf5;--accent-weak:#ffdbe0;--ink:#243f66;--ink-soft:#7a8da9;--line:#f3c8cf;--surface:#fffdfd;background:0 0;max-width:1600px;min-height:100vh;margin:0 auto;padding:16px 24px 36px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #0000;border-radius:999px;transition:all .18s}button:hover{transform:translateY(-1px)}button:disabled{opacity:.48;cursor:not-allowed;transform:none}.top-bar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffed;border:1px solid #f0c5cbf2;border-radius:999px;grid-template-columns:auto clamp(150px,12vw,210px) minmax(0,1fr);grid-template-areas:"toolbar search actions";align-items:center;gap:8px;width:min(1560px,100% - 8px);margin:0 auto;padding:10px 14px;display:grid;position:sticky;top:10px;box-shadow:0 10px 24px #ef566524}.top-toolbar{white-space:nowrap;flex-wrap:nowrap;grid-area:toolbar;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex;overflow:visible}.teacher-title-pill{background:linear-gradient(135deg,#fff7fb,#fff);border:1px solid #f4cad2;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:104px;max-width:180px;height:42px;padding:0 14px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 8px 18px #ee627b29}.teacher-title-pill:before{content:"";pointer-events:none;background:linear-gradient(112deg,#0000 34%,#ffffffd9 50%,#0000 66%);animation:2.8s linear infinite teacher-title-sweep;position:absolute;inset:-55%;transform:translate(-125%)rotate(14deg)}.teacher-title-text{z-index:1;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.06em;background:linear-gradient(#ffd46b 0%,#ff8a4a 45%,#f0427b 100%);color:#0000;text-shadow:0 3px 10px #ee4d7042;-webkit-background-clip:text;background-clip:text;max-width:100%;font-family:STXingkai,STKaiti,KaiTi,"FangSong",Microsoft YaHei,sans-serif;font-size:19px;font-weight:800;position:relative;overflow:hidden}@keyframes teacher-title-sweep{0%{transform:translate(-125%)rotate(14deg)}to{transform:translate(125%)rotate(14deg)}}.logo-pill{color:#fff;background:linear-gradient(145deg,#ff8d9a,#f55769);border-color:#ffb5bf;border-radius:999px;width:48px;height:48px;font-size:23px;box-shadow:0 8px 18px #ef566547}.class-pill,.tool-pill{color:#cf2d42;background:#fff;border:1px solid #f3c8cf;border-radius:999px;align-items:center;height:38px;padding:0 14px;font-weight:700;display:inline-flex}.class-switch-btn{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;max-width:168px;padding-right:28px;position:relative;overflow:hidden}.class-switch-btn:after{content:"⌄";color:#da5b6f;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-48%)}.tool-pill{color:#d94356;background:#fff6f7}.tool-pill.batch-pill-active{color:#fff;background:linear-gradient(135deg,#5d72ff,#4b5eea);border-color:#7f96ff;box-shadow:0 10px 20px #5465f147}.sort-wrap{position:relative}.sort-trigger{white-space:nowrap;gap:6px}.sort-caret{color:#cc7282;font-size:12px;transition:transform .16s;transform:translateY(1px)}.sort-caret.open{transform:rotate(180deg)translateY(-1px)}.sort-menu{z-index:90;background:#fffffffa;border:1px solid #f0d5da;border-radius:16px;gap:4px;min-width:208px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 32px #2e3b5933}.sort-menu p{color:#7f90a9;margin:0;padding:4px 6px 6px;font-size:13px;font-weight:800}.sort-menu-item{color:#2d456d;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;min-height:38px;padding:0 10px;font-weight:800;display:flex}.sort-menu-item.active{color:#cc2f46;background:#fff1f4;border-color:#e8d6da}.sort-menu-item em{color:#29a35f;font-size:12px;font-style:normal;font-weight:800}.search-pill{color:#a4afbf;background:#f5f7fb;border:1px solid #e7ebf2;border-radius:999px;align-items:center;gap:8px;min-width:214px;height:38px;padding:0 12px;display:inline-flex}.top-search-pill{grid-area:search;justify-self:start;width:clamp(150px,12vw,210px);min-width:0;margin-right:8px}.search-pill input{color:#51627f;background:0 0;border:0;outline:0;width:100%}.top-actions{white-space:nowrap;flex-wrap:nowrap;grid-area:actions;justify-content:flex-end;justify-self:end;align-items:center;gap:4px;min-width:0;padding-left:0;display:flex}.top-actions button{color:#dd4156;background:0 0;border-color:#0000;flex-shrink:0;height:34px;padding:0 10px;font-size:15px;font-weight:700}.top-actions button.primary{color:#df3047;background:#fff5f7;border-color:#ffd3d9}.top-actions button.coin-top-btn{color:#9a6a1f;background:linear-gradient(135deg,#fff9ee,#fff3dc);border-color:#f5ddb2}.top-actions button.diamond-top-btn{color:#245d9f;background:linear-gradient(135deg,#f2f8ff,#ebf5ff);border-color:#cfe2ff}.top-actions button.group-center-top-btn{color:#2f7a42;background:linear-gradient(135deg,#f2fff3,#e8f7ea);border-color:#d4e8d2}.top-actions button.admin-top-btn{color:#5f37c7;background:linear-gradient(135deg,#f7f2ff,#efe6ff);border-color:#d7cdfd}.top-actions button.undo-active{color:#fff;background:linear-gradient(135deg,#ff5c79,#ef2f55);border-color:#0000;box-shadow:0 8px 16px #eb375b4d}.top-actions button.author-contact-btn{color:#385684;background:#f6f9ff;border-color:#d5deef}.top-actions button.pk-top-btn{color:#f6f9ff;letter-spacing:.04em;background:linear-gradient(145deg,#0a123f,#1a2f82);border:1px solid #13246b;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:114px;height:42px;padding:0 14px;font-size:16px;font-weight:900;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 10px 18px #12286e57,inset 0 0 0 1px #ffffff1a}.top-actions button.pk-top-btn:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 34%,#ffffff8f 50%,#0000 66%);animation:2.4s linear infinite pk-top-flow;position:absolute;inset:-45%;transform:translate(-125%)rotate(14deg)}.top-actions button.pk-top-btn>span{z-index:1;position:relative}.top-actions button.pk-top-btn .pk-top-text{background:linear-gradient(#ffef88 0%,#ffb931 42%,#ff5d27 72%,#ff3466 100%);color:#0000;text-shadow:0 4px 8px #04082866;-webkit-background-clip:text;background-clip:text}@keyframes pk-top-flow{0%{transform:translate(-125%)rotate(14deg)}to{transform:translate(125%)rotate(14deg)}}.toolbar-panel{justify-content:space-between;align-items:flex-start;gap:10px;margin-top:34px;display:flex}.batch-mode-panel{justify-items:center;gap:10px;margin:22px auto 0;display:grid}.undo-mode-panel{justify-items:center;margin:22px auto 0;display:grid}.undo-tip-pill{color:#fff;background:linear-gradient(135deg,#ff5b78,#ef2e54);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-weight:800;display:inline-flex;box-shadow:0 10px 22px #e8395e52}.batch-tip-pill{color:#fff;background:linear-gradient(135deg,#4d7cff,#3569ed);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-weight:800;display:inline-flex;box-shadow:0 10px 24px #4367ea4d}.batch-action-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.batch-count-pill{color:#1d62cc;background:#e8f3ff;border:1px solid #9ec3ff;border-radius:999px;align-items:center;min-height:44px;padding:0 18px;font-size:18px;font-weight:800;display:inline-flex}.batch-ghost-btn,.batch-outline-btn,.batch-solid-btn{border-radius:999px;min-height:44px;padding:0 16px;font-weight:800}.batch-ghost-btn{color:#4d6588;background:#fff;border:1px solid #d7e1ef}.batch-outline-btn{color:#1383bf;background:#f2fbff;border:1px solid #8fd6ff}.batch-solid-btn{color:#fff;background:linear-gradient(135deg,#4d79ff,#5148e8);border:1px solid #0000;box-shadow:0 8px 18px #4a5ce44d}.group-filter p{color:#2b4a76;margin:0 0 10px;font-size:22px;font-weight:800}.group-chips{flex-wrap:wrap;gap:10px;display:flex}.group-chips button{color:#60748f;background:#ffffffe6;border:1px solid #dfe5ef;align-items:center;gap:8px;height:40px;padding:0 14px;font-weight:700;display:inline-flex}.group-chips button em{color:#8ea0ba;font-style:normal}.group-chips button.active{color:#fff;background:linear-gradient(125deg,#4b58e3,#6b6cff);border-color:#0000;box-shadow:0 10px 20px #535be645}.group-chips button.active em{color:#d7dbff}.stats-strip{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.stats-strip span{background:#fffffff2;border:1px solid #e5eaf2;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 12px;display:inline-flex}.stats-strip span em{color:#50698a;font-size:13px;font-style:normal;font-weight:800}.stats-strip span strong{color:#2e4c77;font-size:19px;font-weight:900;line-height:1}.student-grid{grid-template-columns:repeat(auto-fill,minmax(246px,1fr));gap:12px;margin-top:14px;display:grid}.empty-state{background:#fff;border:1px dashed #f0c3cb;border-radius:20px;padding:16px}.empty-state h2{color:#cc3348;margin:0 0 8px;font-size:20px}.empty-state p{color:#7085a4;margin:0}.student-card{background:linear-gradient(#fffafbfa,#fffffff2);border:1px solid #f1bac2;border-radius:26px;gap:8px;padding:12px 12px 10px;transition:transform .18s,box-shadow .2s,border-color .2s;display:grid;position:relative;box-shadow:0 8px 22px #eb718024}.student-card.undo-target{border-color:#f46a81;box-shadow:inset 0 0 0 2px #f46a8138,0 8px 22px #f46a8133}.student-card.mystery{background:linear-gradient(#fff7fb,#fff);border-color:#efbfd1}.student-card.clickable{cursor:pointer}.student-card.clickable:hover{border-color:#e49aa6;transform:translateY(-3px);box-shadow:0 14px 30px #e9566d33}.student-card.clickable:focus-visible{outline-offset:2px;outline:2px solid #f26e7e}.student-card.batch-mode{border-color:#d5e6ff;box-shadow:0 8px 20px #7d9bd329}.student-card.batch-mode.selected{border-color:#5b91ff;box-shadow:inset 0 0 0 2px #4d80f52e,0 14px 28px #4669ba40}.student-card.batch-mode .card-head{padding-left:42px}.student-card.role-member{border-color:var(--group-border-member,#f1bac2);box-shadow:0 8px 22px var(--group-shadow-member,#eb718024)}.student-card.role-member.clickable:hover{border-color:var(--group-flow-main,#e49aa6);box-shadow:0 14px 30px var(--group-flow-glow,#e9566d3d)}.student-card.role-vice{--group-flow-angle:0deg;background:linear-gradient(180deg, var(--group-card-surface-start,#fffafb), var(--group-card-surface-end,#fff)) padding-box, conic-gradient(from var(--group-flow-angle), var(--group-flow-deep,#4a73c1db) 0deg, var(--group-flow-deep,#4a73c1db) 280deg, var(--group-flow-light,#f0f9fff5) 320deg, var(--group-flow-main,#5a9cffe0) 346deg, var(--group-flow-deep,#4a73c1db) 360deg) border-box;box-shadow:0 10px 24px var(--group-shadow-member,#638cdb38), 0 0 12px var(--group-flow-glow,#638cdb3d), 0 0 0 1px var(--group-surface-tint,#638cdb14) inset;border-width:2px;border-color:#0000;animation:6.4s linear infinite group-border-flow}.student-card.role-vice.clickable:hover{box-shadow:0 14px 30px var(--group-flow-glow,#638cdb52), 0 0 18px var(--group-flow-glow,#638cdb5c), 0 0 0 1px var(--group-surface-tint,#638cdb1a) inset;border-color:#0000}.student-card.role-vice.undo-target{background:linear-gradient(#fffafbfa,#fffffff2);border-color:#f46a81;animation:none;box-shadow:inset 0 0 0 2px #f46a8138,0 8px 22px #f46a8133}.student-card.role-vice.batch-mode.selected{border-color:#0000}.student-card.role-leader{--group-flow-angle:0deg;--leader-bolt-angle:0deg;isolation:isolate;background:linear-gradient(180deg, var(--group-card-surface-start,#fffafb), var(--group-card-surface-end,#fff)) padding-box, conic-gradient(from var(--leader-bolt-angle), transparent 0deg 274deg, #ffffff2e 274deg 280deg, #fffffffa 280deg 286deg, #b3f4fffa 286deg 291deg, #ffee98fa 291deg 296deg, #fffffff2 296deg 301deg, transparent 301deg 360deg) border-box, conic-gradient(from var(--group-flow-angle), var(--group-flow-deep,#4a73c1eb) 0deg, var(--group-flow-deep,#4a73c1eb) 250deg, var(--group-flow-main,#5a9cfff5) 286deg, var(--group-flow-light,#f5fbff) 312deg, var(--group-flow-main,#5a9cfffa) 340deg, var(--group-flow-deep,#4a73c1eb) 360deg) border-box;box-shadow:0 14px 32px var(--group-flow-glow,#638cdb6b), 0 0 24px var(--group-flow-glow,#638cdb85), 0 0 0 1px var(--group-surface-tint,#638cdb1f) inset;border-width:3px;border-color:#0000;animation:3.4s linear infinite group-border-flow,1.9s linear infinite leader-bolt-spin}.student-card.role-leader.clickable:hover{box-shadow:0 18px 36px var(--group-flow-glow,#638cdb8a), 0 0 30px var(--group-flow-glow,#638cdb9e), 0 0 0 1px var(--group-surface-tint,#638cdb29) inset;border-color:#0000}.student-card.role-leader.undo-target{background:linear-gradient(#fffafbfa,#fffffff2);border-color:#f46a81;animation:none;box-shadow:inset 0 0 0 2px #f46a8138,0 8px 22px #f46a8133}.student-card.role-leader.batch-mode.selected{border-color:#0000}@property --group-flow-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --leader-bolt-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes group-border-flow{0%{--group-flow-angle:0deg}to{--group-flow-angle:360deg}}@keyframes leader-bolt-spin{0%{--leader-bolt-angle:0deg}to{--leader-bolt-angle:360deg}}.batch-check-btn{z-index:2;color:#0000;background:#f7fbff;border:2px solid #d6e4f9;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:24px;font-weight:900;display:inline-flex;position:absolute;top:10px;left:10px;box-shadow:0 8px 16px #475f9029}.batch-check-btn.checked{color:#fff;background:linear-gradient(140deg,#3f82f1,#2e67de);border-color:#3a78ea}.card-head{justify-content:space-between;align-items:center;display:flex}.level-tag{color:#3f5471;background:#fff;border:1px solid #e1e7ef;border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 10px;font-weight:800;display:inline-flex}.level-tag i{background:#27c97c;border-radius:999px;width:9px;height:9px}.card-more{color:#667ba0;background:#fff;border:1px solid #e7ebf2;border-radius:999px;width:36px;height:36px;font-size:18px;font-weight:900;line-height:1;transition:transform .18s,border-color .2s,background .2s,color .2s,box-shadow .2s}.card-more:hover{color:#fff;background:linear-gradient(135deg,#ff667f,#eb3556);border-color:#ef4f64;transform:translateY(-1px)scale(1.08);box-shadow:0 10px 18px #eb355652}.card-more:focus-visible{border-color:#ef4f64;box-shadow:0 0 0 2px #ef4f6433}.level-up-effect{border-radius:inherit;pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.level-up-flash{opacity:0;background:radial-gradient(circle,#fffffff2 0%,#a1eeffc7 22%,#8a9dff7a 45%,#0000 70%);animation:1.08s ease-out forwards level-up-flash;position:absolute;inset:-24%}.level-up-ring{opacity:0;border:3px solid #ffffffeb;border-radius:999px;width:44px;height:44px;margin-top:-22px;margin-left:-22px;animation:1.08s cubic-bezier(.15,.66,.23,1) forwards level-up-ring;position:absolute;top:45%;left:50%;box-shadow:0 0 0 4px #7ed9ff57,0 0 28px #57aaffa6}.level-up-core{opacity:0;background:radial-gradient(circle at 35% 35%,#fff 0%,#d4f7ff 45%,#8ed6ff 100%);border-radius:999px;width:20px;height:20px;margin-top:-10px;margin-left:-10px;animation:.74s ease-out forwards level-up-core;position:absolute;top:45%;left:50%}.level-up-label{color:#fff;letter-spacing:.06em;text-shadow:0 2px 8px #18347a66;opacity:0;background:linear-gradient(125deg,#5476ffeb,#46e2c3e6);border:1px solid #ffffffb8;border-radius:999px;padding:4px 12px;font-size:15px;font-weight:900;animation:1.08s ease-out forwards level-up-label;position:absolute;top:18%;left:50%;transform:translate(-50%)}.level-up-sparks i{opacity:0;background:linear-gradient(#fff,#8ee2ff);border-radius:99px;width:7px;height:18px;position:absolute;top:45%;left:50%;box-shadow:0 0 10px #9ee8ffc7}.level-up-sparks .s1{animation:1.08s ease-out forwards level-up-spark-1;transform:translate(-50%,-50%)rotate(0)}.level-up-sparks .s2{animation:1.08s ease-out forwards level-up-spark-2;transform:translate(-50%,-50%)rotate(45deg)}.level-up-sparks .s3{animation:1.08s ease-out forwards level-up-spark-3;transform:translate(-50%,-50%)rotate(90deg)}.level-up-sparks .s4{animation:1.08s ease-out forwards level-up-spark-4;transform:translate(-50%,-50%)rotate(135deg)}.level-up-sparks .s5{animation:1.08s ease-out forwards level-up-spark-5;transform:translate(-50%,-50%)rotate(180deg)}.level-up-sparks .s6{animation:1.08s ease-out forwards level-up-spark-6;transform:translate(-50%,-50%)rotate(225deg)}.level-up-sparks .s7{animation:1.08s ease-out forwards level-up-spark-7;transform:translate(-50%,-50%)rotate(270deg)}.level-up-sparks .s8{animation:1.08s ease-out forwards level-up-spark-8;transform:translate(-50%,-50%)rotate(315deg)}@keyframes level-up-flash{0%{opacity:0;transform:scale(.72)}20%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.34)}}@keyframes level-up-ring{0%{opacity:0;transform:scale(.3)}24%{opacity:1}to{opacity:0;transform:scale(8.8)}}@keyframes level-up-core{0%{opacity:.9;transform:scale(.45)}55%{opacity:.7;transform:scale(2.2)}to{opacity:0;transform:scale(3.6)}}@keyframes level-up-label{0%{opacity:0;transform:translate(-50%,12px)scale(.65)}22%{opacity:1;transform:translate(-50%)scale(1)}72%{opacity:1;transform:translate(-50%,-2px)scale(1)}to{opacity:0;transform:translate(-50%,-14px)scale(.95)}}@keyframes level-up-spark-1{0%,10%{opacity:0;transform:translate(-50%,-50%)rotate(0)translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(0)translateY(-66px)scale(.95)}}@keyframes level-up-spark-2{0%,10%{opacity:0;transform:translate(-50%,-50%)rotate(45deg)translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(45deg)translateY(-58px)scale(.95)}}@keyframes level-up-spark-3{0%,10%{opacity:0;transform:translate(-50%,-50%)rotate(90deg)translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(90deg)translateY(-66px)scale(.95)}}@keyframes level-up-spark-4{0%,10%{opacity:0;transform:translate(-50%,-50%)rotate(135deg)translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(135deg)translateY(-58px)scale(.95)}}@keyframes level-up-spark-5{0%,10%{opacity:0;transform:translate(-50%,-50%)rotate(180deg)translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(180deg)translateY(-66px)scale(.95)}}@keyframes level-up-spark-6{0%,10%{opacity:0;transform:translate(-50%,-50%)rotate(225deg)translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(225deg)translateY(-58px)scale(.95)}}@keyframes level-up-spark-7{0%,10%{opacity:0;transform:translate(-50%,-50%)rotate(270deg)translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(270deg)translateY(-66px)scale(.95)}}@keyframes level-up-spark-8{0%,10%{opacity:0;transform:translate(-50%,-50%)rotate(315deg)translateY(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(315deg)translateY(-58px)scale(.95)}}.feed-effect,.deduct-effect{border-radius:inherit;pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.feed-food{transform:translate(-50%, -50%) translate(var(--from-x,0px), var(--from-y,0px)) scale(.72) rotate(0deg);opacity:0;filter:drop-shadow(0 5px 8px #1f33533d);animation:feed-food-fly var(--feed-duration,.78s) cubic-bezier(.18, .7, .25, 1) var(--feed-delay,0s) forwards;font-size:27px;line-height:1;position:absolute;top:41%;left:50%}@keyframes feed-food-fly{0%{opacity:0;transform:translate(-50%, -50%) translate(var(--from-x,0px), var(--from-y,0px)) scale(.72) rotate(0deg)}12%{opacity:1}58%{opacity:1;transform:translate(-50%, -50%) translate(var(--mid-x,0px), var(--mid-y,0px)) scale(.94) rotate(var(--feed-spin-mid,0deg))}to{opacity:0;transform:translate(-50%, -50%) translate(0, 0) scale(.32) rotate(var(--feed-spin,0deg))}}.deduct-food{opacity:0;filter:drop-shadow(0 4px 6px #3e1c203d);animation:deduct-food-burst var(--deduct-duration,.64s) cubic-bezier(.22, .68, .26, 1) var(--deduct-delay,0s) forwards;font-size:24px;line-height:1;position:absolute;top:41%;left:50%;transform:translate(-50%,-50%)translate(0)scale(.5)rotate(0)}@keyframes deduct-food-burst{0%{opacity:0;transform:translate(-50%,-50%)translate(0)scale(.5)rotate(0)}14%{opacity:1;transform:translate(-50%, -50%) translate(0, -5px) scale(.82) rotate(calc(var(--deduct-spin,0deg) * .2))}to{opacity:0;transform:translate(-50%, -50%) translate(var(--deduct-to-x,0px), var(--deduct-to-y,0px)) scale(1.02) rotate(var(--deduct-spin,0deg))}}.pet-stage{place-items:center;min-height:104px;display:grid;position:relative}.pet-talk-bubble{z-index:4;color:#46628d;text-align:center;pointer-events:none;max-width:138px;animation:pet-talk-lifecycle var(--pet-talk-life,4.2s) ease-in-out both;background:linear-gradient(140deg,#fffffffa,#f4f9fff5);border:1px solid #d8e5f6;border-radius:14px;padding:6px 9px;font-size:13px;font-weight:800;line-height:1.35;position:absolute;top:16px;box-shadow:0 10px 18px #4e6da233}.pet-talk-bubble.left{--pet-talk-shift-x:-4px;left:2px}.pet-talk-bubble.right{--pet-talk-shift-x:4px;right:2px}.pet-talk-bubble:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;width:0;height:0;margin-top:-6px;position:absolute;top:50%}.pet-talk-bubble.left:after{border-left:7px solid #f4f9ff;right:-7px}.pet-talk-bubble.right:after{border-right:7px solid #f4f9ff;left:-7px}@keyframes pet-talk-lifecycle{0%{opacity:0;transform:translate3d(var(--pet-talk-shift-x,0px), 9px, 0) scale(.84)}12%{opacity:1;transform:translate3d(var(--pet-talk-shift-x,0px), 0, 0) scale(1)}80%{opacity:1;transform:translate3d(var(--pet-talk-shift-x,0px), -1px, 0) scale(1)}to{opacity:0;transform:translate3d(var(--pet-talk-shift-x,0px), -8px, 0) scale(.93)}}.pet-stage .pet-avatar-image,.pet-stage .pet-avatar{transform-origin:50% 62%;will-change:transform;animation:3.8s ease-in-out infinite pet-idle-wiggle}.pet-stage.pet-eating .pet-avatar,.pet-stage.pet-eating .pet-avatar-image,.pet-stage.pet-eating .pet-avatar.egg{transform-origin:50% 62%;animation:.74s ease-in-out pet-eat-bite}.pet-stage.pet-hurt .pet-avatar,.pet-stage.pet-hurt .pet-avatar-image,.pet-stage.pet-hurt .pet-avatar.egg{transform-origin:50% 62%;animation:.66s ease-in-out pet-hurt-shake}@keyframes pet-idle-wiggle{0%{transform:translate(0,0)rotate(0)scale(1)}20%{transform:translate(-1.2px,-1.3px)rotate(-.7deg)scale(1.004)}40%{transform:translate(1.3px,-.7px)rotate(.7deg)scale(1.005)}60%{transform:translate(1px,1.2px)rotate(.55deg)scale(1.003)}80%{transform:translate(-1.1px,.8px)rotate(-.65deg)scale(1.004)}to{transform:translate(0,0)rotate(0)scale(1)}}@keyframes pet-eat-bite{0%{transform:scale(1)translateY(0)rotate(0)}16%{transform:scale(1.07,.9)translateY(-2px)rotate(-3deg)}30%{transform:scale(.92,1.08)translateY(2px)rotate(3deg)}46%{transform:scale(1.06,.92)translateY(-1px)rotate(-2.6deg)}62%{transform:scale(.95,1.05)translateY(1px)rotate(2.2deg)}to{transform:scale(1)translateY(0)rotate(0)}}@keyframes pet-hurt-shake{0%{transform:scale(1)translate(0)rotate(0)}16%{transform:scale(.96,1.04)translate(-4px)rotate(-3deg)}32%{transform:scale(1.02,.98)translate(4px)rotate(3deg)}48%{transform:scale(.97,1.03)translate(-3px)rotate(-2.2deg)}64%{transform:scale(1.01,.99)translate(3px)rotate(2deg)}to{transform:scale(1)translate(0)rotate(0)}}@media (prefers-reduced-motion:reduce){.pet-stage .pet-avatar-image,.pet-stage .pet-avatar,.pet-stage.pet-eating .pet-avatar,.pet-stage.pet-eating .pet-avatar-image,.pet-stage.pet-eating .pet-avatar.egg,.pet-stage.pet-hurt .pet-avatar,.pet-stage.pet-hurt .pet-avatar-image,.pet-stage.pet-hurt .pet-avatar.egg,.pet-talk-bubble,.student-card.role-vice,.student-card.role-leader{animation:none}}.pet-egg-btn{color:#b785df;background:0 0;border:0;justify-items:center;gap:4px;padding:0;display:grid}.pet-egg-btn small{color:#b785df;font-size:12px;font-weight:800}.pet-avatar{filter:drop-shadow(0 10px 16px #53638942);font-size:78px;line-height:1}.pet-avatar-image{object-fit:contain;filter:drop-shadow(0 10px 16px #53638938);width:min(96%,182px);height:104px}.pet-avatar.egg{filter:drop-shadow(0 12px 18px #a78ec759);font-size:86px}.name-row{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.name-row h2{color:#c91f36;margin:0;font-size:34px;font-weight:900;line-height:1}.name-row p{color:#8a9cb4;margin:0 0 3px;font-size:18px;font-weight:700}.progress-caption{color:#6a809f;justify-content:space-between;align-items:center;font-size:20px;font-weight:700;display:flex}.progress-caption strong{color:#5c6ff0}.progress-block{gap:6px;display:grid}.progress-track{background:#e4eaf3;border-radius:999px;height:15px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#f2636e,#ff8a95);height:100%}.card-bottom{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;column-gap:8px;display:grid}.next-pet-btn{color:#fff;letter-spacing:.06em;background:linear-gradient(135deg,#ff6c84,#ef4662);border:1px solid #f0aeba;border-radius:16px;width:100%;min-height:68px;font-size:28px;font-weight:900;box-shadow:0 12px 24px #ec4a6c4d}.next-pet-btn:focus-visible{outline-offset:2px;outline:2px solid #ffa8b6}.coin-pill,.group-pill,.badge-pill{color:#5f7392;white-space:nowrap;background:#fff;border:1px solid #e2e8f1;border-radius:999px;align-items:center;height:32px;padding:0 10px;font-size:15px;font-weight:700;display:inline-flex}.coin-pill{justify-self:start}.group-pill{justify-self:center}.coin-pill-action,.group-pill-action,.badge-pill-action{cursor:pointer}.coin-pill-action:hover,.group-pill-action:hover,.badge-pill-action:hover{background:#f8fbff;border-color:#d3dfef;transform:none}.coin-pill-action:focus-visible,.group-pill-action:focus-visible,.badge-pill-action:focus-visible{outline-offset:2px;outline:2px solid #8da7ff}.badge-pill{justify-self:end}.badge-row{flex-wrap:wrap;gap:6px;display:flex}.badge{color:#6b7f9d;background:#fff;border:1px solid #ecedf3;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.badge.muted{color:#9aa9bd}.rule-buttons{grid-template-columns:1fr 1fr;gap:6px;display:grid}.rule-btn{color:#2f6b39;background:#eaf8ed;border:1px solid #cde0d0;border-radius:12px;place-items:center;gap:2px;min-height:54px;font-weight:700;display:grid}.rule-btn small{opacity:.75;font-size:12px}.rule-btn.minus{color:#a8434f;background:#fff1f3;border-color:#f0c9cd;grid-column:1/-1}.feed-btn{color:#8f6621;background:#fff6e7;border:1px solid #e8d8b2;border-radius:14px;min-height:52px;font-weight:800}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#141a2a70;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{background:#fffffff5;border:1px solid #e8d5d9;border-radius:18px;width:min(1000px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 60px #151b2c59}.classroom-modal{border-radius:22px;width:min(720px,100%)}.classroom-head p{color:#7b8ea9;margin:5px 0 0;font-size:14px;font-weight:700}.classroom-body{gap:12px;display:grid}.classroom-create-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.classroom-create-row input{color:#2a4367;background:#fff;border:1px solid #d7e1f1;border-radius:12px;min-height:46px;padding:0 14px;font-weight:700}.classroom-create-row button{color:#fff;background:linear-gradient(130deg,#5f82ff,#4d61e8);border:1px solid #5f7eff;border-radius:12px;min-height:46px;padding:0 16px;font-weight:900}.classroom-list{gap:9px;display:grid}.classroom-item{background:#f8fbff;border:1px solid #dbe4f3;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:10px 12px;display:grid}.classroom-item.active{background:linear-gradient(160deg,#f7faff,#f0f6ff);border-color:#bcccf0;box-shadow:0 10px 18px #5f7cb729}.classroom-item-main{gap:3px;min-width:0;display:grid}.classroom-item-main strong{color:#28466d;font-size:17px;line-height:1.2}.classroom-item-main small{color:#7f92ad;font-size:12px;font-weight:700}.classroom-item button{color:#fff;white-space:nowrap;background:linear-gradient(130deg,#5f82ff,#4d61e8);border:1px solid #5e7dff;border-radius:999px;min-height:38px;padding:0 14px;font-weight:800}.classroom-item button.ghost{color:#4f688f;background:#eef4ff;border-color:#d6e1f3}.classroom-foot{justify-content:flex-end}.max-level-reward-backdrop{z-index:170;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at 15% 10%,#ffdb783d,#0000 38%),radial-gradient(circle at 84% 88%,#639cff3d,#0000 42%),#131b2b9e}.max-level-reward-modal{background:linear-gradient(160deg,#fffdf7 0%,#fff6e5 100%);border:1px solid #f1d28c;border-radius:26px;width:min(620px,100%);animation:.28s cubic-bezier(.22,1,.36,1) reward-pop;overflow:hidden;box-shadow:0 28px 64px #17243c66}.max-level-reward-top{text-align:center;background:linear-gradient(#fff3d1e0,#fffbeeb3);border-bottom:1px solid #f4e4bc;padding:22px 24px 16px}.max-level-reward-badge{background:radial-gradient(circle at 32% 30%,#fffbe9,#ffe7ab);border:1px solid #f0cf8f;border-radius:999px;place-items:center;width:72px;height:72px;margin:0 auto 10px;font-size:34px;display:grid;box-shadow:0 10px 26px #eeb2324d}.max-level-reward-pet-wrap{place-items:center;width:246px;height:230px;margin:8px auto 2px;display:grid;position:relative}.max-level-reward-pet-crown{z-index:6;filter:drop-shadow(0 6px 10px #be7b0d59);font-size:38px;animation:.9s ease-out both reward-crown-pop;position:absolute;top:2px;left:50%;transform:translate(-50%)}.max-level-reward-aura-ring{pointer-events:none;border-radius:999px;position:absolute;top:50%;left:50%}.max-level-reward-aura-ring.outer{border:2px solid #f1b73a59;width:188px;height:188px;margin-top:-82px;margin-left:-94px;animation:12s linear infinite reward-aura-spin;box-shadow:0 0 0 10px #f7d17f24,0 0 44px #e9b1434d}.max-level-reward-aura-ring.inner{border:2px dashed #ffd77885;width:154px;height:154px;margin-top:-66px;margin-left:-77px;animation:1.9s ease-in-out infinite reward-aura-pulse}.max-level-reward-pet-image,.max-level-reward-pet-emoji{z-index:4;background:radial-gradient(circle at 35% 25%,#fffef9,#ffeec2);border:1px solid #f5d282e0;border-radius:999px;width:164px;height:164px;position:relative;box-shadow:0 12px 28px #be841c47}.max-level-reward-pet-image{object-fit:contain;padding:2px}.max-level-reward-pet-emoji{place-items:center;font-size:88px;display:grid}.max-level-reward-pet-title{z-index:5;color:#8a6222;white-space:nowrap;background:#fff9eaf5;border:1px solid #f0d096;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:15px;font-weight:800;display:inline-flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.max-level-reward-spark{z-index:7;color:#ffd35b;text-shadow:0 0 16px #ffd057b8;animation:1.55s ease-in-out infinite reward-spark-float;position:absolute}.max-level-reward-spark.s1{font-size:18px;top:38px;left:16px}.max-level-reward-spark.s2{font-size:16px;animation-delay:.2s;top:48px;right:18px}.max-level-reward-spark.s3{font-size:14px;animation-delay:.36s;top:106px;left:28px}.max-level-reward-spark.s4{font-size:15px;animation-delay:.5s;top:114px;right:26px}.max-level-reward-top h3{color:#6d4f12;letter-spacing:1px;margin:0;font-size:34px;font-weight:900}.max-level-reward-top p{color:#87652e;margin:7px 0 0;font-size:18px;font-weight:700}.max-level-reward-main{gap:10px;padding:18px 24px 10px;display:grid}.max-level-reward-coin{color:#7e5a17;text-align:center;margin:0;font-size:22px;font-weight:900}.max-level-reward-coin strong{color:#e09905;margin-left:8px;font-size:32px}.max-level-reward-tip{text-align:center;color:#7d6b46;margin:0;font-size:16px;font-weight:700}.max-level-reward-actions{grid-template-columns:1fr 1.3fr;gap:10px;padding:16px 22px 22px;display:grid}.max-level-reward-actions button{border-radius:14px;min-height:48px;font-size:18px;font-weight:900}.max-level-reward-actions .ghost{color:#8f6b2f;background:#fff8e8;border:1px solid #e6d3a5}.max-level-reward-actions .primary{color:#fff;background:linear-gradient(140deg,#f8b82b,#ef9b10);border:1px solid #dca443;box-shadow:0 10px 20px #e69c1452}@keyframes reward-pop{0%{opacity:0;transform:translateY(20px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reward-aura-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes reward-aura-pulse{0%,to{opacity:.8;transform:translate(-50%,-50%)scale(.96)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}}@keyframes reward-spark-float{0%,to{opacity:.62;transform:translateY(0)scale(.92)}50%{opacity:1;transform:translateY(-7px)scale(1.05)}}@keyframes reward-crown-pop{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.66)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.confirm-backdrop{z-index:180;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.confirm-modal{background:linear-gradient(#fffffffc,#f7fbfffa);border:1px solid #dce7f8;border-radius:26px;width:min(560px,100%);animation:.2s ease-out confirm-pop;position:relative;overflow:hidden;box-shadow:0 28px 58px #13223e4d}.confirm-modal:before{content:"";background:linear-gradient(90deg,#72a0ff,#5f7fe6,#7595ff);height:4px;position:absolute;top:0;left:0;right:0}.confirm-modal.danger{background:linear-gradient(#fffafb,#fff);border-color:#f1d8dd}.confirm-modal.danger:before{background:linear-gradient(90deg,#ff9cad,#ff6e8b,#f05573)}.confirm-head{justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 12px;display:flex}.confirm-modal.danger .confirm-head{border-bottom-color:#f4e3e7}.confirm-head h3{color:#29436a;letter-spacing:.01em;margin:0;font-size:30px;line-height:1.1}.confirm-modal.danger .confirm-head h3{color:#b14358}.confirm-head button{color:#6d809f;background:#f3f7ff;border:1px solid #d9e3f2;border-radius:999px;width:36px;height:36px;padding:0;font-weight:800;line-height:1;transition:transform .16s,border-color .2s,background .2s,color .2s}.confirm-head button:hover{color:#d34763;background:#ffeef2;border-color:#ed8ca0;transform:scale(1.06)}.confirm-body{gap:10px;padding:4px 22px 18px;display:grid}.confirm-message{color:#486285;background:linear-gradient(#fff,#f5f9ff);border:1px solid #dce6f7;border-radius:16px;margin:0;padding:14px 16px;font-size:16px;font-weight:800;line-height:1.6}.confirm-modal.danger .confirm-message{color:#7f4f5a;background:linear-gradient(#fffeff,#fff5f7);border-color:#f3d9df}.confirm-note{color:#c33f57;letter-spacing:.05em;background:#fff1f5;border:1px dashed #f0b7c4;border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;font-size:12px;font-weight:900;display:inline-flex}.confirm-actions{border-top:1px solid #e7edf8;justify-content:flex-end;gap:10px;padding:14px 22px 20px;display:flex}.confirm-btn{border:1px solid #d4deed;border-radius:13px;min-width:90px;min-height:44px;padding:0 18px;font-size:16px;font-weight:800;transition:transform .16s,border-color .2s,background .2s,box-shadow .2s,color .2s}.confirm-btn.ghost{color:#607797;background:#f6f9ff}.confirm-btn.primary{color:#2b5ad5;background:linear-gradient(145deg,#eaf1ff,#deebff);border-color:#cadaff}.confirm-btn.danger{color:#c4435a;background:#feeef1;border-color:#f0c8cf}.confirm-btn:hover{transform:translateY(-1px)}.confirm-btn.ghost:hover{background:#edf3ff;border-color:#becde7}.confirm-btn.primary:hover{background:linear-gradient(145deg,#dfebff,#d0e2ff);border-color:#b6ccff;box-shadow:0 8px 16px #5c7ce433}.confirm-btn.danger:hover{background:#ffe2e8;border-color:#e8a8b3;box-shadow:0 8px 16px #d6537033}@keyframes confirm-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{z-index:2;background:#fffffff2;border-bottom:1px solid #f0dce0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex;position:sticky;top:0}.modal-head h3{color:#cf3348;margin:0}.modal-head button{color:#d64054;background:#fff5f7;border:1px solid #f1c9cf;height:34px;padding:0 12px;font-weight:700}.tab-row{border-bottom:1px solid #f0dce0;gap:8px;padding:10px 14px;display:flex}.tab-row button{color:#cf3d53;background:#fff;border:1px solid #f2d9dd;height:34px;padding:0 12px;font-weight:700}.tab-row button.active{color:#cb3148;background:#ffeef1;border-color:#f0b8c0}.modal-body{gap:12px;padding:14px;display:grid}.pet-picker-modal{border-radius:24px;width:min(960px,100%);overflow:hidden}.pet-picker-head{background:linear-gradient(135deg,#4f7bf8,#9b53ef);border-bottom:0;padding:18px 20px}.pet-picker-head h3{color:#fff;margin:0;font-size:28px}.pet-picker-head p{color:#ffffffeb;margin:4px 0 0;font-size:14px;font-weight:700}.pet-picker-head button{color:#fff;background:0 0;border:1px solid #ffffff7a;border-radius:999px;width:40px;height:40px;padding:0;font-size:24px;font-weight:400}.pet-picker-body{background:#f4f7fc;max-height:calc(90vh - 200px);overflow:auto}.pet-picker-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.pet-option-card{background:#fff;border:1px solid #dfe6f1;border-radius:14px;align-content:center;justify-items:center;gap:8px;min-height:132px;padding:10px 8px;display:grid}.pet-option-card.active{border-color:#7b93ff;box-shadow:inset 0 0 0 2px #7b93ff38}.pet-option-icon{background:#f0f4fb;border-radius:16px;justify-content:center;align-items:center;width:62px;height:62px;font-size:38px;display:inline-flex}.pet-option-image{object-fit:contain;width:100%;height:100%}.pet-option-card strong{color:#30456a;font-size:17px}.pet-picker-foot{color:#8d9cb4;text-align:center;background:#fff;border-top:1px solid #e3eaf5;padding:10px 12px;font-size:13px;font-weight:700}.score-modal{border-radius:24px;width:min(1460px,100vw - 24px);position:relative;overflow:hidden}.score-head{border-bottom-color:#e5ebf5;padding:14px 18px}.score-title-wrap{text-align:center;width:100%;padding-left:34px}.score-kicker{color:#9aa8be;margin:0 0 2px;font-size:14px;font-weight:800}.score-title-wrap h3{color:#2f3b4a;margin:0;font-size:28px;font-weight:900;line-height:1.08}.score-title-wrap h3 em{color:#3f66ff;font-style:normal}.score-head button{color:#8395b3;background:#f4f7fc;border:1px solid #d9e2f2;border-radius:999px;width:38px;height:38px;padding:0;font-size:18px;font-weight:700}.score-body{background:#fbfdff;gap:14px;max-height:calc(90vh - 150px);padding:14px 18px 10px;overflow:auto}.score-search{color:#7d8fb0;background:#fff;border:2px solid #5867ff;border-radius:20px;align-items:center;gap:8px;height:58px;padding:0 14px;display:inline-flex;box-shadow:0 8px 16px #5767ff1f}.score-search span{font-size:20px}.score-search input{color:#314a75;background:0 0;border:0;outline:0;flex:1;width:100%;font-size:18px;font-weight:700}.score-sections{gap:16px;display:grid}.score-section{background:#fff;border:1px solid #e6ebf4;border-radius:16px;gap:10px;padding:10px 0 6px;display:grid}.score-section header{border-bottom:1px solid #e9edf4;justify-content:space-between;align-items:center;padding:0 12px 6px;display:flex}.score-section h4{margin:0;font-size:24px}.score-section em{border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 10px;font-size:13px;font-style:normal;font-weight:800;display:inline-flex}.score-section.plus{background:linear-gradient(#f8fff9,#fff);border-color:#cdeedb}.score-section.plus h4{color:#14b56f}.score-section.plus em{color:#0a9f5f;background:#d8fbe7}.score-section.minus{background:linear-gradient(#fff8fa,#fff);border-color:#f3d0d8}.score-section.minus h4{color:#ef3d62}.score-section.minus em{color:#de2f55;background:#ffe3ea}.score-rule-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0 12px;display:grid}.score-rule{text-align:center;background:#fff;border:2px solid #0000;border-radius:18px;align-content:center;justify-items:center;gap:8px;min-height:160px;padding:10px;display:grid}.score-rule-icon{border-radius:22px;justify-content:center;align-items:center;width:74px;height:74px;font-size:42px;display:inline-flex}.score-rule strong{color:#2f476d;font-size:16px;line-height:1.1}.score-rule .score-rule-type{color:#6a7f9f;background:#edf3fb;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 10px;font-size:12px;font-style:normal;font-weight:800;display:inline-flex}.score-rule-desc{color:#7e90ab;min-height:32px;margin:0;font-size:12px;line-height:1.3}.score-rule small{border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.score-rule.plus{background:#f9fffb;border-color:#b9ebcf}.score-rule.plus .score-rule-icon{color:#13b575;background:#dff5e8}.score-rule.plus small{color:#0f9f65;background:#d9f7e6}.score-rule.plus .score-rule-type{color:#187b53;background:#e4f8ec}.score-rule.minus{background:#fffbfc;border-color:#f2c7d0}.score-rule.minus .score-rule-icon{color:#ef3f61;background:#f9e9ed}.score-rule.minus small{color:#e03459;background:#fbe5ea}.score-rule.minus .score-rule-type{color:#a14559;background:#f9e7ec}.score-add-card{background:#fff;border-style:dashed;border-width:2px}.score-add-circle{border-radius:22px;justify-content:center;align-items:center;width:74px;height:74px;font-size:48px;line-height:1;display:inline-flex}.score-add-card strong{font-size:15px}.score-add-card small{font-size:12px}.score-add-card.plus-add{background:linear-gradient(#f6fff9,#fff);border-color:#9ee0bb}.score-add-card.plus-add .score-add-circle{color:#10a463;background:#e3f8ec}.score-add-card.plus-add strong{color:#1c6f45}.score-add-card.plus-add small{color:#3f9367;background:#ddf4e6}.score-add-card.minus-add{background:linear-gradient(#fff8fa,#fff);border-color:#f0bcc8}.score-add-card.minus-add .score-add-circle{color:#db3256;background:#fae8ed}.score-add-card.minus-add strong{color:#964357}.score-add-card.minus-add small{color:#b45164;background:#f9e4e9}.score-empty{color:#7f91ac;background:#f9fbff;border:1px dashed #d8e2ef;border-radius:12px;margin:0;padding:18px;font-size:14px}.score-footnote{text-align:center;color:#93a1b9;margin:2px 0 8px;font-size:13px;font-weight:700}.score-editor-backdrop{z-index:4;background:linear-gradient(180deg, color-mix(in srgb, var(--theme-accent,#4f7cf4) 8%, #f6f9ff), #f7fbff);-webkit-backdrop-filter:none;backdrop-filter:none;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.score-editor-modal{background:#fff;border:1px solid #dfe7f3;border-radius:18px;width:min(720px,100%);max-height:calc(90vh - 40px);overflow:auto;box-shadow:0 22px 50px #1f2f5147}.score-editor-head{border-bottom:1px solid #e8eef8;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 12px;display:flex}.score-editor-head h4{color:#2e466d;margin:0;font-size:22px}.score-editor-head button{color:#6d81a1;background:#f5f8ff;border:1px solid #d4deee;border-radius:999px;width:34px;height:34px;padding:0;font-size:16px}.score-editor-body{gap:12px;padding:14px 16px;display:grid}.score-editor-row{gap:8px;display:grid}.score-editor-row>span{color:#5e7699;font-weight:700}.score-editor-row label{gap:6px;display:grid}.score-editor-row.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.score-editor-row input,.score-editor-row select,.score-editor-row textarea{color:#274061;background:#fff;border:1px solid #d6e1f1;border-radius:12px;min-height:44px;padding:10px 12px}.score-editor-row textarea{resize:vertical;min-height:84px}.score-mode-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.score-mode-toggle.single{grid-template-columns:1fr}.score-mode-toggle button{color:#4f678d;background:#f5f8fe;border:1px solid #d5e0f0;border-radius:12px;min-height:44px;font-weight:800}.score-mode-toggle button.plus.active{color:#1f8a57;background:#e9f9ef;border-color:#9fdfbc}.score-mode-toggle button.minus.active{color:#b5485d;background:#fff0f3;border-color:#efc3cd}.score-icon-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;display:grid}.score-icon-grid button{color:#3a5478;background:linear-gradient(#fff,#f7faff);border:1px solid #dbe5f3;border-radius:9px;justify-content:center;align-items:center;min-height:36px;padding:0;font-size:20px;transition:transform .14s,box-shadow .14s,border-color .14s,background .14s;display:inline-flex}.score-icon-grid button.active{transform:translateY(-1px)}.score-icon-grid.plus button{background:linear-gradient(#fdfffe,#f3fbf6);border-color:#cfe9db}.score-icon-grid.plus button.active{background:linear-gradient(#e9f9ef,#def5e8);border-color:#3ab77a;box-shadow:inset 0 0 0 2px #2da86b33}.score-icon-grid.minus button{background:linear-gradient(#fffdfd,#fff4f7);border-color:#efcfda}.score-icon-grid.minus button.active{background:linear-gradient(#ffeef3,#ffe1e9);border-color:#dc4f71;box-shadow:inset 0 0 0 2px #df486a2e}.score-editor-foot{background:#fff;border-top:1px solid #e8eef8;justify-content:flex-end;gap:8px;padding:12px 16px 14px;display:flex}.score-editor-foot button{color:#4f688d;background:#f6f9fe;border:1px solid #d7e2f0;border-radius:10px;min-height:38px;padding:0 14px;font-weight:700}.score-editor-foot button.primary{color:#fff;background:linear-gradient(130deg,#6186ff,#5462ef);border-color:#5f7eff}.input-wrap{gap:6px;display:grid}.input-wrap span{color:#607a9e;font-weight:700}.input-wrap input,.input-wrap select,.input-wrap textarea,.manage-row input,.manage-row select,.rule-edit-row input,.student-edit-row input,.student-edit-row select{color:#1f3964;background:#fff;border:1px solid #dbe4f1;border-radius:10px;padding:8px 10px}.store-modal{border-color:#e4e8ef;border-radius:32px;flex-direction:column;width:min(1240px,100%);max-height:min(90vh,940px);display:flex;overflow:hidden}.store-modal>.modal-body{flex:1;min-height:0;overflow:auto}.store-head{background:#fff;border-bottom:1px solid #e8edf3;padding:18px 24px}.store-head-title{align-items:center;gap:12px;display:inline-flex}.store-head-title span{color:#fff;background:linear-gradient(140deg,#5f67f4,#5d86ff);border-radius:18px;justify-content:center;align-items:center;width:62px;height:62px;font-size:34px;display:inline-flex;box-shadow:0 12px 24px #6076f642}.store-head-title h3{color:#1a2944;margin:0;font-size:22px}.store-head-title p{color:#9ca8bb;letter-spacing:1.6px;margin:3px 0 0;font-size:14px;font-weight:800}.store-head .store-close{color:#8998b1;background:#edf2f8;border:1px solid #d9e2ef;border-radius:999px;justify-content:center;align-items:center;width:54px;height:54px;padding:0;font-size:22px;font-weight:500;line-height:1;display:inline-flex}.store-tab-row{background:#fff;border-bottom:1px solid #e8edf3;gap:10px;padding:10px 24px 14px}.store-tab-row button{color:#7285a2;background:#f4f7fc;border:1px solid #dce5f1;border-radius:14px;height:48px;padding:0 18px;font-size:18px;font-weight:800}.store-tab-row button.active{color:#273c62;background:#fff;border-color:#ccd8ea;box-shadow:inset 0 -3px #c8d4e6}.diamond-wallet-body{background:radial-gradient(circle at 12% 16%,#71beff2e,#0000 42%),radial-gradient(circle at 88% 12%,#8480ff24,#0000 40%),linear-gradient(#f6f9ff,#eef3fc);gap:12px;padding:14px}.diamond-wallet-summary{color:#f2f7ff;background:radial-gradient(circle at 84% 12%,#ffffff57,#0000 42%),linear-gradient(130deg,#4f8ef2,#5d78f4 46%,#6a6eea);border:1px solid #d8e4f7;border-radius:20px;gap:3px;padding:14px 16px;display:grid;box-shadow:0 14px 26px #4f70db47}.diamond-wallet-summary span{letter-spacing:.06em;color:#f3f8ffe6;font-size:14px;font-weight:800}.diamond-wallet-summary strong{letter-spacing:.02em;font-size:36px;font-weight:900;line-height:1.04}.diamond-wallet-summary em{color:#e7f0ffeb;font-size:14px;font-style:normal;font-weight:700}.diamond-wallet-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.diamond-wallet-card{background:#fff;border:1px solid #dce7f6;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:94px;padding:12px;display:grid;box-shadow:0 8px 20px #7d94be2e}.diamond-wallet-card.tier-1{background:linear-gradient(160deg,#fffef6,#fff6dc);border-color:#ffd36f;box-shadow:0 12px 24px #ecb23840}.diamond-wallet-card.tier-2{background:linear-gradient(160deg,#fff,#f4f7fd);border-color:#ccd8ea}.diamond-wallet-card.tier-3{background:linear-gradient(160deg,#fffaf3,#fff2e7);border-color:#f3c28b}.diamond-wallet-rank{color:#fff;background:linear-gradient(150deg,#7d9ad1,#6c7fbb);border-radius:13px;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;font-weight:900;display:inline-flex}.diamond-wallet-rank.tier-1{background:linear-gradient(150deg,#ffc931,#ef9f00);box-shadow:0 8px 14px #e49c0d57}.diamond-wallet-rank.tier-2{background:linear-gradient(150deg,#95a4ba,#72849d);box-shadow:0 8px 14px #62708647}.diamond-wallet-rank.tier-3{background:linear-gradient(150deg,#f09e46,#dd7c16);box-shadow:0 8px 14px #d2731642}.diamond-wallet-main{gap:3px;min-width:0;display:grid}.diamond-wallet-main h4{color:#1e3a66;margin:0;font-size:21px;line-height:1.1}.diamond-wallet-main p{color:#6c82a7;margin:0;font-size:14px;font-weight:700}.diamond-wallet-metric{background:#f5f9ff;border:1px solid #d9e5f6;border-radius:12px;align-content:center;justify-items:center;min-width:86px;padding:8px 10px;display:grid}.diamond-wallet-metric strong{color:#2b4f84;font-size:28px;font-weight:900;line-height:1}.diamond-wallet-metric span{color:#6882aa;letter-spacing:.08em;font-size:12px;font-weight:800}.diamond-wallet-empty{color:#6f85a9;text-align:center;background:#f4f8ff;border:1px dashed #cfdbef;border-radius:16px;margin:0;padding:18px 12px;font-size:15px;font-weight:700}.store-items-body{background:#f8fafd;padding:12px 12px 14px}.store-items-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.store-left-rail{justify-content:center;display:flex}.pk-battle-btn{color:#fff;isolation:isolate;background:linear-gradient(160deg,#090f3a 0%,#12236d 52%,#1a2f88 100%);border:1px solid #1f2a67;border-radius:22px;align-content:center;justify-items:center;gap:10px;width:166px;min-height:260px;padding:14px 12px;display:grid;position:sticky;top:4px;overflow:hidden;box-shadow:0 16px 30px #0916525c,inset 0 0 0 1px #ffffff14}.pk-battle-btn:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(110deg,#0000 30%,#ffffff94 50%,#0000 70%);animation:2.6s linear infinite pk-light-sweep;position:absolute;inset:-45%;transform:translate(-120%)rotate(15deg)}.pk-battle-btn:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 12%,#ffffff47,#0000 52%);position:absolute;inset:0}.pk-battle-btn .pk-text,.pk-battle-btn .pk-label,.pk-battle-btn small{z-index:1;position:relative}.pk-battle-btn .pk-text{letter-spacing:.12em;background:linear-gradient(#ffd94d 0%,#ff8c17 48%,#ff2f55 100%);color:#0000;text-shadow:0 8px 20px #110e388c;filter:drop-shadow(0 5px 10px #010522a6);-webkit-background-clip:text;background-clip:text;font-size:64px;font-weight:900;line-height:1}.pk-battle-btn .pk-label{color:#e8eeff;letter-spacing:.08em;text-shadow:0 6px 14px #08124985;font-size:36px;font-weight:900;line-height:1.04}.pk-battle-btn small{color:#b8ccff;letter-spacing:.08em;font-size:14px;font-weight:800}@keyframes pk-light-sweep{0%{transform:translate(-125%)rotate(15deg)}to{transform:translate(125%)rotate(15deg)}}.pk-lobby-modal{background:#fff;border:1px solid #d7e1f2;border-radius:26px;grid-template-rows:auto 1fr;width:min(1320px,100%);max-height:min(92vh,980px);display:grid;overflow:hidden}.pk-lobby-head{background:linear-gradient(#f9fbff,#fff);border-bottom:1px solid #e7edf7;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 14px;display:flex}.pk-lobby-head h3{color:#223b61;margin:0;font-size:32px}.pk-lobby-head p{color:#6e84a7;margin:6px 0 0;font-size:15px;font-weight:700}.pk-lobby-head button{color:#647ea4;background:#f3f7ff;border:1px solid #d4e0f2;border-radius:999px;width:44px;height:44px;padding:0;font-size:22px;font-weight:700}.pk-lobby-body{background:#edf1f8;gap:12px;padding:12px;display:grid;overflow:auto}.pk-lobby-hero{color:#fff;background:radial-gradient(circle at 88% 22%,#ffffff5c,#0000 38%),linear-gradient(125deg,#5d77f5,#4f9af4 54%,#59c4d8);border:1px solid #d9e2f4;border-radius:18px;gap:10px;padding:14px 14px 12px;display:grid}.pk-lobby-hero-main p{color:#ebf5ffe6;margin:0;font-size:14px;font-weight:700}.pk-lobby-hero-main strong{letter-spacing:.04em;margin-top:4px;font-size:30px;display:block}.pk-lobby-stat-row{flex-wrap:wrap;gap:8px;display:flex}.pk-lobby-stat-row span{color:#f5f9ff;background:#ffffff29;border:1px solid #ffffff47;border-radius:13px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:inline-flex}.pk-lobby-stat-row span em{opacity:.92;font-size:14px;font-style:normal;font-weight:700}.pk-lobby-stat-row span strong{font-size:20px;font-weight:900}.pk-mode-tabs{background:#fff;border:1px solid #d8e2f1;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;display:grid}.pk-mode-tabs button{color:#406086;letter-spacing:.02em;background:#f6f9ff;border:1px solid #d5dff0;border-radius:12px;min-height:48px;font-size:16px;font-weight:900}.pk-mode-tabs button.active{color:#fff;background:linear-gradient(130deg,#617dff,#5068ef);border-color:#5574ff;box-shadow:0 10px 18px #536fed42}.pk-mode-entry{background:linear-gradient(#fff,#f6fbff);border:1px solid #d5e1f4;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:min(1120px,100%);margin:0 auto;padding:14px;display:grid}.pk-mode-entry-btn{color:#29476f;text-align:center;background:#f6f9ff;border:1px solid #d2def3;border-radius:20px;align-content:center;justify-items:center;gap:10px;min-height:176px;padding:16px 14px;transition:transform .22s,box-shadow .22s;display:grid;box-shadow:0 16px 30px #4163a624}.pk-mode-entry-btn span{font-size:44px}.pk-mode-entry-btn strong{font-size:32px;line-height:1.1}.pk-mode-entry-btn small{color:#5a7599;font-size:18px;font-weight:700}.pk-mode-entry-btn:hover{transform:translateY(-3px);box-shadow:0 22px 36px #3a5da033}.pk-mode-entry-btn.teacher{background:linear-gradient(145deg,#fff9ec,#ffe9be);border-color:#f0d0a3}.pk-mode-entry-btn.duel{background:linear-gradient(145deg,#eff5ff,#dce9ff);border-color:#cfe0ff}.pk-wizard-head{background:linear-gradient(#fff,#f7fbff);border:1px solid #d4e0f3;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;width:min(1120px,100%);margin:0 auto;padding:14px 16px;display:flex;box-shadow:0 10px 24px #405f9c1f}.pk-wizard-title strong{color:#2b4f7a;font-size:32px}.pk-wizard-title p{color:#6986ad;margin:4px 0 0;font-size:18px;font-weight:700}.pk-wizard-actions{gap:10px;display:flex}.pk-wizard-actions button{color:#4f6f98;background:#f5f9ff;border:1px solid #d4dfef;border-radius:12px;min-height:46px;padding:0 18px;font-size:16px;font-weight:800}.pk-lobby-setup{background:#fff;border:1px solid #d3e0f3;border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:min(1040px,100%);margin:0 auto;padding:14px;display:grid;box-shadow:0 12px 24px #3959961a}.pk-lobby-setup .input-wrap{gap:8px}.pk-lobby-setup .input-wrap span{color:#43608a;font-size:20px;font-weight:800}.pk-lobby-setup .input-wrap input,.pk-lobby-setup .input-wrap select{text-align:center;background:#f8fbff;border:1px solid #cddbef;border-radius:14px;min-height:58px;font-size:22px;font-weight:800}.pk-lobby-setup-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.pk-lobby-setup-games{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.pk-mode-panel{background:linear-gradient(#fbfdff,#fff);border:1px solid #cfdef4;border-radius:22px;justify-items:center;gap:16px;width:min(1120px,100%);margin:0 auto;padding:20px 18px 24px;display:grid;position:relative;overflow:visible;box-shadow:0 16px 34px #34538f1f}.pk-mode-panel:before{content:"";pointer-events:none;background:radial-gradient(circle,#75aaff3d,#75aaff00);border-radius:999px;width:420px;height:420px;position:absolute;top:-210px;right:-150px}.pk-mode-panel>*{z-index:1;width:min(980px,100%);position:relative}.pk-selected-game-row{text-align:center;background:linear-gradient(#f8fbff,#f1f7ff);border:1px solid #cfdef4;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:108px;padding:14px 18px;display:flex;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #4b69a61f}.pk-selected-game-row strong{color:#2f507a;font-size:34px;line-height:1.08}.pk-selected-game-row span{color:#4e6c93;font-size:24px;font-weight:700;line-height:1.2}.pk-amount-row{grid-template-columns:minmax(280px,360px) auto minmax(280px,1fr);align-items:end;gap:14px;display:grid}.pk-amount-row-teacher-step{grid-template-columns:minmax(320px,560px) minmax(220px,320px) minmax(180px,1fr);justify-content:center}.pk-amount-row-teacher-step p{text-align:left;white-space:nowrap;grid-column:auto}.pk-amount-row-duel{grid-template-columns:repeat(2,minmax(240px,330px)) auto minmax(260px,1fr)}.pk-draw-controls{grid-template-columns:minmax(280px,460px) minmax(180px,250px) minmax(220px,320px);justify-content:center}.pk-draw-controls p{text-align:center;grid-column:1/-1}.pk-draw-round-list{background:radial-gradient(circle at 18% 16%,#ffffffe0,#0000 40%),linear-gradient(135deg,#f2f8ff,#e5f1ff 52%,#f4f9ff);border:1px solid #c6daff;border-radius:18px;gap:8px;width:min(960px,100%);margin:10px auto 0;padding:14px 18px;display:grid;box-shadow:inset 0 1px #ffffffbf,0 12px 20px #446eb624}.pk-draw-round-list p{text-align:center;color:#2c5c97;letter-spacing:.2px;margin:0;font-size:22px;font-weight:900}.pk-amount-row .input-wrap span{color:#46648c;margin-bottom:6px;font-size:20px;font-weight:800}.pk-amount-row .input-wrap input,.pk-amount-row .input-wrap select{color:#244a7a;text-align:center;background:#f8fbff;border:1px solid #cbdaf0;border-radius:16px;min-height:66px;font-size:26px;font-weight:900}.pk-publish-btn{color:#fff;z-index:2;background:linear-gradient(135deg,#f7b737,#e89425);border:1px solid #d59f42;border-radius:16px;align-self:end;min-height:66px;padding:0 24px;font-size:24px;font-weight:900;position:relative;box-shadow:0 14px 24px #e490224d}.pk-publish-btn:disabled{color:#8ca0bb;box-shadow:none;background:#d6dde7;border-color:#d2d9e4}.pk-amount-row p{color:#6582ac;align-self:end;margin:0;padding-bottom:8px;font-size:20px;font-weight:700;line-height:1.15}.pk-draw-row{background:radial-gradient(circle at 84% 22%,#fffc,#0000 46%),linear-gradient(135deg,#eaf4ff,#d7ebff 48%,#e5f3ff);border-color:#9fc7ff;animation:2.4s ease-in-out infinite pk-draw-pulse;box-shadow:0 14px 28px #4b7dd33d}.pk-draw-row strong{color:#24548d;font-size:36px}.pk-draw-row span{color:#2f5f99;font-size:26px;font-weight:900}.pk-draw-controls .pk-publish-btn{animation:2.2s ease-in-out infinite pk-draw-btn-glow}.pk-next-step-btn{background:linear-gradient(130deg,#6289ff,#5070f3);border-color:#5f7efb;box-shadow:0 14px 24px #536fed52}@keyframes pk-draw-pulse{0%,to{transform:scale(1);box-shadow:0 14px 28px #4b7dd33d}50%{transform:scale(1.01);box-shadow:0 18px 36px #4880e252}}@keyframes pk-draw-btn-glow{0%,to{box-shadow:0 14px 24px #e490224d}50%{box-shadow:0 18px 30px #536fed5c}}.pk-game-board{background:linear-gradient(#f3f8ff,#edf3fc);border:1px solid #d6e1f3;border-radius:22px;width:min(1120px,100%);margin:0 auto;padding:16px;box-shadow:0 14px 28px #37558e24}.pk-game-board-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.pk-game-board-head h4{color:#243f66;margin:0;font-size:34px}.pk-game-board-head span{color:#6f84a4;font-size:17px;font-weight:700}.pk-game-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.pk-game-card{background:#fff;border:1px solid #dfe7f3;border-radius:20px;gap:10px;min-height:220px;padding:12px 12px 10px;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 20px #293f621f}.pk-game-card:before{content:"";background:linear-gradient(#f0ab2d,#e18a14);border-radius:999px;width:4px;position:absolute;top:10px;bottom:10px;left:0}.pk-game-card.selected{border-color:#6b82f6;box-shadow:0 16px 30px #5371e93d}.pk-game-card.selected:before{background:linear-gradient(#5f7efb,#4f68f1)}.pk-game-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px #293f622e}.pk-game-tags{flex-wrap:wrap;gap:6px;display:flex}.pk-game-tags .tag{color:#9a6a22;background:#fff7e8;border:1px solid #ede3cb;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:16px;font-weight:800;display:inline-flex}.pk-game-tags .tag.english{color:#2d7b68;background:#e9faf6;border-color:#c4e9e1}.pk-game-tags .tag.mixed{color:#2e6f84;background:#e8f8fe;border-color:#cfe8f0}.pk-game-tags .tag.game-mode{color:#9a6524;background:#fff8ef;border-color:#f3e2ce}.pk-game-card h5{color:#162e53;margin:0;font-size:34px;line-height:1.1}.pk-game-card p{color:#4a648d;margin:0;font-size:18px;font-weight:700;line-height:1.4}.pk-game-card strong{color:#3f5f86;margin-top:2px;font-size:17px}.pk-game-card footer{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.pk-game-card footer span{font-size:32px;line-height:1}.pk-game-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pk-game-card-actions button{border-radius:12px;min-height:40px;padding:0 12px;font-size:15px;font-weight:900}.pk-game-pick-btn{color:#46689a;background:#eef4ff;border:1px solid #cfdaf0}.pk-game-pick-btn.active{color:#fff;background:linear-gradient(130deg,#5e7cf9,#4f66ee);border-color:#607af3;box-shadow:0 8px 16px #536fed3d}.pk-game-enter-btn{color:#fff;background:linear-gradient(135deg,#f8bc40,#e89b2d);border:1px solid #d59f42;box-shadow:0 8px 16px #e99e3142}.pk-battle-board{background:linear-gradient(#fff,#f7fbff);border:1px solid #d6e1f3;border-radius:22px;width:min(1120px,100%);margin:0 auto;padding:14px;box-shadow:0 12px 26px #3959961f}.pk-battle-list{gap:10px;display:grid}.pk-battle-card{background:#f8fbff;border:1px solid #dbe5f4;border-radius:16px;gap:8px;padding:10px 12px;display:grid}.pk-battle-card.status-in_progress{background:#fff6e8;border-color:#f3d49f}.pk-battle-card.status-finished{background:#effcf4;border-color:#cde9d9}.pk-battle-main{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.pk-battle-title strong{color:#203f67;font-size:19px;line-height:1.1}.pk-battle-title p{color:#617da2;margin:3px 0 0;font-size:13px;font-weight:700}.pk-battle-status{color:#456186;white-space:nowrap;background:#eff4fd;border:1px solid #d2deef;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.pk-battle-status.pending_accept{color:#9a6a1f;background:#fff2df;border-color:#f3d3a2}.pk-battle-status.ready{color:#2d6f84;background:#e9f7ff;border-color:#cfe6f6}.pk-battle-status.in_progress{color:#925818;background:#ffe8c8;border-color:#f0bf84}.pk-battle-status.finished{color:#2e7752;background:#e7f7ee;border-color:#b8dfc8}.pk-battle-status.rejected,.pk-battle-status.cancelled{color:#a45567;background:#fff1f4;border-color:#e7d2d9}.pk-battle-meta{flex-wrap:wrap;gap:7px;display:flex}.pk-battle-meta span{color:#58769d;background:#fff;border:1px solid #d7e2f1;border-radius:9px;align-items:center;min-height:28px;padding:0 9px;font-size:13px;font-weight:700;display:inline-flex}.pk-battle-note{color:#4e678e;margin:0;font-size:14px;font-weight:700}.pk-battle-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pk-action-btn{color:#4a648b;background:#f3f7fe;border:1px solid #d2dceb;border-radius:11px;min-height:36px;padding:0 12px;font-size:13px;font-weight:900}.pk-action-btn.primary{color:#fff;background:linear-gradient(130deg,#6184ff,#5467ef);border-color:#5778f5}.pk-action-btn.danger{color:#cf4d63;background:#ffedf0;border-color:#f1b0b9}.pk-action-btn.ghost{color:#607ca2;background:#fff;border-color:#d6dfed}.pk-action-btn.win-a{color:#2472cb;background:#eaf5ff;border-color:#63a9ff}.pk-action-btn.win-b{color:#2a8d58;background:#ecfbf2;border-color:#7ec09f}.pk-action-btn.draw{color:#9150ad;background:#f8eefc;border-color:#d9b2e8}.pk-battle-finished{color:#6d84a5;font-size:12px;font-weight:700}.pk-game-empty{color:#6f83a4;background:#f7fbff;border:1px dashed #cbd7e9;border-radius:14px;place-items:center;min-height:112px;margin:0;font-weight:700;display:grid}.store-items-main{gap:8px;min-width:0;display:grid}.store-target-panel{gap:8px;display:grid}.store-target-tools{grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:8px;display:grid}.store-target{gap:8px}.store-target span{color:#41597f;font-size:18px;font-weight:800}.store-target select{border-color:#d5deec;border-radius:14px;min-height:48px}.store-target-hint{color:#7a8ca8;margin:0;font-size:13px;font-weight:700}.magic-shelf-board{background:#dce2ea;border:1px solid #d8dee8;border-radius:18px;max-height:58vh;padding:12px;overflow:auto}.magic-shelf-grid{grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:12px;display:grid}.magic-card{--store-accent:#8b95f6;--store-soft:#8b95f638;background:#fff;border:1px solid #e4e8f2;border-radius:26px;align-content:start;display:grid;overflow:hidden;box-shadow:0 10px 24px #2e3e5d1f}.magic-card-top{background:var(--store-soft);place-items:center;min-height:130px;display:grid;position:relative}.magic-card-cost{color:#fff;background:#f2bc0c;border-radius:999px;justify-content:center;align-items:center;min-width:74px;min-height:34px;padding:0 10px;font-size:18px;font-weight:800;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 10px 16px #f2bc0c52}.magic-card-icon{width:92px;height:92px;color:var(--store-accent);background:#ffffffa6;border-radius:999px;justify-content:center;align-items:center;font-size:52px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffffd1}.magic-card-body{text-align:center;gap:8px;padding:12px 12px 14px;display:grid}.magic-card-body h4{color:#2a3f63;margin:0;font-size:18px;line-height:1}.magic-card-body p{color:#7489a8;margin:0;font-size:15px;font-weight:700}.magic-card-meta{justify-content:space-between;gap:6px;display:flex}.magic-card-meta span{color:#6d809f;background:#f7f9fd;border:1px solid #e5ebf4;border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:34px;padding:0 8px;font-size:14px;font-weight:800;display:inline-flex}.magic-card-action{margin-top:2px}.redeem-btn{background:var(--store-accent);color:#fff;border:0;border-radius:16px;width:100%;height:50px;font-size:18px;font-weight:900;box-shadow:0 12px 20px #2b3c5b26}.redeem-btn:disabled{color:#8b9bb3;background:#d2d9e4}.log-list,.ranking-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.log-list li,.ranking-list li{background:#fff;border:1px solid #e8edf5;border-radius:10px;padding:8px}.log-list span{color:#7f91aa;font-size:12px}.log-list p,.ranking-list p{margin:4px 0 0}.log-empty{color:#7b8da9;background:#fff;border:1px dashed #d7e2f1;border-radius:12px;place-items:center;min-height:110px;margin:0;font-weight:700;display:grid}.growth-modal{border-radius:22px;width:min(760px,100%);overflow:hidden}.growth-head{border-bottom-color:#e6ebf4;padding:14px 18px}.growth-title{align-items:center;gap:12px;display:inline-flex}.growth-title-icon{color:#20a26b;background:#ddf6eb;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:inline-flex}.growth-title h3{color:#25446b;margin:0;font-size:26px}.growth-title p{color:#7f91ad;margin:2px 0 0;font-size:13px;font-weight:700}.growth-toolbar{background:#f9fbff;border-bottom:1px solid #edf1f8;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px;display:grid}.growth-toolbar-btn{color:#435f91;background:#edf2ff;border:1px solid #d2ddf1;border-radius:12px;min-height:44px;font-size:20px;font-weight:900}.growth-toolbar-btn.export{color:#5663f4;background:#edf1ff;border-color:#d7dcf5}.growth-toolbar-btn.danger{color:#dd4f66;background:#fff3f5;border-color:#f2d2d8}.growth-pager{background:#fff;border-bottom:1px solid #edf1f8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.growth-pager p{color:#7288a9;margin:0;font-size:14px;font-weight:700}.growth-pager-actions{align-items:center;gap:8px;display:inline-flex}.growth-pager-actions button{color:#5f769b;background:#f6f9ff;border:1px solid #d8e2f1;border-radius:999px;width:34px;height:34px;padding:0;font-size:20px;font-weight:800}.growth-pager-actions strong{color:#2d466e;font-size:16px}.growth-body{background:#fbfdff;gap:14px;max-height:min(62vh,560px);padding:14px 16px 18px;display:grid;overflow:auto}.growth-empty{color:#7d90ad;background:#f7fbff;border:1px dashed #d5e0f1;border-radius:14px;place-items:center;min-height:120px;margin:0;font-size:16px;font-weight:700;display:grid}.growth-day-section{gap:8px;display:grid}.growth-day-label{color:#6d84a6;background:#f2f6fd;border:1px solid #e3eaf5;border-radius:999px;align-items:center;min-height:30px;margin:0 auto;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.growth-log-list{background:#fff;border:1px solid #dee7f3;border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.growth-log-list li{border-bottom:1px solid #edf2f8;grid-template-columns:60px 40px minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;display:grid}.growth-log-list li:last-child{border-bottom:0}.growth-log-time{color:#90a1b9;font-size:13px;font-weight:700}.growth-log-icon{border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:inline-flex}.growth-log-icon.neutral{background:#e9eef8}.growth-log-icon.good{background:#ddf6eb}.growth-log-icon.warn{background:#ffe6ea}.growth-log-main p{color:#2e466d;margin:0;font-size:18px;font-weight:700;line-height:1.2}.growth-log-main small{color:#8397b4;font-size:12px;font-weight:700}.student-record-modal{border-radius:22px;width:min(680px,100%);overflow:hidden}.student-record-head{border-bottom-color:#e5edf8;padding:14px 18px}.student-record-head h3{color:#26456c;margin:0;font-size:28px}.student-record-head p{color:#7f92ae;margin:4px 0 0;font-size:14px;font-weight:700}.student-record-body{background:#f8fbff;gap:12px;padding:14px 16px 18px;display:grid}.student-record-tip{color:#5e7394;background:#fff;border:1px solid #dde7f5;border-radius:12px;margin:0;padding:10px 12px;font-size:16px;font-weight:700}.student-record-list{background:#fff;border:1px solid #dce6f3;border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.student-record-list li{border-bottom:1px solid #ebf1f9;grid-template-columns:132px minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;display:grid}.student-record-list li:last-child{border-bottom:0}.student-record-time{color:#8a9db8;font-size:13px;font-weight:700}.student-record-main{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.student-record-main p{color:#2f476d;min-width:0;margin:0;font-size:18px;font-weight:700}.student-record-main>strong{text-align:right;flex-shrink:0;min-width:88px;font-size:18px;font-weight:900}.student-record-main>strong.plus{color:#1e9a58}.student-record-main>strong.minus{color:#d54a63}.coin-record-main{align-items:flex-start}.coin-record-content{gap:8px;min-width:0;display:grid}.coin-record-item.achievement{background:linear-gradient(#fffef9,#fffcf2)}.coin-achievement-card{background:linear-gradient(145deg,#fffdf6,#fff7df);border:1px solid #f1dfab;border-radius:12px;align-items:center;gap:10px;max-width:100%;padding:8px 10px 8px 9px;display:inline-flex;position:relative}.coin-achievement-crown{filter:drop-shadow(0 3px 5px #e69c2452);font-size:15px;position:absolute;top:-11px;left:34px}.coin-achievement-avatar{background:radial-gradient(circle at 32% 25%,#fff8d9,#ffe7a6);border:1px solid #f0d993;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;overflow:hidden}.coin-achievement-avatar img{object-fit:cover;width:100%;height:100%}.coin-achievement-avatar i{font-size:24px;font-style:normal}.coin-achievement-meta{gap:2px;min-width:0;display:grid}.coin-achievement-title{color:#6d5005;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:900;overflow:hidden}.coin-achievement-meta small{color:#9b7a2a;font-size:12px;font-weight:700}.student-record-empty{color:#7b8da9;background:#fff;border:1px dashed #d7e2f1;border-radius:12px;place-items:center;min-height:96px;margin:0;font-weight:700;display:grid}.manage-actions{flex-wrap:wrap;gap:8px;display:flex}.manage-actions button{color:#d03f54;background:#fff0f3;border:1px solid #f2c6cd;height:34px;padding:0 12px;font-weight:700}.store-manage-body{background:#fafbf9;border-radius:16px;flex-direction:column;gap:12px;min-height:0;padding:12px;display:flex}.store-manage-headline{background:#fff;border:1px solid #e8ece6;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.store-manage-title{align-items:center;gap:10px;display:flex}.store-manage-title span{color:#fff;background:linear-gradient(140deg,#ff991f,#fd7b00);border-radius:18px;justify-content:center;align-items:center;width:58px;height:58px;font-size:32px;display:inline-flex;box-shadow:0 8px 16px #ff8d1447}.store-manage-title h4{color:#1f2f4e;margin:0;font-size:22px;line-height:1}.store-manage-title p{color:#a4abb9;letter-spacing:1.6px;margin:4px 0 0;font-size:14px;font-weight:800}.store-manage-tools{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.store-manage-tools button{color:#cc6d09;background:#fff4e5;border:1px solid #ffd8aa;border-radius:14px;height:48px;padding:0 16px;font-size:18px;font-weight:800}.store-manage-tools button.secondary{color:#35588b;background:#edf4ff;border-color:#d2deef}.shelf-board{background:#e9e9e8;border:1px solid #e1e2df;border-radius:16px;flex:1;min-height:0;max-height:none;padding:12px;overflow:auto}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding-bottom:12px;padding-right:2px;display:grid}.shelf-card{--store-accent:#8b95f6;--store-soft:#8b95f62e;background:linear-gradient(#fff,#ffffffdb);border:2px dashed #7586ab57;border-radius:30px;align-content:start;gap:10px;min-height:306px;padding:12px 12px 10px;display:grid;position:relative}.shelf-card.editing{border-style:solid;border-color:var(--store-accent);box-shadow:0 10px 24px #364f7a26}.shelf-rank-badge{color:#fff;background:#f2bc0c;border-radius:999px;justify-content:center;align-items:center;min-width:70px;min-height:34px;padding:0 10px;font-size:16px;font-weight:800;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 8px 16px #f2bc0c4d}.shelf-icon-wrap{place-items:center;min-height:126px;display:grid}.shelf-icon{background:var(--store-soft);width:92px;height:92px;color:var(--store-accent);border-radius:999px;justify-content:center;align-items:center;font-size:52px;line-height:1;display:inline-flex}.shelf-card h5{text-align:center;color:#2f4569;margin:0;font-size:18px;line-height:1}.shelf-stock-row{background:#f8fafd;border:1px solid #dfe7f2;border-radius:14px;gap:6px;padding:6px;display:grid}.shelf-stock-row span{color:#7083a0;font-size:13px;font-weight:700}.stock-stepper{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:4px;display:grid}.stock-stepper button{color:#7a8aa4;background:#fff;border:1px solid #dbe3ef;border-radius:10px;height:36px;font-size:22px;font-weight:500}.stock-stepper input{color:#334a70;text-align:center;background:#fff;border:1px solid #dbe3ef;border-radius:10px;min-width:0;height:36px;font-size:20px;font-weight:800}.shelf-actions{grid-template-columns:1fr auto;gap:6px;display:grid}.shelf-actions button{color:#3a567f;background:#f7f9fc;border:1px solid #d7e0ee;border-radius:14px;height:44px;padding:0 12px;font-size:18px;font-weight:700}.shelf-actions button.danger{color:#94a3ba;background:#f7f9fc;border-color:#d7e0ee}.shelf-edit-grid{border-top:1px dashed #d7dfed;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;padding-top:10px;display:grid}.shelf-edit-grid label{gap:4px;display:grid}.shelf-edit-grid span{color:#70839f;font-size:12px;font-weight:700}.shelf-edit-grid input{color:#203b63;background:#fff;border:1px solid #dce4f1;border-radius:12px;min-height:38px;padding:6px 8px}.shelf-add-card{color:#9eafc7;text-align:center;background:#f4f6f9;border:6px dashed #c4d0df;border-radius:30px;align-content:center;place-items:center;gap:8px;min-height:306px;display:grid}.shelf-add-card span{color:#b4bdcc;background:#eef2f7;border-radius:999px;justify-content:center;align-items:center;width:92px;height:92px;font-size:58px;line-height:1;display:inline-flex}.shelf-add-card strong{color:#8798b3;font-size:26px}.store-editor-backdrop{z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1b26406b;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.store-editor-modal{background:linear-gradient(#fbfcff,#fff);border:1px solid #e4e8f1;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(86vh,900px);display:grid;overflow:hidden;box-shadow:0 24px 56px #1b2a4a54}.store-editor-head{border-bottom:1px solid #e9edf5;justify-content:space-between;align-items:center;gap:10px;padding:18px 22px;display:flex}.store-editor-head h4{color:#293d61;margin:0;font-size:24px}.store-editor-head button{color:#7b8eac;background:#f1f5fb;border:1px solid #dbe3f0;border-radius:999px;width:40px;height:40px;padding:0;font-size:16px;line-height:1}.store-editor-body{gap:14px;padding:18px 22px 16px;display:grid;overflow:auto}.store-editor-row{background:#fff;border:1px solid #e6ecf5;border-radius:16px;gap:10px;padding:14px;display:grid}.store-editor-row span{color:#637a9e;font-size:14px;font-weight:800}.store-editor-row label{gap:8px;display:grid}.store-editor-row.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.store-editor-row input,.store-editor-row textarea{color:#274069;background:#f8fbff;border:1px solid #d9e2f0;border-radius:12px;min-height:44px;padding:10px 12px}.store-editor-row textarea{resize:vertical;min-height:88px}.store-color-row{flex-wrap:wrap;gap:10px;display:flex}.color-dot{border:2px solid #ffffffe6;border-radius:999px;width:34px;height:34px;padding:0;box-shadow:0 2px 10px #2d3c5f33}.color-dot.active{transform:translateY(-1px)scale(1.06);box-shadow:0 0 0 3px #3b538033,0 8px 16px #2d3c5f33}.icon-category-row{flex-wrap:wrap;gap:8px;display:flex}.icon-category{color:#50688d;white-space:nowrap;background:#f7f9fd;border:1px solid #dbe4f0;border-radius:12px;min-height:38px;padding:0 12px;font-size:14px;font-weight:700}.icon-category.active{color:#2f46b6;background:#eef0ff;border-color:#7d8df3}.icon-grid{background:#f9fbff;border:1px solid #e3e9f3;border-radius:14px;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:8px;padding:10px;display:grid}.icon-cell{color:#2f496f;background:#fff;border:1px solid #dde5f2;border-radius:12px;height:50px;padding:0;font-size:24px;line-height:1}.icon-cell.active{background:#eef0ff;border-color:#7d8df3;box-shadow:0 8px 16px #4858bc33}.store-editor-foot{background:#fff;border-top:1px solid #e9edf5;justify-content:flex-end;gap:10px;padding:14px 22px 18px;display:flex}.store-editor-foot button{color:#5f7394;background:#f5f8fc;border:1px solid #d9e2ef;border-radius:12px;height:44px;padding:0 16px;font-weight:800}.store-editor-foot button.primary{color:#fff;background:linear-gradient(128deg,#6878ff,#8f63f5);border-color:#8f7bff;box-shadow:0 10px 22px #6976ff52}.manage-list,.settings-list{gap:8px;display:grid}.manage-row{grid-template-columns:1.2fr repeat(5,.8fr) auto;gap:6px;display:grid}.manage-row button{color:#d65266;background:#fff6f7;border:1px solid #e9c8ce;height:34px;padding:0 10px;font-weight:700}.honor-modal{background:#f4f8fd;border:1px solid #d4ebea;border-radius:28px;width:min(860px,100%);overflow:hidden}.honor-head{background:linear-gradient(135deg, var(--theme-gradient-start,#34c8bb), var(--theme-gradient-end,#17b970));justify-content:space-between;align-items:center;gap:12px;padding:24px 28px;display:flex}.honor-head-title{align-items:center;gap:14px;display:inline-flex}.honor-head-icon{color:#fff;background:#fff3;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;font-size:32px;display:inline-flex}.honor-head-title h3{color:#fff;margin:0;font-size:44px;line-height:1.1}.honor-head-title p{color:#ffffffe6;margin:4px 0 0;font-size:30px;font-weight:700}.honor-close{color:#fff;background:#ffffff1f;border:1px solid #ffffff6b;border-radius:999px;width:44px;height:44px;padding:0;font-size:24px;line-height:1}.honor-body{gap:16px;padding:16px 18px 0;display:grid}.honor-tabs{background:#edf2f9;border:1px solid #d8e2f0;border-radius:999px;gap:4px;width:fit-content;padding:4px;display:inline-flex}.honor-tabs button{color:#5f7697;background:0 0;border:0;border-radius:999px;min-width:110px;min-height:44px;padding:0 16px;font-size:28px;font-weight:900}.honor-tabs button.active{color:#4f4fdc;background:#fff;box-shadow:0 5px 14px #44629224}.honor-list-wrap{gap:10px;max-height:min(62vh,640px);padding:2px 2px 12px;display:grid;overflow:auto}.honor-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.honor-item{background:#fff;border:2px solid #dbe4f0;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:108px;padding:14px 16px;display:grid}.honor-item.tier-1{background:linear-gradient(#fffdf3,#fefced);border-color:#f2cf45;box-shadow:0 8px 22px #f2c44b38}.honor-item.tier-2{background:linear-gradient(#f7f9fc,#f4f7fb);border-color:#cfd8e5}.honor-item.tier-3{background:linear-gradient(#fff8ef,#fff5e8);border-color:#f0b368}.honor-item.tier-default{background:#fff;border-color:#e4ebf3}.honor-rank-badge{color:#fff;background:#adb9cd;border-radius:16px;justify-content:center;align-items:center;width:62px;height:62px;font-size:28px;font-weight:900;display:inline-flex}.honor-rank-badge.tier-1{background:linear-gradient(160deg,#ffc31f,#eb9d00);box-shadow:0 8px 16px #e7a41859}.honor-rank-badge.tier-2{background:linear-gradient(160deg,#96a2b8,#6f7e96);box-shadow:0 8px 16px #606d8247}.honor-rank-badge.tier-3{background:linear-gradient(160deg,#f49b1d,#df7900);box-shadow:0 8px 16px #d6750a47}.honor-rank-badge.tier-default{color:#8394ae;width:48px;height:48px;box-shadow:none;background:#eef2f7;border-radius:999px;font-size:30px}.honor-main{gap:2px;min-width:0;display:grid}.honor-main strong{color:#22324a;font-size:42px;line-height:1.1}.honor-main p{color:#7185a4;margin:0;font-size:28px;font-weight:700;line-height:1.3}.honor-metrics{grid-template-columns:1fr;justify-items:end;gap:8px;min-width:120px;display:grid}.honor-metrics div{justify-items:end;gap:2px;display:grid}.honor-metrics strong{color:#2f425f;font-size:40px;line-height:1.1}.honor-metrics span{color:#8396b3;font-size:25px;font-weight:700}.honor-item.tier-1 .honor-metrics strong{color:#ab7010}.honor-item.tier-3 .honor-metrics strong{color:#cb4c12}.honor-empty{color:#7f92ad;background:#f7fafe;border:1px dashed #d4deeb;border-radius:14px;place-items:center;min-height:180px;margin:0;font-size:30px;font-weight:700;display:grid}.honor-footnote{color:#8fa1bb;text-align:center;border-top:1px solid #e6edf7;margin:0;padding:14px 12px 18px;font-size:29px;font-weight:700}.settings-modal{border-radius:22px;width:min(980px,100%);overflow:hidden}.cloud-auth-modal-v2{background:#f5f8fd;border:1px solid #d5e0f0;border-radius:26px;width:min(1080px,96vw);overflow:hidden}.cloud-auth-gate{box-shadow:0 26px 56px #102c5c33}.auth-gate-screen{background:radial-gradient(circle at 10% 15%,#7984ff33,#0000 34%),radial-gradient(circle at 84% 6%,#4ec9b02b,#0000 30%),linear-gradient(#eef4ff 0%,#edf8f6 48%,#f3f7ff 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-gate-loading-card{text-align:center;background:#fff;border:1px solid #d8e2f2;border-radius:20px;gap:8px;width:min(560px,96vw);padding:30px 24px;display:grid;box-shadow:0 18px 44px #182f5c1f}.auth-gate-loading-card h3{color:#27426d;margin:0;font-size:32px}.auth-gate-loading-card p{color:#7d90ab;margin:0;font-size:20px;font-weight:700}.cloud-auth-layout{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:min(700px,88vh);padding:12px;display:grid}.cloud-auth-hero{color:#edf5ff;background:linear-gradient(126deg,#122746 0%,#224d90 52%,#0f7d8c 100%);border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:16px;padding:18px 20px;display:grid;position:relative;overflow:hidden}.cloud-auth-hero-circle{pointer-events:none;border:1px solid #ffffff2e;border-radius:50%;position:absolute}.cloud-auth-hero-circle-a{width:220px;height:220px;top:-40px;right:-70px}.cloud-auth-hero-circle-b{width:160px;height:160px;bottom:-68px;left:42%}.cloud-auth-hero-circle-c{width:120px;height:120px;top:-24px;left:-38px}.cloud-auth-hero-brand{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.cloud-auth-hero-avatar{color:#2954a0;background:#fffffffa;border-radius:50%;place-items:center;width:76px;height:76px;font-size:38px;display:grid;box-shadow:0 14px 28px #07173a47}.cloud-auth-hero-copy{gap:5px;display:grid}.cloud-auth-hero-copy h3{letter-spacing:.02em;margin:0;font-size:40px;line-height:1.05}.cloud-auth-hero-copy p{color:#ecf5fff0;margin:0;font-size:21px;line-height:1.35}.cloud-auth-hero ul{color:#e9f2ff;z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;font-size:18px;font-weight:700;list-style:none;display:grid;position:relative}.cloud-auth-hero ul li{background:#ffffff1a;border:1px solid #ffffff3d;border-radius:12px;align-items:center;min-height:64px;padding:10px;line-height:1.4;display:grid}.cloud-auth-main{background:#f5f8ff;border:1px solid #d7e2f3;border-radius:18px;align-content:start;gap:12px;padding:18px 20px 20px;display:grid;overflow:auto}.cloud-auth-main-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.cloud-auth-tab-switch{background:#e6eef9;border:1px solid #d2ddf0;border-radius:14px;align-items:center;gap:6px;padding:4px;display:inline-flex}.cloud-auth-tab-switch button{color:#597297;background:0 0;border:0;border-radius:10px;min-width:96px;height:40px;font-size:25px;font-weight:800}.cloud-auth-tab-switch button.active{color:#245fb6;background:#fff;box-shadow:0 5px 12px #254a852e}.cloud-auth-close-btn{color:#4e6e9c;background:#f4f8ff;border:1px solid #d2ddef;border-radius:50%;width:40px;height:40px}.cloud-auth-panel{background:#fff;border:1px solid #dae4f2;border-radius:18px;gap:11px;padding:16px;display:grid}.cloud-auth-panel h4{color:#223d66;margin:0;font-size:44px}.cloud-auth-subtitle{color:#738cac;margin:0;font-size:24px;font-weight:700}.cloud-auth-field{gap:6px;display:grid}.cloud-auth-field span{color:#5d7da7;font-size:23px;font-weight:700}.cloud-auth-field input{color:#24426d;background:#f8fbff;border:1px solid #d6e1ef;border-radius:12px;height:46px;padding:0 12px;font-size:24px}.cloud-auth-inline-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.cloud-auth-remember{color:#6984a8;align-items:center;gap:7px;font-size:21px;font-weight:700;display:inline-flex}.cloud-auth-remember input{width:17px;height:17px}.cloud-auth-link-btn{color:#326fbe;background:0 0;border:0;padding:0;font-size:21px;font-weight:700}.cloud-auth-submit-btn{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#275fbe,#20959f);border:0;border-radius:999px;height:48px;margin-top:2px;font-size:25px;font-weight:800;box-shadow:0 12px 22px #255da947}.cloud-auth-register-tip{color:#496289;background:#f6faff;border:1px solid #dfe8f6;border-radius:12px;margin:0;padding:10px 12px;font-size:23px;font-weight:700;line-height:1.6}.cloud-auth-register-tip-strong{color:#237044;background:#f2fff4;border-color:#c7e4cb}.cloud-auth-panel-logged{gap:10px}.cloud-auth-status-line{color:#587296;margin:0;font-size:24px;font-weight:700;line-height:1.55}.cloud-auth-inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cloud-auth-inline-actions button{border-radius:10px;height:38px}.cloud-auth-panel-small h4{font-size:28px}.admin-panel-modal{background:#f5f8ff;border:1px solid #d5e1f3;border-radius:24px;grid-template-columns:270px minmax(0,1fr);width:min(1240px,98vw);min-height:min(760px,90vh);max-height:92vh;display:grid;overflow:hidden}.admin-panel-backdrop.admin-only{background:#edf3ff;padding:0}.admin-panel-modal.admin-fullscreen{width:100vw;max-width:100vw;min-height:100vh;max-height:100vh;box-shadow:none;border:0;border-radius:0;grid-template-columns:280px minmax(0,1fr)}.admin-panel-sidebar{color:#e8efff;background:linear-gradient(#162448 0%,#1f3264 46%,#2b3f74 100%);grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px 14px;display:grid}.admin-panel-brand{background:#ffffff14;border:1px solid #fff3;border-radius:16px;gap:6px;padding:14px;display:grid}.admin-panel-brand strong{letter-spacing:.02em;font-size:24px;font-weight:900}.admin-panel-brand span{color:#bfd1ff;font-size:13px}.admin-panel-menu{gap:8px;padding-right:4px;display:grid;overflow:auto}.admin-panel-menu button{color:#eaf1ff;text-align:left;background:#ffffff14;border:1px solid #0000;border-radius:14px;gap:3px;padding:11px 12px;transition:transform .15s,background .15s,border-color .15s;display:grid}.admin-panel-menu button strong{font-size:15px;font-weight:800}.admin-panel-menu button small{color:#bdd0ff;font-size:12px}.admin-panel-menu button:hover{background:#ffffff29;transform:translateY(-1px)}.admin-panel-menu button.active{background:linear-gradient(135deg,#ffffff3d,#88c4ff3d);border-color:#ffffff59;box-shadow:0 8px 20px #0b183d52}.admin-panel-main{background:radial-gradient(circle at 8% 4%,#84aaff4d,#0000 28%),radial-gradient(circle at 96% 2%,#a384ff33,#0000 26%),#f5f8ff;grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.admin-panel-head{background:#ffffffb8;border-bottom:1px solid #dbe6f6;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.admin-panel-head h3{color:#223860;margin:0;font-size:24px}.admin-panel-head p{color:#6a7f9f;margin:4px 0 0;font-size:14px;font-weight:700}.admin-panel-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.admin-panel-content{gap:12px;min-height:0;padding:14px;display:grid;overflow:auto}.admin-card{background:#fff;border:1px solid #dbe4f4;border-radius:16px;gap:10px;padding:12px;display:grid;box-shadow:0 9px 20px #122a5714}.admin-card h4{color:#27406a;margin:0;font-size:18px}.admin-tip-text{color:#6980a5;margin:0;font-size:14px;font-weight:700;line-height:1.65}.admin-profile-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.admin-profile-grid article{background:#f8fbff;border:1px solid #dde7f7;border-radius:12px;gap:4px;padding:10px;display:grid}.admin-profile-grid article span{color:#7f92ae;font-size:13px;font-weight:700}.admin-profile-grid article strong{color:#2c4066;line-break:anywhere;font-size:16px}.admin-stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.admin-stat-card{background:linear-gradient(145deg,#fff,#f4f8ff);border:1px solid #dce6f7;border-radius:14px;gap:5px;padding:12px;display:grid}.admin-stat-card span{color:#6f84a5;font-size:13px;font-weight:700}.admin-stat-card strong{color:#28406c;font-size:32px;line-height:1}.admin-stat-card em{color:#7f93b2;font-size:12px;font-style:normal;font-weight:700}.admin-quick-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.admin-inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-table-toolbar{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.admin-search-pill{width:clamp(260px,36vw,430px);min-width:260px}.admin-filter-select{min-width:136px}.admin-table-wrap{background:#fff;border:1px solid #dbe5f6;border-radius:12px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;min-width:900px}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8eef8;padding:10px 12px;font-size:13px}.admin-table th{z-index:1;color:#49638e;background:#f4f8ff;font-weight:800;position:sticky;top:0}.admin-table tbody tr:hover{background:#f8fbff}.admin-code-cell{color:#344f79;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-weight:700}.admin-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.admin-chip.role-admin{color:#5a35b9;background:#f4ecff;border-color:#d9cbff}.admin-chip.role-teacher{color:#225f8c;background:#ecf8ff;border-color:#badff5}.admin-chip.status-unused{color:#2966a9;background:#f1f8ff;border-color:#d4e7ff}.admin-chip.status-used{color:#2f7d4a;background:#effcf2;border-color:#cde8d6}.admin-chip.status-disabled{color:#b14859;background:#fff4f6;border-color:#efdadf}.admin-table-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-table-actions button{color:#405a83;background:#f7f9ff;border:1px solid #d3deef;border-radius:9px;height:30px;padding:0 10px;font-size:12px;font-weight:700}.admin-table-actions button.primary{color:#275f9d;background:#ebf5ff;border-color:#b8d6ff}.admin-table-actions button.danger{color:#cb3350;background:#fff1f4;border-color:#f2ccd4}.admin-empty{text-align:center;color:#7b8ea9;margin:0;padding:24px 14px;font-weight:700}.settings-modal .modal-head{background:linear-gradient(#fbfcff,#f5f8fd);border-bottom-color:#e6ecf5;padding:18px 24px}.settings-body{background:#f5f8fe;gap:14px;max-height:calc(90vh - 146px);padding:16px;overflow:auto}.settings-section{background:#fff;border:1px solid #e0e7f2;border-radius:16px;gap:10px;padding:12px;display:grid;box-shadow:0 7px 18px #1a31590f}.settings-section h4{color:#2f4467;margin:0}.field-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.level-config-section{gap:12px}.level-config-tip{color:#8092ae;margin:0;font-size:14px;font-weight:700}.level-config-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.level-config-cell{gap:6px;display:grid}.level-config-cell span{text-align:center;color:#7e90aa;font-size:14px;font-weight:800}.level-config-cell input{color:#2c3f5f;text-align:center;box-sizing:border-box;background:#fff;border:1px solid #cfd9e8;border-radius:12px;width:100%;min-height:46px;padding:0 8px;font-size:clamp(16px,1.8vw,22px);font-weight:800;line-height:1.1}.level-config-cell.fixed input{color:#9ca9bd;background:#edf1f6;border-color:#d9e1eb}.level-config-example{color:#3f5f93;background:#ebf3ff;border:1px solid #cfddf2;border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.5}.theme-section{gap:12px}.theme-tip{color:#8092ae;margin:0;font-size:14px;font-weight:700}.theme-chip-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.theme-chip{color:#5b7295;background:#f8fafd;border:1px solid #dbe3f1;border-radius:12px;align-content:center;justify-items:center;gap:6px;min-height:74px;padding:6px;font-size:13px;font-weight:700;display:grid}.theme-chip span{border-radius:999px;width:30px;height:30px;box-shadow:inset 0 0 0 2px #ffffffa6,0 6px 12px #2f436829}.theme-chip em{font-style:normal}.theme-chip.active{color:#2f415f;background:#eff4fb;border-color:#2f415f;box-shadow:inset 0 0 0 2px #2f415f24}.theme-color-input{max-width:220px}.theme-color-input input[type=color]{background:#fff;border:1px solid #d3dced;border-radius:10px;width:100%;min-height:40px;padding:0}.rule-edit-row{grid-template-columns:1.4fr .9fr .9fr auto;gap:6px;display:grid}.rule-edit-row button{color:#d65266;background:#fff6f7;border:1px solid #e9c8ce;height:34px;padding:0 10px;font-weight:700}.group-manager-entry{background:linear-gradient(#edf2ff,#e9efff);border:1px solid #d7e1f3;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.group-manager-entry strong{color:#2e3f6a;font-size:22px;display:block}.group-manager-entry p{color:#4d6591;margin:6px 0 0;font-size:14px;font-weight:700}.group-manager-entry button{color:#fff;white-space:nowrap;background:linear-gradient(130deg,#5c71f6,#4f45df);border:1px solid #0000;border-radius:14px;min-height:54px;padding:0 22px;font-size:18px;font-weight:900;box-shadow:0 10px 20px #4e5bdf47}.group-preview{flex-wrap:wrap;gap:6px;display:flex}.group-preview span{color:#6c7f9c;background:#f7f9fc;border:1px solid #e4e8f0;border-radius:999px;padding:4px 9px;font-size:12px}.group-manager-backdrop{z-index:180;background:#141a2c80}.group-manager-modal{border-color:#dbe4f2;border-radius:24px;width:min(840px,100%);overflow:hidden}.group-manager-head{border-bottom:1px solid #e4ebf6;padding:18px 24px}.group-manager-head h3{color:#1f3559;margin:0;font-size:44px}.group-manager-head p{color:#8092af;margin:6px 0 0;font-size:14px;font-weight:700}.group-manager-head button{color:#8798b3;background:#f3f7fd;border:1px solid #dbe3f2;border-radius:999px;width:42px;height:42px;padding:0}.group-manager-body{background:#f7f9fd;gap:14px;max-height:calc(90vh - 180px);padding:14px 24px 18px;overflow:auto}.group-block{gap:10px;display:grid}.group-block h4{color:#516784;margin:0;font-size:32px}.group-create-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.group-create-row input{color:#284262;background:#fff;border:1px solid #cad7ea;border-radius:14px;min-height:52px;padding:0 16px;font-size:32px;font-weight:700}.group-create-row button{color:#fff;background:linear-gradient(130deg,#5d72f8,#4d46dd);border:1px solid #0000;border-radius:14px;min-height:52px;padding:0 20px;font-size:36px;font-weight:900}.group-list-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.group-list-head span{color:#8fa0b7;font-size:13px;font-weight:700}.group-list-box{background:#fff;border:1px solid #d7e0ee;border-radius:14px;gap:8px;padding:10px;display:grid}.group-list-empty{color:#9aabc2;place-items:center;min-height:86px;margin:0;font-size:16px;display:grid}.group-list-item{background:#f9fbff;border:1px solid #e2e8f2;border-radius:12px;gap:10px;padding:10px 12px;display:grid}.group-list-item.expanded{border-color:#bcccf0;box-shadow:0 8px 16px #566ca424}.group-list-row{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:8px;display:grid}.group-list-main{text-align:left;cursor:pointer;background:0 0;border:0;gap:6px;margin:0;padding:0;display:grid}.group-list-main-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.group-list-item strong{color:#2d466e;font-size:16px;display:block}.group-list-item small{color:#8b9db8;font-size:12px;font-weight:700}.group-role-summary{flex-wrap:wrap;gap:6px;display:flex}.group-role-summary .role-tag{color:#5c7194;background:#fff;border:1px solid #dbe4f2;border-radius:999px;align-items:center;gap:4px;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.group-role-summary .role-tag.leader{color:#b37a19;background:#fff8e8;border-color:#f3d28e}.group-role-summary .role-tag.vice{color:#4d67ae;background:#f3f7ff;border-color:#c8d8fb}.group-list-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:6px;display:flex}.group-list-actions button{color:#516b91;background:#fff;border:1px solid #d6e0ef;border-radius:10px;min-width:34px;min-height:34px;padding:0 10px;font-weight:800}.group-list-actions button.danger{color:#d15269;background:#fff4f6;border-color:#f1ced6}.group-member-role-panel{border-top:1px dashed #d8e2f2;padding-top:8px}.group-member-role-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.group-member-role-item{background:#fff;border:1px solid #dde6f4;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:9px 10px;display:grid}.group-member-role-info{gap:3px;display:grid}.group-member-role-info strong{color:#2b4368;font-size:15px;line-height:1.15}.group-member-role-info small{color:#748cac;font-size:12px;font-weight:700}.group-member-role-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.group-member-role-actions button{color:#50698f;background:#f6f9ff;border:1px solid #d8e2f1;border-radius:999px;min-height:30px;padding:0 12px;font-size:12px;font-weight:800}.group-member-role-actions button.active{color:#fff;background:linear-gradient(130deg,#5f84ff,#5064ee);border-color:#5a7eff;box-shadow:0 8px 14px #4f6ad83d}.group-member-role-empty{color:#8195b2;background:#f8fbff;border:1px dashed #d6e0ef;border-radius:10px;place-items:center;min-height:62px;margin:0;font-size:14px;font-weight:700;display:grid}.group-random-card{background:linear-gradient(#eef2ff,#f7f9ff);border:1px solid #d9e3f4;border-radius:16px;gap:8px;padding:14px 16px;display:grid}.group-random-card h4{color:#3b4fa2;margin:0}.group-random-card p{color:#4f63ba;margin:0;font-size:14px}.group-random-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.group-random-row label{color:#405585;align-items:center;gap:8px;font-size:18px;font-weight:700;display:inline-flex}.group-random-row input{color:#2d456b;text-align:center;background:#fff;border:1px solid #b7c8e8;border-radius:12px;width:120px;min-height:48px;font-size:28px;font-weight:800}.group-random-row button{color:#fff;background:linear-gradient(130deg,#5d72f8,#4d46dd);border:1px solid #0000;border-radius:14px;min-height:52px;padding:0 22px;font-size:28px;font-weight:900}.group-manager-foot{background:#fff;border-top:1px solid #e4ebf6;justify-content:flex-end;padding:12px 24px 16px;display:flex}.group-manager-foot button{color:#42608f;background:#edf3ff;border:1px solid #ced9ec;border-radius:12px;min-height:46px;padding:0 18px;font-size:18px;font-weight:900}.group-manager-foot button.primary{color:#3451a9;background:#dfe7ff;border-color:#4f68ea}.group-rename-backdrop{z-index:190;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.group-rename-modal{background:linear-gradient(#fffffffa,#f6fafffa);border:1px solid #dbe4f3;border-radius:18px;width:min(560px,100%);overflow:hidden;box-shadow:0 24px 54px #1f2c4652}.group-rename-head{background:linear-gradient(145deg,#f6f9ff,#fff);border-bottom:1px solid #e4ebf7;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.group-rename-head h3{color:#28456f;margin:0;font-size:24px}.group-rename-head button{color:#6e82a0;background:#f4f8ff;border:1px solid #d8e3f3;border-radius:999px;width:36px;height:36px;padding:0;font-weight:800}.group-rename-body{padding:14px 16px}.group-rename-foot{background:#fffffff0;border-top:1px solid #e4ebf7;justify-content:flex-end;gap:8px;padding:12px 16px 14px;display:flex}.group-rename-foot button{color:#4f688d;background:#f6f9ff;border:1px solid #d8e3f3;border-radius:10px;min-height:38px;padding:0 14px;font-weight:700}.group-rename-foot button.primary{color:#fff;background:linear-gradient(130deg,#6186ff,#5462ef);border-color:#5f7eff}.settings-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.text-action{color:#3a5c8d;background:#eef4ff;border:1px solid #d7e2f3;border-radius:999px;height:32px;padding:0 12px;font-weight:700}.roster-section{background:linear-gradient(#fcfdff 0%,#f8fbff 100%)}.student-quick-add{grid-template-columns:minmax(0,1fr) 130px auto;gap:8px;display:grid}.student-quick-add input,.student-quick-add select,.student-search input,.student-batch-panel textarea,.roster-name-input,.roster-group-select{color:#1f3861;background:#fff;border:1px solid #d4deef;border-radius:13px;min-height:42px;padding:10px 12px}.student-batch-panel textarea{resize:vertical;min-height:94px}.solid-add-btn{color:#fff;background:linear-gradient(140deg,#1fb979,#0f9660);border-color:#149961;border-radius:13px;min-height:42px;padding:0 16px;font-weight:800}.student-batch-panel{background:#fff;border:1px solid #e1e8f4;border-radius:14px;gap:10px;padding:10px;display:grid}.student-batch-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-batch-actions button{color:#22824d;background:#e8faee;border:1px solid #b3d8bf;height:34px;padding:0 12px;font-weight:700}.student-batch-actions button.secondary{color:#3f5e8e;background:#edf3ff;border-color:#d2deef}.student-batch-actions small{color:#7d8faa;font-size:12px}.student-search{color:#8fa0bb;background:#f4f7fd;border:1px solid #dce4f2;border-radius:13px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.student-search input{background:0 0;border:0;outline:0;width:100%;min-height:40px;padding:0}.student-roster-list{background:#fff;border:1px solid #dde6f3;border-radius:14px;max-height:360px;overflow:auto}.student-roster-item{border-bottom:1px solid #edf1f7;grid-template-columns:42px minmax(0,1.35fr) 126px 140px auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.student-roster-item:last-child{border-bottom:0}.roster-index{color:#6a7f9f;background:#f0f4fa;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:inline-flex}.roster-main{align-items:center;gap:8px;min-width:0;display:flex}.roster-name-input{flex:auto;min-width:0;min-height:36px;padding:7px 10px}.roster-sub{color:#6881a7;white-space:nowrap;text-overflow:ellipsis;background:#f5f8fe;border:1px solid #e6ecf7;border-radius:999px;flex:none;max-width:108px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1;overflow:hidden}.roster-group-select{min-height:36px;padding:7px 10px}.roster-stats{flex-wrap:wrap;gap:6px;display:flex}.roster-stats span{color:#6e82a2;background:#f7f9fe;border:1px solid #e6ebf3;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.roster-actions{gap:6px;display:inline-flex}.roster-actions button{color:#39557f;background:#f4f8ff;border:1px solid #d4e0ef;height:32px;padding:0 10px;font-weight:700}.roster-actions button.danger{color:#b54a5a;background:#fff1f4;border-color:#f0c7ce}.roster-empty{color:#7f91ad;text-align:center;margin:0;padding:20px}.assign-banner{background:linear-gradient(125deg,#eef0ff,#f7f8ff);border:1px solid #dbe2f4;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.assign-banner h5{color:#3748a5;margin:0;font-size:20px}.assign-banner p{color:#697cbc;margin:2px 0 0;font-size:13px;font-weight:700}.assign-banner button{color:#3b5384;background:#edf2ff;border:1px solid #ced7ef;height:42px;padding:0 16px;font-weight:800}.settings-section.danger{box-shadow:none;background:#fff7f8;border-color:#f0d0d5}.modal-footer{background:#fffffff5;border-top:1px solid #f0dce0;justify-content:flex-end;gap:8px;padding:12px;display:flex;position:sticky;bottom:0}.modal-footer button{color:#d03f54;background:#fff5f7;border:1px solid #f0c4cc;height:34px;padding:0 12px;font-weight:700}.modal-footer button.primary{color:#fff;background:linear-gradient(130deg,#ff8898,#ee5968);border-color:#ef5f70}.batch-group-modal{border-radius:22px;width:min(560px,100%);overflow:hidden}.batch-group-head{padding:16px 18px}.batch-group-head h3{color:#22416a;font-size:28px}.batch-group-body{gap:10px;padding:14px 18px 16px}.batch-group-body p{color:#55719a;background:#f7fbff;border:1px dashed #d7e4f7;border-radius:12px;margin:0;padding:10px 12px;font-size:15px;font-weight:700}.batch-group-foot{background:#fff;border-top:1px solid #e5edf8;justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.batch-group-foot button{color:#4f688d;background:#f6f9fe;border:1px solid #d7e2f0;border-radius:10px;min-height:38px;padding:0 14px;font-weight:700}.batch-group-foot button.primary{color:#fff;background:linear-gradient(130deg,#6186ff,#5462ef);border-color:#5f7eff}.batch-feed-modal{border-radius:22px;width:min(760px,100%);overflow:hidden}.batch-feed-head{padding:16px 20px}.batch-feed-head h3{color:#1f3861;margin:0;font-size:30px}.batch-feed-head p{color:#7d8faa;margin:6px 0 0;font-size:14px;font-weight:700}.batch-feed-body{gap:12px;padding:14px 18px 16px}.batch-feed-tabs{gap:8px;display:flex}.batch-feed-tabs button{color:#3f5e8e;background:#f2f6fc;border:1px solid #d2deef;border-radius:12px;min-height:40px;padding:0 12px;font-weight:800}.batch-feed-tabs button.plus.active{color:#22824d;background:#e9f8ef;border-color:#9edebc}.batch-feed-tabs button.minus.active{color:#be4d61;background:#fff0f3;border-color:#efc1cb}.batch-feed-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.batch-feed-rule{text-align:left;background:#fff;border:1px solid #d5e0f0;border-radius:12px;align-content:center;justify-items:flex-start;gap:4px;min-height:76px;padding:10px 12px;display:grid}.batch-feed-rule strong{color:#2f4a74;font-size:16px}.batch-feed-rule small{color:#7f93b0;font-size:13px;font-weight:700}.batch-feed-rule.active{background:#f1fbf7;border-color:#149961;box-shadow:inset 0 0 0 2px #1499611f}.batch-feed-empty{color:#7d8faa;text-align:center;background:#f7fbff;border:1px dashed #d2deef;border-radius:12px;grid-column:1/-1;place-items:center;min-height:82px;margin:0;padding:10px 12px;display:grid}.group-center-modal{border:1px solid #d7e4f4;border-radius:24px;grid-template-rows:auto 1fr auto;width:min(1080px,100%);max-height:min(90vh,920px);display:grid;overflow:hidden}.group-center-head{background:radial-gradient(circle at 86% 16%,#ffffff52,#0000 42%),linear-gradient(130deg,#5d7df8,#47a1f5 54%,#53c7c6);border-bottom:1px solid #dbe8f6;padding:16px 18px 14px}.group-center-head h3{color:#fff;margin:0;font-size:34px}.group-center-head p{color:#f1f8ffeb;margin:5px 0 0;font-size:14px;font-weight:700}.group-center-head button{color:#fff;background:#ffffff24;border:1px solid #ffffff6b;border-radius:999px;width:42px;height:42px;padding:0;font-size:22px;line-height:1}.group-center-body{background:#f4f8ff;gap:12px;padding:12px;overflow:auto}.group-center-summary{background:linear-gradient(132deg,#fff,#f4f8ff);border:1px solid #d6e3f7;border-radius:20px;align-content:center;gap:2px;min-height:116px;padding:14px 16px;display:grid}.group-center-summary span{color:#5f7698;letter-spacing:.06em;font-size:16px;font-weight:800}.group-center-summary strong{color:#234873;font-size:52px;font-weight:900;line-height:1}.group-center-summary em{color:#7289aa;font-size:14px;font-style:normal;font-weight:700}.group-center-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.group-center-item{border:2px solid var(--group-center-accent,#4f7cf4);background:linear-gradient(180deg, var(--group-center-soft,#4f7cf41a), #fff 50%);border-radius:16px;gap:8px;padding:10px 10px 12px;display:grid;box-shadow:0 10px 20px #4d679224}.group-center-item-head{justify-content:space-between;align-items:stretch;gap:8px;display:flex}.group-center-item-title{gap:2px;min-width:0;display:grid}.group-center-item-title strong{color:#1f3b66;font-size:22px;line-height:1.1}.group-center-item-title small{color:#6f84a4;font-size:13px;font-weight:700}.group-center-diamond-panel{background:#fff;border:1px solid #d9e7f8;border-radius:14px;align-content:center;justify-items:center;min-width:124px;padding:7px 10px;display:grid;box-shadow:0 6px 14px #425a8124}.group-center-diamond-panel span{color:#6a81a5;letter-spacing:.04em;font-size:13px;font-weight:800}.group-center-diamond-panel strong{color:#1f4a7c;font-size:34px;font-weight:900;line-height:1}.group-center-item-grid{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.group-center-role-hints{background:#fff;border:1px solid #dbe6f5;border-radius:12px;align-content:center;gap:4px;min-width:134px;padding:6px 8px;display:grid}.group-center-role-hints span{color:#5f789d;font-size:12px;font-weight:700}.group-center-member-area{background:#fffffff0;border:1px solid #dbe6f5;border-radius:13px;gap:7px;padding:8px 9px;display:grid}.group-center-member-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.group-center-member-head-main{gap:2px;min-width:0;display:grid}.group-center-member-head-main strong{color:#2a4872;font-size:15px}.group-center-member-head-main span{color:#6e84a7;font-size:12px;font-weight:700}.group-center-member-toggle{color:#365983;background:#f6fbff;border:1px solid #d5e3f5;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;min-height:30px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.group-center-member-toggle span{font-size:12px;line-height:1}.group-center-member-toggle.expanded{color:#2f4f79;background:#eef5ff;border-color:#bfd6f5}.group-center-member-collapsed{color:#6f85a7;text-align:center;background:#f7fbff;border:1px dashed #d7e3f3;border-radius:10px;place-items:center;min-height:44px;margin:0;padding:6px 10px;font-size:12px;font-weight:700;display:grid}.group-center-member-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.group-center-member-row{background:#f8fbff;border:1px solid #dde7f4;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.group-center-member-name{gap:2px;min-width:0;display:grid}.group-center-member-name strong{color:#2b4871;font-size:14px}.group-center-member-name small{color:#6f85a7;font-size:12px;font-weight:700}.group-center-role-select{gap:2px;display:grid}.group-center-role-select span{color:#6f85a7;font-size:11px;font-weight:700}.group-center-role-select select{color:#2f4f79;background:#fff;border:1px solid #d8e5f6;border-radius:9px;min-height:34px;padding:0 8px;font-size:13px;font-weight:800}.group-center-member-empty{color:#6f85a7;background:#f7fbff;border:1px dashed #d7e3f3;border-radius:10px;place-items:center;min-height:60px;margin:0;font-size:13px;font-weight:700;display:grid}.group-center-color-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.group-center-color-swatches{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;display:grid}.group-center-color-swatches button{border:1px solid #ffffffc7;border-radius:8px;height:24px;padding:0;box-shadow:0 2px 6px #3e567c29}.group-center-color-swatches button.active{border-color:#173967;box-shadow:0 0 0 2px #274f8138}.group-center-color-picker{justify-items:flex-end;gap:4px;display:grid}.group-center-color-picker span{color:#5f789d;font-size:12px;font-weight:700}.group-center-color-picker input{background:#fff;border:1px solid #d8e5f6;border-radius:8px;width:44px;height:30px;padding:2px}.group-center-empty{color:#6f85a8;background:#f7fbff;border:1px dashed #d6e2f2;border-radius:14px;grid-column:1/-1;place-items:center;min-height:90px;margin:0;font-weight:700;display:grid}.group-center-foot{background:#fff;border-top:1px solid #e4ebf6;justify-content:flex-end;gap:8px;padding:12px 14px 14px;display:flex}.group-center-foot button{color:#547093;background:#f5f8fd;border:1px solid #d9e3f2;border-radius:12px;min-height:40px;padding:0 14px;font-weight:800}.group-center-foot button.primary{color:#fff;background:linear-gradient(130deg,#5f84ff,#4c68eb);border-color:#5f83ff;box-shadow:0 10px 20px #5870ec42}.group-switch-modal{border-radius:20px;width:min(540px,100%);overflow:hidden}.group-switch-head{padding:14px 16px}.group-switch-head h3{color:#1f3861;margin:0;font-size:28px}.group-switch-head p{color:#7b8ea9;margin:5px 0 0;font-size:14px;font-weight:700}.group-switch-body{gap:10px;padding:14px 16px}.group-switch-foot{background:#fff;border-top:1px solid #e5edf8;justify-content:flex-end;gap:8px;padding:12px 16px 14px;display:flex}.group-switch-foot button{color:#4f688d;background:#f6f9fe;border:1px solid #d7e2f0;border-radius:10px;min-height:38px;padding:0 14px;font-weight:700}.group-switch-foot button.primary{color:#fff;background:linear-gradient(130deg,#6186ff,#5462ef);border-color:#5f7eff}.author-modal{border-radius:22px;width:min(680px,100%);overflow:hidden}.author-head{padding:14px 16px}.author-body{justify-items:center;gap:12px;padding:16px 18px 20px;display:grid}.author-title{color:#355378;margin:0;font-size:22px;font-weight:800}.author-wechat-image{background:#fff;border:1px solid #dce4f1;border-radius:18px;width:min(100%,520px);box-shadow:0 12px 24px #46597f24}.author-tip{color:#7b8da8;text-align:center;margin:0;font-size:14px;font-weight:700}.group-members-modal{border-radius:20px;width:min(560px,100%);overflow:hidden}.group-members-head{padding:14px 16px}.group-members-head h3{color:#1f3861;margin:0;font-size:28px}.group-members-head p{color:#7b8ea9;margin:5px 0 0;font-size:14px;font-weight:700}.group-members-body{padding:14px 16px}.group-member-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.group-member-item{background:#f8fbff;border:1px solid #dde6f3;border-radius:12px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;min-height:48px;padding:8px 10px;display:grid}.group-member-rank{color:#5f7698;background:#fff;border:1px solid #d9e4f6;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.group-member-rank.top{color:#a57418;background:#fff8e1;border-color:#f0d38b}.group-member-item strong{color:#294367;font-size:16px;line-height:1.2}.group-member-level{color:#5f7698;background:#fff;border:1px solid #d9e4f6;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.group-member-coins{color:#b4821f;background:#fff9e8;border:1px solid #f3dca3;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-style:normal;font-weight:800;display:inline-flex}.group-member-item.is-current{background:#fff5f7;border-color:#f5c2cb}.group-member-item.is-current .group-member-rank{color:#c04f63;background:#fff;border-color:#f2b9c4}.group-members-empty{color:#7b8ea9;background:#f7fbff;border:1px dashed #d6e0ef;border-radius:12px;place-items:center;min-height:90px;margin:0;font-weight:700;display:grid}.group-members-foot{background:#fff;border-top:1px solid #e5edf8;justify-content:flex-end;padding:12px 16px 14px;display:flex}.group-members-foot button{color:#fff;background:linear-gradient(130deg,#ff7087,#e84b68);border:1px solid #efb5c0;border-radius:10px;min-height:40px;padding:0 16px;font-weight:800;box-shadow:0 10px 18px #e84c693d}.app-shell .top-bar{border-color:var(--theme-accent-border);box-shadow:0 10px 24px var(--theme-accent-soft-strong)}.app-shell .teacher-title-pill{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 12%, #fff);box-shadow:0 8px 18px var(--theme-accent-soft-strong)}.app-shell .teacher-title-text{background:linear-gradient(180deg, color-mix(in srgb, var(--theme-gradient-start) 38%, #fff4c1) 0%, color-mix(in srgb, var(--theme-accent) 68%, #fff) 48%, color-mix(in srgb, var(--theme-gradient-end) 88%, #fff) 100%);-webkit-background-clip:text;background-clip:text}.app-shell .logo-pill{border-color:var(--theme-accent-border);background:linear-gradient(140deg, var(--theme-gradient-start), var(--theme-gradient-end));box-shadow:0 8px 18px var(--theme-accent-glow)}.app-shell .class-pill,.app-shell .tool-pill{border-color:var(--theme-accent-border);background:var(--theme-surface-tint);color:var(--theme-accent-ink)}.app-shell .tool-pill.batch-pill-active{background:linear-gradient(130deg, var(--theme-gradient-start), var(--theme-gradient-end));box-shadow:0 10px 20px var(--theme-accent-glow);color:#fff}.app-shell .sort-menu-item.active{border-color:var(--theme-accent-border);background:var(--theme-accent-soft);color:var(--theme-accent-ink)}.app-shell .top-actions button{color:var(--theme-accent-ink)}.app-shell .top-actions button.primary{border-color:var(--theme-accent-border);background:var(--theme-accent-soft);color:var(--theme-accent-ink)}.app-shell .top-actions button.coin-top-btn{border-color:color-mix(in srgb, var(--theme-accent) 36%, #f5ddb2);background:color-mix(in srgb, var(--theme-accent) 10%, #fff7e7);color:var(--theme-accent-ink)}.app-shell .top-actions button.diamond-top-btn{border-color:color-mix(in srgb, var(--theme-accent) 36%, #d6e7ff);background:color-mix(in srgb, var(--theme-accent) 14%, #fff);color:var(--theme-accent-ink)}.app-shell .top-actions button.group-center-top-btn{border-color:color-mix(in srgb, var(--theme-accent) 32%, #d2f0d7);background:color-mix(in srgb, var(--theme-accent) 12%, #f2fff4);color:var(--theme-accent-ink)}.app-shell .top-actions button.admin-top-btn{border-color:color-mix(in srgb, var(--theme-accent) 38%, #d7cdfd);background:color-mix(in srgb, var(--theme-accent) 14%, #f4efff);color:var(--theme-accent-ink)}.app-shell .top-actions button.pk-top-btn{color:#f6f9ff;background:linear-gradient(145deg,#0a123f,#1a2f82);border-color:#13246b}.app-shell .pk-lobby-modal{border-color:var(--theme-accent-border)}.app-shell .pk-lobby-hero{border-color:var(--theme-accent-border);background:radial-gradient(circle at 88% 22%, #ffffff5c, transparent 38%), linear-gradient(130deg, var(--theme-gradient-start), var(--theme-accent), var(--theme-gradient-end))}.app-shell .pk-lobby-setup,.app-shell .pk-mode-tabs,.app-shell .pk-mode-entry,.app-shell .pk-wizard-head,.app-shell .pk-mode-panel,.app-shell .pk-game-board,.app-shell .pk-battle-board,.app-shell .pk-battle-card{border-color:var(--theme-accent-border)}.app-shell .pk-selected-game-row,.app-shell .pk-battle-meta span{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 8%, #fff)}.app-shell .pk-mode-tabs button.active,.app-shell .pk-publish-btn,.app-shell .pk-game-pick-btn.active,.app-shell .pk-action-btn.primary{border-color:var(--theme-accent-border);background:linear-gradient(130deg, var(--theme-gradient-start), var(--theme-gradient-end));box-shadow:0 10px 18px var(--theme-accent-soft-strong)}.app-shell .pk-mode-entry-btn.teacher,.app-shell .pk-mode-entry-btn.duel{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 12%, #fff)}.app-shell .pk-draw-row{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 14%, #fff);box-shadow:0 14px 28px var(--theme-accent-soft-strong)}.app-shell .pk-game-card.selected{border-color:var(--theme-accent);box-shadow:0 16px 30px var(--theme-accent-glow)}.app-shell .pk-game-pick-btn{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 15%, #fff);color:var(--theme-accent-ink)}.app-shell .pk-battle-status.ready{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 16%, #fff);color:var(--theme-accent-ink)}.app-shell .group-center-head{background:radial-gradient(circle at 86% 16%, #ffffff52, transparent 42%), linear-gradient(130deg, var(--theme-gradient-start), var(--theme-accent), var(--theme-gradient-end))}.app-shell .group-center-summary,.app-shell .group-center-role-hints,.app-shell .group-center-color-picker input,.app-shell .group-center-member-area,.app-shell .group-center-member-row,.app-shell .group-center-role-select select,.app-shell .group-center-diamond-panel{border-color:var(--theme-accent-border)}.app-shell .group-center-summary{background:color-mix(in srgb, var(--theme-accent) 8%, #fff)}.app-shell .group-center-summary strong,.app-shell .group-center-item-title strong,.app-shell .group-center-diamond-panel span,.app-shell .group-center-diamond-panel strong,.app-shell .group-center-member-head strong,.app-shell .group-center-member-name strong,.app-shell .group-center-role-select select{color:var(--theme-accent-ink)}.app-shell .group-center-member-empty{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 8%, #fff);color:var(--theme-accent-ink)}.app-shell .group-center-foot button.primary{border-color:var(--theme-accent-border);background:linear-gradient(130deg, var(--theme-gradient-start), var(--theme-gradient-end));box-shadow:0 10px 20px var(--theme-accent-glow)}.app-shell .diamond-wallet-body{background:radial-gradient(circle at 12% 16%, color-mix(in srgb, var(--theme-accent) 26%, #fff), transparent 42%), radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--theme-gradient-end) 22%, #fff), transparent 40%), color-mix(in srgb, var(--theme-accent) 6%, #f5f8ff)}.app-shell .diamond-wallet-summary{border-color:var(--theme-accent-border);background:radial-gradient(circle at 84% 12%, #ffffff5c, transparent 42%), linear-gradient(130deg, var(--theme-gradient-start), var(--theme-accent), var(--theme-gradient-end));box-shadow:0 14px 28px var(--theme-accent-glow)}.app-shell .diamond-wallet-card{border-color:var(--theme-accent-border);box-shadow:0 8px 20px var(--theme-accent-soft-strong)}.app-shell .diamond-wallet-metric{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 12%, #fff)}.app-shell .diamond-wallet-metric strong,.app-shell .diamond-wallet-main h4{color:var(--theme-accent-ink)}.app-shell .diamond-wallet-main p,.app-shell .diamond-wallet-metric span{color:color-mix(in srgb, var(--theme-accent-ink) 66%, #6d87ad)}.app-shell .diamond-wallet-empty{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 8%, #fff);color:var(--theme-accent-ink)}.app-shell .stats-strip span{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 6%, #fff)}.app-shell .stats-strip span em,.app-shell .stats-strip span strong{color:var(--theme-accent-ink)}.app-shell .top-actions button.undo-active{color:#fff;background:linear-gradient(135deg,#ff5b78,#ef2e54);border-color:#0000;box-shadow:0 8px 18px #e8395e4d}.app-shell .confirm-modal{border-color:var(--theme-accent-border);box-shadow:0 28px 58px var(--theme-accent-soft-strong)}.app-shell .confirm-modal:before{background:linear-gradient(90deg, var(--theme-gradient-start), var(--theme-accent), var(--theme-gradient-end))}.app-shell .confirm-message{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 8%, #fff);color:var(--theme-accent-ink)}.app-shell .confirm-note{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 13%, #fff);color:var(--theme-accent-ink)}.app-shell .confirm-btn.primary{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 20%, #fff);color:var(--theme-accent-ink)}.app-shell .confirm-btn.primary:hover{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 28%, #fff);box-shadow:0 8px 16px var(--theme-accent-soft-strong)}.app-shell .batch-tip-pill{background:linear-gradient(135deg, var(--theme-gradient-start), var(--theme-gradient-end));box-shadow:0 10px 24px var(--theme-accent-glow)}.app-shell .batch-count-pill{border-color:var(--theme-accent-border);background:var(--theme-accent-soft);color:var(--theme-accent-ink)}.app-shell .batch-outline-btn{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 12%, #fff);color:var(--theme-accent-ink)}.app-shell .batch-solid-btn{background:linear-gradient(135deg, var(--theme-gradient-start), var(--theme-gradient-end));box-shadow:0 8px 18px var(--theme-accent-glow)}.app-shell .group-chips button.active{background:linear-gradient(125deg, var(--theme-gradient-start), var(--theme-gradient-end));box-shadow:0 10px 20px var(--theme-accent-glow)}.app-shell .batch-check-btn.checked{border-color:var(--theme-accent);background:linear-gradient(140deg, var(--theme-gradient-start), var(--theme-gradient-end))}.app-shell .name-row h2,.app-shell .progress-caption strong{color:var(--theme-accent-ink)}.app-shell .progress-track{background:var(--theme-track)}.app-shell .progress-fill{background:linear-gradient(90deg, var(--theme-gradient-start), var(--theme-accent))}.app-shell .coin-pill,.app-shell .group-pill,.app-shell .badge-pill{border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 4%, #fff)}.app-shell .next-pet-btn{border-color:var(--theme-accent);background:linear-gradient(135deg, var(--theme-gradient-start), var(--theme-gradient-end));box-shadow:0 12px 24px var(--theme-accent-glow)}.app-shell .settings-modal .modal-head h3{color:var(--theme-accent-ink)}.app-shell .settings-modal .modal-head button,.app-shell .settings-modal .modal-footer button:not(.primary){border-color:var(--theme-accent-border);background:color-mix(in srgb, var(--theme-accent) 10%, #fff);color:var(--theme-accent-ink)}.app-shell .modal-footer button.primary{background:linear-gradient(130deg, var(--theme-gradient-start), var(--theme-gradient-end));border-color:var(--theme-accent)}.app-shell .toast{border-color:var(--theme-accent-border);color:var(--theme-accent-ink);box-shadow:0 8px 18px var(--theme-accent-soft-strong)}.toast{z-index:80;color:#d33c51;background:#fffffff2;border:1px solid #f0b9c2;border-radius:999px;padding:8px 14px;font-weight:700;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #ed5d6d33}@media (width<=1080px){.top-bar{border-radius:26px;grid-template-columns:1fr;grid-template-areas:"toolbar""search""actions";align-items:stretch;width:100%}.top-toolbar{flex-wrap:wrap}.teacher-title-pill{min-width:90px;height:36px;padding:0 10px}.teacher-title-text{font-size:16px}.top-actions{white-space:normal;flex-wrap:wrap;justify-content:flex-start}.top-search-pill{justify-self:stretch;width:100%;margin-right:0}.classroom-modal{width:min(560px,100%)}.classroom-create-row{grid-template-columns:1fr}.classroom-item{grid-template-columns:1fr;align-items:stretch}.classroom-item button{width:100%}.search-pill{min-width:178px}.toolbar-panel{flex-direction:column}.batch-mode-panel{justify-items:stretch}.batch-tip-pill{text-align:center;justify-content:center;width:100%}.batch-action-row,.stats-strip{justify-content:flex-start}.manage-row{grid-template-columns:1fr 1fr}.rule-edit-row,.student-quick-add{grid-template-columns:1fr}.group-manager-entry{flex-direction:column;align-items:stretch}.group-manager-entry button{width:100%}.level-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.level-config-cell input{font-size:22px}.theme-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.store-manage-headline{flex-direction:column;align-items:flex-start}.store-head{padding:14px}.store-head-title span{width:50px;height:50px;font-size:26px}.store-head-title h3{font-size:20px}.store-tab-row{flex-wrap:wrap;padding:10px 14px 12px}.store-tab-row button{height:42px;font-size:15px}.diamond-wallet-summary strong{font-size:30px}.diamond-wallet-grid{grid-template-columns:1fr}.diamond-wallet-card{border-radius:16px;grid-template-columns:auto 1fr auto;min-height:86px;padding:10px}.diamond-wallet-rank{border-radius:11px;width:40px;height:40px;font-size:18px}.diamond-wallet-main h4{font-size:18px}.diamond-wallet-main p{font-size:12px}.diamond-wallet-metric strong{font-size:24px}.diamond-wallet-metric span{font-size:11px}.group-center-modal{width:min(900px,100%)}.group-center-head h3{font-size:26px}.group-center-list,.group-center-item-grid,.group-center-color-row{grid-template-columns:1fr}.group-center-item-head{grid-template-columns:1fr;display:grid}.group-center-role-hints{min-width:0}.group-center-diamond-panel{justify-self:flex-start;min-width:0}.group-center-diamond-panel strong{font-size:30px}.group-center-member-head{flex-direction:column;align-items:flex-start}.group-center-member-row{grid-template-columns:1fr;align-items:stretch}.group-center-role-select select{width:100%}.group-center-color-swatches{grid-template-columns:repeat(10,minmax(0,1fr))}.group-center-color-picker{justify-items:flex-start}.magic-shelf-grid{grid-template-columns:1fr}.pet-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pet-talk-bubble{max-width:120px;padding:5px 8px;font-size:12px;top:12px}.store-manage-tools{width:100%}.store-manage-tools button{flex:1}.shelf-grid{grid-template-columns:1fr;max-height:none}.shelf-edit-grid{grid-template-columns:1fr}.store-editor-backdrop{padding:14px}.store-editor-modal{width:min(680px,100%);max-height:min(90vh,900px)}.store-editor-head{padding:14px 14px 12px}.store-editor-head h4{font-size:20px}.store-editor-body{padding:12px}.store-editor-row.two-col{grid-template-columns:1fr}.store-editor-foot{justify-content:stretch;padding:12px}.store-editor-foot button{flex:1}.honor-columns,.score-sections{grid-template-columns:1fr}.score-modal{width:min(1000px,100%)}.score-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.store-target-tools{grid-template-columns:1fr}.store-items-layout{grid-template-columns:1fr;gap:10px}.store-left-rail{justify-content:stretch}.pk-battle-btn{border-radius:18px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:122px;padding:12px;display:flex;position:relative;top:auto}.pk-battle-btn .pk-text{letter-spacing:.08em;font-size:54px}.pk-battle-btn .pk-label{font-size:34px}.pk-battle-btn small{display:none}.pk-lobby-modal{width:min(1120px,100%)}.pk-lobby-head h3{font-size:26px}.pk-lobby-hero-main strong{font-size:24px}.pk-mode-tabs,.pk-mode-entry{grid-template-columns:1fr}.pk-mode-entry-btn{min-height:124px}.pk-mode-entry-btn span{font-size:34px}.pk-mode-entry-btn strong{font-size:26px}.pk-mode-entry-btn small{font-size:14px}.pk-wizard-head{flex-direction:column;align-items:flex-start}.pk-wizard-actions{width:100%}.pk-lobby-setup{grid-template-columns:1fr}.pk-lobby-setup .input-wrap span{font-size:16px}.pk-lobby-setup .input-wrap input,.pk-lobby-setup .input-wrap select{min-height:48px;font-size:18px}.pk-selected-game-row{min-height:90px;padding:12px}.pk-selected-game-row strong{font-size:24px}.pk-selected-game-row span{font-size:17px}.pk-amount-row,.pk-amount-row-duel{grid-template-columns:1fr}.pk-amount-row .input-wrap span{font-size:16px}.pk-amount-row .input-wrap input,.pk-amount-row .input-wrap select{min-height:54px;font-size:20px}.pk-publish-btn{width:100%;min-height:54px;font-size:20px}.pk-amount-row p{font-size:15px}.pk-draw-round-list{gap:6px;padding:10px 12px}.pk-draw-round-list p{font-size:17px}.pk-game-grid{grid-template-columns:1fr}.pk-game-card h5{font-size:32px}.pk-game-card p{font-size:16px}.pk-game-card strong{font-size:15px}.pk-game-card footer{align-items:flex-end}.pk-game-card-actions{justify-content:flex-start;width:100%}.pk-game-card-actions button{flex:1;min-width:0;font-size:14px}.pk-battle-main{flex-direction:column;align-items:flex-start}.pk-battle-status{min-height:28px}.pk-battle-actions{width:100%}.pk-action-btn{flex:1;min-width:0}.max-level-reward-modal{width:min(520px,100%)}.max-level-reward-top{padding:18px 16px 14px}.max-level-reward-badge{width:64px;height:64px;font-size:30px}.max-level-reward-pet-wrap{width:220px;height:204px;margin-top:6px}.max-level-reward-pet-crown{font-size:33px;top:0}.max-level-reward-aura-ring.outer{width:170px;height:170px;margin-top:-74px;margin-left:-85px}.max-level-reward-aura-ring.inner{width:136px;height:136px;margin-top:-58px;margin-left:-68px}.max-level-reward-pet-image,.max-level-reward-pet-emoji{width:136px;height:136px}.max-level-reward-pet-emoji{font-size:78px}.max-level-reward-pet-title{min-height:28px;font-size:13px}.max-level-reward-top h3{font-size:28px}.max-level-reward-top p{font-size:16px}.max-level-reward-main{padding:14px 16px 8px}.max-level-reward-coin{font-size:20px}.max-level-reward-coin strong{font-size:28px}.max-level-reward-actions{grid-template-columns:1fr;padding:14px 16px 16px}.score-editor-row.two-col{grid-template-columns:1fr}.score-icon-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.batch-count-pill,.batch-ghost-btn,.batch-outline-btn,.batch-solid-btn{font-size:16px}.group-manager-modal{width:min(760px,100%)}.group-rename-modal{width:min(520px,100%)}.group-manager-head{padding:14px}.group-manager-head h3{font-size:30px}.group-manager-body{padding:12px}.group-create-row,.group-list-row{grid-template-columns:1fr}.group-list-actions{justify-content:flex-start}.group-member-role-item{grid-template-columns:1fr}.group-member-role-actions{justify-content:flex-start}.group-member-role-actions button{flex:1;min-width:0}.group-random-row{flex-direction:column;align-items:stretch}.group-random-row button{width:100%}.batch-feed-rule-grid{grid-template-columns:1fr}.batch-feed-tabs{flex-direction:column}.group-switch-modal,.group-members-modal,.student-record-modal{width:min(520px,100%)}.group-member-item{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;gap:6px 8px}.group-member-rank{grid-row:1/span 2}.group-member-level{grid-column:3}.group-member-coins{grid-column:2/4}.student-batch-actions{flex-direction:column;align-items:stretch}.student-roster-item{grid-template-columns:auto 1fr;gap:6px 8px}.roster-main{flex-wrap:wrap;gap:6px}.roster-sub{max-width:100%}.roster-group-select,.roster-stats,.roster-actions{grid-column:2}.assign-banner{flex-direction:column;align-items:flex-start}.growth-toolbar{grid-template-columns:1fr}.growth-pager{flex-direction:column;align-items:flex-start}.growth-pager-actions{justify-content:space-between;width:100%}.growth-log-list li{grid-template-columns:54px 36px minmax(0,1fr)}.growth-log-main p{font-size:16px}.student-record-list li{grid-template-columns:minmax(0,1fr);gap:6px}.student-record-main{justify-content:space-between}.student-record-main p,.student-record-main>strong{font-size:16px}.coin-achievement-card{width:100%}.cloud-auth-modal-v2{width:min(980px,100%)}.auth-gate-screen{padding:14px}.auth-gate-loading-card{padding:18px 14px}.auth-gate-loading-card h3{font-size:24px}.auth-gate-loading-card p{font-size:15px}.cloud-auth-layout{grid-template-rows:auto minmax(0,1fr);min-height:auto;padding:10px}.cloud-auth-hero{grid-template-columns:1fr;gap:10px;padding:14px}.cloud-auth-hero-circle{display:none}.cloud-auth-hero-brand{gap:10px}.cloud-auth-hero-avatar{width:62px;height:62px;font-size:30px}.cloud-auth-hero-copy h3{font-size:26px}.cloud-auth-hero-copy p{font-size:14px}.cloud-auth-hero ul{grid-template-columns:1fr;gap:6px;font-size:13px}.cloud-auth-main{padding:12px}.cloud-auth-tab-switch button{min-width:84px;height:36px;font-size:16px}.cloud-auth-panel{padding:12px}.cloud-auth-panel h4{font-size:24px}.cloud-auth-subtitle,.cloud-auth-status-line,.cloud-auth-field span,.cloud-auth-remember,.cloud-auth-link-btn,.cloud-auth-register-tip{font-size:14px}.cloud-auth-field input{height:42px;font-size:15px}.cloud-auth-submit-btn{height:44px;font-size:16px}.cloud-auth-panel-small h4{font-size:20px}.admin-panel-modal{grid-template-columns:1fr;width:min(1020px,100%);min-height:min(90vh,900px)}.admin-panel-sidebar{grid-template-rows:auto auto;padding:12px}.admin-panel-menu{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.admin-panel-menu button small{display:none}.admin-panel-head{flex-direction:column;align-items:flex-start;padding:14px 14px 12px}.admin-panel-head-actions{width:100%}.admin-panel-head-actions button{flex:1}.admin-search-pill{width:100%;min-width:0}.admin-form-grid{grid-template-columns:1fr 1fr}.admin-table{min-width:760px}.confirm-modal{width:min(480px,100%)}.confirm-head{padding:14px 14px 12px}.confirm-head h3{font-size:24px}.confirm-body{padding:14px}.confirm-message{padding:12px 13px;font-size:15px}.confirm-note{padding:3px 9px;font-size:11px}.confirm-actions{justify-content:stretch;padding:0 14px 14px}.confirm-actions .confirm-btn{flex:1}}@media (width<=1500px) and (width>=1081px){.top-bar{border-radius:28px;grid-template-columns:minmax(0,1fr) minmax(180px,260px);grid-template-areas:"toolbar search""actions actions";row-gap:8px}.top-actions{white-space:normal;flex-wrap:wrap;justify-content:flex-start}}
