*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}:root{color-scheme:dark;--font-display: "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--font-body: "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--ink-100: rgba(255, 255, 255, .96);--ink-200: rgba(230, 235, 245, .86);--ink-300: rgba(200, 210, 220, .65);--ink-400: rgba(170, 180, 195, .45);--glass-bg: rgba(10, 14, 22, .55);--glass-border: rgba(255, 255, 255, .08);--glass-bg-hover: rgba(14, 20, 32, .62);--glass-highlight: rgba(255, 255, 255, .04);--shadow-soft: 0 12px 40px rgba(0, 0, 0, .45)}body{overflow-x:clip;font-family:var(--font-body);color:var(--ink-200);background:transparent;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{position:relative;z-index:1;width:min(1720px,calc(100vw - clamp(1.5rem,6vw,6rem)));margin:0 auto;padding:clamp(2rem,6vw,5rem) 0 clamp(4rem,12vw,8rem);display:flex;flex-direction:column;gap:clamp(1.25rem,2.5vw,2rem)}h1,h2,h3{font-family:var(--font-display);color:var(--ink-100);letter-spacing:-.01em;margin:0 0 .4em}h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:600;line-height:1.05}h2{font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:500;line-height:1.15}h3{font-size:1.1rem;font-weight:500;color:var(--ink-200)}p{margin:0 0 1em;color:var(--ink-200)}a{color:#dcf0fff2;text-decoration:none;border-bottom:1px solid rgba(220,240,255,.18);transition:color .12s ease,border-color .12s ease}a:hover{color:#fff;border-bottom-color:#ffffff73}a:focus-visible{outline:3px solid rgba(125,211,252,.9);outline-offset:4px;border-radius:4px}.card{position:relative;padding:clamp(1.25rem,2.4vw,2rem);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.35),transparent);pointer-events:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.card .label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-400);margin-bottom:.5em}.hero{display:grid;gap:.6rem;padding-bottom:1rem}.hero .lede{font-size:clamp(1.05rem,1.8vw,1.18rem);color:var(--ink-200);max-width:60ch}.hero .name{font-size:clamp(2.5rem,6vw,4rem);font-weight:600;letter-spacing:-.02em;color:var(--ink-100)}.hero .role{font-family:var(--font-display);color:var(--ink-300);text-transform:uppercase;letter-spacing:.18em;font-size:.8rem}.bio-block h3{margin-top:.4rem}.bio-block .source{font-size:.8rem;color:var(--ink-400);margin-bottom:.6rem}.bio-block p{max-width:105ch}.projects{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.projects li{margin:0}.projects a{display:block;padding:1rem 1.1rem;border-radius:14px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--ink-100);border-bottom:1px solid var(--glass-border);transition:transform .14s ease,background .14s ease,border-color .14s ease}.projects a:hover{background:var(--glass-bg-hover);border-color:#ffffff2e;transform:translateY(-1px)}.projects a small{display:block;color:var(--ink-400);margin-top:.3rem;font-size:.78rem}footer.site{margin-top:2rem;text-align:center;font-size:.85rem;color:var(--ink-400)}footer.site p+p{margin-top:.35rem;color:var(--ink-300)}.insane-mode{display:inline-block;width:10.5rem;margin:.8rem auto 0;padding:.16rem;border:1px solid rgba(255,255,255,.06);border-radius:6px;background:#04060c4d;opacity:.38;transition:opacity .16s ease,border-color .16s ease}.insane-mode:hover,.insane-mode:focus-within{opacity:.9;border-color:#ffffff1f}.insane-mode legend{padding:0 .25rem;color:var(--ink-300);font:.52rem/1 Oxanium,sans-serif;letter-spacing:.1em;text-transform:uppercase}.insane-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.1rem}.insane-mode label{display:block;position:relative;padding:.3rem .2rem;border-radius:4px;cursor:pointer;color:var(--ink-300);font:600 .58rem/1.1 Oxanium,sans-serif;transition:color .14s ease,background .14s ease}.insane-mode label:has(input:checked){color:#fff;background:#4a99c947}.insane-mode input{position:absolute;opacity:0;pointer-events:none}.fluid-playground{width:100%;height:clamp(28rem,72vh,68rem);pointer-events:none}.project-page{max-width:1480px}.breadcrumb{margin-bottom:.5rem}.breadcrumb a{display:inline-block;padding:.35rem 0}.project-page article{display:grid;gap:clamp(1.25rem,2.5vw,2rem)}.project-hero{padding:1.5rem 0 .5rem}.media-card{margin:0}.video-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:12px;background:#020305}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-card img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;border-radius:12px;background:#0000002e}.media-card figcaption{margin-top:.8rem;color:var(--ink-300);font-size:.9rem;text-align:center}.prose p:last-child,.bio-block p:last-child,footer.site p:last-child{margin-bottom:0}.project-page .prose{max-width:95ch}.updates-section{display:grid;gap:1.5rem;margin-top:clamp(1rem,4vw,3rem)}.section-heading{max-width:60ch;padding:1rem 0}.section-heading h2{font-size:clamp(2rem,5vw,3.2rem)}.section-heading p{color:var(--ink-300)}.updates-feed{display:grid;gap:clamp(3rem,8vw,6.5rem)}.update-entry{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(1.25rem,4vw,3.5rem)}.update-entry.reverse .update-copy{order:2}.update-copy time{display:block;margin-bottom:.75rem;color:var(--ink-400);font-size:.76rem;letter-spacing:.13em;text-transform:uppercase}.update-copy h3{font-size:clamp(1.35rem,3vw,2rem);color:var(--ink-100)}.update-description p:last-child{margin-bottom:0}.update-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;transform:rotate(-1deg)}.update-media-grid.single{grid-template-columns:1fr}.update-media-grid.single .update-media.contained{width:min(100%,380px);min-height:0;justify-self:center}.reverse .update-media-grid{transform:rotate(1deg)}.update-media{position:relative;display:block;overflow:hidden;min-height:160px;border:1px solid var(--glass-border);border-radius:16px;background:#04060cc7;box-shadow:var(--shadow-soft);color:var(--ink-200);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.update-media:nth-child(2){margin-top:2.25rem}.update-media:hover{z-index:2;transform:translateY(-6px) scale(1.025) rotate(0);border-color:#ffffff4d;box-shadow:0 22px 55px #00000094}.update-media img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .25s ease}.update-media img.contain{object-fit:contain;padding:clamp(1.5rem,5vw,3.5rem)}.update-video{margin-inline:0}.update-video video{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.update-video figcaption{padding:.7rem .8rem .85rem;color:var(--ink-300);font-size:.76rem;line-height:1.4}.update-media:hover img{transform:scale(1.06);filter:saturate(1.12) contrast(1.04)}.update-media>span:not(.play){display:block;padding:.7rem .8rem .85rem;color:var(--ink-300);font-size:.76rem;line-height:1.4}.video-link .play{position:absolute;top:38%;left:50%;display:grid;width:3.25rem;height:3.25rem;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#04060cbf;color:#fff;font-size:1.1rem;transform:translate(-50%,-50%);backdrop-filter:blur(8px)}.reveal{opacity:0;transform:translate3d(-36px,28px,0);transition:opacity .7s ease,transform .85s cubic-bezier(.2,.75,.2,1)}.reveal.reverse{transform:translate3d(36px,28px,0)}.reveal.is-visible{opacity:1;transform:translateZ(0)}.archive-entry{width:100%;padding:0}.archive-entry summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1.4rem,3vw,2.25rem);cursor:pointer;list-style:none}.archive-entry summary::-webkit-details-marker{display:none}.archive-entry summary span:first-child{display:grid;gap:.25rem}.archive-entry summary small{color:var(--ink-400);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.archive-entry summary strong{color:var(--ink-100);font-family:var(--font-display);font-size:clamp(1.35rem,3vw,2rem)}.archive-toggle{color:var(--ink-200);font-size:2rem;font-weight:200;transition:transform .25s ease}.archive-entry[open] .archive-toggle{transform:rotate(45deg)}.archive-entry>p{margin:0;padding:0 clamp(1.4rem,3vw,2.25rem) 1.25rem;color:var(--ink-300)}.archive-projects{padding:0 clamp(1.4rem,3vw,2.25rem) clamp(1.4rem,3vw,2.25rem)}@media (min-width: 1500px){main{gap:2.25rem}.projects{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.update-entry{grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);gap:clamp(3rem,5vw,6rem)}.update-copy{padding:clamp(2rem,3vw,3.25rem)}.update-media-grid{gap:1.4rem}}@media (max-width: 760px){.update-entry{grid-template-columns:1fr}.update-entry.reverse .update-copy{order:0}.update-media-grid,.reverse .update-media-grid{transform:none}}@media (max-width: 640px){main{padding-top:1.5rem}.hero .name{font-size:2.4rem}}@media (prefers-reduced-motion: reduce){.card,.projects a,a{transition:none!important}.reveal{opacity:1;transform:none;transition:none}}.bg-root[data-astro-cid-y3soregm]{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 18% 22%,rgba(31,104,158,.3),transparent 36%),radial-gradient(circle at 82% 36%,rgba(107,49,133,.25),transparent 38%),radial-gradient(circle at 52% 90%,rgba(25,117,125,.18),transparent 42%),#050608;overflow:hidden}.bg-root[data-astro-cid-y3soregm] canvas[data-astro-cid-y3soregm]{display:block;width:100%;height:100%;touch-action:none;opacity:1;mix-blend-mode:screen}.bg-fallback[data-astro-cid-y3soregm]{color:#ffffff73;font-family:Oxanium,sans-serif;display:flex;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}#lenia-debug[data-astro-cid-y3soregm]{position:fixed;left:12px;bottom:12px;z-index:100;padding:8px 12px;border-radius:8px;background:#0a0e16d9;border:1px solid rgba(255,255,255,.1);color:#ffffffd9;font:12px/1.4 ui-monospace,Cascadia Code,Menlo,monospace;pointer-events:none;white-space:pre}#lenia-debug[data-astro-cid-y3soregm].ok{color:#ffffff80;background:#0a0e1680}
