:root{--ink:#0c2230;--ink-soft:#3a5463;--rule:rgb(0 0 0/0.2);color-scheme:light;--font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--spring:cubic-bezier(0.22,1,0.36,1);--font-code:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--navy:#0c2230;--navy-soft:#3a5463;--block:#1d3340;--block-text:#c9f5de;--wash:#e1e8ea}*{box-sizing:border-box}body,html{margin:0;height:100%;overflow:hidden}body{background:var(--wash);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--ink);color:var(--wash)}button{font:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;padding:0;cursor:pointer}a,button{color:inherit}:focus-visible{outline:1px dashed var(--ink);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stage{position:fixed;inset:0;height:100svh;background:var(--wash)}.label{font-family:var(--font-ui);font-size:14px;font-weight:500;letter-spacing:-.005em}.corner{position:absolute;z-index:3;--edge:clamp(14px,2.2vw,28px);transition:color .25s linear}.corner-tl{top:var(--edge);left:var(--edge)}.corner-tr{top:var(--edge);right:var(--edge)}.stage .corner.say-hello{padding:6px 10px;color:var(--block-text)}.stage .corner.say-hello:hover{color:var(--block)}.corner-br{bottom:var(--edge);right:var(--edge)}html[data-surface=sea] .corner{--ink:#fff;color:#fff}html[data-surface=paper] .corner{--ink:var(--navy);color:var(--navy)}.tag{display:inline-block;width:fit-content;margin:0;padding:4px 8px;border:0;background:var(--block);color:var(--block-text);font-family:var(--font-code);font-size:13px;font-weight:400;letter-spacing:0;line-height:1.4;text-decoration:none;text-transform:none}a.tag:hover,button.tag:hover{background:var(--block-text);color:var(--block)}.mark{color:var(--ink)}.mark,.mark svg{display:block}.icons{display:flex;align-items:center;gap:16px}.icon{color:var(--ink);opacity:.85;transition:opacity .2s ease}.icon,.icon svg{display:block}.icon:focus-visible,.icon:hover{opacity:1}.page{position:absolute;inset:0;z-index:2;pointer-events:none}.page>*{pointer-events:auto}.boot{position:fixed;inset:0;z-index:10;background:#0a0a0a;color:#c8c8c4;cursor:default;transition:opacity .25s linear}.boot[data-leaving=true]{opacity:0;pointer-events:none}html[data-booted] .boot{display:none}.boot-screen{position:absolute;inset:16px;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:min(calc((100vw - 32px) / 62 / .6),15px)}.boot-log{margin:0;font:inherit;line-height:1.3}.boot-hint{position:absolute;right:16px;bottom:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#8a8a86}.bar{white-space:pre}.bar-pct{padding-left:1ch}.landing{font-family:var(--font-ui);color:var(--navy)}.hero,.landing{position:absolute;inset:0}.hero{z-index:1;color:#fff;background:#1f6283 url(/hero/sea-cloud.webp) 50% 50.5%/cover no-repeat;transition:opacity .25s linear}@media (max-aspect-ratio:3/4){.hero{background-image:url(/hero/sea-cloud-portrait.webp);background-position:50% 50%}}.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0}.landing[data-shader=true] .hero{background:none}.landing[data-shader=true] .hero canvas{opacity:1}.landing[data-surface=paper] .hero{visibility:hidden}.landing:not([data-surface=sea]) .hero{pointer-events:none}.landing[data-shader=false][data-surface=paper] .hero,.landing[data-shader=false][data-surface=tearing] .hero{opacity:0}.paper{position:absolute;inset:0;overflow:hidden;background-color:var(--wash)}.paper:after{content:"";background:linear-gradient(to bottom,var(--wash) 44px,transparent 96px),linear-gradient(to top,var(--wash) 24px,transparent 76px)}.paper:after,.residue{position:absolute;inset:0;pointer-events:none}.residue{overflow:hidden}.residue span{position:absolute;background-image:url(/hero/sea-cloud.webp);background-size:1200px auto;opacity:.7;transform:translate3d(calc(var(--scroll, 0) * var(--rate) * 1px),0,0);will-change:transform}.paper-scroll{position:absolute;inset:0;overflow:hidden;padding:clamp(96px,16vh,150px) clamp(20px,6vw,72px) clamp(96px,18vh,180px);outline:none;scrollbar-width:none}.paper-scroll::-webkit-scrollbar{display:none}.landing[data-surface=paper] .paper-scroll{overflow:hidden auto}.sheet{max-width:860px;margin:0 auto;color:var(--navy)}.lede{margin:0;font-size:clamp(28px,3.9vw,52px);font-weight:500;letter-spacing:-.024em;line-height:1.12;text-wrap:pretty}.lede a{text-decoration:underline;text-decoration-thickness:.05em;text-underline-offset:.12em}.lede a:hover{background:var(--block);color:var(--block-text);text-decoration:none}.block{margin-top:clamp(72px,13vh,130px)}.block>.tag{display:block;margin-bottom:18px}.figure{display:grid;grid-template-columns:clamp(190px,34%,300px) 1fr;gap:12px 24px;align-items:baseline;padding:20px 0;border-top:1px solid rgb(12 34 48/.16);color:var(--navy-soft);font-size:clamp(16px,1.4vw,18px);line-height:1.35}.figure strong{color:var(--navy);font-family:var(--font-code);font-size:clamp(36px,4.6vw,58px);font-weight:400;letter-spacing:-.05em;line-height:1}.body{margin:0;max-width:36em;font-size:clamp(18px,1.8vw,22px);line-height:1.4}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.code-link{padding:6px 10px;background:rgb(29 51 64/.09);color:var(--navy);font-family:var(--font-code);font-size:13px;text-decoration:none}.code-link:hover{background:var(--block);color:var(--block-text)}.closing h2{margin:0 0 22px;font-size:clamp(26px,3.2vw,42px);font-weight:500;letter-spacing:-.022em;line-height:1.12}.tag-large{padding:9px 14px;font-size:15px}.entry{display:grid;grid-template-columns:clamp(110px,20%,170px) 1fr;gap:8px 24px;align-items:baseline;padding:18px 0;border-top:1px solid rgb(12 34 48/.16);font-size:clamp(16px,1.4vw,18px);line-height:1.45}.entry h3{margin:0;color:var(--navy-soft);font-family:var(--font-code);font-size:13px;font-weight:400}.entry ul{margin:0;padding:0;list-style:none}.entry li+li{margin-top:6px}.entry p{margin:0}.contact-intro{margin-top:22px}.contact-form{margin-top:clamp(40px,7vh,72px)}.field{display:grid;grid-template-columns:110px 1fr;gap:8px 24px;align-items:baseline;padding:14px 0;border-top:1px solid rgb(12 34 48/.16);cursor:text;transition:border-color .2s ease}.field span{justify-self:start;padding:2px 6px;margin-left:-6px;color:var(--navy-soft);font-family:var(--font-code);font-size:13px}.field:focus-within{border-top-color:var(--navy)}.field:focus-within span{background:var(--block);color:var(--block-text)}.field input,.field textarea{display:block;width:100%;padding:0;border:0;border-radius:0;outline:none;background:transparent;color:var(--navy);font:inherit;font-size:clamp(17px,1.6vw,20px);line-height:1.4;resize:none}.landing .field input:focus-visible,.landing .field textarea:focus-visible{outline:none}.send{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding-top:20px;border-top:1px solid rgb(12 34 48/.16)}.form-error,.sending{font-family:var(--font-code);font-size:13px}.sending{display:inline-flex;align-items:baseline;gap:1ch;white-space:pre;color:var(--navy)}.form-error{color:var(--navy-soft)}.sent{margin-top:clamp(40px,7vh,72px);padding-top:20px;border-top:1px solid rgb(12 34 48/.16)}.landing :focus-visible{outline:1px solid currentColor;outline-offset:3px}.reveal{position:relative;opacity:0}.reveal[data-in]{opacity:1}.strip{position:absolute;top:0;left:0;margin:0;pointer-events:none}@media (max-width:899px){.residue span{opacity:.4}.residue span:nth-child(2n){display:none}}@media (max-width:699px){.figure{gap:6px}.entry,.field,.figure{grid-template-columns:1fr}.entry{gap:6px}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1}.residue span{transform:none}}.lost{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:16px}.lost pre{margin:0;color:var(--navy);font-family:var(--font-code);line-height:1.2}.lost-art{font-size:min(calc((100vw - 32px) / 60 / .6),15px)}