@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-ext-wght-normal.1o60yhwqd7ueg.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-wght-normal.0n0q_nh7u2mrm.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-vietnamese-wght-normal.0nt7ek_nfk5a4.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-ext-wght-normal.39q78sztp1ci5.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-wght-normal.20f3xrkj613ah.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-ext-wght-normal.2ij5maosbedmv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-cyrillic-wght-normal.33c6-jfmyetfr.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-symbols2-wght-normal.0peao-xekk45v.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-vietnamese-wght-normal.3lyzf0uofk1_2.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-ext-wght-normal.18_jyrw-ln1dm.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-mono-latin-wght-normal.1t7tphccnfzmb.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:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-400-italic.1bk2-9tco4m7m.woff2)format("woff2"),url(../media/instrument-serif-latin-400-italic.3_-8f-v73506e.woff)format("woff")}
:root{--night:#060b14;--night-1:#0a1220;--night-2:#0f1a2c;--paper:#f3f1ec;--paper-2:#e9e6de;--white:#fff;--on-night:#e9eef5;--on-night-muted:#9aa8ba;--ink:#0a1220;--ink-muted:#4a5566;--signal:#45e2c8;--signal-hover:#6ff0da;--signal-deep:#0b7366;--danger:#a4262c;--warn:#8a5a00;--line-night:#adc4e024;--line-night-strong:#adc4e042;--line:#0a12201f;--line-strong:#0a122038;--sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--serif:"Instrument Serif", ui-serif, Georgia, serif;--max:1200px;--gutter:clamp(20px, 4.4vw, 56px);--radius:4px;--ease:cubic-bezier(.2, .7, .1, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--night);scroll-behavior:smooth}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;font-size:16.5px;line-height:1.6;display:flex}a{color:inherit}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline:2px solid var(--signal-deep);outline-offset:3px;border-radius:2px}.on-night :focus-visible{outline-color:var(--signal)}::selection{background:var(--signal);color:var(--night)}.skip-link{z-index:100;top:12px;background:var(--signal);color:var(--night);border-radius:var(--radius);padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;inset-inline-start:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal-deep);font-size:12px}.on-night .eyebrow{color:var(--signal)}.muted{color:var(--ink-muted)}.on-night .muted{color:var(--on-night-muted)}.mono{font-family:var(--mono);font-size:.86em}.site-header{background:var(--night);color:var(--on-night);border-bottom:1px solid var(--line-night)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding-block:12px;display:flex}.brand{align-items:center;gap:14px;text-decoration:none;display:inline-flex}.brand img{width:auto;height:30px;display:block}.brand-tag{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--signal);border-inline-start:1px solid var(--line-night-strong);padding-inline-start:14px;font-size:11.5px}.site-nav{flex-wrap:wrap;align-items:center;gap:6px 22px;font-size:15px;display:flex}.site-nav a{color:var(--on-night-muted);transition:color .2s var(--ease);padding-block:6px;text-decoration:none}.site-nav a:hover{color:var(--on-night)}.site-nav form{display:inline-flex}.link-button{cursor:pointer;color:var(--on-night-muted);background:0 0;border:0;padding:6px 0}.link-button:hover{color:var(--on-night)}.nav-cta{border:1px solid var(--line-night-strong);border-radius:var(--radius);color:var(--on-night)!important;padding:8px 16px!important}.nav-cta:hover{border-color:var(--signal)}.site-footer{background:var(--night);color:var(--on-night-muted);margin-top:auto;font-size:14px}.site-footer .wrap{gap:10px;padding-block:36px;display:grid}.site-footer p{max-width:78ch}.site-footer a{color:var(--on-night)}.footer-meta{font-family:var(--mono);flex-wrap:wrap;gap:8px 24px;margin-top:8px;font-size:12px;display:flex}.btn{background:var(--ink);min-height:44px;color:var(--white);border:1px solid var(--ink);border-radius:var(--radius);cursor:pointer;transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:550;text-decoration:none;display:inline-flex}.btn:hover{background:var(--night-2)}.btn:disabled{opacity:.55;cursor:progress}.btn-signal{background:var(--signal);border-color:var(--signal);color:var(--night)}.btn-signal:hover{background:var(--signal-hover);border-color:var(--signal-hover)}.btn-ghost{color:inherit;border-color:var(--line-strong);background:0 0}.btn-ghost:hover{background:#0a12200d}.on-night .btn-ghost{border-color:var(--line-night-strong)}.on-night .btn-ghost:hover{background:#ffffff0f}.btn-small{min-height:36px;padding:6px 14px;font-size:14px}.btn-danger{color:var(--danger);background:0 0;border-color:#a4262c66}.btn-danger:hover{background:#a4262c12}.hero{background:var(--night);color:var(--on-night);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 80% at 85% 0%, #45e2c81a, transparent 60%), linear-gradient(var(--line-night) 1px, transparent 1px) 0 0 / 100% 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 30%,#0000);mask-image:linear-gradient(#000 30%,#0000)}.hero .wrap{padding-block:clamp(56px,9vw,120px) clamp(48px,7vw,88px);position:relative}.hero h1{letter-spacing:-.03em;text-wrap:balance;max-width:17ch;margin-block:18px 22px;font-size:clamp(36px,5.6vw,68px);font-weight:550;line-height:1.04}.hero h1 em{font-family:var(--serif);color:var(--signal);letter-spacing:-.01em;font-style:italic;font-weight:400}.hero .lead{color:var(--on-night-muted);max-width:62ch;font-size:clamp(17px,1.5vw,20px)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.facts{border-top:1px solid var(--line-night-strong);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(40px,6vw,72px);display:grid}.facts div{padding:20px 20px 0 0}.facts dt{letter-spacing:-.03em;font-size:clamp(28px,3.4vw,42px);font-weight:550;line-height:1}.facts dd{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-night-muted);margin-top:8px;font-size:12px}.section{padding-block:clamp(52px,7vw,96px)}.section+.section{border-top:1px solid var(--line)}.section-white{background:var(--white)}.section h2{letter-spacing:-.025em;text-wrap:balance;max-width:24ch;margin-block:12px 28px;font-size:clamp(26px,3.2vw,40px);font-weight:550;line-height:1.1}.grid-4{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.grid-4>li{background:var(--paper);padding:26px 24px 30px}.section-white .grid-4>li{background:var(--white)}.grid-4 h3{letter-spacing:-.01em;margin-bottom:8px;font-size:18px}.grid-4 p{color:var(--ink-muted);font-size:15.5px}.grid-4 .step{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--signal-deep);margin-bottom:14px;font-size:12px;display:block}.programme-card{background:var(--night);color:var(--on-night);border-radius:var(--radius);grid-template-columns:1.6fr 1fr;align-items:end;gap:28px;padding:clamp(26px,4vw,44px);display:grid}.programme-card h3{letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(24px,2.6vw,32px);line-height:1.15}.programme-card p{color:var(--on-night-muted);max-width:60ch}.programme-card .side{justify-items:start;gap:16px;display:grid}.two-col{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,72px);display:grid}.prose h2{letter-spacing:-.015em;max-width:none;margin-block:34px 10px;font-size:22px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--ink-muted);max-width:70ch}.prose p+p{margin-top:12px}.prose pre,.body-text{white-space:pre-wrap;color:var(--ink);max-width:72ch;margin:0;font-family:inherit}.ticks li{margin-top:8px;padding-inline-start:24px;position:relative}.ticks li:before{content:"";inset-inline-start:2px;background:var(--signal-deep);width:10px;height:2px;position:absolute;top:.62em}.weeks{border-top:1px solid var(--line-strong)}.weeks li{border-bottom:1px solid var(--line);grid-template-columns:96px minmax(0,1fr);gap:16px;padding-block:14px;display:grid}.weeks .n{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--signal-deep);padding-top:3px;font-size:12.5px}.weeks h3{font-size:16.5px}.weeks p{color:var(--ink-muted);font-size:15px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,2.6vw,30px)}.card+.card{margin-top:20px}.card>h2,.card>h3{letter-spacing:-.015em;margin-bottom:14px;font-size:19px}.sticky{position:sticky;top:24px}.form{gap:14px;display:grid}.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.field{gap:6px;display:grid}.field label,.field .label{font-size:14px;font-weight:550}.field .hint{color:var(--ink-muted);font-size:13.5px}.field input,.field textarea,.field select{background:var(--white);border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;min-height:44px;padding:10px 12px}.field textarea{resize:vertical;min-height:112px}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline-offset:0;border-color:var(--signal-deep)}.hp{width:1px;height:1px;position:absolute;inset-inline-start:-9999px;overflow:hidden}.inline-actions,.form.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notice{border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);padding:12px 14px;font-size:15px}.notice-ok{color:#064d44;background:#45e2c81f;border-color:#0b736666}.notice-error{color:var(--danger);background:#a4262c0f;border-color:#a4262c66}.notice-link{color:#5c3c00;background:#fac85024;border-color:#8a5a0066;gap:6px;display:grid}.notice-link code{font-family:var(--mono);word-break:break-all;color:var(--ink);background:var(--white);border-radius:var(--radius);border:1px solid var(--line);-webkit-user-select:all;user-select:all;padding:8px 10px;font-size:13px}.form.inline .notice{flex-basis:100%}.app{flex:1;padding-block:clamp(28px,4vw,52px) clamp(48px,6vw,80px)}.page-head{gap:8px;margin-bottom:28px;display:grid}.page-head h1{letter-spacing:-.025em;font-size:clamp(26px,3vw,38px);font-weight:550;line-height:1.12}.back{color:var(--ink-muted);font-size:14.5px;text-decoration:none}.back:hover{color:var(--ink);text-decoration:underline}.split{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.stack>*+*{margin-top:20px}.narrow{max-width:460px;margin-inline:auto}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th{text-align:start;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:0 12px 10px 0;font-size:11.5px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 12px 12px 0}tr:last-child td{border-bottom:0}td .sub{color:var(--ink-muted);font-size:13.5px;display:block}.badge{border:1px solid var(--line-strong);background:var(--paper);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:550;display:inline-flex}.badge:before{content:"";background:var(--ink-muted);border-radius:50%;width:6px;height:6px}.badge-ok{color:#064d44;background:#45e2c824;border-color:#0b736673}.badge-ok:before{background:var(--signal-deep)}.badge-warn{color:#5c3c00;background:#fac85029;border-color:#8a5a0066}.badge-warn:before{background:var(--warn)}.badge-wait{color:#1c3f7a;background:#3c78dc14;border-color:#1e50a059}.badge-wait:before{background:#2a5db0}.stats{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid;overflow:hidden}.stats div{background:var(--white);padding:18px 20px}.stats dt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:11.5px}.stats dd{letter-spacing:-.02em;margin-top:4px;font-size:28px;font-weight:550}.progress-pair{grid-template-columns:1.4fr 1fr;gap:20px;display:grid}.meter-value{letter-spacing:-.04em;font-size:clamp(40px,5vw,60px);font-weight:550;line-height:1}.meter-bar{background:var(--paper-2);border-radius:999px;height:8px;margin-block:14px 10px;overflow:hidden}.meter-bar span{background:var(--signal-deep);border-radius:999px;height:100%;display:block}.card-quiet{background:0 0}.card-quiet .meter-value{color:var(--ink-muted);font-size:30px}.week-block{border-top:1px solid var(--line);padding-block:16px}.week-block:first-of-type{border-top:0;padding-top:0}.week-block h3{font-size:16.5px}.week-block .n{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--signal-deep);font-size:12px}.items{gap:6px;margin-top:10px;display:grid}.items a{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);transition:border-color .2s var(--ease);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.items a:hover{border-color:var(--ink)}.items .kind{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;display:block}.status-line{color:var(--ink-muted);flex-wrap:wrap;gap:8px 18px;font-size:14px;display:flex}.status-line strong{color:var(--ink);font-weight:550}.rubric li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-block:10px;display:flex}.rubric li span:last-child{font-family:var(--mono);color:var(--ink-muted);white-space:nowrap;font-size:13px}.rubric small{color:var(--ink-muted);font-size:14px;display:block}.attempt{border-top:1px solid var(--line);gap:8px;margin-top:16px;padding-top:16px;display:grid}.attempt:first-of-type{border-top:0;margin-top:0;padding-top:0}.attempt-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.attempt a{word-break:break-all}.criterion{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 110px;align-items:start;gap:12px;padding-block:12px;display:grid}.details{border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.details+.details{margin-top:10px}.details summary{cursor:pointer;padding:12px 16px;font-weight:550}.details>div{padding:4px 16px 18px}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}@media (max-width:900px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.split,.programme-card,.progress-pair{grid-template-columns:minmax(0,1fr)}.sticky{position:static}}@media (max-width:560px){.grid-4,.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:minmax(0,1fr)}.weeks li{grid-template-columns:minmax(0,1fr);gap:2px}.criterion{grid-template-columns:minmax(0,1fr)}.brand img{height:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
