@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.NXD_Pq_className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.NXD_Pq_variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}._4n5BRG_className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}._4n5BRG_variable{--font-body:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.IfXqOq_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.IfXqOq_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--sun:#165cb6;--sun-deep:#124991;--on-sun:#fff;--accent:#ff8738;--ink:#103655;--ink-soft:#5e6b7d;--butter:#e8f1fd;--paper:#f3f7fd;--line:#e2eaf4;--rust:#9c4d38;--leaf:#14835b;--brand-gradient:linear-gradient(135deg, #146ac2, #102f69);--radius:16px;--radius-sm:10px;--shadow:0 1px 0 #1036550a, 0 8px 24px -16px #10365540}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:15px/1.55 var(--font-body), system-ui, sans-serif;margin:0}h1,h2,h3{font-family:var(--font-display), var(--font-body), sans-serif;letter-spacing:-.02em;margin:0;line-height:1.15}h1{font-size:clamp(26px,4vw,34px);font-weight:700}h2{font-size:19px;font-weight:650}h3{letter-spacing:0;font-size:15px;font-weight:650}p{margin:0}a{color:inherit;-webkit-text-decoration-color:var(--sun-deep);text-decoration-color:var(--sun-deep);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}code,.mono{font-family:var(--font-mono), ui-monospace, monospace;font-size:.86em}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:6px}form{gap:14px;display:grid}label{color:var(--ink-soft);gap:6px;font-size:13px;font-weight:600;display:grid}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){color:var(--ink);align-items:center;gap:10px;font-size:14px;display:flex}input,select,textarea{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:100%;min-height:44px;padding:11px 12px;font-weight:400;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:72px}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--ink)}input[type=file]{padding:8px}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--butter);outline:none}input[readonly]{background:var(--paper);color:var(--ink-soft)}button{font:inherit;cursor:pointer;background:var(--sun);color:var(--on-sun);border:1px solid var(--sun-deep);border-radius:999px;justify-self:start;min-height:44px;padding:0 20px;font-weight:650;transition:background .15s,transform .1s}button:hover{background:var(--sun-deep)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.quiet{border-color:var(--line);color:var(--ink);background:0 0}button.quiet:hover{background:var(--butter)}button.danger{color:var(--rust);background:0 0;border-color:#0000;padding:0 12px}button.danger:hover{background:#f8e6e0}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:8px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.wordmark:before{content:"";background:url(/astro-mark.svg) 50%/contain no-repeat;width:28px;height:28px}.wordmark:after{content:".";color:var(--accent)}.page{gap:24px;max-width:1120px;margin:0 auto;padding:clamp(20px,4vw,40px) clamp(16px,4vw,40px) 80px;display:grid}.page.narrow{max-width:680px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:700}.muted{color:var(--ink-soft);font-size:14px}.stack{gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:16px;padding:clamp(16px,3vw,24px);display:grid}.card>header{gap:4px;display:grid}.sub{border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--paper);padding:16px}.flash{background:var(--butter);border-radius:var(--radius-sm);border:1px solid #c1dbff;padding:10px 14px;font-weight:600}.alert{color:var(--rust);border-radius:var(--radius-sm);background:#f8e6e0;border:1px solid #e4c2b6;padding:10px 14px}.alert ul{margin:0;padding-left:18px}.ok{color:var(--leaf);font-weight:600}.list{margin:0;padding:0;list-style:none;display:grid}.list li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.list li:first-child{border-top:0}.list form{display:contents}.tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.tile{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:10px;padding:18px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.tile:hover{border-color:var(--sun-deep);transform:translateY(-2px)}.tile strong{font-family:var(--font-display);font-size:18px}.split{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.split>aside{gap:16px;display:grid;position:sticky;top:80px}@media (max-width:900px){.split{grid-template-columns:1fr}.split>aside{order:-1;position:static}}.phone{border:10px solid var(--ink);background:var(--paper);border-radius:36px;gap:10px;max-width:320px;padding:14px 12px 18px;display:grid;box-shadow:0 24px 48px -28px #10365599}.phone .bar{color:var(--ink-soft);justify-content:space-between;padding:0 6px;font-size:11px;font-weight:700;display:flex}.school-card{background:var(--brand-gradient);color:#fff;border-radius:20px;gap:6px;padding:16px;display:grid}.school-card .eyebrow{color:#c1dbff;font-size:10px}.school-card strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px}.school-card p{white-space:pre-line;font-size:12px}.school-card .title{font-family:var(--font-display);margin-top:6px;font-size:15px;font-weight:650}.exam-btn{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.exam-btn small{color:var(--ink-soft);font-size:11px;display:block}.exam-btn:after{content:"→";font-weight:700}.empty-btn{border:1px dashed var(--line);color:var(--ink-soft);text-align:center;border-radius:14px;padding:12px;font-size:12px}.ticket{background:var(--ink);color:var(--paper);border-radius:var(--radius);gap:4px;padding:16px 18px;display:grid;position:relative}.ticket:before,.ticket:after{content:"";background:var(--paper);border-radius:50%;width:16px;height:16px;margin-top:-8px;position:absolute;top:50%}.ticket:before{left:-8px}.ticket:after{right:-8px}.ticket .eyebrow{color:var(--accent)}.ticket .code{font-family:var(--font-mono);letter-spacing:.22em;font-size:26px;font-weight:700}.versions{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.versions li{align-items:center;gap:8px;display:flex}.versions form{display:contents}.versions li button{min-height:32px;padding:0 12px;font-size:12px}.badge{background:var(--butter);color:var(--sun-deep);border:1px solid #c1dbff;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;display:inline-block}.login{background:radial-gradient(120% 80% at 100% 0%, var(--butter), var(--paper) 60%);place-items:center;min-height:100dvh;padding:24px;display:grid}.login .card{width:min(400px,100%)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.pw{display:block;position:relative}.pw input{padding-right:52px}.pw .eye{width:44px;min-height:36px;color:var(--ink-soft);border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw .eye:active{transform:translateY(-50%)}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.side{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:14px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0}.side>.eyebrow{padding:0 10px}.sidenav{gap:4px;display:grid}.sidenav a{border-radius:var(--radius-sm);min-height:44px;color:var(--ink-soft);align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.sidenav a:hover{background:var(--butter);color:var(--ink)}.sidenav a.on{background:var(--sun);color:var(--on-sun)}.side-foot{gap:8px;margin-top:auto;padding:0 10px;display:grid}.side-foot .muted{overflow-wrap:anywhere;font-size:12px}.main{min-width:0}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:4px;padding:18px;text-decoration:none;display:grid}.stat strong{font-family:var(--font-display);color:var(--sun);font-size:32px;line-height:1}.stat span{color:var(--ink-soft);font-size:13px;font-weight:600}a.stat:hover{border-color:var(--sun)}.danger-zone summary{cursor:pointer;color:var(--rust);align-items:center;min-height:44px;font-size:14px;font-weight:650;display:flex}.danger-zone[open]{flex-basis:100%}@media (max-width:860px){.shell{grid-template-columns:1fr}.side{z-index:10;border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:8px;height:auto;padding:10px 16px;position:sticky}.side>.eyebrow,.side-foot .muted{display:none}.side-foot{margin:0 0 0 auto;padding:0}.sidenav{flex-basis:100%;order:3;gap:4px;display:flex;overflow-x:auto}.sidenav a{white-space:nowrap;min-height:40px}}.school-card .logo{object-fit:cover;background:#fff;border-radius:10px;width:40px;height:40px}.bars{gap:12px;margin:0;padding:0;list-style:none;display:grid}.bars li{grid-template-columns:minmax(0,1.4fr) minmax(80px,1fr) 40px;align-items:center;gap:12px;font-size:14px;display:grid}.bars .bar{background:var(--butter);border-radius:999px;height:10px;overflow:hidden}.bars .bar span{background:var(--sun);border-radius:999px;height:100%;display:block}.bars strong{text-align:right}.split-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:24px;display:grid}.filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.filters label{flex:200px}@media (max-width:560px){.bars li{grid-template-columns:1fr 40px}.bars .bar{order:3;grid-column:1/-1}}.inline-edit summary{cursor:pointer;color:var(--sun-deep);width:fit-content;font-size:13px}.inline-edit form{gap:8px;margin-top:8px}
