@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.KujYLq_className{font-family:Inter,Inter Fallback;font-style:normal}.KujYLq_variable{--font-body:"Inter", "Inter Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.tCPAta_className{font-family:Manrope,Manrope Fallback;font-style:normal}.tCPAta_variable{--font-display:"Manrope", "Manrope Fallback"}
:root{--blue:#155eef;--blue-dark:#123a82;--blue-soft:#edf4ff;--orange:#f97316;--ink:#14213d;--muted:#526178;--line:#dce4ef;--surface:#fff;--background:#f6f8fc;--green:#0f9f6e;--shadow:0 20px 60px #1930591f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--ink);font-family:var(--font-body), sans-serif;margin:0}button,input,select{font:inherit}textarea{font:inherit;resize:vertical}a{color:inherit;text-decoration:none}:is(button,a,label:has(input)){-webkit-tap-highlight-color:transparent}.site-header{z-index:10;padding:22px 5vw;position:absolute;top:0;left:0;right:0}.header-inner,.auth-top,.dashboard-header{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;display:flex}.site-header nav{align-items:center;gap:24px;display:flex}.logo{align-items:center;gap:11px;display:inline-flex}.logo-mark{background:var(--blue);color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 7px #0f3fa6}.logo>span:last-child{line-height:1.1;display:grid}.logo strong{font:800 15px var(--font-display), sans-serif}.logo small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:11px}.text-link,.back-link{color:var(--muted);font-size:14px;font-weight:700;transition:color .2s}.text-link:hover,.back-link:hover{color:var(--blue)}.button{cursor:pointer;background:var(--orange);color:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:0 22px;font-weight:800;transition:background .2s,box-shadow .2s,transform .2s;display:inline-flex;box-shadow:0 6px #c64d08}.button:hover{background:#e9600b}.button:active{transform:translateY(3px);box-shadow:0 3px #c64d08}.button:focus-visible,input:focus-visible,select:focus-visible,.code-box:focus-visible,.logout-button:focus-visible{outline-offset:3px;outline:3px solid #155eef4d}.button:disabled{opacity:.65;cursor:wait}.disabled-button{opacity:.65;cursor:not-allowed;box-shadow:none}.button-small{border-radius:12px;min-height:40px;padding:0 17px}.button-secondary{color:var(--blue-dark);border:1px solid var(--line);background:#fff;box-shadow:0 5px #dbe3ee}.button-secondary:hover{background:var(--blue-soft)}.full-button{width:100%}.hero{background:radial-gradient(circle at 84% 25%,#dbeaff 0,#0000 34%),linear-gradient(135deg,#fbfdff,#f0f5ff);grid-template-columns:1.02fr .98fr;align-items:center;gap:72px;min-height:780px;padding:150px max(5vw,50vw - 590px) 90px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";border:1px dashed #155eef26;border-radius:50%;width:440px;height:440px;position:absolute;top:-90px;right:-130px}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:9px;font-size:13px;font-weight:800;display:inline-flex}.eyebrow span{background:var(--orange);width:24px;height:2px}.hero h1{max-width:650px;font:800 clamp(44px, 5.2vw, 72px)/1.02 var(--font-display), sans-serif;letter-spacing:-.05em;margin:22px 0}.hero h1 em{color:var(--blue);font-style:normal;position:relative}.hero h1 em:after{content:"";background:var(--orange);opacity:.7;border-radius:50%;height:8px;position:absolute;bottom:-5px;left:2%;right:1%}.hero-copy>p{max-width:610px;color:var(--muted);font-size:18px;line-height:1.75}.hero-actions{gap:14px;margin-top:34px;display:flex}.trust-row{color:#34435a;gap:25px;margin-top:30px;font-size:13px;font-weight:700;display:flex}.trust-row span{align-items:center;gap:7px;display:flex}.trust-row svg{color:var(--green)}.hero-visual{place-items:center;min-height:520px;display:grid;position:relative}.visual-glow{background:var(--blue);opacity:.1;border-radius:45% 55% 64% 36%/43% 39% 61% 57%;width:430px;height:430px;position:absolute;transform:rotate(12deg)}.ballot-card{z-index:1;width:min(100%,420px);box-shadow:var(--shadow), 0 9px 0 #dce6f7;background:#fffffff0;border:1px solid #fff;border-radius:26px;padding:28px;transform:rotate(1.2deg)}.ballot-card-head{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.icon-box{width:46px;height:46px;color:var(--blue);background:var(--blue-soft);border-radius:14px;place-items:center;display:grid}.status-pill{color:#087a53;text-transform:uppercase;letter-spacing:.08em;background:#e8fbf3;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.status-pill.closed{color:#9a4b10;background:#fff1e5}.overline{color:var(--blue);text-transform:uppercase;letter-spacing:.13em;margin:0 0 8px;font-size:11px;font-weight:800}.ballot-card h2{font:800 28px var(--font-display), sans-serif;letter-spacing:-.03em;margin:0}.ballot-card>p:not(.overline){color:var(--muted);font-size:14px;line-height:1.55}.mock-choice{border:1px solid var(--line);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:12px;padding:13px;display:grid}.mock-choice.selected{border:2px solid var(--blue);background:var(--blue-soft)}.avatar,.teacher-avatar{width:42px;height:42px;color:var(--blue-dark);background:#dce9ff;border-radius:12px;place-items:center;font-size:12px;font-weight:800;display:grid}.teacher-avatar{flex:none;position:relative;overflow:hidden}.teacher-avatar img{object-fit:cover}.teacher-avatar-large{border-radius:17px;width:62px;height:62px;font-size:16px}.avatar.amber{color:#b34b09;background:#fff0df}.mock-choice>span:nth-child(2),.teacher-name{gap:3px;display:grid}.mock-choice small,.teacher-name small{color:var(--muted)}.mock-choice svg{color:var(--blue)}.radio{border:2px solid #b7c2d1;border-radius:50%;width:19px;height:19px}.mock-button{text-align:center;background:var(--orange);color:#fff;border-radius:13px;margin-top:20px;padding:14px;font-weight:800}.floating-stat{z-index:2;background:#fff;border-radius:15px;align-items:center;gap:11px;padding:14px 17px;display:flex;position:absolute;bottom:53px;right:-18px;box-shadow:0 16px 40px #20375e29}.floating-stat svg{color:var(--blue)}.floating-stat span{display:grid}.floating-stat small{color:var(--muted);margin-top:3px}.steps-section{text-align:center;max-width:1180px;margin:0 auto;padding:90px 5vw 110px}.steps-section h2{max-width:550px;font:800 clamp(30px, 3vw, 43px)/1.15 var(--font-display), sans-serif;letter-spacing:-.04em;margin:8px auto 45px}.steps-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.steps-grid article{border:1px solid var(--line);background:#fff;border-radius:20px;padding:30px;position:relative;overflow:hidden;box-shadow:0 6px #e2e8f2}.steps-grid article>span{color:#c5d7fb;font:800 42px var(--font-display), sans-serif}.steps-grid h3{font:800 19px var(--font-display), sans-serif;margin:15px 0 7px}.steps-grid p{color:var(--muted);margin:0;line-height:1.6}.auth-shell{background:radial-gradient(circle at 15% 50%, #e2edff, transparent 30%), var(--background);min-height:100vh;padding:24px 5vw 70px}.auth-top{margin-bottom:54px}.back-link{align-items:center;gap:6px;display:flex}.auth-layout{grid-template-columns:.9fr 1.1fr;align-items:center;gap:90px;max-width:1030px;margin:0 auto;display:grid}.auth-aside h2{font:800 44px/1.1 var(--font-display), sans-serif;letter-spacing:-.04em;margin:18px 0}.auth-aside>p:not(.eyebrow){color:var(--muted);line-height:1.7}.aside-note{border-left:4px solid var(--orange);background:#fff;border-radius:0 14px 14px 0;gap:7px;margin-top:35px;padding:20px;display:grid;box-shadow:0 10px 30px #1e345812}.aside-note span{color:var(--muted);font-size:13px;line-height:1.5}.form-card,.success-panel{box-shadow:var(--shadow), 0 8px 0 #e0e7f0;background:#fff;border:1px solid #fff;border-radius:24px;padding:clamp(26px,4vw,42px)}.form-heading h1,.success-panel h1{font:800 34px var(--font-display), sans-serif;letter-spacing:-.04em;margin:0}.form-heading>p:last-child,.success-panel>p{color:var(--muted);line-height:1.55}.alert,.notice{color:#a21616;background:#fff4f4;border:1px solid #fecaca;border-radius:12px;margin:20px 0;padding:13px 15px;font-size:14px}.field-label,fieldset{color:#293752;gap:9px;margin:23px 0;font-size:13px;font-weight:800;display:grid}fieldset{border:0;padding:0}legend{margin-bottom:9px}input,select,textarea{width:100%;min-height:51px;color:var(--ink);background:#fff;border:1px solid #cbd6e4;border-radius:12px;outline:0;padding:0 15px;transition:border .2s,box-shadow .2s}textarea{padding-top:13px;line-height:1.5}input:hover,select:hover,textarea:hover{border-color:#8da5c6}.segmented{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.segmented label{border:1px solid var(--line);cursor:pointer;min-height:48px;color:var(--muted);background:#f9fbfd;border-radius:12px;place-items:center;transition:color .2s,border .2s,background .2s;display:grid}.segmented label.active{color:var(--blue);border:2px solid var(--blue);background:var(--blue-soft)}.segmented input{opacity:0;width:1px;height:1px;position:absolute}.form-footnote{text-align:center;color:var(--muted);margin:22px 0 0;font-size:13px}.form-footnote a{color:var(--blue);font-weight:800}.success-panel{text-align:center}.success-icon{width:64px;height:64px;color:var(--green);background:#e7faf2;border-radius:20px;place-items:center;margin:0 auto 24px;display:grid;box-shadow:0 6px #c5eddd}.code-box{cursor:pointer;background:var(--blue-soft);width:100%;color:var(--blue-dark);border:2px dashed #9ab8ed;border-radius:15px;gap:10px;margin:18px 0 26px;padding:18px;display:grid}.code-box span,.code-box small{justify-content:center;align-items:center;gap:7px;display:flex}.code-box strong{font:800 clamp(22px, 5vw, 29px) var(--font-display), sans-serif;letter-spacing:.08em}.code-box small{color:var(--muted)}.login-wrap{place-items:center;min-height:calc(100vh - 150px);display:grid}.login-card{width:min(100%,500px)}.closed-state h1{font:800 32px var(--font-display), sans-serif;margin:0}.closed-state>p:not(.overline){color:var(--muted);margin-bottom:25px;line-height:1.6}.form-icon{width:52px;height:52px;color:var(--blue);background:var(--blue-soft);border-radius:15px;place-items:center;margin-bottom:24px;display:grid}.input-with-icon{display:block;position:relative}.input-with-icon svg{z-index:1;color:#718099;position:absolute;top:17px;left:15px}.input-with-icon input{text-transform:uppercase;letter-spacing:.06em;padding-left:46px}.dashboard-shell{min-height:100vh}.dashboard-header{border-bottom:1px solid var(--line);background:#fff;max-width:none;padding:17px max(5vw,50vw - 590px)}.logout-button{cursor:pointer;color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;font-weight:800;display:flex}.logout-button:hover{color:var(--blue)}.dashboard-content{max-width:1180px;margin:0 auto;padding:48px 5vw 80px}.welcome-row{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.welcome-row h1{font:800 36px var(--font-display), sans-serif;letter-spacing:-.04em;margin:0 0 7px}.welcome-row>div>p:last-child{color:var(--muted);margin:0}.vote-status{color:#9a4b10;background:#fff1e5;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:800;display:inline-flex}.vote-status.complete{color:#087a53;background:#e4f8f0}.vote-status.closed{color:#6a7280;background:#e9ecf0}.notice{color:var(--blue-dark);background:var(--blue-soft);border-color:#c7d8f5;align-items:center;gap:9px;display:flex}.notice.success{color:#087a53;background:#e9faf3;border-color:#a7e4cd}.notice.error{color:#a21616;background:#fff4f4;border-color:#fecaca}.stats-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px;display:grid}.stats-grid article{border:1px solid var(--line);background:#fff;border-radius:17px;align-items:center;gap:15px;padding:20px;display:flex;box-shadow:0 4px #e6ebf2}.stat-icon{border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.stat-icon.blue{color:var(--blue);background:var(--blue-soft)}.stat-icon.orange{color:#c8560d;background:#fff0e4}.stat-icon.green{color:var(--green);background:#e8f9f2}.stat-icon.purple{color:#7142c8;background:#f0eafe}.stats-grid article>div{gap:3px;display:grid}.stats-grid small{color:var(--muted)}.stats-grid strong{font:800 27px var(--font-display), sans-serif}.dashboard-grid{grid-template-columns:1.22fr .78fr;align-items:start;gap:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:20px;padding:28px;box-shadow:0 5px #e3e9f1}.panel-heading{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.panel-heading h2{font:800 24px var(--font-display), sans-serif;letter-spacing:-.03em;margin:0}.panel-heading>svg{color:var(--orange)}.step-badge{color:var(--blue);background:var(--blue-soft);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.teacher-list{gap:10px;margin:0 0 20px}.teacher-option{border:1px solid var(--line);cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px;transition:border .2s,background .2s;display:grid}.teacher-option:hover{background:#fafcff;border-color:#99b4df}.teacher-option:has(input:checked){border:2px solid var(--blue);background:var(--blue-soft)}.teacher-option input{opacity:0;width:1px;height:1px;position:absolute}.custom-radio{color:#a8b5c7}.teacher-option:has(input:checked) .custom-radio{color:var(--blue)}.ballot-note,.results-note{text-align:center;color:var(--muted);margin:15px 0 0;font-size:12px}.voted-state,.empty-state{text-align:center;background:#fbfcfe;border:1px dashed #c6d2e1;border-radius:16px;padding:42px 20px}.voted-state>span{width:64px;height:64px;color:var(--green);background:#e5f9f1;border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.voted-state h3,.empty-state h3{font:800 19px var(--font-display), sans-serif;margin:8px 0}.voted-state p,.empty-state p{max-width:400px;color:var(--muted);margin:0 auto;line-height:1.5}.empty-state svg{color:#8ba0be}.empty-state.compact{padding:32px 15px}.ranking-list{gap:21px;margin:0;padding:0;list-style:none;display:grid}.ranking-list li{align-items:center;gap:12px;display:flex}.rank{color:#5d6d83;background:#edf1f6;border-radius:10px;flex:none;place-items:center;width:31px;height:31px;font-size:12px;font-weight:800;display:grid}.rank-1{color:#a95a00;background:#fff0c9}.ranking-main{flex:1;min-width:0}.ranking-main>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.ranking-main strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ranking-main small{color:var(--muted);white-space:nowrap}.progress-track{background:#e8edf4;border-radius:99px;height:6px;margin-top:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--blue);height:100%;display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-auth-shell{background:radial-gradient(circle at 80% 20%, #eee7ff, transparent 32%), var(--background)}.form-icon.admin,.admin-heading-icon{color:#7142c8;background:#f0eafe}.admin-overline{color:#7142c8}.admin-dashboard-header{border-top:4px solid #7142c8}.admin-header-actions{align-items:center;gap:22px;display:flex}.admin-header-actions>span{color:#58437e;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.shield-dot{background:#7142c8;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #eee8fb}.admin-content{max-width:1280px}.admin-welcome{margin-bottom:24px}.admin-section-nav{border:1px solid var(--line);scrollbar-width:none;background:#fff;border-radius:15px;gap:7px;margin:-5px 0 22px;padding:9px;display:flex;overflow-x:auto}.admin-section-nav::-webkit-scrollbar{display:none}.admin-section-nav a{color:var(--muted);border-radius:10px;flex:none;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:800;transition:color .2s,background .2s;display:flex}.admin-section-nav a:hover{color:#7142c8;background:#f4efff}.admin-stats{max-width:780px}.admin-settings-panel{margin-bottom:22px;padding:30px;scroll-margin-top:20px}.control-panel-form .field-label{margin:17px 0}.control-switches{grid-template-columns:repeat(3,1fr);gap:11px;margin:20px 0 24px;display:grid}.control-switch{border:1px solid var(--line);cursor:pointer;background:#fafbfd;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:10px;min-width:0;padding:14px;display:grid}.control-switch>span{gap:4px;min-width:0;display:grid}.control-switch small{color:var(--muted);font-size:10px;line-height:1.35}.control-switch input{opacity:0;width:1px;height:1px;position:absolute}.control-switch i{background:#bac3d0;border-radius:99px;width:40px;height:23px;padding:3px;transition:background .2s}.control-switch i:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .2s;display:block}.control-switch:has(input:checked){background:#faf7ff;border-color:#bfa9ea}.control-switch:has(input:checked) i{background:#7142c8}.control-switch:has(input:checked) i:after{transform:translate(17px)}.admin-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:22px;display:grid}.category-results{border:1px solid var(--line);background:#fff;border-radius:20px;margin:4px 0 22px;padding:27px;box-shadow:0 5px #e3e9f1}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.section-heading-row h2{font:800 24px var(--font-display), sans-serif;letter-spacing:-.03em;margin:0}.section-heading-row>span{color:#7142c8;white-space:nowrap;background:#f0eafe;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.category-grid>article{border:1px solid var(--line);background:#fafbfd;border-radius:15px;flex-direction:column;justify-content:space-between;min-width:0;min-height:145px;padding:14px;display:flex}.category-grid>article.has-winner{background:#fcfaff;border-color:#c9b8ec}.category-grid>article>div:first-child{gap:5px;display:grid}.category-grid>article>div:first-child span{color:#7142c8;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.category-grid>article>div:first-child strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.category-grid>article>p{color:var(--muted);margin:20px 0 0;font-size:12px}.category-winner{align-items:center;gap:9px;margin-top:18px;display:flex}.category-winner>span{gap:2px;min-width:0;display:grid}.category-winner small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px}.category-winner strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.category-winner em{color:#7142c8;font-size:10px;font-style:normal;font-weight:800}.admin-form-panel{padding:30px}.admin-form .panel-heading{margin-bottom:8px}.admin-heading-icon{border-radius:14px;place-items:center;width:45px;height:45px;display:grid}.admin-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.image-upload{cursor:pointer;background:#fbfcff;border:1px dashed #aab9cd;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:13px;min-height:78px;margin:4px 0 24px;padding:14px;transition:border .2s,background .2s;display:grid}.image-upload:hover{background:#faf7ff;border-color:#7142c8}.upload-icon{color:#7142c8;background:#f0eafe;border-radius:13px;place-items:center;width:47px;height:47px;display:grid}.image-upload>span:nth-child(2){gap:4px;display:grid}.image-upload small{color:var(--muted);font-size:12px;font-weight:500}.image-upload input{cursor:pointer;background:#fff;border-radius:10px;grid-column:1/-1;min-height:auto;padding:9px}.class-picker{margin:0 0 24px}.class-picker legend{color:var(--ink);font-size:14px}.class-picker>p{color:var(--muted);margin:-2px 0 14px;font-size:12px;font-weight:500}.class-options{grid-template-columns:1fr 1fr;gap:9px;display:grid}.class-options label{border:1px solid var(--line);cursor:pointer;background:#fafbfd;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:7px;min-width:0;padding:12px;transition:border .2s,background .2s;display:grid}.class-options label:hover{border-color:#b09ae0}.class-options input{opacity:0;width:1px;height:1px;position:absolute}.class-options label>span{gap:3px;min-width:0;display:grid}.class-options small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.class-options svg{color:#b8c2d0}.class-options label:has(input:checked){background:#f5f0ff;border:2px solid #7142c8}.class-options label:has(input:checked) svg{color:#7142c8}.teacher-directory{padding:27px}.count-badge{color:#7142c8;background:#f0eafe;border-radius:10px;place-items:center;min-width:31px;height:31px;padding:0 9px;font-size:12px;font-weight:800;display:grid}.teacher-directory-list{gap:11px;display:grid}.teacher-directory-list article{border:1px solid var(--line);background:#fcfdff;border-radius:15px;align-items:center;gap:13px;padding:12px;transition:border .2s,background .2s;display:flex}.teacher-directory-list article:hover{background:#faf7ff;border-color:#b8a5e2}.teacher-directory-list article>div{gap:4px;min-width:0;display:grid}.teacher-directory-list strong,.teacher-directory-list span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.teacher-directory-list span{color:var(--muted);font-size:13px}.teacher-directory-list small{color:#6843ae;background:#f0eafe;border-radius:7px;width:fit-content;padding:4px 7px;font-size:10px;font-weight:800}.teacher-directory-list .teacher-crud-card{border:1px solid var(--line);background:#fcfdff;padding:0;display:block}.teacher-crud-card.is-archived{opacity:.78;background:#f4f5f7}.teacher-record-summary{align-items:center;padding:12px;gap:13px!important;display:flex!important}.teacher-record-main{flex:1;gap:4px;min-width:0;display:grid}.teacher-record-title{align-items:center;gap:7px;display:flex}.teacher-record-title strong{min-width:0}.teacher-record-title em{color:#6a7280;text-transform:uppercase;background:#e4e7eb;border-radius:6px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:800}.teacher-editor{flex:none;position:relative}.teacher-editor>summary{cursor:pointer;color:#6843ae;background:#f7f3ff;border:1px solid #c8b9e8;border-radius:9px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:800;list-style:none;display:flex}.teacher-editor>summary::-webkit-details-marker{display:none}.teacher-editor[open]>summary{color:#fff;background:#7142c8}.teacher-editor-popover{background:#fff;border:1px solid #d9cfee;border-radius:13px;margin:0 12px 12px;padding:17px;box-shadow:0 12px 30px #3b25611a}.teacher-record-summary:has(.teacher-editor[open]){padding-bottom:8px}.teacher-crud-card:has(.teacher-editor[open]) .teacher-record-summary{flex-wrap:wrap}.teacher-crud-card:has(.teacher-editor[open]) .teacher-editor{width:100%}.teacher-editor .teacher-editor-popover{width:100%;margin:8px 0 0}.editor-heading h3{font:800 18px var(--font-display), sans-serif;margin:0}.teacher-editor .admin-form-row,.teacher-editor .class-options{grid-template-columns:1fr}.teacher-editor .field-label,.image-upload-compact{margin:14px 0}.compact-picker{margin-top:17px}.simple-checkbox{color:var(--muted);align-items:center;gap:8px;margin:-3px 0 16px;font-size:12px;font-weight:700;display:flex}.simple-checkbox input{accent-color:#7142c8;width:17px;min-height:17px}.active-switch{cursor:pointer;color:var(--ink);align-items:center;gap:9px;margin:17px 0;font-size:12px;display:flex}.active-switch input{opacity:0;width:1px;height:1px;position:absolute}.active-switch>span{background:#bac3d0;border-radius:99px;width:38px;height:22px;padding:3px;transition:background .2s}.active-switch>span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block}.active-switch:has(input:checked)>span{background:#7142c8}.active-switch:has(input:checked)>span:after{transform:translate(16px)}.editor-actions{justify-content:flex-end;display:flex}.editor-actions .button{min-height:42px}.delete-teacher-form{justify-content:flex-end;padding:0 12px 11px;display:flex}.delete-teacher-form button{cursor:pointer;color:#b4232c;background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;font-size:10px;font-weight:800;display:flex}.delete-teacher-form button:hover{color:#80181f}.delete-teacher-form button:disabled{opacity:.55;cursor:wait}.inline-state{border-radius:8px;margin:0 12px 9px;padding:8px 10px;font-size:11px}.inline-state.success{color:#087a53;background:#e9faf3}.inline-state.error{color:#a21616;background:#fff0f0}.student-management-panel{margin-top:22px;padding:27px;scroll-margin-top:20px}.student-admin-list{grid-template-columns:1fr 1fr;gap:11px;display:grid}.student-admin-list>article{border:1px solid var(--line);background:#fcfdff;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0;padding:13px;display:grid}.student-admin-list>article.is-blocked{opacity:.8;background:#f3f4f6}.student-admin-avatar{width:42px;height:42px;color:var(--blue-dark);background:#dce9ff;border-radius:12px;place-items:center;font-size:11px;font-weight:800;display:grid}.student-admin-main{gap:4px;min-width:0;display:grid}.student-admin-main>div{align-items:center;gap:7px;display:flex}.student-admin-main strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.student-admin-main>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.student-admin-main>small{color:#6843ae;font-size:10px;font-weight:800}.active-label,.blocked-label{text-transform:uppercase;border-radius:6px;padding:3px 6px;font-size:8px;font-weight:800}.active-label{color:#087a53;background:#e8f9f2}.blocked-label{color:#8b2b32;background:#fdecee}.student-admin-actions{justify-items:end;gap:4px;display:grid}.student-admin-actions button{cursor:pointer;color:#53647c;background:0 0;border:0;align-items:center;gap:5px;padding:4px;font-size:10px;font-weight:800;display:flex}.student-admin-actions button:hover{color:#7142c8}.student-admin-actions button.danger-link{color:#b4232c}.inline-message{border-radius:7px;padding:6px 8px;font-size:9px;font-style:normal}.inline-message.error{color:#a21616;background:#fff0f0}.inline-message.success{color:#087a53;background:#e9faf3}.generated-admin-code{cursor:pointer;width:fit-content;color:var(--blue-dark);background:var(--blue-soft);border:1px dashed #89a9df;border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;font-weight:800;display:flex}.danger-zone{background:#fff8f8;border:1px solid #f1b5b9;border-radius:18px;margin-top:22px;padding:25px;scroll-margin-top:20px}.danger-zone>div:first-child{gap:13px;display:flex}.danger-zone>div:first-child>span{color:#b4232c;background:#fde8ea;border-radius:13px;flex:none;place-items:center;width:43px;height:43px;display:grid}.danger-zone h2{font:800 22px var(--font-display), sans-serif;margin:0}.danger-zone p:not(.overline){color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.5}.danger-zone form{max-width:520px;margin-top:17px}.danger-zone form .field-label{margin:0 0 12px}.danger-zone button{cursor:pointer;color:#fff;background:#b4232c;border:0;border-radius:11px;min-height:42px;padding:0 16px;font-weight:800}.danger-zone button:hover{background:#8f1b23}@media (max-width:900px){.hero{text-align:center;grid-template-columns:1fr;padding-top:140px}.hero-copy{justify-items:center;display:grid}.hero-visual{min-height:470px}.auth-layout{grid-template-columns:1fr;gap:35px}.auth-aside{text-align:center;max-width:650px;margin:0 auto}.aside-note{text-align:left}.dashboard-grid,.admin-grid{grid-template-columns:1fr}.teacher-directory{order:-1}.teacher-directory-list{grid-template-columns:1fr 1fr}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-switches,.student-admin-list{grid-template-columns:1fr}}@media (max-width:650px){.site-header{padding:18px 20px}.site-header nav .text-link{display:none}.logo-mark{width:40px;height:40px}.hero{gap:35px;min-height:auto;padding:125px 20px 60px}.hero h1{font-size:43px}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column;width:100%}.hero-actions .button{width:100%}.trust-row{flex-direction:column;align-items:flex-start;gap:10px}.hero-visual{width:100%;min-height:430px}.ballot-card{padding:20px;transform:none}.floating-stat{bottom:5px;right:-4px}.steps-section{padding:70px 20px}.steps-grid{grid-template-columns:1fr}.auth-shell{padding:18px 20px 50px}.auth-top{margin-bottom:36px}.auth-aside h2{font-size:34px}.form-card,.success-panel{padding:24px 20px}.dashboard-header{padding:14px 20px}.dashboard-content{padding:35px 20px 60px}.welcome-row{flex-direction:column;align-items:flex-start;gap:18px}.stats-grid{grid-template-columns:1fr}.panel{padding:22px 17px}.dashboard-grid{gap:18px}.admin-header-actions>span{display:none}.admin-stats{grid-template-columns:1fr 1fr 1fr}.admin-stats article{padding:14px}.admin-stats .stat-icon{display:none}.admin-form-panel,.teacher-directory,.category-results,.admin-settings-panel,.student-management-panel{padding:21px 17px}.admin-form-row,.class-options,.teacher-directory-list{grid-template-columns:1fr}.image-upload{grid-template-columns:auto 1fr}}@media (max-width:430px){.admin-stats{grid-template-columns:1fr}.admin-stats article{padding:15px 17px}.admin-stats .stat-icon{display:grid}.segmented{gap:6px}.segmented label{font-size:12px}.teacher-option{grid-template-columns:auto minmax(0,1fr) auto}.teacher-name strong,.teacher-name small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.category-grid{grid-template-columns:1fr}.category-grid>article{min-height:128px}.student-admin-list>article{grid-template-columns:auto minmax(0,1fr)}.student-admin-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;width:100%;display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
