.ico-svg[data-v-236da89c]{display:block;flex:none}.lottery-modal[data-v-f11feeac]{max-width:min(820px,calc(100vw - 40px));text-align:center}.lottery-modal h3[data-v-f11feeac]{display:flex;align-items:center;justify-content:center;gap:6px}.lt-body[data-v-f11feeac]{display:grid;grid-template-columns:440px minmax(0,1fr);gap:24px;align-items:stretch}.lt-side[data-v-f11feeac]{display:flex;flex-direction:column;justify-content:flex-end;gap:20px;min-width:0}.lottery-stage[data-v-f11feeac]{--wh: min(420px, 62vh, 78vw)}.wheel-wrap[data-v-f11feeac]{position:relative;width:var(--wh);height:var(--wh);margin:8px auto}.wheel-pointer[data-v-f11feeac]{position:absolute;top:-8px;left:50%;transform:translate(-50%);z-index:5;color:var(--accent-deep);font-size:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.wheel[data-v-f11feeac]{position:relative;width:var(--wh);height:var(--wh);border-radius:50%;border:8px solid var(--accent);overflow:hidden;box-shadow:0 8px 24px #00000026}.wheel-arm[data-v-f11feeac]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.wheel-label[data-v-f11feeac]{position:absolute;left:50%;top:50%;transform-origin:0 0;transform:rotate(-90deg) translate(calc(var(--wh) * .15625)) translateY(-50%);width:calc(var(--wh) * .30625);text-align:right;line-height:1.15;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wheel-hub[data-v-f11feeac]{position:absolute;top:50%;left:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;z-index:4;box-shadow:0 2px 8px #00000040}.winner[data-v-f11feeac]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;gap:4px;margin:16px 0 8px;animation:pop-f11feeac .4s ease}.winner-avatar[data-v-f11feeac]{width:88px;height:88px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:44px;overflow:hidden}.winner-avatar .av-img[data-v-f11feeac]{width:100%;height:100%;object-fit:cover}.winner-name[data-v-f11feeac]{font-size:28px;font-weight:700;color:var(--tx)}.winner-pts[data-v-f11feeac]{color:var(--accent-deep);font-size:20px;font-weight:600}.lt-placeholder[data-v-f11feeac]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;flex:1;min-height:0}.ph-circle[data-v-f11feeac]{width:120px;height:120px;border-radius:50%;border:3px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--tx3)}.ph-text[data-v-f11feeac]{font-size:16px;color:var(--tx2);font-weight:600}.lottery-controls[data-v-f11feeac]{display:flex;gap:10px;align-items:flex-end;margin-top:6px}.lc-field[data-v-f11feeac]{flex:0 0 auto;width:118px;display:flex;flex-direction:column;gap:6px}.lc-field span[data-v-f11feeac]{font-size:12px;color:var(--tx2);text-align:left}.lc-field input[data-v-f11feeac]{width:100%;height:48px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--tx);font-size:15px;text-align:center;outline:none}.lc-field input[data-v-f11feeac]:focus{border-color:var(--accent)}.lc-btn[data-v-f11feeac]{flex:1;width:auto;height:52px;padding:0 16px;font-size:16px;justify-content:center}.lc-dur[data-v-f11feeac]{flex:1;min-width:0}.lc-dur span[data-v-f11feeac]{display:flex;justify-content:space-between;align-items:baseline}.lc-dur span b[data-v-f11feeac]{color:var(--accent-deep);font-size:13px}.lc-dur input[type=range][data-v-f11feeac]{width:100%;height:48px;margin:0;padding:0;background:transparent;border:none;accent-color:var(--accent);cursor:pointer}.lc-dur input[type=range][data-v-f11feeac]:disabled{cursor:not-allowed;opacity:.6}@keyframes pop-f11feeac{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@media(max-width:900px){.lt-body[data-v-f11feeac]{grid-template-columns:minmax(0,1fr);gap:10px}}@media(min-width:901px){.lt-side .lottery-controls[data-v-f11feeac]{flex-direction:column;align-items:stretch}.lt-side .lc-field[data-v-f11feeac]{width:100%}.lt-side .lc-btn[data-v-f11feeac]{flex:0 0 auto;width:100%;height:58px}}:root,:root[data-theme=claymorphism]{--accent: #f472b6;--accent-deep: #db2777;--accent-soft: #fce7f3;--bg: #fdf4f9;--card: #fffbfd;--line: #f7dcea;--input-bg: #fdf0f7;--pop-bg: var(--card);--medal-gold: #e8a020;--medal-silver: #7f8ea3;--medal-bronze: #b96f38;--medal-gold-bg: rgba(232, 160, 32, .17);--medal-silver-bg: rgba(127, 142, 163, .17);--medal-bronze-bg: rgba(185, 111, 56, .17);--tx: #4a2438;--tx2: #7d5e72;--tx3: #7c6b78;--green: #10b981;--green-soft: #d1fae5;--red: #ef4444;--red-soft: #fee2e2;--amber: #f59e0b;--radius: 24px;--shadow: 0 10px 22px rgba(219, 39, 119, .14), inset 0 4px 8px rgba(255, 255, 255, .78), inset 0 -4px 8px rgba(219, 39, 119, .07);--font-display: Georgia, "Times New Roman", "Songti SC", "SimSun", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Courier New", monospace;--garden-bg: radial-gradient(92% 62% at 50% 0%, rgba(248, 180, 217, .36) 0%, transparent 62%), radial-gradient(70% 50% at 12% 18%, rgba(196, 181, 253, .22) 0%, transparent 62%), linear-gradient(180deg, #3b1f33 0%, #241020 100%)}:root[data-theme=neumorphism]{--accent: #6d5dfc;--accent-deep: #4c3fd6;--accent-soft: #e6e3fe;--bg: #e0e5ec;--card: #e0e5ec;--line: #cbd3e0;--input-bg: #d9e0e9;--tx: #3a4453;--tx2: #555d6a;--tx3: #5e6570;--green: #2eb88a;--green-soft: #d5f0e5;--red: #e5484d;--red-soft: #f8dcde;--amber: #e0a03a;--radius: 16px;--shadow: 6px 6px 14px #c2cad7, -6px -6px 14px #ffffff;--garden-bg: radial-gradient(90% 60% at 50% 0%, rgba(109, 93, 252, .3) 0%, transparent 62%), linear-gradient(180deg, #2b323f 0%, #1a1f28 100%)}:root[data-theme=glassmorphism]{--accent: #e4b863;--accent-deep: #f3dca8;--accent-soft: rgba(228, 184, 99, .16);--bg: #0b1322;--card: rgba(255, 255, 255, .07);--line: rgba(255, 255, 255, .14);--input-bg: rgba(255, 255, 255, .05);--pop-bg: rgba(15, 24, 39, .95);--tx: #eef2f8;--tx2: #9fb0c8;--tx3: #7c8ca2;--green: #4ecdc4;--green-soft: rgba(78, 205, 196, .18);--red: #ff8b8b;--red-soft: rgba(255, 139, 139, .18);--amber: #f0c987;--radius: 20px;--shadow: 0 12px 34px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .16);--garden-bg: radial-gradient(80% 60% at 24% 12%, rgba(228, 184, 99, .26) 0%, transparent 58%), radial-gradient(70% 54% at 80% 4%, rgba(124, 156, 196, .24) 0%, transparent 62%), linear-gradient(180deg, #0b1322 0%, #060a13 100%)}:root[data-theme=memphis]{--accent: #ff6b6b;--accent-deep: #e03e3e;--accent-soft: #ffe2e2;--bg: #fffaf0;--card: #ffffff;--line: #1a1c24;--input-bg: #fff6e5;--tx: #14161c;--tx2: #5c5f6b;--tx3: #70727c;--green: #1dd1a1;--green-soft: #d3f7ee;--red: #ff6b6b;--red-soft: #ffe2e2;--amber: #feca57;--radius: 12px;--shadow: 6px 6px 0 #14161c;--garden-bg: radial-gradient(60% 50% at 16% 22%, rgba(72, 219, 251, .32) 0%, transparent 60%), radial-gradient(55% 46% at 84% 28%, rgba(255, 159, 243, .32) 0%, transparent 60%), linear-gradient(180deg, #2a1a4a 0%, #150c26 100%)}:root[data-theme=pixel-art]{--accent: #ff004d;--accent-deep: #ff5c85;--accent-soft: #3a1229;--bg: #1a1c2c;--card: #24263a;--line: #454a6b;--input-bg: #202238;--tx: #f4f4f4;--tx2: #a8adc4;--tx3: #8a8ea8;--green: #00e436;--green-soft: #123a1c;--red: #ff004d;--red-soft: #3a1229;--amber: #ffec27;--radius: 0px;--shadow: 4px 4px 0 #0d0e16;--font-display: ui-monospace, SFMono-Regular, Menlo, Consolas, "Courier New", monospace;--garden-bg: radial-gradient(70% 40% at 50% 0%, rgba(255, 0, 77, .22) 0%, transparent 60%), linear-gradient(180deg, #1a1c2c 0%, #1a1c2c 46%, #24263a 46%, #24263a 100%)}:root[data-theme=watercolor]{--accent: #4a6fa5;--accent-deep: #34527d;--accent-soft: #e4ecf6;--bg: #faf8f5;--card: #fffdfb;--line: #e7e0d5;--input-bg: #f7f4ef;--tx: #2f3b4d;--tx2: #5f6979;--tx3: #6b717c;--green: #6aa87a;--green-soft: #e2f0e6;--red: #c9736f;--red-soft: #f7e5e3;--amber: #d4a373;--radius: 24px;--shadow: 0 10px 30px rgba(74, 111, 165, .12);--garden-bg: radial-gradient(90% 68% at 32% 8%, rgba(74, 111, 165, .42) 0%, transparent 66%), radial-gradient(70% 58% at 82% 24%, rgba(232, 168, 124, .24) 0%, transparent 62%), linear-gradient(180deg, #1e2a3d 0%, #141b28 100%)}:root[data-theme=ghibli]{--accent: #7cb9a8;--accent-deep: #4e8d7c;--accent-soft: #dcefe9;--bg: #f6f1e3;--card: #fdfaf1;--line: #e3d9c1;--input-bg: #f7f2e6;--tx: #35443c;--tx2: #5c675e;--tx3: #686e69;--green: #9ec069;--green-soft: #e9f1da;--red: #c38d94;--red-soft: #f5e3e5;--amber: #e8a87c;--radius: 24px;--shadow: 0 10px 30px rgba(53, 68, 60, .1);--garden-bg: radial-gradient(86% 64% at 50% 4%, rgba(244, 228, 188, .3) 0%, transparent 60%), linear-gradient(180deg, #1f3a35 0%, #12211f 100%)}:root[data-theme=neo-brutalist]{--accent: #ff006e;--accent-deep: #d10059;--accent-soft: #ffe0ee;--bg: #fffdf5;--card: #ffffff;--line: #000000;--input-bg: #ffffff;--tx: #000000;--tx2: #4a4a4a;--tx3: #737373;--green: #00a86b;--green-soft: #d6f5e6;--red: #ff006e;--red-soft: #ffe0ee;--amber: #ff9500;--radius: 4px;--shadow: 4px 4px 0 #000000;--garden-bg: radial-gradient(70% 45% at 50% 0%, rgba(255, 0, 110, .18) 0%, transparent 60%), linear-gradient(180deg, #000000 0%, #141414 100%)}:root[data-theme=glassmorphism] body{background:radial-gradient(90% 58% at 22% 4%,rgba(228,184,99,.16) 0%,transparent 58%),radial-gradient(78% 54% at 84% 0%,rgba(124,156,196,.18) 0%,transparent 60%),radial-gradient(85% 62% at 50% 104%,rgba(51,81,122,.32) 0%,transparent 64%),#0b1322;background-attachment:fixed}:root[data-theme=glassmorphism] .topbar,:root[data-theme=glassmorphism] .bottom-nav,:root[data-theme=glassmorphism] .stu-card,:root[data-theme=glassmorphism] .group-card,:root[data-theme=glassmorphism] .shop-card{backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%)}:root[data-theme=glassmorphism] select,:root[data-theme=glassmorphism] select:focus,:root[data-theme=glassmorphism] option{background:var(--pop-bg);color:var(--tx)}:root[data-theme=glassmorphism] .help-tl-item .dot{background:#0f1827}:root[data-theme=neumorphism] .stu-card,:root[data-theme=neumorphism] .group-card,:root[data-theme=neumorphism] .shop-card{box-shadow:var(--shadow)}:root[data-theme=neumorphism] .panel,:root[data-theme=neumorphism] .stu-card,:root[data-theme=neumorphism] .group-card,:root[data-theme=neumorphism] .shop-card{border-color:transparent}:root[data-theme=memphis] .panel,:root[data-theme=memphis] .stu-card,:root[data-theme=memphis] .group-card,:root[data-theme=memphis] .shop-card,:root[data-theme=neo-brutalist] .panel,:root[data-theme=neo-brutalist] .stu-card,:root[data-theme=neo-brutalist] .group-card,:root[data-theme=neo-brutalist] .shop-card{border:2px solid var(--line)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--tx);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:14px;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;font-size:14px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:var(--bg)}.auth-shell{width:100%;max-width:940px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 20px 60px #785a7324}.auth-brand{padding:44px 38px;background:linear-gradient(155deg,#2a1f2b,#3b2b3c 55%,#241a26);color:#fff;display:flex;flex-direction:column;gap:16px;justify-content:center}.auth-brand .ab-kicker{font-size:12px;letter-spacing:.22em;color:#ffffff8c}.auth-brand h2{font-family:var(--font-display);font-size:40px;line-height:1.14;letter-spacing:-.02em;font-weight:400}.auth-brand .ab-sub{font-size:13.5px;color:#ffffffa8;line-height:1.7}.auth-brand ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:6px}.auth-brand li{display:flex;align-items:center;gap:10px;font-size:13px;color:#ffffffd1}.auth-brand li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none}.auth-card{padding:44px 38px;display:flex;flex-direction:column;justify-content:center}.auth-card h1{font-size:24px;letter-spacing:-.01em;margin-bottom:6px}.auth-card .sub{color:var(--tx2);font-size:13px;margin-bottom:26px}@media(max-width:860px){.auth-shell{grid-template-columns:1fr;max-width:440px}.auth-brand{padding:30px 28px;gap:12px}.auth-brand h2{font-size:30px}.auth-card{padding:30px 28px}}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;color:var(--tx2);margin-bottom:6px}.field input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);outline:none;transition:border-color .15s}.field input:focus{border-color:var(--accent);background:var(--card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;font-weight:500;transition:opacity .15s,background .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;width:100%;padding:12px;font-size:15px}.btn-primary:hover:not(:disabled){background:var(--accent-deep)}.btn-ghost{border:1px solid var(--line);background:var(--card);color:var(--tx2)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep)}.auth-switch{text-align:center;margin-top:16px;font-size:13px;color:var(--tx2)}.auth-switch button{color:var(--accent-deep);font-weight:500;text-decoration:underline}.err{background:var(--red-soft);color:#c0392b;font-size:13px;padding:9px 12px;border-radius:9px;margin-bottom:14px}.ico-svg{display:inline-block;vertical-align:-2px;flex:none}.btn,.btn-sm,.icon-btn,.mini-btn,.rule-badge,.mini,.tab,.brand,.brand-edit,.plan-tag,.tool-label,.who-school,.who-name,.bottom-nav button,.add-stu,.help-row,.gc-row,.gbtn,.footer,.empty .big,.toolbar>button,.stu-actions button{display:inline-flex;align-items:center;gap:6px}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}.brand-text{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-edit{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--tx3);opacity:0;transition:opacity .16s ease-out,background .16s ease-out}.brand:hover .brand-edit{opacity:1}.brand-edit:hover{background:var(--accent-soft);color:var(--accent-deep)}.topbar .who{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tx2);min-width:0}.who-school{font-size:12.5px;color:var(--tx3);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who-name{font-size:13px;color:var(--tx);font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;max-width:120px;overflow:hidden}.who-name>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who-name-btn{padding:4px 8px;border-radius:8px;transition:background .15s}.who-name-btn:hover{background:var(--accent-soft);color:var(--accent-deep)}.plan-tag{padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:12px;font-weight:700;white-space:nowrap}.logout-btn{padding:6px 12px;white-space:nowrap}.layout{flex:1;display:grid;grid-template-columns:240px minmax(0,1fr) 250px;gap:18px;padding:18px 22px 40px;align-items:start}@media(max-width:1180px){.topbar{gap:10px;padding:12px 16px}.topbar .who{gap:5px}.who-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-tag{padding:3px 8px;font-size:12px}.logout-btn{padding:6px 10px}.quick-tools{gap:0}.quick-tools .icon-btn{width:28px;height:28px}.qt-sep{margin:0 1px}}@media(max-width:1080px){.layout{grid-template-columns:220px minmax(0,1fr)}.col-rank{display:none}}@media(max-width:1080px){.topbar{gap:8px;padding:12px 10px}.topbar .who{gap:4px}.topbar .brand-text{max-width:72px}.who-name{max-width:64px}.plan-tag{padding:3px 7px;font-size:12px}.logout-btn{padding:6px 8px;font-size:12.5px}}@media(max-width:940px){.cp-btn{max-width:150px}.tab{padding:7px 11px}.topbar .who{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}}.layout.single{display:block;max-width:none;margin:0}@media(max-width:760px){.layout{grid-template-columns:1fr;padding:14px}.col-rank{display:block}.topbar{flex-wrap:nowrap;gap:8px;padding:10px 12px}.topbar .tabs{display:none}.brand{font-size:14px;flex:none}.brand-text{max-width:72px}.topbar .who{flex:1;min-width:0;gap:4px;justify-content:flex-end;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.topbar .who::-webkit-scrollbar{display:none}.mask{padding:14px}.modal{padding:18px}.modal-wide{max-width:calc(100vw - 28px)}}.panel{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.panel+.panel{margin-top:14px}.panel h3{font-size:13px;font-weight:600;color:var(--tx2);letter-spacing:.04em;margin-bottom:12px;display:flex;align-items:center;justify-content:flex-start}.panel h3.h3-split{justify-content:space-between}.tree-row{display:flex;align-items:center;gap:2px;margin-bottom:6px}.tree-row>.grade-head,.tree-row>.class-item{flex:1;min-width:0}.row-ops{display:flex;gap:2px;flex:none;opacity:.45;transition:opacity .15s}.tree-row:hover .row-ops,.tree-row:focus-within .row-ops{opacity:1}.op-btn{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--tx3);transition:background .15s,color .15s}.op-btn:hover{background:var(--accent-soft);color:var(--accent-deep)}.op-btn.danger:hover{background:var(--red-soft);color:var(--red)}.class-item{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:10px 12px;border-radius:10px;color:var(--tx);transition:background .15s}.class-item:hover{background:var(--accent-soft)}.tree-row.active .class-item{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.class-item .cnt{font-size:12px;color:var(--tx3);flex:none}.inline-form{display:flex;gap:6px;margin-top:8px}.inline-form input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);outline:none}.inline-form input:focus{border-color:var(--accent)}.grid-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.grid-head h2{font-size:17px}.grid-head .stats{display:flex;gap:16px;font-size:12.5px;color:var(--tx2)}.grid-head .stats b{color:var(--accent-deep);font-size:15px;margin-left:3px}.students{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.stu-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 12px 12px;text-align:center;position:relative;transition:transform .12s,box-shadow .12s}.stu-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stu-avatar{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 8px}.stu-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.stu-points{font-size:22px;font-weight:700;color:var(--amber);line-height:1.1;margin-bottom:10px}.link-btn{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:12.5px;font-weight:600;color:var(--accent-deep);border-bottom:1px dashed currentColor}.link-btn:hover{color:var(--accent)}.stu-actions{display:flex;gap:6px;align-items:stretch}.stu-actions button{flex:1;min-width:0;padding:7px 0;border-radius:9px;font-size:15px;font-weight:700;justify-content:center;transition:filter .15s}.stu-step{flex:0 0 44px;width:44px;min-width:0;padding:0;text-align:center;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--tx);font-size:14px;font-weight:700;outline:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.stu-step:focus{border-color:var(--accent);background:var(--card)}.stu-step::-webkit-outer-spin-button,.stu-step::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stu-actions button:active{filter:brightness(.92)}.plus{background:var(--green-soft);color:var(--green)}.minus{background:var(--red-soft);color:var(--red)}.stu-card-tools{display:flex;justify-content:center;gap:14px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.stu-card-tools .link-btn{font-size:12.5px;padding:2px 4px}.stu-card-tools .link-btn.danger{color:var(--red)}.stu-card-tools .link-btn.danger:hover{background:var(--red-soft)}.rank-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;margin-bottom:4px;font-size:13.5px}.rank-item:nth-child(1){background:var(--medal-gold-bg)}.rank-item:nth-child(2){background:var(--medal-silver-bg)}.rank-item:nth-child(3){background:var(--medal-bronze-bg)}.rank-no{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:20px;font-weight:700;color:var(--tx3);text-align:center;flex:none}.rank-item:nth-child(1) .rank-no{color:var(--medal-gold)}.rank-item:nth-child(2) .rank-no{color:var(--medal-silver)}.rank-item:nth-child(3) .rank-no{color:var(--medal-bronze)}.rank-crown{flex:none}.rank-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-pts{font-weight:700;color:var(--accent-deep);flex:none}.empty{text-align:center;padding:48px 20px;color:var(--tx3)}.empty .big{font-size:40px;margin-bottom:10px}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#3c283766;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;overscroll-behavior:contain;z-index:100}.modal{background:var(--pop-bg);border-radius:16px;padding:22px;width:100%;max-width:380px;box-shadow:0 16px 50px #78506e38}.modal h3{font-size:16px;margin-bottom:4px}.modal .hint{font-size:12.5px;color:var(--tx2);margin-bottom:14px}.modal textarea{width:100%;min-height:110px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;resize:vertical;outline:none;background:var(--input-bg)}.modal textarea:focus{border-color:var(--accent)}.modal-actions{display:flex;gap:10px;margin-top:16px}.modal-actions .btn{flex:1}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%);background:#3b2f39eb;color:#fff;padding:10px 20px;border-radius:999px;font-size:13.5px;z-index:200;display:inline-flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);animation:toastIn .32s cubic-bezier(.22,1,.36,1)}.toast-msg{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-act{flex:none;padding:3px 11px;border-radius:999px;background:#ffffff2e;color:#fff;font-size:12.5px;font-weight:700;transition:background .15s}.toast-act:hover{background:#ffffff52}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.loading{text-align:center;padding:30px;color:var(--tx3);font-size:13px}.mini{flex:none;white-space:nowrap;font-size:12px;color:var(--accent-deep);padding:3px 8px;border-radius:7px;background:var(--accent-soft)}.grade-group{margin-bottom:14px}.grade-group:last-child{margin-bottom:4px}.grade-head{display:flex;align-items:center;gap:7px;text-align:left;font-size:13.5px;font-weight:700;color:var(--tx);padding:7px 9px;border-radius:9px;background:var(--bg)}.grade-head .gname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-head.static{cursor:default;color:var(--tx2)}.grade-head:not(.static):hover{background:var(--accent-soft);color:var(--accent-deep)}.grade-head .arrow{display:inline-block;transition:transform .15s;font-size:12px;color:var(--tx3)}.grade-head .arrow.open{transform:rotate(90deg)}.grade-head .cnt{margin-left:auto;font-size:12px;font-weight:600;color:var(--tx3);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 7px;min-width:22px;text-align:center}.grade-children{margin:3px 0 2px 13px;padding-left:9px;border-left:2px solid var(--line)}.class-item .cname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-item .c-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.class-item .cmeta{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:400;color:var(--tx3)}.class-item .c-tag{flex:none;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:12px;line-height:1.6}.class-item .c-remark{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-head .gremark{min-width:0;font-size:12px;font-weight:400;color:var(--tx3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-inline{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;width:100%;text-align:left;padding:7px 12px;font-size:12.5px;color:var(--tx3);border-radius:8px;border:1px dashed var(--line);margin-top:4px}.add-inline:hover{color:var(--accent-deep);border-color:var(--accent)}.tabs{display:flex;gap:4px;flex-wrap:wrap}.tab{padding:7px 12px;border-radius:999px;font-size:13.5px;color:var(--tx2);border:1px solid transparent}.tab.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.tab:hover:not(.active){background:var(--bg)}.sys-menu{position:relative}.sys-tab{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.sys-drop{position:absolute;top:100%;left:0;margin-top:8px;min-width:168px;padding:6px;background:var(--pop-bg);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px #0000002e;z-index:60;display:flex;flex-direction:column;gap:2px}.sys-drop:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.sys-drop.up{top:auto;bottom:100%;margin-top:0;margin-bottom:8px}.sys-drop.up:before{top:auto;bottom:-8px}.sys-item{text-align:left;padding:9px 12px;border-radius:9px;font-size:13.5px;color:var(--tx);background:transparent}.sys-item:hover{background:var(--accent-soft);color:var(--accent-deep)}.sys-item.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.account-view{max-width:1140px;margin:18px auto;padding:0 16px 28px}.av-head{margin-bottom:16px}.av-title h2{margin:0 0 2px;font-size:20px}.av-sub{font-size:12.5px;color:var(--tx3)}.av-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.av-side{position:sticky;top:84px;display:flex;flex-direction:column;align-items:center;text-align:center}.av-avatar{display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:6px 0 12px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);font-size:30px;font-weight:700;box-shadow:inset 0 -3px 8px #00000014}.av-name{font-size:18px;font-weight:700}.av-user{margin-bottom:12px;font-size:12.5px;color:var(--tx3)}.av-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.av-chip{padding:4px 11px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px}.av-sep{width:100%;height:1px;margin:18px 0 14px;background:var(--line)}.av-rows{width:100%}.av-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:12.5px}.av-row>span{flex:none;color:var(--tx3)}.av-row>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx);font-weight:600}.av-logout{width:100%}.av-stack{display:flex;flex-direction:column;gap:16px}.av-stack>.av-card{margin-top:0}.av-card .modal-actions{justify-content:flex-end}.av-card .modal-actions .btn{flex:0 0 auto;width:auto}@media(max-width:900px){.av-layout{grid-template-columns:1fr}.av-side{position:static}}.av-card h3{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:16px}.av-card .hint,.av-card .field{margin-bottom:12px}.av-lock-state{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:7px 13px;border-radius:999px;background:var(--red-soft);color:var(--red);font-size:13px}.av-lock-state.on{background:var(--green-soft);color:var(--green)}.av-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.av-fields>.field:first-child{grid-column:1 / -1}@media(max-width:640px){.av-fields{grid-template-columns:1fr}}.lock-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:24px;background:#120e186b;backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25)}.lock-card{width:100%;max-width:400px;padding:30px 28px 26px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 70px #00000052;text-align:center}.lock-ico{width:62px;height:62px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep)}.lock-card h2{margin:0 0 6px;font-size:19px}.lock-card p{margin:0 0 18px;font-size:13.5px;color:var(--tx2)}.lock-card input{width:100%;margin-bottom:12px;text-align:center}.lock-err{margin:10px 0 0!important;color:var(--red)!important;font-size:12.5px!important}.lock-forgot-toggle{margin-top:14px;background:none;border:0;padding:0;color:var(--tx3);font-size:12.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.lock-forgot-toggle:hover{color:var(--accent-deep)}.lock-forgot{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.lock-forgot .lock-forgot-hint{margin:0 0 10px!important;font-size:12px!important;color:var(--tx3)!important;text-align:left;line-height:1.5}.sec-head{display:flex;align-items:baseline;gap:12px;margin:0 0 14px;padding-bottom:9px;border-bottom:2px solid var(--tx)}.sec-head .no{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent-deep);font-variant-numeric:tabular-nums;flex:none}.sec-head h2{font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.2}.sec-head .note{margin-left:auto;font-size:12px;color:var(--tx3);flex:none}.stat-grid{display:flex;flex-wrap:wrap;margin-bottom:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.stat-card{flex:1 1 128px;padding:15px 18px;border-left:1px solid var(--line);background:none;border-radius:0}.stat-card:first-child{border-left:none}.stat-card .lab{font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--tx3);margin-bottom:5px}.stat-card .val{font-size:27px;font-weight:700;color:var(--tx);line-height:1.05;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.rising-row{display:flex;flex-wrap:wrap;gap:12px}.rising-card{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);transition:transform .15s}.rising-card:hover{transform:translateY(-2px)}.rising-card.first{background:linear-gradient(135deg,var(--accent-soft),#fff);border-color:var(--accent)}.rising-medal{font-size:20px;display:inline-flex;align-items:center;gap:2px;color:var(--accent)}.rising-medal .rm-no{font-size:14px;color:var(--tx2);font-variant-numeric:tabular-nums}.rising-av{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:18px}.rising-name{font-weight:600;color:var(--tx)}.rising-gain{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}.stat-card .val small{font-size:13px;font-weight:500;color:var(--tx3);letter-spacing:0}.data-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:13.5px;font-variant-numeric:tabular-nums}.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.tbl-scroll>.data-table{min-width:100%;width:max-content}.log-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius)}.lf-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--tx2)}.lf-item select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--tx);font-size:12.5px;max-width:160px;outline:none}.lf-item select:focus{border-color:var(--accent)}.data-table th,.data-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.data-table thead th{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--tx3);padding-top:0;padding-bottom:9px;border-bottom:2px solid var(--tx);background:none;white-space:nowrap}.data-table tbody tr{transition:background .12s ease-out}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--accent-soft)}.data-table .rank-no{width:46px;font-size:17px;font-weight:700;color:var(--tx3);letter-spacing:-.03em}.data-table tbody tr:nth-child(1) .rank-no{color:var(--accent-deep)}.data-table tbody tr:nth-child(2) .rank-no{color:var(--accent)}.data-table tbody tr:nth-child(3) .rank-no{color:var(--amber)}.data-table .num{text-align:right}.bar{height:5px;border-radius:3px;background:var(--line);overflow:hidden;min-width:60px}.bar span{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width .4s cubic-bezier(.22,1,.36,1)}.report-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.report-pick{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-size:13.5px;color:var(--tx);min-width:180px;outline:none}.report-pick:focus{border-color:var(--accent)}.report-export{margin-left:auto}.grade-none{color:var(--tx3)}.sec-head.sub{border-bottom-width:1px;border-bottom-color:var(--line);margin-top:4px}.sec-head.sub h2{font-size:15px}.sec-head.sub .no{font-size:12px}.empty-row{text-align:center!important;color:var(--tx3);padding:22px 0!important}.dash-2col{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:34px;align-items:start}.dash-2col section{min-width:0}@media(max-width:1020px){.dash-2col{grid-template-columns:1fr;gap:26px}}.dist{list-style:none}.dist li{display:grid;grid-template-columns:60px 1fr 38px;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.dist li:last-child{border-bottom:none}.dist-lab{font-size:12px;color:var(--tx2);font-variant-numeric:tabular-nums}.dist-track{display:block;height:18px;background:var(--accent-soft);border-radius:3px;overflow:hidden}.dist-track i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .5s cubic-bezier(.22,1,.36,1)}.dist-num{font-size:14px;font-weight:700;text-align:right;color:var(--tx);font-variant-numeric:tabular-nums}.stu-cell{display:inline-flex;align-items:center;gap:9px}.stu-av{width:26px;height:26px;flex:none;display:grid;place-items:center;font-size:15px;background:var(--bg);border-radius:50%}.view-garden{flex:1;display:flex;min-height:0}.garden-page{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--garden-bg, #0b1622);isolation:isolate}.garden-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#060e1857,#060e180a 36%,#060e1875)}.garden-page.gtheme-forest{background:radial-gradient(farthest-corner at 50% 4%,rgba(255,236,170,.22) 0%,transparent 100%),linear-gradient(180deg,#3f7048,#215636 20%,#1f5138 42%,#2a6b45 66%,#143326);background-repeat:no-repeat}.garden-page.gtheme-space{background:radial-gradient(farthest-corner at 78% 8%,rgba(126,105,235,.3) 0%,transparent 100%),radial-gradient(farthest-corner at 10% 94%,rgba(56,189,248,.16) 0%,transparent 100%),linear-gradient(180deg,#070b1f,#101a3d 46%,#05070f);background-repeat:no-repeat}.garden-page.gtheme-ocean{background:linear-gradient(180deg,#cef6ff57,#a8e6f826 22%,#82cde808 48%,#6ebee100 66%),linear-gradient(180deg,#2aa8c4,#1893b2,#117a9c,#0d6285,#094a6a,#062e44);background-repeat:no-repeat}.garden-fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.fx{position:absolute;display:block;will-change:transform,opacity}.gtheme-forest .fx{top:-10%;left:var(--x);width:calc(9px * var(--sz));height:calc(9px * var(--sz));border-radius:70% 0;background:#c6f4a0d9;box-shadow:0 0 10px #a0eb8273;animation:fx-leaf 9s linear infinite;animation-duration:calc(9s * var(--s));animation-delay:calc(var(--d) * -1s)}.gtheme-forest .garden-fx:before{content:"";position:absolute;left:-6%;right:-6%;bottom:-4%;height:30%;background:radial-gradient(58% 100% at 18% 100%,#0d2a1c 0 62%,transparent 63%),radial-gradient(46% 100% at 48% 100%,#123521 0 62%,transparent 63%),radial-gradient(64% 100% at 82% 100%,#0d2a1c 0 62%,transparent 63%),linear-gradient(180deg,transparent 0%,#0a2015 46%);background-repeat:no-repeat}@keyframes fx-leaf{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:.95}50%{transform:translate(30px,52vh) rotate(240deg)}90%{opacity:.7}to{transform:translate(-14px,108vh) rotate(520deg);opacity:0}}.gtheme-space .fx{top:var(--y);left:var(--x);width:calc(3px * var(--sz));height:calc(3px * var(--sz));border-radius:50%;background:#fff;box-shadow:0 0 8px #ffffffd9;animation:fx-twinkle 3.2s ease-in-out infinite;animation-duration:calc(3.2s * var(--s));animation-delay:calc(var(--d) * -1s)}.gtheme-space .garden-fx:before{content:"";position:absolute;right:7%;top:10%;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fde68a 0%,#f59e0b 46%,rgba(180,83,9,.16) 72%,transparent 74%);box-shadow:0 0 60px #f59e0b42;opacity:.75;animation:fx-float 16s ease-in-out infinite}.gtheme-space .garden-fx:after{content:"";position:absolute;top:14%;left:-12%;width:130px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);filter:drop-shadow(0 0 6px rgba(255,255,255,.8));animation:fx-meteor 7s ease-in infinite;animation-delay:2.5s}@keyframes fx-twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.35)}}@keyframes fx-float{0%,to{transform:translateY(0)}50%{transform:translateY(14px)}}@keyframes fx-meteor{0%{transform:translate(0) rotate(18deg);opacity:0}6%{opacity:1}40%{transform:translate(70vw,26vh) rotate(18deg);opacity:0}to{transform:translate(70vw,26vh) rotate(18deg);opacity:0}}.gtheme-ocean .fx{bottom:-8%;left:var(--x);width:calc(8px * var(--sz));height:calc(8px * var(--sz));border-radius:50%;border:1px solid rgba(224,250,255,.7);background:#e0faff2e;animation:fx-bubble 8s ease-in infinite;animation-duration:calc(8s * var(--s));animation-delay:calc(var(--d) * -1s)}.gtheme-ocean .garden-fx:before{content:"";position:absolute;top:-25%;right:-12%;bottom:-14%;left:-12%;background:linear-gradient(101deg,transparent 41%,rgba(210,245,255,.16) 47%,transparent 53%),linear-gradient(84deg,transparent 60%,rgba(210,245,255,.13) 66%,transparent 72%),linear-gradient(96deg,transparent 24%,rgba(210,245,255,.1) 30%,transparent 36%);animation:fx-rays 13s ease-in-out infinite alternate}.gtheme-ocean .garden-fx:after{content:"";position:absolute;left:-6%;right:-6%;bottom:-4%;height:26%;background:radial-gradient(56% 100% at 22% 100%,#05303f 0 62%,transparent 63%),radial-gradient(48% 100% at 55% 100%,#073946 0 62%,transparent 63%),radial-gradient(62% 100% at 86% 100%,#05303f 0 62%,transparent 63%),linear-gradient(180deg,transparent,#04222d 50%);background-repeat:no-repeat}@keyframes fx-bubble{0%{transform:translate(0) scale(.7);opacity:0}12%{opacity:.85}50%{transform:translate(14px,-52vh) scale(1)}90%{opacity:.5}to{transform:translate(-10px,-110vh) scale(1.1);opacity:0}}@keyframes fx-rays{0%{transform:translate(-3%);opacity:.75}to{transform:translate(3%);opacity:1}}@media(prefers-reduced-motion:reduce){.garden-fx .fx,.garden-fx:before,.garden-fx:after{animation:none!important}}.garden-ui{position:relative;z-index:2;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:12px;padding:14px 14px 10px;color:#fff}.garden-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.garden-kicker{font-size:12px;letter-spacing:.16em;font-weight:500;color:#ffffffa8}.garden-head h1{margin-top:4px;font-size:27px;font-weight:700;letter-spacing:-.02em}.garden-themes{display:flex;gap:4px;padding:5px;border-radius:13px;background:#ffffff21;border:1px solid rgba(255,255,255,.16)}.garden-themes button{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:9px;font-size:13px;color:#ffffffdb;transition:background .18s ease-out,color .18s ease-out}.garden-themes button.on{background:#fff;color:#16202e;font-weight:600}.garden-field{position:relative;flex:1;min-height:190px;display:flex;flex-wrap:wrap;align-content:flex-end;align-items:flex-end;justify-content:center;gap:8px 12px;padding:10px 0}.garden-empty{margin:auto;text-align:center;color:#ffffffd9;font-size:14px}.garden-empty .big{font-size:44px;margin-bottom:6px}.garden-empty .sub{font-size:12.5px;color:#fff9;margin-top:4px}.garden-plant{display:flex;flex-direction:column;align-items:center;gap:3px;transform-origin:bottom center}.plant-img{width:72px;height:72px;background-size:contain;background-repeat:no-repeat;background-position:center bottom;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}.garden-plant.small .plant-img{width:92px;height:92px}.garden-plant.big .plant-img{width:120px;height:120px}.plant-label{font-size:12px;color:#ffffffd1;text-shadow:0 1px 3px rgba(0,0,0,.5)}.garden-plant.in{animation:plantIn .55s cubic-bezier(.22,1,.36,1)}.garden-plant.merging{animation:plantMerge 1s ease-out forwards}.garden-plant.withering{animation:plantWither .9s ease-out forwards}@keyframes plantIn{0%{opacity:0;transform:translateY(16px) scale(.7)}to{opacity:1;transform:none}}@keyframes plantMerge{to{opacity:0;transform:translateY(-10px) scale(.4)}}@keyframes plantWither{60%{opacity:1;transform:rotate(-8deg)}to{opacity:0;transform:translateY(8px) rotate(12deg) scale(.7)}}.garden-progress{position:relative;height:8px;border-radius:5px;background:#ffffff29}.gp-fill{display:block;height:100%;border-radius:5px;background:var(--green);transition:width .18s linear}.gp-text{position:absolute;right:0;top:-19px;font-size:12px;color:#ffffffb3}.garden-console{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) auto;align-items:center;gap:22px;padding:14px 18px;border-radius:16px;background:#09111c99;border:1px solid rgba(255,255,255,.14)}.gc-row{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#ffffffeb;margin-bottom:8px}.gc-val{font-size:19px;color:#fff;font-variant-numeric:tabular-nums}.gc-dot{width:8px;height:8px;border-radius:50%;background:var(--red)}.gc-dot.on{background:var(--green)}.gc-state{font-weight:600;color:#fff}.gc-thr{margin-left:auto;color:#ffffffc7}.gc-track{position:relative;height:10px;border-radius:6px;background:#ffffff24;overflow:hidden}.gc-fill{display:block;height:100%;border-radius:6px;background:var(--green);transition:width .08s linear}.gc-fill.over{background:var(--red)}.gc-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:#ffffffd9}.gc-stats{display:flex;gap:20px;flex-wrap:wrap}.gc-stat{display:flex;flex-direction:column;gap:2px}.gc-stat span{font-size:12px;color:#ffffffd1}.gc-stat b{font-size:18px;color:#fff;font-variant-numeric:tabular-nums}.gc-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gbtn{padding:10px 16px;border-radius:10px;font-size:13px;font-weight:500;color:#fff;background:#ffffff24;border:1px solid rgba(255,255,255,.18);transition:background .16s ease-out}.gbtn:hover{background:#ffffff38}.gbtn:disabled{opacity:.45;cursor:not-allowed}.gbtn.primary{background:#fff;color:#16202e;border-color:transparent;font-weight:600}.gbtn.primary:hover{background:#eef3f8}.gbtn.danger{background:var(--red);border-color:transparent}.gbtn.ghost{background:transparent}.garden-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12px;color:#fff9}.garden-foot .warn{color:#ffcf7a}.garden-foot .ok{color:#7ef2b0}.garden-foot .muted{color:#ffffff73}.gmask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:20px;background:#080e169e;overflow-y:auto}.gmodal{width:100%;max-width:420px;margin:auto;background:var(--pop-bg);color:var(--tx);border-radius:18px;padding:22px;box-shadow:0 24px 60px #00000059}.gmodal h3{font-size:17px;margin-bottom:14px}.gmodal-wide{max-width:620px}.gcols{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:640px){.gcols{grid-template-columns:1fr}}.confetti-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;pointer-events:none;overflow:hidden}.cf{position:absolute;top:-8%;left:var(--x);width:var(--w);height:var(--h);background:var(--c);border-radius:2px;animation:cf-fall var(--dur) linear var(--delay) forwards;will-change:transform,opacity}@keyframes cf-fall{0%{transform:translate(0) rotate(0);opacity:0}8%{opacity:1}75%{opacity:1}to{transform:translate(var(--drift),112vh) rotate(var(--spin));opacity:0}}@media(prefers-reduced-motion:reduce){.confetti-fx{display:none}}.gfield{margin-bottom:12px}.gsec-title{display:flex;align-items:center;gap:6px;margin:2px 0 10px;padding-top:12px;border-top:1px dashed var(--line);font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--accent-deep)}.gsec-title:first-of-type{border-top:none;padding-top:0}.gfield label{display:block;font-size:12px;color:var(--tx2);margin-bottom:5px}.gfield input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);outline:none}.gfield input:focus{border-color:var(--accent)}.gcheck{display:flex;align-items:center;gap:8px;font-size:13px;margin:4px 0 16px}.ghint{font-size:12.5px;color:var(--tx2);line-height:1.6;margin-bottom:12px}.gresult{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.gresult>div{background:var(--bg);border-radius:12px;padding:12px 14px}.gresult span{display:block;font-size:12px;color:var(--tx3);margin-bottom:3px}.gresult b{font-size:21px;color:var(--accent-deep);font-variant-numeric:tabular-nums}.gmodal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.gmodal .gbtn{color:var(--tx);background:var(--bg);border-color:var(--line)}.gmodal .gbtn:hover{background:var(--accent-soft)}.gmodal .gbtn.primary{background:var(--accent);color:#fff;border-color:transparent}.gmodal .gbtn.primary:hover{background:var(--accent-deep)}@media(max-width:1020px){.garden-console{grid-template-columns:1fr;gap:14px}.gc-actions{justify-content:flex-start}}.row-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;border:1px solid var(--line);margin-bottom:8px;font-size:13.5px}.row-item .grow{flex:1;min-width:0}.row-item .sub{font-size:12px;color:var(--tx3);margin-top:2px}.delta-plus{color:var(--green);font-weight:700}.delta-minus{color:var(--red);font-weight:700}.undone{opacity:.45;text-decoration:line-through}.btn-sm{padding:5px 11px;font-size:12.5px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--tx2)}.btn-sm:hover{border-color:var(--accent);color:var(--accent-deep)}.btn-sm.danger:hover{border-color:var(--red);color:var(--red)}.member{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13.5px}.member .avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:14px;flex:none}.badge{font-size:12px;padding:2px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent-deep)}.invite-code{font-family:ui-monospace,Consolas,monospace;font-size:20px;font-weight:700;letter-spacing:3px;color:var(--accent-deep);background:var(--accent-soft);padding:10px 16px;border-radius:10px;display:inline-block;-webkit-user-select:all;user-select:all}.bottom-nav{display:none}@media(max-width:1440px){.brand-text{max-width:128px}}@media(max-width:760px){.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:8px 0 max(10px,env(safe-area-inset-bottom));z-index:50;overflow:visible}.sys-drop.up{left:auto;right:0}.con-card{overflow-x:auto;overscroll-behavior-x:contain}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;color:var(--tx3);padding:4px 2px;min-height:54px;line-height:1.1}.bottom-nav button .ico-svg{display:block;margin:0 auto}.bottom-nav button.active{color:var(--accent-deep)}.bottom-nav .ico{font-size:18px;line-height:1}.layout{padding-bottom:80px!important}.topbar .tabs{display:none}.topbar{gap:10px;padding:12px 14px}.brand-text{max-width:132px}.brand-edit{opacity:1}.who-school,.plan-tag{display:none}.m-hide{display:none!important}.who-name{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .who{gap:5px;flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.logout-btn{padding:6px 9px;font-size:13px}.topbar{overflow:hidden}.topbar .brand{flex:none;min-width:0}.brand-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{align-items:flex-start}.topbar .who{gap:5px;row-gap:6px;flex:1;min-width:0;flex-wrap:wrap;justify-content:flex-start;overflow:visible;scrollbar-width:none}.topbar .who>.class-picker{order:1;flex:1 1 auto;min-width:0}.topbar .who>.who-name,.topbar .who>.logout-btn{order:1}.topbar .who>.icon-btn,.topbar .who>.plan-tag{order:2}.brand-text{max-width:64px}.students{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))!important}.stu-avatar{width:38px!important;height:38px!important;font-size:18px!important}.stu-points{font-size:19px!important}.modal{max-width:none!important}.toast{bottom:90px!important}}html.no-scroll,html.no-scroll body{overflow:hidden}.stu-share{position:absolute;top:6px;left:8px;width:20px;height:20px;border-radius:50%;font-size:12px;line-height:1;opacity:0;transition:opacity .15s}.stu-card:hover .stu-share{opacity:1}.stu-share:hover{background:var(--accent-soft)}@media(hover:none){.stu-share{opacity:1}}.share-url{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);font-size:12.5px;font-family:ui-monospace,Consolas,monospace;outline:none}.share-url:focus{border-color:var(--accent)}.proj{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:var(--bg);overflow:auto}.proj-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,1.6vw,32px);flex-wrap:wrap;padding:clamp(14px,1.6vw,28px) clamp(16px,2vw,40px) clamp(10px,1.1vw,20px);background:var(--bg);border-bottom:1px solid var(--line)}.proj-info{display:flex;align-items:baseline;gap:clamp(14px,1.8vw,36px);flex-wrap:wrap;min-width:0}.proj-class{margin:0;font-size:clamp(24px,3vw,54px);font-weight:800;line-height:1.12;color:var(--tx)}.proj-stats{display:flex;align-items:baseline;gap:clamp(12px,1.4vw,28px);flex-wrap:wrap}.proj-stat{font-size:clamp(13px,1.1vw,20px);color:var(--tx2);white-space:nowrap}.proj-stat b{margin-right:5px;font-size:clamp(20px,2.1vw,40px);font-weight:800;color:var(--tx);font-variant-numeric:tabular-nums}.proj-stat.bad{color:var(--red)}.proj-side{display:flex;align-items:center;gap:clamp(12px,1.4vw,26px);flex-wrap:wrap}.proj-clock{font-size:clamp(22px,2.6vw,46px);font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-deep);line-height:1}.proj-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.proj-sep{width:1px;height:clamp(16px,1.6vw,26px);background:var(--line);flex:none}.proj-btn{display:inline-flex;align-items:center;gap:5px;padding:clamp(5px,.55vw,10px) clamp(9px,.85vw,15px);border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--tx2);font-size:clamp(12px,.9vw,15px);font-weight:500;white-space:nowrap}.proj-btn.icon{padding:clamp(5px,.55vw,10px)}.proj-btn:disabled{opacity:.4;cursor:not-allowed}.proj-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep);font-weight:700}.proj-btn.ghost:hover{border-color:var(--red);color:var(--red)}.proj-body{flex:1;display:flex;flex-direction:column;justify-content:safe center;padding:clamp(14px,1.6vw,30px) clamp(16px,2vw,40px)}.proj-grid,.proj-groups,.proj-rank{width:100%}.proj-empty{text-align:center;padding:60px 20px;color:var(--tx3);font-size:clamp(14px,1.2vw,20px)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(clamp(140px,12vw,240px) * var(--proj-scale, 1)),1fr));gap:calc(clamp(10px,1vw,20px) * var(--proj-scale, 1))}.proj-card{background:var(--card);border-radius:clamp(12px,1.1vw,22px);padding:calc(clamp(12px,1.2vw,24px) * var(--proj-scale, 1)) 10px calc(clamp(10px,1vw,18px) * var(--proj-scale, 1));text-align:center;box-shadow:0 6px 20px #b478a01a}.proj-ava{font-size:calc(clamp(28px,3.2vw,60px) * var(--proj-scale, 1));line-height:1.1}.proj-name{font-size:calc(clamp(14px,1.3vw,26px) * var(--proj-scale, 1));font-weight:600;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-pts{font-size:calc(clamp(24px,3vw,64px) * var(--proj-scale, 1));font-weight:800;color:var(--amber);line-height:1.05;font-variant-numeric:tabular-nums}.proj-rank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(clamp(10px,1vw,18px) * var(--proj-scale, 1)) clamp(14px,1.4vw,28px)}.proj-rank-row{display:flex;align-items:center;gap:clamp(10px,1.1vw,24px);background:var(--card);border-radius:clamp(10px,1vw,18px);padding:calc(clamp(9px,.95vw,20px) * var(--proj-scale, 1)) clamp(14px,1.3vw,28px);box-shadow:0 4px 16px #b478a014}.proj-medal{font-size:clamp(20px,2.2vw,42px);width:clamp(30px,3.2vw,62px);text-align:center;flex:none}.proj-rank-name{font-size:clamp(15px,1.6vw,32px);font-weight:600;width:clamp(84px,11vw,220px);flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-rank-bar{flex:1;min-width:40px;height:clamp(12px,1.3vw,26px);border-radius:999px;background:var(--accent-soft);overflow:hidden}.proj-rank-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#ffb3d0)}.proj-rank-pts{font-size:clamp(18px,2.1vw,44px);font-weight:800;color:var(--accent-deep);width:clamp(54px,6vw,140px);text-align:right;flex:none;font-variant-numeric:tabular-nums}.proj-foot{padding:0 clamp(16px,2vw,40px) clamp(14px,1.6vw,28px);text-align:center;font-size:clamp(11px,.85vw,15px);color:var(--tx3)}@media(max-width:900px){.proj-rank{grid-template-columns:minmax(0,1fr)}.proj-sep{display:none}}.proj-seg{display:inline-flex;align-items:center;gap:4px}.proj-groups{--gw: calc(clamp(300px, 18vw, 340px) * var(--proj-scale, 1));display:flex;flex-wrap:wrap;justify-content:center;gap:calc(clamp(10px,1vw,20px) * var(--proj-scale, 1))}.proj-gcard{flex:0 0 var(--gw);max-width:100%;display:flex;flex-direction:column;align-items:center;gap:calc(3px * var(--proj-scale, 1));padding:calc(clamp(12px,1.2vw,24px) * var(--proj-scale, 1)) 10px calc(clamp(10px,1vw,18px) * var(--proj-scale, 1));background:var(--card);border-radius:clamp(12px,1.1vw,22px);text-align:center;box-shadow:0 6px 20px #b478a01a}.proj-gava{font-size:calc(clamp(28px,3.2vw,60px) * var(--proj-scale, 1));line-height:1.1}.proj-gname{max-width:100%;font-size:calc(clamp(14px,1.3vw,26px) * var(--proj-scale, 1));font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-gpts{font-size:calc(clamp(24px,3vw,64px) * var(--proj-scale, 1));font-weight:800;color:var(--amber);line-height:1.05;font-variant-numeric:tabular-nums}.proj-gmwrap{width:100%;min-width:0;margin-top:calc(4px * var(--proj-scale, 1));padding-top:calc(8px * var(--proj-scale, 1));border-top:1px solid var(--line);text-align:left}.proj-gmembers{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(4px * var(--proj-scale, 1)) calc(10px * var(--proj-scale, 1));height:calc(166px * var(--proj-scale, 1) + 1px);align-content:start;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.proj-gmembers::-webkit-scrollbar{width:calc(12px * var(--proj-scale, 1));height:calc(12px * var(--proj-scale, 1))}.proj-gmembers::-webkit-scrollbar-track{background:transparent}.proj-gmembers::-webkit-scrollbar-thumb{border:calc(3px * var(--proj-scale, 1)) solid transparent;border-radius:var(--radius);background-color:var(--tx3);background-color:color-mix(in srgb,var(--tx3) 65%,transparent);background-clip:padding-box}.proj-gmembers::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}.proj-mrow{display:flex;align-items:center;gap:calc(6px * var(--proj-scale, 1));min-width:0;padding:calc(2px * var(--proj-scale, 1)) calc(4px * var(--proj-scale, 1));border-radius:calc(6px * var(--proj-scale, 1))}.proj-mrow.is-leader{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.proj-mav{display:inline-flex;align-items:center;justify-content:center;width:calc(26px * var(--proj-scale, 1));height:calc(26px * var(--proj-scale, 1));border-radius:999px;background:var(--accent-soft);font-size:calc(14px * var(--proj-scale, 1));overflow:hidden;flex:none}.proj-mav .av-img{width:100%;height:100%;object-fit:cover}.proj-mname{flex:1 1 auto;min-width:0;font-size:calc(15px * var(--proj-scale, 1));font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-mcrown{display:inline-flex;flex:none;width:calc(14px * var(--proj-scale, 1));height:calc(14px * var(--proj-scale, 1));color:var(--amber)}.proj-mcrown .ico-svg{width:100%;height:100%}.proj-mpts{flex:none;min-width:3ch;text-align:right;font-size:calc(15px * var(--proj-scale, 1));font-weight:800;color:var(--amber);font-variant-numeric:tabular-nums}.proj-gcount{margin-top:auto;font-size:calc(clamp(11px,.9vw,15px) * var(--proj-scale, 1));color:var(--tx3)}.proj-rank-row.grp .proj-rank-name{width:clamp(110px,13vw,250px)}.proj-rank-sub{flex:none;font-size:clamp(11px,1vw,18px);font-weight:700;color:var(--tx3);font-variant-numeric:tabular-nums}.proj-gnote{margin-top:calc(clamp(10px,1vw,18px) * var(--proj-scale, 1));text-align:center;font-size:calc(clamp(12px,1vw,17px) * var(--proj-scale, 1));color:var(--tx3)}.proj-empty-sub{margin-top:8px;font-size:.8em;color:var(--tx3)}@media(max-width:900px){.proj-rank-row.grp .proj-rank-name{width:clamp(88px,26vw,160px)}}@media(max-width:1535px){.proj-seg .proj-btn{padding-left:8px;padding-right:8px;font-size:12px}}.garden-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}@media(max-width:880px){.garden-layout{grid-template-columns:1fr}}.garden-panel{background:var(--bg);border-radius:14px;padding:16px}.garden-stage{background:linear-gradient(180deg,#f3fbf6,#eef4ff);border-radius:14px;padding:18px}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg-btn{padding:7px 14px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--tx2);font-size:13px}.seg-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep);font-weight:600}.seg-btn:disabled{opacity:.55;cursor:not-allowed}.thr-row{display:flex;align-items:center;gap:12px}.thr-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.thr-val{font-size:18px;color:var(--accent-deep);min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.meter{margin-top:16px}.meter-track{position:relative;height:14px;border-radius:999px;background:#e9dfe8;border:1px solid var(--line);overflow:hidden}.meter-fill{display:block;height:100%;border-radius:999px;background:var(--green);transition:width .12s linear}.meter-fill.over{background:var(--red)}.meter-mark{position:absolute;top:0;bottom:0;width:2px;background:var(--accent-deep)}.meter-lab{display:flex;justify-content:space-between;font-size:12px;color:var(--tx2);margin-top:8px}.garden-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.stage-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}.ring{--p: 0;width:150px;height:150px;border-radius:50%;flex:none;background:conic-gradient(var(--accent) calc(var(--p) * 1%),var(--accent-soft) 0);display:flex;align-items:center;justify-content:center}.ring-in{width:116px;height:116px;border-radius:50%;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-num{font-size:30px;font-weight:800;color:var(--accent-deep);line-height:1.05;font-variant-numeric:tabular-nums}.ring-lab{font-size:12px;color:var(--tx3)}.stage-stats{display:flex;gap:20px;flex-wrap:wrap}.stage-stat .lab{font-size:12px;color:var(--tx3)}.stage-stat .val{font-size:22px;font-weight:700;color:var(--accent-deep);font-variant-numeric:tabular-nums}.soil{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;min-height:104px;padding:14px;border-radius:12px;background:linear-gradient(180deg,transparent 52%,#e4f1e0 52%)}.plant{width:44px;text-align:center}.plant-ico{display:block;font-size:30px;line-height:1;transition:transform .3s ease}.plant.empty .plant-ico{color:var(--tx3);font-size:22px}.plant-ico.st1{transform:scale(.78)}.plant-ico.st2{transform:scale(.95)}.plant-ico.st3{transform:scale(1.1)}.plant-ico.st4{transform:scale(1.24)}.soil-lab{font-size:12px;color:var(--tx3);margin-top:8px}.parent-wrap{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:32px 18px 48px;background:var(--bg)}.parent-card{width:100%;max-width:440px;background:var(--card);border-radius:20px;padding:26px 24px 24px;box-shadow:0 12px 40px #b478a024}.parent-brand{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tx2);margin-bottom:20px}.parent-brand .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.parent-head{display:flex;align-items:center;gap:14px}.parent-ava{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:28px;flex:none}.parent-name{font-size:20px;font-weight:700}.parent-points{text-align:center;padding:22px 0 18px}.pp-num{font-size:56px;font-weight:800;color:var(--amber);line-height:1;font-variant-numeric:tabular-nums}.pp-lab{font-size:12.5px;color:var(--tx3);margin-top:6px}.parent-cmp{text-align:center;font-size:13px;color:var(--accent-deep);background:var(--accent-soft);border-radius:10px;padding:9px;margin-top:12px}.parent-sec-title{font-size:12.5px;color:var(--tx2);font-weight:600;margin-bottom:8px}.parent-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--tx3);text-align:center;line-height:1.7}.parent-err{text-align:center;padding:40px 10px}@media(max-width:760px){.garden-stage{padding:14px}.ring{width:118px;height:118px}.ring-in{width:90px;height:90px}.ring-num{font-size:24px}.proj-rank-name{width:74px}.proj-rank-pts{width:48px}.plant{width:38px}}.tool-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tool-label{font-size:12.5px;color:var(--tx2)}.mini-input{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);outline:none;font-size:13.5px;min-width:160px}.mini-input:focus{border-color:var(--accent);background:var(--card)}.mini-btn{padding:8px 12px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--tx);font-size:13px;transition:background .15s,border-color .15s}.mini-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.icon-btn{width:34px;height:34px;border-radius:9px;border:1px solid transparent;background:var(--accent-soft);color:var(--accent-deep);font-size:16px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--accent);color:#fff}.field-label{display:block;font-size:12.5px;color:var(--tx2);margin:10px 0 6px}.modal-wide{max-width:560px;width:92vw}.modal select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);outline:none;font-size:14px}.modal select:focus{border-color:var(--accent);background:var(--card)}.mask.inner{background:#28142359}.switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--tx2);cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{width:16px;height:16px;accent-color:var(--accent)}.seg>button{padding:7px 14px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--tx2);font-size:13px}.seg>button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep);font-weight:600}.inline-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--tx2)}.step-input{width:62px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);text-align:center;outline:none}.step-input:focus{border-color:var(--accent);background:var(--card)}.groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:14px}.group-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.group-head{display:flex;justify-content:space-between;align-items:flex-start}.group-name{font-weight:700;font-size:15px}.group-sub{font-size:12px;color:var(--tx3);margin-top:5px}.leader-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--accent-deep);background:var(--accent-soft)}.leader-chip.none{color:var(--tx3);background:var(--bg)}.group-score{font-size:22px;font-weight:800;color:var(--accent-deep);min-width:44px;text-align:right}.group-tools{display:flex;gap:8px;flex-wrap:wrap}.group-tools .mini-btn{background:var(--accent-soft);border-color:transparent;color:var(--accent-deep);font-weight:600}.group-tools .mini-btn:hover{background:var(--accent);color:#fff}.group-tools .mini-btn.danger{background:var(--red-soft);color:var(--red)}.group-tools .mini-btn.danger:hover{background:var(--red);color:#fff}.members{display:flex;flex-direction:column;gap:6px}.member{display:flex;align-items:center;gap:6px;background:var(--input-bg);border-radius:9px;padding:5px 8px;font-size:13px}.member.leader{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.leader-tag{flex:none;padding:1px 7px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;color:#fff;background:var(--accent)}.m-avatar{font-size:15px}.m-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-points{font-weight:700;color:var(--accent-deep);min-width:24px;text-align:right}.m-btn{width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:var(--bg);color:var(--tx2);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.m-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.m-del{color:var(--red)}.members-empty{font-size:12.5px;color:var(--tx3);padding:4px}.group-adjust{display:flex;align-items:center;gap:8px;justify-content:flex-end}.groups{--g-row-h: 34px;--g-row-gap: 6px;--g-visible-rows: 5;--g-members-h: calc( var(--g-visible-rows) * var(--g-row-h) + (var(--g-visible-rows) - 1) * var(--g-row-gap) )}.groups .gh-left{flex:1 1 auto}.groups .gh-left>div{flex:1;min-width:0}.groups .group-name{min-height:1.6em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.groups .group-score{flex:none;white-space:nowrap}.groups .group-sub{display:flex;align-items:center;gap:8px;min-width:0}.groups .leader-chip{min-width:0;max-width:100%}.groups .leader-chip .lc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groups .group-count{flex:none;white-space:nowrap}.groups .group-tools{flex-wrap:nowrap;gap:8px}.groups .group-tools .mini-btn{flex:0 0 auto;padding:8px 10px}.groups .members{flex:0 0 auto;height:var(--g-members-h);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.groups .member{flex:0 0 auto;min-height:var(--g-row-h)}.groups .members::-webkit-scrollbar{width:8px;height:8px}.groups .members::-webkit-scrollbar-track{background:transparent}.groups .members::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius);background-color:var(--tx3);background-color:color-mix(in srgb,var(--tx3) 55%,transparent);background-clip:padding-box}.groups .members::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:14px}.shop-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.shop-icon{width:48px;height:48px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--accent-soft);font-size:27px;line-height:1;overflow:hidden}.shop-icon .av-img{width:100%;height:100%;border-radius:12px;vertical-align:baseline}.shop-icon-pick{display:flex;align-items:center;gap:10px;margin-bottom:12px}.shop-icon-preview{width:48px;height:48px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--accent-soft);font-size:27px;line-height:1;overflow:hidden}.shop-icon-preview .av-img{width:100%;height:100%;border-radius:12px;vertical-align:baseline}.shop-name{font-weight:700;font-size:15px}.shop-desc{font-size:12.5px;color:var(--tx2);min-height:20px}.shop-meta{display:flex;justify-content:space-between;font-size:12.5px}.shop-meta .cost{color:var(--accent-deep);font-weight:600}.shop-meta .stock{color:var(--tx2)}.shop-meta .stock.out{color:var(--red)}.shop-tools{display:flex;gap:8px}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:300px;overflow:auto;margin-top:10px}.pick-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;font-size:13px;cursor:pointer;background:var(--input-bg)}.pick-item.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.pick-item input{accent-color:var(--accent)}.batch-adjust{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.rule-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.rule-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg)}.rule-name{flex:1;font-size:13.5px}.rule-points{font-weight:700;color:var(--green)}.rule-points.neg{color:var(--red)}.rule-pick{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);font-size:14px;width:100%}.rule-pick:hover{background:var(--accent-soft);border-color:var(--accent)}.rule-badge{gap:4px;font-size:12.5px;color:var(--accent-deep);background:var(--accent-soft);padding:4px 10px;border-radius:8px}.roll-area{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;min-height:120px;margin:16px 0;padding:16px;background:var(--input-bg);border-radius:12px}.roll-chip{padding:10px 16px;border-radius:10px;background:var(--card);border:1px solid var(--line);font-size:16px;font-weight:600;transition:transform .1s,background .15s}.roll-chip.hit{background:var(--accent);color:#fff;border-color:var(--accent);transform:scale(1.08)}.timer-display{font-size:40px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:1px;color:var(--accent-deep);margin:10px 0}.cd-inputs{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--tx2);margin-bottom:6px}.cd-inputs input{width:56px;padding:8px;border:1px solid var(--line);border-radius:9px;text-align:center;background:var(--input-bg);outline:none}.timer-pill{position:fixed;top:66px;right:16px;z-index:60;background:var(--accent);color:#fff;font-weight:700;padding:8px 16px;border-radius:999px;cursor:pointer;box-shadow:0 6px 20px #e14b8559;font-variant-numeric:tabular-nums}.exchange-summary{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--green-soft);color:#14724a;font-size:13px}.exchange-summary.bad{background:var(--red-soft);color:#b23b38}@media(max-width:760px){.shop-grid,.groups{grid-template-columns:1fr}.timer-display{font-size:34px}.timer-pill{top:58px}}.activate-wrap{min-height:100vh;display:grid;place-items:center;padding:44px 24px;background:var(--bg)}.activate-card{width:100%;max-width:470px;padding:40px 36px 26px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.ac-kicker{font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--accent-deep);margin-bottom:12px}.activate-card h1{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:9px}.ac-sub{font-size:13px;color:var(--tx2);line-height:1.7;margin-bottom:22px}.ac-current{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:18px;background:var(--bg);border:1px solid var(--line);border-radius:9px;font-size:12.5px;color:var(--tx3)}.ac-current b{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.06em;color:var(--tx)}.ac-state{margin-left:auto;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;flex:none}.ac-state.ok{background:var(--green-soft);color:var(--green)}.ac-state.bad{background:var(--red-soft);color:var(--red)}.ac-input{font-family:var(--font-mono);font-size:16px!important;letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums}.ac-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--tx3)}.ac-foot button{border:none;background:none;font-size:12px;color:var(--tx2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ac-foot button:hover{color:var(--accent-deep)}.console{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.console-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.ct-brand{display:flex;align-items:center;gap:12px}.ct-logo{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--accent);color:#fff}.ct-title{display:flex;flex-direction:column;line-height:1.35}.ct-title strong{font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--tx)}.ct-title span{font-size:12px;letter-spacing:.04em;color:var(--tx3)}.ct-right{display:flex;align-items:center;gap:10px}.ct-right .btn{display:inline-flex;align-items:center;gap:6px}.ct-user{font-size:13px;color:var(--tx2);margin-right:4px}.console-body{flex:1;display:grid;grid-template-columns:214px minmax(0,1fr);gap:22px;padding:22px 24px 44px;align-items:start}.console-nav{position:sticky;top:78px;display:flex;flex-direction:column;gap:3px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.cn-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-size:13.5px;text-align:left;color:var(--tx2);transition:background .16s ease-out,color .16s ease-out}.cn-item:hover:not(.on){background:var(--bg);color:var(--tx)}.cn-item.on{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.cn-foot{margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}.cn-refresh{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:9px;font-size:12.5px;color:var(--tx3)}.cn-refresh:hover:not(:disabled){background:var(--bg);color:var(--tx2)}.cn-refresh:disabled{cursor:default}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.console-main{min-width:0}.con-head{margin-bottom:18px}.con-head h2{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--tx)}.con-head p{margin-top:5px;font-size:12.5px;line-height:1.7;color:var(--tx3)}.con-card{margin-bottom:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.con-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px 12px;border-bottom:1px solid var(--line)}.con-card-head h3{font-family:var(--font-display);font-size:14.5px;font-weight:700;color:var(--tx)}.con-card .data-table{margin:0}.con-card .data-table th:first-child,.con-card .data-table td:first-child{padding-left:18px}.con-card .data-table th:last-child,.con-card .data-table td:last-child{padding-right:18px}.console-main .stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.console-main .stat{display:flex;flex-direction:column;gap:7px;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.st-k{font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--tx3)}.st-v{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--tx);font-variant-numeric:tabular-nums}.con-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.con-search{display:flex;align-items:center;gap:8px;padding:8px 13px;min-width:240px;background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--tx3)}.con-search input{flex:1;min-width:0;border:none;background:transparent;font-size:13px;color:var(--tx);outline:none}.gen-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:16px 18px}.gen-field{display:flex;flex-direction:column;gap:6px;min-width:0}.gen-field.grow{flex:1 1 200px}.gen-field>span{font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--tx3)}.gen-field input,.gen-field select{width:100%;min-width:104px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);font-size:13.5px;color:var(--tx);outline:none;font-variant-numeric:tabular-nums}.gen-field input:focus,.gen-field select:focus{border-color:var(--accent);background:var(--card)}.gen-row .btn-primary{display:inline-flex;align-items:center;gap:6px;width:auto;flex:none;padding:10px 24px;font-size:14px}.created-box{margin:0 18px 18px;padding:14px 16px;background:var(--green-soft);border-radius:11px}.created-head{display:flex;align-items:center;gap:12px;margin-bottom:11px;font-size:13px;color:var(--tx)}.created-head .mini-btn{margin-left:auto;display:inline-flex;align-items:center;gap:5px;background:var(--card)}.created-list{display:flex;flex-wrap:wrap;gap:7px}.code-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 11px;background:var(--card);border:1px solid var(--line);border-radius:8px;color:var(--tx)}.code-chip:hover{border-color:var(--accent)}.chip-meta{font-size:12px;color:var(--tx3)}.code-inline{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border-radius:6px;color:var(--tx3)}.code-inline:hover{background:var(--accent-soft);color:var(--accent-deep)}.code-inline .mono{color:inherit}.dim{color:var(--tx3)}.ta-r,.data-table th.ta-r,.data-table td.ta-r{text-align:right}.cell-ell{display:inline-block;max-width:clamp(120px,16vw,220px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.lic-table th,.lic-table td{padding-left:10px;padding-right:10px}.lic-table .cell-ell{max-width:clamp(88px,10vw,150px)}.lic-table .acc-name{max-width:150px}.lic-table .acc-sub{max-width:168px;overflow:hidden;text-overflow:ellipsis}.lic-table th:last-child,.lic-table td:last-child{position:sticky;right:0;background:var(--card);box-shadow:-1px 0 0 var(--line),-12px 0 16px -12px #00000029}.lic-table thead th:last-child{z-index:2}.lic-table tbody td:last-child{z-index:1}.acc-cell{display:flex;flex-direction:column;gap:2px;line-height:1.35}.acc-name{font-weight:600;color:var(--tx);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-sub{font-size:11.5px;color:var(--tx3);white-space:nowrap}.acc-via{margin-left:5px;padding:1px 5px;border-radius:5px;background:var(--accent-soft);color:var(--accent-deep);font-style:normal;font-size:10.5px}.nowrap{white-space:nowrap}.ta-r .mini-btn{display:inline-flex;align-items:center;gap:4px}.ta-r .mini-btn+.mini-btn{margin-left:6px}.mini-btn.danger:hover{background:var(--red-soft);color:var(--red)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.pill.is-active{background:var(--green-soft);color:var(--green)}.pill.is-unused{background:var(--accent-soft);color:var(--accent-deep)}.pill.is-disabled,.pill.is-expired{background:var(--red-soft);color:var(--red)}.pill.is-none{background:var(--bg);color:var(--tx3);border:1px solid var(--line)}.plan-matrix td,.plan-matrix th{text-align:center}.plan-matrix td:first-child,.plan-matrix th:first-child{text-align:left}.plan-matrix .row-k{font-weight:500;color:var(--tx2)}.plan-matrix .yes{display:inline-block;color:var(--green)}.plan-matrix .no{display:inline-block;color:var(--tx3);opacity:.55}.plan-note{padding:14px 18px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.8;color:var(--tx3)}.admin-add{display:flex;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.admin-add input{flex:1;min-width:0;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);font-size:13.5px;color:var(--tx);outline:none}.admin-add input:focus{border-color:var(--accent);background:var(--card)}.admin-add .btn-primary{display:inline-flex;align-items:center;gap:6px;width:auto;flex:none}.admin-list{list-style:none;padding:8px 10px}.admin-list li{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:9px}.admin-list li:hover{background:var(--bg)}.admin-list li.empty{padding:24px 8px;justify-content:center;font-size:13px}.al-name{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--tx)}.admin-list .mini-btn{margin-left:auto}.env-note{display:flex;align-items:center;gap:8px;margin:0 18px 16px;padding:10px 13px;background:var(--accent-soft);border-radius:9px;font-size:12px;line-height:1.7;color:var(--tx2)}.theme-modal{max-width:520px}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 6px}.theme-card{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--card);text-align:left;transition:border-color .16s ease-out,transform .16s ease-out}.theme-card:hover{border-color:var(--accent);transform:translateY(-1px)}.theme-card.on{border-color:var(--accent);background:var(--accent-soft)}.tc-swatch{width:26px;height:26px;flex:none;border-radius:8px;box-shadow:inset 0 0 0 1px #00000014}.tc-body{display:flex;flex-direction:column;gap:2px;min-width:0}.tc-body b{font-size:13.5px;font-weight:600;color:var(--tx)}.tc-body em{font-style:normal;font-size:12px;color:var(--tx3)}.tc-check{margin-left:auto;color:var(--accent-deep)}.brand-logo{width:26px;height:26px;flex:none;border-radius:7px;object-fit:cover;background:var(--bg)}.brand-modal{max-width:480px}.brand-row{display:flex;gap:18px;align-items:flex-start;margin:16px 0 4px}.brand-drop{width:96px;height:96px;flex:none;display:grid;place-items:center;border:1.5px dashed var(--line);border-radius:14px;background:var(--bg);color:var(--tx3);cursor:pointer;overflow:hidden;transition:border-color .16s ease-out,color .16s ease-out}.brand-drop:hover,.brand-drop.over{border-color:var(--accent);color:var(--accent)}.brand-drop img{width:100%;height:100%;object-fit:cover}.brand-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.brand-fields input{width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);font-size:14px;color:var(--tx);outline:none}.brand-fields input:focus{border-color:var(--accent);background:var(--card)}.brand-btns{display:flex;gap:9px}.brand-tip{font-size:12px;line-height:1.7;color:var(--tx3)}.brand-locked{margin-top:14px;padding:14px 16px;background:var(--accent-soft);border-radius:11px;font-size:12.5px;line-height:1.8;color:var(--tx2)}.brand-locked b{color:var(--accent-deep)}.feature-lock{max-width:560px;margin:60px auto;padding:34px 30px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.fl-ico{width:54px;height:54px;margin:0 auto 16px;display:grid;place-items:center;border-radius:16px;background:var(--accent-soft);color:var(--accent-deep)}.feature-lock h3{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--tx)}.feature-lock p{margin-top:9px;font-size:13px;line-height:1.8;color:var(--tx2)}.hw-locked{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--accent-deep)}.hw-locked h3{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--tx)}.hw-locked p{font-size:12.5px;color:var(--tx3)}.hw-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.hw-clock{display:flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:var(--bg);color:var(--tx2)}.hw-clock b{font-family:var(--font-mono);font-size:21px;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--tx)}.hw-clock.on{background:var(--accent-soft);color:var(--accent-deep)}.hw-clock.on b{color:var(--accent-deep)}.hw-set{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tx3)}.hw-set input{width:62px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);font-size:13.5px;color:var(--tx);text-align:center;outline:none;font-variant-numeric:tabular-nums}.hw-set input:focus{border-color:var(--accent);background:var(--card)}.hw-go{display:inline-flex;align-items:center;gap:6px;width:auto;padding:9px 22px}.hw-go.stop{background:var(--red)}.hw-bar .mini-btn{display:inline-flex;align-items:center;gap:5px}.hw-bar .mini-btn:first-of-type{margin-left:auto}.hw-tip{display:flex;align-items:center;gap:7px;margin:12px 0 16px;font-size:12.5px;color:var(--tx3)}.hw-main{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:18px;align-items:start}.hw-grid-wrap{padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.hw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.hw-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:13px 8px 11px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);transition:transform .14s ease-out,border-color .14s ease-out,background .14s ease-out}.hw-card:hover:not(.off){transform:translateY(-2px);border-color:var(--accent)}.hw-card.done{background:var(--green-soft);border-color:var(--green)}.hw-card.off{cursor:default;opacity:.72}.hw-av{font-size:26px;line-height:1}.hw-name{font-size:13px;font-weight:600;color:var(--tx)}.hw-pt{font-size:12px;color:var(--tx3);font-variant-numeric:tabular-nums}.hw-ok{position:absolute;top:7px;right:7px;color:var(--green)}.hw-rank{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.hw-rank .sec-head{padding:14px 16px 10px;margin:0}.hw-rank-list{list-style:none;max-height:460px;overflow-y:auto}.hw-rank-list li{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid var(--line);font-size:13px}.hw-rank-list .rk{width:21px;height:21px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--bg);font-size:12px;font-weight:700;color:var(--tx2);font-variant-numeric:tabular-nums}.hw-rank-list li.r1 .rk{background:#f59e0b;color:#fff}.hw-rank-list li.r2 .rk{background:#94a3b8;color:#fff}.hw-rank-list li.r3 .rk{background:#d97706;color:#fff}.hw-rank-list .rn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx)}.hw-rank-list .rt{font-family:var(--font-mono);font-size:12px;color:var(--tx3);font-variant-numeric:tabular-nums}.hw-rank-list .rd{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:6px;color:var(--tx3)}.hw-rank-list .rd:hover{background:var(--red-soft);color:var(--red)}.hw-result-modal{max-width:460px}.hw-result-modal h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.hw-result-modal h3 .note{font-size:12.5px;font-weight:400;color:var(--tx3);white-space:nowrap}.hw-result-list{max-height:440px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--input-bg)}.hw-result-row{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border-bottom:1px solid var(--line);font-size:13.5px}.hw-result-row:last-child{border-bottom:0}.hw-result-row .rk{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;width:58px;font-weight:600;color:var(--accent-deep);font-variant-numeric:tabular-nums}.hw-result-row .stu-cell{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hw-result-row .rt{flex:none;font-size:12.5px;color:var(--tx2)}.hw-result-row .rp{flex:none;width:52px;text-align:right;color:var(--green);font-variant-numeric:tabular-nums}.hw-view-result{display:inline-flex;align-items:center;gap:6px;width:auto;margin-left:4px;padding:9px 16px}.hw-award{display:inline-flex;align-items:center;gap:6px}.hw-rule{display:flex;flex-direction:column;gap:11px;margin:14px 0 4px}.hw-rule label{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;color:var(--tx2)}.hw-rule input{width:64px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);font-size:13px;color:var(--tx);text-align:center;outline:none;font-variant-numeric:tabular-nums}.hw-rule input:focus{border-color:var(--accent);background:var(--card)}.hw-rule .hw-rule-pt{width:72px;border-color:var(--accent);color:var(--accent-deep);font-weight:700}@media(max-width:1100px){.console-main .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.hw-main{grid-template-columns:1fr}}@media(max-width:860px){.console-body{grid-template-columns:1fr;padding:16px 14px 40px}.console-nav{position:static;flex-direction:row;flex-wrap:wrap}.cn-foot{width:100%}.console-top{flex-wrap:wrap;padding:12px 14px}.con-toolbar{align-items:stretch}.con-search{min-width:0;width:100%}}.mono{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.03em;font-variant-numeric:tabular-nums}@media(max-width:860px){.activate-card{padding:30px 24px 22px}.activate-card h1{font-size:25px}}.layout,.view-garden{animation:viewIn .32s cubic-bezier(.22,1,.36,1)}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.students .stu-card{animation:cardIn .4s cubic-bezier(.22,1,.36,1) both;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s}.students .stu-card:nth-child(1){animation-delay:.01s}.students .stu-card:nth-child(2){animation-delay:.03s}.students .stu-card:nth-child(3){animation-delay:.05s}.students .stu-card:nth-child(4){animation-delay:.07s}.students .stu-card:nth-child(5){animation-delay:.09s}.students .stu-card:nth-child(6){animation-delay:.11s}.students .stu-card:nth-child(n+7){animation-delay:.13s}.students .stu-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #0000001f}@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.stu-actions button{transition:transform .12s cubic-bezier(.34,1.56,.64,1),filter .15s}.stu-actions button:active{transform:scale(.86)}.stu-points{transition:color .2s,transform .2s}.stu-card:hover .stu-points{transform:scale(1.06)}.tab{transition:background .2s,color .2s,transform .15s}.tab:hover{transform:translateY(-1px)}.tab.active{animation:tabPop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes tabPop{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}.btn{transition:transform .14s cubic-bezier(.34,1.56,.64,1),background .15s,opacity .15s,box-shadow .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 18px #0000002e}.mask{animation:maskIn .2s ease}.mask .modal{margin:auto;animation:modalIn .28s cubic-bezier(.22,1,.36,1)}@keyframes maskIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}.rank-item:nth-child(1) .rank-no,.rank-item:nth-child(2) .rank-no,.rank-item:nth-child(3) .rank-no{animation:medalGlow 2.4s ease-in-out infinite}@keyframes medalGlow{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.panel,.stat-card,.rising-card{transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.plan-tag-btn{border:1px solid transparent;cursor:pointer;transition:border-color .15s}.plan-tag-btn:hover{border-color:var(--accent)}.lic-info{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:12px 14px;background:var(--input-bg);border-radius:12px}.lic-row{display:flex;justify-content:space-between;font-size:13px;color:var(--tx2)}.lic-row b{color:var(--tx)}.lic-row b.bad{color:var(--red)}.lic-block{margin-top:4px}.lic-head{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--tx2);margin-bottom:4px}.req{color:var(--red)}.device-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.device-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--input-bg);border:1px solid var(--line);border-radius:10px;font-size:13px}.device-ico{display:inline-flex;color:var(--accent-deep)}.device-name{flex:1;display:flex;align-items:center;gap:6px;color:var(--tx);font-weight:500}.device-mine{font-style:normal;font-size:12px;color:var(--accent-deep);background:var(--accent-soft);padding:1px 7px;border-radius:999px}.device-date{color:var(--tx3);font-size:12px}.app-footer{margin-top:auto;padding:20px 24px 26px;text-align:center;font-size:12px;color:var(--tx3);line-height:1.7;background:linear-gradient(180deg,transparent,var(--card) 60%);border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:4px}.app-footer .footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 16px}.app-footer .footer-brand{font-weight:600;color:var(--tx2);letter-spacing:.04em}.app-footer .footer-meta{display:inline-flex;align-items:center;gap:5px;color:var(--tx3)}.app-footer .footer-link{color:var(--accent-deep);text-decoration:none;font-weight:500;border-bottom:1px dashed var(--accent);padding-bottom:1px}.app-footer .footer-link:hover{color:var(--accent);border-bottom-color:var(--accent-deep)}.app-footer .footer-note{font-size:12px;color:var(--tx3);opacity:.8}@media(max-width:760px){.app-footer{padding:18px 16px 98px;font-size:12px}}.help-page{max-width:1120px;margin:0 auto}.help-intro{display:flex;align-items:flex-start;gap:8px;margin:0 0 16px;padding:11px 14px;font-size:13.5px;line-height:1.7;color:var(--tx2);background:var(--accent-soft);border-radius:var(--radius)}.help-intro .ico-svg{margin-top:3px;color:var(--accent-deep);flex:none}.help-body{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}.help-side{position:sticky;top:84px;max-height:calc(100vh - 116px);overflow-y:auto;padding-right:4px;min-width:0}.help-main{min-width:0}.help-tl{position:relative;display:flex;flex-direction:column;gap:2px}.help-tl:before{content:"";position:absolute;left:12px;top:10px;bottom:10px;width:2px;background:var(--line)}.help-tl-item{position:relative;display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:9px;font-size:12.5px;color:var(--tx2);text-align:left;transition:background .15s,color .15s}.help-tl-item .dot{position:relative;z-index:1;flex:none;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--tx3);background:var(--card);border:2px solid var(--line)}.help-tl-item .tl-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-tl-item:hover{background:var(--bg);color:var(--accent-deep)}.help-tl-item.on{background:var(--accent-soft);color:var(--accent-deep);font-weight:700}.help-tl-item.on .dot{background:var(--accent);border-color:var(--accent);color:#fff}.help-tl-item.dim{opacity:.38}.help-search{position:relative;margin-bottom:14px}.help-search .si{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--tx3);pointer-events:none;display:inline-flex}.help-search input{width:100%;padding:10px 38px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--tx);font-size:13.5px;outline:none}.help-search input:focus{border-color:var(--accent)}.help-search .sx{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:var(--tx3)}.help-search .sx:hover{background:var(--accent-soft);color:var(--accent-deep)}.help-result{margin:-4px 0 12px;font-size:12.5px;color:var(--tx2);line-height:1.7}.help-result b{color:var(--accent-deep)}.help-sec.hidden{display:none}.help-sec{padding:18px 0;border-top:1px dashed var(--line);scroll-margin-top:76px}.help-sec:first-of-type{border-top:none;padding-top:2px}.help-sec h3{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 12px;font-size:16px;font-weight:700;color:var(--tx)}.help-sec h3 .ico-svg{color:var(--accent-deep);flex:none}.plan-mini{padding:2px 8px;font-size:12px;font-weight:600;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px}.help-list,.help-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}.help-steps{counter-reset:hs}.help-list li,.help-steps li{position:relative;padding-left:22px;font-size:13.5px;line-height:1.75;color:var(--tx2)}.help-list li:before{content:"";position:absolute;left:6px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.help-steps li:before{counter-increment:hs;content:counter(hs);position:absolute;left:0;top:4px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:var(--accent);border-radius:50%}.help-list b,.help-steps b{color:var(--tx);font-weight:600}.help-tip{display:flex;align-items:flex-start;gap:7px;margin:12px 0 0;padding:10px 13px;font-size:12.5px;line-height:1.7;color:var(--tx2);background:var(--bg);border-left:3px solid var(--amber);border-radius:8px}.help-tip .ico-svg{margin-top:3px;color:var(--amber);flex:none}.kbd{display:inline-block;min-width:20px;padding:1px 6px;font-size:12px;font-weight:600;line-height:1.5;text-align:center;color:var(--accent-deep);background:var(--accent-soft);border-radius:5px}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s ease}.faq-item.open{border-color:var(--accent)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;font-size:13.5px;font-weight:600;color:var(--tx);text-align:left}.faq-q .ico-svg{color:var(--tx3);flex:none}.faq-item.open .faq-q .ico-svg{color:var(--accent-deep)}.faq-a{margin:0;padding:0 14px 13px;font-size:13px;line-height:1.8;color:var(--tx2);animation:faqIn .22s ease both}@keyframes faqIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.help-foot{display:flex;justify-content:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}@media(max-width:900px){.help-body{grid-template-columns:1fr;gap:14px}.help-side{position:static;max-height:none;overflow:visible;padding-right:0}.help-tl{flex-direction:row;flex-wrap:wrap;gap:6px;padding-bottom:6px}.help-tl:before{display:none}.help-tl-item{flex:none;padding:5px 10px;background:var(--bg)}.help-tl-item .dot{width:20px;height:20px;font-size:12px}}@media(max-width:760px){.help-page{padding:14px}.help-sec{padding:15px 0;scroll-margin-top:62px}.help-sec h3{font-size:15px}}input:where(:not([type=checkbox],[type=radio],[type=range],[type=file])),select:where(:not([multiple])),textarea{min-height:46px;padding:11px 15px;border:2px solid var(--line);border-radius:13px;background:var(--input-bg);color:var(--tx);font-family:inherit;font-size:15px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.field input,.inline-form input,.mini-input,.modal select,.modal textarea{min-height:46px;padding:11px 15px;border:2px solid var(--line);border-radius:13px;background:var(--input-bg);color:var(--tx);font-size:15px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.inline-form input{padding:10px 13px}.mini-input{min-width:200px}.modal textarea{min-height:124px;padding:13px 15px}input:where(:not([type=checkbox],[type=radio],[type=range],[type=file])):focus,select:where(:not([multiple])):focus,textarea:focus,.field input:focus,.inline-form input:focus,.mini-input:focus,.modal select:focus,.modal textarea:focus,.stu-step:focus,.step-input:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 4px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--tx3)}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.stu-step,.step-input{border-width:2px;border-radius:11px}.stu-search-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.stu-search-row .mini-btn,.stu-search-row .tool-label,.stu-search-row .rule-badge{flex:none}.stu-search{display:flex;align-items:center;gap:8px;flex:1;max-width:340px;padding:0 12px;border:2px solid var(--line);border-radius:13px;background:var(--input-bg);color:var(--tx3);transition:border-color .16s,box-shadow .16s}.stu-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.stu-search input{flex:1;min-width:0;height:44px;padding:0;border:none;border-radius:0;background:none;color:var(--tx);font-size:15px;outline:none}.stu-search input:focus{border:none;background:none;box-shadow:none}.ss-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep)}.ss-count{flex:none;font-size:12.5px;color:var(--tx3)}.exchange-modal{width:94vw;max-width:860px}.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px}.ex-col{display:flex;flex-direction:column;min-width:0}.ex-search{display:flex;align-items:center;gap:8px;padding:0 12px;border:2px solid var(--line);border-radius:13px;background:var(--input-bg);color:var(--tx3);transition:border-color .16s,box-shadow .16s}.ex-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.ex-search input{flex:1;min-width:0;height:44px;padding:0;border:none;border-radius:0;background:none;color:var(--tx);font-size:15px;outline:none}.ex-search input:focus{border:none;background:none;box-shadow:none}.ex-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:300px;overflow-y:auto}.ex-opt{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;border:1.5px solid var(--line);border-radius:11px;background:var(--card);color:var(--tx);font-size:14px;text-align:left;transition:border-color .15s,background .15s}.ex-opt:hover{border-color:var(--accent)}.ex-opt.on{border-color:var(--accent);background:var(--accent-soft)}.ex-av{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--bg);font-size:15px}.ex-nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.ex-ic{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--accent-soft);font-size:15px;line-height:1;overflow:hidden}.ex-ic .av-img{width:100%;height:100%;border-radius:8px;vertical-align:baseline}.ex-pt{flex:none;font-weight:700;color:var(--accent-deep);font-variant-numeric:tabular-nums}.ex-st{flex:none;font-size:12px;color:var(--tx3)}.ex-st.out{color:var(--red)}.ex-empty{padding:26px 10px;text-align:center;font-size:13px;color:var(--tx3)}.ex-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.ex-foot .exchange-summary{flex:1;min-width:220px;margin-top:0}.ex-qty{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:13.5px;color:var(--tx2)}.ex-qty input{width:84px;min-height:44px;padding:0 12px;border:2px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--tx);font-size:15px;text-align:center;outline:none}.ex-tip{flex:1;min-width:200px;font-size:13px;color:var(--tx3)}.exchange-summary{background:var(--green-soft);color:var(--green)}.exchange-summary.bad{background:var(--red-soft);color:var(--red)}.layout.single.rank-split{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}@media(max-width:1080px){.layout.single.rank-split{grid-template-columns:1fr}.layout.single.rank-split .col-rank{display:block}}@media(max-width:760px){.exchange-modal{width:96vw}.ex-grid{grid-template-columns:1fr}.ex-list{max-height:190px}.stu-search{max-width:none}}.buy-box{margin-top:18px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px;background:var(--input-bg);display:flex;flex-direction:column;gap:10px}.bb-text{display:flex;flex-direction:column;gap:3px}.bb-text strong{font-size:13px;color:var(--tx)}.bb-text span{font-size:12px;line-height:1.5;color:var(--tx2)}.bb-btn{flex:none;width:auto;white-space:nowrap;font-size:13px;padding:8px 14px}.purchase-cta{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--accent-soft);display:flex;flex-direction:column;gap:10px}.pc-text{display:flex;flex-direction:column;gap:3px}.pc-text strong{font-size:13px;color:var(--accent-deep)}.pc-text span{font-size:12px;line-height:1.5;color:var(--tx2)}.pc-btn{flex:none;width:auto;white-space:nowrap;font-size:13px;padding:8px 14px}.bb-actions,.pc-actions{display:flex;gap:8px;flex-wrap:wrap}.set-form{display:flex;flex-direction:column;gap:16px}.set-field{display:flex;flex-direction:column;gap:6px}.set-field>span{font-size:12px;font-weight:600;color:var(--tx2)}.set-field>em{font-size:12px;font-style:normal;line-height:1.5;color:var(--tx3)}.set-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.set-actions .btn{width:auto}.set-hint{margin:0 0 14px;font-size:12.5px;line-height:1.6;color:var(--tx3)}.set-channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-bottom:16px}.set-channel{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg)}.set-ch-head{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--accent-deep)}@media(max-width:560px){.buy-box,.purchase-cta{flex-direction:column;align-items:stretch}.bb-actions,.pc-actions{flex-direction:column}.bb-btn,.pc-btn{justify-content:center}}.class-picker{position:relative;flex:none}.cp-btn{display:inline-flex;align-items:center;gap:5px;max-width:190px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--tx2);font-size:12.5px;white-space:nowrap;transition:border-color .15s,color .15s}.cp-btn:hover,.cp-btn.on{border-color:var(--accent);color:var(--accent-deep)}.cp-label{overflow:hidden;text-overflow:ellipsis;font-weight:500}.cp-caret{flex:none;transition:transform .18s}.cp-caret.flip{transform:rotate(180deg)}.cp-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:268px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--pop-bg);box-shadow:0 14px 38px #00000029}.cp-search{display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:var(--tx3)}.cp-search input{flex:1;min-width:0;height:34px!important;padding:0!important;border:none!important;background:transparent!important;font-size:13px!important}.cp-search input:focus{box-shadow:none!important}.cp-list{max-height:280px;overflow-y:auto;margin:8px 0}.cp-gname{padding:6px 8px 4px;font-size:12px;color:var(--tx3)}.cp-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border-radius:8px;font-size:13.5px;color:var(--tx);text-align:left}.cp-item:hover{background:var(--bg)}.cp-item.on{background:var(--accent-soft);color:var(--accent-deep);font-weight:500}.cp-cname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-cmeta{flex:none;font-size:12px;color:var(--tx3)}.cp-tick{flex:none}.cp-empty{padding:16px 8px;font-size:12.5px;color:var(--tx3);text-align:center}.cp-manage{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;padding-top:9px;border-top:1px solid var(--line);font-size:12.5px;color:var(--accent-deep)}.icon-btn.on{background:var(--accent-soft);color:var(--accent-deep)}.sv-head{margin-bottom:18px}.sv-head h2{font-family:var(--font-display);font-size:21px;font-weight:600;color:var(--tx);margin-bottom:5px}.sv-head p{font-size:13px;color:var(--tx2)}.sv-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}.sv-right{display:grid;gap:18px;align-content:start}@media(max-width:980px){.sv-grid{grid-template-columns:1fr}}@media(max-width:760px){.cp-btn{max-width:120px}.cp-pop{width:min(268px,calc(100vw - 32px))}}.cap-row{display:flex;gap:8px;align-items:stretch}.cap-row input{flex:1;width:auto;min-width:0}.cap-img{flex:none;width:132px;height:46px;padding:0;border:2px solid var(--line);border-radius:13px;overflow:hidden;background:#f4f4f5;line-height:0;transition:border-color .16s}.cap-img span,.cap-img svg{display:block;width:100%;height:100%}.cap-img:hover:not(:disabled){border-color:var(--accent)}.cap-img:disabled{opacity:.7;cursor:default}.cap-loading{display:flex!important;align-items:center;justify-content:center;font-size:12px;color:var(--tx3)}.cap-hint{margin:6px 0 0;font-size:12px;color:var(--tx3)}@media(max-width:420px){.cap-img{width:108px}}.lf-stu{position:relative}.ms{position:relative;display:inline-flex}.ms-btn{display:inline-flex;align-items:center;gap:6px;max-width:180px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--tx);font-size:12.5px;white-space:nowrap;cursor:pointer}.ms-btn:hover,.ms-btn.on{border-color:var(--accent)}.ms-btn span{overflow:hidden;text-overflow:ellipsis}.ms-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.ms-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:61;width:230px;background:var(--pop-bg);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #00000029;overflow:hidden}.ms-search{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--tx3)}.ms-search input{flex:1;width:auto;min-width:0;height:26px;padding:0;border:none;border-radius:0;background:transparent;font-size:13px;outline:none}.ms-search input:focus{border:none;box-shadow:none}.ms-list{max-height:232px;overflow-y:auto;padding:4px}.ms-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:13px;color:var(--tx);cursor:pointer}.ms-row:hover{background:var(--bg)}.ms-row input[type=checkbox]{width:auto;height:auto;margin:0;accent-color:var(--accent)}.ms-empty{padding:14px 8px;text-align:center;font-size:12.5px;color:var(--tx3)}.ms-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--line)}.ms-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-6px 0 14px}.ms-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:12px;font-weight:600}.ms-chip button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.ms-chip button:hover{opacity:.6}.log-filter input[type=date]{width:auto;height:32px;padding:0 10px;border-radius:8px;font-size:12.5px}.pager{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--tx2)}.pg-info{margin-right:auto}.pg-size{display:inline-flex;align-items:center;gap:6px}.pg-size select{width:auto;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--tx);font-size:12.5px;outline:none}.pg-btns{display:inline-flex;gap:8px}.av-img{display:inline-block;width:1em;height:1em;border-radius:50%;object-fit:cover;vertical-align:-.125em;background:var(--bg)}.stu-avatar .av-img,.stu-av .av-img,.rising-av .av-img,.ex-av .av-img,.parent-ava .av-img,.winner-avatar .av-img{width:100%;height:100%;vertical-align:baseline}button.stu-avatar{padding:0;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s}button.stu-avatar:hover{transform:translateY(-1px);box-shadow:0 0 0 3px var(--accent-soft)}.group-ava{width:40px;height:40px;flex:none;border-radius:12px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:21px;padding:0;border:0;cursor:pointer;transition:box-shadow .15s}.group-ava:hover{box-shadow:0 0 0 3px var(--accent-soft)}.group-ava .av-img{width:100%;height:100%;border-radius:inherit;vertical-align:baseline}.gh-left{display:flex;align-items:center;gap:10px;min-width:0}.av-picker{max-width:440px}.av-preview{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);margin-bottom:14px}.av-preview-big{width:62px;height:62px;flex:none;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:30px}.av-preview-big .av-img{width:100%;height:100%;vertical-align:baseline}.av-preview-meta{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;color:var(--tx2)}.av-preview-meta b{font-size:14.5px;color:var(--tx)}.av-tabs{display:flex;gap:8px;margin-bottom:12px}.av-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.av-cat{padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--tx2);font-size:12.5px;transition:background .15s,border-color .15s,color .15s}.av-cat:hover{border-color:var(--accent);color:var(--accent-deep)}.av-cat.on{background:var(--accent);border-color:var(--accent);color:#fff}.av-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;max-height:min(236px,22vh);overflow-y:auto;padding:2px}.av-cell{height:46px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-size:23px;line-height:1;transition:background .12s,border-color .12s,transform .12s}.av-cell:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.av-cell.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}.av-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;border:1px dashed var(--line);border-radius:12px;color:var(--accent-deep);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.av-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.av-drop span{font-size:12.5px;color:var(--tx2)}.av-drop input[type=file]{display:none}.av-err{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;color:var(--red)}.lp-page{--lp-pink: #f8b4d9;--lp-pink-d: #db2777;--lp-lav: #c4b5fd;--lp-lav-d: #7c3aed;--lp-yellow: #fcd34d;--lp-yellow-d: #b45309;--lp-mint: #a7f3d0;--lp-mint-d: #047857;--lp-cream: #fef3c7;--lp-cream-d: #b45309;--lp-accent: #f472b6;--lp-accent-deep: #db2777;--lp-ink: #4a2438;--lp-ink2: #8c6a80;--lp-ink3: #b9a0b2;--lp-radius: 28px;--lp-pill: 999px;--lp-clay: 8px 8px 0 rgba(190, 40, 130, .16), inset 2px 2px 5px rgba(255, 255, 255, .85), inset -2px -3px 6px rgba(219, 39, 119, .06);--lp-clay-hover: 12px 12px 0 rgba(190, 40, 130, .2), inset 2px 2px 5px rgba(255, 255, 255, .85);--lp-clay-press: 4px 4px 0 rgba(190, 40, 130, .14), inset 2px 2px 5px rgba(255, 255, 255, .7);min-height:100vh;background:radial-gradient(70% 50% at 12% 0%,rgba(248,180,217,.3) 0%,transparent 60%),radial-gradient(60% 50% at 92% 8%,rgba(196,181,253,.28) 0%,transparent 60%),#fff7fb;color:var(--lp-ink);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}.lp-wrap{max-width:1180px;margin:0 auto;padding:0 22px}.lp-icon{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}.lp-btn{border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:15px;padding:13px 22px;border-radius:var(--lp-pill);background:#fff;color:var(--lp-ink);box-shadow:var(--lp-clay);transition:transform .12s ease,box-shadow .12s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.lp-btn:hover{transform:scale(1.04);box-shadow:var(--lp-clay-hover)}.lp-btn:active{transform:scale(.97);box-shadow:var(--lp-clay-press)}.lp-btn-primary{background:linear-gradient(135deg,var(--lp-accent),var(--lp-pink));color:#fff}.lp-btn-lg{padding:16px 30px;font-size:17px}.lp-topbar{position:sticky;top:0;z-index:40;background:#fff7fbcc;-webkit-backdrop-filter:saturate(1.2) blur(6px);backdrop-filter:saturate(1.2) blur(6px);border-bottom:2px solid rgba(247,220,234,.7)}.lp-topbar .lp-wrap{display:flex;align-items:center;justify-content:space-between;height:74px}.lp-brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px}.lp-brand .lp-mark{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--lp-pink),var(--lp-accent));color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;box-shadow:var(--lp-clay)}.lp-brand small{display:block;font-weight:600;font-size:12px;color:var(--lp-ink2);letter-spacing:.12em}.lp-nav{display:flex;gap:12px;align-items:center}.lp-hero{padding:64px 0 40px}.lp-hero .lp-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.lp-kicker{display:inline-block;background:#fce7f3;color:var(--lp-accent-deep);font-weight:800;padding:7px 16px;border-radius:var(--lp-pill);font-size:13px;letter-spacing:.08em;box-shadow:var(--lp-clay)}.lp-hero h1{font-size:54px;line-height:1.12;margin:18px 0 16px;font-weight:900;letter-spacing:-.5px}.lp-hero h1 .hl{background:linear-gradient(120deg,var(--lp-pink),var(--lp-lav),var(--lp-yellow));-webkit-background-clip:text;background-clip:text;color:transparent}.lp-hero p.lp-lead{font-size:18px;color:var(--lp-ink2);max-width:520px;margin-bottom:26px}.lp-hero-cta{display:flex;gap:14px;flex-wrap:wrap}.lp-stats{display:flex;gap:26px;margin-top:30px}.lp-stats .st b{font-size:26px;display:block;color:var(--lp-accent-deep)}.lp-stats .st span{font-size:13px;color:var(--lp-ink2)}.lp-stage{position:relative;height:380px}.lp-blob{position:absolute;border-radius:42% 58% 55% 45%/55% 45%;box-shadow:var(--lp-clay)}.lp-blob.b1{width:240px;height:240px;left:60px;top:30px;background:linear-gradient(135deg,var(--lp-pink),var(--lp-accent))}.lp-blob.b2{width:150px;height:150px;right:30px;top:0;background:linear-gradient(135deg,var(--lp-mint),#6ee7b7);animation:lp-float 6s ease-in-out infinite}.lp-blob.b3{width:110px;height:110px;right:90px;bottom:30px;background:linear-gradient(135deg,var(--lp-lav),#a78bfa);animation:lp-float 7s ease-in-out infinite}.lp-blob.b4{width:80px;height:80px;left:10px;bottom:40px;background:linear-gradient(135deg,var(--lp-yellow),#fbbf24);animation:lp-float 5.5s ease-in-out infinite}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.lp-sec{padding:56px 0}.lp-sec-head{text-align:center;margin-bottom:38px}.lp-sec-head .lp-tag{display:inline-block;background:var(--lp-cream);color:var(--lp-cream-d);font-weight:800;padding:6px 16px;border-radius:var(--lp-pill);font-size:13px;box-shadow:var(--lp-clay);margin-bottom:12px}.lp-sec-head h2{font-size:34px;font-weight:900}.lp-sec-head p{color:var(--lp-ink2);margin-top:8px;font-size:16px}.lp-feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.lp-feat{background:var(--fc, #fff);border-radius:var(--lp-radius);padding:24px 20px;box-shadow:var(--lp-clay);transition:transform .14s ease,box-shadow .14s ease}.lp-feat:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--lp-clay-hover)}.lp-feat .lp-fic{width:54px;height:54px;border-radius:18px;background:#fff;display:grid;place-items:center;color:var(--fcd, var(--lp-accent-deep));box-shadow:var(--lp-clay);margin-bottom:14px}.lp-feat h3{font-size:18px;margin-bottom:6px}.lp-feat p{font-size:13.5px;color:var(--lp-ink2)}.lp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.lp-plan{background:#fff;border-radius:var(--lp-radius);padding:30px 26px;box-shadow:var(--lp-clay);display:flex;flex-direction:column;position:relative;transition:transform .14s ease}.lp-plan:hover{transform:translateY(-6px)}.lp-plan.pop{background:linear-gradient(180deg,#fff,#fff5fb);box-shadow:10px 10px #be288233,inset 2px 2px 5px #ffffffe6}.lp-plan .lp-ribbon{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--lp-accent),var(--lp-pink));color:#fff;font-weight:800;font-size:13px;padding:7px 18px;border-radius:var(--lp-pill);box-shadow:var(--lp-clay);white-space:nowrap}.lp-plan .lp-pname{font-size:22px;font-weight:900;display:flex;align-items:center;gap:8px}.lp-plan .lp-pname .crown{color:var(--lp-yellow-d)}.lp-plan .lp-limit{color:var(--lp-ink2);font-size:14px;margin:6px 0 18px}.lp-plan .lp-price{font-size:30px;font-weight:900;color:var(--lp-accent-deep);margin-bottom:4px}.lp-plan .lp-price small{font-size:13px;color:var(--lp-ink3);font-weight:600}.lp-plan ul{list-style:none;margin:18px 0 22px;display:flex;flex-direction:column;gap:11px;flex:1}.lp-plan li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px}.lp-plan li .lp-ck{color:var(--lp-mint-d);flex:none;margin-top:2px}.lp-plan li .lp-xk{color:#ef9a9a;flex:none;margin-top:2px}.lp-plan li.off{color:var(--lp-ink3)}.lp-buyband{background:linear-gradient(120deg,var(--lp-pink),var(--lp-lav),var(--lp-yellow));border-radius:36px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--lp-clay);flex-wrap:wrap}.lp-buyband h3{font-size:24px;font-weight:900;color:#3a1b30}.lp-buyband p{color:#5a2b4d;margin-top:6px;max-width:520px}.lp-buyband .lp-acts{display:flex;gap:12px;flex-wrap:wrap}.lp-footer{padding:40px 0 56px;text-align:center;color:var(--lp-ink2);font-size:13px}.lp-footer .lp-fbrand{font-weight:800;color:var(--lp-ink);font-size:15px;margin-bottom:6px}.lp-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a243847;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:60px 16px;z-index:80;overscroll-behavior:contain}.lp-auth{position:relative;margin:auto}.lp-auth-x{position:absolute;top:-16px;right:-16px;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;background:#fff;color:var(--lp-accent-deep);display:grid;place-items:center;box-shadow:var(--lp-clay);z-index:2}.lp-auth-x:hover{transform:scale(1.06)}.auth-shell.embedded{background:transparent;border:none;box-shadow:none;max-width:440px;display:block;overflow:visible}.auth-shell.embedded .auth-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px #785a732e}.auth-shell.embedded .auth-card,.auth-shell.embedded .auth-card h1,.auth-shell.embedded .auth-card .sub,.auth-shell.embedded .auth-card label,.auth-shell.embedded .auth-card .auth-switch,.auth-shell.embedded .auth-card .buy-box,.auth-shell.embedded .auth-card .buy-box strong,.auth-shell.embedded .auth-card .buy-box span,.auth-shell.embedded .auth-card .err{color:#3a1b30}.auth-shell.embedded .auth-card .auth-switch button{color:#db2777}.auth-shell.embedded .auth-card .field input{background:#fff;border-color:#e7c9da;color:#3a1b30}.auth-shell.embedded .auth-card .field input::placeholder{color:#b0839a}.auth-shell.embedded .auth-card .buy-box{background:#fdf4f9;border-color:#f3d9e6}[data-theme=glassmorphism] .lp-page{--lp-ink: #eef2f8;--lp-ink2: #9fb0c8;--lp-ink3: #6b7d96;--lp-accent: #e4b863;--lp-accent-deep: #e4b863;--lp-pink: #a78bfa;--lp-cream: #2a3550;--lp-cream-d: #cdd7ea;--lp-yellow-d: #facc15;--lp-mint-d: #4ade80;--lp-clay: 0 10px 30px rgba(0, 0, 0, .35);--lp-clay-hover: 0 16px 40px rgba(0, 0, 0, .45);--lp-clay-press: 0 4px 14px rgba(0, 0, 0, .4);background:radial-gradient(70% 50% at 12% 0%,rgba(167,139,250,.18) 0%,transparent 60%),radial-gradient(60% 50% at 92% 8%,rgba(228,184,99,.16) 0%,transparent 60%),#0b1322}[data-theme=glassmorphism] .lp-topbar{background:#0b1322b8;border-bottom-color:#ffffff1a;-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px)}[data-theme=glassmorphism] .lp-sec-head .lp-tag{background:#ffffff14;color:#cdd7ea}[data-theme=glassmorphism] .lp-feat{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=glassmorphism] .lp-feat .lp-fic{background:#ffffff1a}[data-theme=glassmorphism] .lp-plan{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=glassmorphism] .lp-plan.pop{background:linear-gradient(180deg,#e4b86324,#a78bfa1a);box-shadow:0 0 0 1px #e4b86366}[data-theme=glassmorphism] .lp-plan li.off{color:var(--lp-ink3)}[data-theme=glassmorphism] .lp-buyband{background:linear-gradient(120deg,#a78bfa33,#e4b86329);box-shadow:none}[data-theme=glassmorphism] .lp-buyband h3{color:#eef2f8}[data-theme=glassmorphism] .lp-buyband p{color:#9fb0c8}[data-theme=glassmorphism] .lp-btn{background:#ffffff14;color:var(--lp-ink);border:1px solid rgba(255,255,255,.14);box-shadow:none}[data-theme=glassmorphism] .lp-btn:hover{background:#ffffff24;box-shadow:none}[data-theme=glassmorphism] .lp-btn-primary{background:linear-gradient(135deg,var(--lp-accent),var(--lp-pink));color:#1a1206;border:none}[data-theme=glassmorphism] .lp-mask{background:#0509128c}[data-theme=glassmorphism] .lp-auth-x{background:#ffffff1f;color:#eef2f8;box-shadow:none}@media(max-width:980px){.lp-hero .lp-wrap{grid-template-columns:1fr}.lp-stage{height:300px;order:-1}.lp-feat-grid{grid-template-columns:repeat(2,1fr)}.lp-plans{grid-template-columns:1fr}.lp-hero h1{font-size:40px}}@media(max-width:760px){.lp-topbar .lp-wrap{height:60px}.lp-nav{gap:8px}.lp-btn{padding:8px 13px;font-size:13px}.lp-hero{padding:28px 0 20px}.lp-hero h1{font-size:32px;margin:14px 0 12px}.lp-hero p.lp-lead{font-size:15px}.lp-stage{height:200px}.lp-stats{gap:16px;flex-wrap:wrap}.lp-sec{padding:44px 0}.lp-sec-head h2{font-size:24px}.lp-plans{gap:18px}.lp-plan{padding:22px 18px}.lp-buyband{flex-direction:column;align-items:flex-start;padding:26px;gap:16px;border-radius:26px}.lp-buyband .lp-acts{width:100%}.lp-buyband .lp-acts .lp-btn{flex:1;justify-content:center}.lp-footer{padding:32px 0 44px}}@media(max-width:420px){.lp-feat-grid{grid-template-columns:1fr}.lp-hero h1{font-size:28px}}.rank-sub{margin-left:auto;font-size:12px;font-weight:400;color:var(--tx);opacity:.55}.rank-tabs{display:flex;gap:6px;margin-bottom:4px}.rank-tab{border:1px solid var(--line);background:transparent;color:var(--tx);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer;min-height:30px;opacity:.72}.rank-tab.active{background:var(--accent);border-color:transparent;color:#fff;opacity:1}.period-snap{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--line)}.period-snap:last-of-type{border-bottom:none}.report-card .report-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.report-card .rep-month{max-width:210px}.rep-body{margin-top:10px}.rep-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rep-cell{background:var(--input-bg);border:1px solid var(--line);border-radius:10px;padding:10px 6px;text-align:center}.rep-cell b{display:block;font-size:18px;color:var(--accent-deep)}.rep-cell span{font-size:12px;color:var(--tx);opacity:.6}.rep-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:14px 0 4px}@media(max-width:640px){.rep-cols{grid-template-columns:1fr}}.rep-col h4,.rep-cats h4{display:flex;align-items:center;gap:6px;font-size:13px;margin:0 0 6px}.rep-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:14px}.rep-row .rep-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rep-no{width:24px;text-align:center;opacity:.7;font-size:13px;flex:none}.rep-pts{flex:none}.rep-pts.plus{color:var(--green)}.rep-cats{margin-top:12px}.rep-catrow{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px}.rep-catname{width:110px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rep-catval{flex:none;opacity:.65;font-size:12px}.rep-bar{flex:1;display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--input-bg);border:1px solid var(--line)}.rep-bar i{display:block;min-width:2px}.bar-plus{background:var(--accent)}.bar-minus{background:var(--red)}.stu-lvl{display:inline-block;font-size:12px;line-height:1;padding:3px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);margin-right:4px;vertical-align:1px;white-space:nowrap}.goal-band{margin-bottom:12px}.gb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.gb-head h3{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.gb-item{margin-bottom:10px}.gb-row{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:5px}.gb-num{flex:none;opacity:.75;font-size:13px}.gb-bar,.pj-goal-bar{height:14px;border-radius:999px;background:var(--input-bg);border:1px solid var(--line);overflow:hidden}.gb-bar i,.pj-goal-bar i{display:block;height:100%;min-width:4px;border-radius:999px;background:linear-gradient(90deg,var(--accent-soft),var(--accent),var(--accent-deep));transition:width .6s ease}.gb-manage{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px;display:grid;gap:8px;font-size:13px}.gb-mrow{display:flex;align-items:center;justify-content:space-between;gap:10px}.gb-mrow .done{opacity:.55;text-decoration:line-through}.gb-mact{display:flex;gap:6px;flex:none}.gb-form{display:grid;gap:8px}.pj-goal{margin:14px 0}.pj-goal-in{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 22px;display:grid;gap:10px;justify-items:start}.pj-goal-title{font-size:20px;font-weight:700}.pj-goal-bar{width:100%;height:22px}.pj-goal-num{font-size:14px;opacity:.8}.redemption-band{border:1px solid var(--line);border-radius:12px;background:var(--accent-soft);padding:10px 12px;margin-bottom:12px}.rb-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.rb-head h3{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.rb-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:14px;border-top:1px dashed var(--line);flex-wrap:wrap}.rb-act{margin-left:auto;display:flex;gap:6px}.shop-kind{font-style:normal;font-size:12px;padding:2px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);margin-left:4px;vertical-align:1px}.shop-kind-pick{display:flex;gap:16px;font-size:13px}.shop-kind-pick label{display:flex;align-items:center;gap:5px}.tv-panel{display:grid;gap:14px}.tv-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.tv-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:17px}.tv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:880px){.tv-grid{grid-template-columns:1fr}}.tv-col h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:13px}.tv-quick{display:flex;gap:6px;margin-bottom:8px}.tv-students,.tv-tasks{max-height:46vh;overflow:auto;display:grid;gap:6px;padding-right:2px}.tv-stu{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:7px 10px;cursor:pointer;font-size:14px;text-align:left;min-height:44px}.tv-stu.active{border-color:var(--accent);background:var(--accent-soft)}.tv-stu.done{opacity:.65}.tv-stu-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-done{color:var(--green);font-size:12px;flex:none}.tv-task{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:8px 10px;cursor:pointer;font-size:14px;min-height:44px;text-align:left}.tv-task.active{border-color:var(--accent);background:var(--accent-soft)}.tv-delta{margin-left:auto;color:var(--accent-deep);font-weight:700;flex:none}.tv-delop{font-style:normal;flex:none;opacity:.5;display:inline-flex}.tv-delop:hover{opacity:1;color:var(--red)}.tv-form{display:grid;gap:8px;border:1px dashed var(--line);border-radius:10px;padding:10px;margin-bottom:8px;grid-column:1 / -1;min-width:0}.tv-form input,.tv-form select{min-width:0}.tv-formrow{display:flex;align-items:center;gap:8px;font-size:13px}.tv-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:sticky;bottom:10px;z-index:25;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-top:14px;box-shadow:0 10px 24px #00000014}@media(max-width:760px){.tv-submit{bottom:calc(84px + env(safe-area-inset-bottom))}}.tv-send{min-height:44px}.honors .hv-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.honors .hv-head h2{display:flex;align-items:center;gap:8px;margin:0}.hv-sec{display:flex;align-items:center;gap:6px;font-size:14px;margin:16px 0 8px}.hv-ladder{display:grid;gap:6px}.hv-lrow{display:flex;align-items:flex-start;gap:10px;font-size:13px}.hv-lab{flex:none;width:130px}.hv-at{font-style:normal;opacity:.5;margin-left:5px;font-size:12px}.hv-kids{flex:1;display:flex;flex-wrap:wrap;gap:4px 10px}.hv-kids span{background:var(--input-bg);border-radius:999px;padding:2px 9px;font-size:12px}.hv-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.hv-bstu{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:7px 10px}.hv-bname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.hv-bicons{display:flex;gap:2px;flex:none}.hv-issue{display:grid;gap:10px}.hv-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hv-selnames{display:inline-flex;margin-left:4px}.hv-selnames .av,.hv-selnames canvas{margin-left:-6px}.hv-stus{display:flex;flex-wrap:wrap;gap:6px;max-height:30vh;overflow:auto}.hv-stus .tv-stu{padding:6px 12px}.hv-form{display:grid;grid-template-columns:auto 1fr auto;gap:8px}@media(max-width:640px){.hv-form{grid-template-columns:1fr}}.hv-certs{display:grid;gap:8px;margin-top:8px}.hv-cert{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px}.hv-cert-title{margin-left:8px;color:var(--accent-deep);font-weight:700}.hv-cert-ops{display:flex;gap:6px;flex:none}.tpl-panel .tpl-save{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:12px}@media(max-width:640px){.tpl-panel .tpl-save{grid-template-columns:1fr}}.tpl-list{display:grid;gap:8px}.tpl-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:8px}.tpl-info b{display:block}.tpl-ops{display:flex;gap:6px}.tpl-apply{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:8px}.tpl-apply label{display:flex;align-items:center;gap:5px;font-size:13px}.tab-lock{font-size:12px;margin-left:2px;opacity:.7}.tv-colhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.tv-colhead h4{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--tx2)}.tv-cards{max-height:52vh;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:8px 10px 10px 8px}.tv-stugrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.tv-taskgrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.tv-cards::-webkit-scrollbar{width:8px;height:8px}.tv-cards::-webkit-scrollbar-track{background:transparent}.tv-cards::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius);background-color:var(--tx3);background-color:color-mix(in srgb,var(--tx3) 55%,transparent);background-clip:padding-box}.tv-cards::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}.tv-scard{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:2px 8px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);padding:10px 10px 8px;cursor:pointer;text-align:left;min-height:44px;box-shadow:var(--shadow);transition:transform .12s ease}.tv-scard:hover{transform:translateY(-1px)}.tv-scard.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}.tv-scheck{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:999px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000002e}.tv-sav{grid-row:1 / 3}.tv-sname{font-size:14px;font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-pts{font-size:12px;color:var(--accent-deep);font-weight:700;align-self:start}.tv-sdone{grid-column:2;font-size:12px;color:var(--green);justify-self:end}.tv-tcard{position:relative;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:4px 10px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);padding:10px 12px;cursor:pointer;min-height:44px;box-shadow:var(--shadow)}.tv-tcard.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}.tv-tcheck{position:absolute;top:-6px;left:-6px;width:20px;height:20px;border-radius:999px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center}.tv-ttitle{font-size:14px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.tv-tdelta{color:var(--accent-deep);font-weight:700;font-size:14px}.tv-tmeta{grid-column:1 / 3;font-size:12px;color:var(--tx3)}.tv-tremove{position:absolute;top:-6px;right:-6px;border:none;background:var(--card);color:var(--tx3);border-radius:999px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;box-shadow:0 2px 6px #00000024}.tv-tremove:hover{color:var(--red)}.tv-tremove span{white-space:nowrap}.tv-presets{border:1px dashed var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;background:var(--input-bg)}.tv-presetgrid{display:flex;flex-wrap:wrap;gap:6px}.tv-preset{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--card);padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--tx);min-height:32px}.tv-preset:hover{border-color:var(--accent);color:var(--accent-deep)}.tv-preset b{color:var(--accent-deep)}.tv-quickrow{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.tv-quickrow .btn{width:auto}.tv-add{border:1.5px dashed var(--line);border-radius:12px;background:transparent;color:var(--tx2);padding:10px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px}.tv-add:hover{color:var(--accent-deep);border-color:var(--accent)}.hxd-sub{margin:2px 0 0;font-size:12.5px;color:var(--tx3)}.hxd-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.hxd-kpi{display:grid;gap:1px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:14px 16px 12px;box-shadow:var(--shadow)}.hxd-kpi b{font-size:26px;line-height:1.15;color:var(--tx);font-variant-numeric:tabular-nums}.hxd-kpi span{font-size:12.5px;color:var(--tx2);font-weight:600}.hxd-kpi i{font-style:normal;font-size:12px;color:var(--tx3);margin-top:3px}.hxd-zones{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:14px;margin-top:14px}.hxd-certzone{margin-top:14px}.hxd-zone{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:14px 16px;box-shadow:var(--shadow);min-width:0}.hxd-zonehead{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--accent-deep)}.hxd-zonehead h3{margin:0;font-size:14.5px;color:var(--tx)}.hxd-zonehead .hint{margin-left:auto}.hxd-ladder{display:grid;gap:9px}.hxd-lrow{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:4px 12px;align-items:center}.hxd-lab{display:flex;align-items:baseline;gap:6px;min-width:0}.hxd-lico{font-weight:400;font-size:14px;flex:none}.hxd-lname{font-size:13px;font-weight:600;color:var(--tx);white-space:nowrap}.hxd-at{font-style:normal;font-size:12px;color:var(--tx3);flex:none}.hxd-count{font-style:normal;font-size:12px;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;padding:1px 8px;margin-left:auto;flex:none}.hxd-lbody{min-width:0;display:grid;gap:5px}.hxd-bar{height:8px;border-radius:999px;background:var(--accent-soft);overflow:hidden}.hxd-bar.none{background:var(--input-bg)}.hxd-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-deep));transition:width .35s ease-out}.hxd-kids{display:flex;flex-wrap:wrap;gap:4px 8px}.hxd-kids span{background:var(--input-bg);border-radius:999px;padding:2px 9px;font-size:12px;color:var(--tx2)}.hxd-badges{display:grid;gap:8px;max-height:46vh;overflow-y:auto;padding-right:2px}.hxd-bstu{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:7px 10px;background:var(--input-bg)}.hxd-bmain{flex:1;min-width:0;display:grid;gap:2px}.hxd-bname{font-size:13px;font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hxd-bicons{display:flex;align-items:center;gap:3px;font-size:13px;min-height:16px}.hxd-bicons b{font-weight:400}.hxd-bempty{font-style:normal;font-size:12px;color:var(--tx3)}.hxd-bnum{flex:none;min-width:30px;text-align:center;font-size:12.5px;font-weight:700;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;padding:3px 8px;font-variant-numeric:tabular-nums}.hxd-bnum.zero{color:var(--tx3);background:var(--input-bg);font-weight:500}.hxd-ladder,.hxd-badges{flex:1;min-height:0}.hxd-ladder{max-height:46vh;overflow-y:auto;padding-right:2px}.hxd-certs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:12px}.hxd-certcard{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:18px 20px 16px;min-width:0;box-shadow:var(--shadow);overflow:hidden;transition:transform .12s ease,border-color .12s ease}.hxd-certcard:hover{transform:translateY(-2px);border-color:var(--accent)}.hxd-certribbon{position:absolute;top:0;left:0;right:0;height:7px;background:repeating-linear-gradient(45deg,var(--accent) 0 10px,var(--accent-deep) 10px 20px);opacity:.85}.hxd-certcard:before,.hxd-certcard:after{content:"";position:absolute;width:16px;height:16px;border:0 solid var(--accent);opacity:.55;pointer-events:none}.hxd-certcard:before{top:15px;left:10px;border-top-width:2px;border-left-width:2px;border-top-left-radius:6px}.hxd-certcard:after{bottom:24px;right:10px;border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:6px}.hxd-cc-seal{position:absolute;right:13px;bottom:13px;width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;background:radial-gradient(circle at 35% 30%,var(--accent),var(--accent-deep));box-shadow:0 2px 8px #0000002e;transform:rotate(-8deg)}.hxd-certkick{margin-top:6px;font-size:12px;letter-spacing:5px;text-indent:5px;color:var(--tx3);white-space:nowrap}.hxd-cc-title{font-size:15px;font-weight:800;color:var(--accent-deep);letter-spacing:1px}.hxd-cc-name{font-size:24px;font-weight:800;line-height:1.2;color:var(--tx);letter-spacing:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hxd-cc-msg{margin:1px 0 0;font-size:12.5px;color:var(--tx2);line-height:1.55;max-width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hxd-cc-foot{margin-top:auto;border-top:1px dashed var(--line);width:100%;display:flex;align-items:center;padding:9px 44px 0 12px}.hxd-cc-meta{flex:1;min-width:0;text-align:left;font-size:12px;color:var(--tx3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hxd-cc-del{position:absolute;top:14px;right:12px;opacity:0;transition:opacity .12s ease;display:inline-flex;align-items:center;gap:4px}.hxd-certcard:hover .hxd-cc-del{opacity:1}@media(max-width:980px){.hxd-kpis{grid-template-columns:repeat(2,1fr)}.hxd-zones{grid-template-columns:1fr}}@media(max-width:560px){.hxd-lrow{grid-template-columns:1fr}.hxd-lab{flex-wrap:wrap}.hxd-kpis{gap:10px}.hxd-cc-name{font-size:20px}}:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px;border-radius:4px}@media(hover:none){.hxd-certcard .hxd-cc-del{opacity:1}}.hxd-fold{display:flex;justify-content:center;padding:10px 0 2px}.hxd-fold .mini{color:var(--tx2);border:1px dashed var(--line);background:transparent}.hxd-fold .mini:hover{color:var(--accent-deep);border-color:var(--accent-deep)}.hxd-initempty{text-align:center;color:var(--tx2);font-size:13px;line-height:1.9;padding:28px 12px;margin:0}.skel-wrap{display:flex;flex-direction:column;gap:14px;padding:14px 4px}.skel-row{display:flex;align-items:center;gap:16px}.skel{display:inline-block;height:14px;border-radius:7px;background:var(--accent-soft);opacity:.85;animation:skel-pulse 1.2s ease-in-out infinite}.skel-round{width:26px;height:26px;border-radius:50%;flex:none}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.skel{animation:none;opacity:.6}}.tools-menu .sys-drop{left:auto;right:0;min-width:180px}.sys-danger{color:var(--red);font-weight:600;border-top:1px solid var(--line);margin-top:4px;padding-top:10px;border-radius:0 0 9px 9px}.sys-danger:hover{background:var(--red-soft);color:var(--red)!important}.topbar .who>.icon-btn,.topbar .who>.tools-menu>.icon-btn{width:38px;height:38px}@media(hover:none)and (pointer:coarse){.topbar .who>.icon-btn,.topbar .who>.tools-menu>.icon-btn{width:44px;height:44px}}@media(max-width:760px){.topbar .who>.tools-menu{order:2}.tools-menu .sys-drop{right:auto;left:0}}.stu-card{padding:12px 10px 10px}.stu-points{margin-bottom:8px}.stu-tools{position:absolute;top:6px;right:8px}.stu-more{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--tx3);opacity:0;transition:opacity .15s ease-out,background .15s ease-out}.stu-card:hover .stu-more,.stu-tools.open .stu-more,.stu-more:focus-visible{opacity:1}.stu-more:hover{background:var(--accent-soft);color:var(--accent-deep)}.stu-drop{position:absolute;top:calc(100% + 4px);right:0;min-width:158px;padding:6px;background:var(--pop-bg);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 36px #0000002e;z-index:40;display:flex;flex-direction:column;gap:2px}.stu-drop:before{content:"";position:absolute;top:-4px;left:0;right:0;height:4px}.stu-drop .sys-item{display:flex;align-items:center;gap:6px;white-space:nowrap}@media(hover:none){.stu-more{opacity:1;width:36px;height:36px}}.stu-share{width:28px;height:28px;top:6px;left:8px}@media(hover:none){.stu-share{width:36px;height:36px}}.mini-btn.danger{color:var(--red);border-color:var(--red-soft)}.mini-btn.danger:hover{background:var(--red-soft)}.gb-empty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--tx2);padding:2px 0 4px;flex-wrap:wrap}.gb-empty-row .mini{flex:none}.ph{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px 16px;padding-bottom:10px;border-bottom:2px solid var(--tx);margin-bottom:16px}.ph-main{min-width:0}.ph-line{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.ph-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent-deep);font-variant-numeric:tabular-nums;flex:none}.ph-title{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}.ph-title svg{flex:none;transform:translateY(1px)}.ph-sub{margin-top:6px;font-size:12.5px;color:var(--tx3)}.ph-side{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ph-stats{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--tx2)}.ph-stats b{color:var(--accent-deep);font-size:15px;margin-left:3px;font-variant-numeric:tabular-nums}.ph-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:760px){.ph-title{font-size:17px}.ph-side{margin-left:0;flex-basis:100%}}.lp-page{--lp-radius: 22px;background:radial-gradient(72% 46% at 18% 0%,rgba(248,180,217,.26) 0%,transparent 62%),#fdf6f9}.lp-hero{padding:72px 0 48px}.lp-hero .lp-wrap{grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}.lp-hero-copy{min-width:0}.lp-kicker{display:inline-flex;align-items:center;gap:10px;padding:0;background:none;box-shadow:none;border-radius:0;font-size:12.5px;font-weight:800;letter-spacing:.18em;color:var(--lp-accent-deep)}.lp-kicker:before{content:"";width:26px;height:2px;background:var(--lp-accent-deep)}.lp-hero h1{font-size:58px;line-height:1.08;margin:20px 0 18px;letter-spacing:-.02em;color:var(--lp-ink)}.lp-hero h1 .hl{color:var(--lp-accent-deep);background:linear-gradient(transparent 64%,#f8b4d98c 64%);-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor}.lp-hero p.lp-lead{font-size:17px;line-height:1.75;max-width:500px;margin-bottom:28px}.lp-stats{gap:0;margin-top:32px}.lp-stats .st{padding:0 22px;border-left:1px solid rgba(74,36,56,.16)}.lp-stats .st:first-child{padding-left:0;border-left:none}.lp-stats .st b{font-size:24px;color:var(--lp-ink);letter-spacing:-.01em}.lp-stats .st span{font-size:12px;color:var(--lp-ink3)}.lp-stage{position:relative;height:auto;display:grid;justify-items:center;padding:8px 6px}.lp-stage:before{content:"";position:absolute;top:-18px;right:-10px;bottom:-22px;left:0;background-image:radial-gradient(rgba(219,39,119,.18) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:radial-gradient(68% 62% at 50% 50%,#000 30%,transparent 78%);mask-image:radial-gradient(68% 62% at 50% 50%,#000 30%,transparent 78%);z-index:0}.lp-demo{position:relative;z-index:1;width:min(100%,464px);background:#fff;border:1px solid #f3d9e6;border-radius:26px;padding:18px 18px 14px;box-shadow:10px 12px #be288221,0 24px 60px #785a732e}.lp-demo-head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid #f6e3ee;font-size:13px}.lp-demo-head b{font-size:13.5px;letter-spacing:.01em}.lpd-live{display:inline-flex;align-items:center;gap:5px;background:#fce7f3;color:#b91c4b;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;flex:none}.lpd-live i{width:6px;height:6px;border-radius:50%;background:#db2777;box-shadow:0 0 0 3px #db277724}.lpd-date{margin-left:auto;font-size:11.5px;color:var(--lp-ink3);flex:none}.lp-demo-board{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0}.lpd-stu{display:flex;flex-direction:column;gap:8px;border:1px solid #f6e3ee;background:#fffafd;border-radius:16px;padding:11px 12px 10px;min-width:0}.lpd-stu.hot{background:#fff;border-color:#f0a8c8;box-shadow:0 3px #db277724}.lpd-top{display:flex;align-items:center;gap:8px;min-width:0}.lpd-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:#4a2438;background:var(--av, #f9a8d4);flex:none}.lpd-meta{min-width:0;line-height:1.25}.lpd-meta b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lpd-meta i{font-style:normal;font-size:10.5px;color:var(--lp-ink3)}.lpd-plus{margin-left:auto;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:#fce7f3;color:var(--lp-accent-deep);font-size:12px;font-weight:800;flex:none}.lpd-stu.hot .lpd-plus{background:var(--lp-accent-deep);color:#fff}.lpd-pts{font-size:26px;font-weight:900;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.lpd-pts small{font-size:11px;font-weight:700;color:var(--lp-ink3);margin-left:3px}.lp-demo-foot{display:flex;align-items:center;gap:14px;border-top:1px dashed #f0d3e2;padding-top:10px;font-size:11.5px;color:var(--lp-ink2)}.lp-demo-foot b{color:var(--lp-accent-deep);font-size:14px;margin-right:2px}.lpd-foot-hint{margin-left:auto;color:var(--lp-ink3)}.lp-demo-note{position:absolute;z-index:2;top:-14px;right:-6px;transform:rotate(2deg);display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #f3d9e6;border-left:3px solid var(--lp-accent-deep);border-radius:12px;padding:8px 12px;font-size:12px;color:var(--lp-ink);box-shadow:0 12px 26px #785a7329}.lp-demo-note svg{color:var(--lp-accent-deep);flex:none}.lp-demo-note b{font-weight:800}.lp-sec{padding:64px 0;scroll-margin-top:88px}.lp-sec-head{text-align:left;margin-bottom:6px;padding-bottom:14px;border-bottom:2px solid var(--lp-ink)}.lp-sec-head .lp-tag{display:block;background:none;box-shadow:none;padding:0;border-radius:0;margin-bottom:0;color:var(--lp-accent-deep);font-size:12px;letter-spacing:.2em}.lp-sec-head h2{font-size:38px;letter-spacing:-.02em;margin:8px 0 0}.lp-sec-head p{margin-top:8px;font-size:15px;max-width:620px}.lp-index{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column;column-gap:64px;margin-top:18px}.lp-index-row{display:grid;grid-template-columns:32px 24px minmax(0,1fr);gap:10px;align-items:start;padding:16px 4px 15px;border-bottom:1px solid rgba(74,36,56,.12)}.lp-index-row:hover{background:#f8b4d91f}.lp-idx-no{font-size:11.5px;font-weight:800;letter-spacing:.08em;color:var(--lp-accent-deep);font-variant-numeric:tabular-nums;padding-top:2px}.lp-idx-ic{color:var(--lp-accent-deep);padding-top:1px}.lp-idx-txt h3{font-size:15.5px;font-weight:800;letter-spacing:-.01em}.lp-idx-txt p{margin-top:3px;font-size:13px;color:var(--lp-ink2);line-height:1.6}.lp-plans{gap:18px;margin-top:22px}.lp-plan{border:1px solid #f3d9e6;border-radius:20px;padding:28px 24px 24px;box-shadow:0 2px #be28820f,0 16px 36px #785a7314}.lp-plan:hover{transform:translateY(-3px)}.lp-plan.pop{background:#fff;border:2px solid var(--lp-accent-deep);padding:27px 23px 23px;box-shadow:0 4px #be288229,0 20px 44px #785a731f}.lp-plan .lp-ribbon{top:14px;right:14px;left:auto;transform:none;background:#fce7f3;color:#b91c4b;box-shadow:none;padding:4px 10px;font-size:11.5px;border-radius:999px}.lp-plan .lp-pname{font-size:21px;padding-right:72px}.lp-buyband{background:#fff1f7;border:1px solid #f3d9e6;border-left:6px solid var(--lp-accent-deep);border-radius:22px;padding:32px 34px;box-shadow:0 16px 40px #785a7314}[data-theme=glassmorphism] .lp-stats .st{border-left-color:#ffffff29}[data-theme=glassmorphism] .lp-hero h1 .hl{background:linear-gradient(transparent 64%,#e4b86352 64%)}[data-theme=glassmorphism] .lp-demo{background:#111a2beb;border-color:#ffffff1f;box-shadow:0 24px 60px #00000080}[data-theme=glassmorphism] .lp-demo-head{border-bottom-color:#ffffff1a;color:#eef2f8}[data-theme=glassmorphism] .lp-demo-head b{color:#eef2f8}[data-theme=glassmorphism] .lpd-stu{background:#ffffff0d;border-color:#ffffff1a}[data-theme=glassmorphism] .lpd-stu.hot{background:#e4b8631a;border-color:#e4b86366}[data-theme=glassmorphism] .lpd-meta b,[data-theme=glassmorphism] .lpd-pts{color:#eef2f8}[data-theme=glassmorphism] .lpd-meta i{color:#9fb0c8}[data-theme=glassmorphism] .lpd-plus{background:#e4b86329;color:#e4b863}[data-theme=glassmorphism] .lpd-stu.hot .lpd-plus{background:#e4b863;color:#1a1206}[data-theme=glassmorphism] .lp-demo-foot{border-top-color:#ffffff1f;color:#9fb0c8}[data-theme=glassmorphism] .lp-demo-foot b{color:#e4b863}[data-theme=glassmorphism] .lp-demo-note{background:#111a2bf2;border-color:#ffffff1f;border-left-color:#e4b863;color:#eef2f8;box-shadow:0 12px 26px #0006}[data-theme=glassmorphism] .lp-demo-note svg{color:#e4b863}[data-theme=glassmorphism] .lp-stage:before{opacity:.5}[data-theme=glassmorphism] .lp-sec-head{border-bottom-color:#ffffff8c}[data-theme=glassmorphism] .lp-sec-head h2{color:#eef2f8}[data-theme=glassmorphism] .lp-sec-head .lp-tag{background:none;color:#e4b863}[data-theme=glassmorphism] .lp-index-row{border-bottom-color:#ffffff1f}[data-theme=glassmorphism] .lp-index-row:hover{background:#ffffff0a}[data-theme=glassmorphism] .lp-idx-no,[data-theme=glassmorphism] .lp-idx-ic{color:#e4b863}[data-theme=glassmorphism] .lp-idx-txt h3{color:#eef2f8}[data-theme=glassmorphism] .lp-plan{border-color:#ffffff1f;box-shadow:none}[data-theme=glassmorphism] .lp-plan.pop{border-color:#e4b8638c;background:linear-gradient(180deg,#e4b86324,#a78bfa1a)}[data-theme=glassmorphism] .lp-plan .lp-ribbon{background:#e4b86329;color:#e4b863}[data-theme=glassmorphism] .lp-buyband{background:#ffffff0d;border-color:#ffffff1a;border-left-color:#e4b863;box-shadow:none}@media(max-width:980px){.lp-hero .lp-wrap{grid-template-columns:1fr}.lp-hero{padding:40px 0 36px}.lp-stage{order:0;height:auto;margin-top:8px}.lp-index{column-gap:40px}}@media(max-width:760px){.lp-hero h1{font-size:34px}.lp-demo{width:100%}.lp-demo-note{top:-12px;right:0}.lp-demo-foot .lpd-foot-hint{display:none}.lp-index{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:1fr;column-gap:0}.lp-index-row{padding:13px 2px}.lp-sec-head h2{font-size:26px}.lp-plans{gap:16px;margin-top:18px}.lp-plan{padding:22px 18px 20px}.lp-plan.pop{padding:21px 17px 19px}.lp-plan .lp-pname{padding-right:64px}.lp-buyband{padding:26px}}@media(max-width:420px){.lp-demo-board{gap:8px}.lpd-pts{font-size:22px}.lp-demo-head .lpd-date{display:none}.lp-topbar .lp-wrap{gap:10px}.lp-brand{font-size:15px;gap:8px;min-width:0}.lp-brand small{display:none}.lp-brand .lp-mark{width:34px;height:34px;font-size:16px}.lp-nav .lp-btn{padding:8px 11px;gap:5px}.lp-theme-lb{display:none}.lp-theme-btn{width:36px;height:36px;padding:0!important;justify-content:center}}.quick-tools{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:11px;border:1px solid var(--line);background:var(--bg)}.quick-tools .icon-btn{width:32px;height:32px;border-radius:8px}.qt-sep{flex:none;width:1px;height:18px;margin:0 2px;background:var(--line)}.who-avatar{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff;font-size:14px;font-weight:700;line-height:1;box-shadow:0 2px 8px #00000024;transition:transform .14s ease-out,box-shadow .14s ease-out}.who-avatar:hover{transform:translateY(-1px);box-shadow:0 5px 14px #0000002e}.report-pick{max-width:280px}.report-card .report-form .btn-primary{width:auto;padding:9px 20px;font-size:14px}.rank-tbl .rank-tbl-fill{width:auto;padding-left:0;padding-right:0}.av-links{display:grid;gap:8px;margin:10px 0 12px}.av-link{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);text-align:left;transition:border-color .15s,background .15s}.av-link:hover{border-color:var(--accent);background:var(--accent-soft)}.av-link-ico{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--accent-deep)}.av-link-txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.av-link-txt b{font-size:13.5px;color:var(--tx)}.av-link-txt small{font-size:12px;color:var(--tx3)}.av-plan{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--tx2)}.av-plan b{color:var(--accent-deep)}.group-card{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.group-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--accent-deep)}.group-head span{font-size:12px;font-weight:500;color:var(--tx3)}.help-tl:before{left:20px}@media(max-width:1180px){.topbar{flex-wrap:wrap;row-gap:8px}.topbar .who{margin-left:auto}}@media(max-width:760px){.topbar{overflow:visible}.topbar .who{overflow:visible;flex-wrap:wrap;justify-content:flex-end;row-gap:6px}.topbar .who>.class-picker{order:1;flex:1 1 100%;min-width:0}.topbar .who>.class-picker .cp-btn{width:100%;max-width:none}.topbar .who>.quick-tools{order:2}.topbar .who>.who-avatar{order:3}.quick-tools{gap:0}.quick-tools .icon-btn{width:30px;height:30px}.who-avatar{width:32px;height:32px;font-size:13px}}.gb-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12.5px;color:var(--tx2)}.gb-meta>span{white-space:nowrap}.proj-left{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:clamp(12px,1.4vw,28px);flex-wrap:wrap}.proj-left>.proj-info{flex:1 1 auto;min-width:0}.pj-goal{margin:0;flex:0 1 clamp(252px,26%,500px);min-width:238px}.pj-goal-in{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px 14px 9px;display:grid;gap:4px 10px;justify-items:stretch;box-shadow:0 2px 10px #0000000d}.pj-goal-nol{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.pj-goal-title{font-size:clamp(14px,1.2vw,16px);font-weight:800;color:var(--tx);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-goal-num{font-size:clamp(13px,1vw,14.5px);font-weight:700;color:var(--accent-deep);opacity:1;white-space:nowrap;flex:none}.pj-goal-row{display:flex;align-items:center;gap:8px;grid-column:1 / -1;min-width:0}.pj-goal-bar{width:auto;height:7px;flex:1;min-width:0}.pj-goal-bar i{min-width:0;background:linear-gradient(90deg,var(--accent),var(--accent-deep))}.pj-goal-time{font-size:12px;font-weight:600;color:var(--tx2);white-space:nowrap;flex:none}.switch{gap:10px;white-space:nowrap}.switch input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.switch-track{position:relative;flex:none;width:44px;height:26px;border-radius:999px;background:var(--input-bg);border:1px solid var(--line);box-shadow:inset 0 1px 3px #00000014;transition:background .2s ease,border-color .2s ease}.switch-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--card);box-shadow:0 1px 4px #00000040;transition:transform .2s ease,background .2s ease}.switch input:checked+.switch-track{background:var(--accent);border-color:var(--accent-deep)}.switch input:checked+.switch-track .switch-thumb{transform:translate(18px);background:#fff}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent-deep);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.45}.switch-text{font-size:13px;color:var(--tx2)}.ball-modal{max-width:min(940px,calc(100vw - 40px))}.ball-tools{margin-bottom:10px;justify-content:center}@media(max-width:1024px){.pj-goal{min-width:220px;flex-basis:30%}}@media(max-width:820px){.proj-left{flex-direction:column;align-items:stretch;gap:8px}.proj-left>.proj-info{flex:none}.pj-goal{min-width:0;width:100%;flex-basis:auto}}@media(min-width:1280px){.proj-left{flex-wrap:nowrap}.proj-left>.proj-info{flex:0 1 auto;min-width:0}.proj-class{font-size:clamp(20px,1.9vw,36px);max-width:24vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-stats{flex-wrap:nowrap;flex:0 0 auto}.proj-stat b{font-size:clamp(18px,1.7vw,32px)}}@media(max-width:960px){.proj-tools .proj-btn:not(.ghost):has(svg){font-size:0;line-height:0;padding:9px;gap:0}.proj-tools .proj-btn:not(.ghost):has(svg) svg{margin-right:0}}@media(min-width:1280px){.proj-head{flex-wrap:nowrap;gap:clamp(10px,1vw,24px)}.proj-left{flex:1 1 0;flex-wrap:nowrap;min-width:0;gap:clamp(10px,1vw,22px)}.proj-left>.proj-info{flex:0 1 auto;min-width:0}.proj-class{font-size:clamp(20px,1.6vw,32px);max-width:18vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-stats{flex-wrap:nowrap;flex:0 0 auto;gap:clamp(10px,1vw,20px)}.proj-stat{font-size:clamp(12px,.95vw,16px)}.proj-stat b{font-size:clamp(18px,1.5vw,30px);margin-right:4px}.pj-goal{flex:0 1 clamp(230px,19vw,380px);min-width:230px}.proj-side{flex:0 0 auto;gap:clamp(10px,1vw,20px)}.proj-tools{gap:4px}.proj-btn{padding:8px 11px;font-size:13px}}@media(max-width:1535px){.proj-tools .proj-btn:not(.ghost):has(>svg){font-size:0;padding:8px 9px;gap:0}.proj-tools .proj-btn:not(.ghost):has(>svg) svg{margin-right:0}}@media(max-width:1279px){.proj-side{flex:1 0 100%}}@media(max-width:480px){.proj-clock{font-size:26px}.proj-side{gap:8px}.proj-tools{gap:3px}.proj-tools .proj-btn{padding:8px}.proj-btn.ghost{padding:8px 6px;font-size:11.5px}}.switch input:not(:checked)+.switch-track{background:var(--tx3);border-color:transparent;box-shadow:inset 0 1px 3px #00000026}.switch .switch-thumb{background:#fff;box-shadow:0 1px 4px #00000052,0 0 0 1px #00000014}.gb-row{justify-content:flex-start;flex-wrap:wrap;row-gap:3px;align-items:baseline}.gb-row .gb-title{flex:1 1 auto;min-width:120px;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.gb-row .gb-num{color:var(--accent-deep);opacity:1;font-weight:700;font-size:13.5px}.gb-row .gb-range,.gb-row .gb-count,.gb-row .gb-total{flex:none;font-size:12.5px;color:var(--tx2);white-space:nowrap}.gb-row .gb-total{margin-left:auto;font-weight:600;color:var(--tx)}.gb-row .gb-total b{font-size:14px}.gb-form-hint{margin:-2px 0 0;font-size:12px;line-height:1.5;color:var(--tx3)}.gb-range-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tx);cursor:pointer;-webkit-user-select:none;user-select:none}.gb-range-toggle input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}.gb-mrow>span:first-child{min-width:0}.pj-goal-top{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px;row-gap:2px;min-width:0}.pj-goal-top .pj-goal-title{flex:1 1 auto}.pj-goal-top .pj-goal-num{flex:none}.pj-goal-range,.pj-goal-count,.pj-goal-total{font-size:11.5px;font-weight:600;color:var(--tx2);white-space:nowrap}.pj-goal-total{margin-left:auto;color:var(--tx)}@media(min-width:1280px){.pj-goal-range,.pj-goal-count,.pj-goal-total{font-size:12px}}.gb-range-field{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--tx);font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.gb-range-field:hover,.gb-range-field:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.gb-range-field.empty{color:var(--tx3);font-weight:500}.gb-range-field.empty .gb-range-text{color:var(--tx3)}.gb-range-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gb-range-caret{flex:none;color:var(--tx3)}.drm-mask{z-index:120}.drm-modal{max-width:680px;padding:18px;outline:none}.drm-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.drm-head-title{font-size:14px;font-weight:700;color:var(--tx);margin-right:auto}.drm-nav,.drm-today{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 9px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--tx);font-size:12.5px;cursor:pointer}.drm-nav:hover,.drm-today:hover{border-color:var(--accent);color:var(--accent-deep)}.drm-rot-180{transform:rotate(180deg)}.drm-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.drm-preset{padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--tx);font-size:12.5px;font-weight:600;cursor:pointer}.drm-preset:hover{border-color:var(--accent)}.drm-preset.on{background:var(--accent);border-color:var(--accent);color:#fff}.drm-months{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.drm-month-title{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:6px}.drm-week,.drm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.drm-week span{text-align:center;font-size:11px;color:var(--tx3);padding:3px 0}.drm-pad{min-height:34px}.drm-day{position:relative;height:34px;border:none;border-radius:9px;background:transparent;color:var(--tx);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.drm-day:hover{background:var(--accent-soft)}.drm-day.is-today:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.drm-day.is-in{background:var(--accent-soft);border-radius:0}.drm-day.is-start,.drm-day.is-end{background:var(--accent);color:#fff;border-radius:9px;z-index:1}.drm-day.is-start.is-today:after,.drm-day.is-end.is-today:after{background:#fff}.drm-day.is-start:not(.is-end){border-top-right-radius:0;border-bottom-right-radius:0}.drm-day.is-end:not(.is-start){border-top-left-radius:0;border-bottom-left-radius:0}.drm-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.drm-open-ended{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--tx2);cursor:pointer}.drm-open-ended input{accent-color:var(--accent);width:15px;height:15px}.drm-summary{flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--tx);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drm-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.drm-actions .btn{flex:none;width:auto;white-space:nowrap}.drm-clear{border:none;background:transparent;color:var(--tx3);font-size:12.5px;cursor:pointer;padding:6px;white-space:nowrap}.drm-clear:hover{color:var(--red)}@media(max-width:720px){.drm-modal{max-width:420px;padding:14px}.drm-months{grid-template-columns:1fr}.drm-pad,.drm-day{min-height:40px;height:40px}.drm-foot{display:flex;flex-wrap:wrap;row-gap:8px}.drm-open-ended{order:1;flex:1 1 100%}.drm-summary{order:2;flex:1 1 100%}.drm-actions{order:3;flex:1 1 100%;justify-content:flex-end}.drm-clear{margin-right:auto}}.lm-stage{position:relative;width:100%;height:clamp(360px,52vh,520px);border-radius:16px;overflow:hidden;background:#0d1420;border:1px solid var(--line);isolation:isolate}.lm-canvas{display:block;width:100%;height:100%}.lm-status{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;background:#0a101ab3;color:#ffffffeb;font-size:11.5px;font-weight:600;letter-spacing:.04em;pointer-events:none}.ball-result-cards{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:52px;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line)}.ball-result-card{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--line);font-weight:700;font-size:15px;color:var(--tx);animation:brc-in .26s cubic-bezier(.22,1,.36,1)}.brc-num{font-size:12px;font-weight:800;color:var(--accent-deep);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1px 5px;font-variant-numeric:tabular-nums}.brc-av{width:28px;height:28px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font-size:15px;background:var(--card);flex:none}.brc-av .av-img{width:100%;height:100%;object-fit:cover}.brc-name{white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.ball-result-empty{font-size:12.5px;color:var(--tx3)}@keyframes brc-in{0%{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.ball-modal,.rule-modal{max-width:calc(100vw - 28px)}.lm-stage{height:clamp(240px,46vh,360px)}}@media(prefers-reduced-motion:reduce){.ball-result-card,.lw-card{animation:none}}.lm-host{position:relative}.lm-status{z-index:3}.lm-winners{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px;padding:12px 12px 72px;pointer-events:none}.lw-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;border-radius:14px;background:#0a101ac7;border:1px solid rgba(255,255,255,.22);color:#fff;animation:lw-in .34s cubic-bezier(.22,1,.36,1)}.lw-num{font-size:12px;font-weight:700;letter-spacing:.08em;color:#ffffffb3;font-variant-numeric:tabular-nums}.lw-av{width:var(--lw-av, 72px);height:var(--lw-av, 72px);border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:var(--lw-fs, 36px);background:var(--accent-soft);flex:none}.lw-av .av-img{width:100%;height:100%;object-fit:cover}.lw-name{font-size:var(--lw-name, 22px);font-weight:700;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lm-winners.hero .lw-card{padding:14px 20px;border-radius:18px}.lm-winners.hero .lw-av{width:84px;height:84px;font-size:44px}.lm-winners.hero .lw-name{font-size:26px}@keyframes lw-in{0%{opacity:0;transform:scale(.62)}60%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@media(max-width:760px){.lm-winners.hero .lw-card{padding:12px 16px}.lm-winners.hero .lw-av{width:64px;height:64px;font-size:34px}.lm-winners.hero .lw-name{font-size:22px}}.rule-modal{max-width:min(680px,calc(100vw - 40px))}.rule-modal h3{margin-bottom:12px}.rule-modal .rule-list{display:grid;grid-template-columns:1fr;align-content:start;gap:8px;max-height:46vh;overflow-y:auto}.rule-modal .rule-row{padding:10px 12px}.rule-modal .rule-name{font-size:15px}@media(min-width:720px){.rule-modal .rule-list{grid-template-columns:1fr 1fr}}.mini-btn:disabled{opacity:.45;cursor:not-allowed}.beian-link{margin-left:12px;color:inherit;font-size:inherit}.footer-note .beian-link{color:var(--tx3)}.footer-note .beian-link:hover,.lp-beian-link:hover{color:var(--accent)}.lp-beian{display:flex;justify-content:center;gap:18px;margin-top:4px}.lp-beian-link{color:inherit;text-decoration:none;font-size:12.5px;opacity:.8}.set-field textarea{width:100%;min-height:90px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--tx);font:12px/1.5 ui-monospace,Consolas,monospace;resize:vertical}.set-field select,.set-field input[type=number]{color:var(--tx)}
