@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./overpass-cyrillic-ext-wght-normal.B1PfurAb.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./overpass-cyrillic-wght-normal.Bb0oHPsy.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./overpass-vietnamese-wght-normal.BfgOsjc9.woff2)format("woff2-variations");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:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./overpass-latin-ext-wght-normal.DvafStyF.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./overpass-latin-wght-normal.qAR8M_co.woff2)format("woff2-variations");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:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(./courier-prime-latin-ext-400-normal.B-EsvyE4.woff2)format("woff2"),url(./courier-prime-latin-ext-400-normal.CKOCNFvK.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(./courier-prime-latin-400-normal.BbyBr73r.woff2)format("woff2"),url(./courier-prime-latin-400-normal.BAlbUm6l.woff)format("woff");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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--radius-input:10px;--radius-card:14px;--radius-btn:10px;--font:"Overpass Variable", system-ui, sans-serif;--mono:"Courier Prime", ui-monospace, monospace;--focus-width:3px;--ink:#f6f7f9;--ink-1:#fff;--ink-2:#f1f3f6;--line:#e3e6eb;--text:#15181d;--muted:#5b6270;--control:#868d99;--accent:#1e5bc6;--accent-fill:#15181d;--on-accent:#fff;--brand:#ffbf1a;--btn-fg:#15181d;--btn-border:#cfd4dc;--btn-bg:#fff;--ok:#17703a;--ok-fill:#e6f5ec;--warn:#8a4b00;--warn-fill:#fff2db;--danger:#b42318;--danger-fill:#fdecea;--info:#1e4fa8;--info-fill:#eaf1fd;--focus:#1e5bc6;--sidebar:#fff;--head:#fff;--hover:#15181d0b;--selected:#eef0f4;--selected-text:#15181d;--card-shadow:0 1px 2px #1018280a;--field:#fff;--raised:#fff;--raised-line:#cfd4dc;--raised-shadow:0 18px 40px -10px #10182838, 0 2px 6px #10182814;--series-1:#2a78d6;--series-2:#eb6834;--series-aqua:#1baf7a;--series-yellow:#eda100;--series-violet:#6250d6;--series-red:#d03b3b}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--ink:#0b0a09;--ink-1:#1b1916;--ink-2:#28251f;--line:#3b362e;--field:#110f0d;--raised:#2a2620;--raised-line:#5a5244;--raised-shadow:0 0 0 1px #000000b3, 0 24px 56px -8px #000000e6;--text:#f5f1ea;--muted:#b3ab9c;--control:#8a8172;--accent:#ffbf1a;--accent-fill:#ffbf1a;--on-accent:#0e0d0c;--brand:#ffbf1a;--btn-fg:#f5f1ea;--btn-border:#4a443a;--btn-bg:#24211c;--radius-btn:10px;--ok:#7ee2a0;--ok-fill:#12321d;--warn:#fdba74;--warn-fill:#3a2410;--danger:#ff9d94;--danger-fill:#3d1512;--info:#ffd875;--info-fill:#ffbf1a14;--focus:#ffbf1a;--sidebar:#131210;--head:#201d19;--hover:#ffffff0f;--selected:#ffbf1a24;--selected-text:#ffd875;--card-shadow:0 1px 0 #ffffff0a inset, 0 12px 32px -16px #000c;--series-1:#3987e5;--series-2:#d95926;--series-aqua:#199e70;--series-yellow:#c98500;--series-violet:#9085e9;--series-red:#d03b3b}}:root[data-theme=dark]{--ink:#0b0a09;--ink-1:#1b1916;--ink-2:#28251f;--line:#3b362e;--field:#110f0d;--raised:#2a2620;--raised-line:#5a5244;--raised-shadow:0 0 0 1px #000000b3, 0 24px 56px -8px #000000e6;--text:#f5f1ea;--muted:#b3ab9c;--control:#8a8172;--accent:#ffbf1a;--accent-fill:#ffbf1a;--on-accent:#0e0d0c;--brand:#ffbf1a;--btn-fg:#f5f1ea;--btn-border:#4a443a;--btn-bg:#24211c;--radius-btn:10px;--ok:#7ee2a0;--ok-fill:#12321d;--warn:#fdba74;--warn-fill:#3a2410;--danger:#ff9d94;--danger-fill:#3d1512;--info:#ffd875;--info-fill:#ffbf1a14;--focus:#ffbf1a;--sidebar:#131210;--head:#201d19;--hover:#ffffff0f;--selected:#ffbf1a24;--selected-text:#ffd875;--card-shadow:0 1px 0 #ffffff0a inset, 0 12px 32px -16px #000c;--series-1:#3987e5;--series-2:#d95926;--series-aqua:#199e70;--series-yellow:#c98500;--series-violet:#9085e9;--series-red:#d03b3b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media (width<=56rem){html{scroll-padding-top:5rem}}body{background:var(--ink);color:var(--text);font:400 1rem/1.55 var(--font);margin:0}a{color:var(--accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}td a:not(.btn),th a:not(.btn){color:var(--text);font-weight:650;text-decoration:none}td a:not(.btn):hover,td a:not(.btn):focus-visible{color:var(--accent);text-decoration:underline}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0 0 .5em;line-height:1.2}h1{letter-spacing:-.015em;font-size:clamp(1.55rem,1.25rem + 1.2vw,2rem);font-weight:750}h2{letter-spacing:-.005em;font-weight:700}h2,h3{font-size:1.15rem}code,.mono{font-family:var(--mono)}.skip-link{z-index:100;background:var(--accent-fill);color:var(--on-accent);border-radius:999px;padding:.6rem 1rem;font-weight:700;position:absolute;top:-100px;left:.5rem}.skip-link:focus{top:.5rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.wrap{max-width:80rem;margin:0 auto;padding:1.25rem}.narrow{max-width:32rem}label,.label{margin-bottom:.3rem;font-weight:600;display:block}.hint{color:var(--muted);margin:.2rem 0 .4rem;font-size:.9rem}input,select,textarea{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--control);border-radius:var(--radius-input);width:100%;max-width:42rem;min-height:44px;padding:.6rem .75rem}input[type=checkbox],input[type=radio]{width:1.25rem;max-width:none;height:1.25rem;min-height:1.25rem;accent-color:var(--accent);flex:none;margin:0;padding:0}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger);border-width:2px}.field{margin-bottom:1rem}.field-error{color:var(--danger);margin:.3rem 0 0;font-weight:600}.row{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.row>.field{flex:12rem}.row:has(>.field>.hint,>.field>.field-error){align-items:start}.row>.field{flex-direction:column;display:flex}.row>.field>.hint{order:2;margin:.3rem 0 0}.row>.field>.field-error{order:3}.row:has(>.field>.hint,>.field>.field-error)>.field:not(:has(>label,>.label,>legend,>fieldset)):before{content:"​";margin-bottom:.3rem;font-weight:600;display:block}.card>form+h3,.card>form+h2,.card>ul+h3,.card>.table-wrap+h3{margin-top:2rem}.check{align-items:center;gap:.5rem;font-weight:400;display:flex}.btn{border-radius:var(--radius-btn);border:1px solid var(--btn-border);background:var(--btn-bg);min-height:44px;color:var(--btn-fg);font:650 .95rem/1 var(--font);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.2rem;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.ghost{border-color:var(--line);color:var(--text)}.btn.small{min-height:36px;padding:.35rem .85rem;font-size:.9rem}.btn:disabled{opacity:.55;cursor:not-allowed}.notice{border-radius:var(--radius-input);border:1px solid color-mix(in srgb, currentColor 35%, transparent);border-left:4px solid;margin:0 0 1rem;padding:.75rem 1rem .75rem 1.1rem}.notice.ok{background:var(--ok-fill);color:var(--ok)}.notice.warn{background:var(--warn-fill);color:var(--warn)}.notice.info{background:var(--info-fill);color:var(--info)}.notice.error{background:var(--danger-fill);color:var(--danger)}.notice p{color:var(--text);margin:0}.notice strong{color:inherit}.card{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);margin-bottom:1.25rem;padding:clamp(1rem,2vw,1.5rem)}.card>h2:first-child,.card>h3:first-child{margin-top:0}a.card-link{color:inherit;text-decoration:none;display:block}@media (prefers-reduced-motion:no-preference){a.card-link,.lift{transition:transform .18s,box-shadow .18s,border-color .18s}a.card-link:hover,.lift:hover{border-color:var(--accent);transform:translateY(-2px)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem;margin-bottom:1.5rem;display:flex}.page-head h1{margin:0}.page-head .sub{color:var(--muted);margin:.3rem 0 0}.eyebrow{color:var(--muted);margin:0 0 .25rem;font-size:.9rem;font-weight:600}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr));gap:1rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.tile{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--card-shadow);padding:1rem 1.25rem}.tile .tile-label{color:var(--muted);margin:0;font-size:.9rem;font-weight:600}.tile .tile-value{font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-size:2rem;font-weight:800;line-height:1.1}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-card);position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.6rem .75rem}:is(tr:has(details[open])>td,tr:has(details[open])>th){vertical-align:top}thead th{background:var(--head);color:var(--muted);font-size:.82rem;font-weight:650;position:sticky;top:0}th,td{padding:.7rem .85rem}tbody tr:hover{background:var(--hover)}.table-wrap{background:var(--ink-1);box-shadow:var(--card-shadow)}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}.list-panel td,.list-panel tbody th{vertical-align:middle}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.pill{border:1px solid var(--line);background:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.pill.ok{color:var(--ok);background:var(--ok-fill);border-color:#0000}.pill.warn{color:var(--warn);background:var(--warn-fill);border-color:#0000}.pill.danger{color:var(--danger);background:var(--danger-fill);border-color:#0000}.pill.info{color:var(--info);background:var(--info-fill);border-color:#0000}.muted{color:var(--muted)}.stack>*+*{margin-top:1rem}@media (prefers-reduced-motion:no-preference){.btn{transition:transform .12s,background-color .15s,box-shadow .15s}.btn:hover{background-color:var(--hover)}.btn.primary:hover{background-color:var(--accent-fill);box-shadow:0 6px 16px -10px #10182899}.notice{animation:.25s ease-out notice-in}@keyframes notice-in{0%{opacity:0;transform:translateY(-4px)}}.btn:active{transform:translateY(1px)}}@media (forced-colors:active){.btn,.pill,.notice{border:1px solid buttontext}}.app-root{display:contents}fieldset.field{border:0;margin:0 0 1rem;padding:0}fieldset.field legend{margin-bottom:.25rem;padding:0;font-weight:700}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸";width:1.1em;color:var(--muted);transition:transform .15s;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){details>summary:before{transition:none}}main p,main li{max-width:80ch}main td p,main td li,main .list-panel p{max-width:none}.crumbs{color:var(--muted);flex-wrap:wrap;gap:.4rem;margin:0 0 .25rem;font-size:.92rem;display:flex}.crumbs a{color:var(--muted);font-weight:600;text-decoration:none}.crumbs a:hover,.crumbs a:focus-visible{color:var(--accent);text-decoration:underline}.cb{max-width:42rem;position:relative}.cb-input{cursor:pointer;text-overflow:ellipsis;width:100%;padding-right:2.5rem}.cb.open .cb-input{cursor:text}.cb-chevron{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:.55rem;height:.55rem;margin-top:-.4rem;transition:transform .15s;position:absolute;top:50%;right:.9rem;transform:rotate(45deg)}.cb.open .cb-chevron{margin-top:-.1rem;transform:rotate(225deg)}.cb-list{z-index:40;background:var(--raised);border:1px solid var(--raised-line);max-height:min(20rem,60vh);box-shadow:var(--raised-shadow);border-radius:12px;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .3rem);left:0;right:0;overflow-y:auto}.cb-opt{cursor:pointer;border-radius:8px;align-items:center;min-height:40px;padding:.55rem .75rem;display:flex}.cb-opt+.cb-opt{border-top:1px solid color-mix(in srgb, var(--line) 45%, transparent)}.cb-opt:hover,.cb-opt.active{background:var(--hover)}.cb-opt.active{outline:2px solid var(--focus);outline-offset:-2px}.cb-opt[aria-selected=true]{font-weight:700}.cb-opt[aria-selected=true]:after{content:"✓";margin-left:auto;padding-left:.75rem}.cb-opt[aria-disabled=true]{color:var(--muted);cursor:not-allowed}.cb-group{color:var(--muted);padding:.6rem .75rem .25rem;font-size:.8rem;font-weight:700}.cb-more{color:var(--muted);padding:.6rem .75rem;font-size:.9rem}select.cb-native{clip-path:inset(50%);opacity:0;pointer-events:none;overflow:hidden;border:0!important;width:1px!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;position:absolute!important}@media (prefers-reduced-motion:reduce){.cb-chevron{transition:none}}.lasso{z-index:50;pointer-events:none;border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:4px;position:fixed}@media (width<=40rem){.table-wrap:has(>table.stack-sm){box-shadow:none;background:0 0;border:0;overflow:visible}table.stack-sm,table.stack-sm>tbody{display:block}table.stack-sm>thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}table.stack-sm>tbody>tr{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--ink-1);grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .85rem;margin-bottom:.6rem;padding:.8rem .9rem;display:grid}table.stack-sm>tbody>tr>th,table.stack-sm>tbody>tr>td{text-align:left;white-space:normal;background:0 0;border:0;padding:0;display:block}table.stack-sm>tbody>tr>th{grid-column:1/-1;font-size:1.02rem}table.stack-sm>tbody>tr>td[data-label]:before{content:attr(data-label);font-family:var(--font,inherit);color:var(--muted);margin-bottom:.1rem;font-size:.75rem;font-weight:650;display:block}table.stack-sm>tbody>tr>td.visually-hidden{position:absolute}table.stack-sm>tbody>tr:has(>td.top)>th{grid-column:1/3;align-self:center}table.stack-sm>tbody>tr>td.top{text-align:right;grid-area:1/3;place-self:center end}table.stack-sm>tbody>tr>td.top:before{content:none}}.student{--s-radius:18px;--s-radius-sm:12px;--s-glass:#ffffffc7;--s-glass-strong:#ffffffeb;--s-glass-line:#10182817;--s-glass-hi:#ffffffe6;--s-shadow:0 1px 2px #1018280d, 0 18px 44px -22px #10182847;--s-shadow-hover:0 2px 4px #1018280f, 0 26px 56px -20px #10182857;--s-light-1:#ffbf1a38;--s-light-2:#1e5bc61f;--s-light-3:#eb68341f;--s-canvas:#f7f7f5;--s-chip:#1018280d;--s-chip-on:#15181d;--s-chip-on-text:#fff;--s-track:#1018281a;--s-done:#15181d;--s-gold-text:#8a5a00}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .student{--s-glass:#1e1b179e;--s-glass-strong:#221f1adb;--s-glass-line:#ffeccd17;--s-glass-hi:#fff4de12;--s-shadow:0 1px 0 #ffffff0a inset, 0 24px 60px -24px #000000e6;--s-shadow-hover:0 1px 0 #ffffff0f inset, 0 30px 70px -22px #000000f2;--s-light-1:#ffbf1a29;--s-light-2:#c2410c33;--s-light-3:#fdba7414;--s-canvas:#0b0a09;--s-chip:#fff4de12;--s-chip-on:#ffbf1a;--s-chip-on-text:#0e0d0c;--s-track:#fff4de1f;--s-done:#ffbf1a;--s-gold-text:#ffd875}}:root[data-theme=dark] .student{--s-glass:#1e1b179e;--s-glass-strong:#221f1adb;--s-glass-line:#ffeccd17;--s-glass-hi:#fff4de12;--s-shadow:0 1px 0 #ffffff0a inset, 0 24px 60px -24px #000000e6;--s-shadow-hover:0 1px 0 #ffffff0f inset, 0 30px 70px -22px #000000f2;--s-light-1:#ffbf1a29;--s-light-2:#c2410c33;--s-light-3:#fdba7414;--s-canvas:#0b0a09;--s-chip:#fff4de12;--s-chip-on:#ffbf1a;--s-chip-on-text:#0e0d0c;--s-track:#fff4de1f;--s-done:#ffbf1a;--s-gold-text:#ffd875}.student{background:var(--s-canvas);isolation:isolate;min-height:100vh;position:relative}.student:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(38vmax 30vmax at 18% 8%, var(--s-light-1), transparent 70%), radial-gradient(34vmax 28vmax at 88% 18%, var(--s-light-2), transparent 70%), radial-gradient(40vmax 30vmax at 60% 100%, var(--s-light-3), transparent 70%);animation:26s ease-in-out infinite alternate s-lights;position:fixed;inset:-20vmax}@keyframes s-lights{0%{transform:translate(-2vmax)rotate(0)}to{transform:translate(2vmax,1.5vmax)rotate(3deg)}}.student .card,.student .notice{background:var(--s-glass);border:1px solid var(--s-glass-line);border-radius:var(--s-radius);box-shadow:var(--s-shadow);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%)}.student .card{padding:1.25rem 1.35rem}.student .notice.ok,.student .notice.warn,.student .notice.error,.student .notice.info{border-left-width:4px}.student .notice.ok{border-left-color:var(--ok)}.student .notice.warn{border-left-color:var(--warn)}.student .notice.error{border-left-color:var(--danger)}.student .notice.info{border-left-color:var(--info)}.student a.card-link,.student .lift{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s}.student a.card-link:hover,.student .lift:hover{box-shadow:var(--s-shadow-hover);border-color:color-mix(in srgb, var(--brand) 55%, var(--s-glass-line));transform:translateY(-3px)}.student h1{letter-spacing:-.025em;font-size:clamp(2rem,1.4rem + 2.6vw,3.1rem);font-weight:800;line-height:1.05}.student h2{letter-spacing:-.01em}.student .eyebrow,.student .mono{font-family:var(--mono);letter-spacing:0;text-transform:none}.student .btn{border-radius:999px;padding-inline:1.15rem}.student .btn.small{padding-inline:.85rem}.student .btn.primary{box-shadow:0 8px 22px -10px color-mix(in srgb, var(--accent-fill) 70%, transparent)}.student input:not([type=checkbox]):not([type=radio]),.student select,.student textarea{border-radius:var(--s-radius-sm);background:var(--s-glass-strong)}.student .chips{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.student .chip{background:var(--s-chip);border:1px solid var(--s-glass-line);min-height:40px;color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:0 .95rem;font-size:.92rem;font-weight:650;text-decoration:none;display:inline-flex}.student a.chip:hover{border-color:color-mix(in srgb, var(--brand) 60%, var(--s-glass-line))}.student .chip[aria-current=true],.student .chip[aria-current=page]{background:var(--s-chip-on);color:var(--s-chip-on-text);border-color:#0000}.student .chip .n{opacity:.7;font-variant-numeric:tabular-nums}@keyframes s-rise{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}to{opacity:1;filter:none;transform:none}}.student .rise{animation:.6s cubic-bezier(.2,.8,.2,1) both s-rise}.student .rise-2{animation-delay:80ms}.student .rise-3{animation-delay:.16s}@media (prefers-reduced-motion:reduce){.student:before,.student .rise{animation:none}.student a.card-link,.student .lift{transition:none}.student a.card-link:hover,.student .lift:hover{transform:none}}@media (prefers-reduced-transparency:reduce){.student .card,.student .notice,.student .topbar,.student .tabbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--ink-1)}.student:before{display:none}}@media (forced-colors:active){.student:before{display:none}}.demo-bar.svelte-12qhfyh{z-index:30;background:var(--warn-fill);color:var(--warn);border-bottom:1px solid;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;display:flex;position:sticky;top:0}.demo-bar.svelte-12qhfyh p:where(.svelte-12qhfyh){margin:0}.nav.svelte-12qhfyh>ul:where(.svelte-12qhfyh)>li:where(.svelte-12qhfyh)+li:where(.svelte-12qhfyh),.nav.svelte-12qhfyh .subnav:where(.svelte-12qhfyh)>li:where(.svelte-12qhfyh){border-top:1px solid color-mix(in srgb, var(--line) 55%, transparent)}.nav.svelte-12qhfyh>ul:where(.svelte-12qhfyh)>li:where(.svelte-12qhfyh)>a:where(.svelte-12qhfyh){margin-block:2px}.nav.svelte-12qhfyh .subnav:where(.svelte-12qhfyh){margin:0 0 .25rem;padding:0 0 0 1.85rem}.nav.svelte-12qhfyh .subnav:where(.svelte-12qhfyh) a:where(.svelte-12qhfyh){min-height:36px;color:var(--muted);font-size:.92rem}.nav.svelte-12qhfyh .subnav:where(.svelte-12qhfyh) a[aria-current=page]:where(.svelte-12qhfyh){color:var(--selected-text,var(--text))}.shell.svelte-12qhfyh{min-height:100vh}.shell.svelte-12qhfyh:not(.with-nav){flex-direction:column;display:flex}.shell.svelte-12qhfyh:not(.with-nav) .content:where(.svelte-12qhfyh){flex:1}.shell.with-nav.svelte-12qhfyh{grid-template-columns:15.5rem minmax(0,1fr);display:grid}.content.svelte-12qhfyh{flex-direction:column;min-width:0;display:flex}main.svelte-12qhfyh{flex:1;width:100%;max-width:120rem;margin:0 auto;padding:2rem clamp(1rem,3vw,2.5rem) 3rem}main.svelte-12qhfyh:focus{outline:none}.sidebar.svelte-12qhfyh{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:.5rem;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-top.svelte-12qhfyh{justify-content:space-between;align-items:center;padding:0 .5rem .5rem;display:flex}.brand.svelte-12qhfyh{min-height:44px;color:var(--text);letter-spacing:.06em;align-items:center;gap:.6rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark.svelte-12qhfyh{background:var(--brand);color:#15181d;border-radius:10px;place-items:center;width:2rem;height:2rem;display:inline-grid}.menu-btn.svelte-12qhfyh{border:1px solid var(--line);background:var(--ink-1);min-height:44px;color:var(--text);font:600 .95rem var(--font);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:0 .8rem;display:none}.menu-btn.svelte-12qhfyh svg:where(.svelte-12qhfyh),.nav.svelte-12qhfyh svg:where(.svelte-12qhfyh){fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav.svelte-12qhfyh ul:where(.svelte-12qhfyh){margin:0 0 .5rem;padding:0;list-style:none}.nav-group.svelte-12qhfyh{color:var(--muted);margin:1rem .75rem .3rem;font-size:.82rem;font-weight:600}.nav.svelte-12qhfyh a:where(.svelte-12qhfyh){min-height:44px;color:var(--text);border-radius:10px;align-items:center;gap:.7rem;padding:0 .75rem;font-weight:550;text-decoration:none;display:flex;position:relative}.nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{background:var(--hover)}.nav.svelte-12qhfyh a[aria-current=page]:where(.svelte-12qhfyh){background:var(--selected);color:var(--selected-text)}.nav.svelte-12qhfyh a[aria-current=page]:where(.svelte-12qhfyh):before{content:"";background:var(--brand);border-radius:0 4px 4px 0;width:4px;position:absolute;top:10px;bottom:10px;left:-.75rem}.sidebar-foot.svelte-12qhfyh{border-top:1px solid var(--line);margin-top:auto;padding:.75rem .5rem 0}.who.svelte-12qhfyh{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .5rem;font-size:.85rem;overflow:hidden}.topbar.svelte-12qhfyh{border-bottom:1px solid var(--line);background:var(--sidebar);flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.6rem clamp(1rem,3vw,2.5rem);display:flex}.shell.svelte-12qhfyh:not(.with-nav) main:where(.svelte-12qhfyh),.shell.svelte-12qhfyh:not(.with-nav) .site-footer:where(.svelte-12qhfyh){max-width:76rem}.site-footer.svelte-12qhfyh{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;width:100%;max-width:120rem;margin:0 auto;padding:1rem clamp(1rem,3vw,2.5rem) 1.5rem;font-size:.9rem;display:flex}.site-footer.svelte-12qhfyh p:where(.svelte-12qhfyh){margin:0}.theme-form.svelte-12qhfyh{align-items:center;gap:.5rem;display:flex}.theme-form.svelte-12qhfyh label:where(.svelte-12qhfyh){margin:0;font-weight:600}.theme-form.svelte-12qhfyh select:where(.svelte-12qhfyh){width:auto}@media (width<=56rem){.shell.with-nav.svelte-12qhfyh{display:block}.sidebar.svelte-12qhfyh{z-index:20;border-right:0;border-bottom:1px solid var(--line);height:auto;max-height:100vh;padding:.5rem .75rem;position:sticky;top:0;overflow-y:auto}.sidebar-top.svelte-12qhfyh{padding:0}.menu-btn.svelte-12qhfyh{display:inline-flex}.sidebar.enhanced.svelte-12qhfyh:not(.open) .nav:where(.svelte-12qhfyh),.sidebar.enhanced.svelte-12qhfyh:not(.open) .sidebar-foot:where(.svelte-12qhfyh),.nav.svelte-12qhfyh a[aria-current=page]:where(.svelte-12qhfyh):before{display:none}main.svelte-12qhfyh{padding-top:1.25rem}}
