@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/geist-sans-latin-300-normal-C3kkMBb6.woff2)format("woff2")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2)format("woff2")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2)format("woff2")}:root{--brand-0:#e5f9ff;--brand-1:#d0efff;--brand-2:#a0ddfd;--brand-3:#6dcafb;--brand-4:#48bafa;--brand-5:#35b0fa;--brand-6:#28abfb;--brand-7:#1a96e0;--brand-8:#0084c8;--brand-9:#0073b2;--deep-reef:#0b172e;--font-family:"Geist Sans", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--font-family-monospace:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f2fbfb;--ink:#0f2344;--ink-dim:#4b6076;--line:#0d948840;--water-top:#d6f2f4;--water-bottom:#a9dde3;--caustic-a:#ffffffbf;--caustic-b:#5eead459;--caustic-c:#fde04747;--caustic-min:.35;--caustic-max:.55;--weed-line:#4e7a2e;--weed-band-1:#4e7a2e4d;--weed-band-2:#4e7a2e33;--weed-band-3:#4e7a2e42;--coral-0:#ffd4c2;--coral-1:#ffa07a;--coral-2:#ff6f43;--coral-3:#e03e1a;--coral-4:#b3350b;--coral-stroke:#8b1d03;--sand-0:#f6e3bd;--sand-1:#e9cd97;--sand-2:#d8b473;--sand-stroke:#b08c50;--ridge-1:#4f46e5;--ridge-1-fill:#4f46e529;--ridge-2:#0d9488;--ridge-2-fill:#0d948838;--ridge-3:#7e22ce;--ridge-3-fill:#7e22ce47;--anemone-stem:#e03e1a;--anemone-glow:#e03e1a59;--anemone-tip:#eab308;--anemone-tip-ring:#7c4a03;--fish-1:#a16207;--fish-2:#0f766e;--fish-3:#be123c;--fish-halo:.14;--bubble-fill:#ffffff8c;--bubble-ring:#0d948873;--beam-0:#fff8d6;--beam-0-o:.3;--beam-1:#fde047;--beam-1-o:.14;--beam-2:#5eead4;--beam-2-o:.05;--lens-0:#fff;--lens-1:#fff3b0;--lens-2:#eab308;--scatter:#fff;--scatter-o:.28;--mascot-shadow:0 6px 18px #0f234438;--reef-shadow:0 24px 60px #0f234426}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#060e1e;--ink:#e2e8f0;--ink-dim:#94a3b8;--line:#2dd4bf33;--water-top:#0b172e;--water-bottom:#030712;--caustic-a:#2dd4bf2e;--caustic-b:#ff7f5024;--caustic-c:#e8b9821f;--caustic-min:.15;--caustic-max:.25;--weed-line:#9cb86f;--weed-band-1:#9cb86f4d;--weed-band-2:#9cb86f33;--weed-band-3:#9cb86f46;--coral-0:#8b1d03;--coral-1:#c2410c;--coral-2:#ff6f43;--coral-3:#ffa07a;--coral-4:#ffd4c2;--coral-stroke:#7c2d12;--sand-0:#4d3622;--sand-1:#2b1d11;--sand-2:#120a04;--sand-stroke:#543a21;--ridge-1:#818cf8;--ridge-1-fill:#818cf824;--ridge-2:#2dd4bf;--ridge-2-fill:#2dd4bf33;--ridge-3:#c084fc;--ridge-3-fill:#c084fc52;--anemone-stem:coral;--anemone-glow:#ff5733;--anemone-tip:#fde047;--anemone-tip-ring:#fff;--fish-1:#facc15;--fish-2:#2dd4bf;--fish-3:#fb7185;--fish-halo:.08;--bubble-fill:#5eead440;--bubble-ring:#fff6;--beam-0:#fef08a;--beam-0-o:.55;--beam-1:#facc15;--beam-1-o:.26;--beam-2:#2dd4bf;--beam-2-o:.09;--lens-0:#fffde7;--lens-1:#fef08a;--lens-2:#facc15;--scatter:#5eead4;--scatter-o:.055;--mascot-shadow:0 6px 18px #0000008c;--reef-shadow:0 24px 60px #00000059}}@media (prefers-reduced-motion:reduce){:root:not([data-motion]) .reef-caustics,:root:not([data-motion]) .reef-glow,:root:not([data-motion]) .reef-float,:root:not([data-motion]) .reef-flicker{animation:none}}@keyframes float-slow{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(1.5deg)}}@keyframes pulse-glow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.75;transform:scale(1.04)}}@keyframes caustics{0%{opacity:var(--caustic-min);transform:translate(-5%,-5%)scale(1)}50%{opacity:var(--caustic-max);transform:translate(5%,5%)scale(1.1)}to{opacity:var(--caustic-min);transform:translate(-5%,-5%)scale(1)}}@keyframes beam-flicker{0%,to{opacity:.72}45%{opacity:1}}.reef-float{animation:5s ease-in-out infinite float-slow}.reef-flicker{animation:4.2s ease-in-out infinite beam-flicker}.reef-glow{animation:6s ease-in-out infinite pulse-glow}[data-motion=off] .reef-caustics,[data-motion=off] .reef-glow,[data-motion=off] .reef-float,[data-motion=off] .reef-flicker{animation:none}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:80px}body{background:var(--page);min-height:100vh;color:var(--ink);font-family:var(--font-family);margin:0;font-size:16px;font-weight:400;line-height:1.55}code{font-family:var(--font-family-monospace);font-size:.875em}.reef{border:1px solid var(--line);background:linear-gradient(to bottom, var(--water-top), var(--water-bottom));width:100%;height:560px;box-shadow:var(--reef-shadow);border-radius:24px;position:relative;overflow:hidden}.reef-caustics{pointer-events:none;opacity:var(--caustic-min);background:radial-gradient(ellipse at 30% 20%, var(--caustic-a) 0%, transparent 60%), radial-gradient(ellipse at 75% 40%, var(--caustic-b) 0%, transparent 55%), radial-gradient(circle at 50% 80%, var(--caustic-c) 0%, transparent 50%);animation:12s ease-in-out infinite caustics;position:absolute;inset:0}.reef-bloom{opacity:.4;filter:blur(64px);pointer-events:none;border-radius:50%;position:absolute}.reef-bloom-a{background:var(--caustic-a);width:600px;height:600px;top:-160px;right:-160px}.reef-bloom-b{background:var(--caustic-b);width:500px;height:500px;animation-delay:2s;top:33%;left:-160px}.reef-canvas{z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}.reef-svg{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.reef-mascot{filter:drop-shadow(var(--mascot-shadow))}#coral-gradient stop:first-child{stop-color:var(--coral-0)}#coral-gradient stop:nth-child(2){stop-color:var(--coral-1)}#coral-gradient stop:nth-child(3){stop-color:var(--coral-2)}#coral-gradient stop:nth-child(4){stop-color:var(--coral-3)}#coral-gradient stop:nth-child(5){stop-color:var(--coral-4)}#sand-gradient stop:first-child{stop-color:var(--sand-0)}#sand-gradient stop:nth-child(2){stop-color:var(--sand-1)}#sand-gradient stop:nth-child(3){stop-color:var(--sand-2)}#torch-beam stop:first-child{stop-color:var(--beam-0);stop-opacity:var(--beam-0-o)}#torch-beam stop:nth-child(2){stop-color:var(--beam-1);stop-opacity:var(--beam-1-o)}#torch-beam stop:nth-child(3){stop-color:var(--beam-2);stop-opacity:var(--beam-2-o)}#torch-beam stop:nth-child(4),#torch-beam stop:nth-child(5){stop-color:var(--beam-2);stop-opacity:0}#torch-lens stop:first-child{stop-color:var(--lens-0)}#torch-lens stop:nth-child(2){stop-color:var(--lens-1)}#torch-lens stop:nth-child(3){stop-color:var(--lens-2)}#mascot-halo stop:first-child{stop-color:var(--scatter);stop-opacity:var(--scatter-o)}#mascot-halo stop:nth-child(2){stop-color:var(--scatter);stop-opacity:calc(var(--scatter-o) * .55)}#mascot-halo stop:nth-child(3){stop-color:var(--scatter);stop-opacity:0}.signpost{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;max-width:42rem;min-height:100vh;margin:0 auto;padding:0 24px;display:flex}.signpost h1{margin:0;font-size:2rem;font-weight:300}.signpost p{max-width:54ch;color:var(--ink-dim);margin:0}.signpost a{color:var(--brand-9)}@media (prefers-color-scheme:dark){.signpost a{color:var(--brand-4)}}:root{--surface:#fff;--surface-line:#0f23441a;--accent:var(--brand-9);--cta-fill:var(--brand-9);--cta-fill-hover:var(--brand-8);--cta-ink:#fff;--shadow-card:0 1px 2px #0f23440f, 0 8px 24px #0f23440f}@media (prefers-color-scheme:dark){:root{--surface:#0b172e;--surface-line:#94a3b82e;--accent:var(--brand-4);--shadow-card:0 1px 2px #0000004d, 0 8px 24px #00000040}}:root{--measure:1120px}.wrap{width:100%;max-width:var(--measure);margin:0 auto;padding:0 28px}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:2px}a:hover{text-decoration-color:currentColor}h1,h2,h3{margin:0;font-weight:500;line-height:1.25}h1{letter-spacing:-.015em;font-weight:300}h2{font-size:1.5rem}h3{font-size:1rem}strong,b{font-weight:500}p{margin:0}.site-header{z-index:20;border-bottom:1px solid var(--surface-line);background:var(--page);position:sticky;top:0}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:20px;min-height:68px;padding-top:12px;padding-bottom:12px;display:flex}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;margin-right:auto;font-size:1.25rem;font-weight:300;text-decoration:none;display:flex}.brand img{border-radius:7px;width:32px;height:32px;display:block}.wordmark{white-space:nowrap}.wordmark-duck{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-left:.3em;font-size:.68em;font-weight:500}.cta .wordmark-duck{color:inherit}.site-nav{align-items:center;gap:22px;font-size:.9375rem;display:flex}.site-nav a{color:var(--ink-dim);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.cta{background:var(--cta-fill);color:var(--cta-ink);white-space:nowrap;border-radius:8px;padding:9px 18px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-block}.cta:hover{background:var(--cta-fill-hover)}.cta-lg{padding:13px 26px;font-size:1.0625rem}.cta-quiet{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:0 0}.cta-quiet:hover{background:var(--surface-line)}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.site-footer{border-top:1px solid var(--surface-line);color:var(--ink-dim);margin-top:84px;padding:32px 0 56px;font-size:.875rem}.site-footer .wrap{gap:14px;display:grid}.footer-nav{flex-wrap:wrap;gap:22px;display:flex}.footer-nav a{color:var(--ink-dim);text-decoration:none}.footer-nav a:hover,.footer-warning{color:var(--ink)}.hero{grid-template-columns:minmax(0,10fr) minmax(0,16fr);align-items:center;gap:48px;padding:72px 0 56px;display:grid}.hero-copy{justify-items:start;gap:22px;display:grid}.hero h1{max-width:15ch;font-size:clamp(2rem,3.6vw,2.8rem)}.hero-sub{color:var(--ink-dim);font-size:clamp(1.125rem,1.5vw,1.375rem)}.hero-lede{max-width:46ch;font-size:1.0625rem}.hero-check{color:var(--ink-dim);max-width:46ch;font-size:.875rem}.hero .reef{height:460px}.still{border:1px solid var(--surface-line);max-height:460px;box-shadow:var(--shadow-card);background:var(--surface);border-bottom:0;border-radius:12px 12px 0 0;line-height:0;overflow:hidden}.still img{object-fit:cover;object-position:50% 18%;width:100%;height:460px;display:block}.band{padding:72px 0 0}.band>.wrap>h2{max-width:24ch}.band-intro{color:var(--ink-dim);margin-top:14px}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:34px;display:grid}.cards-3{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.cards-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.card{border:1px solid var(--surface-line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:12px;padding:22px}.card h3{margin-bottom:8px}.card p{color:var(--ink-dim);font-size:.9375rem}.card p+p{margin-top:10px}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:34px;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-top:2px solid var(--accent);padding-top:14px}.steps li:before{content:counter(step);color:var(--ink-dim);margin-right:8px;font-size:.8125rem;display:inline-block}.steps a{font-weight:500;text-decoration:none}.steps p{color:var(--ink-dim);margin-top:6px;font-size:.9375rem}.steps-more{text-align:right;margin-top:22px;font-size:.9375rem}.steps-more a{align-items:center;gap:6px;display:inline-flex}.steps-more svg{flex:none;width:1em;height:1em}.closer{border:1px solid var(--surface-line);background:var(--surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:20px;margin-top:76px;padding:34px;display:flex}.closer p{max-width:46ch;color:var(--ink-dim);margin-right:auto}.doc-head{padding:64px 0 8px}.doc-head h1{max-width:18ch;font-size:clamp(2rem,3vw,2.75rem)}.doc-head p{max-width:58ch;color:var(--ink-dim);margin-top:18px;font-size:1.0625rem}.section{padding-top:56px}.section>h2{max-width:26ch}.section>p,.section>ul{max-width:68ch;margin-top:14px}.section>ul{padding-left:20px}.section>h3{margin-top:32px}.section li+li{margin-top:8px}.section{scroll-margin-top:24px}.note{border-left:2px solid var(--accent);color:var(--ink-dim);max-width:68ch;margin-top:16px;padding:14px 18px;font-size:.9375rem}.shots{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:22px;margin-top:28px;display:grid}.shots:has(>.shot:only-child){grid-template-columns:minmax(0,720px);justify-content:center}.shot{border:1px solid var(--surface-line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.shot img{aspect-ratio:1440/900;border-bottom:1px solid var(--surface-line);width:100%;height:auto;display:block}.shot-open{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.shot-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.shot figcaption{padding:16px 18px 20px}.shot h3{margin-bottom:4px}.shot .attrs{color:var(--accent);font-size:.8125rem}.shot p{color:var(--ink-dim);margin-top:8px;font-size:.9375rem}.lightbox{cursor:zoom-out;background:0 0;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;overflow:hidden}.lightbox[open]{flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.lightbox::backdrop{background:#040c1ad1}.lightbox-frame img{border:1px solid #94a3b84d;border-radius:10px;width:auto;max-width:min(1440px,94vw);max-height:82dvh;display:block}.lightbox-caption{color:#e2e8f0;text-align:center;margin:0;padding:0 16px;font-size:.9375rem}.lightbox-close{color:#e2e8f0;cursor:pointer;background:#e2e8f01f;border:0;border-radius:50%;width:40px;height:40px;padding:0;font-size:1.5rem;line-height:1;position:absolute;top:12px;right:16px}.lightbox-close:hover{background:#e2e8f038}.lightbox-close:focus-visible{outline-offset:2px;outline:2px solid #e2e8f0}@media (prefers-reduced-motion:no-preference){.lightbox[open]{animation:.14s ease-out lightbox-in}}@keyframes lightbox-in{0%{opacity:0;transform:scale(.99)}}.cycle{width:100%;max-width:640px;height:auto;margin-block-start:28px;margin-inline:auto;display:block}.cycle .cycle-ring,.cycle .cycle-arrow{fill:none;stroke:var(--accent)}.cycle .cycle-node{fill:var(--surface);stroke:var(--surface-line)}.cycle .cycle-arrow{fill:var(--accent);stroke:none}.cycle .cycle-label{fill:var(--ink);font-size:15px;font-weight:500}.cycle .cycle-sub{fill:var(--ink-dim);font-size:12px}.papers{gap:22px;margin-top:28px;display:grid}.paper{border:1px solid var(--surface-line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:12px;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:24px;padding:22px;display:grid}.talk{border-radius:8px;line-height:0;display:block;position:relative;overflow:hidden}.talk img{width:100%;height:auto;display:block}.talk:before,.talk:after{content:"";position:absolute;top:50%;left:50%}.talk:before{background:#0b172e9e;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;box-shadow:0 2px 10px #00000059}.talk:after{border:11px solid #0000;border-left:18px solid #fff;border-right-width:0;width:0;height:0;transform:translate(-30%,-50%)}.talk:hover:before{background:#0b172ed1}.paper cite{font-style:normal}.paper .title{font-weight:500;display:block}.paper .authors,.paper .venue{color:var(--ink-dim);font-size:.9375rem;display:block}.paper .venue{margin-top:4px}.paper .links{flex-wrap:wrap;gap:18px;margin-top:14px;font-size:.9375rem;display:flex}.news{max-width:78ch;margin-top:28px;padding-left:46px;position:relative}.news+.news{margin-top:44px}.news:before{content:"";background:var(--surface-line);width:2px;position:absolute;top:12px;bottom:-44px;left:13px}.news:last-child:before{bottom:0}.news:after{content:"";background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 5px var(--page);border-radius:50%;position:absolute;top:4px;left:6px}.news>.news-meta{color:var(--ink-dim);align-items:center;gap:10px;font-size:.8125rem;display:flex}.news-meta>.news-tag{background:var(--accent);color:var(--page);border-radius:999px;padding:2px 10px;font-size:.8125rem;font-weight:500;display:inline-block}.news>h3{margin-top:8px;font-size:1.375rem}.news>p:not(.news-meta),.news>ul{color:var(--ink-dim);margin-top:12px;font-size:.9375rem}.news>ul{padding-left:20px}.news li+li{margin-top:6px}.news li strong{color:var(--ink)}.news li .shots{margin-top:16px}@media (max-width:900px){.hero{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:48px}.hero .reef{height:320px}.paper{grid-template-columns:minmax(0,1fr)}.paper .talk{max-width:320px}}
