@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-vietnamese-wdth-normal.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-latin-ext-wdth-normal.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-latin-wdth-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-400-normal.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-400-normal.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-ext-400-normal.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-400-normal.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-600-normal.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-600-normal.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-ext-600-normal.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-600-normal.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-400-normal.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-400-normal.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-ext-400-normal.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-400-normal.woff") format("woff")}:root{--bg:#0E0F13;--surface:#15171D;--line:#262932;--wave:#1A1D25;--fg:#ECE7DD;--fg-2:#9AA0AB;--accent:#FF5C1A;--on-accent:#0E0F13;--band-bg:#CCC6B6;--band-fg:#121318;--band-fg-2:#262833;--band-accent:#8A2D07;--band-edge:#0E0F13;--band-fade:clamp(96px,8vw,128px);--scheme:dark;--font-display:"Archivo Variable",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--step-display:clamp(3rem,8.5vw,8.5rem);--step-h2:clamp(2rem,4.5vw,4rem);--step-h3:1.375rem;--step-body:1.0625rem;--step-label:.8125rem;--lh-display:.95;--lh-body:1.55;--track-label:.08em;--col:12;--content:1280px;--gutter:clamp(1rem,4vw,3rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--section-gap:clamp(6rem,12vw,10rem);--r-card:12px;--r-img:6px;--r-pill:999px;--r-btn:2px;--card-pad:10px;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-std:cubic-bezier(.4,0,.2,1);--t-fast:.16s;--t-base:.28s;--t-slow:.42s;--t-theme:.2s;--header-h:64px;--header-h-m:56px;--pill-h:56px;--focus:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}:root[data-theme=light]{--bg:#F4F1EA;--surface:#FBF9F4;--line:#D9D3C6;--wave:#E6E0D3;--fg:#16171C;--fg-2:#5A5F6B;--accent:#B23C0C;--on-accent:#FFFCF7;--band-bg:#E3DBC9;--band-fg:#121318;--band-fg-2:#3A3D48;--band-accent:#8A2D07;--band-edge:#F4F1EA;--scheme:light}:root[data-theme=punk]{--bg:#0D0C0C;--surface:#1A1818;--line:#3A3535;--wave:#FF3B3B;--fg:#F2EBDC;--fg-2:#B5AC9C;--accent:#FF3B3B;--on-accent:#0D0C0C;--band-bg:#EDE4CF;--band-fg:#121010;--band-fg-2:#3D3631;--band-accent:#B8121C;--band-edge:#0D0C0C;--paper:#EDE4CF;--ink:#121010;--ink-2:#3D3631;--punk-red:#FF3B3B;--punk-blue:#2F5BFF;--punk-blue-ink:#2649E6;--punk-yellow:#FFE14D;--punk-red-text:#FF6B66;--r-card:0;--r-img:0;--r-btn:0;--focus:0 0 0 2px var(--bg),0 0 0 4px var(--punk-yellow);--scheme:dark}:root[data-motion=reduce]{--t-fast:0ms;--t-base:0ms;--t-slow:0ms;--t-theme:0ms}*,*:before,*:after{box-sizing:border-box}html{color-scheme:var(--scheme);background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:100%;line-height:var(--lh-body);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100svh;background:var(--bg);color:var(--fg);font-size:var(--step-body);overflow-x:clip}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0}ul[role=list],ol[role=list]{list-style:none}img,picture,svg,video{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}app-root{display:block}::selection{background:var(--accent);color:var(--on-accent)}:where(section[id],[id]:target){scroll-margin-top:calc(var(--header-h) + var(--space-2))}@media(max-width:959.98px){:where(section[id],[id]:target){scroll-margin-top:calc(var(--header-h-m) + var(--space-2))}}h1,h2,.display{font-family:var(--font-display);font-stretch:112%;font-weight:700;line-height:var(--lh-display);letter-spacing:-.01em;text-wrap:balance}.display{font-size:var(--step-display);text-transform:none}h1{font-size:var(--step-display)}h2{font-size:var(--step-h2);font-weight:600;line-height:1}h3{font-family:var(--font-display);font-stretch:100%;font-weight:600;font-size:var(--step-h3);line-height:1.2}p{max-width:68ch;text-wrap:pretty}html[lang=de] body,html[lang=fr] body{hyphens:auto}html[lang=de] :is(h1,.display),html[lang=fr] :is(h1,.display){overflow-wrap:anywhere}html[lang=fr] :is(h1,h2,.display){font-stretch:100%}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--accent)}.label,.mono{font-family:var(--font-mono);font-size:var(--step-label);font-weight:400;letter-spacing:var(--track-label);color:var(--fg-2)}.label{text-transform:uppercase}.section-num{display:block;margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--step-label);letter-spacing:var(--track-label);color:var(--accent)}.container,.page{width:100%;max-width:calc(var(--content) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-btn)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:44px;padding:.625rem 1.25rem;border:1px solid var(--line);border-radius:var(--r-btn);background:transparent;color:var(--fg);font-family:var(--font-body);font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color var(--t-fast) var(--ease-std),border-color var(--t-fast) var(--ease-std),color var(--t-fast) var(--ease-std)}.btn:hover{border-color:var(--fg);color:var(--fg)}.btn:focus-visible{box-shadow:var(--focus);border-radius:var(--r-btn)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:color-mix(in srgb,var(--accent) 86%,var(--fg));border-color:color-mix(in srgb,var(--accent) 86%,var(--fg));color:var(--on-accent)}.btn--ghost{border-color:color-mix(in srgb,var(--fg) 40%,transparent)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.skip-link,.skip{position:fixed;top:var(--space-1);left:var(--gutter);z-index:100;padding:var(--space-1) var(--space-2);border-radius:var(--r-btn);background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none;transform:translateY(-200%)}.skip-link:focus,.skip:focus{transform:none}.band{--bg: var(--band-bg);--fg: var(--band-fg);--fg-2: var(--band-fg-2);--accent: var(--band-accent);--on-accent: var(--band-bg);--line: color-mix(in srgb, var(--band-fg) 24%, var(--band-bg));--surface: color-mix(in srgb, var(--band-fg) 4%, var(--band-bg));--focus: 0 0 0 2px var(--band-bg), 0 0 0 4px var(--band-accent);color-scheme:light;background:var(--bg);color:var(--fg)}.waves{position:relative;isolation:isolate}.waves:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--wave);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='black' stroke-width='1.5' vector-effect='non-scaling-stroke'%3E%3Cpath d='M0 210C150 150 300 150 450 210S750 270 900 210 1100 150 1200 180'/%3E%3Cpath d='M0 320C170 250 330 250 500 320S830 390 1000 320 1150 270 1200 290'/%3E%3Cpath d='M0 430C130 380 270 380 400 430S670 480 800 430 1070 380 1200 410'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='black' stroke-width='1.5' vector-effect='non-scaling-stroke'%3E%3Cpath d='M0 210C150 150 300 150 450 210S750 270 900 210 1100 150 1200 180'/%3E%3Cpath d='M0 320C170 250 330 250 500 320S830 390 1000 320 1150 270 1200 290'/%3E%3Cpath d='M0 430C130 380 270 380 400 430S670 480 800 430 1070 380 1200 410'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}html:not([data-motion=reduce]){scroll-behavior:smooth}html.theme-anim:not([data-motion=reduce]),html.theme-anim:not([data-motion=reduce]) :not([data-fan-card]),html.theme-anim:not([data-motion=reduce]) :not([data-fan-card]):before,html.theme-anim:not([data-motion=reduce]) :not([data-fan-card]):after{transition:background-color var(--t-theme) var(--ease-std),color var(--t-theme) var(--ease-std),border-color var(--t-theme) var(--ease-std),fill var(--t-theme) var(--ease-std),stroke var(--t-theme) var(--ease-std)!important}html[data-motion=reduce],html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}app-header{display:block;position:sticky;top:0;z-index:50}.site-header{--pill-w: 640px;--pill-pad: calc((var(--header-h) - var(--pill-h)) / 2);--pill-side: calc(50% - (min(var(--pill-w), 720px)/2)) ;position:relative;isolation:isolate;height:var(--header-h)}.site-header:before,.site-header:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;transition:clip-path var(--t-base) var(--ease-out),opacity var(--t-base) var(--ease-out),background-color var(--t-base) var(--ease-out)}.site-header:before{background:var(--line);opacity:0;clip-path:inset(0 0 0 0 round 0)}.site-header:after{background:var(--bg);clip-path:inset(0 0 1px 0 round 0)}.site-header.scrolled:not(.is-compact):before{opacity:1;clip-path:inset(var(--pill-pad) var(--pill-side) var(--pill-pad) var(--pill-side) round var(--r-pill))}.site-header.scrolled:not(.is-compact):after{background:var(--surface);clip-path:inset(calc(var(--pill-pad) + 1px) calc(var(--pill-side) + 1px) calc(var(--pill-pad) + 1px) calc(var(--pill-side) + 1px) round var(--r-pill))}.site-header__row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:var(--space-2);height:100%;max-width:calc(var(--content) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.site-header__name{justify-self:start;display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-display);font-stretch:112%;font-weight:700;font-size:1.0625rem;letter-spacing:-.01em;white-space:nowrap;text-decoration:none;color:var(--fg);transition:opacity var(--t-base) var(--ease-out),visibility 0s linear 0s}.site-header.scrolled:not(.is-compact) .site-header__name{opacity:0;visibility:hidden;transition:opacity var(--t-base) var(--ease-out),visibility 0s linear var(--t-base)}.site-header__cluster{display:flex;align-items:center;gap:var(--space-1);padding-inline:6px;white-space:nowrap}.site-nav ul{display:flex;gap:2px}.site-nav a,.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--r-pill);font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;color:var(--fg-2);transition:background-color var(--t-fast) var(--ease-std),color var(--t-fast) var(--ease-std)}.site-nav a{padding-inline:.75rem}.site-nav a:hover,.lang-switch a:hover{color:var(--fg)}.site-nav a.active{background:var(--accent);color:var(--on-accent)}.site-nav a:focus-visible,.lang-switch a:focus-visible{border-radius:var(--r-pill)}.lang-switch{--lang-w: 44px;position:relative;display:flex;padding-left:var(--space-1);border-left:1px solid var(--line)}.lang-switch a{position:relative;width:var(--lang-w);font-family:var(--font-mono);font-weight:400;letter-spacing:var(--track-label)}.lang-switch a.current{color:var(--fg)}.lang-thumb{position:absolute;top:0;left:var(--space-1);width:var(--lang-w);height:100%;border-radius:var(--r-pill);background:var(--line);transform:translate(calc(var(--i, 0) * var(--lang-w)));transition:transform var(--t-base) var(--ease-out);pointer-events:none}.site-header__end{justify-self:end;display:flex;align-items:center;gap:var(--space-1);border-radius:var(--r-btn);background:var(--bg)}.theme-menu{position:relative;flex:none}.theme-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid color-mix(in srgb,var(--fg) 40%,transparent);border-radius:var(--r-btn);background:var(--bg);color:var(--fg);list-style:none;cursor:pointer;transition:border-color var(--t-fast) var(--ease-std),color var(--t-fast) var(--ease-std)}.theme-btn::-webkit-details-marker{display:none}.theme-btn:hover,.theme-menu[open] .theme-btn{border-color:var(--accent);color:var(--accent)}.theme-menu__list button{display:flex;align-items:center;gap:.625rem;width:100%;min-height:44px;padding-inline:.75rem;border:0;border-radius:var(--r-btn);background:transparent;color:var(--fg-2);font-size:.9375rem;text-align:start}.theme-menu__list button:hover{color:var(--fg)}.theme-menu__list button[aria-pressed=true]{color:var(--fg);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}app-theme-icon{display:contents}.motion-switch{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;min-width:44px;padding:0 .5rem;border:1px solid transparent;border-radius:var(--r-btn);background:var(--bg);color:var(--fg);font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.motion-switch:hover{border-color:var(--line)}.motion-switch__state{color:var(--fg-2)}.motion-switch__track{display:flex;align-items:center;flex:none;width:32px;height:20px;padding:3px;border:1px solid var(--fg-2);border-radius:var(--r-pill);background:var(--surface)}.motion-switch__track>span{width:12px;height:12px;border-radius:50%;background:var(--fg-2);transition:transform var(--t-fast) var(--ease-out)}.motion-switch[aria-checked=true] .motion-switch__track{border-color:var(--accent);background:var(--accent)}.motion-switch[aria-checked=true] .motion-switch__track>span{transform:translate(12px);background:var(--on-accent)}.site-header__m .motion-switch{gap:.375rem;padding-inline:2px}.site-header__m .motion-switch__state{display:none}@media(max-width:379.98px){.site-header__m .motion-switch__label{display:none}}app-theme-icon svg{flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.m-only{display:none}.site-header.is-compact{height:var(--header-h-m)}.site-header.is-compact .d-only{display:none}.site-header.is-compact .m-only{display:flex}.site-header.is-compact .site-header__row{grid-template-columns:minmax(0,1fr) auto}.site-header.is-compact:before{clip-path:inset(calc(100% - 1px) 0 0 0);transition:opacity var(--t-fast) var(--ease-std)}.site-header.is-compact:after{clip-path:inset(0 0 1px 0);transition:none}.site-header.is-compact.moved:before{opacity:1}.site-header__m{align-items:center;gap:4px;justify-self:end}.m-lang{position:relative}.m-lang summary,.m-menu-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-width:44px;min-height:44px;padding-inline:.75rem;border:1px solid transparent;border-radius:var(--r-btn);background:transparent;color:var(--fg);font-size:.875rem;font-weight:600;line-height:1;cursor:pointer}.m-lang summary{font-family:var(--font-mono);font-weight:400;letter-spacing:var(--track-label);list-style:none}.m-lang summary::-webkit-details-marker{display:none}.m-lang summary span{color:var(--fg-2);transition:transform var(--t-fast) var(--ease-std)}.m-lang[open] summary span{transform:rotate(180deg)}.m-menu-btn{border-color:color-mix(in srgb,var(--fg) 40%,transparent)}.m-lang__list,.theme-menu__list{position:absolute;top:calc(100% + 6px);right:0;z-index:1;min-width:11rem;padding:6px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.m-lang__list a{display:flex;align-items:center;min-height:44px;padding-inline:.75rem;border-radius:var(--r-btn);text-decoration:none;color:var(--fg-2)}.m-lang__list a:hover{color:var(--fg)}.m-lang__list a[aria-current]{color:var(--fg);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}html:has(.m-menu[open]){overflow:hidden}.m-menu{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:85svh;margin:0;padding:var(--space-2) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom,0px));overflow-y:auto;border:0;border-top:1px solid var(--line);border-radius:var(--r-card) var(--r-card) 0 0;background:var(--surface);color:var(--fg);transform:translateY(100%);transition:transform var(--t-base) var(--ease-out),overlay var(--t-base) allow-discrete,display var(--t-base) allow-discrete}.m-menu[open]{transform:none}@starting-style{.m-menu[open]{transform:translateY(100%)}}.m-menu::backdrop{background:color-mix(in srgb,var(--bg) 72%,transparent)}.m-menu__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.m-menu__close{min-width:44px;min-height:44px;padding-inline:.75rem;border:1px solid var(--line);border-radius:var(--r-btn);background:transparent;font-size:.875rem;font-weight:600}.m-menu__list{margin-bottom:var(--space-3)}.m-menu__list li+li{border-top:1px solid var(--line)}.m-menu__link{display:flex;align-items:center;min-height:56px;font-family:var(--font-display);font-stretch:100%;font-weight:600;font-size:1.5rem;line-height:1.1;text-decoration:none;overflow-wrap:anywhere;color:var(--fg)}.m-menu__link.active{color:var(--accent)}.m-menu__themes-label{margin-bottom:var(--space-1)}.m-menu__themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1)}.m-menu__themes .btn{padding-inline:.5rem;white-space:normal}.m-menu__themes .btn[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--fg)}app-hero,app-projects{display:block;min-width:0}#main:focus,#main:focus-visible{outline:none;box-shadow:none}.hero{display:grid;grid-template-rows:1fr auto;min-height:calc(100svh - var(--header-h));padding-top:var(--space-4)}.hero-inner{display:grid;grid-template-columns:repeat(var(--col),minmax(0,1fr));column-gap:var(--space-3);align-items:center;padding-block:var(--space-4)}.hero-text{grid-column:1 / span 7;min-width:0}.hero-label{margin-bottom:var(--space-3)}.hero-name{margin-bottom:var(--space-3);text-transform:uppercase;overflow-wrap:anywhere}.hero-name__text>span{display:block}.ransom{display:none}.hero-tagline{max-width:44ch;margin-bottom:var(--space-4);font-size:var(--step-h3);line-height:1.4;color:var(--fg-2)}.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hero-fan{grid-column:8 / -1;position:relative;align-self:stretch;min-height:24rem;pointer-events:none}.fan-slot{--x: 0%;--y: 0%;--w: 56%;--r: 0deg;position:absolute;top:calc(50% + var(--y));left:calc(50% + var(--x));width:var(--w);aspect-ratio:16 / 10;translate:-50% -50%}.fan-slot[data-fan-slot="0"]{--w: 72%;--y: -4%}.fan-slot[data-fan-slot="1"]{--x: -16%;--r: -7deg}.fan-slot[data-fan-slot="2"]{--x: 16%;--r: 7deg}.fan-slot[data-fan-slot="3"]{--x: -30%;--y: 6%;--r: -14deg}.fan-slot[data-fan-slot="4"]{--x: 30%;--y: 6%;--r: 14deg}.tech{overflow:hidden;border-block:1px solid var(--line);font-family:var(--font-mono);font-size:var(--step-label);letter-spacing:var(--track-label);color:var(--fg-2)}.tech:focus-visible{border-radius:0}.tech-track{display:flex;width:max-content;animation:tech-scroll 40s linear infinite}.tech:hover .tech-track,.tech:focus-within .tech-track{animation-play-state:paused}.tech-list{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4) var(--space-2) 0;list-style:none;white-space:nowrap}@keyframes tech-scroll{to{transform:translate(-50%)}}html[data-motion=reduce] .tech-track{width:auto;max-width:calc(var(--content) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}html[data-motion=reduce] .tech-list{flex-wrap:wrap;row-gap:var(--space-1);white-space:normal}html[data-motion=reduce] .tech-list--copy,.hero-still{display:none}.hero-still-img{position:absolute;top:50%;left:50%;width:62%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:top left;padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);translate:-50% -50%}.hero-still-img:nth-child(1){z-index:3;width:70%;translate:-50% -56%}.hero-still-img:nth-child(2){z-index:2;translate:-82% -38%;rotate:-7deg}.hero-still-img:nth-child(3){z-index:1;translate:-18% -38%;rotate:7deg}@media(min-width:960px){html[data-motion=reduce] .hero{min-height:calc(70svh - var(--header-h))}html[data-motion=reduce] .hero-still{display:block}}.scene-ready .hero-still{display:none!important}@media(max-width:959.98px){.hero{min-height:0;padding-top:var(--space-3)}.hero-inner{display:block;padding-block:var(--space-2) var(--space-4)}.hero-name{font-stretch:100%}.hero-tagline{font-size:var(--step-body);line-height:var(--lh-body);margin-bottom:var(--space-3)}.hero-cta{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-1)}.hero-cta .btn{white-space:normal;text-align:center}.hero-fan{display:none}.tech-track{animation-duration:60s}}.projects{padding-block:var(--space-5) var(--section-gap)}.projects-title{margin:0;line-height:var(--lh-body)}.card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);color:var(--fg);text-decoration:none;transition:translate var(--t-fast) var(--ease-std),border-color var(--t-fast) var(--ease-std)}.card:hover,.card:focus-visible{color:var(--fg);translate:0 -4px;border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.card:focus-visible{border-radius:var(--r-card)}.card-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top left;border-radius:var(--r-img);background:var(--bg)}.card-body{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-1) var(--space-1)}.card-meta{display:block}.card-name{font-family:var(--font-display);font-stretch:100%;font-weight:600;font-size:var(--step-h3);line-height:1.2}.card-summary{color:var(--fg)}.card-stack{font-size:var(--step-label);color:var(--fg-2)}html.theme-anim [data-fan-card]{transition:translate var(--t-fast) var(--ease-std),border-color var(--t-theme) var(--ease-std),background-color var(--t-theme) var(--ease-std),color var(--t-theme) var(--ease-std)}@media(min-width:960px){html.theme-anim .scene-tilt [data-fan-card]{transition:transform var(--t-fast) linear,translate var(--t-fast) var(--ease-std),border-color var(--t-theme) var(--ease-std),background-color var(--t-theme) var(--ease-std),color var(--t-theme) var(--ease-std)}}html[data-motion=reduce] .card:hover,html[data-motion=reduce] .card:focus-visible{translate:none}@media(min-width:960px){.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.projects-title{grid-column:1 / -1;margin-bottom:var(--space-2)}.fan-row,.projects-rest{display:contents}.card--wide{grid-column:span 2}.card--wide .card-img{aspect-ratio:16 / 7}.fan-row>.card:nth-child(-n+2) .card-img{flex:1 1 auto;min-height:0;object-position:top left}.scene-ready [data-fan-card] .card-body{opacity:clamp(0,(var(--p, 0) - .55) * 4,1)}.scene [data-fan-card]{opacity:0}.scene-ready [data-fan-card]{--k: calc((1 - var(--p, 0)) * (1 - var(--p, 0)) * (1 - var(--p, 0)));position:relative;z-index:var(--z, 1);opacity:1;transform-origin:50% 50%;transform:translate(calc(var(--dx, 0px) * var(--k)),calc(var(--dy, 0px) * var(--k))) perspective(1200px) rotateX(calc(var(--tx, 0deg) * var(--k))) rotateY(calc(var(--ty, 0deg) * var(--k))) rotate(calc(var(--r, 0deg) * var(--k))) scale(calc(1 + (var(--s, 1) - 1) * var(--k)));animation:fan-in var(--t-slow) var(--ease-out) calc(var(--i, 0) * 60ms) backwards}.scene-moving [data-fan-card]{will-change:transform}.scene-tilt [data-fan-card]{transition:transform var(--t-fast) linear,translate var(--t-fast) var(--ease-std),border-color var(--t-fast) var(--ease-std)}.scene-measure [data-fan-card]{transform:none!important;translate:none!important}.scene-still [data-fan-card]{transition:none!important;animation-play-state:paused!important}}@keyframes fan-in{0%{opacity:0;translate:0 24px}}@media(max-width:959.98px){.projects{padding-top:0}.projects-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.projects-title{margin-top:var(--space-3);margin-bottom:0}.fan-row,.projects-rest{display:contents}}@media(min-width:640px)and (max-width:959.98px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-title{grid-column:1 / -1}}app-experience,app-skills,app-contact{display:block;min-width:0}:is(#experience,#skills,#contact){padding-block:var(--section-gap);overflow-wrap:anywhere}#experience{background:linear-gradient(to bottom,var(--band-edge),var(--band-bg) var(--band-fade),var(--band-bg) calc(100% - var(--band-fade)),var(--band-edge) calc(100% - 2px)) var(--band-edge);color:var(--band-fg)}#experience :is(.section-num,.experience-date,.education-block>h3){font-size:.875rem;color:var(--band-fg)}#experience .section-num:before,#experience .education-block>h3:before{content:"";display:inline-block;width:1.5rem;height:2px;margin-right:.75rem;vertical-align:.3em;background:var(--band-accent)}:is(#experience,#skills) .section-num{margin-bottom:var(--space-5);line-height:var(--lh-body)}.experience-entry,.education-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-4)}.experience-entry{padding-block:var(--space-4);border-top:1px solid var(--line)}.experience-entry>*,.education-entry>*,.skills-group{min-width:0}.experience-date{letter-spacing:normal}.experience-body h3{font-size:var(--step-h2)}.experience-role{margin-top:var(--space-1);color:var(--band-fg-2)}.experience-points{padding-left:var(--space-3);margin-top:var(--space-3)}.experience-points li+li{margin-top:var(--space-1)}.experience-points li::marker{color:var(--band-accent)}.education-block{border-top:1px solid var(--line);margin-top:var(--space-5);padding-top:var(--space-4)}.education-block>h3{margin-bottom:var(--space-3)}.education-entry p:not(.experience-date){margin-top:var(--space-1)}.education-points{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin-top:var(--space-2)}.skills-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.skills-group h3{color:var(--accent);margin-bottom:var(--space-3);line-height:var(--lh-body)}.skills-group li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-2);padding-block:var(--space-2);border-top:1px solid var(--line)}.contact-title{overflow-wrap:anywhere}.contact-email{display:inline-block;max-width:100%;min-height:44px;margin-top:var(--space-4);padding-block:var(--space-1);font-size:min(var(--step-h2),6.6vw);line-height:var(--lh-body);overflow-wrap:anywhere}.contact-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.contact-links .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}.contact-footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);border-top:1px solid var(--line);margin-top:var(--space-6);padding-top:var(--space-3);letter-spacing:normal}@media(max-width:959.98px){.experience-entry,.education-entry,.skills-columns{grid-template-columns:minmax(0,1fr)}.experience-entry,.education-entry{gap:var(--space-2)}.contact-links{flex-direction:column;align-items:stretch}}.reveal{opacity:1;transform:none}.reveal--heading{clip-path:inset(0)}html:not([data-motion=reduce]) .reveal{transition:opacity var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out),clip-path var(--t-slow) var(--ease-out)}html:not([data-motion=reduce]) .reveal:not(.is-in){opacity:0;transform:translateY(var(--space-2))}html:not([data-motion=reduce]) .reveal--heading:not(.is-in){clip-path:inset(0 0 100% 0)}html[data-motion=reduce] .reveal{opacity:1!important;transform:none!important;clip-path:inset(0)!important;transition:none!important}.project-page{padding-top:calc(var(--header-h) + var(--space-4));padding-bottom:var(--space-6)}.pp-back{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;color:var(--fg-2);text-decoration:none}.pp-back:hover{color:var(--accent)}.pp-status{margin-top:var(--space-3);color:var(--fg-2)}.pp-empty{display:grid;justify-items:start;gap:var(--space-3);padding-block:var(--space-5)}.pp-head{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.pp-title{font-size:var(--step-h2);max-width:20ch;overflow-wrap:anywhere}.project-page h1:focus{outline:none;box-shadow:none}.pp-lead{color:var(--fg-2);font-size:var(--step-body)}.pp-shot{margin-top:var(--space-4);padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.pp-shot img{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:contain;border-radius:var(--r-img);background:var(--bg)}.pp-shot figcaption{display:flex;justify-content:flex-end;margin-top:var(--space-1)}.pp-original{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;padding-inline:var(--space-1);color:var(--fg-2)}.pp-original:hover{color:var(--accent)}.pp-body{display:grid;gap:var(--space-4);margin-top:var(--space-5)}.pp-meta dl{display:grid;gap:var(--space-3)}.pp-meta dl>div{display:grid;gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--line)}.pp-stack{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.pp-stack li{overflow-wrap:anywhere}.pp-links{display:grid}.pp-links a{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;overflow-wrap:anywhere}.pp-text{display:grid;align-content:start;gap:var(--space-3);min-width:0}.pp-h2{font-size:var(--step-h3);font-family:var(--font-mono);font-stretch:100%;font-weight:400;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--accent);line-height:1.2}.pp-text .pp-h2:not(:first-child){margin-top:var(--space-3)}.pp-highlights{display:grid;gap:var(--space-2);max-width:68ch;padding-left:var(--space-3)}.pp-highlights li::marker{color:var(--accent)}.pp-section{display:grid;gap:var(--space-3);margin-top:var(--space-4);min-width:0}.pp-section p,.pp-section li{max-width:68ch;overflow-wrap:anywhere}.pp-pager{display:grid;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--line)}.pp-pager__link{display:grid;gap:var(--space-1);min-height:44px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);text-decoration:none;min-width:0;transition:border-color var(--t-fast) var(--ease-std),color var(--t-fast) var(--ease-std)}.pp-pager__link:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--fg)}.pp-pager__link:focus-visible{border-radius:var(--r-card)}.pp-pager__name{font-family:var(--font-display);font-size:var(--step-h3);font-weight:600;line-height:1.2;overflow-wrap:anywhere}.pp-pager__link--next{text-align:right}.pp-footer{padding-block:var(--space-4);border-top:1px solid var(--line)}@media(min-width:960px){.pp-body{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-5)}.pp-meta{position:sticky;top:calc(var(--header-h) + var(--space-3));align-self:start}.pp-pager{grid-template-columns:1fr 1fr}.pp-pager__link--next{grid-column:2}}@media(max-width:959.98px){.project-page{padding-top:calc(var(--header-h-m) + var(--space-3))}.pp-shot{padding:var(--space-1)}}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-std)}::view-transition-old(*),::view-transition-new(*){height:100%;object-fit:cover}.pp-gambling-warning{margin:0 0 2rem;padding:1.25rem 0;border-block:3px solid currentColor;font-size:clamp(1.75rem,5vw,4rem);font-weight:800;line-height:1.1;text-wrap:balance}:root[data-theme=punk] body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .92 0 0 0 0 .86 .32 0 0 0 -.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=punk] ::selection{background:var(--punk-yellow);color:var(--ink)}:root[data-theme=punk] .waves:before{background:radial-gradient(circle,var(--wave) 0 1.6px,transparent 2.1px) 0 0 / 11px 11px;opacity:.4;-webkit-mask:linear-gradient(to left,black,rgb(0 0 0 / .5) 40%,transparent 75%);mask:linear-gradient(to left,black,rgb(0 0 0 / .5) 40%,transparent 75%)}:root[data-theme=punk] :is(h1,.display,h2:not(.section-num,.pp-h2)){font-stretch:62%;font-weight:900;letter-spacing:0;text-transform:uppercase;text-shadow:.035em .03em 0 var(--punk-blue),-.025em -.02em 0 color-mix(in srgb,var(--punk-red) 85%,transparent)}:where(:root[data-theme=punk]) a:hover,:where(:root[data-theme=punk]) :is(.pp-h2,.pp-back:hover,.btn--ghost:hover,.m-menu__link.active){color:var(--punk-red-text)}:root[data-theme=punk] .contact-email{text-decoration-color:var(--accent);text-decoration-thickness:.08em}:root[data-theme=punk] .hero-name__text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:root[data-theme=punk] .ransom{display:block;font-size:.8em;line-height:1.15;text-shadow:none}:root[data-theme=punk] .ransom__word{display:block;white-space:nowrap}:root[data-theme=punk] .ransom__word+.ransom__word{margin-top:.06em;margin-left:.5em}:root[data-theme=punk] .ransom__ch{--rot: 0deg;display:inline-block;margin-right:.05em;padding:.06em .1em .02em;rotate:var(--rot);animation:punk-boil var(--boil, .5s) steps(1,end) infinite}:root[data-theme=punk] .ransom__ch[data-cut="0"]{--rot: 3deg;--boil: .42s;background:var(--punk-red);color:var(--ink)}:root[data-theme=punk] .ransom__ch[data-cut="1"]{--rot: -4deg;--boil: .66s;background:var(--paper);color:var(--ink);font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700;text-transform:lowercase}:root[data-theme=punk] .ransom__ch[data-cut="2"]{--rot: -1.5deg;--boil: .33s;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-weight:400;box-shadow:inset 0 0 0 .05em var(--paper)}:root[data-theme=punk] .ransom__ch[data-cut="3"]{--rot: -5deg;--boil: .5s;background:var(--punk-yellow);color:var(--ink);font-stretch:125%;font-weight:300}:root[data-theme=punk] .ransom__ch[data-cut="4"]{--rot: 4deg;--boil: .58s;background:var(--punk-blue-ink);color:var(--paper)}:root[data-theme=punk] .hero-label{--rot: -1.5deg;width:fit-content;padding:.3em .6em;background:var(--punk-yellow);color:var(--ink);rotate:var(--rot)}:root[data-theme=punk] :is(#projects,#experience,#skills,#contact,.section) .section-num{--rot: -1.5deg;width:fit-content;padding:.3em .55em .25em;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,2rem);font-stretch:75%;font-weight:800;line-height:1.1;letter-spacing:.01em;text-transform:uppercase;rotate:var(--rot)}:root[data-theme=punk] #experience .section-num{color:var(--band-bg)}:root[data-theme=punk] #experience .section-num:before{display:none}:root[data-theme=punk] .site-header__name{--rot: -2deg;padding-inline:.35em;background:linear-gradient(var(--paper),var(--paper)) center / 100% 1.45em no-repeat;color:var(--ink);font-stretch:62%;font-weight:900;font-size:1.25rem;text-transform:uppercase;word-spacing:.15em;rotate:var(--rot)}:root[data-theme=punk] .site-header__name:hover{background-image:linear-gradient(var(--punk-red),var(--punk-red));color:var(--ink)}:root[data-theme=punk] .site-nav a.active{box-shadow:2px 2px 0 var(--punk-blue)}:root[data-theme=punk] .site-nav a.active:focus-visible{box-shadow:var(--focus),2px 2px 0 var(--punk-blue)}:root[data-theme=punk] .site-header{--r-pill: 0}:root[data-theme=punk] .motion-switch__track{--r-pill: 999px}:root[data-theme=punk] .hero{overflow-x:clip}:root[data-theme=punk] .tech{margin-inline:-1rem;border-block:0;background:var(--accent);color:var(--on-accent);rotate:-1deg;font-family:var(--font-display);font-stretch:85%;font-weight:800;font-size:.9375rem;letter-spacing:.04em;text-transform:uppercase}:root[data-theme=punk] .tech-list{gap:var(--space-2);padding-right:var(--space-2)}:root[data-theme=punk] .tech-list li:after{content:"\2736";content:"\2736" / "";margin-left:var(--space-2)}:root[data-theme=punk] .btn{border-width:2px;text-transform:uppercase;letter-spacing:.04em;box-shadow:4px 4px 0 var(--punk-blue);transition:translate var(--t-fast) var(--ease-std),box-shadow var(--t-fast) var(--ease-std),background-color var(--t-fast) var(--ease-std),border-color var(--t-fast) var(--ease-std),color var(--t-fast) var(--ease-std)}:root[data-theme=punk] .btn:hover{translate:-2px -2px;box-shadow:6px 6px 0 var(--punk-red)}:root[data-theme=punk] .btn:focus-visible{box-shadow:var(--focus),4px 4px 0 var(--punk-blue)}:root[data-theme=punk] .card{--surface: var(--paper);--fg: var(--ink);--fg-2: var(--ink-2);--accent: var(--band-accent);position:relative;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--punk-blue)}:root[data-theme=punk] .card:hover{border-color:var(--ink);box-shadow:8px 8px 0 var(--punk-red)}:root[data-theme=punk] .card:focus-visible{box-shadow:var(--focus),6px 6px 0 var(--punk-blue)}:root[data-theme=punk] :is(.card,.pp-shot):before{content:"";position:absolute;top:-2px;left:50%;z-index:1;width:72px;height:22px;background:color-mix(in srgb,var(--punk-yellow) 70%,transparent);translate:-50% -25%;rotate:-3deg;pointer-events:none}:root[data-theme=punk] .card-name{font-stretch:85%;font-weight:800}:root[data-theme=punk] .projects-rest>.card:nth-child(3n+1):before{left:30%}:root[data-theme=punk] .projects-rest>.card:nth-child(3n+2):before{left:68%}@media(min-width:960px){:root[data-theme=punk] .scene-ready [data-fan-card] .card-body{opacity:1}:root[data-theme=punk] .scene-ready [data-fan-card] :is(.card-summary,.card-stack){opacity:clamp(0,(var(--p, 0) - .55) * 4,1)}}:root[data-theme=punk] .hero-still-img{border:2px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--punk-blue)}:root[data-theme=punk] .projects-rest>.card:nth-child(odd){rotate:-.8deg}:root[data-theme=punk] .projects-rest>.card:nth-child(2n){rotate:.6deg}@media(max-width:959.98px){:root[data-theme=punk] .fan-row>.card:nth-child(odd){rotate:.6deg}:root[data-theme=punk] .fan-row>.card:nth-child(2n){rotate:-.8deg}:root[data-theme=punk] .fan-row>.card:nth-child(3n+1):before{left:68%}:root[data-theme=punk] .fan-row>.card:nth-child(3n):before{left:30%}}:root[data-theme=punk] #experience{background:var(--band-bg);clip-path:polygon(0 9px,4% 2px,8% 12px,13% 4px,17% 15px,22% 6px,27% 11px,31% 1px,36% 13px,41% 5px,45% 14px,50% 3px,55% 10px,59% 0,64% 12px,69% 4px,73% 15px,78% 7px,83% 11px,87% 2px,92% 13px,96% 5px,100% 10px,100% calc(100% - 7px),96% calc(100% - 14px),91% calc(100% - 3px),86% calc(100% - 12px),82% calc(100% - 1px),77% calc(100% - 10px),72% calc(100% - 4px),67% calc(100% - 15px),62% calc(100% - 5px),57% calc(100% - 11px),52% 100%,47% calc(100% - 13px),43% calc(100% - 4px),38% calc(100% - 9px),33% calc(100% - 2px),28% calc(100% - 14px),23% calc(100% - 6px),18% calc(100% - 12px),14% calc(100% - 1px),9% calc(100% - 10px),5% calc(100% - 3px),0 calc(100% - 12px))}:root[data-theme=punk] .experience-body h3{font-stretch:80%;font-weight:800}:root[data-theme=punk] .skills-group h3{--rot: -1deg;width:fit-content;max-width:100%;padding:.25em .6em;background:var(--paper);color:var(--ink);rotate:var(--rot)}:root[data-theme=punk] .skills-group:nth-child(2n) h3{--rot: 1deg}:root[data-theme=punk] .contact-title:after{content:"";display:inline-block;width:.55em;height:.7em;margin-left:.15em;vertical-align:-.1em;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 50' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4c14 2 22 12 20 38'/%3E%3Cpath d='M15 34l11 10 9-12'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 50' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4c14 2 22 12 20 38'/%3E%3Cpath d='M15 34l11 10 9-12'/%3E%3C/svg%3E") center / contain no-repeat}:root[data-theme=punk] .pp-shot{--surface: var(--paper);--fg-2: var(--ink-2);--accent: var(--band-accent);position:relative;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--punk-blue)}:root[data-theme=punk] .pp-pager__link{border:2px solid var(--fg);box-shadow:4px 4px 0 var(--punk-blue);transition:box-shadow var(--t-fast) var(--ease-std),border-color var(--t-fast) var(--ease-std),color var(--t-fast) var(--ease-std)}:root[data-theme=punk] .pp-pager__link:hover{border-color:var(--fg);box-shadow:6px 6px 0 var(--punk-red)}:root[data-theme=punk] .pp-pager__link:focus-visible{box-shadow:var(--focus),4px 4px 0 var(--punk-blue)}html[data-motion=reduce][data-theme=punk] .btn:hover{translate:none}@keyframes punk-boil{0%,to{translate:0 0;rotate:var(--rot, 0deg)}33%{translate:1px -1px;rotate:calc(var(--rot, 0deg) + .8deg)}66%{translate:-1px 1px;rotate:calc(var(--rot, 0deg) - .6deg)}}
