:root{--ink:#16325c;--card:#fff;--soft:#effaff;--sun:#ffd23f;--ok:#22c07f;--no:#ff5468;--muted:#5d74a0;--sea:#2fbfd6;color-scheme:light;font-family:Jua,Fredoka,system-ui,sans-serif;color:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--card:#fff}}:root[data-theme=dark]{--card:#fff}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:linear-gradient(180deg,#a7e3ff,#e4f7ff 40%,#fff6db) fixed;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}button,input,select{font-family:inherit;color:inherit;font-size:inherit}button{cursor:pointer}.sticker{background:var(--card);border:4px solid var(--ink);border-radius:22px;box-shadow:0 6px 0 var(--ink)}.btn{background:var(--sun);border:4px solid var(--ink);border-radius:16px;box-shadow:0 5px 0 var(--ink);font-size:20px;padding:8px 20px;transition:transform .08s;white-space:nowrap}.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}.btn:disabled{opacity:.45;pointer-events:none}.btn.ghost{background:var(--card)}.btn.danger{background:var(--no);color:#fff}.btn.sm{font-size:17px;padding:5px 14px;border-width:3px;box-shadow:0 4px 0 var(--ink)}.btn.xs{font-size:14px;padding:3px 10px;border-width:3px;border-radius:10px;box-shadow:0 3px 0 var(--ink)}.btn.big{width:100%;font-size:24px;padding:12px}.pill{background:var(--card);border:3px solid var(--ink);border-radius:30px;padding:3px 14px;font-size:18px;white-space:nowrap}.grow{flex:1}.muted{color:var(--muted)}.mono{font-family:Fredoka,monospace;letter-spacing:.5px}.hint{color:var(--muted);font-size:15px;margin:6px 0 0}.msg{margin:10px 0 0;font-size:17px}.empty{color:var(--muted);font-size:18px;padding:20px;text-align:center}.center-screen{min-height:100vh;display:grid;place-items:center}.loader{font-size:60px;animation:bob 1s infinite alternate}@keyframes bob{to{transform:translateY(-12px)}}.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px}.login-logo{text-align:center}.login-logo h1{margin:10px 0 0;font-size:clamp(56px,10vw,96px);line-height:1;color:#fff;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink)}.login-logo h1 em{font-style:normal;color:var(--sun)}.login-logo p{font-size:22px;margin:14px 0 0}.login-card{width:min(420px,100%);padding:26px 28px;display:flex;flex-direction:column;gap:12px}.login-card h2{margin:0;font-size:28px}.field{display:flex;flex-direction:column;gap:4px;font-size:16px}.field input,.field select{border:3px solid var(--ink);border-radius:12px;padding:8px 12px;font-size:20px;background:var(--soft);width:100%}.page{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:12px 22px;background:#ffffffbf;border-bottom:4px solid var(--ink);position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button{border:3px solid var(--ink);border-radius:14px;background:var(--card);padding:6px 14px;font-size:18px}.tabs button.on{background:var(--ink);color:#fff}.who small{color:var(--muted);margin-left:4px}main{padding:20px 22px 40px;max-width:1400px;width:100%;margin:0 auto}.panel{display:flex;flex-direction:column;gap:16px}.panel.two{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}@media (max-width:820px){.panel.two{grid-template-columns:1fr}}.panel-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.panel-head h2,.panel-head h3{margin:0}.panel-head select{border:3px solid var(--ink);border-radius:12px;padding:5px 10px;background:#fff;font-size:17px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}@media (max-width:900px){.week{grid-template-columns:repeat(2,1fr)}}.day{padding:12px;min-height:200px;display:flex;flex-direction:column;gap:8px}.day h4{margin:0 0 4px;font-size:22px;text-align:center}.day.today{background:#fffbe6;border-color:#c79a00}.day h4 small{font-size:14px;color:#c79a00}.slot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:3px solid var(--ink);border-left:12px solid var(--c);border-radius:12px;background:#fff;padding:6px 10px;text-align:left}.slot b{font-size:17px}.slot span{font-family:Fredoka;font-size:15px;color:var(--muted)}.classlist{padding:14px;display:flex;flex-direction:column;gap:8px}.classitem{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:3px solid var(--ink);border-radius:14px;background:#fff;padding:8px 12px;text-align:left}.classitem.on{background:var(--sun)}.classitem small{color:var(--muted);font-size:14px}.classdetail{padding:18px 20px;min-height:300px;overflow-x:auto}.tbl{width:100%;border-collapse:collapse;margin-top:12px;font-size:17px;background:#fff;overflow:hidden}.tbl th{text-align:left;font-size:15px;color:var(--muted);border-bottom:3px solid var(--ink);padding:8px 10px}.tbl td{border-bottom:2px dashed #cfe0f0;padding:8px 10px;white-space:nowrap}.tbl tr.off td{opacity:.45}.acts{display:flex;gap:6px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#16325c73;display:grid;place-items:center;z-index:50;padding:16px}.modal{width:min(460px,100%);padding:20px 22px;max-height:90vh;overflow:auto}.modal-head{display:flex;align-items:center;margin-bottom:10px}.modal-head h3{margin:0;flex:1;font-size:24px}.x{border:none;background:none;font-size:22px}.form{display:flex;flex-direction:column;gap:12px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-end{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.row-in{display:flex;gap:8px;align-items:center}.issued p{font-size:17px}.ticket{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center;background:#fff8d6;border:3px dashed var(--ink);border-radius:16px;padding:14px 18px;font-size:18px}.ticket b{font-size:28px}.student{display:flex;flex-direction:column;gap:18px;max-width:900px}.hero{display:flex;align-items:center;gap:22px;padding:22px;flex-wrap:wrap}.hero h2{margin:0;font-size:30px}.hero h2 small{font-size:16px;color:var(--muted)}.avatar{width:110px;height:110px;border-radius:50%;background:var(--sea);border:4px solid var(--ink);display:grid;place-items:center;font-size:64px}.lvtitle{font-size:22px;margin:6px 0}.xpbar{width:min(380px,70vw);height:22px;border:3px solid var(--ink);border-radius:14px;background:#e3edf7;overflow:hidden}.xpbar i{display:block;height:100%;background:linear-gradient(90deg,#ffd23f,#ff9f43)}.coins{margin-left:auto;text-align:center;display:flex;flex-direction:column;align-items:center}.coins span{font-size:44px}.coins b{font-family:Fredoka;font-size:40px}.coins small{color:var(--muted)}.soon{padding:30px;text-align:center;font-size:22px}.unitgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px}.unitbox{padding:14px 16px}.unitbox h3{margin:0 0 10px;font-size:20px}.unitbox.dim{opacity:.6}.unitbox.bundle{border-color:#c79a00;background:#fffbe6}.uno{font-family:Fredoka;font-size:15px;background:var(--ink);color:#fff;border-radius:8px;padding:1px 8px;margin-right:4px}.cards{display:flex;flex-direction:column;gap:8px}.ccard{display:flex;align-items:center;gap:10px;border:3px solid var(--ink);border-radius:14px;padding:8px 10px;background:#fff}.ci{font-size:28px}.ct{flex:1;display:flex;flex-direction:column;min-width:0}.ct small{color:var(--muted);font-size:13px}.ct b{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dateinput,.memoin{border:3px solid var(--ink);border-radius:12px;padding:5px 10px;background:#fff;font-size:17px}.memoin{min-width:220px}.todaychips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chipbtn{border:3px solid var(--ink);border-radius:30px;background:#fff;padding:4px 14px;font-size:16px}.chipbtn.on{background:var(--sun)}.lessongrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:900px){.lessongrid{grid-template-columns:1fr}}.lessonbox{padding:16px 18px}.lessonbox h3{margin:0 0 10px;font-size:20px}.lessonbox select{max-width:100%}.litems{margin:0;padding-left:26px;display:flex;flex-direction:column;gap:8px}.litems li{display:flex;align-items:center;gap:8px;border:3px solid var(--ink);border-radius:14px;padding:8px 10px;background:#fff}.arrows{display:flex;gap:4px}.pointsbox{padding:16px 18px}.pointsbox h3{margin:0;font-size:20px}.stugrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:12px}.stucard{border:3px solid var(--ink);border-radius:16px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:6px;position:relative}.stucard.inteam{background:#e6f7ff;border-color:#1a9cc0}.stucard b{font-size:20px}.stucard .today{font-family:Fredoka;color:var(--muted);font-size:15px}.teamck{position:absolute;right:10px;top:8px;font-size:14px;display:flex;align-items:center;gap:4px}.quick{display:flex;gap:6px;flex-wrap:wrap}.teambar{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#e6f7ff;border:3px dashed #1a9cc0;border-radius:14px;padding:10px 14px;font-size:17px}.teambar input{width:80px;border:3px solid var(--ink);border-radius:10px;padding:3px 8px;font-size:17px}.player{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0d1b33;display:flex;flex-direction:column}.player-bar{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#fff;border-bottom:4px solid var(--ink);flex-wrap:wrap}.player-bar a.btn{text-decoration:none;color:inherit}.player-body{flex:1;position:relative;background:#fff}.player-body iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#fff}.hist{padding:16px 20px}.hist h3{margin:0 0 8px}.hist ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.hist li{display:flex;gap:12px;border-bottom:2px dashed #cfe0f0;padding:4px 0;font-size:17px}.hist .pos{color:var(--ok)}.hist .neg{color:var(--no)}.hearts{display:inline-flex;gap:4px;align-items:center;vertical-align:middle}.heart{filter:drop-shadow(0 2px 0 rgba(22,50,92,.35));transition:transform .2s}.heart.broken{opacity:.6;transform:rotate(-8deg)}.heart.bonus{animation:bob 1s infinite alternate}.heartbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff0f3;border:3px solid #ff4d6d;border-radius:14px;padding:8px 14px;margin-bottom:12px;font-size:17px}.heartbar .zero{color:#d6143d;font-size:18px}.hrow{display:flex;align-items:center;gap:8px}.undo{border:2px solid var(--ink);border-radius:8px;background:#fff;font-size:14px;padding:0 6px}.hbtns{display:flex;flex-wrap:wrap;gap:4px}.hbtn{border:2px solid var(--ink);border-radius:9px;font-size:13px;padding:2px 7px;background:#fff}.hbtn.minus{background:#fff0f3}.hbtn.plus{background:#e9fbf2}.hbtn:disabled{opacity:.5}.heartcard{display:flex;align-items:center;gap:26px;padding:20px 24px;flex-wrap:wrap;background:#fff7f9}.heartcard h3{margin:0 0 6px}.heartcard.danger{background:#ffe3e8;border-color:#d6143d}.hmsg{flex:1;font-size:19px}.hmsg p{margin:0 0 8px}.hev{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.hev li{border:2px solid var(--ink);border-radius:20px;padding:2px 10px;font-size:15px;background:#fff}.hev li.neg{background:#fff0f3}.hev li.pos{background:#e9fbf2}.modal.wide{width:min(860px,100%)}.team-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.team-col{border:3px solid var(--ink);border-radius:16px;padding:10px;background:#fff}.team-col>b{display:block;margin-bottom:6px;font-size:18px}.team-col>div{display:flex;flex-wrap:wrap;gap:6px}.team-col.out{background:#eef1f6;border-style:dashed}.team-members{font-size:14px;color:var(--muted)}.ptsin{width:80px;border:3px solid var(--ink);border-radius:10px;padding:3px 8px;font-size:17px}.tbl select{border:2px solid var(--ink);border-radius:8px;padding:2px 6px;background:#fff}.wsum{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.wlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.wlist li{border:3px solid var(--ink);border-left:10px solid var(--no);border-radius:12px;padding:8px 12px;background:#fff;font-size:16px}.wlist li.solved{border-left-color:var(--ok);opacity:.7}.wlist small{color:var(--muted)}.wa{margin-top:4px;color:#127a4d}.avatar-svg{display:inline-block;flex:none;line-height:0}.avatar-svg svg{width:100%;height:100%;display:block}.hero-info{flex:1;min-width:220px}.lvbadge{font-family:Fredoka;background:var(--ink);color:var(--sun);border-radius:10px;padding:1px 10px;margin-right:4px}.heartmini{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff0f3;border:3px solid #ff4d6d;border-radius:18px;padding:8px 14px}.heartmini.danger{background:#ffe3e8}.heartmini small{color:#d6143d}.sec{margin:8px 0 0;font-size:26px}.shop{display:grid;grid-template-columns:300px 1fr;gap:20px;padding:20px}@media (max-width:820px){.shop{grid-template-columns:1fr}}.shop-stage{display:flex;flex-direction:column;align-items:center;gap:12px;position:sticky;top:90px;align-self:start}.avatar-svg.big{filter:drop-shadow(0 8px 0 rgba(22,50,92,.25))}.shop-wallet{display:flex;align-items:baseline;gap:6px;background:#fff8d6;border:3px solid var(--ink);border-radius:16px;padding:6px 16px}.shop-wallet span{font-size:28px}.shop-wallet b{font-family:Fredoka;font-size:30px}.shop-wallet small{color:var(--muted)}.tryon{font-size:16px;display:flex;gap:8px;align-items:center;background:#e6f7ff;border:2px dashed #1a9cc0;border-radius:12px;padding:4px 10px}.shop-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.shop-tabs button{border:3px solid var(--ink);border-radius:14px;background:#fff;padding:6px 12px;font-size:17px}.shop-tabs button.on{background:var(--sun)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.shop-grid .full{grid-column:1/-1}.item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;border:3px solid var(--ink);border-radius:18px;background:#fff;padding:10px 8px;cursor:pointer;transition:transform .12s}.item:hover{transform:translateY(-3px)}.item.on{background:#fffbe6;border-color:#c79a00;box-shadow:0 0 0 3px #ffd23f}.item.locked{cursor:default;opacity:.75}.item.locked:hover{transform:none}.item b{font-size:16px;text-align:center}.item .thumb{position:relative}.item .lock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#16325c8c;border-radius:14px;color:#fff;font-size:30px}.item .lock small{font-size:15px;font-family:Fredoka}.item .tag{position:absolute;top:6px;left:6px;background:var(--ok);color:#fff;font-size:12px;border-radius:8px;padding:0 6px}.item .price{font-size:14px}.levelup{position:relative;overflow:hidden;width:min(420px,100%);padding:26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;animation:popin .4s cubic-bezier(.3,1.6,.5,1)}@keyframes popin{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.levelup .rays{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:repeating-conic-gradient(#fff6c2 0,#fff6c2 10deg,#fff 10deg,#fff 20deg);animation:spin 12s linear infinite;z-index:0;opacity:.8}@keyframes spin{to{transform:rotate(360deg)}}.levelup>*:not(.rays){position:relative;z-index:1}.lu-top{margin:0;font-family:Fredoka;font-weight:700;font-size:44px;color:var(--sun);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill}.levelup h2{margin:0;font-size:30px}.levelup h2 span{color:#c79a00}.stuhead{display:flex;align-items:center;gap:8px}.namecell{display:inline-flex;align-items:center;gap:8px}.itembox{padding:14px 16px;margin-bottom:12px}.itembox h3{margin:0 0 8px}.itemrows{display:flex;flex-direction:column;gap:8px}.itemrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:2px dashed #cfe0f0;padding-bottom:6px}.itemrow.off{opacity:.5}.itemrow input{border:2px solid var(--ink);border-radius:8px;padding:3px 8px;font-size:16px;width:80px}.itemrow input.nm{width:160px}.itemrow .ck input{width:auto}.adjgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.adjcard{display:flex;align-items:center;gap:12px;padding:10px 14px;text-align:left}.adjcard .ai{flex:1;display:flex;flex-direction:column}.adjcard .ai b{font-size:20px}.adjcard .ai small{color:var(--muted)}.adjcard .coin{font-family:Fredoka;font-size:18px}.modal:has(.editor){width:min(820px,100%)}.editor{display:flex;flex-direction:column;gap:16px}.editor h4{margin:0 0 8px;font-size:19px;display:flex;align-items:center;gap:10px}.editor h4 small{color:var(--muted);font-size:15px}.elist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto}.elist li{display:flex;align-items:center;gap:8px;border-bottom:2px dashed #cfe0f0;padding:4px 0;font-size:15px}.elist .kind{background:#eef3ff;border-radius:8px;padding:0 8px;font-size:13px;white-space:nowrap}.elist .pos{color:var(--ok)}.elist .neg{color:var(--no)}.elist .memoin{min-width:0;flex:1;font-size:14px;padding:2px 8px}.elist .ptsin{width:70px;font-size:14px}.addrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.addrow input[type=number]{width:80px;border:3px solid var(--ink);border-radius:10px;padding:3px 8px;font-size:16px}.addrow .memoin{flex:1;min-width:180px}.resetbox{background:#fff4f5;border:3px dashed var(--no);border-radius:14px;padding:10px 14px}.eye{border:2px solid var(--ink);border-radius:10px;background:#f2f2f6;font-size:13px;padding:2px 8px;white-space:nowrap}.eye.on{background:#e6fbef;border-color:var(--ok)}.ckrow{display:flex;gap:8px;align-items:center;font-size:17px}.mats{padding:16px 18px}.matgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.mat{display:flex;align-items:center;gap:10px;border:3px solid var(--ink);border-radius:14px;background:#fff;padding:10px 12px;text-align:left}.mat .go{font-size:22px;color:var(--muted)}@media (max-width:760px){.topbar{padding:8px 12px;gap:8px;padding-top:calc(8px + env(safe-area-inset-top,0px))}.topbar .pill{font-size:15px}.tabs{order:10;width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.tabs button{flex:none;font-size:15px;padding:5px 10px}.who small{display:none}main{padding:12px 10px 40px}.panel-head h2{font-size:22px}.btn{font-size:17px;padding:6px 14px}.week{grid-template-columns:1fr 1fr}.unitgrid,.stugrid,.adjgrid,.lessongrid{grid-template-columns:1fr}.ccard{flex-wrap:wrap}.ccard .ct{min-width:150px}.litems li{flex-wrap:wrap}.hero{flex-direction:column;text-align:center}.hero .xpbar{margin:0 auto}.heartcard{flex-direction:column}.shop{padding:12px}.shop-stage{position:static}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.tbl{font-size:14px}.tbl td,.tbl th{padding:6px}.player-bar{gap:6px;padding:6px 8px;padding-top:calc(6px + env(safe-area-inset-top,0px))}.player-bar small{display:none}.login-logo h1{-webkit-text-stroke:4px var(--ink);text-shadow:0 5px 0 var(--ink)}.modal{padding:14px}.row2{grid-template-columns:1fr}.rotate-tip{display:block}}.rotate-tip{display:none;font-size:13px;color:var(--muted)}.clschips{display:flex;flex-wrap:wrap;gap:8px}.clschip{border:3px solid var(--ink);border-radius:14px;padding:4px 12px;background:#fff;font-size:16px;display:flex;align-items:center;gap:6px;cursor:pointer}.clschip.on{background:#e6fbef;border-color:var(--ok)}.picklist{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto}.picklist label{display:flex;align-items:center;gap:10px;border:3px solid var(--ink);border-radius:12px;padding:6px 10px;background:#fff;cursor:pointer;flex-wrap:wrap}.picklist small{color:var(--muted);margin-left:auto}.ptoasts{position:absolute;right:16px;top:70px;z-index:70;display:flex;flex-direction:column;gap:8px;pointer-events:none}.ptoast{background:#fff8d6;border:3px solid var(--ink);border-radius:14px;padding:6px 14px;font-size:18px;box-shadow:0 4px 0 var(--ink);animation:popin .3s}.hearts.minus{gap:3px}.debtwrap{display:inline-flex;gap:2px;padding:2px 4px;margin-left:2px;border-radius:10px;background:#efe6fb;border:2px dashed #6b3fa0}.heart.debt{filter:drop-shadow(0 2px 0 rgba(107,63,160,.35))}.hbadge{font-family:Fredoka;font-weight:700;color:#fff;background:#6b3fa0;border:2px solid var(--ink);border-radius:10px;padding:0 6px;margin-left:3px;line-height:1.4}html.app{--sa-t:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--sa-r:var(--safe-area-inset-right,env(safe-area-inset-right,0px));--sa-b:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--sa-l:var(--safe-area-inset-left,env(safe-area-inset-left,0px))}html.app body{padding:0 var(--sa-r) var(--sa-b) var(--sa-l)}html.app,html.app *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.app input,html.app textarea,html.app [contenteditable],html.app [contenteditable] *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}html.app .topbar{padding-top:calc(12px + var(--sa-t))}html.app .login-wrap{padding-top:calc(24px + var(--sa-t))}html.app .player{padding:0 var(--sa-r) var(--sa-b) var(--sa-l)}html.app .player-bar{padding-top:calc(8px + var(--sa-t))}html.app .player.full{padding:0}html.app .player.full .player-bar{display:none}html.app .player.full,html.app .player.full .player-body,html.app .player.full .player-body iframe{background:#0f1033}html.app .player.full .player-body iframe{transition:opacity .25s ease-out}html.app .player.full .player-body iframe.lmu-wait{opacity:0}.full-exit{position:absolute;top:8px;left:14px;z-index:2;display:flex;gap:6px}.full-exit .btn{background:#0e14288c;color:#fff;border:1.5px solid rgba(255,255,255,.28);border-radius:14px;box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.full-exit .btn:active{transform:translateY(2px);box-shadow:0 2px 8px #00000047}html.ios .full-exit{top:12px;left:22px}.bgm-btn{position:fixed;top:calc(12px + var(--sa-t));right:calc(12px + var(--sa-r));z-index:5}html.app .topbar{position:static;padding:6px 14px;padding-top:calc(6px + var(--sa-t));gap:8px;flex-wrap:nowrap}html.app .topbar .pill{font-size:15px}html.app .topbar .grow{display:none}html.app .tabs{flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}html.app .tabs button{flex:none;font-size:15px;padding:4px 10px}html.app .who{white-space:nowrap}html.app .who small{display:none}html.app :where(.btn){font-size:17px;padding:5px 14px}html.app .player-bar{gap:8px;padding:4px 10px;padding-top:calc(4px + var(--sa-t));border-bottom-width:3px}html.app .player-bar .pill{font-size:14px;padding:1px 10px}html.app .player-bar small,html.app .rotate-tip{display:none}html.app .player-bar .btn.sm{font-size:14px;padding:2px 10px;box-shadow:0 3px 0 var(--ink)}html.app .login-wrap{flex-direction:row;gap:36px;padding-top:calc(12px + var(--sa-t));padding-bottom:12px}html.app .login-logo h1{font-size:54px;white-space:nowrap}html.app .login-card{padding:16px 22px;gap:8px}.ios-sound-tip{display:block;margin-top:6px;font-size:14px;color:var(--muted)}.rotate-hint{display:none}@media (orientation:portrait){html.app .rotate-hint{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:#dff6ff;color:var(--ink);font-size:24px}html.app .rotate-hint p{margin:0;font-size:17px;line-height:1.6;color:var(--muted)}html.app .rotate-hint-icon{font-size:72px;line-height:1}}html.app .login-wrap{justify-content:space-between;align-items:center;padding-left:calc(6vw + var(--sa-l));padding-right:calc(5vw + var(--sa-r));color:#fff;background:linear-gradient(90deg,#050a1e0d 45%,#050a1e59),#0b1230 url(/app/bg_login.webp) center/cover no-repeat}html.app .login-logo{align-self:flex-start;margin-top:6vh;text-align:left}html.app .login-logo .pill{background:#0a142d80;border:1px solid rgba(255,255,255,.3);color:#ffe9b8;box-shadow:none}html.app .login-logo h1{font-size:clamp(34px,11vh,60px);color:#fff;-webkit-text-stroke:0;text-shadow:0 0 18px rgba(255,200,120,.55),0 3px 0 rgba(10,20,45,.6)}html.app .login-logo p{color:#d9e1ff;font-size:16px;text-shadow:0 2px 4px rgba(0,0,0,.4)}html.app .login-card{width:min(40%,360px);color:#fff;background:#0c163073!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:22px!important;box-shadow:0 10px 30px #00000059!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html.app .login-card h2{color:#ffe9b8;font-size:20px}html.app .login-card .field span{color:#cfd8ff}html.app .login-card input{background:#ffffff1f;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:12px}html.app .login-card input::placeholder{color:#ffffff8c}html.app .login-card .btn{border:0;color:#3b2200;background:linear-gradient(#ffe27a,#ffbf2f);box-shadow:0 4px #b9790d,0 0 18px #ffc85073}html.app .login-card .hint,html.app .login-card .msg{color:#c3cdf0}html.app .bgm-btn{background:#0c163073;border:1px solid rgba(255,255,255,.3);color:#fff;box-shadow:none}html.app .ios-sound-tip{color:#d9e1ff}.adm-ui{--a-bg:#fff;--a-side:#f7f7f8;--a-hover:#f4f4f5;--a-sel:#ececef;--a-line:#ececef;--a-line2:#dedee3;--a-text:#18181b;--a-sub:#62626b;--a-faint:#9b9ba4;--a-ink:#18181b;--a-accent:#2b59c3;--a-accent-t:#eef3fc;--a-ok:#14804a;--a-ok-t:#edf8f2;--a-no:#c42b2b;--a-no-t:#fdf2f2;font-family:Pretendard Variable,Pretendard,system-ui,-apple-system,Segoe UI,Malgun Gothic,sans-serif;font-size:14px;line-height:1.5;color:var(--a-text);letter-spacing:-.005em;word-break:keep-all;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum"}html.web body{background:#fff}.adm{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh;background:var(--a-bg)}.adm-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px;padding:16px 10px 12px;background:var(--a-side);border-right:1px solid var(--a-line);overflow-y:auto}.adm-brand{display:flex;align-items:center;gap:10px;padding:2px 8px}.adm-brand b{display:block;color:var(--a-text);font-size:14px;font-weight:600;line-height:1.2}.adm-brand small{display:block;color:var(--a-faint);font-size:12px;line-height:1.3}.adm-logo{width:26px;height:26px;border-radius:7px;background:var(--a-ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.adm-nav{display:flex;flex-direction:column;gap:18px;flex:1}.adm-group{display:flex;flex-direction:column;gap:1px}.adm-glabel{font-size:11.5px;font-weight:500;color:var(--a-faint);padding:0 10px 6px}.adm-nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;color:var(--a-sub);font-size:13.5px;font-weight:500;padding:7px 10px;border-radius:6px;text-align:left;cursor:pointer;transition:background .15s,color .15s}.adm-nav button:hover{background:#efeff1;color:var(--a-text)}.adm-nav button.on{background:var(--a-sel);color:var(--a-text);font-weight:600}.adm-nav button.on .adm-ic{color:var(--a-accent)}.adm-ic{flex:none;width:16px;height:16px;color:var(--a-faint);stroke-width:1.7}.adm-user{display:flex;align-items:center;gap:10px;padding:10px 8px 0;border-top:1px solid var(--a-line)}.adm-avatar{width:26px;height:26px;border-radius:50%;background:#e4e4e8;color:var(--a-sub);display:grid;place-items:center;font-size:12px;font-weight:600}.adm-uname{flex:1;min-width:0}.adm-uname b{display:block;color:var(--a-text);font-size:13px;font-weight:600;line-height:1.3}.adm-uname small{color:var(--a-faint);font-size:12px}.adm-logout{position:relative;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;background:none;color:var(--a-faint);border-radius:6px;cursor:pointer}.adm-logout span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.adm-logout:hover{background:#ebebee;color:var(--a-text)}.adm-main{padding:28px 40px 64px;min-width:0;max-width:1320px}.adm-ui .panel{gap:18px}.adm-ui .panel-head{gap:8px}.adm-main>.panel>.panel-head:first-child{min-height:36px}.adm-ui .panel-head h2{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-right:8px}.adm-ui h3{font-size:14.5px;font-weight:600;letter-spacing:-.01em}.adm-ui h4{font-weight:600}.adm-ui .hint{font-size:13px;color:var(--a-sub);margin:0}.adm-ui .hint b{font-weight:600;color:var(--a-text)}.adm-ui .msg{font-size:13px;margin:0;color:var(--a-text)}.adm-ui .muted{color:var(--a-sub)}.adm-ui .empty{font-size:13.5px;color:var(--a-sub);padding:28px 0;text-align:left}.adm-ui .mono,.adm-ui .slot span,.adm-ui .uno,.adm-ui .stucard .today,.adm-ui .adjcard .coin{font-family:inherit;letter-spacing:0;font-variant-numeric:tabular-nums}.adm-ui .sticker{background:transparent;border:0;border-radius:0;box-shadow:none}.adm-ui .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:500;line-height:1;background:var(--a-ink);color:#fff;border:1px solid var(--a-ink);border-radius:6px;box-shadow:none;transition:background .15s,border-color .15s,color .15s;text-decoration:none;cursor:pointer}.adm-ui .btn:hover{background:#3a3a40;border-color:#3a3a40}.adm-ui .btn:active{transform:none;box-shadow:none}.adm-ui .btn:focus-visible,.adm-nav button:focus-visible,.adm-ui .classitem:focus-visible,.adm-ui .adjcard:focus-visible,.adm-ui .slot:focus-visible{outline:2px solid var(--a-accent);outline-offset:2px}.adm-ui .btn.ghost{background:#fff;color:var(--a-text);border-color:var(--a-line2)}.adm-ui .btn.ghost:hover{background:var(--a-hover)}.adm-ui .btn.danger{background:#fff;color:var(--a-no);border-color:var(--a-line2)}.adm-ui .btn.danger:hover{background:var(--a-no-t);border-color:#f1c9c9}.adm-ui .btn.sm{height:32px;padding:0 12px;font-size:13px;border-width:1px;box-shadow:none}.adm-ui .btn.xs{height:26px;padding:0 8px;font-size:12.5px;border-width:1px;border-radius:5px;box-shadow:none}.adm-ui .btn.big{width:100%;height:40px;font-size:14px}.adm-ui .btn:disabled{opacity:.35}.adm-ui :is(.litems,.cards,.stucard,.itemrow,.elist,.addrow,.heartbar,.teambar,.classlist) .btn:not(.ghost):not(.danger){background:var(--a-hover);color:var(--a-text);border-color:transparent}.adm-ui :is(.litems,.cards,.stucard,.itemrow,.elist,.addrow,.heartbar,.teambar,.classlist) .btn:not(.ghost):not(.danger):hover{background:#e7e7ea}.adm-ui :is(.litems,.cards,.tbl,.elist) .btn.ghost{background:transparent;border-color:transparent;color:var(--a-sub)}.adm-ui :is(.litems,.cards,.tbl,.elist) .btn.ghost:hover{background:var(--a-hover);color:var(--a-text)}.adm-ui .heartbar .btn,.adm-ui .teambar .btn:not(.ghost){background:#fff!important;border-color:var(--a-line2)!important}.adm-ui .heartbar .btn:hover,.adm-ui .teambar .btn:not(.ghost):hover{background:var(--a-hover)!important}.adm-ui input:not([type=checkbox]):not([type=radio]):not([type=file]),.adm-ui select,.adm-ui textarea,.adm-ui .panel-head select,.adm-ui .dateinput,.adm-ui .memoin,.adm-ui .ptsin,.adm-ui .field input,.adm-ui .field select{height:32px;border:1px solid var(--a-line2);border-radius:6px;padding:0 10px;font-size:13.5px;background:#fff;color:var(--a-text);font-family:inherit;box-shadow:none}.adm-ui select{padding-right:8px;cursor:pointer}.adm-ui input:hover,.adm-ui select:hover{border-color:#c9c9d0}.adm-ui input:focus,.adm-ui select:focus,.adm-ui textarea:focus{outline:3px solid #dbe5f8;outline-offset:0;border-color:var(--a-accent)}.adm-ui input::placeholder{color:var(--a-faint)}.adm-ui input[type=checkbox]{accent-color:var(--a-accent);width:14px;height:14px}.adm-ui .field{gap:6px;font-size:12.5px;color:var(--a-sub);font-weight:500}.adm-ui .field input,.adm-ui .field select{width:100%;height:36px}.adm-ui .tbl select{height:28px;border:1px solid var(--a-line2);border-radius:5px}.adm-ui .tbl{font-size:13.5px;margin-top:0;border-collapse:collapse;background:transparent;overflow:visible}.adm-ui .tbl th{font-size:12px;font-weight:500;color:var(--a-faint);background:none;border-bottom:1px solid var(--a-line);padding:8px 12px}.adm-ui .tbl td{border-bottom:1px solid var(--a-line);padding:8px 12px;vertical-align:middle;height:48px}.adm-ui .tbl th:first-child,.adm-ui .tbl td:first-child{padding-left:4px}.adm-ui .tbl tbody tr{transition:background .12s}.adm-ui .tbl tbody tr:hover td{background:#fafafa}.adm-ui .tbl tr.off td{opacity:.45}.adm-ui .namecell{gap:10px}.adm-ui .namecell .avatar-svg{width:28px!important;height:28px!important;border-radius:50%;overflow:hidden;background:#f1f1f3}.adm-ui .namecell b{font-weight:600}.adm-ui td.acts{display:table-cell;white-space:nowrap;text-align:right}.adm-ui td.acts>*+*{margin-left:2px}.adm-ui .heart{filter:none}.adm-ui .tbl .hearts svg{width:16px;height:16px}.adm-ui .modal-bg{background:#18181b52}.adm-ui .modal{background:#fff;border:1px solid var(--a-line);border-radius:12px;box-shadow:0 1px 2px #0000000a,0 16px 40px #0000001f;padding:20px 24px}.adm-ui .modal-head{margin-bottom:16px}.adm-ui .modal-head h3{font-size:16px;font-weight:600}.adm-ui .x{font-size:15px;color:var(--a-faint);width:28px;height:28px;border-radius:6px;cursor:pointer}.adm-ui .x:hover{background:var(--a-hover);color:var(--a-text)}.adm-ui .form{gap:14px}.adm-ui .row-end{margin-top:6px;gap:8px}.adm-ui .ticket{background:#fafafa;border:1px solid var(--a-line);border-radius:8px;font-size:13px;color:var(--a-sub)}.adm-ui .ticket b{font-size:20px;font-weight:600;color:var(--a-text);font-variant-numeric:tabular-nums}.adm-ui .editor{gap:22px}.adm-ui .editor h4{font-size:13.5px}.adm-ui .editor h4 small{font-size:12.5px;color:var(--a-sub);font-weight:400}.adm-ui .elist{gap:0}.adm-ui .elist li{border-bottom:1px solid var(--a-line);font-size:13px;padding:6px 0;min-height:38px}.adm-ui .elist .kind{background:none;border-radius:0;padding:0;font-size:12px;color:var(--a-faint)}.adm-ui .elist .memoin{height:28px;font-size:13px}.adm-ui .elist .ptsin{height:28px}.adm-ui .addrow{display:flex;gap:6px;align-items:center}.adm-ui .addrow input[type=number]{width:84px}.adm-ui .resetbox{background:none;border:0;border-top:1px solid var(--a-line);border-radius:0;padding:14px 0 0}.adm-ui .resetbox h4{color:var(--a-no)}.adm-ui .clschips{gap:6px}.adm-ui .clschip{border:1px solid var(--a-line2);border-radius:999px;padding:3px 12px;font-size:13px;background:#fff}.adm-ui .clschip.on{background:var(--a-accent-t);border-color:#bccdf0;color:var(--a-accent)}.adm-ui .picklist{gap:0}.adm-ui .picklist label{border:0;border-bottom:1px solid var(--a-line);border-radius:0;padding:9px 4px;font-size:13.5px}.adm-ui .picklist label:hover{background:#fafafa}.adm-ui .tabs{gap:2px;display:inline-flex;background:var(--a-hover);border-radius:7px;padding:2px}.adm-ui .tabs button{border:0;border-radius:5px;font-size:12.5px;padding:4px 12px;background:none;color:var(--a-sub);cursor:pointer}.adm-ui .tabs button.on{background:#fff;color:var(--a-text);box-shadow:0 1px 2px #00000014}.adm-ui .wsum .chipbtn{font-size:12px}.adm-ui .wlist{gap:0}.adm-ui .wlist li{border:0;border-bottom:1px solid var(--a-line);border-radius:0;font-size:13.5px;padding:10px 0;background:none}.adm-ui .wlist li.solved{opacity:.5}.adm-ui .wa{color:var(--a-ok)}.adm-ui .todaychips{gap:6px;font-size:13px;margin-top:-6px}.adm-ui .chipbtn{border:1px solid var(--a-line2);border-radius:999px;background:#fff;padding:3px 12px;font-size:12.5px;color:var(--a-text);cursor:pointer}.adm-ui .chipbtn:hover{background:var(--a-hover)}.adm-ui .chipbtn.on{background:var(--a-accent-t);border-color:#bccdf0;color:var(--a-accent);font-weight:500}.adm-ui .lessongrid{gap:0;border-top:1px solid var(--a-line);border-bottom:1px solid var(--a-line)}.adm-ui .lessonbox{padding:20px 0 24px}.adm-ui .lessongrid>.lessonbox:first-child{padding-right:32px;border-right:1px solid var(--a-line)}.adm-ui .lessongrid>.lessonbox:last-child{padding-left:32px}.adm-ui .lessonbox h3{margin:0 0 4px}.adm-ui .lessonbox>.hint{margin:4px 0 0!important}.adm-ui .lessonbox .panel-head{margin-bottom:6px}.adm-ui .lessonbox .panel-head select{max-width:60%}.adm-ui .litems{gap:0;padding-left:20px;margin-top:12px}.adm-ui .litems li{border:0;border-bottom:1px solid var(--a-line);border-radius:0;padding:8px 0 8px 4px;gap:6px;background:none;min-height:52px}.adm-ui .litems li::marker{color:var(--a-faint);font-size:12.5px;font-variant-numeric:tabular-nums}.adm-ui .cards{gap:0;margin-top:6px}.adm-ui .ccard{border:0;border-bottom:1px solid var(--a-line);border-radius:0;padding:8px 4px;gap:6px;background:none;min-height:52px}.adm-ui .ccard:last-child,.adm-ui .litems li:last-child{border-bottom:0}.adm-ui .ccard:hover,.adm-ui .litems li:hover{background:#fafafa}.adm-ui .ci{display:none}.adm-ui .ct{gap:1px}.adm-ui .ct small{color:var(--a-faint);font-size:12px;line-height:1.3}.adm-ui .ct b{font-size:13.5px;font-weight:500}.adm-ui .arrows{gap:0}.adm-ui .arrows .btn{width:26px;padding:0}.adm-ui .lib{display:flex;flex-direction:column;gap:10px}.adm-ui .lib-head{display:flex;align-items:center;gap:8px}.adm-ui .lib-head h3{margin:0}.adm-ui .lib-q{width:220px}.adm-ui .lib-body{display:grid;grid-template-columns:200px minmax(0,1fr);border-top:1px solid var(--a-line);height:520px}.adm-ui .lib-tree{overflow-y:auto;padding:10px 10px 10px 0;border-right:1px solid var(--a-line);display:flex;flex-direction:column;gap:14px}.adm-ui .lib-glabel{font-size:11.5px;font-weight:500;color:var(--a-faint);padding:0 8px 4px}.adm-ui .lib-book,.adm-ui .lib-unit{display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;text-align:left;font-family:inherit;cursor:pointer;border-radius:6px;transition:background .12s,color .12s}.adm-ui .lib-book{padding:6px 8px;font-size:13px;font-weight:500;color:var(--a-sub)}.adm-ui .lib-book:hover,.adm-ui .lib-unit:hover{background:var(--a-hover);color:var(--a-text)}.adm-ui .lib-book.on{color:var(--a-text);font-weight:600}.adm-ui .lib-caret{width:10px;flex:none;font-size:10px;color:var(--a-faint)}.adm-ui .lib-units{display:flex;flex-direction:column;gap:1px;margin:2px 0 4px 16px;padding-left:6px;border-left:1px solid var(--a-line)}.adm-ui .lib-unit{padding:5px 8px;font-size:12.5px;color:var(--a-sub)}.adm-ui .lib-unit .uno{flex:none;width:18px}.adm-ui .lib-ut{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-ui .lib-unit small{flex:none;font-size:11.5px;color:var(--a-faint);font-variant-numeric:tabular-nums}.adm-ui .lib-unit.on{background:var(--a-sel);color:var(--a-text);font-weight:600}.adm-ui .lib-unit.on .uno{color:var(--a-accent)}.adm-ui .lib-unit.dim{opacity:.55}.adm-ui .lib-none{font-size:12.5px;color:var(--a-faint);padding:6px 8px;margin:0}.adm-ui .lib-list{display:flex;flex-direction:column;min-width:0;min-height:0}.adm-ui .lib-lhead{display:flex;align-items:center;gap:8px;padding:10px 4px 10px 16px;border-bottom:1px solid var(--a-line)}.adm-ui .lib-all{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}.adm-ui .lib-all b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-ui .lib-list>.lib-none{padding:16px;flex:1}.adm-ui .lib-items{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.adm-ui .lib-items li{display:flex;align-items:center;gap:6px;padding:0 4px 0 16px;min-height:52px;border-bottom:1px solid var(--a-line);transition:background .12s}.adm-ui .lib-items li:hover{background:#fafafa}.adm-ui .lib-items li.on{background:var(--a-accent-t)}.adm-ui .lib-items li.added .ct{opacity:.5}.adm-ui .lib-items label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:8px 0;cursor:pointer}.adm-ui .lib-items li.added label{cursor:default}.adm-ui .lib-items .ct{display:flex;flex-direction:column;min-width:0}.adm-ui .lib-items .ct b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-ui .lib-items .btn.ghost{background:transparent;border-color:transparent;color:var(--a-sub)}.adm-ui .lib-items .btn.ghost:hover{background:var(--a-hover);color:var(--a-text)}.adm-ui .lib-tag{font-size:12px;color:var(--a-ok);font-weight:500;white-space:nowrap}.adm-ui .lib-foot{display:flex;align-items:center;gap:8px;padding:10px 0 0 16px;border-top:1px solid var(--a-line);font-size:13px}.adm-ui .lib-foot b{font-weight:600}.adm-ui .pointsbox{padding:8px 0 0}.adm-ui .pointsbox>.panel-head{margin:0}.adm-ui .pointsbox>.panel-head h3{margin-right:8px}.adm-ui .pointsbox .memoin{min-width:280px}.adm-ui .heartbar{background:none;border:0;border-radius:0;padding:0 0 14px;font-size:13px;gap:10px;margin:0 0 16px;border-bottom:1px solid var(--a-line)}.adm-ui .heartbar>b{font-weight:600}.adm-ui .heartbar .zero{color:var(--a-no);font-size:13px;font-weight:500}.adm-ui .stugrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;margin:15px 1px 1px}.adm-ui .stucard{border:0;border-radius:0;padding:12px 14px;gap:8px;background:#fff;outline:1px solid var(--a-line)}.adm-ui .stucard.inteam{background:var(--a-accent-t)}.adm-ui .stucard b{font-size:14px;font-weight:600}.adm-ui .stucard .today{font-size:12px;color:var(--a-faint)}.adm-ui .stuhead{gap:10px}.adm-ui .stuhead .avatar-svg{width:34px!important;height:34px!important;border-radius:50%;overflow:hidden;background:#f1f1f3}.adm-ui .stucard .hearts svg{width:18px;height:18px}.adm-ui .hrow{gap:6px}.adm-ui .teamck{font-size:12px;color:var(--a-faint);top:12px;right:12px;gap:5px}.adm-ui .undo{border:0;border-radius:4px;font-size:12px;padding:0 5px;height:22px;color:var(--a-faint);background:none;cursor:pointer}.adm-ui .undo:hover{background:var(--a-hover);color:var(--a-text)}.adm-ui .hbtns{gap:4px}.adm-ui .hbtn{border:1px solid var(--a-line);border-radius:5px;font-size:12px;padding:2px 7px;background:#fff;color:var(--a-sub);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.adm-ui .hbtn.minus{background:#fff}.adm-ui .hbtn.minus:hover{background:var(--a-no-t);color:var(--a-no);border-color:#f1c9c9}.adm-ui .hbtn.plus{background:#fff}.adm-ui .hbtn.plus:hover{background:var(--a-ok-t);color:var(--a-ok);border-color:#bfe3cf}.adm-ui .quick{display:inline-flex;gap:0;align-self:flex-start;border:1px solid var(--a-line2);border-radius:6px;overflow:hidden}.adm-ui .stucard .quick .btn{height:26px;min-width:40px;padding:0 8px;border:0;border-radius:0;background:#fff;color:var(--a-text);font-weight:600;font-size:12.5px}.adm-ui .stucard .quick .btn+.btn{border-left:1px solid var(--a-line2)}.adm-ui .stucard .quick .btn:hover{background:var(--a-hover)}.adm-ui .stucard .quick .btn.ghost{color:var(--a-sub);font-weight:500}.adm-ui .teambar{background:var(--a-accent-t);border:0;border-radius:8px;padding:10px 14px;font-size:13px;margin-top:12px}.adm-ui .teambar input{width:80px;height:30px}.adm-ui .week{gap:0;border:1px solid var(--a-line);border-radius:8px;overflow:hidden;background:#fff}.adm-ui .day.sticker{border:0;border-right:1px solid var(--a-line);border-radius:0;padding:0 8px 10px;min-height:440px;gap:6px;background:#fff}.adm-ui .day.sticker:last-child{border-right:0}.adm-ui .day h4{margin:0 -8px 4px;padding:10px 0;font-size:12.5px;font-weight:500;color:var(--a-sub);background:none;border-bottom:1px solid var(--a-line)}.adm-ui .day.today{background:#fcfcfd}.adm-ui .day.today h4{color:var(--a-accent);font-weight:600}.adm-ui .day h4 small{display:inline-block;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--a-accent);color:#fff;font-size:11px;font-weight:600;line-height:17px}.adm-ui .slot{border:0;border-radius:6px;padding:7px 9px;background:#f5f5f7;gap:2px;cursor:pointer;transition:background .12s}.adm-ui .slot:hover{background:#ececef}.adm-ui .slot b{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.adm-ui .slot b:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c);flex:none}.adm-ui .slot span{font-size:12px;color:var(--a-sub);padding-left:13px}.adm-ui .panel.two{grid-template-columns:232px minmax(0,1fr);gap:0;align-items:stretch;min-height:calc(100vh - 92px)}.adm-ui .classlist{padding:0 16px 0 0;gap:1px;border-right:1px solid var(--a-line)}.adm-ui .classlist .panel-head{padding:4px 4px 12px;margin-bottom:0}.adm-ui .classlist .panel-head h3{font-size:13px;color:var(--a-sub);font-weight:500}.adm-ui .classitem{border:0;border-radius:6px;background:none;padding:8px 10px;gap:1px;cursor:pointer;transition:background .12s}.adm-ui .classitem:hover{background:var(--a-hover)}.adm-ui .classitem.on{background:var(--a-sel)}.adm-ui .classitem b{font-size:13.5px;font-weight:500}.adm-ui .classitem.on b{font-weight:600}.adm-ui .classitem small{font-size:12px;color:var(--a-faint)}.adm-ui .classdetail{padding:0 0 0 32px;min-height:0}.adm-ui .classdetail>.panel-head{padding:0 0 16px;margin-bottom:0}.adm-ui .classdetail>.panel-head h2{font-size:22px}.adm-ui .classdetail>.panel-head small{font-size:13px;color:var(--a-faint)}.adm-ui .unitgrid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:36px 48px;border-top:1px solid var(--a-line);padding-top:24px}.adm-ui .unitbox{padding:0}.adm-ui .unitbox h3{font-size:14.5px;margin:0 0 4px;display:flex;align-items:baseline;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--a-line)}.adm-ui .unitbox.dim{opacity:.55}.adm-ui .unitbox.bundle{border:0;background:none;padding:0}.adm-ui .unitbox .cards{margin-top:0}.adm-ui .uno{background:none;color:var(--a-faint);border-radius:0;font-size:12px;font-weight:500;padding:0;margin:0}.adm-ui .eye{border:0;border-radius:5px;background:none;font-size:12.5px;padding:0 8px;height:26px;color:var(--a-sub);cursor:pointer;white-space:nowrap}.adm-ui .eye:hover{background:var(--a-hover);color:var(--a-text)}.adm-ui .eye.on{color:var(--a-ok);font-weight:500;display:inline-flex;align-items:center;gap:5px}.adm-ui .eye.on:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--a-ok)}.adm-ui .adjgrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;margin:1px}.adm-ui .adjcard{padding:12px 14px;gap:12px;font-family:inherit;background:#fff;border:0;border-radius:0;outline:1px solid var(--a-line);cursor:pointer;transition:background .12s}.adm-ui .adjcard:hover{background:#fafafa}.adm-ui .adjcard .avatar-svg{width:34px!important;height:34px!important;border-radius:50%;overflow:hidden;background:#f1f1f3}.adm-ui .adjcard .ai{gap:1px}.adm-ui .adjcard .ai b{font-size:14px;font-weight:600}.adm-ui .adjcard .ai small{font-size:12px;color:var(--a-faint)}.adm-ui .adjcard .coin{font-size:13px;font-weight:600;color:var(--a-text)}.adm-ui .adjcard .hearts svg{width:16px;height:16px}.adm-ui .itembox{padding:0;margin-bottom:28px}.adm-ui .itembox h3{font-size:14.5px;margin:0;padding-bottom:8px;border-bottom:1px solid var(--a-line)}.adm-ui .itemrows{gap:0}.adm-ui .itemrow{border-bottom:1px solid var(--a-line);padding:8px 0;font-size:13px;gap:14px}.adm-ui .itemrow:hover{background:#fafafa}.adm-ui .itemrow input{height:30px;border:1px solid var(--a-line2);border-radius:5px;font-size:13px}.adm-ui .itemrow .avatar-svg{width:36px!important;height:36px!important;border-radius:6px;background:#f5f5f7}.adm-ui .itemrow label{display:inline-flex;align-items:center;gap:6px;color:var(--a-faint);font-size:12.5px}.adm-ui .itemrow input.nm{width:200px}.adm-ui .itemrow label input:not([type=checkbox]){width:80px}.adm-ui .itemrow .ck input{width:auto;height:auto}.adm-ui .ckrow{font-size:13.5px}.adm-login{background:#fafafa;gap:24px}.adm-login .login-logo .pill{background:none;border:0;color:var(--a-faint);font-size:12.5px;padding:0;font-weight:500}.adm-login .login-logo h1{font-size:30px;font-weight:700;color:var(--a-text);-webkit-text-stroke:0;text-shadow:none;letter-spacing:-.03em;margin-top:6px}.adm-login .login-logo h1 em{color:var(--a-accent)}.adm-login .login-logo p{font-size:14px;color:var(--a-sub);margin-top:6px}.adm-login .login-card{width:min(360px,100%);padding:28px;gap:14px;background:#fff;border:1px solid var(--a-line);border-radius:12px;box-shadow:0 1px 2px #0000000a}.adm-login .login-card h2{font-size:17px;font-weight:600;margin-bottom:2px}.adm-login .field input{height:40px;font-size:14px}.adm-login .login-card>.hint{text-align:center;font-size:12.5px;color:var(--a-faint)}.adm-block{text-align:left}.adm-block-tag{align-self:flex-start;color:var(--a-faint);font-size:12.5px;font-weight:500}.adm-login .adm-block>.hint{font-size:13.5px;line-height:1.6;margin:0 0 8px;text-align:left;color:var(--a-sub)}.adm-linkbtn{border:0;background:none;color:var(--a-sub);font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:4px;align-self:center;cursor:pointer}.adm-linkbtn:hover{color:var(--a-text)}@media (prefers-reduced-motion:reduce){.adm-ui *{transition:none!important}}@media (max-width:860px){.adm{grid-template-columns:1fr}.adm-side{position:sticky;top:0;z-index:20;height:auto;flex-direction:row;align-items:center;gap:10px;padding:8px 10px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--a-line)}.adm-brand{padding:0}.adm-brand small,.adm-brand b{display:none}.adm-nav,.adm-group{flex-direction:row;gap:2px}.adm-glabel{display:none}.adm-nav button{white-space:nowrap;padding:6px 9px;font-size:13px}.adm-user{border:0;padding:0}.adm-uname,.adm-avatar{display:none}.adm-main{padding:16px 16px 40px}.adm-ui .panel.two{grid-template-columns:1fr;min-height:0}.adm-ui .classlist{border-right:0;border-bottom:1px solid var(--a-line);padding:0 0 12px}.adm-ui .classdetail{padding:16px 0 0;overflow-x:auto}.adm-ui .lessongrid{grid-template-columns:1fr}.adm-ui .lessongrid>.lessonbox:first-child{padding-right:0;border-right:0;border-bottom:1px solid var(--a-line)}.adm-ui .lessongrid>.lessonbox:last-child{padding-left:0}.adm-ui .lib-body{grid-template-columns:1fr;height:auto}.adm-ui .lib-tree{max-height:240px;border-right:0;border-bottom:1px solid var(--a-line)}.adm-ui .lib-items{max-height:420px}.adm-ui .lib-q{width:auto;flex:1;min-width:0}.adm-ui .unitgrid{grid-template-columns:1fr}.adm-ui .week{grid-template-columns:repeat(2,1fr)}.adm-ui .day.sticker{min-height:140px;border-bottom:1px solid var(--a-line)}.adm-ui .pointsbox .memoin{min-width:0;flex:1}}
