@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/bricolage-grotesque-latin-600-normal.nxTgbNFE.woff2)format("woff2"),url(/_astro/bricolage-grotesque-latin-600-normal.Bw0J83-2.woff)format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/bricolage-grotesque-latin-700-normal.gtcctNPv.woff2)format("woff2"),url(/_astro/bricolage-grotesque-latin-700-normal.DvJDmrLu.woff)format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/bricolage-grotesque-latin-800-normal.J50vIsBe.woff2)format("woff2"),url(/_astro/bricolage-grotesque-latin-800-normal.Br4b-5gk.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}:root{color-scheme:light;--bg:#fbf8f3;--surface:#fff;--surface-2:#f6f2eb;--line:#e3dbce;--line-2:#efe9df;--line-strong:#8e8478;--fg:#1c1917;--muted:#5f574e;--accent:#c2410c;--accent-hover:#9a3412;--accent-fg:#fff;--accent-soft:#ffedd5;--accent-ink:#9a3412;--rail:#221d33;--rail-fg:#d3cce0;--rail-label:#a097b3;--rail-active:#3a3150;--rail-hover:#2c2541;--rail-line:#352d48;--mark:#ffe58a;--mark-ink:#1c1917;--good-bg:#ddf2e5;--good:#0f5a37;--warn-bg:#fde8d4;--warn:#8a3e05;--claude-bg:#eee8fb;--claude:#4b2c93;--chip-bg:#efeae2;--chip:#463f37;--code:#f6f2eb;--toggle-off:#8c8478;--overlay:#1c191729;--pop:#ff7a45;--pop-ink:#1c1917;--sun:#ffd84d;--sun-ink:#1c1917;--lilac:#f1ebff;--hard:#1c1917;--hard-line:#1c1917;--f-display:"Bricolage Grotesque", "Arial Rounded MT Bold", "Helvetica Neue", Arial, sans-serif;--f-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--text-hero:clamp(40px, 6.2vw, 76px);--text-section:clamp(28px, 3.6vw, 42px);--text-page-title:22px;--text-body:14px;--text-small:13px;--text-label:11px;--tracking-hero:-.03em;--tracking-label:.06em;--radius-button:7px;--radius-field:8px;--radius-card:10px;--radius-site-card:16px;--radius-pill:999px;--shadow-hard:5px 5px 0 var(--hard);--shadow-hard-sm:3px 3px 0 var(--hard);--shadow-menu:0 14px 36px var(--overlay);--shadow-dialog:0 18px 50px var(--overlay);--motion-bob:3.4s;--motion-wiggle:.6s;--motion-stagger:.12s;--motion-sweep:1.2s;--motion-fast:.12s;--focus-ring:2px solid var(--accent);--focus-offset:2px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#16131f;--surface:#1e1a29;--surface-2:#252033;--line:#3a3349;--line-2:#2d2739;--line-strong:#756c8a;--fg:#f2eef7;--muted:#b3aac2;--accent:#fb8f5a;--accent-hover:#fda97f;--accent-fg:#1c1208;--accent-soft:#3d2418;--accent-ink:#fdba94;--rail:#100d18;--rail-fg:#d3cce0;--rail-label:#9389a8;--rail-active:#2e2740;--rail-hover:#1d1829;--rail-line:#2a2438;--mark:#5e4c14;--mark-ink:#fff4cf;--good-bg:#15321f;--good:#93d9b1;--warn-bg:#3b2513;--warn:#f5bc8e;--claude-bg:#2a2146;--claude:#cdbbf6;--chip-bg:#2c2639;--chip:#d6cfe2;--code:#13101b;--toggle-off:#625a74;--overlay:#00000080;--pop:#ff8a5b;--pop-ink:#1c1917;--sun:#f2c94c;--sun-ink:#1c1917;--lilac:#211b33;--hard:#07050c;--hard-line:#4d4463}}:root[data-theme=dark]{color-scheme:dark;--bg:#16131f;--surface:#1e1a29;--surface-2:#252033;--line:#3a3349;--line-2:#2d2739;--line-strong:#756c8a;--fg:#f2eef7;--muted:#b3aac2;--accent:#fb8f5a;--accent-hover:#fda97f;--accent-fg:#1c1208;--accent-soft:#3d2418;--accent-ink:#fdba94;--rail:#100d18;--rail-fg:#d3cce0;--rail-label:#9389a8;--rail-active:#2e2740;--rail-hover:#1d1829;--rail-line:#2a2438;--mark:#5e4c14;--mark-ink:#fff4cf;--good-bg:#15321f;--good:#93d9b1;--warn-bg:#3b2513;--warn:#f5bc8e;--claude-bg:#2a2146;--claude:#cdbbf6;--chip-bg:#2c2639;--chip:#d6cfe2;--code:#13101b;--toggle-off:#625a74;--overlay:#00000080;--pop:#ff8a5b;--pop-ink:#1c1917;--sun:#f2c94c;--sun-ink:#1c1917;--lilac:#211b33;--hard:#07050c;--hard-line:#4d4463}:root[data-theme=light]{color-scheme:light;--bg:#fbf8f3;--surface:#fff;--surface-2:#f6f2eb;--line:#e3dbce;--line-2:#efe9df;--line-strong:#8e8478;--fg:#1c1917;--muted:#5f574e;--accent:#c2410c;--accent-hover:#9a3412;--accent-fg:#fff;--accent-soft:#ffedd5;--accent-ink:#9a3412;--rail:#221d33;--rail-fg:#d3cce0;--rail-label:#a097b3;--rail-active:#3a3150;--rail-hover:#2c2541;--rail-line:#352d48;--mark:#ffe58a;--mark-ink:#1c1917;--good-bg:#ddf2e5;--good:#0f5a37;--warn-bg:#fde8d4;--warn:#8a3e05;--claude-bg:#eee8fb;--claude:#4b2c93;--chip-bg:#efeae2;--chip:#463f37;--code:#f6f2eb;--toggle-off:#8c8478;--overlay:#1c191729;--pop:#ff7a45;--pop-ink:#1c1917;--sun:#ffd84d;--sun-ink:#1c1917;--lilac:#f1ebff;--hard:#1c1917;--hard-line:#1c1917}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:var(--text-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.prodsy-label{font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);font-weight:600}.prodsy-mono{font-family:var(--f-mono)}.prodsy-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}body.site{font-size:15px;overflow-x:hidden}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:var(--accent)}a:hover{color:var(--accent-hover)}.skip{z-index:10;border-radius:var(--radius-pill);background:var(--surface);color:var(--fg);border:1.5px solid var(--hard-line);padding:8px 14px;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}main:focus{outline:none}.wrap{max-width:1180px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.muted{color:var(--muted)}.mono{font-family:var(--f-mono)}.small{font-size:13px}.lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ico{flex:none}.brand{font-family:var(--f-display);letter-spacing:-.02em;color:var(--fg);align-items:center;gap:9px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.brand:hover{color:var(--fg)}.brand-sm{gap:7px;font-size:14px}.brand-foot{font-size:16px}.snav{border-bottom:1px solid var(--line);background:var(--bg)}.snav .wrap{flex-wrap:wrap;align-items:center;gap:8px 22px;padding-block:14px;display:flex}.snav nav{flex-wrap:wrap;gap:4px 22px;display:flex}.snav nav a{color:var(--fg);padding-block:6px;font-size:15px;text-decoration:none}.snav nav a:hover,.snav nav a[aria-current=page]{color:var(--accent)}.snav .r{align-items:center;gap:10px;margin-left:auto;display:flex}.sfoot{border-top:1px solid var(--line);color:var(--muted);padding-block:32px;font-size:13px}.sfoot .wrap{flex-wrap:wrap;align-items:center;gap:10px 24px;display:flex}.sfoot nav{flex-wrap:wrap;gap:4px 12px;margin-left:auto;display:flex}.sfoot nav a{color:var(--muted);padding-block:6px}.sfoot nav a:hover,.sfoot nav a[aria-current=page]{color:var(--fg)}.btn{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--fg);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2);color:var(--fg)}.btn.p{background:var(--accent);color:var(--accent-fg);border-color:var(--hard-line);box-shadow:var(--shadow-hard-sm);transition:transform .12s,box-shadow .12s}.btn.p:hover{background:var(--accent-hover);color:var(--accent-fg);box-shadow:4px 4px 0 var(--hard);transform:translate(-1px,-1px)}.btn.p:active{box-shadow:1px 1px 0 var(--hard);transform:translate(2px,2px)}.btn.fake{cursor:default;min-height:30px;padding:0 12px;font-size:12.5px}.btn.fake.g{box-shadow:none;background:0 0;border-color:#0000}.btn.fake:hover{transform:none}.chip{white-space:nowrap;background:var(--chip-bg);min-height:22px;color:var(--chip);border-radius:11px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.chip.b{background:var(--accent-soft);color:var(--accent-ink)}.chip.ok{background:var(--good-bg);color:var(--good)}.chip.w{background:var(--warn-bg);color:var(--warn)}.chip.c{background:var(--claude-bg);color:var(--claude)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.pcard{background:var(--surface);border:1.5px solid var(--hard-line);border-radius:var(--radius-site-card);box-shadow:var(--shadow-hard)}.sticker{background:var(--sun);min-height:28px;color:var(--sun-ink);border:1.5px solid var(--hard-line);box-shadow:2px 2px 0 var(--hard);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex;transform:rotate(-2deg)}.src{border:1px solid var(--line);background:var(--surface-2);min-height:24px;color:var(--fg);border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}pre.code{background:var(--code);border:1px solid var(--line);font-family:var(--f-mono);white-space:pre-wrap;border-radius:8px;margin:0;padding:14px 16px;font-size:13px;line-height:1.6;overflow-x:auto}.d1{font-family:var(--f-display);letter-spacing:-.03em;margin:0;font-size:clamp(40px,6.2vw,76px);font-weight:800;line-height:1}.d2{font-family:var(--f-display);letter-spacing:-.02em;margin:0;font-size:clamp(28px,3.6vw,42px);font-weight:800;line-height:1.05}.d2.page{font-size:clamp(32px,4vw,48px)}.lede{color:var(--muted);max-width:60ch;margin:0;font-size:clamp(16px,1.6vw,19px);line-height:1.55}.squig{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='10' viewBox='0 0 24 10'%3E%3Cpath d='M0 5 Q6 0 12 5 T24 5' fill='none' stroke='%23FF7A45' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 0 100%/24px 10px repeat-x;padding-bottom:.14em}.sec{border-top:1px solid var(--line);padding-block:72px}.sec.first{border-top:0}.sec .head{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:end;gap:20px 48px;margin-bottom:36px;display:grid}.head-mascot{align-items:flex-end;gap:18px;display:flex}.band{background:var(--lilac)}.hero{padding-block:64px 72px}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}.hero-grid.top{align-items:start}.hero-copy{gap:22px}.hero-tags{gap:12px}.below{color:var(--muted);margin:0;font-size:13px}.more{margin:16px 0 0}.feed-wrap{padding-top:26px;position:relative}.peek{z-index:2;position:absolute;top:-14px;right:26px}.feed{padding:6px 0 0;overflow:hidden}.feed-head{border-bottom:1px solid var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px 12px;display:flex}.feed-head .when{margin-right:72px;font-size:12px}.feed-row{border-bottom:1px solid var(--line-2);grid-template-columns:118px minmax(0,1fr);align-items:start;gap:12px;padding:13px 18px;animation:.5s ease-out both rise;display:grid}.feed-row:nth-child(3){animation-delay:.12s}.feed-row:nth-child(4){animation-delay:.24s}.feed-row:nth-child(5){animation-delay:.36s}.feed-row:nth-child(6){animation-delay:.48s}.feed-row .chip{justify-self:start}.feed-row .detail{font-size:13px}@keyframes rise{0%{transform:translateY(6px)}to{transform:none}}.feed-nudge{background:var(--accent-soft);border-top:1.5px dashed var(--hard-line);align-items:flex-start;gap:10px;padding:14px 18px;font-size:14px;display:flex}.feed-nudge .row{margin-top:8px}.works{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.works .wrap{gap:10px 18px;padding-block:16px}.works ul{list-style:none;display:contents}.works li{font-family:var(--f-display);color:var(--muted);font-size:16px;font-weight:600}.jobs{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:24px;display:grid}.job{border-top:3px solid var(--pop);padding-top:14px}.job h3{margin:6px 0 10px;font-size:17px;line-height:1.3}.job ul{color:var(--muted);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:14px;display:flex}.say{align-items:flex-start;gap:14px;display:flex}.say .bubble{flex:1;min-width:0}.say.big{justify-self:center;align-items:center;max-width:400px}.say.big .bubble{font-size:15.5px}.bubble{background:var(--surface);border:1.5px solid var(--hard-line);box-shadow:var(--shadow-hard-sm);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.5;position:relative}.bubble:before{content:"";background:var(--surface);border-left:1.5px solid var(--hard-line);border-bottom:1.5px solid var(--hard-line);width:14px;height:14px;position:absolute;top:16px;left:-8.5px;transform:rotate(45deg)}.bubble .lbl{margin-bottom:4px}.nudges{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:22px 28px;margin:0;padding:0;list-style:none;display:grid}.demo{flex-direction:column;gap:14px;display:flex}.demo .src-card{padding:18px 20px;font-size:15px;line-height:1.7}.demo .src-card .row{margin-bottom:8px}.demo .src-card .meta{font-size:12px}.demo .src-card p{margin:0}.sweep{background:linear-gradient(var(--mark), var(--mark)) no-repeat 0 0 / 0% 100%;color:var(--fg);-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:sweep var(--motion-sweep,1.2s) .5s ease-out forwards;border-radius:3px}@keyframes sweep{to{color:var(--mark-ink);background-size:100% 100%}}.demo .thread{border-left:2px dashed var(--accent);flex-direction:column;gap:12px;margin-left:28px;padding:4px 0 4px 20px;display:flex}.demo .req{padding:14px 16px}.demo .req b{margin:4px 0 8px;font-size:16px;display:block}.demo .req.ticket{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.demo .req.ticket b{margin:4px 0 0;font-size:15px}.tools{padding:8px 16px}.trow{border-top:1px solid var(--line-2);align-items:center;gap:12px;padding:12px 0;display:flex}.trow:first-child{border-top:0}.trow>div{flex:1;min-width:0}.trow .name{font-size:13px;font-weight:500}.trow .s{color:var(--muted);font-size:12.5px}.tg{background:var(--toggle-off);width:36px;height:20px;box-shadow:inset 0 0 0 1px var(--muted);border-radius:10px;flex:none;display:inline-block;position:relative}.tg:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:2px;left:2px}.tg.on{background:var(--accent);box-shadow:none}.tg.on:after{left:18px}.table-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;min-width:620px;font-size:14px}.tbl th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 12px;font-size:11px}.tbl td{border-bottom:1px solid var(--line-2);vertical-align:top;padding:12px}.tbl tr:last-child td{border-bottom:0}.cap-grid{background:var(--line);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:1px;margin-bottom:40px;display:grid;overflow:hidden}.cap-grid>div{background:var(--surface);flex-direction:column;gap:8px;padding:22px 20px;display:flex}.cap-grid h3,.cap-grid .cap-title{margin:0;font-size:16px;font-weight:600}.cap-grid p{color:var(--muted);margin:0;font-size:14px}.d3{font-family:var(--f-display);letter-spacing:-.02em;margin:0;font-size:28px;font-weight:800;line-height:1.1}.dl{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px;display:grid}.dl .pcard{flex-direction:column;align-items:flex-start;gap:10px;padding:20px;display:flex}.dl h2{margin:0;font-size:18px}.dl .file{font-size:12px}.note-card{margin-top:24px;padding:20px}.note-card p{margin:6px 0 0}.fine{margin-top:20px;font-size:13px}.prose{max-width:68ch;font-size:16px;line-height:1.7}.prose h2{font-family:var(--f-display);margin:40px 0 8px;font-size:26px;font-weight:700;line-height:1.2}.prose h3{margin:28px 0 6px;font-size:18px}.prose p,.prose ul,.prose ol{margin:0 0 14px}.prose li{margin-bottom:6px}.prose .lede{margin-top:12px}.prose .tbl{min-width:560px}.wide{max-width:1180px}.legal h1{font-family:var(--f-display);letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(32px,4vw,44px);font-weight:800;line-height:1.05}.legal table{border-collapse:collapse;margin:0 0 14px;font-size:14px;display:block;overflow-x:auto}.legal th,.legal td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line-2);padding:10px 12px}.legal th{border-bottom-color:var(--line)}.back{margin-bottom:24px;display:inline-block}.legal-list{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:18px;margin-top:32px;display:grid}.legal-list .pcard{flex-direction:column;align-items:flex-start;gap:10px;padding:22px;display:flex}.legal-list h2{margin:0;font-size:20px}.legal-list p{margin:0}.entries{flex-direction:column;gap:40px;margin:32px 0 0;padding:0;list-style:none;display:flex}.entry{border-top:3px solid var(--pop);padding-top:14px}.entry time{font-size:13px}.entry h2{margin:4px 0 10px}.lost{text-align:center;flex-direction:column;align-items:center;gap:20px;padding-block:96px;display:flex}.lost .row{justify-content:center}.mascot{transform-origin:50% 85%;flex:none;overflow:visible}.mascot.bob{animation:bob var(--motion-bob,3.4s) ease-in-out infinite}.brand:hover .mascot,.mascot.wig:hover{animation:wig var(--motion-wiggle,.6s) ease-in-out}@keyframes bob{0%,to{transform:none}50%{transform:translateY(-5px)rotate(-3deg)}}@keyframes wig{25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}@media (prefers-reduced-motion:reduce){.sweep{color:var(--mark-ink);background-size:100% 100%}}@media (width<=900px){.hero-grid{grid-template-columns:1fr}}@media (width<=820px){.sec .head{grid-template-columns:1fr}.sec{padding-block:56px}.hero{padding-block:40px 56px}}@media (width<=560px){.snav .r{margin-left:0}.snav .wrap{justify-content:space-between}.snav nav{flex-basis:100%;order:3}.sfoot nav{margin-left:0}}@media (width<=480px){.feed-row{grid-template-columns:1fr;gap:6px}.feed-head .when{margin-right:0}.demo .thread{margin-left:10px;padding-left:14px}}.align-start{align-self:flex-start;align-items:flex-start}figure{margin:0}mark{color:inherit;background:0 0}
