@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/77d9a04c69f7b11b-s.p.1uklb5el4zgvl.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d81b50f8e1aba043-s.05i4gb4p0piv4.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dd018b41519c2d93-s.p.2g-0we2o5_ngd.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b4fb5dfe9580f890-s.p.1zvg0ggiaivzo.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f6c95fdd7b08cc8-s.0jaqhc1tb-5xm.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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7f1976624c2b6255-s.p.1hvvd1t-trplq.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ac706d910f2bd04-s.p.25pbmqxk8u2s7.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3c61b7007b1b2764-s.0n_ln9vqskgts.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/25d341d5876d8ede-s.p.2wu4yy186g04j.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6bf0d8dd0c866b9f-s.p.10uaeld2xxvpt.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/341181aba0db3eca-s.2bbpeapf-lbjw.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:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83940f62350fcaa7-s.p.13y-iz2lazqtb.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:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.DaFJVa_className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.DaFJVa_variable{--font-bvp:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/f4b234103afdc32a-s.197tvtifbphtu.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:500;font-stretch:100%;font-display:swap;src:url(../media/0b60d5f95c5f3f76-s.2e115y8-hourl.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:500;font-stretch:100%;font-display:swap;src:url(../media/8056169c9d560660-s.p.41rroleoq1br7.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/f4b234103afdc32a-s.197tvtifbphtu.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/0b60d5f95c5f3f76-s.2e115y8-hourl.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/8056169c9d560660-s.p.41rroleoq1br7.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/f4b234103afdc32a-s.197tvtifbphtu.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/0b60d5f95c5f3f76-s.2e115y8-hourl.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/8056169c9d560660-s.p.41rroleoq1br7.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%}._5KrDsq_className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}._5KrDsq_variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c64053b510252f55-s.1kd-r_s9smv5m.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:500;font-display:swap;src:url(../media/733da6bd8dac84c8-s.3hlisc-pwq13z.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:500;font-display:swap;src:url(../media/784318cea1dfcfa4-s.0-oo9_1x_xmvg.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:500;font-display:swap;src:url(../media/7e114457660b62ed-s.36fqqi66-3tjb.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:500;font-display:swap;src:url(../media/9fecbd3e5ea9bccb-s.3_z45zcoc-xoz.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:500;font-display:swap;src:url(../media/9a321a2c78eff0b5-s.p.1bkzbscqrt8rl.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/c64053b510252f55-s.1kd-r_s9smv5m.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/733da6bd8dac84c8-s.3hlisc-pwq13z.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/784318cea1dfcfa4-s.0-oo9_1x_xmvg.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/7e114457660b62ed-s.36fqqi66-3tjb.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/9fecbd3e5ea9bccb-s.3_z45zcoc-xoz.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/9a321a2c78eff0b5-s.p.1bkzbscqrt8rl.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%}.aQ1xhW_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.aQ1xhW_variable{--font-jbm:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer utilities{.collapse{visibility:collapse}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.grow{flex-grow:1}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--paper:#fafbfd;--surface:#fff;--panel:#f1f3f8;--ink:#141822;--muted:#586074;--line:#dfe3ec;--rule:#e9edf5;--accent:#c2334d;--accent-ink:#fff;--accent-soft:#fbe6ea;--ok:#1d7a4c;--ok-soft:#e1f3e9;--bad:#b3261e;--bad-soft:#fbe5e3;--warn:#9a5b00;--hl:#ffe27a;--s1:#2c3550;--s2:#c2334d;--f-display:var(--font-bricolage), var(--font-bvp), system-ui, sans-serif;--f-body:var(--font-bvp), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-mono:var(--font-jbm), ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--f-exam:Arial, "Helvetica Neue", Helvetica, sans-serif;--xfs:16px;--radius:6px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#11141b;--surface:#171b24;--panel:#1d2230;--ink:#e8eaf1;--muted:#9aa1b3;--line:#2b3242;--rule:#1f2532;--accent:#ef6a83;--accent-ink:#1a0a0f;--accent-soft:#3a1d25;--ok:#63c992;--ok-soft:#173327;--bad:#f2877e;--bad-soft:#3a1c1a;--warn:#e8ad55;--hl:#6d5a12;--s1:#9fb0d8;--s2:#ef6a83;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#11141b;--surface:#171b24;--panel:#1d2230;--ink:#e8eaf1;--muted:#9aa1b3;--line:#2b3242;--rule:#1f2532;--accent:#ef6a83;--accent-ink:#1a0a0f;--accent-soft:#3a1d25;--ok:#63c992;--ok-soft:#173327;--bad:#f2877e;--bad-soft:#3a1c1a;--warn:#e8ad55;--hl:#6d5a12;--s1:#9fb0d8;--s2:#ef6a83;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0}[hidden]{display:none!important}body{background:var(--paper);color:var(--ink);font:15px/1.6 var(--f-body);-webkit-font-smoothing:antialiased}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface);position:fixed;inset:0 0 auto}img,svg{max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.15}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:0 0}.btn.sm{padding:6px 11px;font-size:13px}.btn[disabled]{opacity:.5;cursor:not-allowed}.wrap{max-width:1120px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.topbar{top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line);position:sticky}.topbar .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:12px;display:flex}.wordmark{font-family:var(--f-display);letter-spacing:-.01em;align-items:baseline;gap:1px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.wordmark .dot{color:var(--accent)}.topnav{flex-wrap:wrap;gap:4px;display:flex}.topnav a{border-radius:var(--radius);color:var(--muted);padding:6px 10px;font-weight:500;text-decoration:none}.topnav a:hover,.topnav a.on{color:var(--ink);background:var(--panel)}.hero{border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(to bottom, transparent 0 31px, var(--rule) 31px 32px)}.hero .wrap{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:48px;padding-block:56px 48px;display:grid}.hero h1{letter-spacing:-.02em;font-size:clamp(32px,5vw,52px);font-weight:800}.hero h1 em{color:var(--accent);font-style:normal}.hero p.lead{color:var(--muted);max-width:52ch;margin:18px 0 26px;font-size:17px}.hero .ctas{flex-wrap:wrap;gap:10px;display:flex}.trf{background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 0 var(--line), 0 18px 40px -28px #14182259;border-radius:4px;padding:18px 20px 20px}.trf-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:8px;display:flex}.trf-head b{font-family:var(--f-display);letter-spacing:.02em;font-size:15px}.trf-head span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.trf-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.trf-cell{border:1px solid var(--line);text-align:center;border-radius:3px;padding:8px 6px 6px}.trf-cell small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;display:block}.trf-cell b{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:22px;display:block}.trf-cell.overall{border-color:var(--accent);background:var(--accent-soft)}.trf-cell.overall b{color:var(--accent)}.trf-foot{color:var(--muted);margin-top:12px;font-size:12px}section.block{padding-block:48px 8px}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.sec-head h2{font-size:28px;font-weight:700}.sec-head p{color:var(--muted);margin:4px 0 0}.testcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.testcard-top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.testcard-top h3{font-size:22px}.chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip{background:var(--panel);color:var(--muted);border-radius:99px;padding:2px 9px;font-size:12px;font-weight:500}.chip.red{background:var(--accent-soft);color:var(--accent)}.skillrows{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.skillrow{border-right:1px solid var(--line);flex-direction:column;gap:6px;min-width:0;padding:16px 20px 18px;display:flex}.skillrow:last-child{border-right:0}.skillrow h4{font-family:var(--f-display);margin:0;font-size:18px}.skillrow .meta{color:var(--muted);font-size:13px}.skillrow .last{font-size:13px}.skillrow .last b{font-family:var(--f-mono)}.skillrow .btn{align-self:flex-start;margin-top:auto}.features{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.feature{border-top:2px solid var(--ink);padding-top:12px}.feature h3{margin-bottom:6px;font-size:18px}.feature p{color:var(--muted);margin:0}.histtbl-wrap{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow-x:auto}table.histtbl{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}table.histtbl th,table.histtbl td{text-align:left;border-bottom:1px solid var(--line);padding:10px 14px}table.histtbl th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--panel);font-size:12px;font-weight:600}table.histtbl tr:last-child td{border-bottom:0}table.histtbl td.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:28px}.footer{border-top:1px solid var(--line);background:var(--surface);margin-top:64px}.footer .wrap{color:var(--muted);gap:8px;padding-block:24px 32px;font-size:13px;display:grid}.intro{max-width:760px;margin:0 auto;padding-block:40px 24px}.intro .card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px}.intro h1{margin:6px 0 4px;font-size:34px}.intro .facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:22px;margin:16px 0;padding:12px 0;display:flex}.intro .facts div small{color:var(--muted);font-size:12px;display:block}.intro .facts div b{font-family:var(--f-mono);font-size:17px}.intro ul{margin:10px 0 18px;padding-left:20px}.intro ul li{margin-bottom:4px}.field{gap:6px;margin:14px 0;display:grid}.field label{font-size:14px;font-weight:600}.field input[type=text]{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);max-width:360px;padding:10px 12px}.check{align-items:flex-start;gap:10px;margin:8px 0;font-size:14px;display:flex}.check input{margin-top:4px}.notice{border-radius:var(--radius);background:var(--panel);margin:12px 0;padding:10px 14px;font-size:14px}.notice.warn{background:var(--accent-soft)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}body.is-exam{overflow:hidden}body.is-exam,body.is-exam #app{height:100%}html:has(body.is-exam){height:100%}.exam{height:100%;font-family:var(--f-exam);font-size:var(--xfs);background:var(--surface);flex-direction:column;display:flex}.exam.fs-2{--xfs:18px}.exam.fs-3{--xfs:20px}.xbar{padding-block:8px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);background:var(--panel);font-family:var(--f-body);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.xbar .who{align-items:center;gap:14px;min-width:0;display:flex}.xbar .who .cand{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.xbar .clock{font-family:var(--f-mono);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:8px;padding:4px 8px;font-size:16px;font-weight:700;display:flex}.xbar .clock small{font-family:var(--f-body);color:var(--muted);font-size:13px;font-weight:500}.xbar .clock.low{color:var(--bad)}.xbar .clock.hide-time b{visibility:hidden}.xbar .tools{align-items:center;gap:6px;display:flex}.xmain{flex:1;min-height:0;position:relative;overflow:auto}.xpart{min-height:100%}.part-head{padding:14px max(16px, env(safe-area-inset-right,0px)) 14px max(16px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:var(--surface)}.part-head h2{font-family:var(--f-exam);font-size:calc(var(--xfs) + 2px);font-weight:700}.part-head p{color:var(--muted);font-size:calc(var(--xfs) - 1px);margin:4px 0 0}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100%;display:grid}.split>*{min-width:0;overflow:auto}.exam[data-skill=reading] .xmain{overflow:hidden}.exam[data-skill=reading] .xpart{flex-direction:column;height:100%;display:flex}.exam[data-skill=reading] .split{flex:1;min-height:0}.passage{border-right:4px solid var(--panel);padding:20px 24px 40px;line-height:1.65}.passage h3{font-family:var(--f-exam);font-size:calc(var(--xfs) + 4px);text-align:center;margin-bottom:14px}.passage p{margin:0 0 14px}.passage mark.hl{background:var(--hl);color:inherit;cursor:pointer;border-radius:2px}.qpane{padding:18px 24px 48px}.listen-col{max-width:900px;padding:18px max(16px, env(safe-area-inset-right,0px)) 56px max(16px, env(safe-area-inset-left,0px));margin:0 auto}.qgroup{margin-bottom:30px}.qgroup>h3{font-family:var(--f-exam);font-size:var(--xfs);margin-bottom:4px;font-weight:700}.qgroup>.instr{margin:0 0 14px}.sheet{border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:14px 18px;overflow-x:auto}.sheet h4{font-size:var(--xfs);text-align:center;margin:0 0 10px}.sheet .sh{margin:12px 0 4px;font-weight:700}.sheet ul{margin:0;padding-left:20px}.sheet li{margin:6px 0;line-height:2}.sheet p{line-height:2.1}table.formtbl{border-collapse:collapse;width:100%}table.formtbl th{text-align:left;vertical-align:middle;width:38%;padding:6px 14px 6px 0;font-weight:600}table.formtbl td{padding:6px 0}input.gap{font-family:var(--f-exam);font-size:var(--xfs);border:1px solid var(--muted);background:var(--surface);text-align:center;border-radius:3px;width:9.5em;max-width:100%;padding:2px 6px}input.gap::placeholder{color:var(--muted);font-weight:700}input.gap:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.q{margin:0 0 18px;scroll-margin-top:16px}.q .stem{margin:0 0 6px}.qn{border:1px solid var(--ink);min-width:1.9em;height:1.6em;font-weight:700;font-size:calc(var(--xfs) - 2px);border-radius:3px;justify-content:center;align-items:center;margin-right:8px;padding:0 .35em;display:inline-flex}.opt{cursor:pointer;border-radius:4px;align-items:flex-start;gap:10px;padding:5px 8px;display:flex}.opt:hover{background:var(--panel)}.opt input{margin-top:.3em}.opt .L{min-width:1.1em;font-weight:700}.tfrow{flex-wrap:wrap;gap:6px;display:flex}.tfrow .opt{border:1px solid var(--line);padding:4px 12px}.matchlist{border:1px solid var(--line);background:var(--panel);border-radius:4px;margin-bottom:14px;padding:10px 14px}.matchlist b.t{margin-bottom:4px;display:block}.matchlist div{padding:2px 0}.matchlist .k{min-width:2.4em;font-weight:700;display:inline-block}.mrow{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.mrow select{font-family:var(--f-exam);font-size:var(--xfs);border:1px solid var(--muted);background:var(--surface);border-radius:3px;min-width:6em;padding:3px 6px}.mrow .stem{flex:260px;margin:0}.audiobar{z-index:3;background:var(--panel);border:1px solid var(--line);font-family:var(--f-body);border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:10px 14px;font-size:14px;display:flex;position:sticky;top:0}.audiobar .bar{background:var(--line);border-radius:99px;flex:140px;height:6px;overflow:hidden}.audiobar .bar i{background:var(--accent);width:0;height:100%;transition:width .3s;display:block}.audiobar .st{color:var(--muted)}.xnav{border-top:1px solid var(--line);background:var(--panel);font-family:var(--f-body);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);align-items:stretch;gap:0;font-size:13px;display:flex}.xnav .parts{flex:1;min-width:0;display:flex;overflow-x:auto}.navpart{border-right:1px solid var(--line);white-space:nowrap;cursor:pointer;background:0 0;border-top:0;border-bottom:0;border-left:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.navpart .pl{font-weight:700}.navpart .cnt{color:var(--muted);font-family:var(--f-mono)}.navpart.on{background:var(--surface);cursor:default}.navpart .nums{gap:3px;display:flex}.nb{border:1px solid var(--line);background:var(--surface);width:28px;height:28px;font-family:var(--f-mono);cursor:pointer;border-radius:3px;padding:0;font-size:12px;position:relative}.nb.ans{background:var(--ink);color:var(--surface);border-color:var(--ink)}.nb.cur{outline:2px solid var(--accent);outline-offset:1px}.nb.flag:after{content:"";background:var(--accent);border:2px solid var(--panel);border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;right:-4px}.xnav .side{border-left:1px solid var(--line);align-items:center;gap:6px;padding:6px 12px;display:flex}.flagbtn{align-items:center;gap:6px;display:inline-flex}.flagbtn.on{color:var(--accent);border-color:var(--accent)}.hl-tool{z-index:50;background:var(--ink);color:var(--surface);font:600 13px var(--f-body);cursor:pointer;border:0;border-radius:4px;padding:6px 12px;position:fixed;box-shadow:0 6px 18px -6px #0006}.wsplit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100%;display:grid}.wsplit>*{min-width:0;overflow:auto}.exam[data-skill=writing] .xmain{overflow:hidden}.exam[data-skill=writing] .xpart{height:100%}.wprompt{border-right:4px solid var(--panel);padding:20px 24px 40px}.task-box{border:1px solid var(--ink);padding:12px 16px;font-weight:700}.wanswer{flex-direction:column;gap:8px;padding:16px 20px;display:flex}.wanswer textarea{resize:none;width:100%;min-height:320px;font-family:var(--f-exam);font-size:var(--xfs);border:1px solid var(--muted);background:var(--surface);border-radius:4px;flex:1;padding:12px 14px;line-height:1.6}.wc{font-family:var(--f-body);color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.wc b{font-family:var(--f-mono);color:var(--ink)}.chartbox{border:1px solid var(--line);background:var(--surface);border-radius:4px;margin:12px 0;padding:10px;overflow-x:auto}.chartbox svg{width:100%;min-width:420px;height:auto;display:block}.spk{max-width:820px;padding:18px max(16px, env(safe-area-inset-right,0px)) 56px max(16px, env(safe-area-inset-left,0px));font-family:var(--f-body);margin:0 auto;font-size:15px}.spk-topic{font-family:var(--f-display);margin:22px 0 10px;font-size:18px}.spkq{border:1px solid var(--line);background:var(--surface);border-radius:6px;gap:10px;margin-bottom:10px;padding:12px 14px;scroll-margin-top:16px;display:grid}.spkq .qt{font-family:var(--f-exam);font-size:var(--xfs)}.spkq .ctrl{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spkq audio{max-width:100%;height:34px}.rec-on{background:var(--bad)!important;border-color:var(--bad)!important;color:#fff!important}.cue{border:2px solid var(--ink);font-family:var(--f-exam);font-size:var(--xfs);background:var(--surface);border-radius:4px;padding:18px 22px}.cue b{margin-bottom:8px;display:block}.cue ul{margin:6px 0}.bigclock{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700}.notes{border:1px solid var(--line);background:var(--paper);border-radius:4px;width:100%;min-height:110px;padding:10px}.result{padding-block:32px 24px}.rhead{border-bottom:2px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:22px;padding-bottom:18px;display:grid}.rhead h1{margin-top:4px;font-size:clamp(26px,4vw,38px)}.rhead .sub{color:var(--muted);margin-top:6px}.bandbox{gap:10px;display:flex}.bandbox>div{border:1px solid var(--line);text-align:center;background:var(--surface);border-radius:4px;min-width:92px;padding:8px 16px}.bandbox small{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;display:block}.bandbox b{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:30px;display:block}.bandbox .band{border-color:var(--accent);background:var(--accent-soft)}.bandbox .band b{color:var(--accent)}.partstats{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.partstats span{background:var(--panel);border-radius:99px;padding:4px 10px;font-size:13px}.partstats b{font-family:var(--f-mono)}.rv-part{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 8px;display:flex}.rv-part h2{font-size:20px}.rvtbl-wrap{border:1px solid var(--line);background:var(--surface);border-radius:6px;overflow-x:auto}table.rvtbl{border-collapse:collapse;width:100%;min-width:620px;font-size:14px}table.rvtbl th,table.rvtbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}table.rvtbl th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--panel);font-size:12px;font-weight:600}table.rvtbl tr:last-child td{border-bottom:0}table.rvtbl td.n{font-family:var(--f-mono);width:48px}table.rvtbl td.ex{color:var(--muted);font-size:13px}.mark{white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:1px 8px;font-size:13px;font-weight:700;display:inline-flex}.mark.ok{background:var(--ok-soft);color:var(--ok)}.mark.no{background:var(--bad-soft);color:var(--bad)}.mark.skip{background:var(--panel);color:var(--muted)}details.ts{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-top:10px}details.ts summary{cursor:pointer;padding:10px 14px;font-weight:600}details.ts .tsbody{padding:0 16px 14px;font-size:14px;line-height:1.7}details.ts .tsbody p{margin:0 0 6px}details.ts .tsbody b{color:var(--muted);font-weight:600}.essay{white-space:pre-wrap;background:var(--surface);border:1px solid var(--line);font-family:var(--f-exam);border-radius:6px;padding:14px 16px;line-height:1.65}.rubric{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.rubric label{background:var(--surface);border:1px solid var(--line);border-radius:6px;gap:4px;padding:10px;font-size:13px;display:grid}.rubric label b{font-size:13px}.rubric label span{color:var(--muted);font-size:12px}.rubric select{border:1px solid var(--line);background:var(--paper);border-radius:4px;padding:5px 6px}.taskres{margin-bottom:30px}.taskres h2{margin-bottom:8px;font-size:22px}.progress4{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.progress4>div{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:10px 12px}.progress4>div.done{border-color:var(--ok)}.progress4 small{color:var(--muted);font-size:12px;display:block}.progress4 b{font-family:var(--f-mono)}.modal-bg{z-index:60;background:#0a0c1280;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);color:var(--ink);border:1px solid var(--line);width:100%;max-width:440px;font-family:var(--f-body);border-radius:8px;padding:22px}.modal h3{margin-bottom:8px;font-size:20px}.modal p{color:var(--muted);margin:0 0 16px}.modal .row{justify-content:flex-end}@media (max-width:860px){.hero .wrap{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:36px 32px}.skillrows{grid-template-columns:repeat(2,minmax(0,1fr))}.skillrow:nth-child(2){border-right:0}.skillrow:nth-child(-n+2){border-bottom:1px solid var(--line)}.features{grid-template-columns:minmax(0,1fr);gap:18px}.split,.wsplit{grid-template-rows:minmax(0,45%) minmax(0,55%);grid-template-columns:minmax(0,1fr)}.passage,.wprompt{border-right:0;border-bottom:4px solid var(--panel)}.rubric{grid-template-columns:repeat(2,minmax(0,1fr))}.rhead{grid-template-columns:minmax(0,1fr)}.progress4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.skillrows{grid-template-columns:minmax(0,1fr)}.skillrow{border-right:0;border-bottom:1px solid var(--line)}.skillrow:last-child{border-bottom:0}.trf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trf-cell.overall{grid-column:1/-1}.xbar .who .cand{display:none}.passage,.qpane,.wprompt{padding-left:16px;padding-right:16px}.bandbox>div{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.topbar .acct{align-items:center;gap:8px;font-size:14px;display:flex}.topbar .acct .who-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:16ch;overflow:hidden}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px}.form{gap:14px;max-width:520px;display:grid}.form label{gap:6px;font-size:14px;font-weight:600;display:grid}.form input,.form select,.form textarea,.input{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);width:100%;padding:10px 12px;font-weight:400}.form .hint{color:var(--muted);font-size:13px;font-weight:400}.notice.ok{background:var(--ok-soft);color:var(--ok)}.notice.bad{background:var(--bad-soft);color:var(--bad)}.ai-label{background:var(--panel);color:var(--muted);letter-spacing:.02em;border-radius:99px;align-items:center;gap:6px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.netbar{font-family:var(--f-body);background:var(--accent-soft);color:var(--accent);text-align:center;padding:6px 16px;font-size:13px}.netbar.ok{background:var(--ok-soft);color:var(--ok)}.savestate{font-family:var(--f-body);color:var(--muted);white-space:nowrap;font-size:12px}.filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filters a,.filters button{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:99px;padding:5px 12px;font-size:13px;text-decoration:none}.filters a.on,.filters button.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}.crit{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:12px 14px}.crit h4{font-family:var(--f-display);justify-content:space-between;gap:8px;margin:0 0 4px;font-size:15px;display:flex}.crit h4 b{font-family:var(--f-mono);color:var(--accent)}.crit p{color:var(--ink);margin:0;font-size:14px}.crit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.errlist{gap:8px;margin:10px 0;display:grid}.errlist .e{border-left:3px solid var(--bad);background:var(--surface);border-radius:0 6px 6px 0;padding:6px 12px;font-size:14px}.errlist .e del{color:var(--bad)}.errlist .e ins{color:var(--ok);font-weight:600;text-decoration:none}.errlist .e small{color:var(--muted);margin-top:2px;display:block}.spin{border:2px solid var(--line);border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.chart-line svg{width:100%;height:auto;display:block}.json-editor{width:100%;min-height:60vh;font-family:var(--f-mono);border:1px solid var(--line);background:var(--paper);tab-size:2;border-radius:6px;padding:12px;font-size:12.5px;line-height:1.5}.preview-frame{border:2px dashed var(--line);border-radius:8px;height:75vh;position:relative;overflow:hidden}.preview-frame .exam{height:100%}.bar-cell{background:var(--accent);vertical-align:middle;border-radius:99px;height:8px;display:inline-block}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}.tbl th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--panel);font-size:12px;font-weight:600}.tbl td.num{font-family:var(--f-mono)}.sheet ul,.intro ul,.cue ul,.tsbody ul{list-style:outside}.qr{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px;display:inline-block}@media (max-width:860px){.crit-grid{grid-template-columns:minmax(0,1fr)}}.exam{position:relative}.exam.th-bw{--surface:#fff;--paper:#fff;--panel:#f2f2f2;--ink:#000;--muted:#333;--line:#8a8a8a;--hl:#ffe27a;--accent:#000;--accent-ink:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.exam.th-wb{--surface:#000;--paper:#000;--panel:#141414;--ink:#fff;--muted:#d6d6d6;--line:#6b6b6b;--hl:#5a4a00;--accent:#fff;--accent-ink:#000;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.exam.th-yb{--surface:#000;--paper:#000;--panel:#141414;--ink:#ffe600;--muted:#e8d24a;--line:#7a6c00;--hl:#4d4d4d;--accent:#ffe600;--accent-ink:#000;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.exam.th-bw,.exam.th-wb,.exam.th-yb{color:var(--ink)}.th-chip.on{outline:2px solid var(--accent);outline-offset:1px}.th-chip.th-wb{color:#fff;background:#000}.th-chip.th-yb{color:#ffe600;background:#000}.th-chip.th-bw{color:#000;background:#fff}.xbar .clock.flash{animation:1s steps(2,start) infinite clockflash}@keyframes clockflash{50%{background:var(--bad);color:#fff}}@media (prefers-reduced-motion:reduce){.xbar .clock.flash{background:var(--bad);color:#fff;animation:none}}.xbar .tools{flex-wrap:wrap;justify-content:flex-end}.xbar .vol{align-items:center;gap:4px;display:inline-flex}.xbar .vol input{width:90px;accent-color:var(--accent)}.xpanel{z-index:40;background:var(--surface);width:min(520px,100% - 24px);max-height:calc(100% - 80px);color:var(--ink);border:1px solid var(--line);font-family:var(--f-body);border-radius:8px;padding:14px 16px;font-size:14px;position:absolute;top:56px;right:12px;overflow:auto;box-shadow:0 18px 40px -18px #00000073}.xpanel-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.xpanel-row>b{min-width:72px}.xpanel.help h4{margin:12px 0 4px;font-size:15px}.xpanel.help h4:first-child{margin-top:0}.xpanel.help ul{margin:0 0 6px;padding-left:20px}.xpanel.help li{margin:3px 0}.xhide{z-index:50;background:var(--surface);text-align:center;font-family:var(--f-body);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.xhide .big{margin:8px 0 18px;font-size:40px;font-weight:700}.xbanner{background:var(--accent-soft);border-bottom:1px solid var(--line);font-family:var(--f-body);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;font-size:14px;display:flex}.xbanner .mono{font-weight:700}.passage mark.hl.note{border-bottom:2px dotted var(--ink)}.hl-tools{z-index:45;gap:4px;display:flex;position:fixed}.hl-note{z-index:46;background:var(--surface);border:1px solid var(--line);width:280px;font-family:var(--f-body);border-radius:8px;padding:10px;font-size:14px;position:fixed;box-shadow:0 12px 30px -14px #00000073}.hl-note textarea{border:1px solid var(--line);background:var(--paper);width:100%;min-height:80px;color:var(--ink);font:inherit;border-radius:6px;padding:8px}.hl-note p{white-space:pre-wrap;margin:0 0 8px}.spkq.cur{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.rec-dot{color:var(--bad);font-weight:700}.steps4{border:1px solid var(--line);border-radius:6px;gap:0;margin:10px 0 16px;font-size:13px;display:flex;overflow:hidden}.steps4 span{text-align:center;color:var(--muted);border-right:1px solid var(--line);flex:1;padding:7px 4px}.steps4 span:last-child{border-right:0}.steps4 span.done{background:var(--ok-soft);color:var(--ok);font-weight:600}.steps4 span.cur{background:var(--accent-soft);color:var(--ink);font-weight:700}.h-sub{margin:20px 0 8px;font-size:18px}.cand-info{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.cand-info dt{color:var(--muted)}.cand-info dd{margin:0;font-weight:600}.bad-text{color:var(--bad)}.checkbox-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.checkbox-row>b{min-width:72px}.checkbox-row .vol{align-items:center;gap:6px;font-size:13px;display:inline-flex}.checkbox-row audio{height:36px}.slotlist{gap:8px;margin-top:10px;display:grid}.slot{border:1px solid var(--line);background:var(--paper);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.slot small{color:var(--muted);display:block}.mode-pick{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0;display:grid}.mode-pick label{border:1px solid var(--line);cursor:pointer;background:var(--paper);border-radius:8px;padding:14px 16px;display:block}.mode-pick label:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.mode-pick b{margin-bottom:4px;display:block}.mode-pick small{color:var(--muted);line-height:1.5;display:block}.mode-pick .sub{flex-wrap:wrap;gap:12px;margin-top:8px;font-size:13px;display:flex}.sessions{gap:12px;display:grid}.session{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.session h3{margin:0 0 4px;font-size:18px}.session p{color:var(--muted);margin:0;font-size:14px}.slip{color:#111;max-width:760px;font-family:var(--f-body);background:#fff;border:1px solid #c9ced8;margin:24px auto;padding:36px 40px}.slip-head{border-bottom:3px solid #111;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;display:flex}.slip-head h1{letter-spacing:.02em;margin:0;font-size:22px}.slip-head small{color:#555}.slip-warn{color:#b3261e;text-align:center;border:2px dashed #b3261e;margin:14px 0;padding:8px 12px;font-size:13px;font-weight:700}.slip-info{grid-template-columns:max-content 1fr;gap:6px 18px;margin:16px 0;font-size:15px;display:grid}.slip-info dt{color:#555}.slip-info dd{margin:0;font-weight:600}.slip-bands{border:1px solid #111;grid-template-columns:repeat(5,1fr);margin:18px 0;display:grid}.slip-bands div{text-align:center;border-right:1px solid #111;padding:10px 6px}.slip-bands div:last-child{background:#f3f3f3;border-right:0}.slip-bands small{color:#444;text-transform:uppercase;letter-spacing:.05em;font-size:12px;display:block}.slip-bands b{font-size:28px;font-family:var(--f-mono)}.slip-foot{color:#555;border-top:1px solid #c9ced8;padding-top:10px;font-size:12px;line-height:1.6}@media print{.topbar,.footer,.no-print{display:none!important}body{background:#fff!important}.slip{border:0;margin:0 auto;padding:0}}@media (max-width:560px){.slip{padding:20px 16px}.slip-bands{grid-template-columns:repeat(2,1fr)}.slip-bands div{border-bottom:1px solid #111}}.checkbox-row .hint,.card>.hint{color:var(--muted);font-size:13px}.linkbtn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}@media (max-width:640px){.xbar{gap:6px}.xbar .tools{gap:4px}.xbar .tools .btn.sm{padding:5px 8px;font-size:12px}.xbar .fsbtn,.xbar .savestate:empty{display:none}.xbar .vol input{width:64px}}.staff{--side:#0b0e15;--side-ink:#c7cdd9;--side-muted:#7f8799;--side-on:#1f2636;background:var(--panel);grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.staff-side{background:var(--side);color:var(--side-ink);border-right:1px solid #0a0d13;flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.staff-brand{border-bottom:1px solid #222a3a;justify-content:space-between;align-items:center;gap:8px;padding:18px 18px 14px;display:flex}.staff-brand a{color:#fff;letter-spacing:.01em;font-size:16px;text-decoration:none}.staff-badge{text-transform:uppercase;letter-spacing:.08em;background:var(--accent);color:var(--accent-ink);border-radius:99px;padding:3px 8px;font-size:11px;font-weight:700}.staff-nav{flex:1;padding:10px 10px 16px}.staff-group{margin-top:12px}.staff-group-label{text-transform:uppercase;letter-spacing:.1em;color:var(--side-muted);padding:0 10px 6px;font-size:11px;font-weight:600}.staff-nav a{color:var(--side-ink);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.staff-nav a:hover{background:var(--side-on);color:#fff}.staff-nav a.on{background:var(--side-on);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.staff-nav .ico{text-align:center;opacity:.85;width:18px}.staff-user{border-top:1px solid #222a3a;padding:14px 18px 18px;font-size:13px}.staff-who b{color:#fff;display:block}.staff-who small{color:var(--side-muted);word-break:break-all}.staff-links{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.staff-links a,.staff-links button{color:var(--side-ink);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.staff-main{min-width:0;padding:24px 28px 48px}.staff-main .block{padding:0}.staff-main .wrap{max-width:1180px;margin:0;padding:0}@media (max-width:900px){.staff{grid-template-columns:1fr}.staff-side{z-index:30;flex-direction:column;height:auto;position:sticky;top:0}.staff-brand{border-bottom:0;padding:10px 16px}.staff-nav{scrollbar-width:none;flex:none;gap:4px;padding:0 10px 10px;display:flex;overflow-x:auto}.staff-group{display:contents}.staff-group-label{display:none}.staff-nav a{white-space:nowrap;padding:6px 10px;font-size:13px}.staff-nav a.on{box-shadow:inset 0 -2px 0 var(--accent)}.staff-user{display:none}.staff-main{padding:16px 16px 40px}}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.toolbar input,.toolbar select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius);font:inherit;padding:8px 10px;font-size:14px}.toolbar input[name=q]{flex:1;min-width:200px;max-width:420px}.chip.bad-chip{background:var(--bad-soft);color:var(--bad)}.facts-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:14px 0 18px;display:grid}.facts-grid>div{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:2px;padding:10px 12px;display:grid}.facts-grid small,.facts-grid .hint{color:var(--muted);font-size:12px}.admin-cols{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.card.form{gap:10px;display:grid}.hint{color:var(--muted);font-size:13px;font-weight:400}.fe{gap:14px;display:grid}.fe-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px 16px;display:grid}.fe-card.sub{background:var(--paper);border-style:dashed}.fe-card>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.fe-card>header b{font-size:15px}.fe-field{gap:4px;min-width:0;font-size:13px;display:grid}.fe-field>span{color:var(--ink);font-weight:600}.fe-field input,.fe-field textarea,.fe-field select,.fe-answers input,.fe-list input,.fe-add select,.fe .row select{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:6px;width:100%;padding:7px 9px;font-size:14px}.fe-field textarea.mono,.fe-field input.mono{font-family:var(--f-mono);font-size:12.5px}.fe-num{flex:0 0 170px}.fe-num input{width:120px}.fe-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.fe-sub{border-left:3px solid var(--line);gap:10px;padding:10px 12px;display:grid}.fe-item{border-top:1px solid var(--line);gap:8px;padding:10px 0;display:grid}.fe-item-head{justify-content:space-between;align-items:end;gap:10px;display:flex}.fe-item-head .fe-field{flex:1}.fe-answers{gap:6px;display:grid}.fe-ans{grid-template-columns:70px minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.fe-list{gap:6px;display:grid}.fe-list .row input{width:auto}.fe-groups{gap:12px;display:grid}.fe-add select{width:auto}.fe-count{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0;display:flex}.fe-quick summary{cursor:pointer;color:var(--accent);font-size:13px}.fe-quick{gap:8px;display:grid}.fe-save{background:var(--panel);border-top:1px solid var(--line);z-index:5;padding:10px 0;position:sticky;bottom:0}@media (max-width:640px){.fe-ans{grid-template-columns:1fr}}.form label.check{align-items:center;gap:8px;font-weight:400;display:flex}.form label.check input{width:auto;margin:0}.steps3{counter-reset:st;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.steps3 li{counter-increment:st;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px 12px 48px;font-size:14px;position:relative}.steps3 li:before{content:counter(st);background:var(--accent);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:12px;left:14px}.steps3 b{display:block}.skillchips{flex-wrap:wrap;gap:4px;display:flex}.skillchips a{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:3px 8px;font-size:12px;text-decoration:none}.skillchips a.has{background:var(--ok-soft);color:var(--ok);border-color:#0000;font-weight:600}.skillcards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:20px;display:grid}.skillcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-content:start;gap:6px;padding:16px;display:grid}.skillcard.has{border-color:var(--ok)}.skillcard h3{margin:0;font-size:18px}.skillcard .st{color:var(--muted);font-size:13px}.skillcard.has .st{color:var(--ok);font-weight:600}.skillcard .btn{justify-self:start;margin-top:6px}.btn.primary .spin{border-color:#ffffff73;border-top-color:var(--accent-ink)}.modal.create-test{max-width:480px}.modal.create-test .form{max-width:none}.modal.create-test .row{justify-content:flex-start}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
