@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/d5aa4e08d8c705fe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/25af1994493cb3fa-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/cfc99d92d175e2e2-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/3a438f8275a50f7d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/b7adaa6b071c1a45-s.woff2) format("woff2");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:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/dad535a4403b7848-s.woff2) format("woff2");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:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/ba563e529daeef2f-s.p.woff2) format("woff2");unicode-range:u+00??,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:EB Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/d5aa4e08d8c705fe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:EB Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/25af1994493cb3fa-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:EB Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/cfc99d92d175e2e2-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:EB Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/3a438f8275a50f7d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:EB Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/b7adaa6b071c1a45-s.woff2) format("woff2");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:EB Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/dad535a4403b7848-s.woff2) format("woff2");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:EB Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/ba563e529daeef2f-s.p.woff2) format("woff2");unicode-range:u+00??,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:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/062340a5902d57de-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d63e13930677f53f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/69e44c27a0558172-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/2913b528b2922316-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/548b5aa0a10194aa-s.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af2852512783d6fe-s.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c679f70df756412c-s.p.woff2) format("woff2");unicode-range:u+00??,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:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/062340a5902d57de-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d63e13930677f53f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/69e44c27a0558172-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/2913b528b2922316-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/548b5aa0a10194aa-s.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af2852512783d6fe-s.woff2) format("woff2");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:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c679f70df756412c-s.p.woff2) format("woff2");unicode-range:u+00??,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:EB Garamond Fallback;src:local("Times New Roman");ascent-override:106.26%;descent-override:31.44%;line-gap-override:0.00%;size-adjust:94.77%}.__className_7c4821{font-family:EB Garamond,EB Garamond Fallback}.__variable_7c4821{--font-serif:"EB Garamond","EB Garamond Fallback"}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");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:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,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:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_2ca027{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_2ca027{--font-sans:"Figtree","Figtree Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,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 Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}@font-face{font-family:Kode Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e7cc9550cb084794-s.woff2) format("woff2");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:Kode Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e38eb47baf21539a-s.p.woff2) format("woff2");unicode-range:u+00??,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:Kode Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e7cc9550cb084794-s.woff2) format("woff2");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:Kode Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e38eb47baf21539a-s.p.woff2) format("woff2");unicode-range:u+00??,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:Kode Mono Fallback;src:local("Arial");ascent-override:72.81%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_b369dd{font-family:Kode Mono,Kode Mono Fallback;font-style:normal}.__variable_b369dd{--font-kode:"Kode Mono","Kode Mono Fallback"}:root{color-scheme:light;--bg:light-dark(#fff,#0a0a0a);--bg-soft:light-dark(#f9f8f6,#0a0a0a);--bg-chip:light-dark(#f4f2ee,#1d1d1d);--panel-bg:light-dark(#f9f8f6,#161616);--panel-bg-hover:light-dark(#fff,#202020);--panel-ring:light-dark(rgba(255,255,255,0.8),rgba(255,255,255,0.06));--fg:light-dark(#111,#ededed);--fg-copy:light-dark(#262626,#e3e3e3);--fg-strong:light-dark(#17150f,#fff);--fg-2:light-dark(#555,#a6a6a6);--fg-3:light-dark(#928c88,#7c7c7c);--fg-4:light-dark(#b5b0aa,#5e5e5e);--line:light-dark(rgba(23,21,15,0.1),rgba(255,255,255,0.1));--line-strong:light-dark(rgba(0,0,0,0.14),rgba(255,255,255,0.16));--selection:light-dark(#e6e4df,#2f2f2f);--pill-bg:light-dark(rgba(236,236,234,0.9),rgba(255,255,255,0.08));--pill-bg-hover:light-dark(rgba(246,246,244,0.98),rgba(255,255,255,0.13));--pill-fg:light-dark(#3d3b37,#d6d6d6);--pill-edge:light-dark(rgba(255,255,255,0.92),rgba(255,255,255,0.07));--nav-pill-bg:light-dark(rgba(248,248,247,0.92),rgba(20,20,20,0.92));--nav-pill-border:light-dark(rgba(23,21,15,0.06),rgba(255,255,255,0.08));--tip-bg:light-dark(rgba(0,0,0,0.8),rgba(237,237,237,0.94));--tip-fg:light-dark(#fff,#0a0a0a);--ice:light-dark(#f5f9fc,#0d1116);--foot-bg:light-dark(#17150f,#0a0a0a);--foot-fg:light-dark(#f2ede1,#ededed);--foot-text:light-dark(#d8d2c4,#bdbdbd);--foot-muted:light-dark(#8f897a,#7c7c7c);--golf-ink:light-dark(#2f2c22,#262626);--golf-hint:light-dark(#3f3b2b,#3a3a3a);--g-sky:light-dark(#33301f,#232323);--g-trail:light-dark(#55503c,#4a4a4a);--g-mark:light-dark(#453f2d,#3b3b3b);--g-pin:light-dark(#8d8674,#8a8a8a);--g-cup:light-dark(#d9d2be,#d6d6d6)}:root[data-theme=dark]{color-scheme:dark}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}.page{animation:fadeUp .2s ease;padding:14px 24px 36px}::selection{background:var(--selection);color:var(--fg)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;min-height:100vh;overflow-x:clip;font-family:var(--font-sans,system-ui)}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer}*{box-sizing:border-box}@media (max-width:960px){.page{padding:44px 40px 64px}}@media (max-width:940px){.page{padding:32px 24px 52px}}@media (max-width:768px){.page{padding:32px 20px 52px}}@media (max-width:520px){.page{padding:24px 16px 48px}}:root{--footer-h:min(230px,55dvh);--ease-fast:cubic-bezier(0.62,0.61,0.02,1);--nav-clearance:84px}.site-curtain{position:relative;z-index:1;background:var(--bg);min-height:100svh;margin-bottom:var(--footer-h);transition:background-color .35s var(--ease-fast);display:flex;flex-direction:column}#page-end{height:1px}.layout{position:relative;z-index:1;width:100%;flex:1 1;display:block;margin-left:auto;margin-right:auto;max-width:768px;padding-top:var(--nav-clearance)}.content-col{min-width:0;display:flex;flex-direction:column;width:100%}.content{flex:1 1}.site-nav{position:relative;z-index:200;transition:opacity .18s var(--ease-fast)}body.pv-showing .site-nav{opacity:0;pointer-events:none}.nav-center{width:100vw;flex-direction:row}.nav-center,.nav-fixed{display:flex;justify-content:center}.nav-fixed{position:fixed;top:0;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;padding:3.25rem 2rem 2rem;flex-direction:column;align-items:center;z-index:50;will-change:transform,opacity}.nav-fixed.nav-anim{transition:transform .3s var(--ease-fast),opacity .22s var(--ease-fast)}.nav-fixed-away{transform:translateY(-1rem);opacity:0;pointer-events:none}.nav-side{position:fixed;top:18px;left:20px;z-index:51;display:flex;flex-direction:column;align-items:flex-start;gap:5px;pointer-events:none}.nav-side-on{pointer-events:auto}.nav-side-link{display:block;padding:2px 0;font-family:var(--font-sans,system-ui);font-size:12.5px;font-weight:500;letter-spacing:.01em;line-height:1.3;color:var(--fg-3);opacity:0;transform:translateX(-8px);transition:opacity .26s var(--ease-fast),transform .3s var(--ease-fast),color .3s var(--ease-fast)}.nav-side-on .nav-side-link{opacity:1;transform:translateX(0)}.nav-side-active,.nav-side-link:hover{color:var(--fg)}.nav-side-item{align-items:flex-start}.nav-side-item,.nav-side-sub{display:flex;flex-direction:column}.nav-side-sub{list-style:none;margin:3px 0 5px 10px;padding:0 0 0 8px;gap:2px;border-left:1px solid var(--line)}.nav-side-sub-link{background:none;border:none;cursor:pointer;font-size:11px;font-weight:500;color:var(--fg-4)}.nav-side-sub-link:hover{color:var(--fg)}.nav-row:not(.nav-row-pill):before{content:"";position:absolute;inset:-9px -20px;z-index:-1;border-radius:999px;background:color-mix(in srgb,var(--bg) 62%,transparent);filter:blur(8px);pointer-events:none}.nav-row{position:relative;display:flex;flex-direction:row;align-items:center;gap:1rem;border:1px solid transparent;transition:gap .3s var(--ease-fast),background-color .3s var(--ease-fast),border-color .3s var(--ease-fast),padding .3s var(--ease-fast),border-radius .3s var(--ease-fast)}.nav-row-pill{gap:4px;background-color:var(--nav-pill-bg);border-color:var(--nav-pill-border);border-radius:9999px;padding:4px 14px}.nav-slot{position:relative;height:1.5rem;overflow:hidden}.nav-slot.nav-anim{transition:width .7s var(--ease-fast),margin .7s var(--ease-fast)}.nav-measure{visibility:hidden;white-space:nowrap}.nav-layer,.nav-measure{position:absolute;top:0;left:0}.nav-layer{width:100%;height:100%;display:flex;align-items:center;will-change:transform}.nav-slot.nav-anim .nav-layer{transition:transform .7s var(--ease-fast)}.nav-link{display:block}.nav-text{margin:0;font-family:var(--font-sans,system-ui);font-size:13px;font-weight:500;letter-spacing:.01em;line-height:1.5;white-space:nowrap}.nav-link .nav-text{transition:color .45s var(--ease-fast)}.nav-tone-secondary{color:var(--fg-3)}.nav-tone-foreground{color:var(--fg)}.nav-tone-dim{color:color-mix(in srgb,var(--fg) 60%,transparent)}.nav-logo{display:flex;flex-direction:row;align-items:center;gap:4px;white-space:nowrap}.nav-logo-chev,.nav-logo-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-logo-icon{margin-right:3px;color:var(--fg-3)}.nav-logo-icon svg{width:13px;height:13px}.nav-logo-chev{color:var(--fg-4);margin-inline:1px}.nav-logo-chev svg{width:16px;height:16px;rotate:-90deg}@media (min-width:1680px){.nav-slot{height:1.625rem}}.theme-toggle{position:relative;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:none;color:var(--fg-4);cursor:pointer;transition:color .3s var(--ease-fast)}.theme-toggle:hover{color:var(--fg)}.theme-toggle:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.theme-icon{position:absolute;inset:0;display:grid;place-items:center;transition:transform .45s var(--ease-fast),opacity .3s var(--ease-fast)}.theme-icon svg{width:15px;height:15px}.theme-icon-sun{opacity:0;transform:rotate(-90deg) scale(.6)}[data-theme=dark] .theme-icon-sun{opacity:1;transform:none}[data-theme=dark] .theme-icon-moon{opacity:0;transform:rotate(90deg) scale(.6)}.nav-theme{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%)}.nav-side-theme{margin:4px 0 0 -5px;opacity:0;transform:translateX(-8px);transition:opacity .26s var(--ease-fast),transform .3s var(--ease-fast),color .3s var(--ease-fast)}.nav-side-on .nav-side-theme{opacity:1;transform:none}@media (max-width:640px){.nav-side{top:12px;left:12px;flex-direction:row;align-items:center;gap:12px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--bg) 86%,transparent);border:1px solid var(--nav-pill-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transform:translateY(-6px);transition:opacity .26s var(--ease-fast),transform .3s var(--ease-fast)}.nav-side-on{opacity:1;transform:translateY(0)}.nav-side-link{padding:0;transform:none;transition:color .3s var(--ease-fast)}.nav-side-link,.nav-side-on .nav-side-link{opacity:1}.nav-side-sub{display:none}.nav-side-theme{margin:0 0 0 -4px;transform:none;transition:color .3s var(--ease-fast)}.nav-side-on .nav-side-theme,.nav-side-theme{opacity:1}}@media (prefers-reduced-motion:reduce){.nav-fixed.nav-anim,.nav-link .nav-text,.nav-row,.nav-side-link,.nav-side-theme,.nav-slot.nav-anim,.nav-slot.nav-anim .nav-layer,.site-curtain,.theme-icon{transition:none}}.hero{padding-top:8px;margin-bottom:56px}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.hero-links{display:flex;align-items:center;gap:15px;padding-top:14px}.hero-links a{color:var(--fg-2);display:flex;position:relative;transition:color .2s var(--ease-fast),transform .2s var(--ease-fast)}.hero-links a:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.hero-links a:hover{color:var(--fg-strong);transform:translateY(-1px)}.hero-name{font-family:var(--font-serif,Georgia,serif);font-size:44px;font-weight:400;letter-spacing:-.01em;margin-bottom:14px}.hero-name,.hero-p{color:var(--fg-copy)}.hero-p{max-width:600px;font-family:var(--font-sans,system-ui);font-size:15px;line-height:1.65;margin-bottom:10px}.hero-p:last-child{margin-bottom:0}.globe{display:inline-block;width:14px;height:14px;margin:0 1px;vertical-align:-2px;border-radius:50%;background:radial-gradient(circle,var(--pill-fg) .85px,transparent 1.15px) 0 0 /3px 3px;mask-image:radial-gradient(circle at 50% 50%,#000 52%,transparent 71%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 52%,transparent 71%);animation:globe-spin .9s linear infinite}@keyframes globe-spin{to{background-position:3px 0}}@media (prefers-reduced-motion:reduce){.globe{animation:none}}.pv-pill,.pv-root{position:relative;display:inline-flex;vertical-align:middle}.pv-pill{z-index:0;align-items:center;gap:4px;min-height:18px;margin-top:-2px;padding:2px 6px;border:none;border-radius:999px;background:var(--pill-bg);color:var(--pill-fg);font-family:var(--font-sans,system-ui);font-size:12.5px;font-weight:600;line-height:1;letter-spacing:.005em;white-space:nowrap;transform:translateY(1px);box-shadow:inset 0 1px 1px rgba(15,23,42,.04),inset 0 1px 0 var(--pill-edge),0 1px 0 rgba(0,0,0,.04);transition:background-color .2s,box-shadow .2s,transform .2s;cursor:zoom-in}a.pv-pill{cursor:pointer}.pv-pill-static{cursor:default}.pv-open .pv-pill,.pv-pill:hover{background:var(--pill-bg-hover);box-shadow:inset 0 1px 1px rgba(15,23,42,.04),inset 0 1px 0 var(--pill-edge),0 0 0 1px var(--line),0 6px 20px rgba(0,0,0,.1)}.pv-pill:focus-visible{outline:2px solid var(--pill-fg);outline-offset:3px}.pv-open.pv-beside .pv-pill{z-index:61}.pv-affordance{display:block;flex:none;width:.7rem;height:.7rem;opacity:.72;transition:opacity .18s,transform .18s}.pv-link:hover .pv-affordance,.pv-open .pv-pill .pv-affordance,.pv-pill:hover .pv-affordance{opacity:1;transform:translate(1px,-1px)}.pv-backdrop{position:fixed;inset:0;z-index:59;background:rgba(10,9,6,.7);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);opacity:0;pointer-events:none;transition:opacity .18s;cursor:zoom-out}.pv-open .pv-backdrop{opacity:1}.pv-pinned .pv-backdrop{pointer-events:auto}.pv-layer{position:fixed;inset:0;z-index:60;display:grid;align-items:safe center;justify-items:center;padding:1rem;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s,visibility .18s}.pv-layer.pv-anchored{inset:auto;display:block;overflow:visible;width:min(34rem,100vw - 3rem,var(--pv-w,34rem));padding:0;transform:translateY(-50%)}.pv-open .pv-layer{visibility:visible;opacity:1}.pv-pinned .pv-layer{pointer-events:auto}.pv-panel{position:relative;z-index:1;display:block;width:min(34rem,100vw - 2rem,var(--pv-w,34rem));padding:.75rem;background:var(--panel-bg);color:var(--fg-strong);box-shadow:inset 0 0 0 1px var(--panel-ring),0 28px 90px rgba(0,0,0,.48);opacity:0;transform:translateY(12px) scale(.98);transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1)}.pv-anchored .pv-panel{width:100%}.pv-open .pv-panel{opacity:1;transform:translateY(0) scale(1)}.pv-close{position:absolute;top:-.75rem;right:-.75rem;z-index:2;display:grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--panel-bg);color:var(--pill-fg);box-shadow:0 14px 30px rgba(0,0,0,.24);opacity:0;transition:opacity .18s,background-color .18s,transform .18s;cursor:zoom-out}.pv-pinned .pv-close{opacity:1}.pv-close:hover{background:var(--panel-bg-hover);transform:translateY(-1px)}.pv-card{display:block}.pv-media{position:relative;overflow:hidden;border-radius:2px}.pv-media,.pv-media img{display:block;width:100%}.pv-media img{position:absolute;inset:0;height:100%}.pv-media img.pv-media-rotated{inset:auto;top:50%;left:50%;height:auto;max-width:none}.pv-caption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:.8rem .35rem .15rem;font-family:var(--font-sans,system-ui);font-size:.84rem;font-weight:500;line-height:1.35;color:var(--fg-strong)}.pv-caption-text{min-width:0}.pv-caption-title{display:block;font-family:var(--font-serif,Georgia,serif);font-size:1.15rem;font-weight:400;line-height:1.2;margin-bottom:2px}.pv-link{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:.78rem;font-weight:500;color:color-mix(in srgb,var(--fg-strong) 72%,transparent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--fg-strong) 24%,transparent);text-decoration-color:color-mix(in srgb,var(--fg-strong) 24%,transparent);text-decoration-thickness:1px;text-underline-offset:.18rem;transition:color .18s,-webkit-text-decoration-color .18s;transition:color .18s,text-decoration-color .18s;transition:color .18s,text-decoration-color .18s,-webkit-text-decoration-color .18s}.pv-link:hover{color:var(--fg-strong);-webkit-text-decoration-color:color-mix(in srgb,var(--fg-strong) 58%,transparent);text-decoration-color:color-mix(in srgb,var(--fg-strong) 58%,transparent)}@media (min-width:768px){.pv-layer{padding:2rem}}@media (prefers-reduced-motion:reduce){.pv-backdrop,.pv-close,.pv-layer,.pv-panel{transition-duration:1ms}}@media (max-width:600px){.hero-name{font-size:34px}}.stack{width:100vw;margin-left:calc(50% - 50vw);margin-top:22px;flex-direction:column;align-items:center;padding:0 1rem}.stack,.stack-area{position:relative;display:flex}.stack-area{width:100%;justify-content:center;margin-bottom:13vh;touch-action:pan-x}.stack-card,.stack-sizer{width:90vw;max-width:60rem;aspect-ratio:2/3;max-height:52svh;min-height:15rem;flex-shrink:0}.stack-sizer{visibility:hidden;pointer-events:none}.stack-slot{position:absolute;inset:0;display:flex;justify-content:center;will-change:transform}.stack-card{position:relative;display:block;padding:0;border:none;overflow:hidden;border-radius:16px;background:var(--bg-soft);color:inherit;text-align:left;font:inherit;box-shadow:0 0 .2px rgba(16,16,16,.08),0 2.5px 1.2px rgba(16,16,16,.04),0 6.6px 3.3px rgba(16,16,16,.04),0 23px 13px rgba(16,16,16,.08);cursor:pointer}.stack-card-blank{background:var(--bg-chip);box-shadow:none}.stack-ghost{z-index:7;transform:translateY(10vh) scale(.85);filter:brightness(.75);pointer-events:none;transition:opacity .6s var(--ease-fast)}.stack-media{position:absolute;inset:0;display:block}.stack-media img{display:block;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.stack-fade{height:60%;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);pointer-events:none}.stack-fade,.stack-text{position:absolute;left:0;bottom:0;width:100%}.stack-text{padding:5%;display:flex;flex-direction:column;gap:12px;color:#fff}.stack-title{font-family:var(--font-serif,Georgia,serif);font-size:1.6rem;line-height:1.15}.stack-desc{max-width:24rem;font-family:var(--font-sans,system-ui);font-size:1rem;line-height:1.5;color:rgba(255,255,255,.7)}.stack-dim{position:absolute;inset:0;background:#000;border-radius:inherit;pointer-events:none}.stack-pager-wrap{opacity:0;pointer-events:none;transition:opacity .7s var(--ease-fast)}.stack-pager-in{opacity:1;pointer-events:auto}.pager{position:relative;z-index:20}.pager-thumbs{display:flex;align-items:center;gap:6px;padding:8px 10px;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:-webkit-grab;cursor:grab}.pager-thumbs.pager-scrubbing{cursor:-webkit-grabbing;cursor:grabbing}.pager-thumb{position:relative;flex:none;display:grid;place-items:center;width:16px;height:16px;padding:0;border:none;background:none;cursor:pointer}.pager-dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--fg-4);transform:scale(1);transition:background-color .25s var(--ease-fast),transform .25s var(--ease-fast)}.pager-thumb:hover .pager-dot{background:var(--fg-3)}.pager-thumb-on .pager-dot{background:var(--fg-2);transform:scale(1.3)}.pager-scrubbing .pager-thumb-on .pager-dot{transform:translateY(-4px) scale(1.5)}.pager-tip{position:absolute;top:-34px;left:50%;transform:translateX(-50%);padding:4px 8px;border-radius:4px;background:var(--tip-bg);color:var(--tip-fg);font-family:var(--font-sans,system-ui);font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}.pager-scrubbing .pager-thumb-on .pager-tip,.pager-thumb:hover .pager-tip{opacity:1}@media (min-width:768px){.stack-card,.stack-sizer{width:min(720px,100vw - 180px);aspect-ratio:1.5/1;max-height:max(300px,calc(100svh - 330px))}.stack-card{border-radius:12px}}@media (prefers-reduced-motion:reduce){.pager-dot,.stack-dim,.stack-ghost,.stack-pager-wrap,.stack-slot{transition:none!important}}.sky{top:0;width:100vw;height:160px;overflow:hidden;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:-1}.sky,.sky-field{position:absolute;left:50%;transform:translateX(-50%)}.sky-field{top:22px;height:100%;font-family:var(--font-mono),monospace;font-size:10px;line-height:1;letter-spacing:0;--sky-a:#a2bfe2;--sky-b:#c2d5ec}.sky-stars,[data-theme=dark] .sky-clouds{display:none}[data-theme=dark] .sky-stars{display:block}.sky-art{position:absolute;margin:0;font:inherit;white-space:pre;background:linear-gradient(100deg,color-mix(in srgb,var(--sky-a),var(--sky-b) var(--p0,0%)),color-mix(in srgb,var(--sky-a),var(--sky-b) var(--p1,100%)));-webkit-background-clip:text;background-clip:text;color:transparent;will-change:transform,opacity}.sky-cloud{animation:sky-drift 20s ease-in-out infinite alternate}@keyframes sky-drift{0%{transform:translate(calc(var(--dx, 12px) * -1))}to{transform:translate(var(--dx,12px),var(--dy,4px))}}.sky-star{position:absolute;color:color-mix(in srgb,var(--sky-a),var(--sky-b) var(--p,50%));animation:sky-twinkle 3s ease-in-out infinite;will-change:opacity}.sky-bigstar{animation:sky-twinkle 4s ease-in-out infinite}@keyframes sky-twinkle{0%,to{opacity:.4}50%{opacity:1}}.sky-shoot{position:absolute;color:color-mix(in srgb,var(--sky-a),var(--sky-b) 70%);opacity:0;animation:sky-shoot 12s linear infinite}.sky-shoot:before{content:"";position:absolute;left:100%;top:50%;width:72px;height:1px;background:linear-gradient(90deg,currentColor,transparent);transform-origin:left center;transform:rotate(-19.6deg)}@keyframes sky-shoot{0%,84%{opacity:0;transform:translate(0)}85%{opacity:1}93%{opacity:0;transform:translate(-140px,50px)}to{opacity:0;transform:translate(-140px,50px)}}@media (max-width:600px){.sky-field{font-size:8px}}@media (prefers-reduced-motion:reduce){.sky-bigstar,.sky-cloud,.sky-star{animation:none}.sky-bigstar,.sky-star{opacity:.8}.sky-shoot{display:none}}.journal-entry{max-width:480px}.je-back{display:inline-block;font-size:11.5px;color:var(--fg-4);letter-spacing:.02em;margin-bottom:32px;transition:color .12s}.je-back:hover{color:var(--fg-2)}.je-title{font-size:24px;letter-spacing:-.025em;color:var(--fg);line-height:1.3;margin-bottom:14px;font-family:var(--font-serif,Georgia,serif);font-weight:400}.je-status{display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;padding:4px 10px;border-radius:999px;background:var(--bg-chip);font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.je-status-dot{width:6px;height:6px;border-radius:50%;background:#d9a92a;animation:je-pulse 2.2s ease-in-out infinite}@keyframes je-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.je-status-dot{animation:none}}.je-meta{display:flex;align-items:center;gap:8px;margin-bottom:28px;flex-wrap:wrap}.je-date{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.je-date,.je-tag{color:var(--fg-4)}.je-tag{font-size:9.5px;background:var(--bg-chip);border-radius:3px;padding:2px 6px}.je-divider{height:1px;background:var(--line);margin-bottom:32px}.je-body{font-size:14.5px;line-height:1.85;color:var(--fg-2)}.je-body p{margin-bottom:22px}.je-body p:last-child{margin-bottom:0}.je-external{display:inline-block;margin-top:36px;font-size:12px;font-weight:500;color:var(--fg-4);letter-spacing:.02em;transition:color .12s}.je-external:hover{color:var(--fg)}.work{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-top:calc(-1 * var(--nav-clearance));padding-top:var(--nav-clearance);min-height:100svh;background:var(--bg-soft);transition:background-color .35s var(--ease-fast)}.work-content{display:flex;flex-direction:row;align-items:flex-start;gap:22px;width:100%;max-width:1320px;margin:0 auto;padding:18px clamp(32px,11vw,200px) 56px}.work-col{flex:1 0;min-width:0;gap:28px}.work-card,.work-col{display:flex;flex-direction:column}.work-card{scroll-margin-top:72px;gap:12px;width:100%;color:inherit}.work-media{position:relative;width:100%;border-radius:2px;overflow:hidden;will-change:transform}.work-text{display:flex;flex-direction:column;gap:6px}.work-eyebrow{font-family:var(--font-mono),monospace;font-size:13.5px;line-height:1.65;text-transform:uppercase;color:var(--fg-3)}.work-eyebrow,.work-title{margin:0;letter-spacing:.01em}.work-title{font-family:var(--font-serif,Georgia,serif);font-size:24px;font-weight:400;line-height:1.2;text-transform:capitalize;color:var(--fg-2)}.work-desc{margin:0;font-family:var(--font-sans,system-ui);font-size:15.75px;letter-spacing:.01em;line-height:1.3;color:var(--fg-3)}@media (max-width:809.98px){.work-content{flex-direction:column;padding-inline:20px}.work-col{flex:none;width:100%}}.lib{width:100vw;margin-left:calc(50% - 50vw);margin-top:calc(-1 * var(--nav-clearance));background:var(--bg);overflow:hidden}.lib,.lib-stage{position:relative}.lib-stage{isolation:isolate;perspective:1600px;display:grid;grid-template-columns:repeat(16,minmax(0,1fr));grid-template-rows:28% 31% minmax(0,1fr) auto;grid-template-areas:". . . a1 . . a2 . . a3 . . a4 . . ." ". . . . a5 . . a6 . a7 . a8 . . . ." ". . . . . . a9 . . a10 . . . . . ." "cap cap cap cap cap cap cap cap cap cap cap cap cap cap cap cap";max-width:1728px;height:calc(100dvh - 40px);min-height:680px;margin-inline:auto;padding:calc(var(--nav-clearance) + 44px) clamp(24px,2vw,40px) 44px}.lib-card{--cover-rotation:0deg;--cover-tilt:0deg;--cover-drift-x:5px;--cover-drift-y:-7px;--cover-delay:0s;--cover-offset-x:0px;--cover-offset-y:0px;--drag-x:0px;--drag-y:0px;--ice-rot:0deg;position:relative;left:var(--cover-offset-x);margin-top:var(--cover-offset-y);z-index:2;display:block;place-self:start center;overflow:hidden;background:var(--bg-soft);border:1px solid var(--line-strong);box-shadow:0 18px 30px rgba(0,0,0,.12),0 3px 8px rgba(0,0,0,.09);transform:translate3d(var(--drag-x),var(--drag-y),0) rotate(calc(var(--cover-rotation) + var(--ice-rot))) rotateY(var(--cover-tilt));transform-origin:50%;animation:lib-float 9s ease-in-out var(--cover-delay) infinite;will-change:transform;transition:box-shadow .35s,filter .35s;cursor:-webkit-grab;cursor:grab;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lib{transition:background-color .6s var(--ease-fast)}.lib.lib-ice{background:var(--ice)}.lib-ice .lib-card{animation-play-state:paused;touch-action:none}.lib-snow{position:absolute;right:clamp(14px,2vw,28px);top:calc(var(--nav-clearance) - 48px);z-index:25;display:grid;place-items:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:none;color:var(--fg-4);cursor:pointer;transition:color .3s var(--ease-fast),background-color .3s var(--ease-fast),transform .3s var(--ease-fast)}.lib-snow:hover{color:var(--fg-2);transform:rotate(30deg)}.lib-snow[aria-pressed=true]{color:#5c9fd6;background:rgba(92,159,214,.1);animation:lib-snow-turn 24s linear infinite}.lib-snow[aria-pressed=true]:hover{transform:none}.lib-snow:focus-visible{outline:2px solid var(--fg);outline-offset:3px}@keyframes lib-snow-turn{to{transform:rotate(1turn)}}.lib-card.is-held{z-index:40;cursor:-webkit-grabbing;cursor:grabbing;animation-play-state:paused;box-shadow:0 40px 60px rgba(0,0,0,.22),0 10px 18px rgba(0,0,0,.14)}.lib-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}.lib-card[data-active=true]{z-index:8}@media (hover:hover) and (pointer:fine){.lib-card:hover{z-index:30;filter:saturate(1.04);animation-play-state:paused;box-shadow:0 34px 55px rgba(0,0,0,.19),0 8px 16px rgba(0,0,0,.12)}}.lib-card:focus-visible{z-index:30;outline:2px solid var(--fg);outline-offset:4px;animation-play-state:paused}.lib-caption{grid-area:cap;place-self:end center;z-index:20;width:100%;max-width:820px;margin:0;font-family:var(--font-sans,system-ui);font-size:12px;line-height:18px;color:var(--fg-3);text-align:center;pointer-events:none}.lib-caption-text{margin:0}.lib-collisions{margin:4px 0 0;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.04em;color:var(--fg-3);opacity:0;transform:translateY(4px);transition:opacity .4s var(--ease-fast),transform .4s var(--ease-fast)}.lib-ice .lib-collisions{opacity:1;transform:none}@keyframes lib-float{0%,to{transform:translate3d(var(--drag-x),var(--drag-y),0) rotate(calc(var(--cover-rotation) + var(--ice-rot))) rotateY(var(--cover-tilt))}50%{transform:translate3d(calc(var(--drag-x) + var(--cover-drift-x)),calc(var(--drag-y) + var(--cover-drift-y)),0) rotate(calc(var(--cover-rotation) + var(--ice-rot) + 1.2deg)) rotateY(var(--cover-tilt))}}@media (min-width:1024px) and (max-width:1600px){.lib-stage{height:calc(114.286dvh - 40px)}}@media (max-width:767px){.lib-stage{height:calc(100svh - 20px);min-height:0;padding:calc(var(--nav-clearance) + 36px) 28px max(80px,env(safe-area-inset-bottom));grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:19% 12% 24% minmax(0,1fr) auto;grid-template-areas:"a2 a2 . . a3 a3" ". . a6 a6 . ." "a5 a5 . . a8 a8" "a10 a10 a1 a1 a9 a9" "cap cap cap cap cap cap"}.lib-card{left:0;margin-top:0}.lib-card[data-slot=a2],.lib-card[data-slot=a4]{max-width:min(22vw,100px)}.lib-card[data-slot=a10],.lib-card[data-slot=a3],.lib-card[data-slot=a5],.lib-card[data-slot=a8],.lib-card[data-slot=a9]{max-width:min(26vw,118px)}.lib-card[data-slot=a6]{max-width:min(30vw,137px)}.lib-card[data-slot=a1]{max-width:min(25vw,114px)}.lib-card[data-slot=a4],.lib-card[data-slot=a7]{display:none}.lib-caption{max-width:330px}}@media (hover:none),(pointer:coarse){.lib-card{animation:none}.lib-card:active{z-index:30;box-shadow:0 26px 42px rgba(0,0,0,.17),0 6px 13px rgba(0,0,0,.11)}}@media (prefers-reduced-motion:reduce){.lib-card{transition:none}.lib-card,.lib-snow[aria-pressed=true]{animation:none}}:root:not([data-theme=dark]) .site-footer{display:none}:root:not([data-theme=dark]) .site-curtain{margin-bottom:0}.site-footer{position:fixed;bottom:0;left:0;right:0;height:var(--footer-h);z-index:0;background:var(--foot-bg);color:var(--foot-text);padding-top:22px;display:flex;flex-direction:column;overflow:hidden}.foot-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 64px}.foot-name{font-family:var(--font-serif,Georgia,serif);font-style:italic;font-size:1.35rem;font-weight:400;color:var(--foot-fg);margin:0}[data-theme=dark] .foot-name{visibility:hidden}.foot-links{display:flex;align-items:center;gap:15px}.foot-links a{position:relative;display:flex;color:var(--foot-muted);transition:color .2s var(--ease-fast),transform .2s var(--ease-fast)}.foot-links a:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.foot-links a:hover{color:var(--foot-fg);transform:translateY(-1px)}.golf{flex:1 1;min-height:0;position:relative;display:flex;flex-direction:column;margin-top:8px}.golf-scene{flex:1 1;min-height:140px;position:relative;outline:none;touch-action:pan-y}.golf-scene:focus-visible{outline:1px solid #4d7c4f;outline-offset:-1px}.golf-grid{margin:0;padding:0 0 0 8px;font-family:var(--font-kode),monospace;font-size:12px;line-height:14px;white-space:pre;overflow:hidden;color:var(--golf-ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.golf-hint{position:absolute;right:18px;bottom:10px;margin:0;font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--golf-hint);pointer-events:none}.g-sky{color:var(--g-sky)}.g-tee{color:#7d8a4a}.g-fw{color:#5f8f3e}.g-rough{color:#43632c}.g-sand{color:#a08d55}.g-green{color:#7fb356}.g-soil{color:#3f7028}.g-pin{color:var(--g-pin)}.g-flag{color:#c4553d}.g-cup{color:var(--g-cup)}.g-ball{color:#ffffff}.g-trail{color:var(--g-trail)}.g-aim{color:#b7d98a}.g-rest{color:#dcecb0}.g-mark{color:var(--g-mark)}.g-tree{color:#4a7a34}.g-trunk{color:#3f6a2a}.g-water{color:#4d7fa8}.g-deep{color:#2a3d50}.g-spark{color:#e8c35a}.g-splash{color:#7fb3d8}@media (max-width:940px){.foot-top{padding:0 40px}}@media (max-width:600px){:root{--footer-h:min(215px,55dvh)}.site-footer{padding-top:28px}.foot-top{padding:0 20px}.golf-scene{min-height:130px}.golf-grid{font-size:10px;line-height:12px}.golf-hint{right:12px;bottom:8px}}@media (max-width:420px){.foot-top{padding:0 14px}.golf-grid{font-size:9px;line-height:11px}}