.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.site-footer[data-astro-cid-nns7i3if]{padding-block:var(--space-xl);border-block-start:1px solid var(--border);color:var(--text-muted);font-size:var(--step--1);margin-block-start:auto}ul[data-astro-cid-gtewornt]{gap:2px;padding:0;list-style:none;display:flex}a[data-astro-cid-gtewornt]{border-radius:var(--radius-control);min-block-size:2.75rem;min-inline-size:2.75rem;color:var(--text-muted);font-size:var(--step--1);letter-spacing:.06em;place-items:center;font-weight:600;text-decoration:none;display:grid}a[data-astro-cid-gtewornt]:hover{color:var(--text)}a[data-astro-cid-gtewornt][aria-current]{color:var(--accent);background:var(--accent-soft)}@media (width<=30rem){li[data-astro-cid-gtewornt]:has(a[aria-current]){display:none}}@media (width<=24rem){a[data-astro-cid-gtewornt]{min-block-size:2.25rem;min-inline-size:2.25rem}}.theme-toggle[data-astro-cid-l6lhmie6]{border:1px solid var(--border-strong);border-radius:var(--radius-control);gap:2px;padding:2px;display:inline-flex}button[data-astro-cid-l6lhmie6]{border-radius:calc(var(--radius-control) - 2px);block-size:2.75rem;inline-size:2.75rem;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out);background:0 0;border:0;place-items:center;display:grid}button[data-astro-cid-l6lhmie6]:hover{color:var(--text)}button[data-astro-cid-l6lhmie6][aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}svg[data-astro-cid-l6lhmie6]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}[data-astro-cid-l6lhmie6][data-theme-value=system] path[data-astro-cid-l6lhmie6]{fill:currentColor}@media (width<=24rem){button[data-astro-cid-l6lhmie6]{block-size:2.25rem;inline-size:2.25rem}}.site-header[data-astro-cid-fzpbxy5g]{border-block-end:1px solid var(--border);view-transition-name:site-header}.inner[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--space-s) var(--space-l);padding-block:var(--space-s);grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav tools";display:grid}.brand[data-astro-cid-fzpbxy5g]{font-family:var(--font-heading);font-size:var(--step-1);color:var(--text);white-space:nowrap;grid-area:brand;font-weight:700;font-stretch:85%;text-decoration:none}nav[data-astro-cid-fzpbxy5g]{grid-area:nav;min-inline-size:0}nav[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{gap:var(--space-xs);padding:0;list-style:none;display:flex}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{align-items:baseline;gap:var(--space-2xs);padding:var(--space-xs) var(--space-s);color:var(--text-muted);white-space:nowrap;text-decoration:none;display:inline-flex;position:relative}.num[data-astro-cid-fzpbxy5g]{color:var(--accent);font-family:var(--font-code);letter-spacing:.02em;font-size:.72em}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover,nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--text)}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:after{content:"";inset:auto var(--space-s) .15em;background:var(--accent-bright);clip-path:inset(0 100% 0 0);block-size:.5em;transition:clip-path calc(var(--duration) * 1.5) var(--ease-out);position:absolute;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M1 6.5C12 3 22 8 36 5s22-3.5 34 0 20 2 29-1.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 50%/100% 100% no-repeat}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover:after,nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:focus-visible:after,nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]:after{clip-path:inset(0)}.tools[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--space-xs);grid-area:tools;display:flex}@media (width<=60rem){.inner[data-astro-cid-fzpbxy5g]{justify-content:space-between;gap:var(--space-2xs) var(--space-s);grid-template-columns:auto auto;grid-template-areas:"brand tools""nav nav";padding-block-end:0}nav[data-astro-cid-fzpbxy5g]{margin-inline:calc(-1 * var(--gutter))}nav[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{padding-inline:calc(var(--gutter) - var(--space-s)) var(--space-xl);scrollbar-width:none;mask-image:linear-gradient(to left, transparent, #000 var(--space-xl));gap:0;overflow-x:auto}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{padding-block:var(--space-s)}}:root{color-scheme:light dark;--palette-blue:#647fbc;--palette-steel:#91adc8;--palette-mint:#aed6cf;--palette-cream:#fafdd6;--bg:light-dark(#f7fafd,oklch(18% .025 262));--surface:light-dark(#fff,oklch(22% .028 262));--text:light-dark(oklch(24% .035 265),var(--palette-cream));--text-muted:light-dark(oklch(46% .03 260),oklch(78% .03 240));--accent:light-dark(oklch(56% .22 25),oklch(87% .23 145));--accent-bright:light-dark(oklch(70% .2 25),oklch(87% .23 145));--on-accent:oklch(20% .03 265);--accent-soft:color-mix(in oklch, var(--accent) 10%, transparent);--highlight:light-dark(var(--palette-mint),color-mix(in oklch, var(--palette-blue) 55%, transparent));--border:color-mix(in oklch, var(--text) 22%, transparent);--border-strong:color-mix(in oklch, var(--text) 55%, transparent);--focus-ring:light-dark(var(--palette-blue),var(--palette-mint));--font-sans:var(--font-body), system-ui, sans-serif;--font-heading:var(--font-display), system-ui, sans-serif;--font-code:var(--font-mono), ui-monospace, monospace;--step--1:clamp(.83rem, .8rem + .15vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.2rem, 1.12rem + .4vw, 1.44rem);--step-2:clamp(1.44rem, 1.3rem + .7vw, 1.85rem);--step-3:clamp(1.73rem, 1.48rem + 1.2vw, 2.4rem);--step-4:clamp(2.07rem, 1.65rem + 2vw, 3.2rem);--step-5:clamp(2.5rem, 1.8rem + 3.4vw, 4.5rem);--space-2xs:.25rem;--space-xs:.5rem;--space-s:.75rem;--space-m:1rem;--space-l:1.5rem;--space-xl:2.5rem;--space-2xl:clamp(3rem, 2rem + 4vw, 6rem);--measure:65ch;--page-max:72rem;--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--radius:2px;--radius-control:.5rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration:.22s}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--duration:0s}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:none;text-size-adjust:none;hanging-punctuation:first last}body{background:var(--bg);min-block-size:100dvb;color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;flex-direction:column;line-height:1.6;display:flex}img,picture,svg,video,canvas{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.015em;text-wrap:balance;font-weight:650;font-stretch:100%;line-height:1.05}@keyframes title-narrow{to{font-stretch:75%}}@keyframes title-widen{0%{font-stretch:75%}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){h1{animation:linear both title-narrow view();animation-range:exit exit 90%}h2{animation:linear both title-widen view();animation-range:entry entry 70%}}}p{text-wrap:pretty}code,kbd,pre,samp{font-family:var(--font-code);font-size:.92em}a{color:var(--accent);text-underline-offset:.18em;transition:text-decoration-thickness var(--duration) var(--ease-out);text-decoration-thickness:.08em}a:hover{text-decoration-thickness:.14em}::selection{background:var(--highlight);color:var(--text)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}.visually-hidden:not(:focus-visible,:active){clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.container{inline-size:min(100% - 2 * var(--gutter), var(--page-max));margin-inline:auto}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link[data-astro-cid-z4jru4n3]{z-index:10;padding:var(--space-xs) var(--space-m);border-radius:var(--radius);background:var(--text);color:var(--bg);font-weight:600;position:absolute;inset-block-start:var(--space-s);inset-inline-start:var(--space-s);translate:0 -200%}.skip-link[data-astro-cid-z4jru4n3]:focus-visible{translate:0}main[data-astro-cid-z4jru4n3]{padding-block:var(--space-2xl)}main[data-astro-cid-z4jru4n3].flush{padding-block:0}main[data-astro-cid-z4jru4n3]:focus{outline:none}.page-header[data-astro-cid-b2i3gsw2]{gap:var(--space-m);justify-items:start;display:grid}h1[data-astro-cid-b2i3gsw2]{font-size:var(--step-5);letter-spacing:-.03em;view-transition-name:page-title;font-weight:700;font-stretch:90%}.lead[data-astro-cid-b2i3gsw2]{max-inline-size:var(--measure);color:var(--text-muted);font-size:var(--step-1)}.not-found[data-astro-cid-f5b4kubk]{gap:var(--space-xl);display:grid}.other[data-astro-cid-f5b4kubk]{gap:var(--space-xs);border-block-start:1px solid var(--border);color:var(--text-muted);justify-items:start;padding-block-start:var(--space-l);display:grid}.other[data-astro-cid-f5b4kubk] h2[data-astro-cid-f5b4kubk]{color:var(--text);font-size:var(--step-2)}.contact[data-astro-cid-idxrcgyr]{gap:var(--space-xl);display:grid}.channels[data-astro-cid-idxrcgyr]{gap:var(--space-l);margin:0;display:grid}dt[data-astro-cid-idxrcgyr]{color:var(--text-muted);font-family:var(--font-code);font-size:var(--step--1)}dd[data-astro-cid-idxrcgyr]{margin:0}.form[data-astro-cid-idxrcgyr]{gap:var(--space-m);max-inline-size:40rem;display:grid}.form[data-astro-cid-idxrcgyr] label[data-astro-cid-idxrcgyr]{gap:var(--space-2xs);font-weight:600;display:grid}input[data-astro-cid-idxrcgyr],textarea[data-astro-cid-idxrcgyr]{inline-size:100%;padding:var(--space-s);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:400}textarea[data-astro-cid-idxrcgyr]{resize:vertical}.trap[data-astro-cid-idxrcgyr]{clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.hint[data-astro-cid-idxrcgyr]{color:var(--text-muted);font-size:var(--step--1);margin:0}.actions[data-astro-cid-idxrcgyr]{align-items:center;gap:var(--space-m);flex-wrap:wrap;display:flex}button[data-astro-cid-idxrcgyr]{padding:var(--space-s) var(--space-l);border:1px solid var(--accent-bright);border-radius:var(--radius-control);background:var(--accent-bright);color:var(--on-accent);font:inherit;cursor:pointer;font-weight:600}button[data-astro-cid-idxrcgyr]:disabled{opacity:.6;cursor:progress}.status[data-astro-cid-idxrcgyr]{margin:0}.fallback[data-astro-cid-idxrcgyr]{display:none}.fallback[data-astro-cid-idxrcgyr]:target{display:block}.chips[data-astro-cid-idxrcgyr]{gap:var(--space-xs);font-size:var(--step-0);font-weight:500}.chips[data-astro-cid-idxrcgyr] li[data-astro-cid-idxrcgyr]{padding:var(--space-2xs) var(--space-s);border-radius:var(--radius);background:var(--accent-soft)}.buttons[data-astro-cid-idxrcgyr]{gap:var(--space-s);font-size:var(--step-0)}.btn[data-astro-cid-idxrcgyr]{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-m);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--text);transition:border-color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out);text-decoration:none;display:inline-flex}.btn[data-astro-cid-idxrcgyr]:hover{border-color:var(--accent);background:var(--accent-soft)}.btn[data-astro-cid-idxrcgyr] svg[data-astro-cid-idxrcgyr]{fill:none;block-size:1em;inline-size:1em;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}ul[data-astro-cid-idxrcgyr]{gap:var(--space-xs) var(--space-l);font-size:var(--step-1);flex-wrap:wrap;padding:0;font-weight:600;list-style:none;display:flex}.experience[data-astro-cid-6gmn2zzj]{gap:var(--space-xl);display:grid}.timeline[data-astro-cid-6gmn2zzj]{padding:0;list-style:none;display:grid;container-type:inline-size}.job[data-astro-cid-6gmn2zzj]{gap:var(--space-2xs) var(--space-l);padding-block:var(--space-l);border-block-start:1px solid var(--border);display:grid;&:last-child{border-block-end:1px solid var(--border)}}@container (width>=40rem){.job[data-astro-cid-6gmn2zzj]{grid-template-columns:10rem 1fr}}.period[data-astro-cid-6gmn2zzj]{color:var(--text-muted);font-family:var(--font-code);font-size:var(--step--1);font-variant-numeric:tabular-nums;padding-block-start:.35em}.body[data-astro-cid-6gmn2zzj]{gap:var(--space-xs);max-inline-size:var(--measure);justify-items:start;display:grid}h2[data-astro-cid-6gmn2zzj]{font-size:var(--step-2);gap:.15em;display:grid}.company[data-astro-cid-6gmn2zzj]{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--step-0);font-weight:600}.placeholder[data-astro-cid-6gmn2zzj]{padding:0 var(--space-xs);border:1px dashed var(--accent);border-radius:var(--radius);color:var(--text-muted);font-size:var(--step--1)}.summary[data-astro-cid-6gmn2zzj]{color:var(--text-muted)}.highlights[data-astro-cid-6gmn2zzj]{gap:var(--space-2xs);padding-inline-start:1.2em;display:grid}.stack[data-astro-cid-6gmn2zzj],.links[data-astro-cid-6gmn2zzj]{gap:var(--space-2xs) var(--space-s);flex-wrap:wrap;padding:0;list-style:none;display:flex}.stack[data-astro-cid-6gmn2zzj]{gap:var(--space-2xs);font-family:var(--font-code);font-size:var(--step--1);& li{padding:0 var(--space-xs);border-radius:var(--radius);background:var(--accent-soft)}}.links[data-astro-cid-6gmn2zzj]{font-size:var(--step--1);font-weight:600}.memory.svelte-12egzt1{gap:var(--space-l);max-inline-size:30rem;display:grid}.hud.svelte-12egzt1{align-items:center;gap:var(--space-xs) var(--space-l);color:var(--text-muted);font-size:var(--step--1);flex-wrap:wrap;display:flex;& strong:where(.svelte-12egzt1){color:var(--text);font-family:var(--font-code);font-size:var(--step-1);font-variant-numeric:tabular-nums;margin-inline-start:var(--space-2xs)}}.restart.svelte-12egzt1{padding:var(--space-2xs) var(--space-m);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;margin-inline-start:auto;font-weight:600;&:hover{border-color:var(--accent)}}.grid.svelte-12egzt1{gap:var(--space-s);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.card.svelte-12egzt1{aspect-ratio:5/6;inline-size:100%;color:inherit;cursor:pointer;perspective:40rem;background:0 0;border:0;padding:0;display:block;&:disabled{cursor:default}&:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius)}}.inner.svelte-12egzt1{block-size:100%;transform-style:preserve-3d;transition:transform .35s var(--ease-out);display:block;position:relative}.card.svelte-12egzt1:not([data-state=hidden]) .inner:where(.svelte-12egzt1){transform:rotateY(180deg)}.face.svelte-12egzt1{place-content:center;justify-items:center;gap:var(--space-2xs);border-radius:var(--radius);backface-visibility:hidden;display:grid;position:absolute;inset:0}.back.svelte-12egzt1{border:1px solid var(--border);background:radial-gradient(circle at 30% 25%, color-mix(in oklch, var(--palette-mint) 55%, transparent), transparent 60%), linear-gradient(135deg, var(--palette-blue), var(--palette-steel))}.card.svelte-12egzt1:hover:not(:disabled) .back:where(.svelte-12egzt1){filter:brightness(1.08)}.front.svelte-12egzt1{--pair-strong:light-dark(oklch(45% .13 var(--pair-hue,265)),oklch(88% .1 var(--pair-hue,265)));border:1px solid var(--border);background:light-dark(oklch(93% .055 var(--pair-hue,265)),oklch(31% .06 var(--pair-hue,265)));transform:rotateY(180deg)}.card[data-state=matched].svelte-12egzt1 .front:where(.svelte-12egzt1){border:3px solid var(--pair-strong)}.icon.svelte-12egzt1{block-size:auto;inline-size:42%;fill:var(--pair-strong)}.name.svelte-12egzt1{color:light-dark(oklch(36% .06 var(--pair-hue,265)),oklch(82% .04 var(--pair-hue,265)));font-size:var(--step--1)}.won.svelte-12egzt1{font-family:var(--font-display);font-size:var(--step-2);font-weight:650}.experiment[data-astro-cid-ji7dnfgb]{gap:var(--space-xl);display:grid}.intro[data-astro-cid-ji7dnfgb]{gap:var(--space-m);justify-items:start;display:grid}.back[data-astro-cid-ji7dnfgb]{font-size:var(--step--1);font-weight:600}h1[data-astro-cid-ji7dnfgb]{font-size:var(--step-5);letter-spacing:-.03em;view-transition-name:page-title;font-weight:700;font-stretch:90%}.lead[data-astro-cid-ji7dnfgb]{max-inline-size:var(--measure);color:var(--text-muted);font-size:var(--step-1)}.how[data-astro-cid-ji7dnfgb]{gap:var(--space-m);max-inline-size:var(--measure);display:grid}.how[data-astro-cid-ji7dnfgb] h2[data-astro-cid-ji7dnfgb]{font-size:var(--step-3)}.how[data-astro-cid-ji7dnfgb] ul[data-astro-cid-ji7dnfgb]{gap:var(--space-xs);padding-inline-start:1.2em;display:grid}.note[data-astro-cid-ji7dnfgb]{color:var(--text-muted);font-size:var(--step--1)}.js-meter[data-astro-cid-gz5w4rwd]{gap:var(--space-s);padding:var(--space-l);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid}.label[data-astro-cid-gz5w4rwd]{font-weight:600}dl[data-astro-cid-gz5w4rwd]{gap:var(--space-m) var(--space-xl);flex-wrap:wrap;display:flex}dt[data-astro-cid-gz5w4rwd]{color:var(--text-muted);font-size:var(--step--1)}dd[data-astro-cid-gz5w4rwd]{font-family:var(--font-code);font-size:var(--step-1);font-variant-numeric:tabular-nums;margin:0}[data-astro-cid-gz5w4rwd][data-meter=total]{color:var(--accent);font-weight:600}.note[data-astro-cid-gz5w4rwd]{max-inline-size:var(--measure);color:var(--text-muted);font-size:var(--step--1)}@property --art-from{syntax:"<color>";inherits:true;initial-value:#647fbc}@property --art-to{syntax:"<color>";inherits:true;initial-value:#aed6cf}@property --art-angle{syntax:"<angle>";inherits:true;initial-value:135deg}.tv{gap:var(--space-l);display:grid}.tv-frame{background:#05080d;border-radius:1rem;padding:.6rem;box-shadow:0 1.5rem 3rem -1.5rem #00000073,inset 0 0 0 1px #ffffff0f;container-type:inline-size}.tv-screen{--tv-bg:#0b121d;--tv-text:#fafdd6;--tv-muted:#a7bac9;--tv-accent:#aed6cf;--tv-ease:cubic-bezier(.22, 1, .36, 1);isolation:isolate;aspect-ratio:16/9;background:var(--tv-bg);color:var(--tv-text);color-scheme:dark;font-family:var(--font-sans);border-radius:.4rem;font-size:.833333cqi;line-height:1.3;position:relative;overflow:hidden;& svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:1.25em;inline-size:1.25em}& ul{margin:0;padding:0;list-style:none}& [data-nav-item]{cursor:pointer}& [data-nav-item]:focus{outline:none}}.tv-main{position:absolute;inset:0}.tv-menu{z-index:2;background:linear-gradient(to right, var(--tv-bg) 55%, transparent);inline-size:6.5em;transition:inline-size .25s var(--tv-ease);flex-direction:column;justify-content:center;padding-inline:1em;display:flex;position:absolute;inset-block:0;inset-inline-start:0;& ul{gap:.75em;display:grid}&:focus-within{background:linear-gradient(to right, var(--tv-bg) 75%, transparent);inline-size:20em}}.tv-menu-item{inline-size:100%;color:var(--tv-muted);font:inherit;white-space:nowrap;transition:background-color .2s var(--tv-ease), color .2s var(--tv-ease);background:0 0;border:0;border-radius:.5em;align-items:center;gap:.8em;padding:.55em .6em;font-size:1.5em;font-weight:500;display:flex;overflow:hidden;& span{opacity:0;transition:opacity .2s var(--tv-ease)}&[aria-pressed=true]{color:var(--tv-accent)}&:focus{background:var(--tv-text);color:var(--tv-bg)}}.tv-menu:focus-within .tv-menu-item span{opacity:1}.tv-featured{isolation:isolate;block-size:31em;transition:--art-from .6s var(--tv-ease), --art-to .6s var(--tv-ease), --art-angle .6s var(--tv-ease);padding:5em 8em 0;position:absolute;inset-block-start:0;inset-inline:0}.tv-featured-art,.tv-detail-art{z-index:-1;background:linear-gradient(var(--art-angle), var(--art-from), var(--art-to));opacity:.6;position:absolute;inset-block:0;inset-inline:38% 0;mask-image:linear-gradient(90deg,#0000,#000 50%),linear-gradient(#000 55%,#0000);mask-composite:intersect}.tv-meta{color:var(--tv-muted);letter-spacing:.02em;margin-block-end:.6em;font-size:1.25em}.tv-featured-title,.tv-detail-title{max-inline-size:11em;font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-size:4.5em;font-weight:700;font-stretch:85%;line-height:.95}.tv-desc{max-inline-size:26em;color:color-mix(in oklch, var(--tv-text) 85%, transparent);margin-block-start:.8em;font-size:1.5em}.tv-rails{scrollbar-width:none;position:absolute;inset-block:31em 0;inset-inline:0;overflow-y:auto}.tv-rail{& h3{color:var(--tv-muted);font-family:var(--font-sans);padding-inline:5.33em;font-size:1.5em;font-weight:600;line-height:1.2}& ul{scrollbar-width:none;gap:1.5em;padding:1em 8em 2em;scroll-padding-inline-start:8em;display:flex;position:relative;overflow-x:auto}& li{flex:none}}.tv-card{aspect-ratio:16/9;background:linear-gradient(var(--art-angle), var(--art-from), var(--art-to));inline-size:18em;color:var(--tv-text);font:inherit;text-align:start;transition:transform .2s var(--tv-ease), box-shadow .2s var(--tv-ease);border:0;border-radius:.75em;align-items:flex-end;padding:1em 1em 1.1em;display:flex;position:relative;overflow:hidden;&:after{content:"";background:linear-gradient(#0000 30%,#0b121dd9);position:absolute;inset:0}&:focus{z-index:1;box-shadow:0 0 0 .25em var(--tv-bg), 0 0 0 .5em var(--tv-accent), 0 1.5em 3em -1em #0009;transform:scale(1.06)}}.tv-card-glyph{color:#ffffff38;font-family:var(--font-display);font-size:8em;font-weight:800;font-stretch:75%;line-height:1;position:absolute;inset-block-start:-.2em;inset-inline-end:.08em}.tv-card-title{z-index:1;font-family:var(--font-display);font-size:1.4em;font-weight:650;line-height:1.1;position:relative}.tv-progress{z-index:1;background:#ffffff40;border-radius:1em;block-size:.3em;position:absolute;inset-block-end:.5em;inset-inline:1em;overflow:hidden;& span{background:var(--tv-accent);block-size:100%;display:block}}.tv-card:has(.tv-progress){padding-block-end:1.6em}.tv-detail{z-index:5;background:var(--tv-bg);animation:tv-fade-in .25s var(--tv-ease);align-content:center;padding-inline:8em;display:grid;position:absolute;inset:0;& .tv-detail-art{opacity:.75;inset-inline-start:30%}}.tv-detail-body{position:relative}.tv-actions{gap:1.5em;margin-block-start:2.5em;display:flex}.tv-button{color:var(--tv-text);font:inherit;transition:transform .2s var(--tv-ease), background-color .2s var(--tv-ease), color .2s var(--tv-ease);background:#ffffff1f;border:0;border-radius:999px;align-items:center;gap:.5em;padding:.7em 1.3em;font-size:1.5em;font-weight:600;display:inline-flex;& svg{fill:currentColor;block-size:1em;inline-size:1em}&:focus{background:var(--tv-text);color:var(--tv-bg);transform:scale(1.06)}}.tv-toast{z-index:6;background:var(--tv-text);color:var(--tv-bg);opacity:0;transition:opacity .25s var(--tv-ease), translate .25s var(--tv-ease);pointer-events:none;border-radius:999px;padding:.6em 1.2em;font-size:1.5em;font-weight:600;position:absolute;inset-block-end:2.5em;inset-inline-start:50%;translate:-50% 1em;&[data-visible]{opacity:1;translate:-50%}&:empty{padding:0}}@keyframes tv-fade-in{0%{opacity:0}}.tv-controls{align-items:center;gap:var(--space-l) var(--space-xl);flex-wrap:wrap;display:flex}.tv-remote{align-items:center;gap:var(--space-l);display:flex}.tv-dpad{gap:var(--space-2xs);grid-template-areas:".up.""left ok right"".down.";display:grid}.tv-key{border:1px solid var(--border);background:var(--surface);block-size:2.75rem;inline-size:2.75rem;color:var(--text);font-size:var(--step--1);cursor:pointer;touch-action:manipulation;border-radius:999px;place-items:center;font-weight:700;display:grid;& svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:1.25rem;inline-size:1.25rem}&:hover{border-color:var(--accent)}&:active{background:var(--accent-soft)}}.tv-key-up{grid-area:up}.tv-key-left{grid-area:left;& svg{rotate:-90deg}}.tv-key-ok{background:var(--accent);border-color:var(--accent);color:var(--bg);grid-area:ok}.tv-key-right{grid-area:right;& svg{rotate:90deg}}.tv-key-down{grid-area:down;& svg{rotate:180deg}}.tv-help{max-inline-size:var(--measure);color:var(--text-muted);font-size:var(--step--1);flex:20rem}.experiment[data-astro-cid-rz23orrp]{gap:var(--space-xl);display:grid}.intro[data-astro-cid-rz23orrp]{gap:var(--space-m);justify-items:start;display:grid}.back[data-astro-cid-rz23orrp],.compare[data-astro-cid-rz23orrp]{font-size:var(--step--1);font-weight:600}h1[data-astro-cid-rz23orrp]{font-size:var(--step-5);letter-spacing:-.03em;font-weight:700;font-stretch:90%}.lead[data-astro-cid-rz23orrp]{max-inline-size:var(--measure);color:var(--text-muted);font-size:var(--step-1)}.how[data-astro-cid-rz23orrp]{gap:var(--space-m);max-inline-size:var(--measure);display:grid}.how[data-astro-cid-rz23orrp] h2[data-astro-cid-rz23orrp]{font-size:var(--step-3)}.how[data-astro-cid-rz23orrp] ul[data-astro-cid-rz23orrp]{gap:var(--space-xs);padding-inline-start:1.2em;display:grid}.note[data-astro-cid-rz23orrp]{color:var(--text-muted);font-size:var(--step--1)}.results[data-astro-cid-rz23orrp]{gap:var(--space-m);max-inline-size:var(--measure);display:grid}.results[data-astro-cid-rz23orrp] h2[data-astro-cid-rz23orrp]{font-size:var(--step-3)}.table-wrap[data-astro-cid-rz23orrp]{overflow-x:auto}table[data-astro-cid-rz23orrp]{border-collapse:collapse;inline-size:100%;font-size:var(--step--1)}th[data-astro-cid-rz23orrp],td[data-astro-cid-rz23orrp]{padding:var(--space-xs) var(--space-s);border-block-end:1px solid var(--border);text-align:start}thead[data-astro-cid-rz23orrp] th[data-astro-cid-rz23orrp]{color:var(--text-muted);font-weight:600}td[data-astro-cid-rz23orrp]{font-family:var(--font-code);font-variant-numeric:tabular-nums;white-space:nowrap}.experiment[data-astro-cid-cogj3g74]{gap:var(--space-xl);display:grid}.intro[data-astro-cid-cogj3g74]{gap:var(--space-m);justify-items:start;display:grid}.back[data-astro-cid-cogj3g74],.compare[data-astro-cid-cogj3g74]{font-size:var(--step--1);font-weight:600}h1[data-astro-cid-cogj3g74]{font-size:var(--step-5);letter-spacing:-.03em;font-weight:700;font-stretch:90%}.lead[data-astro-cid-cogj3g74]{max-inline-size:var(--measure);color:var(--text-muted);font-size:var(--step-1)}.how[data-astro-cid-cogj3g74]{gap:var(--space-m);max-inline-size:var(--measure);display:grid}.how[data-astro-cid-cogj3g74] h2[data-astro-cid-cogj3g74]{font-size:var(--step-3)}.how[data-astro-cid-cogj3g74] ul[data-astro-cid-cogj3g74]{gap:var(--space-xs);padding-inline-start:1.2em;display:grid}.source[data-astro-cid-cogj3g74]{color:var(--text-muted);font-size:var(--step--1)}.experiment[data-astro-cid-53cuwd52]{gap:var(--space-xl);display:grid}.intro[data-astro-cid-53cuwd52]{gap:var(--space-m);justify-items:start;display:grid}.back[data-astro-cid-53cuwd52]{font-size:var(--step--1);font-weight:600}h1[data-astro-cid-53cuwd52]{font-size:var(--step-5);letter-spacing:-.03em;view-transition-name:page-title;font-weight:700;font-stretch:90%}.lead[data-astro-cid-53cuwd52]{max-inline-size:var(--measure);color:var(--text-muted);font-size:var(--step-1)}.snake[data-astro-cid-53cuwd52]{--snake-bg:var(--surface);--snake-grid:var(--border);--snake-body:var(--accent);--snake-head:var(--text);--snake-food:light-dark(var(--palette-mint),var(--palette-cream));--snake-food-ring:light-dark(var(--accent),transparent);gap:var(--space-m);grid-template-columns:minmax(0,32rem);display:grid}.hud[data-astro-cid-53cuwd52]{font-size:var(--step--1);color:var(--text-muted);justify-content:space-between;display:flex;& strong{color:var(--text);font-family:var(--font-code);font-size:var(--step-1);font-variant-numeric:tabular-nums;margin-inline-start:var(--space-2xs)}}.board[data-astro-cid-53cuwd52]{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius);touch-action:none;user-select:none;position:relative;overflow:hidden;&:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}}canvas[data-astro-cid-53cuwd52]{block-size:100%;inline-size:100%}.overlay[data-astro-cid-53cuwd52]{place-content:center;justify-items:center;gap:var(--space-m);padding:var(--space-l);background:color-mix(in oklch, var(--bg) 72%, transparent);backdrop-filter:blur(2px);text-align:center;display:grid;position:absolute;inset:0;&[hidden]{display:none}& p{font-family:var(--font-display);font-size:var(--step-2);text-wrap:balance;font-weight:650}}.play[data-astro-cid-53cuwd52]{padding:var(--space-xs) var(--space-l);background:var(--accent);color:var(--bg);cursor:pointer;border:0;border-radius:999px;font-weight:600}.pad[data-astro-cid-53cuwd52]{justify-content:center;gap:var(--space-2xs);grid-template-areas:".up.""left.right"".down.";display:grid}.key[data-astro-cid-53cuwd52]{border:1px solid var(--border);background:var(--surface);block-size:3rem;inline-size:3rem;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:999px;place-items:center;display:grid;& svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:1.25rem;inline-size:1.25rem}&:active{background:var(--accent-soft)}}.key-up[data-astro-cid-53cuwd52]{grid-area:up}.key-left[data-astro-cid-53cuwd52]{grid-area:left;& svg{rotate:-90deg}}.key-right[data-astro-cid-53cuwd52]{grid-area:right;& svg{rotate:90deg}}.key-down[data-astro-cid-53cuwd52]{grid-area:down;& svg{rotate:180deg}}@media (pointer:fine){.pad[data-astro-cid-53cuwd52]{display:none}}.help[data-astro-cid-53cuwd52],.note[data-astro-cid-53cuwd52]{color:var(--text-muted);font-size:var(--step--1)}.how[data-astro-cid-53cuwd52]{gap:var(--space-m);max-inline-size:var(--measure);display:grid}.how[data-astro-cid-53cuwd52] h2[data-astro-cid-53cuwd52]{font-size:var(--step-3)}.how[data-astro-cid-53cuwd52] ul[data-astro-cid-53cuwd52]{gap:var(--space-xs);padding-inline-start:1.2em;display:grid}.lab[data-astro-cid-tyoameb5]{gap:var(--space-xl);display:grid}.intro[data-astro-cid-tyoameb5]{gap:var(--space-m);display:grid}h1[data-astro-cid-tyoameb5]{font-size:var(--step-5);letter-spacing:-.03em;view-transition-name:page-title;font-weight:700;font-stretch:90%}.lead[data-astro-cid-tyoameb5]{max-inline-size:var(--measure);color:var(--text-muted);font-size:var(--step-1)}.empty[data-astro-cid-tyoameb5]{padding:var(--space-xl);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:center}.grid[data-astro-cid-tyoameb5]{gap:var(--space-l);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));padding:0;list-style:none;display:grid;container-type:inline-size}.card[data-astro-cid-tyoameb5]{align-content:start;gap:var(--space-s);padding:var(--space-l);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid}.card[data-astro-cid-tyoameb5] h2[data-astro-cid-tyoameb5]{font-size:var(--step-2)}.card[data-astro-cid-tyoameb5] h2[data-astro-cid-tyoameb5] a[data-astro-cid-tyoameb5]{color:var(--text);text-decoration:none}.card[data-astro-cid-tyoameb5] h2[data-astro-cid-tyoameb5] a[data-astro-cid-tyoameb5]:hover{color:var(--accent)}.tech[data-astro-cid-tyoameb5]{gap:var(--space-2xs);font-family:var(--font-code);font-size:var(--step--1);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tech[data-astro-cid-tyoameb5] li[data-astro-cid-tyoameb5]{padding:0 var(--space-xs);border-radius:var(--radius);background:var(--accent-soft)}.meta[data-astro-cid-tyoameb5]{justify-content:space-between;gap:var(--space-xs);font-size:var(--step--1);flex-wrap:wrap;display:flex}.status[data-astro-cid-tyoameb5]{color:var(--text-muted)}.project[data-astro-cid-jbki6sol]{gap:var(--space-xl);display:grid}.back[data-astro-cid-jbki6sol]{font-size:var(--step--1);font-weight:600}.placeholder[data-astro-cid-jbki6sol]{padding:var(--space-2xs) var(--space-s);border:1px dashed var(--accent);border-radius:var(--radius);color:var(--text-muted);font-size:var(--step--1)}.facts[data-astro-cid-jbki6sol]{gap:var(--space-m) var(--space-l);max-inline-size:var(--page-max);padding-block:var(--space-m);border-block:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));margin:0;display:grid}dt[data-astro-cid-jbki6sol]{color:var(--text-muted);font-family:var(--font-code);font-size:var(--step--1)}dd[data-astro-cid-jbki6sol]{margin:0;font-weight:600}.links[data-astro-cid-jbki6sol]{gap:var(--space-2xs) var(--space-s);flex-wrap:wrap;padding:0;list-style:none;display:flex}.prose[data-astro-cid-jbki6sol]{gap:var(--space-s);max-inline-size:var(--measure);display:grid;& h2{font-size:var(--step-2);margin-block-start:var(--space-m)}& ul{gap:var(--space-2xs);padding-inline-start:1.2em;display:grid}}.projects[data-astro-cid-hfo2k7kf]{gap:var(--space-xl);display:grid}.list[data-astro-cid-hfo2k7kf]{padding:0;list-style:none;display:grid;container-type:inline-size}.item[data-astro-cid-hfo2k7kf]{gap:var(--space-2xs) var(--space-l);padding-block:var(--space-l);border-block-start:1px solid var(--border);display:grid;&:last-child{border-block-end:1px solid var(--border)}}@container (width>=40rem){.item[data-astro-cid-hfo2k7kf]{grid-template-columns:10rem 1fr}}.period[data-astro-cid-hfo2k7kf]{color:var(--text-muted);font-family:var(--font-code);font-size:var(--step--1);font-variant-numeric:tabular-nums;padding-block-start:.35em}.body[data-astro-cid-hfo2k7kf]{gap:var(--space-xs);max-inline-size:var(--measure);display:grid}h2[data-astro-cid-hfo2k7kf]{font-size:var(--step-2)}h2[data-astro-cid-hfo2k7kf] a[data-astro-cid-hfo2k7kf]{color:var(--text);text-decoration:none;&:hover{color:var(--accent)}}.summary[data-astro-cid-hfo2k7kf]{color:var(--text-muted)}.stack[data-astro-cid-hfo2k7kf]{gap:var(--space-2xs);font-family:var(--font-code);font-size:var(--step--1);flex-wrap:wrap;padding:0;list-style:none;display:flex;& li{padding:0 var(--space-xs);border-radius:var(--radius);background:var(--accent-soft)}}.hero-shader[data-astro-cid-byo5kyxn]{--hero-line:light-dark(var(--palette-blue),var(--palette-mint));--hero-line-minor:light-dark(var(--palette-steel),var(--palette-blue));--hero-opacity:.85;position:absolute;inset:0}.hero-shader[data-astro-cid-byo5kyxn]:before{content:"";z-index:-2;background:radial-gradient(ellipse 70% 90% at 100% 30%, color-mix(in oklch, var(--palette-mint) 30%, transparent), transparent 70%);position:absolute;inset:0}canvas[data-astro-cid-byo5kyxn]{z-index:-1;opacity:0;block-size:100%;inline-size:100%;transition:opacity 1.2s var(--ease-out);position:absolute;inset:0;mask-image:radial-gradient(85% 120% at 100% 35%,#000 25%,#0000 80%)}.hero-shader[data-astro-cid-byo5kyxn][data-ready] canvas[data-astro-cid-byo5kyxn]{opacity:var(--hero-opacity)}@media (width<48rem){.hero-shader[data-astro-cid-byo5kyxn]{--hero-opacity:.5}canvas[data-astro-cid-byo5kyxn]{mask-image:linear-gradient(#000,#0000 32% 72%,#000)}}.toggle[data-astro-cid-byo5kyxn]{z-index:1;border:1px solid var(--border-strong);border-radius:var(--radius);background:color-mix(in oklch, var(--bg) 80%, transparent);block-size:2.75rem;inline-size:2.75rem;color:var(--text-muted);cursor:pointer;transition:color var(--duration) var(--ease-out);place-items:center;display:grid;position:absolute;inset-block-end:var(--space-m);inset-inline-end:var(--gutter)}.toggle[data-astro-cid-byo5kyxn][hidden]{display:none}.toggle[data-astro-cid-byo5kyxn]:hover{color:var(--text)}svg[data-astro-cid-byo5kyxn]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.icon-play[data-astro-cid-byo5kyxn]{fill:currentColor;display:none}.toggle[data-astro-cid-byo5kyxn][aria-pressed=true] .icon-pause[data-astro-cid-byo5kyxn]{display:none}.toggle[data-astro-cid-byo5kyxn][aria-pressed=true] .icon-play[data-astro-cid-byo5kyxn]{display:inline}.hero[data-astro-cid-6voplrxj]{isolation:isolate;min-block-size:min(82svh,46rem);padding-block:var(--space-2xl);align-items:center;display:grid;position:relative;overflow:clip}.content[data-astro-cid-6voplrxj]{gap:var(--space-l);justify-items:start;display:grid;position:relative}.eyebrow[data-astro-cid-6voplrxj]{color:var(--accent);letter-spacing:.04em;font-weight:600}h1[data-astro-cid-6voplrxj]{max-inline-size:12ch;font-size:var(--step-5);letter-spacing:-.03em;view-transition-name:page-title;font-weight:700;font-stretch:90%}.lead[data-astro-cid-6voplrxj]{max-inline-size:40ch;color:var(--text-muted);font-size:var(--step-1)}.cta[data-astro-cid-6voplrxj]{font-weight:600}
/*$vite$:1*/