:root{--color-primary:#4837bc;--color-primary-strong:#38289f;--color-primary-soft:#f4f2ff;--color-primary-border:#d9d3ff;--color-text:#222033;--color-muted:#746f86;--color-border:#e7e5ef;--color-surface:#fff;--color-surface-muted:#f7f7fb;--color-success:#15803d;--color-warning:#b45309;--color-danger:#b91c1c;--color-info:#0891b2;--color-accent-sky:#2f80ed;--color-accent-mint:#2aa876;--color-accent-coral:#e76f8f;--color-accent-gold:#d99a27;--color-accent-lilac:#8c78e8;--wheel-segment-1:#f5bfd0;--wheel-segment-2:#ccd9ff;--wheel-segment-3:#f7d98c;--wheel-segment-4:#bde5d4;--wheel-segment-5:#d9ccf5;--wheel-segment-6:#f7ccb2;--color-overlay:#222033b8;--color-focus:#4837bc2e;--spacing-xs:4px;--spacing-sm:8px;--spacing-base:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--font-family-base:Inter, "PingFang SC", "Microsoft YaHei", sans-serif;--font-family-mono:"SF Mono", "Cascadia Code", Consolas, monospace;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-size-4xl:30px;--font-size-5xl:36px;--line-height-tight:1.2;--line-height-base:1.5;--line-height-relaxed:1.75;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:4px;--radius-base:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px #3229780d;--shadow-sm:0 2px 4px #3229780f;--shadow-base:0 4px 8px #32297814;--shadow-md:0 8px 16px #3229781a;--shadow-lg:0 12px 24px #3229781f;--shadow-xl:0 20px 40px #32297826;--shadow-soft:0 8px 28px #32297812;--duration-instant:.1s;--duration-fast:.18s;--duration-base:.3s;--duration-slow:.45s;--duration-slower:.6s;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-elastic:cubic-bezier(.68, -.55, .265, 1.55);--ease-bounce:cubic-bezier(.175, .885, .32, 1.275);--z-base:1;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-notification:1080;--container-max-width:1440px;--sidebar-width:240px;--sidebar-width-collapsed:64px;--header-height:64px;--footer-height:56px;--breakpoint-xs:520px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}[data-theme=dark],[data-theme=cyan-dark]{--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 4px #00000059;--shadow-base:0 4px 8px #0006;--shadow-md:0 8px 16px #00000073;--shadow-lg:0 12px 24px #00000080;--shadow-xl:0 20px 40px #0000008c;--shadow-soft:0 8px 28px #0006}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes scale-bounce{0%{transform:scale(.8)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.03)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes shake-y{0%,to{transform:translateY(0)}10%,30%,50%,70%,90%{transform:translateY(-4px)}20%,40%,60%,80%{transform:translateY(4px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-slide-in-up{animation:slide-in-up var(--duration-base) var(--ease-out)}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.will-animate{will-change:transform, opacity}.will-animate-transform{will-change:transform}.will-animate-opacity{will-change:opacity}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-base{gap:var(--spacing-base)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-base{padding:var(--spacing-base)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-base{padding-left:var(--spacing-base);padding-right:var(--spacing-base)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-base{padding-top:var(--spacing-base);padding-bottom:var(--spacing-base)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.m-0{margin:0}.m-auto{margin:auto}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-base{margin:var(--spacing-base)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-sm{margin-top:var(--spacing-sm)}.mt-base{margin-top:var(--spacing-base)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-base{margin-bottom:var(--spacing-base)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.text-muted{color:var(--color-muted)}.text-danger{color:var(--color-danger)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-soft{box-shadow:var(--shadow-soft)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.select-none{-webkit-user-select:none;user-select:none}.transition{transition:all var(--duration-base) var(--ease-in-out)}.transition-fast{transition:all var(--duration-fast) var(--ease-in-out)}.transition-slow{transition:all var(--duration-slow) var(--ease-in-out)}.hover-scale{transition:transform var(--duration-fast) var(--ease-out)}.hover-scale:hover{transform:scale(1.02)}.hidden{display:none!important}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.focus-ring:focus,.focus-ring:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;border:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.divider{background:var(--color-border);height:1px;margin:var(--spacing-md) 0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-surface);transition:background-color var(--duration-base) var(--ease-in-out), color var(--duration-base) var(--ease-in-out);margin:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface-muted)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-surface-muted)}a{color:var(--color-primary);transition:color var(--duration-fast) var(--ease-in-out);text-decoration:none}a:hover{color:var(--color-primary-strong)}input,button,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}img{max-width:100%;height:auto;display:block}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.aspect-4-3{aspect-ratio:4/3}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.sm\:hidden{display:none}}@media (width>=641px){.sm\:block{display:block}}@media (width<=768px){.md\:hidden{display:none}}@media (width>=769px){.md\:block{display:block}}@media (width<=1024px){.lg\:hidden{display:none}}@media (width>=1025px){.lg\:block{display:block}}:root{--font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"SF Mono", Menlo, Monaco, Consolas, monospace;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:.9375rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem;--spacing-2xl:2rem;--spacing-3xl:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--shadow-soft:0 1px 3px #0f172a14;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.4s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:1000;--z-sticky:1100;--z-modal-backdrop:1200;--z-modal:1300;--z-notification:1400;--z-tooltip:1500}[data-theme=dark]{--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #0006;--shadow-xl:0 20px 25px -5px #0006;--shadow-soft:0 1px 3px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary-soft);color:var(--color-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-bounce{animation:1s ease-in-out infinite bounce}.animate-shake{animation:.5s ease-in-out shake}.animate-stagger>*{animation:fadeInUp var(--transition-slow) ease-out;animation-fill-mode:both}.animate-stagger>:first-child{animation-delay:0s}.animate-stagger>:nth-child(2){animation-delay:50ms}.animate-stagger>:nth-child(3){animation-delay:.1s}.animate-stagger>:nth-child(4){animation-delay:.15s}.animate-stagger>:nth-child(5){animation-delay:.2s}.animate-stagger>:nth-child(6){animation-delay:.25s}.animate-stagger>:nth-child(7){animation-delay:.3s}.animate-stagger>:nth-child(8){animation-delay:.35s}.hover-lift{transition:transform var(--transition-base), box-shadow var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.route-enter-active,.route-leave-active{transition:opacity .2s,transform .2s}.route-enter-from{opacity:0;transform:translateY(8px)}.route-leave-to{opacity:0;transform:translateY(-8px)}.route-enter-to,.route-leave-from{opacity:1;transform:translateY(0)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";pointer-events:none;background:#ffffff80;border-radius:50%;width:20px;height:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.btn-ripple:active:after{animation:.6s ease-out ripple}.shake-error{animation:.4s ease-in-out shake}.skeleton{background:linear-gradient(90deg, var(--color-bg-secondary) 25%, var(--color-bg-tertiary) 50%, var(--color-bg-secondary) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-heading{width:60%;height:1.5em;margin-bottom:1em}.skeleton-avatar{border-radius:50%;width:40px;height:40px}.skeleton-card{width:100%;height:200px}.page-section{padding:var(--spacing-3xl) var(--spacing-2xl);min-height:calc(100vh - 64px);animation:.4s ease-out fadeIn}.page-heading{padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.page-heading .eyebrow{text-transform:uppercase}.page-heading .page-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.section-kicker{background:var(--color-primary-soft);border-radius:var(--radius-full);padding:4px 12px;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes halo-pulse{0%,to{box-shadow:0 0 0 0 rgba(var(--color-primary-rgb), .7)}50%{box-shadow:0 0 0 12px rgba(var(--color-primary-rgb), 0)}}.class-loading{text-align:center;grid-column:1/-1}.class-loading svg{color:var(--color-text-tertiary);font-size:48px}.overview-stats{grid-template-columns:1fr}.overview-stats>div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}@media (width<=968px){.page-heading{flex-direction:column;align-items:flex-start}.class-overview{grid-template-columns:1fr}}@media (width<=640px){.page-section{padding:var(--spacing-xl) var(--spacing-md)}.overview-actions{flex-direction:column}.overview-link{justify-content:center;width:100%}}.classroom-workspace{background:var(--color-bg-primary);min-height:100vh;padding:var(--spacing-2xl) var(--spacing-xl)}.workspace-header{margin-bottom:var(--spacing-2xl)}.header-content{justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);display:flex}.header-title h1{color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;font-size:32px;font-weight:700;line-height:1.2}.header-title p{color:var(--color-text-secondary);margin:0;font-size:16px}.header-actions{flex-shrink:0}.quick-stats{margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{align-items:center}.stat-icon{border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.stat-content{flex:1}.stat-value{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:28px;font-weight:700;line-height:1}.loading-state{padding:var(--spacing-3xl) 0;justify-content:center;align-items:center;gap:var(--spacing-lg);flex-direction:column;display:flex}.loading-state p{color:var(--color-text-secondary);font-size:16px}.empty-state{padding:var(--spacing-3xl) 0;justify-content:center;align-items:center;gap:var(--spacing-lg);text-align:center;flex-direction:column;display:flex}.empty-icon{margin-bottom:var(--spacing-md);font-size:64px}.empty-state h2{color:var(--color-text-primary);margin:0;font-size:24px;font-weight:600}.empty-state p{color:var(--color-text-secondary);max-width:400px;margin:0 0 var(--spacing-lg) 0;font-size:16px}.class-tabs .ant-tabs-nav{margin-bottom:var(--spacing-xl)}.class-tabs .ant-tabs-tab{padding:var(--spacing-md) var(--spacing-lg);font-size:16px;font-weight:500}.class-tabs .ant-tabs-tab-active{background:var(--color-primary-soft)}.class-content{padding:var(--spacing-lg)}.class-meta h2{color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;font-size:24px;font-weight:700}.class-actions{gap:var(--spacing-sm);flex-shrink:0;display:flex}.group-card{justify-content:space-between;align-items:center;display:flex}.group-card:hover{background:var(--color-primary-soft)}.group-name{color:var(--color-text-primary);flex:1;font-size:15px;font-weight:500}.group-count{color:var(--color-text-tertiary);margin-right:var(--spacing-sm);font-size:13px}.section-header h3{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.section-actions{gap:var(--spacing-sm);display:flex}.batch-count{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary-soft);border-radius:var(--radius-sm)}.student-card{flex-direction:column;display:flex}.student-card.batch-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:0 0 0 4px var(--color-primary-bg)}.student-avatar{margin:0 auto var(--spacing-md);color:#fff;font-size:36px}.student-avatar img{border-radius:inherit}.student-name{margin-bottom:var(--spacing-xs)}.student-meta{line-height:1.6}.student-stats{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.student-stat{text-align:center}.student-actions{padding-top:var(--spacing-md);border-top:1px solid var(--color-border);justify-content:center}@media (width<=1024px){.classroom-workspace{padding:var(--spacing-xl) var(--spacing-md)}.header-content{flex-direction:column;align-items:stretch}.quick-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (width<=640px){.quick-stats{grid-template-columns:1fr}.batch-toolbar{flex-wrap:wrap}.batch-actions{width:100%;margin-left:0;margin-top:var(--spacing-sm)}}.student-card{animation:.4s ease-out backwards fadeInUp}.student-card:first-child{animation-delay:50ms}.student-card:nth-child(2){animation-delay:.1s}.student-card:nth-child(3){animation-delay:.15s}.student-card:nth-child(4){animation-delay:.2s}.student-card:nth-child(5){animation-delay:.25s}.student-card:nth-child(n+6){animation-delay:.3s}@keyframes scoreFlash{0%,to{transform:scale(1)}50%{box-shadow:0 0 0 4px var(--color-success-soft);transform:scale(1.05)}}@keyframes levelUp{0%{transform:scale(1)rotate(0)}25%{transform:scale(1.1)rotate(-5deg)}75%{transform:scale(1.1)rotate(5deg)}to{transform:scale(1)rotate(0)}}.classroom-toolbar{padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.toolbar-left{flex:1}.toolbar-title{white-space:nowrap}.class-selector{min-width:200px;max-width:300px}.quick-stats{margin-left:var(--spacing-lg);padding-left:var(--spacing-lg);border-left:1px solid var(--color-border)}.quick-stats strong{font-weight:700}.toolbar-actions{flex-shrink:0}.group-manager{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.group-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.group-header h2{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:700}.group-cards{gap:var(--spacing-md);padding-bottom:var(--spacing-sm);display:flex;overflow-x:auto}.group-card{min-width:160px;padding:var(--spacing-lg);background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)}.group-card.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.group-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.group-icon{font-size:18px}.group-more{width:24px;min-width:auto;height:24px;padding:0}.stat-number{color:var(--color-primary);font-size:24px;font-weight:700}.stat-label{color:var(--color-text-secondary);font-size:12px}.group-empty{justify-content:center;align-items:center;gap:var(--spacing-sm);color:var(--color-text-tertiary);border-style:dashed;flex-direction:column;font-size:14px;display:flex}.section-header h2{align-items:center;gap:var(--spacing-sm);font-weight:700;display:flex}.student-count{color:var(--color-text-secondary);font-size:14px;font-weight:400}.student-empty{padding:var(--spacing-3xl);color:var(--color-text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.student-empty svg{margin-bottom:var(--spacing-lg);opacity:.3;font-size:48px}.student-empty h3{color:var(--color-text-secondary);margin:0 0 var(--spacing-xs) 0;font-size:18px;font-weight:600}.student-empty p{margin:0;font-size:14px}.student-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.student-card{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--duration-fast);position:relative}.student-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.student-avatar{border-radius:var(--radius-full);background:var(--color-primary-soft);border:3px solid var(--color-border);width:80px;height:80px;margin-bottom:var(--spacing-sm);justify-content:center;align-items:center;display:flex;overflow:hidden}.student-avatar img{object-fit:cover;width:100%;height:100%}.student-avatar svg{color:var(--color-primary);font-size:32px}.companion-halo{border-color:var(--color-warning)}.student-hungry{border-color:var(--color-danger)}.student-info{margin-bottom:var(--spacing-md);text-align:center}.student-name{color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;font-size:16px;font-weight:700}.student-meta{justify-content:center;gap:var(--spacing-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:12px;display:flex}.student-companion{justify-content:center;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:13px;display:flex}.companion-stage{background:var(--color-primary-soft);color:var(--color-primary);border-radius:var(--radius-sm);padding:2px 8px;font-size:11px;font-weight:600}.student-points{margin-bottom:var(--spacing-md);text-align:center}.points-value{justify-content:center;align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);display:flex}.points-value strong{color:var(--color-primary);font-size:24px;font-weight:700}.points-value span{color:var(--color-text-secondary);font-size:12px}.points-bar{background:var(--color-bg-tertiary);border-radius:var(--radius-full);height:6px;margin-bottom:var(--spacing-xs);overflow:hidden}.points-fill{background:var(--teacher-surface-soft);border-radius:inherit;height:100%;transition:width var(--duration-normal)}.points-exp{color:var(--color-text-tertiary);font-size:11px}.student-actions{gap:var(--spacing-sm);display:flex}.student-actions button{flex:1}.score-feedback-overlay{background:#22c55ee6;flex-direction:column;justify-content:center;align-items:center;animation:1s ease-out forwards feedbackPop}.score-feedback-overlay.negative{background:#ef4444e6}.feedback-delta{text-shadow:0 2px 8px #0000004d;font-size:48px;font-weight:900}.feedback-level{margin-top:var(--spacing-sm);font-size:16px;font-weight:600}@keyframes feedbackPop{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.05)}80%{opacity:1;transform:scale(1)}to{opacity:0}}@media (width<=1200px){.student-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (width<=800px){.classroom-toolbar,.toolbar-left{flex-direction:column;align-items:stretch}.quick-stats{border-left:none;border-top:1px solid var(--color-border);padding-left:0;padding-top:var(--spacing-md);margin-left:0}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.student-grid{grid-template-columns:1fr}}.classroom-page{min-height:calc(100vh - 64px)}.classroom-heading{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.classroom-heading .eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#38bdf8;text-transform:uppercase;letter-spacing:.8px;margin-bottom:var(--spacing-sm)}.classroom-heading h1{margin:0 0 var(--spacing-sm) 0;-webkit-background-clip:text;background-clip:text;font-weight:700}.classroom-heading .page-description{margin:0}.class-overview{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:hidden}.class-overview:before{content:"";background:var(--teacher-surface-soft);pointer-events:none;width:500px;height:500px;position:absolute;top:-50%;right:-20%}.overview-link{box-shadow:0 4px 12px #6366f14d}.overview-link:hover{color:#fff;background:#6366f1e6}.overview-link.outline{box-shadow:none}.overview-link.outline:hover{border-color:#ffffff4d;box-shadow:0 4px 12px #0000001a}.overview-stats{padding:var(--spacing-xl);border-radius:var(--radius-lg);background:#ffffff05;border:1px solid #ffffff14;flex-direction:column;justify-content:center;min-width:180px}.overview-stats>div{gap:var(--spacing-xs)}@media (width<=1400px){.class-grid{grid-template-columns:1fr}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.batch-toolbar{margin-bottom:var(--spacing-lg)}.batch-count{font-weight:600}@keyframes levelUpFlash{0%,to{border-color:#ffffff14}50%{border-color:#fbbf2499;box-shadow:0 0 24px #fbbf2466}}.companion-halo{animation:2s ease-in-out infinite haloGlow;box-shadow:0 0 20px #fbbf2480}@keyframes haloGlow{0%,to{box-shadow:0 0 20px #fbbf2480}50%{box-shadow:0 0 30px #fbbf24cc}}.student-score-feedback{margin-top:var(--spacing-sm);display:inline-block}.student-score-feedback.negative{color:#ef4444}.student-score-feedback.upgraded{color:#fbbf24}.student-score-feedback small{margin-top:2px;font-size:10px;display:block}.student-exp-feedback span{font-size:var(--font-size-xs);color:#94a3b8;margin-bottom:4px;display:block}.student-exp-feedback b{background:var(--teacher-surface-soft);border-radius:var(--radius-full);height:100%;transition:width .6s ease-out;display:block}.roster-hint{padding:0 var(--spacing-md);flex:none;align-items:center;display:flex}@media (width<=1024px){.overview-stats{flex-direction:row}}@media (width<=768px){.classroom-heading{flex-direction:column;align-items:flex-start}.overview-actions{flex-direction:column;width:100%}.overview-link{justify-content:center;width:100%}}.status-tag{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);white-space:nowrap;padding:4px 12px;display:inline-flex}.status-tag.pending{background:var(--color-warning-soft);color:var(--color-warning)}.status-tag.rejected{background:var(--color-danger-soft);color:var(--color-danger)}.status-tag.active{background:var(--color-success-soft);color:var(--color-success)}.status-tag.info{background:var(--color-info-soft);color:var(--color-info)}.status-tag i{background:currentColor;border-radius:50%;width:6px;height:6px}.table-actions{align-items:center;gap:var(--spacing-sm);display:flex}.data-loading{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl);flex-direction:column;display:flex}.data-loading .spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.data-loading span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.data-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) 0;display:flex}.data-pagination .ant-pagination{align-items:center;gap:var(--spacing-sm);display:flex}.data-pagination .ant-pagination-item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);min-width:36px;height:36px;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.data-pagination .ant-pagination-item:hover{border-color:var(--color-primary);color:var(--color-primary)}.data-pagination .ant-pagination-item-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.stat-cards{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{gap:var(--spacing-md);padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);animation:.5s ease-out fadeInUp;animation-delay:calc(var(--card-index,0) * .1s);flex-direction:column;animation-fill-mode:both;display:flex}.stat-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.form-section{gap:var(--spacing-lg);padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}@media (width<=968px){.stat-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (width<=640px){.stat-cards{grid-template-columns:1fr}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.teacher-shell{grid-template-columns:260px 1fr}.teacher-rail{height:100vh;padding:var(--spacing-2xl) var(--spacing-lg);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;display:flex;position:sticky;top:0}.teacher-rail nav{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.teacher-rail nav a{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-in-out);font-size:15px;font-weight:500;text-decoration:none;display:flex}.teacher-rail nav a:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.teacher-rail nav a.router-link-active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.teacher-rail nav a .anticon{flex-shrink:0;font-size:20px}.teacher-main{flex-direction:column;min-height:100vh;display:flex}.teacher-topbar{padding:0 var(--spacing-2xl);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;height:72px;display:flex;position:sticky;top:0}.teacher-content,.page-heading>div:first-child{flex:1}.eyebrow{text-transform:uppercase;margin-bottom:var(--spacing-sm)}.live-status i{animation:2s ease-in-out infinite pulse}.class-overview{min-height:200px}.section-kicker{text-transform:uppercase;margin-bottom:var(--spacing-sm)}.overview-link{transition:all var(--duration-fast) var(--ease-in-out)}.overview-link:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.overview-link.outline{border:1px solid var(--color-primary-border)}.overview-link.outline:hover{background:var(--color-primary-soft)}.overview-stats{gap:var(--spacing-2xl)}.overview-stats>div{text-align:center;flex-direction:column;align-items:center;display:flex}.overview-stats strong{margin-bottom:var(--spacing-sm);font-weight:800}.overview-stats span{font-weight:500}.class-loading{padding:var(--spacing-3xl) 0;flex-direction:column;justify-content:center;align-items:center}.class-loading span{color:var(--color-text-secondary);font-size:16px}.roster-hint{margin-left:auto}.classroom-page{max-width:1400px;margin:0 auto}.classroom-page .page-heading{margin-bottom:var(--spacing-xl)}.classroom-status{align-items:center;gap:var(--spacing-sm);color:var(--color-success);margin-left:auto;font-size:13px;font-weight:500;display:flex}.classroom-status i{background:var(--color-success);border-radius:50%;width:8px;height:8px}.classroom-features{gap:var(--spacing-xl);grid-template-columns:repeat(2,1fr);display:grid}.feature-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);transition:all var(--duration-normal) var(--ease-in-out);flex-direction:column;min-height:360px;display:flex}.feature-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.feature-header{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex}.feature-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.feature-header>div{flex:1;min-width:0}.feature-header h3{color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;font-size:18px;font-weight:700}.feature-header p{color:var(--color-text-secondary);margin:0;font-size:13px}.feature-content{gap:var(--spacing-md);flex-direction:column;flex:1;display:flex}.feature-actions{gap:var(--spacing-sm);padding-top:var(--spacing-md);margin-top:auto;display:flex}.score-updated{animation:.6s ease-out scoreFlash}.level-updated{animation:.8s ease-out levelUp}.student-score-feedback{top:var(--spacing-md);right:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-success);color:#fff;border-radius:var(--radius-md);font-size:16px;font-weight:700;animation:.3s ease-out fadeInScale;position:absolute}.student-score-feedback.negative{background:var(--color-error)}.student-score-feedback.upgraded{background:var(--color-warning)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.student-exp-feedback{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:12px}.student-exp-feedback i{background:var(--color-border);border-radius:var(--radius-full);height:4px;margin-top:var(--spacing-xs);display:block;overflow:hidden}.student-exp-feedback i b{background:var(--color-primary);border-radius:inherit;height:100%;transition:width .5s ease-out;display:block}@media (width<=1400px){.teacher-content{padding:var(--spacing-2xl)}}@media (width<=1024px){.teacher-shell{grid-template-columns:1fr}.teacher-rail{display:none}.teacher-content{padding:var(--spacing-xl)}.page-heading{flex-direction:column;align-items:stretch}.class-overview{gap:var(--spacing-xl);grid-template-columns:1fr}.overview-stats{justify-content:space-around}.classroom-features{grid-template-columns:1fr}}@media (width<=640px){.teacher-content{padding:var(--spacing-lg)}.page-heading h1{font-size:28px}.overview-stats{gap:var(--spacing-lg);flex-direction:column}.overview-stats>div{border-left:none;border-top:1px solid var(--color-primary-border);padding:var(--spacing-lg) 0 0}.overview-stats>div:first-child{border-top:none;padding-top:0}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}:root{--workspace-bg:#f6f7fb;--workspace-surface:#fff;--workspace-ink:#201d33;--workspace-muted:#747186;--workspace-line:#e7e5ef;--workspace-soft:#f3f0ff;--workspace-shadow:0 12px 30px #3a308012}.teacher-content .page-heading{align-items:flex-end}.teacher-content .page-heading h1{color:var(--workspace-ink);letter-spacing:-.02em}.teacher-content .eyebrow{color:#5748c2;letter-spacing:.08em}.teacher-content .page-description{max-width:760px;color:var(--workspace-muted);line-height:1.7}.teacher-content .ant-btn-primary{height:36px}.classroom-page{color:var(--workspace-ink);background:0 0}.classroom-heading,.class-overview{color:var(--workspace-ink)}.ranking-card,.ranking-row{border:1px solid var(--workspace-line);background:var(--teacher-surface);box-shadow:var(--workspace-shadow);border-radius:16px}.class-overview:before{opacity:.35}.student-selection-grid{background:0 0}.student-select-card,.recent-score-card{border-color:var(--workspace-line);box-shadow:none}.student-select-card:hover{box-shadow:0 10px 24px #4837bc1a}.control-panel-title,.section-header{border-bottom-color:var(--workspace-line)}.feature-icon{color:#5748c2;background:var(--workspace-soft)}.points-value{color:#4a38bc}.settings-index{border-color:var(--workspace-line)}.settings-content{border-color:var(--workspace-line);background:var(--teacher-surface);box-shadow:var(--workspace-shadow);border-radius:14px}.attention-panel,.async-export-panel,.backup-vault,.partner-catalog-card,.pet-management-card{border-color:var(--workspace-line)}.danger-action-row{border-radius:14px}.export-action-grid>article{border-color:var(--workspace-line)}.danger-action-row{box-shadow:none}.board-header{border-bottom-color:var(--workspace-line);background:#fff}.board-stage{background:#f8f9fc}.companion-card{border-color:var(--workspace-line);background:#fff;box-shadow:0 8px 20px #2220330d}.companion-card.highlighted{background:#f4f1ff;border-color:#9388e2}.theme-swatches{align-items:center}.theme-swatch,.theme-custom-picker{font:inherit}@media (width<=1040px){.teacher-date{display:none}}@media (width<=720px){.teacher-content .page-heading{flex-direction:column;align-items:flex-start}.scoring-layout{grid-template-columns:1fr}.control-panel,.countdown-panel,.rollcall-panel,.shout-panel,.broadcast-panel{grid-column:auto}.settings-layout{display:block}.settings-index{margin-bottom:16px;position:static}.theme-preference-card{flex-direction:column;align-items:flex-start;gap:16px;padding:18px}.theme-preference-controls{justify-content:flex-start;align-items:flex-start}}:root{--teacher-bg:#f5f7fb;--teacher-surface:#fff;--teacher-surface-soft:#f8f9fc;--teacher-ink:#202334;--teacher-ink-soft:#4e566a;--teacher-muted:#747d90;--teacher-line:#e4e8f0;--teacher-line-strong:#d4dae6;--teacher-primary:var(--color-primary,#4837bc);--teacher-primary-strong:var(--color-primary-strong,#38289f);--teacher-primary-soft:var(--color-primary-soft,#f2efff);--teacher-shadow:0 10px 28px #1c243a0f;--teacher-shadow-hover:0 14px 32px #1c243a1a}html,body,#app{min-height:100%}body{color:var(--teacher-ink);background:var(--teacher-bg);margin:0}button,input,textarea,select{font:inherit}a{color:inherit}.teacher-shell{background:var(--teacher-bg);min-height:100vh;display:block}.site-icp-footer{color:var(--teacher-muted);background:0 0;justify-content:center;padding:9px 16px 15px;font-size:12px;line-height:1.4;display:flex}.site-icp-footer a{color:inherit;text-decoration:none}.site-icp-footer a:hover{color:var(--teacher-primary)}.login-site-icp-footer{z-index:2;position:absolute;bottom:10px;left:0;right:0}.teacher-main,.teacher-content{background:var(--teacher-bg);min-width:0}.teacher-content>.page-section{margin:0 auto}.page-section{min-width:0;margin-bottom:0}.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;min-width:0;margin-bottom:18px;display:flex}.scoring-toolbar,.ranking-toolbar{justify-content:space-between;gap:18px;min-width:0;margin-bottom:18px;display:flex}.page-heading h1{color:var(--teacher-ink);letter-spacing:-.035em;margin:0;font-size:clamp(25px,2.5vw,36px);font-weight:780;line-height:1.2}.toolbar-title{color:var(--teacher-ink);letter-spacing:-.035em;margin:0;font-weight:780;line-height:1.2}.page-heading .eyebrow,.eyebrow,.section-kicker{color:var(--teacher-primary-strong);letter-spacing:.12em;margin:0 0 6px;font-size:11px;font-weight:800}.page-description{max-width:720px;color:var(--teacher-muted);margin:7px 0 0;font-size:13px;line-height:1.55}.teacher-content .ant-btn-primary{border-color:var(--teacher-primary);box-shadow:0 6px 14px var(--color-focus,#4837bc2e);border-radius:9px}.live-status{color:#267648;background:var(--teacher-surface-soft);border:1px solid #b8e3ca;border-radius:999px;align-items:center;gap:7px;min-height:30px;padding:5px 10px;font-size:11px;font-weight:650;display:inline-flex}.live-status i{background:#29a561;border-radius:50%;width:7px;height:7px}.classroom-heading{border:1px solid var(--teacher-line);background:var(--teacher-surface);box-shadow:var(--teacher-shadow);border-radius:15px}.class-overview{border:1px solid var(--teacher-line);box-shadow:var(--teacher-shadow);border-radius:15px}.classroom-commandbar{border:1px solid var(--teacher-line);background:var(--teacher-surface);box-shadow:var(--teacher-shadow);border-radius:15px}.control-panel{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:15px}.scoring-toolbar{border:1px solid var(--teacher-line);background:var(--teacher-surface);box-shadow:var(--teacher-shadow);border-radius:15px}.scoring-workspace{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:15px}.ranking-toolbar{border:1px solid var(--teacher-line);background:var(--teacher-surface);box-shadow:var(--teacher-shadow);border-radius:15px}.ranking-content,.settings-index,.settings-section{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:15px}.theme-preference-card,.attention-panel,.async-export-panel,.backup-vault,.partner-catalog-card,.pet-management-card,.export-action-grid>article{border:1px solid var(--teacher-line);background:var(--teacher-surface);box-shadow:var(--teacher-shadow);border-radius:15px}.classroom-heading h1{color:var(--teacher-ink);-webkit-text-fill-color:initial;background:0 0}.classroom-heading .page-description{color:var(--teacher-muted)}.class-switcher-main{align-items:center;gap:10px;min-width:0;display:flex}.class-switcher-main .section-kicker{flex:none;margin:0}.class-switcher-select{width:min(300px,32vw);min-width:180px}.class-switcher-hint{color:var(--teacher-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.class-overview{background:var(--teacher-primary-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:18px;padding:24px 26px;display:grid}.class-overview:before{display:none}.overview-actions{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.overview-link{border:1px solid var(--teacher-primary);color:#fff;background:var(--teacher-primary);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.overview-link.outline{color:var(--teacher-primary-strong);background:var(--teacher-surface)}.overview-stats{align-items:stretch;display:flex}.overview-stats>div{border-left:1px solid #4837bc38;min-width:100px;padding:6px 20px}.overview-stats>div:first-child{border-left:0}.overview-stats strong{color:var(--teacher-primary-strong);font-size:28px;line-height:1.1;display:block}.overview-stats span{color:var(--teacher-muted);margin-top:5px;font-size:11px;display:block}.class-grid{grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:18px;display:grid}.batch-toolbar{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:9px;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 18px 0;padding:9px 11px;display:flex}.batch-count,.roster-hint,.muted-text{color:var(--teacher-muted);font-size:11px}.batch-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.student-score-feedback,.student-exp-feedback{z-index:2}.class-loading{min-height:260px;color:var(--teacher-muted);align-content:center;place-items:center;gap:10px;display:grid}.classroom-commandbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:14px 18px;display:flex}.classroom-selector,.classroom-session-state{align-items:center;gap:9px;display:flex}.classroom-selector>span{color:var(--teacher-muted);font-size:12px;font-weight:650}.classroom-session-state>strong{color:var(--teacher-ink-soft);font-size:12px}.status-dot{background:#e2a51f;border-radius:50%;width:8px;height:8px}.status-dot.online{background:#22a161}.classroom-command-error{margin-bottom:14px}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.control-panel{min-width:0;box-shadow:none;padding:18px}.control-panel-title{border-bottom:1px solid var(--teacher-line);align-items:center;gap:9px;margin-bottom:15px;padding-bottom:12px;display:flex}.control-panel-title>.anticon{color:var(--teacher-primary);background:var(--teacher-primary-soft);border-radius:9px;padding:8px;font-size:16px}.control-panel-title div{flex-direction:column;gap:3px;min-width:0;display:flex}.control-panel-title strong{color:var(--teacher-ink);font-size:14px}.control-panel-title span{color:var(--teacher-muted);font-size:11px}.countdown-readout{color:var(--teacher-primary-strong);text-align:center;padding:7px 0 13px;font-weight:780;line-height:1}.countdown-input,.rollcall-input{color:var(--teacher-muted);justify-content:center;align-items:center;gap:7px;margin-bottom:12px;display:flex}.countdown-presets{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px;display:flex}.countdown-presets button{border:1px solid var(--teacher-line);color:var(--teacher-muted);background:var(--teacher-surface-soft);cursor:pointer;border-radius:7px;padding:6px 10px;font-size:11px}.countdown-presets button.active{border-color:var(--teacher-primary);color:var(--teacher-primary-strong);background:var(--teacher-primary-soft)}.control-actions{justify-content:center;gap:7px;display:flex}.rollcall-result{border-radius:9px;margin-top:14px;padding:11px}.rollcall-result>span{color:var(--teacher-muted);font-size:11px}.rollcall-result>div{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.rollcall-result strong{color:var(--teacher-primary-strong);background:var(--teacher-surface);border-radius:6px;padding:4px 7px;font-size:12px}.shout-options,.broadcast-options{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:12px 0;display:grid}.shout-options label,.broadcast-options label{color:var(--teacher-muted);align-items:center;gap:6px;font-size:11px;display:flex}.shout-options label:first-child{min-width:0}.shout-options label:first-child .ant-slider{flex:1;min-width:70px}.shout-options .ant-input-number,.broadcast-options .ant-input-number{width:72px}.scoring-toolbar{align-items:center;padding:15px 18px}.ranking-toolbar{padding:15px 18px}.toolbar-left{flex-wrap:wrap;align-items:center;gap:9px;min-width:0;display:flex}.toolbar-right,.toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-title{margin-right:4px;font-size:23px}.quick-stats{color:var(--teacher-muted);border:0;align-items:center;gap:11px;margin:0;padding:0;font-size:11px;display:inline-flex}.quick-stats strong{color:var(--teacher-primary-strong);font-size:16px}.board-link{border:1px solid var(--teacher-line);color:var(--teacher-primary-strong);background:var(--teacher-surface);border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.scoring-workspace{box-shadow:none;grid-template-columns:minmax(300px,.84fr) minmax(0,1.16fr);display:grid;overflow:hidden}.student-selection-section,.score-composer-section{min-width:0;padding:19px}.student-selection-section{border-right:1px solid var(--teacher-line);background:var(--teacher-surface-soft)}.score-composer-section{background:var(--teacher-surface)}.section-header,.section-title-row{border-bottom:1px solid var(--teacher-line);justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;padding-bottom:11px;display:flex}.section-header h2,.section-title-row h2{color:var(--teacher-ink);margin:0;font-size:16px}.selection-tools{flex-wrap:wrap;gap:7px;display:flex}.student-selection-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:10px;min-height:0;display:grid}.student-select-card{border:1px solid var(--teacher-line);min-width:0;min-height:76px;color:var(--teacher-ink);background:var(--teacher-surface);cursor:pointer;text-align:left;border-radius:9px;grid-template-columns:18px 32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid;position:relative}.student-select-card:hover,.student-select-card.selected{border-color:var(--teacher-primary);background:var(--teacher-primary-soft)}.select-card-check{border:1px solid var(--teacher-line-strong);color:#fff;background:var(--teacher-surface);border-radius:5px;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.student-select-card.selected .select-card-check{border-color:var(--teacher-primary);background:var(--teacher-primary)}.select-card-avatar{border-radius:9px;place-items:center;width:32px;height:32px;font-size:14px;display:grid}.select-card-info{flex-direction:column;gap:3px;min-width:0;display:flex}.select-card-info strong,.select-card-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-card-info strong{color:var(--teacher-ink);font-size:12px}.select-card-info span,.select-card-points{color:var(--teacher-muted);font-size:10px}.select-card-points{flex-direction:column;align-items:flex-end;display:flex}.select-card-points .points-value{color:var(--teacher-primary-strong);font-size:14px}.selection-empty,.button-grid-empty{min-height:130px;color:var(--teacher-muted);text-align:center;grid-column:1/-1;align-content:center;place-items:center;gap:6px;display:grid}.score-choice-group{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:11px;margin-bottom:11px;padding:13px}.choice-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.choice-icon{border-radius:8px;padding:7px}.positive-icon{color:#188653;background:var(--teacher-surface-soft)}.negative-icon{color:#c15b58;background:var(--teacher-surface-soft)}.choice-header h3{color:var(--teacher-ink);margin:0;font-size:13px}.choice-header p{color:var(--teacher-muted);margin:3px 0 0;font-size:10px}.score-button-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:7px;display:grid}.score-button{border:1px solid var(--teacher-line-strong);min-height:66px;color:var(--teacher-ink);background:var(--teacher-surface);cursor:pointer;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px;display:flex;position:relative}.score-button:hover,.score-button.active{border-color:var(--teacher-primary);background:var(--teacher-primary-soft);box-shadow:0 0 0 2px var(--teacher-primary-soft)}.button-icon{font-size:17px}.button-label{max-width:100%;color:var(--teacher-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.button-score{color:var(--teacher-primary-strong);font-size:15px}.keyboard-hint{color:var(--teacher-muted);font-size:9px;position:absolute;top:5px;right:6px}.custom-score-toggle{border:1px dashed var(--teacher-line-strong);width:100%;color:var(--teacher-ink-soft);background:var(--teacher-surface);cursor:pointer;text-align:left;border-radius:9px;align-items:center;gap:8px;margin:3px 0 0;padding:10px 12px;display:flex}.custom-score-toggle strong{color:var(--teacher-primary-strong);margin-left:auto}.custom-score-toggle.active{border-color:var(--teacher-primary);background:var(--teacher-primary-soft)}.submit-score-button{color:#fff;background:var(--teacher-primary);width:100%;min-height:48px;box-shadow:0 8px 18px var(--color-focus,#4837bc2e);cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-weight:750;display:flex}.submit-score-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.submit-score-button small{opacity:.85;margin-left:5px;font-size:10px;font-weight:500}.recent-score-section{margin-top:15px}.recent-score-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;display:grid}.recent-score-card{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:10px;align-items:center;gap:10px;min-width:0;padding:11px 12px;display:flex}.recent-score-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.recent-score-copy strong{color:var(--teacher-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.recent-score-copy span{color:var(--teacher-muted);font-size:10px}.recent-score-value{color:#198455;font-size:18px;font-weight:750}.recent-score-value.negative{color:#c45d5a}.ranking-toolbar{align-items:center}.ranking-content{box-shadow:none;padding:18px}.podium-section{padding-bottom:18px}.podium-container{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;display:grid}.podium-card{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:92px;padding:14px;display:grid}.podium-card.podium-gold{background:var(--teacher-surface-soft);border-color:#e7cf89;min-height:112px}.podium-card.podium-silver{border-color:#cfd7e3}.podium-card.podium-bronze{border-color:#e5c3ad}.rank-medal{font-size:22px}.rank-number{color:var(--teacher-muted);text-align:center;font-size:10px;display:block}.podium-info{min-width:0}.podium-info h3,.ranking-info h3{color:var(--teacher-ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.podium-info p,.ranking-info p{color:var(--teacher-muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:10px;overflow:hidden}.podium-score,.ranking-points{flex-direction:column;align-items:flex-end;min-width:52px;display:flex}.podium-score strong,.ranking-points strong{color:var(--teacher-primary-strong);font-size:19px}.podium-score span,.ranking-points span{color:var(--teacher-muted);font-size:10px}.ranking-list-section{border-top:1px solid var(--teacher-line);padding-top:16px}.period-label{color:var(--teacher-muted);font-size:11px}.ranking-list{gap:7px;display:grid}.ranking-item{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:10px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;padding:10px 12px;display:grid}.ranking-item:hover{border-color:var(--teacher-primary);background:var(--teacher-primary-soft)}.ranking-position{width:34px;height:34px;color:var(--teacher-muted);background:var(--teacher-surface-soft);border-radius:9px;place-items:center;font-size:13px;font-weight:750;display:grid}.rank-medal-small{font-size:18px}.ranking-points strong.negative{color:#c45d5a}.ranking-points strong.positive{color:#198455}.settings-sync{border:1px solid var(--teacher-line);min-height:28px;color:var(--teacher-muted);background:var(--teacher-surface);border-radius:999px;align-items:center;gap:7px;padding:5px 9px;font-size:11px;display:inline-flex}.settings-sync i{background:#2aa06a;border-radius:50%;width:7px;height:7px}.theme-preference-card{justify-content:space-between;align-items:center;gap:22px;margin-bottom:16px;padding:20px 22px;display:flex}.theme-preference-copy{min-width:220px}.theme-preference-copy h2{color:var(--teacher-ink);margin:4px 0 5px;font-size:17px}.theme-preference-copy p{max-width:560px;color:var(--teacher-muted);margin:0;font-size:12px;line-height:1.5}.theme-preference-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.theme-swatches{flex-wrap:wrap;gap:6px;display:flex}.theme-swatch,.theme-custom-picker{border:1px solid var(--teacher-line);min-height:32px;color:var(--teacher-muted);background:var(--teacher-surface);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 9px 4px 5px;font-size:11px;display:inline-flex}.theme-swatch:hover,.theme-swatch.active{border-color:var(--swatch);color:var(--swatch);background:color-mix(in srgb, var(--swatch) 8%, var(--teacher-surface))}.theme-swatch>span{background:var(--swatch);border-radius:50%;width:20px;height:20px;display:inline-block;box-shadow:inset 0 0 0 2px #ffffffb8}.theme-preview-dot{border-radius:50%;display:inline-block}.theme-custom-picker input{cursor:pointer;border:0;border-radius:50%;width:20px;height:20px;padding:0;overflow:hidden}.theme-preference-actions{color:var(--teacher-muted);align-items:center;gap:7px;font-size:11px;display:flex}.theme-preference-actions code{min-width:70px;color:var(--teacher-ink);font-size:11px}.theme-preview-dot{background:var(--teacher-primary);width:16px;height:16px;box-shadow:none}.settings-layout{grid-template-columns:194px minmax(0,1fr);align-items:start;gap:16px;display:grid}.settings-index{box-shadow:none;flex-direction:column;gap:2px;padding:9px;display:flex;position:sticky;top:88px}.settings-index a{color:var(--teacher-muted);border-radius:8px;align-items:center;gap:7px;padding:9px 8px;font-size:11px;text-decoration:none;display:flex}.settings-index a .anticon{color:var(--teacher-primary);font-size:14px}.settings-index a.active,.settings-index a:hover{color:var(--teacher-primary-strong);background:var(--teacher-primary-soft)}.settings-content{min-width:0}.settings-section{box-shadow:none;padding:20px}.settings-section+.settings-section{margin-top:14px}.settings-score-item,.level-rule-row,.wheel-prize-row{border-bottom-color:var(--teacher-line);min-height:50px;padding:9px 0}.settings-score-copy strong,.level-rule-row strong,.wheel-prize-row strong{color:var(--teacher-ink);font-size:12px}.settings-score-copy span,.level-rule-row small,.wheel-prize-row small{color:var(--teacher-muted);font-size:10px}.settings-toggle-list{border-top:1px solid var(--teacher-line)}.settings-toggle-list>div{border-bottom:1px solid var(--teacher-line);min-height:54px;padding:9px 0}.settings-toggle-list strong{color:var(--teacher-ink);font-size:12px}.settings-toggle-list small{color:var(--teacher-muted);font-size:10px}.settings-index+.settings-content .ant-table-wrapper{overflow-x:auto}.danger-action-row{background:var(--teacher-surface-soft);border-color:#f0d7d7}.ant-modal-content{border-radius:14px}.ant-modal-header{border-bottom-color:var(--teacher-line)}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number,.ant-picker{border-radius:9px!important}.quick-score-layout{gap:0}.quick-score-chip{border-color:var(--teacher-line-strong)}.classroom-board{--teacher-ink:#202334;--teacher-ink-soft:#4e566a;--teacher-muted:#747d90;--teacher-line:#e4e8f0;--teacher-primary-strong:var(--color-primary);--teacher-primary-soft:color-mix(in srgb, var(--color-primary) 8%, #fff);--workspace-bg:#f6f7fb;--workspace-ink:#201d33;--workspace-muted:#747186;--workspace-line:#e7e5ef;--color-text:#222033;--color-text-secondary:#746f86;--color-text-tertiary:#9a96a8;--color-border:#e7e5ef;--color-surface:#fff;--color-bg-soft:#fbfaff;--color-primary-strong:var(--color-primary);--color-primary-soft:color-mix(in srgb, var(--color-primary) 8%, #fff);--color-success:#15803d;--color-warning:#b45309;--color-error:#b91c1c;color:var(--teacher-ink)!important;background:#f7f9fc!important}.classroom-board .board-header{color:var(--teacher-ink)!important;border-bottom:1px solid var(--teacher-line)!important;background:#fff!important}.classroom-board .board-stage{background:#f7f9fc!important}.classroom-board .companion-card{border-color:var(--teacher-line)!important;background:#fff!important;box-shadow:0 7px 18px #1c243a0f!important}.classroom-board .companion-card.highlighted{border-color:var(--teacher-primary)!important;background:var(--teacher-primary-soft)!important}.classroom-board .companion-group,.classroom-board .companion-meta{color:var(--teacher-muted)!important}.classroom-board .companion-points{color:var(--teacher-primary-strong)!important}.classroom-board .board-countdown,.classroom-board .broadcast-overlay,.classroom-board .shout-overlay,.classroom-board .rollcall-overlay{border-color:var(--teacher-line)!important;color:var(--teacher-ink)!important;background:#fff!important;box-shadow:0 12px 30px #1c243a1f!important}@media (width<=1120px){.scoring-workspace{grid-template-columns:1fr}.student-selection-section{border-right:0;border-bottom:1px solid var(--teacher-line)}}@media (width<=860px){.class-grid{grid-template-columns:1fr}.podium-card{grid-template-columns:auto minmax(0,1fr)}.podium-score{grid-column:2;align-items:flex-start}.theme-preference-card{flex-direction:column;align-items:flex-start}.theme-preference-controls{justify-content:flex-start}.settings-layout{grid-template-columns:1fr}.settings-index{flex-direction:row;position:static;overflow-x:auto}.settings-index a{white-space:nowrap;flex:none}}@media (width<=720px){.class-switcher-main{flex-wrap:wrap}.class-switcher-select{width:100%;min-width:0}.class-switcher-hint{flex-basis:100%}.page-heading,.scoring-toolbar,.ranking-toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions{width:100%}.toolbar-actions .ant-btn{flex:1}.class-overview,.settings-section,.ranking-content{padding:16px}.class-overview{grid-template-columns:1fr;gap:16px}.overview-stats{justify-content:space-between}.overview-stats>div{flex:1;min-width:0;padding-inline:10px}.overview-stats strong{font-size:22px}.classroom-commandbar{flex-direction:column;align-items:stretch}.classroom-selector,.classroom-session-state{justify-content:space-between}.control-grid{grid-template-columns:1fr}.scoring-toolbar .toolbar-left,.ranking-toolbar .toolbar-left{width:100%}.scoring-toolbar .class-selector,.ranking-toolbar .class-selector{flex:1;min-width:150px}.scoring-toolbar .ant-radio-group,.ranking-toolbar .ant-radio-group{width:100%}.scoring-toolbar .ant-radio-button-wrapper,.ranking-toolbar .ant-radio-button-wrapper{text-align:center;flex:1}.student-selection-section,.score-composer-section{padding:15px}.student-selection-grid{grid-template-columns:1fr}.selection-tools{width:100%}.selection-tools .ant-input{flex:1;width:auto!important}.score-button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shout-options,.broadcast-options{grid-template-columns:1fr}.shout-options label,.broadcast-options label{justify-content:space-between}.podium-container{grid-template-columns:1fr;align-items:stretch}.podium-card,.podium-card.podium-gold{min-height:76px}.ranking-item{grid-template-columns:38px minmax(0,1fr) auto}.quick-score-profile{border-right:0;border-bottom:1px solid var(--teacher-line)}}@media (width<=420px){.overview-stats strong{font-size:20px}.submit-score-button small{display:none}}@media (prefers-reduced-motion:reduce){.student-select-card,.score-button,.ranking-item{transition:none!important;transform:none!important}}body{overflow-x:hidden}.teacher-content{box-sizing:border-box;width:100%;max-width:none!important;margin:0!important}.teacher-content>.page-section{width:100%!important;max-width:none!important}.classroom-heading{align-items:center;min-height:0;margin-bottom:10px!important;padding:14px 18px!important}.classroom-heading h1{line-height:1.15;font-size:clamp(24px,2vw,30px)!important}.classroom-heading .page-description{margin-top:4px;font-size:12px;line-height:1.4}.quick-score-modal .ant-modal-content{background:var(--teacher-surface)}.quick-score-modal .ant-modal-body{max-height:min(720px,100vh - 110px);overflow:auto}.quick-score-layout{min-height:480px}.quick-score-profile{border-right:1px solid var(--teacher-line);flex-direction:column;gap:18px;padding:24px;display:flex}.quick-score-profile-head{min-width:0}.quick-score-profile-head p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-score-level>span{color:var(--teacher-muted);font-size:12px;line-height:1.45}.quick-score-level small,.quick-score-stats span{line-height:1.45}.quick-score-profile-note{font-size:12px;line-height:1.45}.quick-score-stats>div{border:1px solid var(--teacher-line);gap:4px;display:grid}.quick-score-profile-note{align-items:flex-start}.quick-score-profile-note .anticon{color:var(--teacher-primary)}.quick-score-form{flex-direction:column;gap:18px;padding:24px;display:flex}.quick-choice-label{justify-content:space-between;align-items:baseline}.quick-choice-label>span .anticon{color:var(--teacher-primary)}.quick-choice-label small{color:var(--teacher-muted);font-size:11px}.quick-score-chip{font:inherit}.quick-score-chip:hover{border-color:var(--teacher-primary);color:var(--teacher-primary-strong);background:var(--teacher-primary-soft)}.quick-score-chip.active{color:var(--teacher-primary-strong)}.quick-score-chip.negative:hover{color:#a33d45;background:var(--teacher-surface-soft);border-color:#d8888c}.quick-score-chip.negative.active{color:#a33d45}.quick-chip-icon{background:var(--teacher-surface-soft);border-radius:7px;place-items:center;width:23px;height:23px;display:grid}.quick-score-chip>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.quick-choice-empty{border:1px dashed var(--teacher-line-strong);border-radius:9px}.quick-custom-score{font:inherit}.quick-score-remark>span{font-weight:650}.quick-score-remark>span small{color:var(--teacher-muted);font-weight:400}.quick-submit{font:inherit;padding:9px 14px}.quick-submit small{opacity:.82}@media (width<=720px){.classroom-heading{flex-direction:column;align-items:flex-start;gap:10px;padding:14px!important}}.classroom-page .page-heading{margin-top:0}.quick-score-modal.ant-modal,.quick-score-modal .ant-modal{max-width:calc(100vw - 24px);width:min(940px,100vw - 24px)!important}.quick-score-modal.ant-modal .ant-modal-content,.quick-score-modal .ant-modal-content{padding:0;overflow:hidden}.quick-score-modal .ant-modal-body{padding:0}.quick-score-layout{grid-template-columns:288px minmax(0,1fr);min-width:0;max-height:calc(100vh - 32px);display:grid;overflow-y:auto}.quick-score-profile,.quick-score-form{min-width:0}.quick-score-profile-head{align-items:center;gap:10px;margin:14px 0 16px;display:flex}.quick-score-avatar{width:52px;height:52px;color:var(--teacher-primary);background:var(--teacher-primary-soft);border-radius:15px;flex:none;place-items:center;font-size:22px;display:grid;overflow:hidden}.quick-score-avatar img{object-fit:cover;width:100%;height:100%}.quick-score-profile-head h2,.quick-score-form-head h2{color:var(--teacher-ink);margin:0;font-size:18px;line-height:1.3}.quick-score-profile-head p{color:var(--teacher-muted);margin:3px 0 0;font-size:11px}.quick-score-kicker{color:var(--teacher-primary-strong);letter-spacing:.08em;font-size:10px;font-weight:800}.quick-score-level{border:1px solid var(--teacher-line);border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.quick-score-level span,.quick-score-level small,.quick-score-profile-note span,.quick-score-stats span{color:var(--teacher-muted);font-size:11px}.quick-score-level strong{color:var(--teacher-primary-strong);font-size:16px}.quick-score-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;display:grid}.quick-score-stats>div{background:var(--teacher-surface);text-align:center;border-radius:9px;padding:10px}.quick-score-stats strong{color:var(--teacher-ink);font-size:16px;display:block}.quick-score-profile-note{color:var(--teacher-primary);gap:7px;margin-top:auto;padding-top:18px;display:flex}.quick-score-form-head{border-bottom:1px solid var(--teacher-line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;padding-right:42px;display:flex}.quick-score-form-head>div:first-child{min-width:0}.quick-score-form-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.quick-score-live{color:var(--color-success);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:inline-flex}.quick-score-live i{background:#29a561;border-radius:50%;width:6px;height:6px}.quick-score-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.quick-score-group{background:var(--teacher-surface-soft);min-width:0}.quick-choice-label{flex-direction:column;gap:3px;margin-bottom:8px;display:flex}.quick-choice-label>span{color:var(--teacher-ink);align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.quick-choice-label>small{color:var(--teacher-muted);font-size:10px}.quick-score-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:7px;display:grid}.quick-score-chip{border:1px solid var(--teacher-line-strong);min-width:0;color:var(--teacher-ink);background:var(--teacher-surface);cursor:pointer;text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px;display:grid}.quick-score-chip>span:not(.quick-chip-icon){text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.quick-chip-icon{font-size:14px}.quick-score-chip strong{color:var(--teacher-primary-strong);font-size:13px}.quick-score-chip.negative strong{color:#b85a59}.quick-score-chip.active{border-color:var(--teacher-primary);background:var(--teacher-primary-soft)}.quick-choice-empty{color:var(--teacher-muted);text-align:center;grid-column:1/-1;padding:12px 0;font-size:11px}.quick-custom-score{border:1px dashed var(--teacher-line-strong);width:100%;min-height:40px;color:var(--teacher-muted);background:var(--teacher-surface);cursor:pointer;text-align:left;border-radius:9px;align-items:center;gap:7px;margin-top:12px;padding:0 10px;display:flex}.quick-custom-score strong{color:var(--teacher-primary-strong);margin-left:auto}.quick-custom-score.active{border-color:var(--teacher-primary);color:var(--teacher-primary-strong);background:var(--teacher-primary-soft)}.quick-score-remark{flex-direction:column;gap:6px;margin-top:12px;display:flex}.quick-score-remark>span{color:var(--teacher-muted);font-size:11px}.quick-score-remark small{color:var(--teacher-muted)}.quick-submit{color:#fff;cursor:pointer;border:0;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:14px;font-weight:750;display:flex}.quick-submit:disabled{cursor:not-allowed;opacity:.55}.quick-submit small{color:#fffc;margin-left:4px;font-size:10px;font-weight:500}@media (width<=680px){.quick-score-modal.ant-modal,.quick-score-modal .ant-modal{margin:0 auto;top:8px}.quick-score-layout{grid-template-columns:1fr;max-height:calc(100vh - 16px);overflow-y:auto}.quick-score-profile{border-right:0;border-bottom:1px solid var(--teacher-line);padding-top:40px}.quick-score-profile-note{margin-top:12px;padding-top:0}.quick-score-columns{grid-template-columns:1fr}.quick-score-form-head{flex-direction:column;padding-right:0}.quick-score-form-tools{justify-content:flex-start}}.classroom-control-workspace{gap:12px;display:grid}.control-mode-tabs{border:1px solid var(--teacher-line);background:var(--teacher-surface);box-shadow:var(--teacher-shadow);border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;display:grid}.control-mode-tab{min-width:0;color:var(--teacher-muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:11px 13px;transition:all .18s;display:grid}.control-mode-tab>.anticon{color:var(--teacher-primary);grid-row:1/span 2;font-size:19px}.control-mode-tab span{color:var(--teacher-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:750;overflow:hidden}.control-mode-tab small{color:var(--teacher-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.control-mode-tab:hover{border-color:var(--teacher-line-strong);background:var(--teacher-surface-soft)}.control-mode-tab.active{border-color:color-mix(in srgb, var(--teacher-primary) 35%, var(--teacher-line));background:var(--teacher-primary-soft);box-shadow:inset 0 -2px 0 var(--teacher-primary)}.feature-panel{min-height:440px;box-shadow:var(--teacher-shadow);padding:22px 26px}.feature-panel .control-panel-title{margin-bottom:0}.feature-panel-intro{background:var(--teacher-surface-soft);border-radius:10px;gap:4px;padding:14px 16px;display:grid}.feature-panel-intro strong{color:var(--teacher-ink);font-size:15px}.feature-panel-intro span{color:var(--teacher-muted);font-size:12px;line-height:1.5}.countdown-panel{background:var(--teacher-surface-soft)}.countdown-panel.countdown-active{border-color:color-mix(in srgb, var(--teacher-primary) 48%, var(--teacher-line));box-shadow:0 0 0 3px var(--teacher-primary-soft), 0 16px 42px #4837bc1f}.countdown-readout{letter-spacing:.06em;text-shadow:0 8px 22px #4837bc1f;margin:8px 0 4px;font-size:clamp(64px,10vw,118px)}.countdown-running{animation:1.6s ease-in-out infinite countdown-breathe}.countdown-urgent-readout{animation:.55s ease-in-out infinite alternate countdown-urgent;color:#c2414c!important}.countdown-live-message{color:var(--teacher-primary-strong);justify-content:center;align-items:center;gap:7px;margin-top:18px;font-size:12px;font-weight:700;display:flex}.countdown-live-message i{background:#e0a52e;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite live-dot;box-shadow:0 0 0 5px #e0a52e24}.rollcall-panel{width:100%;margin:0 auto}.shout-panel,.broadcast-panel{width:100%;max-width:920px;margin:0 auto}.rollcall-panel{background:var(--teacher-surface-soft)}.rollcall-stage{width:130px;height:130px;color:var(--teacher-primary);background:var(--teacher-primary-soft);border:1px solid #d9d1ff;border-radius:50%;place-items:center;margin:12px auto 18px;font-size:38px;display:grid;position:relative}.rollcall-stage-orbit{border:2px dashed #4837bc4d;border-radius:50%;position:absolute;inset:10px}.rollcall-stage.spinning .rollcall-stage-orbit{animation:.9s linear infinite rollcall-orbit}.rollcall-stage.spinning>.anticon{animation:.45s ease-in-out infinite alternate rollcall-pop}.rollcall-reveal{animation:.55s cubic-bezier(.2,.8,.2,1) both rollcall-reveal}.rollcall-result{background:var(--teacher-surface-soft);border:1px solid #d9d1ff}.rollcall-result strong{border:1px solid #e1dbff;box-shadow:0 4px 10px #4837bc14}.shout-panel{background:var(--teacher-surface-soft)}.shout-active{border-color:#78bed7;box-shadow:0 0 0 3px #3aa5c91f,0 16px 40px #3aa5c921}.shout-wave{opacity:.38;justify-content:center;align-items:center;gap:5px;height:32px;margin:12px 0 6px;display:flex}.shout-wave i{background:#3aa5c9;border-radius:99px;width:4px;height:10px}.shout-active .shout-wave{opacity:1}.shout-active .shout-wave i{animation:.7s ease-in-out infinite alternate shout-wave}.shout-active .shout-wave i:nth-child(2){animation-delay:.12s}.shout-active .shout-wave i:nth-child(3){animation-delay:.24s}.shout-active .shout-wave i:nth-child(4){animation-delay:.12s}.shout-active .shout-wave i:nth-child(5){animation-delay:50ms}.broadcast-panel{background:var(--teacher-surface-soft)}.broadcast-active{border-color:#e3b75d;box-shadow:0 0 0 3px #e3b75d24,0 16px 40px #e3b75d21}.broadcast-preview{color:#8a6419;opacity:.55;background:#fff8e0b3;border:1px dashed #e3b75d;border-radius:9px;align-items:center;gap:10px;min-height:46px;margin:12px 0;padding:10px 14px;display:flex}.broadcast-preview.visible{opacity:1;animation:.45s both broadcast-in}.broadcast-preview span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes countdown-breathe{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.025)}}@keyframes countdown-urgent{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes live-dot{50%{opacity:.5;transform:scale(.7)}}@keyframes rollcall-orbit{to{transform:rotate(360deg)}}@keyframes rollcall-pop{0%{transform:scale(.9)rotate(-8deg)}to{transform:scale(1.12)rotate(8deg)}}@keyframes rollcall-reveal{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shout-wave{0%{height:8px}to{height:29px}}@keyframes broadcast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){.control-mode-tab{padding-inline:9px}.control-mode-tab small{display:none}}@media (width<=680px){.control-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-panel{min-height:0;padding:16px}.shout-options,.broadcast-options{grid-template-columns:1fr}}@media (width<=420px){.countdown-readout{font-size:56px}}@media (prefers-reduced-motion:reduce){.countdown-running,.countdown-urgent-readout,.rollcall-stage.spinning .rollcall-stage-orbit,.rollcall-stage.spinning>.anticon,.rollcall-reveal,.shout-active .shout-wave i,.broadcast-preview.visible{animation:none!important}}.teacher-content>.page-section{animation:.22s both teacher-page-enter}.teacher-content .page-heading{border-bottom:1px solid var(--teacher-line);gap:12px;margin-bottom:9px;padding-bottom:7px}.teacher-content .page-heading h1{font-size:clamp(26px,2.25vw,34px);line-height:1.15}.teacher-content .page-heading .eyebrow,.teacher-content .section-kicker{margin-bottom:3px;font-size:11px}.teacher-content .ant-btn,.teacher-content .ant-input,.teacher-content .ant-select-selector,.teacher-content .ant-input-number-input,.teacher-content .ant-radio-button-wrapper{font-size:14px}.teacher-content .page-description{display:none!important}.teacher-content .classroom-heading{gap:10px}.teacher-content .class-switcher{padding:9px 12px}.teacher-content .section-header,.teacher-content .control-panel-title{gap:10px}.teacher-content .student-select-card,.teacher-content .ranking-item,.teacher-content .settings-row,.teacher-content .level-rule-row,.teacher-content .export-action-grid article{font-size:14px}@keyframes teacher-page-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.teacher-content .page-heading{margin-bottom:7px;padding-bottom:5px}.teacher-content .page-heading h1{font-size:24px}}.settings-page{--settings-panel-radius:18px;--settings-control-height:42px;font-size:14px}.settings-page>.page-heading{border:1px solid var(--teacher-line);border-radius:var(--settings-panel-radius)}.settings-page>.page-heading h1{margin:0}.settings-page>.page-heading .page-description{max-width:860px;margin-top:9px;font-size:15px;line-height:1.65}.settings-page .settings-sync{white-space:nowrap;padding-inline:12px}.settings-page .theme-preference-copy p{max-width:680px;font-size:14px;line-height:1.65}.settings-page .theme-swatch,.settings-page .theme-custom-picker{padding:6px 12px 6px 8px;font-size:13px}.settings-page .theme-swatch>span,.settings-page .theme-custom-picker input{width:24px;height:24px}.settings-page .theme-preference-actions{font-size:13px}.settings-page .theme-preference-actions code{min-width:78px;font-size:13px}.settings-page .theme-preference-actions .ant-btn{padding-inline:14px;font-size:13px}.settings-page .settings-layout{grid-template-columns:224px minmax(0,1fr);gap:22px}.settings-page .settings-index{border-radius:var(--settings-panel-radius);box-shadow:var(--teacher-shadow);gap:3px;padding:12px;top:86px}.settings-page .settings-index a{border-radius:10px;min-height:42px;padding:10px 11px;font-size:13px;font-weight:600}.settings-page .settings-index a .anticon{font-size:16px}.settings-page .settings-section{box-shadow:var(--teacher-shadow);scroll-margin-top:90px}.settings-page .settings-head-actions .ant-btn{min-height:var(--settings-control-height);white-space:nowrap;padding-inline:16px;font-size:14px}.settings-page .section-kicker{margin-bottom:7px;font-size:12px}.settings-page .settings-score-item,.settings-page .level-rule-row,.settings-page .wheel-prize-row{border-bottom:1px solid var(--teacher-line);align-items:center;gap:15px;padding:12px 0;display:grid}.settings-page .settings-score-item{grid-template-columns:44px minmax(0,1fr) auto}.settings-page .settings-score-icon{width:40px;height:40px;color:var(--teacher-primary-strong);background:var(--teacher-primary-soft);border:1px solid #ddd6ff;border-radius:12px;place-items:center;font-size:21px;display:grid}.settings-page .settings-score-icon.negative{background:var(--teacher-surface-soft);border-color:#f2cccc}.settings-page .settings-score-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-page .settings-score-copy strong,.settings-page .level-rule-row strong,.settings-page .wheel-prize-row strong{color:var(--teacher-ink);font-size:15px;line-height:1.35}.settings-page .settings-score-copy span,.settings-page .level-rule-row small,.settings-page .wheel-prize-row small{color:var(--teacher-muted);font-size:13px;line-height:1.45}.settings-page .settings-score-actions,.settings-page .level-rule-actions,.settings-page .wheel-prize-actions{align-items:center;gap:6px;display:flex}.settings-page .settings-score-actions .ant-btn,.settings-page .level-rule-actions .ant-btn,.settings-page .wheel-prize-actions .ant-btn{min-height:34px;padding-inline:10px;font-size:13px}.settings-page .level-rule-row{grid-template-columns:48px minmax(0,1fr) auto}.settings-page .level-rule-number{width:40px;height:40px;color:var(--teacher-primary-strong);background:var(--teacher-primary-soft);border-radius:12px;place-items:center;font-size:16px;font-weight:800;display:grid}.settings-page .level-rule-row>div:not(.level-rule-actions),.settings-page .wheel-prize-row>div:not(.wheel-prize-actions){flex-direction:column;gap:4px;min-width:0;display:flex}.settings-page .wheel-prize-row{grid-template-columns:12px minmax(0,1fr) auto}.settings-page .wheel-prize-dot{background:var(--teacher-primary);width:12px;height:12px;box-shadow:0 0 0 5px var(--teacher-primary-soft);border-radius:50%}.settings-page .settings-toggle-list{border-top:1px solid var(--teacher-line)}.settings-page .settings-toggle-list>div{border-bottom:1px solid var(--teacher-line);justify-content:space-between;align-items:center;gap:24px;padding:14px 4px;display:flex}.settings-page .settings-toggle-list>div>span:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-page .settings-toggle-list strong{color:var(--teacher-ink);font-size:15px;line-height:1.35}.settings-page .settings-toggle-list small{color:var(--teacher-muted);font-size:13px;line-height:1.45}.settings-page .settings-toggle-list .ant-switch{flex:none;transform:scale(1.06)}.settings-page .attention-panel,.settings-page .async-export-panel,.settings-page .backup-vault{box-shadow:none;border-radius:14px;margin-top:22px;padding:20px}.settings-page .attention-panel-head,.settings-page .async-export-head,.settings-page .backup-vault-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.settings-page .attention-panel-head strong,.settings-page .async-export-head strong,.settings-page .backup-vault-head strong{color:var(--teacher-ink);font-size:16px;display:block}.settings-page .attention-panel-head span,.settings-page .async-export-head span,.settings-page .backup-vault-head small{color:var(--teacher-muted);margin-top:4px;font-size:13px;line-height:1.5;display:block}.settings-page .ant-table{font-size:14px}.settings-page .ant-table-thead>tr>th{color:var(--teacher-ink-soft);font-size:13px;font-weight:750}.settings-page .ant-table-tbody>tr>td{padding-block:13px;font-size:14px}.settings-page .partner-catalog-grid,.settings-page .pet-management-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.settings-page .partner-catalog-card,.settings-page .pet-management-card{box-shadow:none;border-radius:14px;padding:18px}.settings-page .partner-catalog-head strong,.settings-page .pet-management-copy strong{font-size:16px}.settings-page .partner-catalog-card p,.settings-page .pet-management-copy span,.settings-page .pet-management-copy small{font-size:13px;line-height:1.55}.settings-page .partner-replace-bar,.settings-page .export-toolbar{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding:16px;display:flex}.settings-page .partner-replace-bar .ant-select,.settings-page .export-toolbar .ant-select{min-width:220px}.settings-page .export-toolbar span{color:var(--teacher-muted);font-size:13px}.settings-page .export-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.settings-page .export-action-grid>article{min-height:96px;box-shadow:none;padding:18px}.settings-page .export-action-grid>article strong{font-size:15px}.settings-page .export-action-grid>article small{font-size:13px}.settings-page .capacity-meter{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:13px;padding:18px}.settings-page .capacity-meter-head strong{font-size:28px}.settings-page .capacity-meter-head span,.settings-page .capacity-meter>small{font-size:13px}.settings-page .danger-action-row{min-height:84px;box-shadow:none;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.settings-page .danger-action-row strong{font-size:15px}.settings-page .danger-action-row span{color:var(--teacher-muted);margin-top:4px;font-size:13px;line-height:1.5;display:block}.settings-page .danger-action-row .ant-btn{min-height:40px;font-size:13px}.icon-library{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:14px;padding:16px}.icon-library-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.icon-library-head strong{color:var(--teacher-ink);font-size:16px}.icon-library-head span{color:var(--teacher-muted);font-size:13px}.icon-library-group+.icon-library-group{margin-top:14px}.icon-library-group h4{color:var(--teacher-ink-soft);margin:0 0 8px;font-size:13px;font-weight:750}.score-icon-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;display:grid}.score-icon-option{border:1px solid var(--teacher-line);min-height:68px;color:var(--teacher-ink-soft);background:var(--teacher-surface);cursor:pointer;font:inherit;border-radius:10px;place-items:center;gap:3px;padding:7px 5px;transition:border-color .18s,background-color .18s,transform .18s;display:grid}.score-icon-option span{font-size:23px;line-height:1}.score-icon-option small{max-width:100%;color:var(--teacher-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.score-icon-option:hover,.score-icon-option.active{border-color:var(--teacher-primary);color:var(--teacher-primary-strong);background:var(--teacher-primary-soft);transform:translateY(-1px)}.settings-page .ant-form-item-label>label{color:var(--teacher-ink-soft);font-size:14px;font-weight:700}.settings-page+.ant-modal-root,.settings-form-modal.ant-modal,.wheel-modal.ant-modal{font-size:14px}.ant-modal .ant-modal-title{color:var(--teacher-ink);font-size:19px;font-weight:750}.ant-modal .ant-modal-body{font-size:14px}.ant-modal .ant-form-item-label>label{color:var(--teacher-ink-soft);font-size:14px;font-weight:700}.ant-modal .ant-input,.ant-modal .ant-input-number,.ant-modal .ant-select-selector{min-height:42px;font-size:14px}.ant-modal .ant-btn{min-height:38px;font-size:14px}@media (width<=1000px){.settings-page .settings-layout{grid-template-columns:194px minmax(0,1fr);gap:16px}.settings-page .settings-section{padding:24px}}@media (width<=860px){.settings-page>.page-heading{flex-direction:column;align-items:flex-start;min-height:0}.settings-page .settings-layout{grid-template-columns:1fr}.settings-page .settings-index{flex-direction:row;position:static;overflow-x:auto}.settings-page .settings-index a{white-space:nowrap;flex:none}}@media (width<=720px){.settings-page .settings-head-actions,.settings-page .settings-head-actions .ant-btn{width:100%}.settings-page .settings-score-item,.settings-page .level-rule-row,.settings-page .wheel-prize-row{grid-template-columns:40px minmax(0,1fr)}.settings-page .settings-score-actions,.settings-page .level-rule-actions,.settings-page .wheel-prize-actions{grid-column:2;justify-content:flex-start}.settings-page .settings-toggle-list>div{align-items:flex-start}.settings-page .export-action-grid{grid-template-columns:1fr}.settings-page .danger-action-row{grid-template-columns:36px minmax(0,1fr)}.settings-page .danger-action-row .ant-btn{grid-column:2;justify-self:start}.settings-page .attention-panel-head,.settings-page .async-export-head,.settings-page .backup-vault-head{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.score-icon-option{transition:none}}.rollcall-panel{max-width:1120px}.rollcall-workspace{grid-template-columns:minmax(300px,.86fr) minmax(340px,1.14fr);gap:18px;margin-top:18px;display:grid}.rollcall-draw-zone,.rollcall-result-zone{border:1px solid var(--teacher-line);border-radius:16px;min-width:0;min-height:352px;padding:20px;position:relative;overflow:hidden}.rollcall-draw-zone{background:var(--teacher-surface-soft);flex-direction:column;justify-content:space-between;display:flex}.rollcall-result-zone{background:var(--teacher-surface-soft);place-items:center;display:grid}.rollcall-zone-label{color:var(--teacher-ink);justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rollcall-zone-label span{font-size:15px;font-weight:800}.rollcall-zone-label small{color:var(--teacher-muted);font-size:12px}.rollcall-workspace .rollcall-input{margin:18px 0 0;font-size:13px}.rollcall-workspace .rollcall-input .ant-input-number{width:88px;min-height:40px;font-size:16px}.rollcall-workspace .rollcall-stage{width:min(230px,70vw);height:min(230px,70vw);color:var(--teacher-primary);background:var(--teacher-surface-soft);border:1px solid #cfc4ff;border-radius:50%;place-items:center;margin:8px auto 18px;display:grid;position:relative;box-shadow:0 16px 40px #4837bc24,inset 0 0 0 10px #ffffffbf}.rollcall-workspace .rollcall-stage>.anticon{color:#4837bc8f;font-size:22px;position:absolute;bottom:28px}.rollcall-stage-glow{border:1px solid #6f5ddb3d;border-radius:50%;position:absolute;inset:22px;box-shadow:0 0 28px #6f5ddb2b}.rollcall-name-reel{z-index:1;max-width:82%;color:var(--teacher-primary-strong);letter-spacing:.04em;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(30px,5vw,52px);font-weight:850;display:block;position:relative;overflow:hidden}.rollcall-drawing .rollcall-name-reel{animation:.18s ease-in-out infinite alternate rollcall-reel-shift}.rollcall-drawing .rollcall-stage-glow{animation:.72s ease-in-out infinite alternate rollcall-glow-pulse}.rollcall-result-zone:before,.rollcall-result-zone:after{content:"";border:1px solid #7460e124;border-radius:50%;width:170px;height:170px;position:absolute}.rollcall-result-zone:before{transform:translate(-30%,-28%)}.rollcall-result-zone:after{transform:translate(30%,28%)}.rollcall-drawing-result,.rollcall-winners,.rollcall-empty-result{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:100%;min-height:250px;display:flex;position:relative}.rollcall-result-kicker{color:var(--teacher-primary-strong);letter-spacing:.08em;font-size:13px;font-weight:800}.rollcall-drawing-result strong{max-width:90%;color:var(--teacher-ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(32px,5vw,56px);animation:.28s ease-in-out infinite alternate rollcall-drawing-name;overflow:hidden}.rollcall-drawing-result small,.rollcall-empty-result small{color:var(--teacher-muted);font-size:13px}.rollcall-empty-result strong{color:var(--teacher-ink-soft);font-size:22px}.rollcall-winners{animation:rollcall-winner-stage var(--rollcall-reveal-duration,2.8s) cubic-bezier(.2,.8,.2,1) both}.rollcall-winner-list{flex-wrap:wrap;justify-content:center;gap:10px;max-width:100%;margin-top:8px;display:flex}.rollcall-winner-name{color:#fff;background:var(--teacher-surface-soft);min-width:126px;min-height:64px;animation:rollcall-winner-pop var(--rollcall-winner-duration,1.45s) cubic-bezier(.18,.9,.25,1.2) both;animation-delay:var(--winner-delay,0s);border:1px solid #c9bfff;border-radius:15px;justify-content:center;align-items:center;padding:8px 15px;font-size:24px;font-weight:850;display:inline-flex;box-shadow:0 12px 24px #4837bc38}.rollcall-fireworks{pointer-events:none;width:1px;height:1px;position:absolute;inset:50% 50% auto auto}.rollcall-fireworks i{background:var(--teacher-surface-soft);width:7px;height:22px;transform:rotate(var(--spark-angle)) translateY(-78px);transform-origin:50% 78px;animation:rollcall-spark var(--rollcall-firework-duration,1.6s) cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--spark-delay,0s);border-radius:999px;position:absolute}.shout-stage{background:var(--teacher-surface-soft);border:1px solid #b8dce8;border-radius:14px;align-items:center;gap:13px;min-height:78px;margin:17px 0 14px;padding:14px 16px;display:flex}.broadcast-stage{border:1px solid #b8dce8;border-radius:14px;min-height:78px;margin:17px 0 14px;padding:14px 16px;display:flex}.shout-stage-mic{color:#2084ac;background:#d9f2fb;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:21px;display:grid}.shout-stage strong,.broadcast-stage strong{color:var(--teacher-ink);font-size:15px;display:block}.shout-stage span,.broadcast-stage>span{color:var(--teacher-muted);margin-top:4px;font-size:12px;display:block}.shout-active .shout-stage-mic{animation:.72s ease-in-out infinite alternate shout-mic-pulse}.broadcast-stage{background:var(--teacher-surface-soft);border-color:#edd69d;flex-direction:column;align-items:stretch;gap:6px}.broadcast-stage-screen{color:#8a6419;align-items:center;gap:9px;display:flex}.broadcast-stage-screen .anticon{background:#ffedbb;border-radius:9px;padding:8px;font-size:18px}.broadcast-stage.active{animation:.8s both broadcast-stage-flash}@keyframes rollcall-reel-shift{0%{opacity:.68;transform:translateY(4px)}to{opacity:1;transform:translateY(-4px)}}@keyframes rollcall-glow-pulse{0%{opacity:.54;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}@keyframes rollcall-drawing-name{0%{opacity:.66;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}@keyframes rollcall-winner-stage{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes rollcall-winner-pop{0%{opacity:0;transform:translateY(16px)scale(.58)rotate(-5deg)}70%{transform:translateY(-4px)scale(1.1)rotate(2deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes rollcall-spark{0%{opacity:0;transform:rotate(var(--spark-angle)) translateY(-25px) scale(.5)}45%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translateY(-106px) scale(1)}}@keyframes shout-mic-pulse{0%{transform:scale(1);box-shadow:0 0 #3aa5c91f}to{transform:scale(1.06);box-shadow:0 0 0 12px #3aa5c929}}@keyframes broadcast-stage-flash{0%{box-shadow:0 0 #e3b75d52}45%{box-shadow:0 0 0 8px #e3b75d1f}to{box-shadow:0 0 #e3b75d00}}@media (width<=760px){.rollcall-workspace{grid-template-columns:1fr}.rollcall-draw-zone,.rollcall-result-zone{min-height:310px}.rollcall-winner-name{min-width:108px;font-size:20px}}@media (prefers-reduced-motion:reduce){.rollcall-drawing .rollcall-name-reel,.rollcall-drawing .rollcall-stage-glow,.rollcall-drawing-result strong,.rollcall-winners,.rollcall-winner-name,.rollcall-fireworks i,.shout-active .shout-stage-mic,.broadcast-stage.active{animation:none!important}}.teacher-content>.page-section>.page-heading .eyebrow{margin-bottom:3px;font-size:10px}.classroom-control-page .feature-panel-intro{display:none}.settings-page{margin-top:-4px}.settings-page>.page-heading{background:var(--teacher-surface);align-items:center;min-height:0;margin-bottom:12px;padding:13px 20px;box-shadow:0 5px 18px #1c243a0d}.settings-page>.page-heading .eyebrow,.settings-page>.page-heading .page-description{display:none}.settings-page>.page-heading h1{letter-spacing:-.02em;font-size:24px}.settings-page .settings-sync{min-height:28px;padding-block:3px;font-size:11px}.settings-page .theme-preference-card{border-radius:14px;align-items:center;min-height:0;margin-bottom:14px;padding:14px 18px;box-shadow:0 5px 18px #1c243a0d}.settings-page .theme-preference-copy h2{margin:0 0 3px;font-size:17px}.settings-page .theme-preference-copy p{display:none}.settings-page .theme-preference-controls{gap:9px}.settings-page .theme-swatch,.settings-page .theme-custom-picker,.settings-page .theme-preference-actions,.settings-page .theme-preference-actions .ant-btn{min-height:34px}.settings-page .settings-section{border-radius:14px;padding:20px 22px}.settings-page .settings-section+.settings-section{margin-top:12px}.settings-page .settings-score-item,.settings-page .level-rule-row,.settings-page .wheel-prize-row{min-height:60px;padding-block:8px}.settings-page .settings-toggle-list>div{min-height:60px;padding-block:10px}@media (width<=860px){.settings-page .theme-preference-card{align-items:flex-start}}@media (width<=720px){.settings-page>.page-heading{padding:12px 14px}.settings-page .theme-preference-card{padding:14px}.settings-page .settings-section{padding:17px 14px}}.teacher-content{padding:8px clamp(14px,2.2vw,32px) 42px!important}.teacher-content>.page-section>.page-heading{border-bottom:1px solid var(--teacher-line);margin-bottom:9px}.teacher-content>.page-section>.page-heading h1,.teacher-content .toolbar-title{font-size:clamp(26px,2.25vw,34px);line-height:1.15}.teacher-content>.page-section>.page-heading .page-description,.teacher-content .class-switcher-hint,.teacher-content .roster-hint,.teacher-content .feature-panel-intro,.teacher-content .choice-header p,.teacher-content .quick-score-profile-note,.teacher-content .export-toolbar>span,.teacher-content .async-export-head span,.teacher-content .backup-vault-head small,.teacher-content .partner-catalog-card>p{display:none!important}.teacher-content .classroom-heading,.teacher-content .ranking-toolbar,.teacher-content .scoring-toolbar{border-radius:12px;margin-bottom:9px;padding:9px 13px;box-shadow:0 6px 18px #1c243a0e}.teacher-content .class-overview{padding:14px 17px}.teacher-content .section-header h2,.teacher-content .control-panel-title strong{font-size:18px}.teacher-content .control-mode-tabs{margin-bottom:0;padding:6px}.teacher-content .control-mode-tab{padding:10px 12px}.teacher-content .control-mode-tab span{font-size:14px}.teacher-content .control-mode-tab small{display:none!important}.teacher-content .feature-panel{min-height:390px;padding:18px 22px}.teacher-content .student-selection-section,.teacher-content .score-composer-section,.teacher-content .ranking-list-section,.teacher-content .settings-section,.teacher-content .feature-panel{border-color:var(--teacher-line);box-shadow:0 7px 20px #1c243a0e}@media (width<=720px){.teacher-content{padding:7px 12px 36px!important}.teacher-content>.page-section>.page-heading{padding:6px 0 5px}.teacher-content>.page-section>.page-heading h1,.teacher-content .toolbar-title{font-size:24px}.teacher-content .classroom-heading,.teacher-content .ranking-toolbar,.teacher-content .scoring-toolbar{padding:8px 10px}.teacher-content .feature-panel{min-height:0;padding:14px}}.teacher-content{padding-top:3px!important}.teacher-content>.page-section>.page-heading{border-radius:0}.teacher-content>.page-section>.page-heading>div:first-child{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.teacher-content>.page-section>.page-heading>.ant-btn,.teacher-content>.page-section>.page-heading>.ant-space{margin-left:auto}.teacher-content .classroom-heading,.teacher-content .scoring-toolbar,.teacher-content .ranking-toolbar{margin-top:0}.teacher-content .settings-page .theme-preference-card{border-radius:12px;min-height:0;margin-bottom:10px;padding:12px 16px}.teacher-content .settings-page .theme-preference-copy h2{margin:3px 0 0;font-size:17px}.teacher-content .settings-page .theme-preference-copy p{display:none}.teacher-content .settings-page .theme-preference-controls{gap:8px}.teacher-content .settings-page .theme-swatch,.teacher-content .settings-page .theme-custom-picker,.teacher-content .settings-page .theme-preference-actions,.teacher-content .settings-page .theme-preference-actions .ant-btn{height:30px;min-height:30px}.teacher-content .settings-page .settings-layout{gap:14px}.teacher-content .scoring-toolbar .toolbar-title,.teacher-content .ranking-toolbar .toolbar-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=720px){.teacher-content{padding-top:2px!important}}.teacher-content>.page-section{background:0 0!important;min-height:auto!important;padding:0!important}.teacher-content>.page-section>.page-heading,.teacher-content>.page-section>.classroom-heading{box-shadow:none!important;background:0 0!important;border:0!important}@media (width>=721px){.teacher-content>.page-section>.page-heading,.teacher-content>.page-section>.classroom-heading{height:0!important;min-height:0!important;margin:0!important;overflow:visible!important}.teacher-content>.page-section>.page-heading>.ant-btn,.teacher-content>.page-section>.page-heading>.ant-space{z-index:4;position:absolute;top:0;right:0;margin:0!important}.teacher-content>.page-section>.page-heading>.ant-btn{height:36px;min-height:36px}.teacher-content .classroom-commandbar{padding-right:168px}}*,:before,:after{box-sizing:border-box}.teacher-content>.page-section>.page-heading,.teacher-content>.page-section>.classroom-heading{justify-content:flex-end;align-items:center;gap:8px;min-width:0;position:relative;height:auto!important;min-height:36px!important;margin:0 0 7px!important;padding:0!important;display:flex!important;overflow:visible!important}.teacher-content>.page-section>.page-heading>.ant-btn{flex-wrap:wrap;justify-content:flex-end;align-items:center;min-width:0;display:flex;margin:0 0 0 auto!important;position:static!important;transform:none!important}.teacher-content>.page-section>.page-heading>.ant-space{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;min-width:0;max-width:100%;display:flex;margin:0 0 0 auto!important;position:static!important;transform:none!important}.teacher-content>.page-section>.page-heading>.ant-btn{white-space:nowrap;flex:0 auto;max-width:100%}.teacher-content .classroom-commandbar{padding-right:13px}@media (width<=900px){.class-switcher-main{flex-wrap:wrap}.class-switcher-select{width:min(320px,100%);min-width:0}.classroom-commandbar{flex-wrap:wrap;align-items:center}.classroom-selector,.classroom-session-state{flex:240px;min-width:0}.classroom-session-state{justify-content:flex-end}.scoring-toolbar,.ranking-toolbar{flex-wrap:wrap;align-items:flex-start}.scoring-toolbar .toolbar-left,.ranking-toolbar .toolbar-left{flex:100%;width:100%}.scoring-toolbar .toolbar-actions,.ranking-toolbar .toolbar-right{justify-content:flex-end;width:100%}}@media (width<=720px){.teacher-content .classroom-commandbar{flex-direction:column;align-items:stretch;gap:10px}.teacher-content .classroom-commandbar .classroom-selector,.teacher-content .classroom-commandbar .classroom-session-state{flex:0 auto;width:100%;min-height:0}.teacher-content .classroom-commandbar .classroom-session-state{justify-content:space-between}.teacher-content>.page-section>.page-heading,.teacher-content>.page-section>.classroom-heading{align-items:flex-end;height:auto!important;min-height:34px!important;margin-bottom:5px!important}.teacher-content>.page-section>.page-heading>.ant-btn{justify-content:flex-end;width:auto}.teacher-content>.page-section>.page-heading>.ant-space{justify-content:flex-end;width:auto;max-width:100%}.teacher-content>.page-section>.page-heading>.ant-btn{min-width:0;max-width:100%}.settings-page .theme-preference-card{align-items:stretch}.settings-page .theme-preference-controls,.settings-page .theme-preference-actions{flex-wrap:wrap;min-width:0}.settings-page .settings-head-actions{flex-wrap:wrap;max-width:100%}}.teacher-content .settings-page>.page-heading{display:none!important}.quick-level-progress>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.quick-level-progress b{color:var(--teacher-primary-strong);font-size:10px;font-weight:800}.quick-level-progress>i{background:var(--teacher-surface-soft);border-radius:99px;height:5px;display:block;overflow:hidden}.quick-level-progress>i b{border-radius:inherit;background:linear-gradient(90deg,#8e7cf6,#ec75b7);height:100%;transition:width .55s cubic-bezier(.2,.8,.2,1);display:block}.quick-score-modal .ant-modal-content{border:0;border-radius:20px;box-shadow:0 30px 90px #28194b4d}.quick-score-layout{isolation:isolate;background:var(--teacher-surface);position:relative;overflow:hidden}.quick-score-profile{background:var(--teacher-surface-soft)}.quick-score-profile-head{padding:10px 0 5px}.quick-score-avatar{border:4px solid #ffffffe6;box-shadow:0 8px 22px #ec75b747}.quick-score-level{background:var(--teacher-surface);border-color:#e9ddfb;box-shadow:0 8px 20px #7d5cbe14}.quick-level-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.quick-level-progress{color:var(--teacher-muted);gap:6px;margin-top:5px;font-size:11px;display:grid}.quick-score-history{background:var(--teacher-surface);border:1px solid #e8e3f5;border-radius:13px;gap:9px;min-height:158px;padding:12px;display:grid}.quick-history-heading{color:var(--teacher-ink);flex-direction:column;align-items:stretch;gap:9px;font-size:12px;display:flex}.quick-history-heading>strong{white-space:nowrap}.quick-history-heading button{color:var(--teacher-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:11px}.quick-history-heading button:disabled{cursor:wait;opacity:.55}.quick-history-list{gap:6px;max-height:204px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.quick-history-list li{border-bottom:1px solid #f0edf6;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:6px 0;display:grid}.quick-history-list li:last-child{border-bottom:0}.quick-history-icon{border-radius:7px;place-items:center;width:20px;height:20px;font-size:12px;font-weight:900;display:grid}.quick-history-icon.positive{color:#078d60;background:#d9faed}.quick-history-icon.negative{color:#ce4851;background:#ffe1e5}.quick-history-list li>div{gap:2px;min-width:0;display:grid}.quick-history-list strong{color:var(--teacher-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.quick-history-list small{color:var(--teacher-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.quick-history-list em{font-style:normal}.quick-history-list b{font-size:12px}.quick-history-list b.positive{color:#0a9d68}.quick-history-list b.negative{color:#d84852}.quick-history-empty,.quick-history-loading{min-height:104px;color:var(--teacher-muted);justify-content:center;align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.quick-score-form{background:var(--teacher-surface-soft)}.quick-score-group{border:1px solid #0000;border-radius:15px;padding:12px}.quick-score-group.positive{background:var(--teacher-surface-soft);border-color:#b8f1d9}.quick-score-group.negative{background:var(--teacher-surface-soft);border-color:#ffd2d5}.quick-score-group.positive .quick-choice-label>span{color:#068c5b}.quick-score-group.negative .quick-choice-label>span{color:#c33d49}.quick-score-chip{border-width:1px;border-radius:11px;min-height:48px;box-shadow:0 4px 10px #2b234a0b}.quick-score-chip:hover,.quick-score-chip.active{transform:translateY(-1px);box-shadow:0 8px 17px #4837bc21}.quick-score-chip:not(.negative).active{color:#087a52;background:#e5fff4;border-color:#10ae78;box-shadow:0 0 0 3px #10ae781f,0 8px 17px #10ae7826}.quick-score-chip.negative.active{background:var(--teacher-surface-soft);border-color:#ec5961;box-shadow:0 0 0 3px #ec59611f,0 8px 17px #ec596124}.quick-submit{background:var(--teacher-surface-soft);border-radius:13px;min-height:52px;font-size:15px;position:relative;overflow:hidden;box-shadow:0 12px 24px #6c46ca40}.quick-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 29px #6c46ca54}.score-feedback-overlay{z-index:5;box-sizing:border-box;color:#fff;pointer-events:none;text-align:center;border:1px solid #ffffffbf;border-radius:22px;place-items:center;gap:4px;width:min(340px,100% - 40px);min-height:210px;padding:26px 28px 24px;display:grid;position:absolute;inset:50% auto auto 50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 28px 80px #1e17394d}.score-feedback-overlay.tone-positive,.score-feedback-overlay.tone-negative{background:var(--teacher-surface-soft)}.score-feedback-badge{letter-spacing:.08em;opacity:.92;font-size:12px;font-weight:800}.score-feedback-overlay>strong{letter-spacing:-.04em;text-shadow:0 5px #00000014;font-size:58px;line-height:1}.score-feedback-overlay>b{font-size:18px}.score-feedback-overlay>small{opacity:.88;font-size:12px}.score-confetti{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.score-confetti i{background:hsl(calc(var(--particle) * 27deg), 95%, 84%);width:7px;height:15px;animation:.9s cubic-bezier(.2,.8,.2,1) both score-confetti-burst;animation-delay:calc(var(--particle) * 18ms);border-radius:3px;position:absolute;top:50%;left:50%}.score-confetti i:nth-child(2n){animation-name:score-confetti-burst-down}.score-feedback-overlay.tone-negative .score-confetti i{background:#ffffffa6;animation-name:score-shake-particle}@keyframes roster-score-pulse{0%{transform:scale(1)}35%{transform:scale(1.035);box-shadow:0 0 0 5px #5645d11f,0 14px 28px #4837bc29}to{transform:scale(1)}}@keyframes score-confetti-burst{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.3)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + (var(--particle) - 7) * 32px), calc(-50% - 85px)) rotate(calc(var(--particle) * 47deg)) scale(1)}}@keyframes score-confetti-burst-down{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.3)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + (var(--particle) - 7) * 32px), calc(-50% + 85px)) rotate(calc(var(--particle) * 47deg)) scale(1)}}@keyframes score-shake-particle{0%,to{opacity:0;transform:translate(-50%,-50%)scale(.4)}25%{opacity:1;transform:translate(calc(-50% + (var(--particle) - 7) * 11px), -50%) scale(1)}75%{opacity:1;transform:translate(calc(-50% + (7 - var(--particle)) * 9px), -50%) scale(1)}}@media (width<=680px){.score-feedback-overlay{width:min(320px,100% - 28px);min-height:190px;padding:22px 20px}.score-feedback-overlay>strong{font-size:50px}}@media (prefers-reduced-motion:reduce){.quick-score-chip,.quick-submit{transition:none}.score-feedback-overlay,.score-confetti i{animation:none!important}}.teacher-content>.classroom-page>.classroom-heading,.teacher-content>.classroom-control-page>.classroom-heading{width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.class-empty-state{border:1px dashed var(--teacher-line-strong);background:var(--teacher-surface);border-radius:14px;place-items:center;gap:2px;min-height:220px;padding:24px;display:grid}.class-empty-state .ant-empty{margin:0}.teacher-content .selection-header-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.teacher-content .selection-header-right .quick-stats{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:9px;flex:none;align-items:center;min-height:34px;padding:0 10px}.teacher-content .selection-header-right .selection-tools{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.teacher-content .selection-header-right .selection-tools .ant-input{width:min(200px,24vw)!important}.quick-score-modal .quick-history-heading>.quick-history-actions{align-items:center;gap:8px;display:flex}.quick-score-modal .quick-history-actions .ant-btn{background:var(--teacher-surface-soft);border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;gap:4px;min-width:0;height:30px;padding-inline:6px;font-size:12px;display:inline-flex}.quick-score-modal .quick-history-actions .ant-btn>.anticon+span{margin-inline-start:0}.quick-score-modal .quick-history-undo.ant-btn,.quick-score-modal .quick-history-undone{grid-column:2/-1;justify-self:end}.quick-score-modal .quick-history-undo.ant-btn{min-width:48px;height:27px;padding-inline:5px;font-size:11px}.score-manager-modal.ant-modal .ant-modal-content,.score-manager-modal .ant-modal-content{border-radius:16px;overflow:hidden}.score-manager-modal.ant-modal .ant-modal-body,.score-manager-modal .ant-modal-body{max-height:min(680px,100vh - 150px);padding:0 20px 20px;overflow:auto}.score-manager-head{border-bottom:1px solid var(--teacher-line);justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:14px 0;display:flex}.score-manager-head p{color:var(--teacher-muted);margin:0;font-size:13px;line-height:1.45}.score-manager-group{margin-top:18px}.score-manager-group h3{color:#078d60;align-items:center;gap:7px;margin:0 0 9px;font-size:15px;display:flex}.score-manager-group h3.negative{color:#ce4851}.score-manager-list{gap:8px;display:grid}.score-manager-row{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:11px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:10px 11px;display:grid}.score-manager-icon{width:36px;height:36px;color:var(--teacher-primary-strong);background:var(--teacher-primary-soft);border-radius:10px;place-items:center;font-size:18px;display:grid}.score-manager-row>div:nth-child(2){gap:3px;min-width:0;display:grid}.score-manager-row strong{color:var(--teacher-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.score-manager-row small{color:var(--teacher-muted);font-size:12px}.score-manager-actions{justify-content:flex-end;align-items:center;gap:3px;display:inline-flex}.score-manager-actions .ant-btn{border-radius:7px;place-items:center;width:30px;height:30px;min-height:30px;padding:0;display:inline-grid}.points-history-drawer.ant-drawer .ant-drawer-body,.points-history-drawer .ant-drawer-body{background:var(--teacher-surface-soft);padding:16px}.points-history-drawer.ant-drawer .ant-drawer-header,.points-history-drawer .ant-drawer-header{border-bottom-color:var(--teacher-line);padding:15px 18px}.points-history-summary{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px;display:grid}.points-history-summary>div{gap:2px;min-width:0;display:grid}.points-history-summary strong{color:var(--teacher-primary-strong);font-size:20px;line-height:1.1}.points-history-summary span{color:var(--teacher-muted);font-size:11px}.points-history-summary .ant-btn{border-radius:7px;align-items:center;gap:4px;height:30px;padding-inline:7px;display:inline-flex}.points-history-loading{min-height:160px;color:var(--teacher-muted);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.points-history-list{gap:8px;margin:13px 0 0;padding:0;list-style:none;display:grid}.points-history-list li{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:11px;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-width:0;padding:11px;display:grid}.points-history-list li.reversed{opacity:.66}.points-history-icon{border-radius:9px;place-items:center;width:28px;height:28px;font-size:15px;font-weight:800;display:grid}.points-history-icon.positive{color:#078d60;background:#d9faed}.points-history-icon.negative{color:#ce4851;background:#ffe1e5}.points-history-copy{gap:3px;min-width:0;display:grid}.points-history-copy strong{color:var(--teacher-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.points-history-copy small{color:var(--teacher-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.points-history-copy p{text-overflow:ellipsis;white-space:nowrap;color:var(--teacher-ink-soft);margin:0;font-size:11px;overflow:hidden}.points-history-list>li>b{white-space:nowrap;font-size:14px}.points-history-list>li>b.positive{color:#0a9d68}.points-history-list>li>b.negative{color:#d84852}.points-history-list .quick-history-undo.ant-btn{min-width:48px;height:28px;padding-inline:5px;font-size:11px}.teacher-content .rollcall-draw-zone{align-items:stretch;justify-content:initial;grid-template-rows:auto auto minmax(230px,1fr) auto;gap:12px;display:grid}.teacher-content .rollcall-workspace .rollcall-input{justify-content:center;margin:0}.teacher-content .rollcall-workspace .rollcall-stage{align-self:center;margin:0 auto}.teacher-content .rollcall-draw-zone>.ant-btn{align-self:center;width:min(100%,365px)}.teacher-content .rollcall-name-reel{text-align:center;width:100%}.teacher-content .countdown-panel .control-actions{align-items:center}.teacher-content .countdown-panel .control-actions .ant-btn{border-radius:8px;width:80px;min-width:80px;height:36px;min-height:36px;padding-inline:8px;line-height:34px}@media (width<=900px){.teacher-content .selection-header-right{justify-content:space-between;width:100%}}@media (width<=680px){.teacher-content .selection-header-right{flex-direction:column;align-items:stretch;gap:8px}.teacher-content .selection-header-right .quick-stats{justify-content:center}.teacher-content .selection-header-right .selection-tools{width:100%}.teacher-content .selection-header-right .selection-tools .ant-input{flex:140px;width:auto!important}.score-manager-head{flex-direction:column;align-items:flex-start}.score-manager-head .ant-btn{width:100%}.score-manager-row{grid-template-columns:36px minmax(0,1fr)}.score-manager-actions{grid-column:2;justify-content:flex-start}.points-history-summary{grid-template-columns:1fr 1fr}.points-history-summary .ant-btn{grid-column:1/-1;justify-content:center}.points-history-list li{grid-template-columns:28px minmax(0,1fr) auto}.points-history-list .quick-history-undo.ant-btn,.points-history-list .quick-history-undone{grid-column:2/-1;justify-self:start}}.teacher-content>.settings-center{margin-top:18px;animation:none}.settings-center{color:var(--teacher-ink);font-size:14px}.settings-center-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.settings-center-heading h1{margin:0 0 5px;font-size:22px;font-weight:750;line-height:1.3}.settings-center-heading p{color:var(--teacher-muted);margin:0;font-size:13px}.settings-center-tools{align-items:center;gap:12px;display:flex}.settings-center .settings-sync{white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px}.settings-workspace{grid-template-columns:202px minmax(0,1fr);align-items:start;gap:20px;display:grid}.settings-nav{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:14px;min-width:0;padding:12px;position:sticky;top:78px}.settings-nav-group+.settings-nav-group{margin-top:16px}.settings-nav-label{color:var(--teacher-muted);letter-spacing:.06em;margin:4px 10px 7px;font-size:11px;display:block}.settings-nav button{width:100%;color:var(--teacher-ink-soft);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;margin:2px 0;padding:11px 10px;display:flex}.settings-nav button>.anticon{color:var(--teacher-muted);font-size:16px}.settings-nav button>span:not(.anticon){flex:1}.settings-nav button>.settings-nav-arrow{opacity:0;font-size:10px}.settings-nav button:hover{background:var(--teacher-surface-soft)}.settings-nav button.active{color:var(--teacher-primary-strong);background:var(--teacher-primary-soft);font-weight:650}.settings-nav button.active>.anticon{color:var(--teacher-primary-strong)}.settings-nav button.active .settings-nav-arrow{opacity:1}.settings-nav button:focus-visible,.settings-center .theme-swatch:focus-visible{outline:2px solid var(--teacher-primary);outline-offset:2px}.settings-panel-container,.settings-panels{min-width:0}.settings-center .settings-panel{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:14px;min-width:0;padding:24px;box-shadow:0 4px 18px #1c243a09}.settings-panel-head{border-bottom:1px solid var(--teacher-line);justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;padding-bottom:20px;display:flex}.settings-panel-head>div:first-child{min-width:0}.settings-panel-head h2{margin:0 0 7px;font-size:19px;font-weight:700;line-height:1.35}.settings-panel-head p{color:var(--teacher-muted);margin:0;font-size:13px;line-height:1.6}.settings-panel-head>.ant-btn,.settings-head-actions{flex-shrink:0}.settings-center .ant-btn,.settings-form-modal .ant-btn{height:36px;min-height:36px;box-shadow:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:13px;line-height:1;display:inline-flex}.settings-center .ant-btn-sm{height:30px;min-height:30px;padding-inline:9px;font-size:12px}.settings-center .ant-btn>.anticon+span,.settings-form-modal .ant-btn>.anticon+span{margin-inline-start:0}.settings-center .ant-btn-primary{box-shadow:none}.settings-center .ant-select,.settings-center .ant-input-number{max-width:100%}.settings-center .ant-input-number{width:140px}.settings-center .ant-tag{border-radius:5px;margin:0;font-size:11px}.settings-count{border:1px solid var(--teacher-line);color:var(--teacher-muted);background:var(--teacher-surface-soft);white-space:nowrap;border-radius:7px;flex:none;padding:5px 9px;font-size:12px}.settings-head-actions,.settings-save-actions{align-items:center;gap:8px;display:flex}.settings-save-actions>span{color:var(--teacher-muted);white-space:nowrap;font-size:12px}.settings-loading,.settings-load-error{border:1px solid var(--teacher-line);background:var(--teacher-surface);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:340px;padding:28px;display:flex}.settings-loading>span,.settings-load-error p{color:var(--teacher-muted);margin:0;font-size:13px;line-height:1.6}.settings-load-error>.anticon{color:#d56554;font-size:28px}.settings-load-error h2{margin:0;font-size:17px}.settings-center .settings-empty{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:9px;min-height:200px;padding:24px;display:flex}.settings-empty>.anticon{color:var(--teacher-primary);font-size:28px}.settings-empty strong{font-size:15px}.settings-empty>span{max-width:380px;color:var(--teacher-muted);font-size:13px;line-height:1.5}.settings-empty>.ant-btn{margin-top:6px}.settings-center .score-item-list,.settings-center .level-rule-list,.settings-center .wheel-prize-list{gap:8px;display:grid}.settings-center .settings-score-item,.settings-center .level-rule-row,.settings-center .wheel-prize-row{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:10px;align-items:center;gap:14px;min-width:0;padding:13px 14px;display:grid}.settings-center .settings-score-item{grid-template-columns:40px minmax(0,1fr) auto}.settings-center .settings-score-icon{background:var(--teacher-primary-soft);border-radius:10px;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.settings-center .settings-score-icon.negative{background:var(--color-danger-soft)}.settings-score-copy,.settings-center .wheel-prize-row>div:not(.wheel-prize-actions){gap:4px;min-width:0;display:grid}.settings-center .settings-score-copy strong,.settings-center .wheel-prize-row strong{color:var(--teacher-ink);overflow-wrap:anywhere;font-size:14px;line-height:1.4}.settings-center .settings-score-copy span,.settings-center .wheel-prize-row small{color:var(--teacher-muted);font-size:12px;line-height:1.4}.settings-score-actions,.level-rule-actions,.wheel-prize-actions{align-items:center;gap:5px;display:flex}.settings-center .disabled{background:var(--teacher-surface-soft)}.settings-center .disabled strong{color:var(--teacher-muted)}.settings-summary{color:var(--teacher-ink-soft);background:var(--teacher-primary-soft);border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-bottom:16px;padding:12px 14px;font-size:12px;display:flex}.settings-summary>.anticon,.settings-summary strong{color:var(--teacher-primary-strong)}.settings-center .level-rule-row{grid-template-columns:46px minmax(0,1fr) minmax(100px,.4fr) auto;min-height:77px}.settings-center .level-rule-number{border:1px solid var(--color-primary-border);width:44px;height:46px;color:var(--teacher-primary-strong);background:var(--teacher-primary-soft);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:20px;font-weight:750;line-height:1;display:flex}.settings-center .level-rule-number small{letter-spacing:.05em;font-size:9px;font-weight:700;line-height:1.1}.level-rule-copy,.level-rule-exp{gap:5px;min-width:0;display:grid}.level-rule-copy strong{overflow-wrap:anywhere;font-size:15px}.level-rule-copy span,.level-rule-exp small{color:var(--teacher-muted);font-size:11px}.level-rule-exp strong{color:var(--teacher-ink);font-variant-numeric:tabular-nums;font-size:17px}.settings-center .partner-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-center .partner-catalog-card{border:1px solid var(--teacher-line);background:var(--teacher-surface);min-width:0;box-shadow:none;border-radius:11px;padding:17px}.partner-catalog-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.partner-catalog-head strong{font-size:15px}.partner-catalog-head>span{color:var(--teacher-muted);font-size:11px}.partner-stage-strip{gap:7px;padding-bottom:5px;display:flex;overflow-x:auto}.partner-stage-strip>div{text-align:center;flex:1 0 46px;gap:7px;min-width:46px;display:grid}.partner-stage-image{width:100%;height:64px;color:var(--teacher-primary);background:var(--teacher-surface-soft);border-radius:10px;place-items:center;display:grid;overflow:hidden}.partner-stage-image img{object-fit:contain;width:100%;height:100%;max-height:64px;display:block}.partner-stage-image>.anticon{font-size:22px}.partner-stage-strip small{color:var(--teacher-muted);white-space:nowrap;font-size:10px}.teacher-content .settings-center .partner-catalog-card>p{color:var(--teacher-muted);overflow-wrap:anywhere;margin:14px 0 0;font-size:12px;line-height:1.5;display:block!important}.partner-replace-panel{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:10px;margin-top:24px;padding:18px}.partner-replace-panel h3{margin:0 0 6px;font-size:14px}.partner-replace-panel p{color:var(--teacher-muted);margin:0;font-size:12px;line-height:1.6}.settings-center .partner-replace-bar{background:0 0;border:0;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:16px;padding:0;display:grid}.partner-replace-bar label{gap:7px;min-width:0;display:grid}.partner-replace-bar label>span{color:var(--teacher-ink-soft);font-size:12px}.settings-center .partner-replace-bar .ant-select{width:100%;min-width:0}.settings-center #partner-catalog>.ant-alert{margin-top:20px}.pet-management-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.pet-management-toolbar>.ant-input-affix-wrapper{flex:210px;max-width:320px}.pet-management-toolbar>.ant-select{flex:150px;max-width:200px}.pet-management-toolbar>span{color:var(--teacher-muted);white-space:nowrap;margin-left:auto;font-size:12px}.settings-center .pet-management-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;display:grid}.settings-center .pet-management-card{border:1px solid var(--teacher-line);background:var(--teacher-surface);min-width:0;box-shadow:none;border-radius:11px;flex-direction:column;gap:14px;padding:16px;display:flex}.pet-management-profile{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;display:grid}.pet-management-avatar{background:var(--teacher-primary-soft);width:64px;height:64px;color:var(--teacher-primary);border-radius:14px;place-items:center;display:grid;overflow:hidden}.pet-management-avatar img{object-fit:contain;width:64px;height:64px;display:block}.pet-management-avatar>.anticon{font-size:30px}.pet-management-copy{gap:4px;min-width:0;display:grid}.pet-management-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.pet-management-copy>span{color:var(--teacher-ink-soft);overflow-wrap:anywhere;font-size:12px}.pet-management-copy small{color:var(--teacher-muted);font-size:11px}.pet-management-meta{color:var(--teacher-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.pet-management-actions{border-top:1px solid var(--teacher-line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;margin-top:auto;padding-top:12px;display:flex}.pet-management-pagination{text-align:right;margin-top:20px}.settings-center .settings-toggle-list{border:0}.settings-center .settings-toggle-list>div{border-bottom:1px solid var(--teacher-line);justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:14px 0;display:flex}.settings-center .settings-toggle-list>div:last-child{border:0}.settings-toggle-list>div>span:first-child{gap:5px;min-width:0;display:grid}.settings-center .settings-toggle-list strong{font-size:14px}.settings-center .settings-toggle-list small{color:var(--teacher-muted);font-size:12px;line-height:1.5}.settings-toggle-list>div>.ant-select,.settings-toggle-list>div>.ant-input-number,.settings-toggle-list>div>.ant-slider{flex-shrink:0}.settings-center .settings-toggle-list .ant-switch{flex:none;transform:none}.settings-center .sound-style-options{width:min(360px,60%)}.settings-center .attention-panel,.settings-center .async-export-panel,.settings-center .backup-vault{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);box-shadow:none;border-radius:10px;margin-top:22px;padding:18px}.attention-panel-head,.async-export-head,.backup-vault-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.attention-panel-head>div,.async-export-head>div:first-child{gap:4px;display:grid}.attention-panel-head strong,.async-export-head strong,.backup-vault-head strong{font-size:14px}.attention-panel-head span,.async-export-head>div:first-child>span,.backup-vault-head small{color:var(--teacher-muted);font-size:12px;line-height:1.5}.teacher-content .settings-center .async-export-head>div:first-child>span,.teacher-content .settings-center .backup-vault-head small{display:block!important}.settings-center .attention-panel .ant-table-wrapper{overflow-x:auto}.settings-center .attention-panel .ant-table{font-size:13px}.settings-center .attention-panel .ant-table td,.settings-center .attention-panel .ant-table th{white-space:nowrap;padding:11px 12px}.settings-center .attention-panel-head .ant-select{flex-shrink:0;width:120px}.settings-center .wheel-prize-row{grid-template-columns:12px minmax(0,1fr) auto}.wheel-prize-dot{background:var(--teacher-primary);border-radius:50%;width:10px;height:10px}.settings-center .capacity-meter{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:10px;gap:14px;padding:20px;display:grid}.capacity-meter-head{gap:32px;display:flex}.capacity-meter-head>div{gap:5px;display:grid}.capacity-meter-head strong{color:var(--teacher-ink);font-variant-numeric:tabular-nums;font-size:26px}.capacity-meter-head span,.capacity-meter>small{color:var(--teacher-muted);font-size:12px;line-height:1.5}.settings-center .export-toolbar{background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;padding:0;display:flex}.settings-center .export-toolbar .ant-select{width:210px;min-width:0}.teacher-content .settings-center .export-toolbar>span{color:var(--teacher-muted);font-size:12px;display:inline!important}.settings-center .export-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-center .export-action-grid>article{border:1px solid var(--teacher-line);box-shadow:none;border-radius:10px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:18px;display:grid}.export-action-icon{background:var(--teacher-primary-soft);width:38px;height:38px;color:var(--teacher-primary);border-radius:9px;place-items:center;font-size:18px;display:grid}.export-action-grid article>div:nth-child(2){gap:5px;display:grid}.export-action-grid strong{font-size:14px}.export-action-grid small{color:var(--teacher-muted);font-size:12px;line-height:1.5}.export-action-grid article>.ant-btn{grid-column:1/-1;margin-top:4px}.async-export-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.teacher-content .settings-center .async-export-actions .ant-btn span{display:inline-flex!important}.async-export-list,.backup-list{gap:9px;display:grid}.async-export-list>article{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:8px;grid-template-columns:minmax(0,1fr) 100px auto;align-items:center;gap:12px;padding:12px;display:grid}.async-export-copy{gap:3px;min-width:0;display:grid}.async-export-copy strong{font-size:13px}.async-export-copy span,.async-export-copy small{color:var(--teacher-muted);overflow-wrap:anywhere;font-size:11px}.settings-danger-section .danger-section-icon{color:#c96955;font-size:22px}.danger-action-list{gap:12px;display:grid}.settings-center .danger-action-row{background:var(--color-danger-soft);box-shadow:none;border:1px solid #f0d9d4;border-radius:10px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.danger-action-mark{color:#bc5449;background:#fdece8;border-radius:9px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.danger-action-row>div:nth-child(2){gap:5px;min-width:0;display:grid}.danger-action-row strong{color:var(--teacher-ink);font-size:14px}.settings-center .danger-action-row>div:nth-child(2)>span{color:var(--teacher-muted);font-size:12px;line-height:1.6}.backup-vault-head>div{align-items:center;gap:9px;display:flex}.backup-vault-head>div>span{gap:4px;display:grid}.backup-empty{color:var(--teacher-muted);justify-content:center;align-items:center;gap:8px;padding:28px 12px;font-size:12px;display:flex}.backup-list article{border:1px solid var(--teacher-line);background:var(--teacher-surface);border-radius:8px;grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid}.backup-status-dot{background:#78a086;border-radius:50%;width:7px;height:7px}.backup-copy{gap:4px;min-width:0;display:grid}.backup-copy strong{font-size:13px}.backup-copy span,.backup-copy small{color:var(--teacher-muted);font-size:11px}.settings-center .theme-preference-card{box-shadow:none;background:0 0;border:0;gap:20px;margin:0;padding:0;display:grid}.settings-center .theme-preference-copy{min-width:0}.settings-center .theme-preference-copy .section-kicker{display:none}.settings-center .theme-preference-copy h2{margin:0 0 6px;font-size:15px}.settings-center .theme-preference-copy p{max-width:560px;margin:0;font-size:13px;line-height:1.6;display:block}.settings-center .theme-preference-controls{justify-content:start;gap:20px;display:grid}.settings-center .theme-swatches{gap:10px}.settings-center .theme-swatch,.settings-center .theme-custom-picker{border-radius:9px;height:40px;padding:7px 12px;font-size:13px}.settings-center .theme-swatch>span,.settings-center .theme-custom-picker input{width:22px;height:22px}.settings-center .theme-preference-actions{justify-content:flex-start;font-size:13px}.settings-panel-mark{color:var(--teacher-primary);font-size:24px}.settings-form-modal .ant-modal-content{border-radius:14px;padding:22px}.settings-form-modal .ant-modal-title{font-size:18px}.settings-form-modal .ant-modal-body{max-height:calc(100dvh - 210px);padding:18px 0 0;overflow-y:auto}.settings-form-modal .ant-modal-footer{border-top:1px solid var(--teacher-line);margin-top:18px;padding-top:16px}.settings-form-modal .ant-form-item{margin-bottom:18px}.settings-form-modal .ant-form-item-label label{font-size:13px;font-weight:600}.settings-modal-hint{color:var(--teacher-ink-soft);background:var(--teacher-surface-soft);border-radius:8px;margin:0 0 20px;padding:11px 13px;font-size:13px;line-height:1.6}.settings-form-modal .score-icon-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.settings-form-modal .score-icon-option{border:1px solid var(--teacher-line);background:var(--teacher-surface);cursor:pointer;border-radius:8px;gap:5px;min-width:0;padding:8px 3px;display:grid}.settings-form-modal .score-icon-option span{font-size:22px}.settings-form-modal .score-icon-option small{color:var(--teacher-muted);font-size:10px}.settings-form-modal .score-icon-option.active{border-color:var(--teacher-primary);background:var(--teacher-primary-soft)}@media (width<=1100px){.settings-workspace{grid-template-columns:182px minmax(0,1fr);gap:14px}.settings-center .settings-panel{padding:20px}.settings-center .partner-catalog-grid{grid-template-columns:1fr}.settings-center .async-export-head{flex-direction:column}}@media (width<=860px){.settings-workspace{grid-template-columns:1fr;gap:12px}.settings-nav{border-radius:10px;gap:5px;padding:7px;display:flex;position:static;overflow-x:auto}.settings-nav-group,.settings-nav-group+.settings-nav-group{flex:none;gap:4px;margin:0;display:flex}.settings-nav-label,.settings-nav-arrow{display:none}.settings-nav button{white-space:nowrap;gap:6px;width:auto;margin:0;padding:10px 12px;font-size:12px}.settings-center .partner-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.teacher-content>.settings-center{margin-top:12px}.settings-center-heading{align-items:flex-start;gap:10px;margin-bottom:14px}.settings-center-heading h1{font-size:19px}.settings-center-heading p{max-width:210px;font-size:11px;line-height:1.5}.settings-center .settings-sync{display:none}.settings-center-tools .ant-btn{height:32px;min-height:32px;padding-inline:9px;font-size:12px}.settings-center .settings-panel{padding:16px}.settings-panel-head{flex-wrap:wrap;gap:12px;margin-bottom:16px;padding-bottom:16px}.settings-panel-head h2{font-size:17px}.settings-panel-head p{font-size:12px}.settings-panel-head>.ant-btn,.settings-save-actions,.settings-head-actions{margin-left:auto}.settings-center .settings-score-item{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:12px}.settings-center .settings-score-icon{width:32px;height:32px;font-size:18px}.settings-score-actions{grid-column:2;justify-content:flex-end}.settings-center .level-rule-row{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:12px}.level-rule-exp{text-align:right}.level-rule-exp strong{font-size:15px}.level-rule-actions{grid-column:2/-1;justify-content:flex-end}.settings-center .partner-catalog-grid,.settings-center .pet-management-grid,.settings-center .export-action-grid{grid-template-columns:1fr}.settings-center .partner-catalog-card{padding:13px}.partner-stage-strip{gap:5px}.partner-stage-strip>div{flex-basis:40px;min-width:40px}.partner-stage-image{height:52px}.partner-stage-image img{max-height:52px}.partner-replace-panel{padding:14px}.settings-center .partner-replace-bar{grid-template-columns:1fr}.partner-replace-bar>.ant-btn{margin-top:4px}.pet-management-toolbar>.ant-input-affix-wrapper{flex-basis:100%;max-width:none}.pet-management-toolbar>.ant-select{flex:120px;max-width:none}.pet-management-toolbar>span{text-align:right;width:100%}.settings-center .pet-management-card{padding:14px}.settings-center .settings-toggle-list>div{gap:14px}.settings-center .settings-toggle-list small{font-size:11px}.settings-toggle-list>div>span:first-child{flex:1}.settings-toggle-list>div>.ant-select{width:140px!important}.settings-center .settings-toggle-list .ant-slider{width:130px!important}.settings-center .sound-style-options{width:100%}.settings-center .sound-style-setting{flex-direction:column;align-items:stretch}.settings-center .attention-panel,.settings-center .async-export-panel,.settings-center .backup-vault{padding:13px}.attention-panel-head{flex-wrap:wrap}.settings-center .danger-action-row{grid-template-columns:32px minmax(0,1fr);gap:11px;padding:14px}.danger-action-mark{width:32px;height:32px;font-size:16px}.danger-action-row>.ant-btn{grid-column:1/-1;margin-top:4px}.backup-vault-head{flex-wrap:wrap}.backup-list article{grid-template-columns:7px minmax(0,1fr) auto}.backup-list article>.ant-btn{grid-column:2/-1;justify-self:end}.async-export-list>article{grid-template-columns:minmax(0,1fr) auto}.async-export-list>article>.ant-progress{grid-area:2/1/auto/-1}.settings-form-modal .ant-modal-content{padding:18px}.settings-form-modal .score-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.teacher-header{z-index:40;border-bottom:1px solid var(--teacher-line);background:var(--teacher-surface);align-items:center;gap:14px;width:100%;height:64px;padding:0 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #1c243a0a}.teacher-header .header-left{flex:0 0 144px;min-width:134px;max-width:160px}.teacher-brand{min-width:0;color:var(--teacher-ink);align-items:center;gap:10px;text-decoration:none;display:flex}.teacher-brand .brand-star{color:#fff;background:var(--teacher-primary);border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.teacher-brand .brand-text{gap:2px;min-width:0;display:grid}.teacher-brand strong{color:var(--teacher-ink);white-space:nowrap;font-size:16px;line-height:1.3}.teacher-brand .brand-text>span{color:var(--teacher-muted);font-size:11px;line-height:1.3}.teacher-nav{scrollbar-width:none;flex:auto;align-self:stretch;gap:2px;min-width:0;display:flex;overflow:auto hidden}.teacher-nav::-webkit-scrollbar{display:none}.teacher-nav a{color:var(--teacher-muted);white-space:nowrap;border:0;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:650;line-height:1.3;text-decoration:none;display:flex;position:relative}.teacher-nav a .anticon{color:var(--teacher-primary-strong);font-size:16px}.teacher-nav a:hover{color:var(--teacher-ink);background:var(--teacher-surface-soft)}.teacher-nav a.router-link-active{color:var(--teacher-primary-strong);background:var(--teacher-primary-soft)}.teacher-nav a.router-link-active:after{content:"";background:var(--teacher-primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:10px;right:10px}.teacher-header .header-right{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.teacher-header .teacher-search{width:176px}.teacher-header .teacher-search .ant-input-affix-wrapper{border-radius:9px;height:38px;padding-inline:10px}.teacher-header .header-right .theme-toggle{flex:0 0 34px;width:34px;height:34px}.teacher-account{align-items:center;gap:8px;display:flex}.teacher-identity{border:1px solid var(--teacher-line);background:var(--teacher-surface-soft);border-radius:9px;align-items:center;gap:8px;padding:7px 9px;display:flex}.identity-dot{background:#24a36b;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.identity-text{min-width:0;display:grid}.identity-text strong{max-width:74px;color:var(--teacher-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.identity-text>span{display:none}.logout-btn{border:1px solid var(--teacher-line);width:34px;height:34px;color:var(--teacher-muted);background:var(--teacher-surface);cursor:pointer;border-radius:9px;place-items:center;padding:0;display:grid}.logout-btn:hover{color:var(--teacher-primary-strong);border-color:var(--teacher-primary);background:var(--teacher-primary-soft)}.global-class-trigger{border:1px solid var(--teacher-line);width:164px;height:42px;color:var(--teacher-ink);background:var(--teacher-surface);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:5px 10px;display:flex}.global-class-trigger:hover,.global-class-trigger[aria-expanded=true]{border-color:var(--teacher-primary);background:var(--teacher-primary-soft)}.global-class-trigger:focus-visible{outline:2px solid var(--teacher-primary);outline-offset:2px}.global-class-icon{color:var(--teacher-primary);font-size:17px}.global-class-copy{text-align:left;flex:1;gap:2px;min-width:0;display:grid}.global-class-copy small{color:var(--teacher-muted);font-size:10px;line-height:1.2}.global-class-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.global-class-trigger>.anticon{color:var(--teacher-muted);flex:none;font-size:13px}.teacher-class-popover .ant-popover-inner{border-radius:12px;padding:16px}.global-class-picker{width:min(324px,100vw - 60px)}.global-class-picker-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.global-class-picker-head>div{gap:5px;display:grid}.global-class-picker-head strong{color:var(--teacher-ink);font-size:15px}.global-class-picker-head span{color:var(--teacher-muted);font-size:11px}.global-class-picker>.ant-input-affix-wrapper{border-radius:8px}.global-class-list{gap:6px;max-height:min(350px,48vh);margin-top:12px;display:grid;overflow-y:auto}.global-class-option{width:100%;color:var(--teacher-ink);background:var(--teacher-surface-soft);text-align:left;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:12px;padding:12px;display:flex}.global-class-option>span:nth-child(2){flex:1;gap:4px;min-width:0;display:grid}.global-class-option strong{overflow-wrap:anywhere;font-size:13px}.global-class-option small{color:var(--teacher-muted);font-size:11px}.global-class-option-icon{width:34px;height:34px;color:var(--teacher-primary);background:var(--teacher-surface);border-radius:8px;flex:0 0 34px;place-items:center;display:grid}.global-class-option:hover,.global-class-option.selected{border-color:var(--teacher-primary);background:var(--teacher-primary-soft)}.global-class-option>.anticon{color:var(--teacher-primary)}.global-class-option:focus-visible{outline:2px solid var(--teacher-primary);outline-offset:-2px}.global-class-option:disabled{cursor:default;opacity:.65}.global-picker-state{color:var(--teacher-muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:26px 16px;font-size:12px;display:flex}.global-class-picker-note{color:#9c5326;gap:6px;margin:12px 0 0;font-size:11px;line-height:1.5;display:flex}.teacher-content .classroom-commandbar{justify-content:flex-end}.teacher-content .classroom-session-state{flex:none;margin-left:auto}@media (width<=1280px){.teacher-header{grid-template-rows:56px 42px;grid-template-columns:144px minmax(0,1fr);gap:0 16px;height:auto;padding-inline:16px;display:grid}.teacher-header .header-left{grid-area:1/1}.teacher-header .header-right{grid-area:1/2;justify-self:end}.teacher-header .teacher-nav{grid-area:2/1/auto/-1;width:100%}.teacher-header .teacher-nav a{flex:1 0 auto}.settings-nav{top:111px}}@media (width<=680px){.teacher-header{grid-template-rows:46px 48px 42px;grid-template-columns:minmax(0,1fr);gap:0;padding:0 12px 8px}.teacher-header .header-left{grid-area:1/1;max-width:calc(100% - 74px)}.teacher-header .header-right{grid-area:2/1;justify-self:stretch;width:100%}.teacher-header .global-class-trigger,.teacher-header .teacher-search{flex:1 1 0;width:auto;min-width:0}.teacher-header .teacher-search .search-hint{display:none}.teacher-header .header-right .theme-toggle{width:30px;height:30px;position:absolute;top:8px;right:48px}.teacher-header .teacher-account{position:absolute;top:8px;right:12px}.teacher-header .teacher-identity{display:none}.teacher-header .logout-btn{width:30px;height:30px}.teacher-header .teacher-nav{grid-area:3/1}.teacher-header .teacher-nav a{gap:5px;padding-inline:9px;font-size:11px}.teacher-header .teacher-nav a .anticon{font-size:14px}.global-class-trigger{height:40px}.teacher-content .classroom-session-state{flex:1;width:100%}}@media print{@page{margin:1.5cm;size:A4}body{margin:0;font-size:10pt;color:#000!important;background:#fff!important}.no-print,.mobile-nav,.teacher-nav,.teacher-account,.theme-toggle,button:not(.print-visible),.ant-btn:not(.print-visible),.ant-pagination,.ant-dropdown,.ant-modal,.ant-drawer,.ant-message,.ant-notification,.page-actions,.card-actions,.toolbar-right,nav,header button,footer button{display:none!important}.print-only{display:block!important}.teacher-shell{grid-template-columns:1fr!important;display:block!important}.teacher-header{border:none!important;padding:0!important;position:static!important}.teacher-content{padding:0!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;color:#000!important}h1{font-size:18pt}h2{font-size:16pt}h3{font-size:14pt}h4{font-size:12pt}p,li{orphans:3;widows:3}table{page-break-inside:avoid;border-collapse:collapse;width:100%}th,td{text-align:left;border:1pt solid #ddd;padding:4pt 8pt}th{font-weight:700;background:#f5f5f5!important}thead{display:table-header-group}tr{page-break-inside:avoid}.class-card,.ranking-card,.score-result-card,.stat-card{page-break-inside:avoid;margin-bottom:.5cm;box-shadow:none!important;border:1pt solid #ddd!important}.ranking-list,.student-list{display:block}.ranking-row,.student-card{page-break-inside:avoid;margin-bottom:.3cm;border:1pt solid #ddd!important}a,button{color:#000!important;text-decoration:none!important}a[href]:after{content:" (" attr(href) ")";color:#666;font-size:8pt}a[href^=\#]:after,a[href^=javascript\:]:after{content:""}*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}.trend-up,.trend-up *{color:#000!important}.trend-up:before{content:"↑ "}.trend-down,.trend-down *{color:#000!important}.trend-down:before{content:"↓ "}.ant-tag,.status-badge{border:1pt solid #000!important;padding:2pt 4pt!important}img{page-break-inside:avoid;max-width:100%!important}.print-header{border-bottom:2pt solid #000;justify-content:space-between;align-items:center;margin-bottom:1cm;padding-bottom:.5cm;display:flex}.print-header h1{margin:0;font-size:20pt}.print-date{color:#666;font-size:9pt}.print-footer{color:#666;border-top:1pt solid #ddd;justify-content:space-between;margin-top:1cm;padding-top:.5cm;font-size:8pt;display:flex}.print-page-number:after{content:"第 " counter(page) " 页"}.qr-code,.barcode{background:#fff!important;display:block!important}svg{max-width:100%;height:auto}canvas{page-break-inside:avoid;max-width:100%}.page-break-before{page-break-before:always}.page-break-after{page-break-after:always}.page-break-inside-avoid{page-break-inside:avoid}}.network-status-banner[data-v-302e73c1]{z-index:9999;background:var(--color-error);color:#fff;align-items:center;gap:12px;padding:12px 20px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000026}.network-status-banner.reconnected[data-v-302e73c1]{background:var(--color-success)}.status-icon[data-v-302e73c1]{flex-shrink:0;font-size:20px}.status-icon.offline[data-v-302e73c1]{animation:2s ease-in-out infinite pulse-offline-302e73c1}.status-icon.online[data-v-302e73c1]{animation:.3s ease-out scale-in-302e73c1}.status-content[data-v-302e73c1]{flex-direction:column;gap:2px;display:flex}.status-content strong[data-v-302e73c1]{font-size:14px;font-weight:600}.status-content span[data-v-302e73c1]{opacity:.9;font-size:12px}@keyframes pulse-offline-302e73c1{0%,to{opacity:1}50%{opacity:.6}}@keyframes scale-in-302e73c1{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.slide-down-enter-active[data-v-302e73c1],.slide-down-leave-active[data-v-302e73c1]{transition:transform .3s,opacity .3s}.slide-down-enter-from[data-v-302e73c1],.slide-down-leave-to[data-v-302e73c1]{opacity:0;transform:translateY(-100%)}
