:root{--surface:#f4fafd;--surface-raised:#ffffff;--sky:#cdeefa;--ink:#13223a;--muted:#3b5a75;--rule:#b9d3df;--border:#6f8ea5;--accent:#f2784b;--accent-text:#b3431b;--on-accent:#13223a;--focus:#b3431b;--sun:#ffd23f;--terminal:#13223a;--terminal-ink:#e6eef5;--terminal-muted:#8fa3b8;--foam:#ffffff;--glint:#ffffff;--back:#8ccbe0;--back-light:#b4e0ee;--mid:#4a9fc8;--mid-light:#7cc0dd;--front:#226fa6;--front-light:#3f8fc4;--deep:#174f7d;--stone:#a8997f;--stone-top:#cbbfa8;--mortar:#8a7c65;--stone-wet:#5f5648;--tower-light:#f4f4f0;--tower-dark:#1d2230;--lamp:#ffe27a;--lamp-off:#c9b25a;--note:#1b5a8c;--warn:#7a5200;--danger:#b3261e;--cloud:#ffffff;--cloud-shade:#e2f3fa;--shadow-step:4px 4px 0 0 #174f7d;--shadow-step-sm:2px 2px 0 0 #174f7d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-none:0px;--radius-sm:2px;--radius-md:4px;--measure:68ch;--content-max:760px;--art-pixel:4px;--font-display:"Press Start 2P", ui-monospace, monospace;--font-heading:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible Next", system-ui, sans-serif;--font-mono:"Atkinson Hyperlegible Mono", ui-monospace, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface:#0f1529;--surface-raised:#1a2240;--sky:#141b33;--ink:#eef3ff;--muted:#a3b1dc;--rule:#2a3558;--border:#6a79a3;--accent:#ff9166;--accent-text:#ff9166;--on-accent:#13223a;--focus:#ff9166;--sun:#f3f0d0;--terminal:#0a0f1f;--terminal-ink:#e6eef5;--terminal-muted:#8a98b8;--foam:#cfe3ff;--glint:#f3f0d0;--back:#2c4675;--back-light:#3b5a8c;--mid:#22396a;--mid-light:#30528a;--front:#182c56;--front-light:#25427a;--deep:#101f40;--stone:#474e66;--stone-top:#5d6480;--mortar:#363c52;--stone-wet:#2a2f42;--tower-light:#c9ccd6;--tower-dark:#0d111d;--lamp:#fff1a8;--lamp-off:#6b6440;--note:#8cc4ec;--warn:#ffd23f;--danger:#ff8a80;--cloud:#27365c;--cloud-shade:#1f2b4b;--shadow-step:4px 4px 0 0 #0a0f1f;--shadow-step-sm:2px 2px 0 0 #0a0f1f}}:root[data-theme=dark]{color-scheme:dark;--surface:#0f1529;--surface-raised:#1a2240;--sky:#141b33;--ink:#eef3ff;--muted:#a3b1dc;--rule:#2a3558;--border:#6a79a3;--accent:#ff9166;--accent-text:#ff9166;--on-accent:#13223a;--focus:#ff9166;--sun:#f3f0d0;--terminal:#0a0f1f;--terminal-ink:#e6eef5;--terminal-muted:#8a98b8;--foam:#cfe3ff;--glint:#f3f0d0;--back:#2c4675;--back-light:#3b5a8c;--mid:#22396a;--mid-light:#30528a;--front:#182c56;--front-light:#25427a;--deep:#101f40;--stone:#474e66;--stone-top:#5d6480;--mortar:#363c52;--stone-wet:#2a2f42;--tower-light:#c9ccd6;--tower-dark:#0d111d;--lamp:#fff1a8;--lamp-off:#6b6440;--note:#8cc4ec;--warn:#ffd23f;--danger:#ff8a80;--cloud:#27365c;--cloud-shade:#1f2b4b;--shadow-step:4px 4px 0 0 #0a0f1f;--shadow-step-sm:2px 2px 0 0 #0a0f1f}@font-face{font-family:"press start 2p";font-weight:400;font-display:swap;src:url(../fonts/press-start-2p-latin-400-normal.woff2)format("woff2")}@font-face{font-family:bricolage grotesque;font-weight:700;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-700-normal.woff2)format("woff2")}@font-face{font-family:bricolage grotesque;font-weight:800;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-800-normal.woff2)format("woff2")}@font-face{font-family:atkinson hyperlegible next;font-weight:400;font-display:swap;src:url(../fonts/atkinson-hyperlegible-next-latin-400-normal.woff2)format("woff2")}@font-face{font-family:atkinson hyperlegible next;font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/atkinson-hyperlegible-next-latin-400-italic.woff2)format("woff2")}@font-face{font-family:atkinson hyperlegible next;font-weight:700;font-display:swap;src:url(../fonts/atkinson-hyperlegible-next-latin-700-normal.woff2)format("woff2")}@font-face{font-family:atkinson hyperlegible mono;font-weight:400;font-display:swap;src:url(../fonts/atkinson-hyperlegible-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:atkinson hyperlegible mono;font-weight:600;font-display:swap;src:url(../fonts/atkinson-hyperlegible-mono-latin-600-normal.woff2)format("woff2")}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:30px}img{max-width:100%;height:auto}a{color:var(--accent-text)}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:16px;top:16px;z-index:10;background:var(--surface-raised);padding:8px 12px;outline:2px solid var(--focus)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--sun);color:var(--ink)}.cs-root{background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:30px}.cs-root ::selection{background:var(--sun);color:var(--ink)}.cs-root :focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.cs-titlebar{--px:4px;--strip:calc(var(--px) * 30);--pier-w:min(30vw, calc(var(--px) * 72));position:relative;overflow:hidden;background:var(--sky);padding-bottom:calc(var(--strip) + var(--px) * 4)}@media(max-width:640px){.cs-titlebar{--px:3px}}@media(max-width:360px){.cs-titlebar{--px:2px}}.cs-titlebar__inner{position:relative;z-index:1;display:grid;justify-items:start;gap:var(--space-3);padding:var(--space-6)16px 0;max-width:var(--content-max);margin:0 auto}@media(min-width:640px){.cs-titlebar__inner{padding-inline:var(--space-8)}}.cs-titlebar__name{font-family:var(--font-display);font-size:clamp(20px,5.4vw,34px);line-height:1.2;color:var(--ink);text-decoration:none;white-space:nowrap}.cs-titlebar__prompt{color:var(--muted);margin-right:.5ch}.cs-titlebar__word{color:var(--accent)}.cs-titlebar__cursor{display:inline-block;width:.6ch;height:.9em;margin-left:.15ch;vertical-align:-.05em;background:var(--accent)}.cs-titlebar__nav{display:flex;gap:var(--space-6);font-family:var(--font-display);font-size:clamp(13px,3.4vw,16px);line-height:1.6}.cs-titlebar__nav a{color:var(--ink);text-decoration:none;padding-block:4px}.cs-titlebar__nav a:hover{color:var(--accent-text)}.cs-titlebar__nav a[aria-current]{color:var(--accent-text);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}.cs-titlebar__scene{position:absolute;left:0;right:0;bottom:0;height:var(--strip)}.cs-titlebar__sea{position:relative;display:block;width:100%;height:100%}.cs-titlebar__sun{position:absolute;top:calc(var(--px) * (var(--sun-y,2) - 10));right:calc(var(--pier-w) + var(--px) * 30);width:calc(var(--px) * 12);height:calc(var(--px) * 12);color:var(--sun)}@media(max-width:640px){.cs-titlebar__sun{top:calc(var(--px) * max(var(--sun-y,2) - 10,-1))}}.cs-titlebar__sun svg,.cs-titlebar__cloud svg{display:block;width:100%;height:100%}.cs-titlebar__cloud{position:absolute;right:calc(2% + var(--px) * 6);top:var(--space-6);width:calc(var(--px) * 18);height:calc(var(--px) * 5)}.cs-titlebar__pier{position:absolute;right:0;bottom:0;top:calc(var(--px) * 20);width:var(--pier-w);background:linear-gradient(var(--stone-top) 0 calc(var(--px) * 2),transparent 0),linear-gradient(to right,var(--stone-wet) 0 var(--px),transparent 0),repeating-linear-gradient(transparent 0 calc(var(--px) * 3),var(--mortar) 0 calc(var(--px) * 4)),repeating-linear-gradient(to right,transparent 0 calc(var(--px) * 7),var(--mortar) 0 calc(var(--px) * 8)),var(--stone);background-position:0 0,0 0,0 calc(var(--px) * 2),calc(var(--px) * 3)0,0 0}.cs-titlebar__lighthouse{position:absolute;bottom:calc(var(--px) * 10);right:calc(var(--pier-w) - var(--px) * 15);width:calc(var(--px) * 12);height:calc(var(--px) * 28)}.cs-card{display:grid;gap:var(--space-2);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);color:inherit;text-decoration:none;transition:transform 80ms steps(2),box-shadow 80ms steps(2)}.cs-card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-step)}.cs-card__date{font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cs-card__title{font-family:var(--font-heading);font-weight:700;font-size:23px;line-height:28px;letter-spacing:-.01em;margin:0;color:var(--ink);text-wrap:balance}.cs-card__summary{font-size:15px;line-height:22px;margin:0;color:var(--ink)}.cs-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.cs-card__demo{font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}.cs-tag{display:inline-block;padding:0 var(--space-2);font-size:14px;line-height:24px;color:var(--ink);background:0 0;border:1px solid var(--border);text-decoration:none}.cs-tag::before{content:"#";color:var(--muted)}.cs-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);font:600 15px/22px var(--font-body);border:2px solid var(--ink);border-radius:var(--radius-none);cursor:pointer}.cs-button--primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-step)}.cs-button--primary:active{transform:translate(2px,2px);box-shadow:var(--shadow-step-sm)}.cs-button--quiet{background:0 0;color:var(--ink);border-color:var(--border)}.cs-button__icon{width:12px;height:12px;fill:currentColor;shape-rendering:crispEdges}.cs-prose{max-width:var(--measure)}.cs-prose>*+*{margin-top:var(--space-4)}.cs-prose h1{font:800 46px/50px var(--font-heading);letter-spacing:-.02em;margin:0;text-wrap:balance}@media(max-width:480px){.cs-prose h1{font-size:36px;line-height:40px}}.cs-prose h2{font:800 30px/36px var(--font-heading);letter-spacing:-.015em;margin-top:var(--space-8);text-wrap:balance}.cs-prose h3{font:700 22px/28px var(--font-heading);letter-spacing:-.01em;margin-top:var(--space-6)}.cs-prose p,.cs-prose ul,.cs-prose ol{margin-bottom:0}.cs-prose .cs-lead{font-size:21px;line-height:32px}.cs-prose a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}.cs-prose code{font-family:var(--font-mono);font-size:.9em;padding:1px 4px;border-radius:var(--radius-sm);background:var(--sky);color:var(--ink)}.cs-prose mark{background:var(--sun);color:var(--ink);padding:0 2px}.cs-prose blockquote{margin-left:0;padding-left:var(--space-4);border-left:4px solid var(--stone);color:var(--ink);font-style:italic}.cs-prose ul{padding-left:1.25em;list-style:square}.cs-prose li::marker{color:var(--accent)}.cs-prose hr{border:0;height:4px;background:repeating-linear-gradient(90deg,var(--rule) 0 8px,transparent 8px 16px)}.cs-byline{font-size:15px;line-height:22px;color:var(--muted)}.cs-code{background:var(--terminal);color:var(--terminal-ink);border-radius:var(--radius-none);overflow:hidden}.cs-code__bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2)var(--space-3);font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--terminal-muted);border-bottom:1px solid var(--terminal-muted)}.cs-code__bar b{font-weight:400;color:var(--accent)}.cs-code pre{margin:0;padding:var(--space-3)var(--space-4);overflow-x:auto;font:15px/24px var(--font-mono)}.cs-code .c{color:var(--terminal-muted)}.cs-code .k{color:var(--accent)}.cs-code .s{color:var(--sun)}.cs-callout{padding:var(--space-4)var(--space-6)var(--space-4)var(--space-4);background:var(--surface-raised);border:1px solid var(--border);display:grid;gap:var(--space-1)}.cs-callout__label{font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:flex;gap:var(--space-2);align-items:center}.cs-callout__label::before{content:"";width:8px;height:8px;background:currentColor}.cs-callout--note .cs-callout__label{color:var(--note)}.cs-callout--warn .cs-callout__label{color:var(--warn)}.cs-callout--danger .cs-callout__label{color:var(--danger)}.cs-callout p{margin:0;font-size:16px;line-height:26px}.cs-demo{border:2px solid var(--ink);background:var(--surface-raised)}.cs-demo__bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-bottom:2px solid var(--ink);background:var(--sky);font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.cs-demo__bar b{font-weight:400;color:var(--accent-text)}.cs-demo__stage{display:block;width:100%;min-height:160px;border:0;background:var(--surface-raised)}.cs-demo__caption{padding:var(--space-2)var(--space-3);font-size:14px;line-height:20px;color:var(--muted);border-top:1px solid var(--rule)}.cs-footer{background:var(--deep);color:var(--foam)}.cs-footer__inner{max-width:var(--content-max);margin:0 auto;padding:var(--space-6)var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;font-size:15px;line-height:22px}.cs-footer a{color:var(--foam)}.cs-footer__note{flex-basis:100%;margin:0;font-size:14px;line-height:20px;opacity:.8}.cs-prose>.cs-wip{margin-top:0}@media(prefers-reduced-motion:reduce){.cs-card,.cs-button{transition:none}}.site-header{padding-left:max(16px,var(--space-8));padding-right:max(16px,var(--space-8))}.site-header .title a{color:inherit;text-decoration:none}.motion-bar{width:100%;margin:var(--space-3)0 0;padding-left:calc(100% - var(--pier-w));display:flex}.motion-slot:empty{display:none}.motion-slot .cs-button{white-space:nowrap}@media(max-width:640px){.motion-long{display:none}}.motion-slot .cs-button{background:var(--surface-raised);padding:2px var(--space-2);font-size:13px;line-height:18px}:root[data-motion=paused] *,:root[data-motion=paused] *::before{animation-play-state:paused!important}.page{max-width:var(--content-max);margin:0 auto;padding:var(--space-12)var(--space-4)var(--space-16);display:grid;gap:var(--space-8)}@media(min-width:640px){.page{padding-inline:var(--space-8)}}.intro{margin:0;font-size:21px;line-height:32px;max-width:var(--measure);text-wrap:pretty}.intro p{margin:0}@media(max-width:640px){.page{padding-top:var(--space-6);gap:var(--space-6)}.intro{font-size:18px;line-height:27px}}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);border-bottom:4px solid var(--ink);padding-bottom:var(--space-2);margin-bottom:var(--space-6)}.section-head h2{margin:0;font:800 30px/36px var(--font-heading);letter-spacing:-.015em}.section-head a{font-size:15px}.posts{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-6)}.topics{display:flex;flex-wrap:wrap;gap:var(--space-2)}.empty{margin:0;color:var(--muted)}.post-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-8)}.cs-prose>figure,.cs-prose>.cs-callout{max-width:none}.cs-prose>p,.cs-prose>ul,.cs-prose>ol,.cs-prose>blockquote,.cs-prose>h2,.cs-prose>h3{max-width:var(--measure)}.cs-prose{max-width:none}.cs-code .highlight,.cs-code pre{background:0 0!important}.cs-code pre code{font:inherit;background:0 0;padding:0;color:var(--terminal-ink)}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cs,.chroma .ch,.chroma .cp,.chroma .cpf{color:var(--terminal-muted)}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt,.chroma .nt,.chroma .nf,.chroma .nb{color:var(--accent)}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss,.chroma .m,.chroma .mi,.chroma .mf,.chroma .mh,.chroma .il{color:var(--sun)}.cs-demo{margin:0}.cs-demo iframe.cs-demo__stage{height:360px}.page>*{min-width:0}body{min-height:100vh;display:flex;flex-direction:column}body>main{flex:1 0 auto;width:100%}@media(min-width:1024px){:root{--content-max:880px}.page{font-size:20px;line-height:34px}.cs-prose h1{font-size:54px;line-height:58px}.cs-prose h2{font-size:34px;line-height:40px}.cs-prose h3{font-size:24px;line-height:30px}.intro{font-size:22px;line-height:34px}.cs-card{padding:var(--space-6)}.cs-card__date{font-size:13px;line-height:18px}.cs-card__title{font-size:28px;line-height:34px}.cs-card__summary{font-size:18px;line-height:28px}.cs-callout p{font-size:18px;line-height:28px}.cs-byline{font-size:16px;line-height:24px}}:root{--px:4px;--pier-w:min(30vw, calc(var(--px) * 72))}@media(max-width:640px){:root{--px:3px}}@media(max-width:360px){:root{--px:2px}}.site-header{position:relative;overflow:hidden;padding:2rem 16px calc(var(--px) * 38 + 8px);background:var(--sky);font-family:"press start 2p",ui-monospace,monospace}.title{position:relative;z-index:1;margin:0;font-weight:400;font-size:clamp(22px,7.2vw,48px);line-height:1.2;letter-spacing:0;white-space:nowrap}.title>span,.typed>span{vertical-align:top}.prompt{color:var(--muted);margin-right:.5ch;display:inline-block}.typed{display:inline-block;overflow:hidden;max-width:0;animation:type 2.5s steps(10,end).4s forwards}.word{position:relative;display:inline-block;vertical-align:top}.swap{display:inline-block;vertical-align:top;width:1ch;height:1.2em;overflow:hidden;color:var(--accent);animation:edit-width 14s steps(1,end)2.6s infinite}.swap-inner{display:block;animation:edit-row 14s steps(1,end)2.6s infinite}.swap-inner span{display:block;line-height:1.2;height:1.2em}.cursor,.edit-cursor{display:inline-block;width:.6ch;height:.9em;background:var(--accent)}.cursor{margin:.12em 0 0 .15ch;animation:blink 1s steps(1)infinite,end-cursor 14s steps(1,end)2.6s infinite}.edit-cursor{position:absolute;left:100%;top:.12em;margin-left:.1ch;visibility:hidden;animation:edit-cursor 14s steps(1,end)2.6s infinite}.tagline{position:relative;z-index:1;margin:.6rem 0 0;font-size:clamp(13px,3.6vw,22px);line-height:1.6;color:var(--muted);opacity:0;animation:appear .6s steps(3,end)2.6s forwards}.sun{position:absolute;top:calc(var(--px) * var(--sun-y,2));right:calc(var(--pier-w) + var(--px) * 30);width:calc(var(--px) * 12);height:calc(var(--px) * 12);color:var(--sun);animation:bob 4s steps(1)infinite}.sun svg{display:block;width:100%;height:100%}.sky{position:absolute;left:0;right:0;top:0;bottom:calc(var(--px) * 32);overflow:hidden;pointer-events:none}.cloud{position:absolute;animation:drift var(--d)steps(6,end)var(--o,0s)infinite alternate}.cloud svg{display:block;width:100%;height:100%}.cloud--b{width:calc(var(--px) * 14);height:calc(var(--px) * 4)}.cloud--c{width:calc(var(--px) * 18);height:calc(var(--px) * 5)}.cloud--b{left:3%;bottom:calc(var(--px) * 1)}.cloud--c{right:calc(2% + var(--px) * 6);bottom:calc(var(--px) * 20)}@media(max-width:640px){.cloud--c{bottom:calc(var(--px) * 2)}}@keyframes drift{to{transform:translateX(calc(var(--px) * 6))}}.sea{position:absolute;left:0;right:0;bottom:0;height:calc(var(--px) * 44);overflow:hidden;pointer-events:none}.layer{position:absolute;left:0;right:0;height:100%}.window{position:relative;height:calc(var(--px) * 16);overflow:hidden}.sheet{width:calc(var(--px) * 1e3);height:calc(var(--px) * 16 * 48);animation:frames 7s steps(48,end)infinite}.sheet svg{display:block;width:100%;height:100%}.body{position:absolute;left:0;right:0;top:calc(var(--px) * 16);bottom:0}.layer--back{top:calc(var(--px) * 10)}.layer--mid{top:calc(var(--px) * 18)}.layer--front{top:calc(var(--px) * 25)}.layer--front .sheet{position:absolute;top:0;right:var(--pier-w);width:calc(var(--px) * 997)}.splash{position:absolute;right:calc(var(--pier-w) - var(--px) * (50 - 24));top:calc(var(--px) * (25 - 24));width:calc(var(--px) * 50);height:calc(var(--px) * 40);overflow:hidden}.splash-sheet{height:calc(var(--px) * 40 * 48);animation:splash-frames 7s steps(48,end)infinite}.splash-sheet svg{display:block;width:100%;height:100%}.pier{position:absolute;right:0;bottom:0;top:calc(var(--px) * 30);width:var(--pier-w);background:linear-gradient(var(--stone-top) 0 calc(var(--px) * 2),transparent 0),linear-gradient(to right,var(--stone-wet) 0 var(--px),transparent 0),linear-gradient(transparent 0 calc(var(--px) * 6),rgb(0 0 0/.18) 0 calc(var(--px) * 10),rgb(0 0 0/.32) 0),repeating-linear-gradient(transparent 0 calc(var(--px) * 3),var(--mortar) 0 calc(var(--px) * 4)),repeating-linear-gradient(to right,transparent 0 calc(var(--px) * 7),var(--mortar) 0 calc(var(--px) * 8)),var(--stone);background-position:0 0,0 0,0 0,0 calc(var(--px) * 2),calc(var(--px) * 3)0,0 0}.lighthouse{position:absolute;top:calc(var(--px) * 2);right:calc(var(--pier-w) - var(--px) * 15);width:calc(var(--px) * 12);height:calc(var(--px) * 28)}.lighthouse svg{display:block;width:100%;height:100%;overflow:visible}.lamp{fill:var(--lamp-off);animation:lamp 5s steps(1,end)infinite}.halo{fill:var(--lamp);opacity:0;animation:halo 5s steps(1,end)infinite}.layer--back .sheet{animation-delay:-.35s}.layer--mid .sheet{animation-delay:-.18s}.layer--back .body{background:var(--back)}.layer--mid .body{background:var(--mid)}.layer--front .body{background:linear-gradient(var(--front) 0 var(--px),var(--deep) 0)}.glint{position:absolute;width:calc(var(--px) * 2);height:var(--px);background:var(--glint);opacity:0;animation:glint var(--d)steps(1,end)var(--o)infinite}@keyframes type{to{max-width:10ch}}@keyframes blink{50%{opacity:0}}@keyframes appear{to{opacity:1}}@keyframes bob{50%{transform:translateY(var(--px))}}@keyframes frames{to{transform:translateY(calc(var(--px) * 16 * -48))}}@keyframes splash-frames{to{transform:translateY(calc(var(--px) * 40 * -48))}}@keyframes lamp{0%,100%{fill:var(--lamp-off)}70%{fill:var(--lamp)}82%{fill:var(--lamp-off)}}@keyframes halo{0%,100%{opacity:0}70%{opacity:.55}82%{opacity:0}}@keyframes glint{0%,100%{opacity:0}6%{opacity:1}14%{opacity:0}}@keyframes edit-width{0.00%{width:1ch}25.71%{width:0}30.00%{width:1ch}31.29%{width:2ch}32.57%{width:3ch}75.00%{width:2ch}75.86%{width:1ch}76.71%{width:0}80.71%{width:1ch}100%{width:1ch}}@keyframes edit-row{0.00%{transform:translateY(0)}28.57%{transform:translateY(-1.2em)}79.29%{transform:translateY(0)}100%{transform:translateY(0)}}@keyframes edit-cursor{0.00%{visibility:hidden}21.43%{visibility:visible}37.14%{visibility:hidden}71.43%{visibility:visible}85.00%{visibility:hidden}100%{visibility:hidden}}@keyframes end-cursor{0.00%{visibility:visible}21.43%{visibility:hidden}37.14%{visibility:visible}71.43%{visibility:hidden}85.00%{visibility:visible}100%{visibility:visible}}@media(prefers-reduced-motion:reduce){.typed,.swap,.swap-inner,.tagline,.cursor,.edit-cursor,.sun,.sheet,.glint,.splash-sheet,.lamp,.halo,.cloud{animation:none}.splash{display:none}.lamp{fill:var(--lamp)}.typed{max-width:none}.swap{width:3ch}.swap-inner{transform:translateY(-1.2em)}.tagline{opacity:1}.sheet{transform:translateY(calc(var(--px) * 16 * -20))}}