@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-cyrillic-ext-wght-normal-DAknEryR.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-cyrillic-wght-normal-B84CD5C_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-ext-wght-normal-DlL6xMw5.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-wght-normal-5W32yIyr.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-vietnamese-standard-normal-Br4FGdAc.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-ext-standard-normal-qp-RdZgh.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-standard-normal-C5Lc8Qmc.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}:root{--bg:#eeece7;--surface:#f7f6f2;--ink:#161412;--ink-soft:#57514b;--ink-faint:#6f6861;--rule:#d3cfc7;--ember:#ff5a1f;--accent:#b8400e;--accent-ink:#fff;--spark:var(--ember);--trellis:#466a08;--trellis-ink:#fff;--trellis-tile:#d2500f;--danger:#b42318;--font-brand:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--font-display:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--font-body:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--font-mono:"Martian Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--display-stretch:125%;--display-weight:620;--display-track:-.03em;--radius:2px;--gutter:clamp(16px, 4vw, 48px);--max:1240px;--chapter-pad:clamp(88px, 15vh, 170px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#161412;--surface:#1f1c19;--ink:#ede6d8;--ink-soft:#a89f92;--ink-faint:#8a8176;--rule:#302b27;--accent:#ff6b35;--accent-ink:#161412;--trellis:#9bcb3c;--trellis-ink:#102003;--trellis-tile:#fe6822;--danger:#ff8a80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.theme-trellis{--accent:var(--trellis);--accent-ink:var(--trellis-ink);--spark:var(--trellis-tile)}body.theme-trellis{--font-display:"Bricolage Grotesque Variable", "Helvetica Neue", Arial, sans-serif;--display-stretch:100%;--display-weight:700;--display-track:-.035em}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.display{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--display-track)}.display .w,.card h3 .w{white-space:nowrap;display:inline-block}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.skip{left:var(--gutter);z-index:20;background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:10px 14px;position:absolute;top:-60px}.skip:focus{top:12px}#story{z-index:0;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .9s;display:block;position:fixed;inset:0}#story.ready{opacity:1}.mast,.page,.site-footer{z-index:1;position:relative}.mast{flex-wrap:wrap;align-items:center;gap:12px 28px;padding-block:22px;display:flex}.wordmark{color:var(--ink);margin-right:auto;text-decoration:none;display:inline-flex}.wordmark .logo{width:auto;height:34px;display:block}.mz-point{fill:var(--ember)}.mast nav{gap:clamp(14px,2.2vw,28px);font-size:14px;display:flex}.mast nav a{color:var(--ink-soft);text-decoration:none}.mast nav a:hover,.mast nav a[aria-current=page]{color:var(--ink)}.mast nav a[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px}.signin{border:1px solid var(--rule);border-radius:var(--radius);background:color-mix(in srgb, var(--bg) 70%, transparent);padding:7px 14px;font-size:13px;text-decoration:none}.menu-btn{font:inherit;color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;background:0 0;padding:7px 14px;font-size:13px;display:none}.kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin:0 0 22px;font-size:11px;display:flex}.kicker:before{content:"";background:var(--spark);border-radius:var(--radius);flex:none;width:8px;height:8px}.lede{color:var(--ink-soft);max-width:34em;margin:28px 0 0;font-size:clamp(1.02rem,1.35vw,1.2rem)}.pull{font-family:var(--font-display);color:var(--ink);border-left:2px solid var(--accent);max-width:26em;margin:28px 0;padding-left:18px;font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:500;font-stretch:110%;line-height:1.3}.note{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);font-size:11px}.ctas{flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px;display:flex}.btn{font:inherit;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:12px 18px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:after{content:"→"}.btn-ghost{border-color:var(--rule);color:var(--ink);background:color-mix(in srgb, var(--bg) 60%, transparent)}.btn[disabled]{opacity:.55;cursor:progress}.text-link{color:var(--accent);font-weight:500;text-decoration:none}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.hero{align-content:center;min-height:min(86vh,920px);padding-block:24px 64px;display:grid}.hero h1{text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(2.8rem,7.4vw,6.8rem);line-height:.96}.hero.split h1{font-size:clamp(2.6rem,5.8vw,5.4rem)}.aside{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.hint{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft);flex-wrap:wrap;gap:10px 28px;margin-top:56px;font-size:11px;display:flex}.hint span{align-items:center;gap:10px;display:inline-flex}.hint .lens{border:1px solid var(--spark);border-radius:50%;flex:none;width:14px;height:14px;position:relative}.hint .lens:after{content:"";background:var(--spark);border-radius:50%;position:absolute;inset:4px}.chips{flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none;display:flex}.chips li{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-soft);padding:6px 10px;font-size:11px}.chips b{color:var(--ink);font-weight:500}.chapter{padding-block:var(--chapter-pad)}.chapter h2{text-wrap:balance;max-width:17ch;margin:0;font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.02}.chapter p{color:var(--ink-soft);max-width:36em}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,96px);display:grid}.fig{aspect-ratio:1;justify-self:end;width:100%;max-width:500px;margin:0;position:relative}.fig.wide{aspect-ratio:5/4;max-width:560px}.fig figcaption{text-align:center;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);font-size:11px;position:absolute;bottom:-28px;left:0;right:0}.closing{align-content:center;min-height:92vh;display:grid}.principles{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:clamp(56px,8vw,96px) 0 0;padding:0;list-style:none;display:grid}.principles li{padding-top:20px}.principles h3,.steps h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 8px;font-size:18px;font-weight:600;font-stretch:115%}.principles p,.steps p{margin:0;font-size:15px}.steps{gap:22px;max-width:36em;margin:36px 0 0;padding:0;list-style:none;display:grid}.steps li{grid-template-columns:44px minmax(0,1fr);gap:4px 12px;display:grid}.steps .num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;padding-top:4px;font-size:11px}.pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:42em;margin-top:36px;display:grid}.pair h3{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 12px;font-size:11px;font-weight:500}.pair ul{color:var(--ink-soft);gap:8px;margin:0;padding-left:18px;font-size:15px;display:grid}.pair .no h3{color:var(--ink-soft)}.stats{gap:clamp(28px,5vw,64px);margin:36px 0 12px;display:flex}.stat .n{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(3rem,6vw,4.6rem);font-weight:620;font-stretch:125%;line-height:1}.stat .l{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft);margin-top:8px;font-size:11px}.callout{border-left:2px solid var(--accent);max-width:36em;margin-top:32px;padding:4px 0 4px 18px}.callout p{margin:0}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(40px,6vw,72px);display:grid}.card{flex-direction:column;gap:10px;text-decoration:none;display:flex}.card-fig{height:clamp(240px,28vw,340px)}.card-meta{border-top:1px solid var(--rule);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px;font-size:11px;display:flex}.pill{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:var(--radius);text-transform:none;letter-spacing:.02em;white-space:nowrap;padding:3px 9px}.card h3{font-family:var(--font-display);letter-spacing:-.03em;margin:4px 0 0;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:620;font-stretch:125%}.card p{color:var(--ink-soft);max-width:34em;margin:0}.card .more{color:var(--accent);margin-top:4px;font-weight:500}.card:hover h3{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-icon{width:88px;height:88px;box-shadow:0 10px 30px color-mix(in srgb, var(--ink) 18%, transparent);border-radius:22%;margin-bottom:28px}.ladder{--letters:4;--rows:6;justify-self:center;justify-items:center;gap:18px;margin:0;transition:opacity .35s;display:grid}.ladder.fading{opacity:0}.ladder ol{font-family:var(--font-display);min-height:calc(var(--rows) * 1.16em);align-content:start;gap:.08em;margin:0;padding:0;font-size:clamp(2.3rem,4.8vw,4rem);font-weight:750;line-height:1.08;list-style:none;display:grid}.ladder li{grid-template-columns:repeat(var(--letters), 1.05em);justify-items:center;display:grid}.ladder li .new{color:var(--trellis-tile)}.ladder li.target{color:#0000;-webkit-text-stroke:.028em var(--ink)}.ladder li.target.solved{color:var(--ink);-webkit-text-stroke:0}.ladder li.target.solved .new{color:var(--trellis-tile)}.ladder li.enter{animation:.45s both rung-in}.ladder li.enter .new{animation:.45s both letter-pop}@keyframes rung-in{0%{opacity:0;transform:translateY(-.25em)}to{opacity:1;transform:none}}@keyframes letter-pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}.ladder figcaption{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-faint);font-size:11px}.modes{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:36px 0 0;padding:0;list-style:none;display:grid}.modes li{padding-top:20px}.modes h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700}.modes .tag{color:var(--ink);margin:4px 0 10px;font-size:15px}.modes p{margin:0;font-size:15px}.screens{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);max-width:820px;margin:clamp(48px,7vw,80px) 0 0;padding:0;list-style:none;display:grid}.screens img{width:100%;height:auto;box-shadow:0 18px 50px color-mix(in srgb, var(--ink) 16%, transparent);border-radius:11.5%/5.3%}.screens-note{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);max-width:none;margin-top:18px;font-size:11px}.card-app{align-items:center;gap:10px;display:inline-flex}.card-app img{border-radius:22%;width:24px;height:24px}.form{gap:18px;max-width:520px;margin-top:32px;display:grid}.field{gap:6px;display:grid}.field label,.field legend{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:0;font-size:11px}.field input,.field select,.field textarea{font:inherit;color:var(--ink);background:color-mix(in srgb, var(--bg) 75%, transparent);border:0;border-bottom:1px solid var(--rule);border-radius:0;width:100%;padding:10px 2px}.field textarea{resize:vertical;min-height:110px}.field [aria-invalid=true]{border-bottom-color:var(--danger)}.field-error{color:var(--danger);min-height:0;font-size:13px}fieldset.field{border:0;margin:0;padding:0}.radios{flex-wrap:wrap;gap:8px 20px;padding-top:6px;display:flex}.radios label{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--ink);align-items:center;gap:8px;font-size:15px;display:inline-flex}.radios input{width:auto;accent-color:var(--accent)}.form-row{flex-wrap:wrap;align-items:center;gap:14px 20px;display:flex}.form-status{max-width:36em;margin:0;font-size:15px}.form-status[data-tone=ok]{color:var(--accent)}.form-status[data-tone=error]{color:var(--danger)}.privacy{color:var(--ink-faint);max-width:36em;margin:0;font-size:13px}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.prose{max-width:44em;padding-block:24px var(--chapter-pad)}.prose h1{margin:0;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1}.prose-meta{border-block:1px solid var(--rule);gap:10px;margin:32px 0 0;padding-block:20px;display:grid}.prose-meta div{grid-template-columns:9em minmax(0,1fr);gap:2px 16px;display:grid}.prose-meta dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding-top:4px;font-size:11px}.prose-meta dd{margin:0}.prose section{margin-top:48px}.prose h2{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:-.01em;margin:0 0 12px;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2}.prose h3{margin:28px 0 8px;font-size:17px}.prose p,.prose li,.prose address{color:var(--ink-soft)}.prose p{margin:0 0 14px}.prose ul{gap:6px;margin:0 0 14px;padding-left:20px;display:grid}.prose strong{color:var(--ink);font-weight:600}.prose code{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.82em}.prose address{font-style:normal}.site-footer{border-top:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-block:22px 28px;font-size:11px;display:flex}.site-footer nav{flex-wrap:wrap;gap:8px 20px;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--ink)}.rail{z-index:4;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:14px;margin:0;padding:0;font-size:10.5px;list-style:none;display:none;position:fixed;top:50%;right:24px;transform:translateY(-50%)}.rail a{color:var(--ink-faint);justify-content:flex-end;align-items:center;gap:10px;text-decoration:none;display:flex}.rail a:after{content:"";border:1px solid;border-radius:50%;width:6px;height:6px}.rail a[aria-current=step]{color:var(--ink)}.rail a[aria-current=step]:after{background:var(--accent);border-color:var(--accent)}@media (width>=1400px){.rail:not(:empty){display:flex}}@media (width<=900px){.split{grid-template-columns:minmax(0,1fr)}.fig{justify-self:center;max-width:380px}.principles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.mast nav{display:none}.mast nav.open{flex-direction:column;order:5;gap:12px;width:100%;padding-top:8px;display:flex}.menu-btn{display:inline-flex}.signin{display:none}.mast nav.open+.signin{order:6;display:inline-flex}.cards,.pair,.principles{grid-template-columns:minmax(0,1fr)}.screens{gap:10px}.modes,.prose-meta div{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ladder li.enter,.ladder li.enter .new{animation:none}}
