@font-face{font-family:"Geist";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/geist-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/geist-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Silkscreen";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/silkscreen-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Silkscreen";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/silkscreen-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-title:#262626;--ink-body:#3f3f46;--ink-meta:#767676;--page:#fff;--fill:#eee;--wash:rgba(238,238,238,.5);--rule:rgba(0,0,0,.12);--col:640px;--stagger:70ms;--ctl-r:0;--font-pixel:"Silkscreen","Geist Mono",ui-monospace,monospace;--font-mono:"Geist Mono",ui-monospace,monospace;--blue:#2c1fea;--blue-deep: color-mix(in srgb,var(--blue) 75%,#000);--blue-line: color-mix(in srgb,var(--blue) 22%,#fff);--blue-soft: color-mix(in srgb,var(--blue) 10%,#fff);--blue-softer:color-mix(in srgb,var(--blue) 5%,#fff);--on-soft: var(--blue-deep);--on-soft-dim: color-mix(in srgb,var(--blue) 22%,#5a5a66);--margin-gap: 48px;--blue-lit:#5571F5;--slab-black: var(--ink-400);--slab-blue: var(--blue);--slab-pink: #651d31;--slab-green: #094135;--slab-saffron:#7a2e05;--slab-burnt: var(--slab-saffron);--black-lift: #22252b;--black-soft: #e6e6e8;--burnt-deep: #ef6f22;--black-press: #16181c;--green-lift: #0d5644;--on-scrim: #c9cbd2;--art-ph-a: #e6e6e6;--art-ph-b: #f4f4f4;--blue-400: var(--slab-blue);--blue-100: color-mix(in srgb,var(--slab-blue) 18%,#fff);--blue-200: color-mix(in srgb,var(--slab-blue) 40%,#fff);--blue-300: color-mix(in srgb,var(--slab-blue) 68%,#fff);--blue-600: color-mix(in srgb,var(--slab-blue) 60%,#000);--blue-800: color-mix(in srgb,var(--slab-blue) 30%,#000);--blue-accent-400: #86cbfa;--blue-accent-100: color-mix(in srgb,var(--blue-accent-400) 18%,#fff);--blue-accent-200: color-mix(in srgb,var(--blue-accent-400) 40%,#fff);--blue-accent-300: color-mix(in srgb,var(--blue-accent-400) 68%,#fff);--blue-accent-600: color-mix(in srgb,var(--blue-accent-400) 60%,#000);--blue-accent-800: color-mix(in srgb,var(--blue-accent-400) 30%,#000);--blue-ink: var(--blue-100);--blue-dim: var(--blue-accent-400);--green-400: var(--slab-green);--green-100: color-mix(in srgb,var(--slab-green) 18%,#fff);--green-200: color-mix(in srgb,var(--slab-green) 40%,#fff);--green-300: color-mix(in srgb,var(--slab-green) 68%,#fff);--green-600: color-mix(in srgb,var(--slab-green) 60%,#000);--green-800: color-mix(in srgb,var(--slab-green) 30%,#000);--green-accent-400: #5bbc82;--green-accent-100: color-mix(in srgb,var(--green-accent-400) 18%,#fff);--green-accent-200: color-mix(in srgb,var(--green-accent-400) 40%,#fff);--green-accent-300: color-mix(in srgb,var(--green-accent-400) 68%,#fff);--green-accent-600: color-mix(in srgb,var(--green-accent-400) 60%,#000);--green-accent-800: color-mix(in srgb,var(--green-accent-400) 30%,#000);--green-ink: var(--green-100);--green-dim: var(--green-accent-400);--ink-100: color-mix(in srgb,var(--ink-400) 22%,#fff);--ink-200: color-mix(in srgb,var(--ink-400) 45%,#fff);--ink-300: color-mix(in srgb,var(--ink-400) 70%,#fff);--ink-400: #26262b;--ink-600: color-mix(in srgb,var(--ink-800) 55%,var(--ink-400));--ink-800: #0e0e0f;--ink-accent-400: #949cab;--ink-ink: var(--ink-100);--ink-dim: var(--ink-accent-400);--burnt-400: var(--slab-burnt);--burnt-100: color-mix(in srgb,var(--slab-burnt) 18%,#fff);--burnt-200: color-mix(in srgb,var(--slab-burnt) 40%,#fff);--burnt-300: color-mix(in srgb,var(--slab-burnt) 68%,#fff);--burnt-600: color-mix(in srgb,var(--slab-burnt) 60%,#000);--burnt-800: color-mix(in srgb,var(--slab-burnt) 30%,#000);--burnt-accent-400: var(--saffron-accent-400);--burnt-accent-100: color-mix(in srgb,var(--burnt-accent-400) 18%,#fff);--burnt-accent-200: color-mix(in srgb,var(--burnt-accent-400) 40%,#fff);--burnt-accent-300: color-mix(in srgb,var(--burnt-accent-400) 68%,#fff);--burnt-accent-600: color-mix(in srgb,var(--burnt-accent-400) 60%,#000);--burnt-accent-800: color-mix(in srgb,var(--burnt-accent-400) 30%,#000);--burnt-ink: var(--saffron-ink);--burnt-dim: var(--burnt-accent-400);--pink-400: var(--slab-pink);--pink-100: color-mix(in srgb,var(--slab-pink) 18%,#fff);--pink-200: color-mix(in srgb,var(--slab-pink) 40%,#fff);--pink-300: color-mix(in srgb,var(--slab-pink) 68%,#fff);--pink-600: color-mix(in srgb,var(--slab-pink) 60%,#000);--pink-800: color-mix(in srgb,var(--slab-pink) 30%,#000);--pink-accent-400: #f5afd1;--pink-accent-100: color-mix(in srgb,var(--pink-accent-400) 18%,#fff);--pink-accent-200: color-mix(in srgb,var(--pink-accent-400) 40%,#fff);--pink-accent-300: color-mix(in srgb,var(--pink-accent-400) 68%,#fff);--pink-accent-600: color-mix(in srgb,var(--pink-accent-400) 60%,#000);--pink-accent-800: color-mix(in srgb,var(--pink-accent-400) 30%,#000);--pink-ink: var(--pink-100);--pink-dim: var(--pink-accent-400);--saffron-400: var(--slab-saffron);--saffron-100: color-mix(in srgb,var(--slab-saffron) 18%,#fff);--saffron-200: color-mix(in srgb,var(--slab-saffron) 40%,#fff);--saffron-300: color-mix(in srgb,var(--slab-saffron) 68%,#fff);--saffron-600: color-mix(in srgb,var(--slab-saffron) 60%,#000);--saffron-800: color-mix(in srgb,var(--slab-saffron) 30%,#000);--saffron-accent-400: #ffaa00;--saffron-accent-100: color-mix(in srgb,var(--saffron-accent-400) 18%,#fff);--saffron-accent-200: color-mix(in srgb,var(--saffron-accent-400) 40%,#fff);--saffron-accent-300: color-mix(in srgb,var(--saffron-accent-400) 68%,#fff);--saffron-accent-600: color-mix(in srgb,var(--saffron-accent-400) 60%,#000);--saffron-accent-800: color-mix(in srgb,var(--saffron-accent-400) 30%,#000);--saffron-ink: var(--saffron-100);--saffron-dim: var(--saffron-accent-400);--blue-wash: color-mix(in srgb,var(--slab-blue) 7%,#fff);--green-wash: color-mix(in srgb,var(--slab-green) 7%,#fff);--burnt-wash: color-mix(in srgb,var(--slab-burnt) 7%,#fff);--pink-wash: color-mix(in srgb,var(--slab-pink) 12%,#fff);--saffron-wash: color-mix(in srgb,var(--slab-saffron) 12%,#fff);--2nd-on-black: #6a7282;--2nd-on-blue: #b9bdff;--2nd-on-pink: #651d31;--2nd-on-green: #5bbc82;--2nd-on-saffron: #5c3600;--2nd-on-burnt: #2e1104;--r-s2:8px;--r-s3:12px;--r-s4:16px;--r-s5:24px;--r-s6:32px;--r-s7:48px;--r-s8:64px;--r-s9:96px;--r-wide:1360px;--r-display:58px;--r-display-lh:66px;--r-head:37px;--r-head-lh:44px;--r-sub:30px;--r-sub-lh:36px;--r-row:24px;--r-row-lh:30px;--r-lede:24px;--r-lede-lh:32px;--r-body:19px;--r-body-lh:31px;--r-info:15px;--r-info-lh:24px;--r-meta:15px;--r-meta-lh:22px;--r-stat:56px;--r-stat-lh:56px;--r-over:15px;--r-over-lh:15px;--r-label:12px;--r-label-lh:16px;--grid-gutter:var(--r-s5);--span-6:calc((100% - 11 * var(--grid-gutter)) / 12 * 6 + 5 * var(--grid-gutter));--span-7:calc((100% - 11 * var(--grid-gutter)) / 12 * 7 + 6 * var(--grid-gutter))}@media(max-width:900px){:root{--r-display:45px;--r-display-lh:51px;--r-head:31px;--r-head-lh:37px;--r-sub:26px;--r-sub-lh:32px;--r-row:22px;--r-row-lh:28px;--r-lede:22px;--r-lede-lh:30px;--r-body:18px;--r-body-lh:29px;--r-stat:40px;--r-stat-lh:42px;--span-6:100%;--span-7:100%}}*{box-sizing:border-box;margin:0;padding:0}h1,h2,h3,h4{font-weight:400;text-wrap:balance}h3,h4,.row h2,.post-body h3,.cb-t{font-size:var(--r-row);line-height:var(--r-row-lh);letter-spacing:-.015em}h2,.post-body h2,.casthead .cast-head,.fhead,.bento .b-title,.sb-grid .t{font-size:var(--r-sub);line-height:var(--r-sub-lh);letter-spacing:-.015em}h1,.post h1,.pagehead h1,.cb-h,.intro .i-head,.cta .c-head,.spellblock .sb-head,.bento .b-h2 .b-title{font-size:var(--r-head);line-height:var(--r-head-lh);letter-spacing:-.022em}.spellblock--page .sb-head{font-size:var(--r-display);line-height:var(--r-display-lh);letter-spacing:-.022em}.post .dek,.pagehead .ph-dek,.cb-feat-dek{font-size:var(--r-lede);line-height:var(--r-lede-lh);font-weight:400}.row p,.sb-grid .sb-desc,.post-body .prov p,.post-body .prov-l li,.post-body pre code{font-size:var(--r-info);line-height:var(--r-info-lh)}.meta,.postfoot .pf-val{font-size:var(--r-meta);line-height:var(--r-meta-lh)}button,summary,[role="button"],label[for]{cursor:pointer}img{max-width:100%;height:auto}picture{display:contents}.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:absolute;left:20px;top:-100px;z-index:100;padding:10px 16px;background:var(--page);color:var(--ink-title);border:1px solid var(--ink-title);border-radius:var(--ctl-r);font-size:13px;transition:top .12s ease}.skip:focus{top:20px}main:focus{outline:none}html{-webkit-font-smoothing:antialiased}body{background:var(--page);color:var(--ink-title);font-family:"Geist",-apple-system,"Helvetica Neue",sans-serif;letter-spacing:-.02em;font-size:16px;line-height:1.6;padding:0 20px 160px}a{color:inherit;text-decoration:none}.col{width:100%;max-width:var(--col);margin:0 auto}.col--wide{--frame-w:min(var(--r-wide),calc(100vw - var(--r-s6) * 2));--col-w:calc((var(--frame-w) - 11 * var(--grid-gutter)) / 12);max-width:calc(var(--col-w) * 8 + 7 * var(--grid-gutter))}@media (min-width:701px){.col--wide .thumb{--thumb-w:calc(var(--col-w) * 4 + 3 * var(--grid-gutter));width:var(--thumb-w);min-height:calc(var(--thumb-w) * 2 / 3)}}.mast{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;text-align:left;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--page) 72%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);margin:0 -20px;padding:16px 20px;transition:transform .3s ease}.mast.hide{transform:translateY(-100%)}.lockuplink{display:block;line-height:0;width:200px;transform:scale(var(--logoScale,1));transform-origin:left top;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .15s ease}.lockuplink.sm{transform:scale(1)}.lockup{width:200px;height:auto;display:block}body:not(.post-page) main{padding-top:var(--logoOverflow,0px)}.post-page main{padding-top:var(--r-s7)}.navrow{display:flex;align-items:center;gap:24px}.hnav{display:flex;gap:20px;font-size:13px;color:var(--ink-body)}.hnav a{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0;color:var(--nav-ink,var(--ink-body))}.pill-btn,.btn,.ghbtn,.tab,.b-pill,.c-pill,.cast-btn,.cast-repo,.cast-icon,.cast-src{font-family:inherit}.pill-btn,.btn,.ghbtn,.tab,.b-pill,.c-pill,.cast-btn,.cast-repo{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;border-radius:16px;padding:0 12px;border:0;font-size:15px;font-weight:400;line-height:1;letter-spacing:0;text-transform:none;background:color-mix(in srgb,currentColor 9%,transparent);color:inherit;background-image:none;box-shadow:none;text-decoration:none;cursor:pointer;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.btn{background:var(--slab-black);color:var(--ink-ink)}.btn--pixel,.ghbtn,.ghbtn.ui{font-family:var(--font-pixel);font-size:var(--r-label);letter-spacing:.06em;text-transform:uppercase}.ghbtn,.ghbtn.ui{position:relative;color:var(--ghbtn-ink,var(--ink-body));background:var(--ghbtn-ground,color-mix(in srgb,currentColor 9%,transparent))}.ghbtn svg{width:14px;height:14px;display:block;flex:none}.tab::before,.ghbtn::before{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}.block{margin-top:120px}.label,.label.ui,.post-body .prov .prov-t,.casthead .cast-lab,.postfoot .pf-lab,.post-body thead th,.intro .i-lab,.bento .b-lab,.spellblock .sb-lab,.cta .c-lab{font-family:var(--font-pixel);font-size:var(--r-over);line-height:var(--r-over-lh);text-transform:uppercase;letter-spacing:.06em}.label,.label.ui{font-weight:400;color:var(--ink-meta)}.stream{display:flex;flex-direction:column;gap:var(--r-s7)}.row{display:flex;gap:var(--r-s6)}.stream + .stream,.col + .col > .stream:first-child{margin-top:var(--r-s7)}.thumb{width:280px;height:auto;min-height:187px;flex:none;border-radius:0;overflow:hidden;position:relative;display:grid;place-items:center;font-size:var(--r-label);letter-spacing:.04em;color:var(--ink-meta)}.meta{color:var(--ink-meta)}.row h2{color:var(--ink-title);margin:0 0 var(--r-s3);transition:color .15s ease,opacity .08s ease}.row:active h2{opacity:.6}.tile:active .art{transform:scale(1.01)}.row p{color:var(--ink-body);margin:0 0 var(--r-s4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:20px}.tile{width:310px;height:300px;border-radius:0;overflow:hidden;position:relative;background:linear-gradient(160deg,var(--art-ph-a),var(--art-ph-b))}.thumb .art,.tile .art{position:absolute;inset:0;transition:transform .15s cubic-bezier(.16,1,.3,1)}.thumb .art{background:linear-gradient(150deg,var(--art-ph-a),var(--art-ph-b))}.thumb img.art{width:100%;height:100%;object-fit:cover}.thumb pixel-canvas{position:absolute;inset:0;pointer-events:none}.tile .art{background:inherit}.ph{position:relative}.tile .ph{position:absolute;top:20px;left:20px;font-size:var(--r-label);letter-spacing:.04em;color:var(--ink-meta)}.pwide{width:100%;max-width:min(1400px,92vw);margin:0 auto}.pstack{display:flex;flex-direction:column;gap:96px;margin-top:20px}.pfeat{display:flex;flex-direction:column;gap:32px}.pfeat .art{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0}.pcopy{display:flex;flex-direction:column;gap:12px;width:100%;max-width:var(--col);margin:0 auto}.pwide>.pfeat{margin-top:20px}@keyframes aplx{from{transform:translateY(-14%)}to{transform:translateY(0)}}.pcopy b{font-size:28px;font-weight:600;color:var(--ink-title);line-height:1.25}.pcopy p{font-size:16px;line-height:1.6;color:var(--ink-body);max-width:52ch}.caps{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:var(--r-over);line-height:1.5;color:var(--ink-title)}.caps li::before{content:"+ ";color:var(--blue)}.plinks{display:flex;gap:18px}.plinks a{color:var(--blue)}@media (max-width:767px){.pfeat{gap:20px}.pstack{gap:64px}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes plate-red{0%{opacity:.95;transform:translateX(-6px)}60%{opacity:.7;transform:translateX(3px)}100%{opacity:0;transform:none}}@keyframes plate-cyan{0%{opacity:.95;transform:translateX(6px)}60%{opacity:.7;transform:translateX(-3px)}100%{opacity:0;transform:none}}.tile .scrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--ink-800) 78%,transparent) 100%)}.tile .cap{position:absolute;left:20px;right:20px;bottom:20px;color:var(--ink-ink)}.tile .cap span{display:block;font-size:14px;line-height:1.5;opacity:.85}.tile .cap b{display:block;font-size:21px;font-weight:600;line-height:1.4}.about{display:flex;gap:30px;margin-top:20px}.about p{font-size:24px;font-weight:400;line-height:1.4;color:var(--ink-title)}footer{margin-top:160px;font-size:14px;line-height:1.6;color:var(--ink-body)}.fgrid{display:grid;grid-template-columns:minmax(340px,500px) 1fr;align-items:end;gap:min(80px,7vw);padding:0 min(7vw,96px)}.fnav{display:flex;justify-content:flex-start;gap:min(56px,4.5vw);flex-wrap:nowrap;width:fit-content;margin-left:0}.fnav a{font-family:var(--font-pixel);font-size:clamp(22px,2.4vw,36px);font-weight:400;line-height:1;color:var(--nav-ink,var(--ink-title));white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}.fhead{color:var(--ink-title);max-width:18ch;margin:16px 0 20px}.fsub{display:flex;gap:10px;max-width:420px}.femail{flex:1;min-width:0;height:40px;padding:0 14px;font:inherit;font-size:14px;background:var(--page);border:1px solid var(--rule);border-radius:0;color:var(--ink-title)}.femail:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:transparent}footer .credit{color:var(--credit-ink,var(--ink-meta));font-size:var(--r-label);line-height:var(--r-label-lh)}.bigmark{position:relative;width:100vw;margin:90px calc(50% - 50vw) -160px;line-height:0}.bigmark svg{display:block;width:100%;height:auto}.creditcard{align-self:flex-start;padding:0;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;line-height:var(--r-label-lh);white-space:normal}@media (hover:hover) and (pointer:fine){.fnav a:hover{color:var(--nav-hover-ink,var(--blue))}}@media (max-width:1024px){.fgrid{grid-template-columns:1fr;gap:48px}.fnav{margin-left:0}}@media (max-width:600px){.fnav{flex-wrap:wrap;gap:20px min(56px,4.5vw)}.fgrid,.fside,.fright{min-width:0}}.js .rise{opacity:0;transform:translateY(10px)}.js .rise.in{opacity:1;transform:none;transition:opacity .55s cubic-bezier(.16,1,.3,1) var(--d,0ms),transform .55s cubic-bezier(.16,1,.3,1) var(--d,0ms)}.ui{font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:.02em;font-weight:400}.pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;margin-top:16px;border-radius:0;background:color-mix(in srgb,var(--pill-ink,var(--blue)) 9%,var(--page));color:var(--pill-ink,var(--blue));font-family:var(--font-pixel);font-size:var(--r-label);line-height:var(--r-label-lh);font-weight:400;letter-spacing:.06em;text-transform:uppercase;transition:background .15s ease}.pill--lesson{--pill-ink:var(--slab-green)}.pill--quest{--pill-ink:var(--slab-burnt)}.pill--collection{--pill-ink:var(--ink-body)}.pill--draft{--pill-ink:var(--slab-black)}@media (hover:hover) and (pointer:fine){.row:hover h2{color:var(--blue)}.row:hover .pill{background:color-mix(in srgb,var(--pill-ink,var(--blue)) 16%,var(--page))}.tile:hover .art{transform:scale(1.04)}.btn:hover{color:var(--ink-ink);background:var(--black-lift)}.ghbtn:hover{background:var(--ghbtn-hover-ground,var(--slab-black));color:var(--ghbtn-hover-ink,var(--ink-ink))}.lockuplink:hover{opacity:.72}.hnav a:hover{color:var(--nav-hover-ink,var(--blue))}footer nav a:hover{color:var(--blue)}}.btn:active{background:var(--black-press)}.ghbtn:active{background:color-mix(in srgb,currentColor 16%,transparent)}.px{opacity:0;animation:px var(--t) steps(1) var(--d) infinite}@keyframes px{0%{opacity:0}7%{opacity:var(--o)}17%{opacity:0}100%{opacity:0}}@media (prefers-reduced-motion:reduce){*{transition-property:opacity,color,background-color,border-color,box-shadow!important;animation:none!important}.js .rise{opacity:1!important;transform:none!important}.thumb .art,.tile .art,.btn:active,.ghbtn:active,.tab:active,.tile:active .art{transform:none!important}.px{opacity:calc(var(--o) * .5)!important;animation:none!important}}@media (max-width:700px){.row{flex-direction:column;gap:16px}.thumb{width:100%;height:auto;aspect-ratio:3/2}.tile{width:100%;height:auto;aspect-ratio:31/30}.about{flex-direction:column}.navrow{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 16px}.hnav{gap:14px}.block{margin-top:96px}}.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:44px;margin-top:20px}.post{width:100%;max-width:min(1400px,94vw);margin:0 auto}article.post + .post{margin-top:120px}@media (max-width:700px){article.post + .post{margin-top:96px}}.post > *,.post-body > *{width:100%;max-width:var(--col);margin-left:auto;margin-right:auto}.pillrow{line-height:0}.postart-wrap{position:relative;width:min(var(--r-wide),calc(100vw - var(--r-s6) * 2));max-width:100%;margin:0 auto var(--r-s7);border-radius:0;overflow:hidden;line-height:0}.postart{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.postart-wrap pixel-canvas{position:absolute;inset:0;pointer-events:none}.cast-btn{white-space:nowrap}.cast-btn svg{width:14px;height:14px;display:block;flex:none}.prov{width:100%;max-width:var(--col);margin:0 auto var(--r-s7);padding:var(--r-s5) var(--r-s6);background:var(--story-wash,var(--fill));border-left:0;border-radius:5px}.post-body .prov .prov-t{color:var(--story-ink,var(--ink-meta));margin:0 0 var(--r-s3)}.post-body .prov p,.post-body .prov-l li{margin:0;color:var(--ink-body)}.post-body .prov-l{margin:0}.post-body .prov-l li+li{margin-top:var(--r-s2)}.casthead{margin:var(--r-s8) auto var(--r-s5)}.casthead .cast-lab{color:var(--ink-meta);display:block;margin:0 0 var(--r-s3)}.casthead .cast-head{color:var(--ink-title);max-width:24ch;margin:0}.cast-said,.cast-icon svg + svg{display:none}.cast-btn.is-copied .cast-say,.cast-icon.is-copied svg:first-child{display:none}.cast-btn.is-copied .cast-said,.cast-icon.is-copied svg + svg{display:block}.post-body .cast-how{margin-bottom:var(--r-s7)}.cast-code{position:relative;width:100%;max-width:var(--col);margin:0 auto var(--r-s6)}.cast-icon{position:absolute;top:10px;right:10px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:5px;background:none;color:var(--story-ink,var(--blue-deep));cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.cast-icon svg{width:16px;height:16px;display:block}@media(hover:hover) and (pointer:fine){.cast-icon:hover{background:var(--page);border-color:var(--story-line,var(--blue-line))}}.cast-icon:focus-visible{outline:3px solid var(--story,var(--blue));outline-offset:2px}.post-body .cast-code pre.cast-pre{padding-top:calc(var(--r-s5) + 26px);margin:0}.post-body pre.cast-pre{background:var(--story-wash,var(--blue-softer));border:1px solid var(--story-line,var(--blue-line));border-radius:5px;padding:var(--r-s5);margin:0 auto var(--r-s6)}.post-body pre.cast-pre,.post-body pre.cast-pre code{white-space:pre-wrap;overflow-wrap:anywhere}.post-body pre.cast-pre code{color:var(--story-ink,var(--blue-deep))}.casttop{width:100%;max-width:var(--col);margin:var(--r-s5) auto var(--r-s6);display:flex;align-items:center;gap:var(--r-s4);flex-wrap:wrap}.skillchip{font-family:var(--font-mono);font-size:.85em;background:var(--story-wash,var(--blue-softer));border:1px solid var(--story-line,var(--blue-line));border-radius:5px;padding:1px 5px;color:var(--story-ink,var(--blue-deep));white-space:nowrap}.cast-repo{font-family:var(--font-pixel);font-size:var(--r-label);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.cast-repo svg{width:14px;height:14px;display:block;flex:none}.casttop .cast-btn{background:var(--story-deep,var(--slab-black));color:var(--story-on)}.casttop .cast-repo,.casttop .cast-btn--quiet{background:var(--story-wash,var(--fill));color:var(--story-ink,var(--ink-title))}@media(hover:hover) and (pointer:fine){.casttop .cast-btn:hover{background:var(--story-ink,var(--black-lift));color:var(--story-on)}.casttop .cast-repo:hover,.casttop .cast-btn--quiet:hover{background:var(--story-soft,var(--fill));color:var(--story-ink,var(--ink-title))}}.casttop .cast-btn:focus-visible,.casttop .cast-repo:focus-visible{outline:3px solid var(--story,var(--blue));outline-offset:3px}.cast-src{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.postfoot{width:100%;max-width:var(--col);border-top:1px solid var(--rule);margin:var(--r-s8) auto 0;padding:var(--r-s6) 0 0;display:flex;gap:var(--r-s8);flex-wrap:wrap}.postfoot .pf-item{display:flex;flex-direction:column;gap:var(--r-s2)}.postfoot .pf-lab{color:var(--ink-meta)}.postfoot .pf-val{color:var(--ink-title);font-variant-numeric:tabular-nums}a.pill{text-decoration:none}@media(hover:hover) and (pointer:fine){a.pill:hover{background:var(--pill-ink,var(--blue));color:var(--page)}}a.pill:focus-visible{outline:3px solid var(--pill-ink,var(--blue));outline-offset:2px}.postfoot .pf-val .pill{margin-top:0}@media(hover:hover) and (pointer:fine){}.postfoot .pf-tags{display:flex;gap:var(--r-s2);flex-wrap:wrap}.postfoot .pf-tag{font-family:var(--font-pixel);font-size:var(--r-label);line-height:var(--r-label-lh);text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;background:var(--story-wash);color:var(--story-ink);text-decoration:none;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}@media(hover:hover) and (pointer:fine){.postfoot a.pf-tag:hover{background:var(--story);color:var(--page)}}.post-body > p:has(> img){max-width:none}.post > .doors{max-width:none}.post-body > p:has(> img) img{display:block;margin:0 auto;border-radius:0}.post .pill{margin-top:0}.post h1{margin:var(--r-s4) auto var(--r-s5)}.post .dek{color:var(--ink-body);margin:0 auto var(--r-s5)}.post .meta{font-family:var(--font-pixel);font-size:var(--r-label);line-height:var(--r-label-lh);text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums}.post-body{margin-top:var(--r-s8);max-width:none}.post-body h2{margin:var(--r-s8) auto var(--r-s4)}.post-body h3{color:var(--ink-title);margin:var(--r-s7) auto var(--r-s4)}.post-body p,.post-body li{font-size:var(--r-body);line-height:var(--r-body-lh)}.post-body p{margin:0 auto var(--r-s5);color:var(--ink-body)}.post-body hr{border:0;border-top:1px solid var(--rule);margin:var(--r-s8) auto}.post-body ol,.post-body ul{margin:0 auto var(--r-s5);padding-left:24px;color:var(--ink-body)}.post-body li{margin-bottom:var(--r-s2)}.post-body strong{font-weight:500}.post-body a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--blue) 35%,var(--page))}.post-body pre{font-family:var(--font-mono);background:var(--story-wash,var(--wash));border-radius:0;padding:16px 20px;margin:0 auto 20px}.post-body pre code{font-family:var(--font-mono);color:var(--ink-title);white-space:pre-wrap;overflow-wrap:anywhere}.post-body code{font-family:var(--font-mono);font-size:var(--r-over);color:var(--ink-body)}.post-body :not(pre) > code:not(.skill){background:var(--wash);border:1px solid color-mix(in srgb,var(--rule) 50%,transparent);border-radius:5px;padding:1px 5px;white-space:nowrap}.post-body code.skill{background:var(--story-wash,var(--blue-softer));border:1px solid var(--story-line,var(--blue-line));border-radius:5px;padding:1px 5px;color:var(--story-ink,var(--blue-deep));white-space:nowrap}.post-body a > code.skill{text-decoration:none;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.post-body a:has(> code.skill){text-decoration:none}@media (hover:hover) and (pointer:fine){.post-body a:hover > code.skill{background:var(--story-soft,var(--blue-soft));border-color:var(--story,var(--blue))}}.post-body blockquote{margin:var(--r-s6) auto;padding:var(--r-s5) var(--r-s6);background:var(--wash);border:0;border-radius:5px}.post-body blockquote p,.post-body blockquote li{font-size:var(--r-info);line-height:var(--r-info-lh);color:var(--ink-body)}.post-body blockquote p{margin:0}.post-body blockquote p + p{margin-top:var(--r-s3)}.post-body blockquote ul{margin:var(--r-s2) 0 0}.post-body blockquote ul + p{margin-top:var(--r-s4)}.post-body blockquote li:last-child{margin-bottom:0}.post-body .tablewrap{overflow-x:auto;margin:var(--r-s7) auto var(--r-s7);-webkit-overflow-scrolling:touch}.post-body table{border-collapse:collapse;width:100%;margin:0;font-size:var(--r-info);line-height:var(--r-info-lh);table-layout:fixed}.post-body thead th{line-height:1.5;color:var(--ink-meta);font-weight:400;text-align:left;padding:0 20px 12px 0;border-bottom:1px solid var(--rule)}.post-body tbody td{padding:12px 20px 12px 0;vertical-align:top;color:var(--ink-body);border-bottom:1px solid var(--rule)}.post-body tbody tr:last-child td{border-bottom:0}.post-body th:last-child,.post-body td:last-child{padding-right:0}.post-body table code{white-space:nowrap}@media (max-width:600px){.post-body table{table-layout:auto}.post-body th,.post-body td{min-width:8em}.post-body thead th{padding-right:12px;font-size:var(--r-label);line-height:1.5}.post-body tbody td{padding:10px 12px 10px 0}}.post-body::after{content:"";display:table;clear:both}.post{--story: var(--slab-blue);--story-on: var(--blue-ink);--story-wash: color-mix(in srgb,var(--story) 6%,#fff);--story-soft: color-mix(in srgb,var(--story) 12%,#fff);--story-line: color-mix(in srgb,var(--story) 22%,#fff);--story-ink: color-mix(in srgb,var(--story) 76%,#000);--story-ink-2: color-mix(in srgb,var(--story) 40%,#4a4d55);--story-deep: var(--story)}.post--spell{--story: var(--slab-blue);--story-on: var(--blue-ink)}.post--lesson{--story: var(--slab-green);--story-on: var(--green-ink)}.post--quest{--story: var(--slab-burnt);--story-on: var(--burnt-ink)}@media(min-width:1280px){.post-body::after{clear:none}}@media (hover:hover) and (pointer:fine){.post-body a:hover{text-decoration-color:var(--blue)}}.fgrid{display:none}.fnavrow{display:flex;flex-direction:column;align-items:flex-start;gap:var(--r-s5);padding:0 var(--r-s6);position:relative;z-index:1}.r-pix{position:relative;overflow:hidden;display:block}.r-pix img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}.r-pix pixel-canvas{position:absolute;inset:0;pointer-events:none}pixel-canvas{pointer-events:none}.r-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.idx .day,.list .lm{font-variant-numeric:tabular-nums}.feature{width:min(var(--r-wide),calc(100vw - var(--r-s6) * 2));margin:var(--r-s9) auto}.intro{width:min(var(--r-wide),calc(100vw - var(--r-s6) * 2));margin:var(--r-s8) auto var(--r-s7);padding:0 var(--r-s7)}@media(max-width:600px){.intro{padding:0 var(--r-s5)}}.intro .i-lab{color:var(--ink-meta);display:block;margin:0 0 var(--r-s4)}.intro .i-head{margin:0;max-width:var(--span-7);color:var(--slab-black)}.intro .i-head em{font-style:normal;color:var(--blue-400)}.pagehead{margin:0 0 var(--r-s8)}.pagehead h1{margin:var(--r-s4) 0 0;max-width:var(--span-7);color:var(--ink-title)}.pagehead .ph-dek{color:var(--ink-body);margin:var(--r-s4) 0 0;max-width:var(--span-6)}.cb-h{display:block;font-weight:400;margin:var(--r-s4) 0 0;max-width:var(--span-7);color:var(--ink-title);text-wrap:balance}.cb-rail{display:flex;gap:var(--r-s6);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;margin:-4px calc((100vw - 100%) / -2) -4px -4px;padding:4px var(--r-s6) 4px 4px;scrollbar-width:none}.cb-thumb{position:relative;display:block}.cb-thumb pixel-canvas{position:absolute;inset:0;pointer-events:none}.cb-t{transition:color .15s ease}@media(hover:hover) and (pointer:fine){.cb-card:hover .cb-t{color:var(--blue)}}.cb-rail::-webkit-scrollbar{display:none}.cb-card{flex:0 0 min(560px,80vw);scroll-snap-align:start;text-decoration:none;color:var(--slab-black)}.cb-card .cb-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.cb-t{display:block;margin-top:var(--r-s4)}.cb-feat{position:relative;display:block;min-height:min(80vh,760px);overflow:hidden;text-decoration:none;color:var(--page)}.cb-feat .cb-feat-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.55);transition:filter .5s ease}@media(hover:hover) and (pointer:fine){.cb-feat:hover .cb-feat-img,.cb-feat:focus-visible .cb-feat-img{filter:none}}.cb-feat-scrim{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--slab-black) 10%,transparent) 0%,color-mix(in srgb,var(--slab-black) 35%,transparent) 30%,color-mix(in srgb,var(--slab-black) 78%,transparent) 58%,color-mix(in srgb,var(--slab-black) 94%,transparent) 100%)}.cb-feat-in{position:absolute;left:var(--r-s7);right:var(--r-s7);bottom:var(--r-s7);display:flex;flex-direction:column;align-items:flex-start;gap:var(--r-s4)}.cb-feat-in .label.ui,.cb-feat-in .cb-h{color:var(--page)}.cb-feat-in .cb-h{margin:0}.cb-feat-dek{max-width:var(--span-6)}.cb-go{margin:var(--r-s5) 0 0}.spellblock.sb-world{--sb-ground:var(--world);--sb-ink:var(--world-ink);--sb-2nd:var(--world-2nd);--sb-deep:var(--world-deep)}.sb-world .sb-grid{--sb-line:var(--world-line)}.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(clamp(300px,26vw,420px),auto);gap:0}.bento > *{display:flex;flex-direction:column;justify-content:space-between;padding:var(--r-s7) var(--r-s6);text-decoration:none;overflow:hidden;border-radius:0;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.bento .b-w2{grid-column:span 2}.bento .b-h2,.bento .b-tall{grid-row:span 2}.bento .b-art{padding:0;background:var(--slab-black);position:relative;display:flex;flex-direction:column;justify-content:flex-end}.bento .b-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.bento .b-art pixel-canvas{position:absolute;inset:0;pointer-events:none}.b-scrim{position:relative;padding:var(--r-s8) var(--r-s6) var(--r-s6);background:linear-gradient(to top,color-mix(in srgb,var(--ink-800) 92%,transparent) 0%,color-mix(in srgb,var(--ink-800) 78%,transparent) 38%,transparent 100%);color:var(--ink-ink);display:flex;flex-direction:column;gap:var(--r-s3)}.b-scrim .b-lab{color:var(--on-scrim)}.b-scrim .b-title{color:var(--ink-ink)}.bento .b-blue{--tile:var(--slab-blue);--tile-ink:var(--blue-ink);--tile-2nd:var(--blue-dim);--tile-deep:var(--blue-deep)}.bento .b-pink{--tile:var(--slab-pink);--tile-ink:var(--pink-ink);--tile-2nd:var(--pink-dim);--tile-deep:var(--pink-800)}.bento .b-green{--tile:var(--slab-green);--tile-ink:var(--green-ink);--tile-2nd:var(--green-dim);--tile-deep:var(--slab-green)}.bento .b-saffron{--tile:var(--slab-saffron);--tile-ink:var(--saffron-ink);--tile-2nd:var(--saffron-dim);--tile-deep:var(--saffron-800)}.bento .b-black,.bento .b-blue,.bento .b-pink,.bento .b-green,.bento .b-saffron,.bento .b-burnt{background:var(--tile);color:var(--tile-ink)}.bento .b-lab{font-variant-numeric:tabular-nums}.bento .b-lab{color:var(--tile-2nd)}.bento .b-title{font-weight:400;margin:var(--r-s4) 0 0}.bento .b-h2 .b-title{max-width:20ch}.bento .b-w2:not(.b-h2) .b-title{max-width:26ch}.bento .b-title em{font-style:normal}.bento .b-title em{color:var(--tile-2nd)}.bento .b-foot{margin-top:auto;padding-top:var(--r-s6)}.bento .b-cta{justify-content:space-between}@media(max-width:1199px){.bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(300px,auto)}.bento .b-tall{grid-row:span 1}.bento > *:last-child{grid-column:1 / -1}}@media(max-width:600px){.bento{grid-template-columns:1fr;grid-auto-rows:minmax(280px,auto)}.bento .b-w2{grid-column:span 1}.bento .b-h2{grid-row:span 1}}.spellblock{background:var(--sb-ground);color:var(--sb-ink);padding:var(--r-s8) var(--r-s7);--sb-ground:var(--slab-blue);--sb-ink:var(--blue-ink);--sb-2nd:var(--blue-dim);--sb-deep:var(--blue-deep);--sb-dek-ink:rgba(255,255,255,.86)}.spellblock .sb-lab{color:var(--sb-2nd);display:block;margin:0 0 var(--r-s4)}.spellblock .sb-head{font-weight:400;margin:0;max-width:var(--span-7)}.spellblock .sb-head em{font-style:normal;color:var(--sb-2nd)}.spellblock .sb-dek{font-size:var(--r-body);line-height:var(--r-body-lh);margin:var(--r-s4) 0 0;max-width:var(--span-6);color:var(--sb-dek-ink)}.sb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:none;margin:var(--r-s7) 0 0;--sb-line:rgba(255,255,255,.22)}.sb-grid > *{border-top:1px solid var(--sb-line);border-left:1px solid var(--sb-line)}.sb-grid > *:nth-child(-n+3){border-top:0}.sb-grid > *:nth-child(3n+1){border-left:0}.sb-grid .sb-art{display:block;width:100%;aspect-ratio:3/2;overflow:hidden;margin:0 0 var(--r-s5);border-radius:0}.sb-grid .sb-art img{width:100%;height:100%;object-fit:cover;display:block}.sb-grid a:has(.sb-art){justify-content:flex-start}.sb-grid a:has(.sb-art) .sb-desc{margin-top:var(--r-s4)}@media(hover:hover) and (pointer:fine){.sb-grid .sb-art img{transition:transform .5s cubic-bezier(.4,0,.2,1)}.sb-grid a:hover .sb-art img{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.sb-grid a:hover .sb-art img{transform:none}}.sb-fill{min-height:150px}.sb-grid a{background:var(--sb-ground);padding:var(--r-s5);min-height:150px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:inherit;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.sb-grid .n{font-family:var(--font-pixel);font-size:var(--r-over);line-height:var(--r-over-lh);color:var(--sb-ink);opacity:.85;font-variant-numeric:tabular-nums}.sb-grid .t{color:var(--sb-2nd);font-weight:400;margin:var(--r-s4) 0 var(--r-s3)}.sb-grid .sb-desc{display:block;color:var(--sb-ink);margin-top:auto}.sb-grid .sb-soon{background:var(--sb-ground);padding:var(--r-s5);min-height:150px;display:flex;flex-direction:column;justify-content:space-between;color:var(--sb-2nd)}.sb-grid .sb-soon .t{color:var(--sb-2nd)}@media(max-width:800px){.sb-grid{margin-left:calc(var(--r-s5) * -1);margin-right:calc(var(--r-s5) * -1)}.sb-grid > a,.sb-grid > .sb-soon,.sb-grid > .sb-fill{padding-left:var(--r-s5);padding-right:var(--r-s5)}.sb-grid .sb-desc{margin-top:var(--r-s3)}.sb-grid{grid-template-columns:1fr}.sb-grid > *,.sb-grid > *:nth-child(-n+3){border-left:0;border-top:1px solid var(--sb-line)}.sb-grid > *:nth-child(3n+1){border-left:0}.sb-grid > *:first-child{border-top:0}.sb-fill{display:none}}@media(max-width:600px){.spellblock{padding:var(--r-s7) var(--r-s5)}}.world-page{background:var(--world);color:var(--world-ink);--ghbtn-ground:var(--world-scrim);--ghbtn-ink:var(--world-ink);--ghbtn-hover-ground:var(--world-line);--ghbtn-hover-ink:var(--world-ink);--nav-ink:var(--world-ink);--nav-hover-ink:var(--world-2nd);--credit-ink:var(--world-2nd);--logo-ink:var(--world-2nd);--logo-wizard:var(--world)}.world-page .mast,.world-page footer{background:var(--world)}.world-blue{--world:var(--slab-blue);--world-deep:var(--blue-deep);--world-2nd:var(--blue-dim);--world-ink:var(--blue-ink);--world-scrim:rgba(255,255,255,.14);--world-line:rgba(255,255,255,.24)}.world-green{--world:var(--slab-green);--world-deep:var(--slab-green);--world-2nd:var(--green-dim);--world-ink:var(--green-ink);--world-scrim:rgba(255,255,255,.14);--world-line:rgba(255,255,255,.24)}.world-burnt{--world:var(--slab-burnt);--world-deep:var(--burnt-deep);--world-2nd:var(--burnt-dim);--world-ink:var(--burnt-ink);--world-scrim:rgba(0,0,0,.10);--world-line:rgba(0,0,0,.20)}.world-black{--world:var(--slab-black);--world-deep:var(--ink-800);--world-2nd:var(--ink-dim);--world-ink:var(--ink-ink);--world-scrim:rgba(255,255,255,.14);--world-line:rgba(255,255,255,.24)}.world-pink{--world:var(--slab-pink);--world-2nd:var(--pink-dim);--world-ink:var(--pink-ink);--world-scrim:rgba(0,0,0,.10);--world-line:rgba(0,0,0,.20)}.world-saffron{--world:var(--slab-saffron);--world-2nd:var(--saffron-dim);--world-ink:var(--saffron-ink);--world-scrim:rgba(0,0,0,.10);--world-line:rgba(0,0,0,.20)}.world-page .spellblock{background:transparent;padding-left:0;padding-right:0;--sb-ground:var(--world);--sb-ink:var(--world-ink);--sb-2nd:var(--world-2nd);--sb-deep:var(--world-deep)}.world-page .sb-grid{--sb-line:var(--world-line)}@media(max-width:700px){.world-page .sb-grid{margin-left:-20px;margin-right:-20px}.world-page .sb-grid > a,.world-page .sb-grid > .sb-soon,.world-page .sb-grid > .sb-fill{padding-left:20px;padding-right:20px}}@media(hover:hover) and (pointer:fine){}.sb-grid a:focus-visible{outline-color:var(--sb-2nd)}.rowgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--r-s6);margin:20px 0 0}.rowgrid .row{flex-direction:column;gap:var(--r-s4)}.rowgrid .thumb{width:100%;height:auto;aspect-ratio:3/2}.rowgrid .row > div:not(.thumb){display:flex;flex-direction:column;align-items:flex-start;flex:1}.rowgrid .row > div:not(.thumb) > .pill{margin-top:auto}@media(max-width:900px){.rowgrid{grid-template-columns:1fr}}.spellblock .sb-cta{margin:var(--r-s5) 0 0}.stream-more{margin:var(--r-s6) 0 0}@media(hover:hover) and (pointer:fine){.pill-btn:hover{background:color-mix(in srgb,currentColor 18%,transparent)}.spellblock .b-pill:hover{background:color-mix(in srgb,currentColor 24%,transparent)}}.spellblock--page{padding:var(--r-s9) var(--r-s7)}.spellblock--page .sb-head{max-width:var(--span-7)}.spellblock--page .sb-dek{max-width:var(--span-6)}.spellblock--page .sb-grid{margin-top:var(--r-s8)}.spellblock--page .sb-grid a,.spellblock--page .sb-grid .sb-soon,.spellblock--page .sb-fill{min-height:190px}@media(max-width:800px){.sb-grid a,.sb-grid .sb-soon,.sb-fill,.spellblock--page .sb-grid a,.spellblock--page .sb-grid .sb-soon,.spellblock--page .sb-fill{min-height:0;justify-content:flex-start}}@media(max-width:900px){.spellblock--page{padding:var(--r-s8) var(--r-s6)}.spellblock--page .sb-head{font-size:var(--r-head);line-height:var(--r-head-lh)}}@media(max-width:600px){.spellblock--page{padding:var(--r-s7) var(--r-s5)}}.spellblock a.skill,.cta a.skill,.intro a.skill{color:var(--sb-ground);background:var(--sb-2nd);text-decoration:none;font-weight:inherit;padding:0 .14em;margin:0 -.06em;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:color .15s ease,background-color .15s ease}@media(hover:hover) and (pointer:fine){.spellblock a.skill:hover,.cta a.skill:hover,.intro a.skill:hover{background:var(--sb-ink);color:var(--sb-ground)}}.spellblock a.skill:focus-visible{outline:3px solid var(--sb-ink);outline-offset:3px}.cta{background:var(--slab-black);color:var(--ink-ink);width:min(var(--r-wide),calc(100vw - var(--r-s6) * 2));margin:var(--r-s9) auto var(--r-s8);padding:var(--r-s9) var(--r-s7)}.cta .c-lab{color:var(--ink-dim);display:block;margin:0 0 var(--r-s5)}.cta .c-head{font-weight:400;margin:0;max-width:var(--span-7)}.cta .c-head em{font-style:normal;color:var(--ink-dim)}.cta .c-foot{margin:var(--r-s7) 0 0}@media(max-width:600px){.cta{padding:var(--r-s8) var(--r-s5)}}@media(max-width:700px){.feature,.intro,.cta{width:100%}}@media(hover:hover) and (pointer:fine){.bento a:hover{background:var(--tile-2nd)}.bento a:hover .b-title{color:var(--tile)}.bento a:hover .b-lab,.bento a:hover .b-title em{color:var(--tile-deep)}.bento a.b-art img{transition:transform .5s cubic-bezier(.4,0,.2,1)}.bento a.b-art:hover img{transform:scale(1.06)}.sb-grid a:hover{background:var(--sb-2nd)}.sb-grid a:hover .t{color:var(--sb-ground)}.sb-grid a:hover .sb-desc{color:var(--sb-deep)}.sb-grid a:hover .n{color:var(--sb-deep);opacity:.96}.cta a.c-pill:hover{background:color-mix(in srgb,currentColor 24%,transparent)}}.bento a:focus-visible,.sb-grid a:focus-visible{outline:3px solid var(--sb-2nd);outline-offset:-3px;position:relative;z-index:1}.bento a.b-saffron:focus-visible{outline-color:var(--2nd-on-saffron)}.cta a.c-pill:focus-visible{outline:3px solid var(--ink-dim);outline-offset:3px}@media(prefers-reduced-motion:reduce){.bento a.b-art img,.bento > *,.sb-grid a{transition:none}.bento a.b-art:hover img{transform:none}}.b-pill,.c-pill{background:color-mix(in srgb,currentColor 13%,transparent)}@media(hover:hover) and (pointer:fine){.bento a:hover .b-pill{background:color-mix(in srgb,currentColor 14%,transparent);color:var(--tile-deep)}}