@font-face{font-family:Spectral;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/ccb4f1a2f58c2d81-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:Spectral;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/671af85d510151df-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/6fca4e68a47b5cd6-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:Spectral;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/911743d16370ad7d-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/e61574c42be438a1-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:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/de32ab4287127d46-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:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/52c789a43a83edb4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/53a2694769c6fc4b-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:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/109cd0be88080556-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9f5251eb979d3d3e-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:Spectral;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/b1c71187c85bb732-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:Spectral;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/1d0267b201e007a0-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/192b55935f4e8c71-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:Spectral;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/130fa9c96dfc2da9-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/a325990d5fec1d3f-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:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/08de5a6c8e2756a6-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:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/042599cf3ef1ed12-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/07eb198cb290aa99-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:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ba3ff6f2a6b16018-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e8d031e1cd02c4e9-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:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a905a6179bab2b08-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:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/273b2e150de7c4a9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/692781be160fc9d0-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:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1e9fc5e960416d85-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e244d3ca994d3054-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:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/95fbe602f95f5b1d-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:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d7fd192484976c0a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e478c40a90656953-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:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/680964f1bd688e24-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3e68fbb477d90635-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:Spectral Fallback;src:local("Times New Roman");ascent-override:96.46%;descent-override:42.17%;line-gap-override:0.00%;size-adjust:109.78%}.__className_2c4464{font-family:Spectral,Spectral Fallback}.__variable_2c4464{--ser:"Spectral","Spectral Fallback"}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/09f6c2baa931b883-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:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6b4fe0bff7871930-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/064ea76c844b54f3-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:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b0fde133b3c9bd9c-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92daa4d0098aa288-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:Libre Franklin;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/09f6c2baa931b883-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:Libre Franklin;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6b4fe0bff7871930-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/064ea76c844b54f3-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:Libre Franklin;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b0fde133b3c9bd9c-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/92daa4d0098aa288-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:Libre Franklin Fallback;src:local("Arial");ascent-override:92.61%;descent-override:23.58%;line-gap-override:0.00%;size-adjust:104.31%}.__className_f754b5{font-family:Libre Franklin,Libre Franklin Fallback;font-style:normal}.__variable_f754b5{--sans:"Libre Franklin","Libre Franklin Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_a3cc63{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_a3cc63{--mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#363d4e;--paper:#2b3140;--ink:#f1f3f7;--muted:#b8bccb;--subtle:#9a9fb3;--rule:rgba(228,231,238,0.18);--rule-strong:rgba(228,231,238,0.42);--accent:#e4e7ee;--on-accent:#1e2330;--chip:rgba(228,231,238,0.09);--platform:#2b3140;--platform-ink:#f1f3f7;--platform-muted:#b8bccb;--platform-rule:rgba(228,231,238,0.15);--maxw:760px;--gap:60px}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none;width:0;height:0}body,html{margin:0;padding:0;color:var(--ink)}body,html{background:var(--bg)}body{font-family:var(--ser),Georgia,serif;font-size:1.2rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;position:relative;min-height:100vh}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.page{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:28px 24px 80px;overflow-wrap:anywhere;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.page>main{flex:1 1 auto}.last-updated{margin-top:48px;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--sans),system-ui,sans-serif;font-size:.72rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--subtle)}.platform{color:var(--platform-ink);padding:18px 0}.platform .album-artist,.platform .book-author,.platform .interest-link a,.platform .interest-subhead,.platform .reading-empty,.platform .reading-pull-hint,.platform .travel-gallery-label,.platform .travel-pin-label{color:var(--platform-muted)}.platform .album-title,.platform .book-title,.platform .bookshelf-detail-meta .book-title,.platform .reading-meta .book-title{color:var(--platform-ink)}.platform .interest-link a{color:var(--platform-ink);-webkit-text-decoration-color:var(--platform-muted);text-decoration-color:var(--platform-muted)}.platform .reading-tabs button{border-color:var(--platform-rule);color:var(--platform-muted)}.platform .reading-tabs button:hover{color:var(--platform-ink);border-color:var(--rule-strong);background:var(--chip)}.platform .reading-tabs button.is-active,.platform .reading-tabs button.is-active:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.platform .bookshelf,.platform .bookshelf-book,.platform .reading-book,.platform .reading-cover{border-color:var(--platform-rule)}.platform .album-grid,.platform .gallery-fill,.platform .music-gallery,.platform .reading-shelf,.platform .travel-gallery{margin-top:0}.platform .interest-link{margin-top:16px;margin-bottom:0}.pursuit-videos{position:relative;width:min(100%,620px);aspect-ratio:1;margin:24px auto 0;padding:0;overflow:hidden;border-radius:50%;background:var(--paper);isolation:isolate}.pursuit-hint{margin:12px 0 0;text-align:center;font-family:var(--sans),system-ui,sans-serif;font-size:.75rem;color:var(--muted)}.pursuit-video{position:absolute;inset:0;padding:0;border:none;background:var(--paper);-webkit-clip-path:var(--slice);clip-path:var(--slice);cursor:pointer;transition:opacity .28s ease,filter .28s ease,-webkit-clip-path .35s ease;transition:clip-path .35s ease,opacity .28s ease,filter .28s ease;transition:clip-path .35s ease,opacity .28s ease,filter .28s ease,-webkit-clip-path .35s ease}.pursuit-cover,.pursuit-video video{position:absolute;left:var(--video-left);top:var(--video-top);width:var(--video-width);height:var(--video-height);object-fit:cover;display:block;pointer-events:none;transition:left .35s ease,top .35s ease,width .35s ease,height .35s ease}.pursuit-video video{opacity:0}.pursuit-video video.is-playing{opacity:1}.pursuit-videos.is-focusing .pursuit-video.is-focused{-webkit-clip-path:circle(46% at 50% 50%);clip-path:circle(46% at 50% 50%);z-index:2}.pursuit-video.is-focused .pursuit-cover,.pursuit-video.is-focused video{left:4%;top:4%;width:92%;height:92%;object-fit:cover}.pursuit-video:focus-visible{background:var(--accent);outline:none}.pursuit-videos.is-focusing .pursuit-video.is-dimmed{opacity:.38;filter:saturate(.7)}@media (prefers-reduced-motion:reduce){.pursuit-cover,.pursuit-video,.pursuit-video video{transition:none}}@media (min-width:720px){.page{padding:60px 60px 100px}}@media (min-width:1024px){:root{--maxw:1000px}}.page-home{padding-bottom:48px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.page-home .hero{flex:1 1 auto;align-content:center;margin-block:clamp(32px,5vh,64px)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.hero,.section-head,article,main>.career-timeline{animation:rise .55s cubic-bezier(.2,.6,.2,1) both}main>.career-timeline{animation-delay:.2s}.hero{animation-delay:60ms}.section-head{animation-delay:80ms}article{animation-delay:.2s}}.topbar{margin-bottom:8px}.topbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background:color-mix(in srgb,var(--paper) 70%,transparent);border:1px solid var(--rule);border-radius:14px}.brand{gap:10px;color:var(--ink);min-width:0}.brand,.brand-mark{display:inline-flex;align-items:center}.brand-mark{flex-shrink:0;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:.95rem;font-weight:500;letter-spacing:.5px}.brand-mark,.brand-name{font-family:var(--ser),Georgia,serif}.brand-name{font-size:1.15rem;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;font-family:var(--sans),system-ui,sans-serif;font-size:.88rem}.topbar-nav a{color:var(--muted);padding:.4rem .75rem;border-radius:8px;transition:background .18s ease,color .18s ease}.topbar-nav a:hover{color:var(--ink);background:var(--chip)}.topbar-nav a.is-active{color:var(--on-accent);background:var(--accent)}.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:10px;background:none;border:1px solid var(--rule);border-radius:10px;cursor:pointer}.nav-burger span{display:block;height:1.5px;width:100%;background:var(--ink);border-radius:2px}.topbar-panel{display:none}@media (max-width:860px){.topbar-nav{display:none}.nav-burger{display:inline-flex}.topbar-panel{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:10px;background:color-mix(in srgb,var(--paper) 70%,transparent);border:1px solid var(--rule);border-radius:14px}.topbar-panel a{font-family:var(--sans),system-ui,sans-serif;font-size:1rem;color:var(--muted);padding:.7rem .85rem;border-radius:10px}.topbar-panel a.is-active,.topbar-panel a:hover{color:var(--ink);background:var(--chip)}.topbar-panel a.is-active{color:var(--on-accent);background:var(--accent)}}@media (max-width:480px){.brand-name{display:none}}.section-head{margin-top:40px;margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--rule)}.section-head h1{font-family:var(--ser),Georgia,serif;font-size:clamp(2.2rem,6vw,3.1rem);font-weight:400;letter-spacing:-.8px;margin:0;line-height:1.02}.section-head .eyebrow{margin-top:12px;margin-bottom:0}.hero{margin-top:32px;margin-bottom:32px;display:grid;grid-template-columns:1fr;grid-gap:28px;gap:28px;align-items:center;text-align:center}.hero-portrait{position:relative;width:clamp(160px,28vw,220px);aspect-ratio:1;margin:0 auto;border-radius:50%;overflow:hidden;background:var(--rule);box-shadow:0 0 0 1px var(--rule-strong);--px:0px;--py:0px}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:translate(var(--px),var(--py)) scale(1.06);filter:brightness(.35) saturate(.7);transition:transform .35s ease;animation:portrait-develop 1.45s ease .15s forwards}@keyframes portrait-develop{to{filter:brightness(1) saturate(1)}}@media (prefers-reduced-motion:reduce){.hero-portrait img{filter:none;transform:none;animation:none;transition:none}}.eyebrow{font-family:var(--sans),system-ui,sans-serif;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--muted);margin-bottom:14px}.hero .title{font-size:clamp(2.2rem,6vw,3.1rem);font-weight:400;letter-spacing:-.8px;margin:0;line-height:1.02}.hero .title,.hero-bio{font-family:var(--ser),Georgia,serif}.hero-bio{font-size:inherit;line-height:1.65;font-weight:300;letter-spacing:-.2px;margin:18px auto 0;color:var(--ink);max-width:38em;text-wrap:pretty}.hero-bio+.hero-bio{margin-top:14px}.hero-bio a{color:var(--accent);text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:4px}.hero-bio a:hover{text-decoration-thickness:1.5px}.social-notes{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:36px auto 0;max-width:28em;padding:0;background:none;border:none;box-shadow:none}.social-note,.social-notes{justify-content:center;color:var(--ink)}.social-note{position:relative;display:inline-flex;align-items:center;width:52px;height:52px;border-radius:10px;border:none;transition:background .18s ease,transform .18s ease}button.social-note{padding:0;background:none;cursor:pointer}.social-note:focus-visible,.social-note:hover{color:var(--ink);background:var(--chip);transform:translateY(-3px);outline:none}.pixel-note-svg{display:block;width:36px;height:36px;color:var(--muted);image-rendering:pixelated;image-rendering:crisp-edges}.social-note-tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);padding:4px 8px;border-radius:6px;background:var(--ink);color:var(--on-accent);font-family:var(--sans),system-ui,sans-serif;font-size:.7rem;letter-spacing:.6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:5}.social-note-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--ink)}.social-note:focus-visible .social-note-tip,.social-note:hover .social-note-tip{opacity:1;transform:translateX(-50%) translateY(0)}.email-copy-toast{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));z-index:100;max-width:calc(100vw - 40px);padding:12px 18px;border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper);color:var(--ink);font-family:var(--sans),system-ui,sans-serif;font-size:.85rem;box-shadow:0 4px 16px rgba(0,0,0,.18);opacity:0;pointer-events:none}.email-copy-toast.is-visible{opacity:1}.contact-directory{margin:36px auto 0;max-width:28em;text-align:left}.contact-row{display:grid;grid-template-columns:1fr auto;grid-gap:12px 24px;gap:12px 24px;align-items:center;padding:16px 0;border-top:.5px solid var(--rule);text-decoration:none;color:inherit;transition:padding-left .22s ease}.contact-row:first-child{border-top:none;padding-top:0}.contact-row:hover{padding-left:10px}.contact-intent{font-family:var(--ser),Georgia,serif;font-style:italic;font-size:clamp(1.15rem,2.5vw,1.4rem);line-height:1.2;color:var(--ink);transition:color .18s ease}.contact-row:hover .contact-intent{color:var(--accent)}.contact-channel{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.contact-name{font-family:var(--sans),system-ui,sans-serif;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.contact-handle{font-family:var(--mono),ui-monospace,monospace;font-size:.85rem;color:var(--subtle);transition:color .18s ease}.contact-row:hover .contact-handle{color:var(--accent)}p{font-family:var(--ser),Georgia,serif;font-size:1.15rem;line-height:1.7;margin:0 0 16px}article a{color:var(--accent);text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:4px}article a:hover{text-decoration-thickness:1.5px}.album-card a,.entry-links a{text-decoration:none}article h2{font-family:var(--ser),Georgia,serif;font-size:1.5rem;font-weight:400;font-style:italic;letter-spacing:-.3px;color:var(--ink);margin:40px 0 12px}article h2:first-child{margin-top:0}.entries{display:flex;flex-direction:column;gap:14px}.entries .entry,.entries .entry.platform{padding:22px 0;border-top:.5px solid var(--rule)}.entries .entry:first-child{border-top:none;padding-top:0}.entries .entry.platform:first-child{padding-top:18px}.entries .when{font-family:var(--sans),system-ui,sans-serif;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:6px 0 0}.entries .who{font-family:var(--ser),Georgia,serif;font-size:1.3rem;margin:0}.entries .who em{color:var(--accent);font-style:italic}.entries .meta{font-family:var(--ser),Georgia,serif;font-size:1.05rem;color:var(--muted);margin:4px 0 0}.degree-card{display:grid;grid-template-columns:auto 1fr;grid-gap:20px 22px;gap:20px 22px;align-items:center}.degree-copy{min-width:0}.degree-progress{position:relative;width:108px;height:108px;flex-shrink:0}.degree-progress-ring{display:block}.degree-progress-track{stroke:rgba(228,231,238,.12)}.degree-progress-value{stroke:var(--accent);transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1)}.degree-progress-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center;grid-gap:2px;gap:2px;pointer-events:none}.degree-progress-when{font-family:var(--sans),system-ui,sans-serif;font-size:.62rem;letter-spacing:1.1px;text-transform:uppercase}.degree-progress-when,.platform .degree-progress-when{color:var(--platform-muted)}.platform .degree-progress-track{stroke:rgba(228,231,238,.12)}@media (max-width:520px){.degree-card{grid-template-columns:1fr;justify-items:center;text-align:center}}@media (prefers-reduced-motion:reduce){.degree-progress-value{transition:none}}.entries .body{font-family:var(--ser),Georgia,serif;font-size:1.05rem;line-height:1.65;color:var(--muted);margin-top:10px}.entries .body ul{list-style:none;margin:8px 0 0;padding:0}.entries .body li{position:relative;padding-left:18px;margin:0 0 8px}.entries .body li:last-child{margin-bottom:0}.entries .body li:before{content:"–";position:absolute;left:0;color:var(--accent)}.entries .group-label{font-family:var(--sans),system-ui,sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:28px 0 2px}.entries .group-label:first-child{margin-top:0}.entries .body>.group-label:first-of-type{margin-top:24px}.entries .platform>.group-label{margin:0 0 12px}.entries .edu-list{list-style:none;margin:0;padding:0;font-family:var(--ser),Georgia,serif;font-size:1.05rem;line-height:1.65;color:var(--muted)}.entries .edu-list li{position:relative;padding-left:18px;margin:0 0 8px}.entries .edu-list li:last-child{margin-bottom:0}.entries .edu-list li:before{content:"–";position:absolute;left:0;color:var(--accent)}.entry-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px}.entry-links a{font-family:var(--sans),system-ui,sans-serif;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);border-bottom:.5px solid;padding-bottom:1px;transition:opacity .18s ease}.entry-links a:hover{opacity:.7}.skill-groups{display:flex;flex-direction:column;gap:14px}.skill-group.platform h2{margin-top:0}.skill-group h2{font-family:var(--sans),system-ui,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-style:normal}.skill-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.skill-list li{font-family:var(--sans),system-ui,sans-serif;font-size:.9rem;padding:.4rem .85rem;background:var(--chip);border:.5px solid var(--rule);border-radius:4px;color:var(--ink);transition:background .18s ease,border-color .18s ease}.skill-list li:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--rule-strong)}.skill-hint{font-family:var(--sans),system-ui,sans-serif;font-size:.82rem;color:var(--muted);margin:0 0 14px}.skill-list li.has-usage{padding:0;background:transparent;border:0}.skill-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:8px;font-family:var(--sans),system-ui,sans-serif;font-size:.9rem;line-height:inherit;padding:.4rem .55rem .4rem .85rem;background:var(--chip);border:.5px solid var(--rule-strong);border-radius:4px;color:var(--ink);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.skill-chip:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.skill-chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.skill-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:.68rem;background:rgba(228,231,238,.16);color:var(--accent)}.skill-chip.is-active .skill-count{background:var(--on-accent);color:var(--accent)}.skill-usage{margin-top:14px;padding-top:12px;border-top:1px solid var(--platform-rule)}.skill-usage-label{margin:0 0 6px;font-family:var(--sans),system-ui,sans-serif;font-size:.68rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--platform-muted)}.skill-usage ul{list-style:none;margin:0;padding:0}.skill-usage li{justify-content:space-between;gap:12px;padding:6px 0}.skill-usage a,.skill-usage li{display:flex;align-items:baseline}.skill-usage a{flex-wrap:wrap;column-gap:8px;min-width:0}.skill-usage-title{color:var(--platform-ink);text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:3px}.skill-usage a:hover .skill-usage-title{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.skill-usage-org{color:var(--platform-muted);font-size:.95rem}.career-kind,.skill-usage-kind{flex:none;font-family:var(--sans),system-ui,sans-serif;font-size:.62rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--platform-muted)}.career-timeline{width:100%;max-width:720px;margin:0 auto 8px;padding:20px 20px 10px}.career-heading{font-size:.8125rem;font-weight:500;letter-spacing:2px;margin:0}.career-heading,.career-legend{font-family:var(--sans),system-ui,sans-serif;text-transform:uppercase;color:var(--platform-muted)}.career-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 8px;padding:0 0 12px;border-bottom:1px solid var(--platform-rule);font-size:.68rem;letter-spacing:1px}.career-legend li{display:inline-flex;align-items:center;gap:7px}.career-legend .career-dot{width:8px;height:8px;box-shadow:none}.career-list{--month:9px;list-style:none;margin:4px 0 0;padding:0 0 10px;position:relative}.career-list:before{content:"";position:absolute;top:10px;bottom:0;left:84px;width:1px;background:linear-gradient(180deg,rgba(228,231,238,.5),rgba(228,231,238,.22) 30%,rgba(228,231,238,.22) 85%,transparent)}.career-list>.career-item{margin-top:calc(var(--gap, 0) * var(--month))}.career-year{display:grid;grid-template-columns:70px 28px minmax(0,1fr);align-items:center;margin-top:calc(var(--gap, 0) * var(--month) + 14px);padding:4px 0 2px}.career-year:first-child{margin-top:6px}.career-year-label{font-family:var(--sans),system-ui,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:2.4px;color:var(--platform-ink)}.career-year-tick{justify-self:center;width:16px;height:2px;border-radius:1px;background:var(--platform-ink);box-shadow:0 0 0 3px var(--platform);position:relative;z-index:1}.career-year-rule{height:1px;margin-left:4px;background:linear-gradient(to right,var(--platform-rule),transparent 80%)}a.career-link,article .skill-usage a{color:inherit;text-decoration:none}.career-link{display:grid;grid-template-columns:70px 28px minmax(0,1fr) auto;align-items:center;padding:8px 10px 8px 0;border-radius:8px;transition:background .2s ease,transform .2s ease}.career-link:focus-visible,.career-link:hover{background:var(--chip);transform:translateX(3px);outline:none}.career-link:focus-visible .career-date,.career-link:hover .career-date{color:var(--platform-ink)}.career-date{font-family:var(--sans),system-ui,sans-serif;font-size:.7rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--platform-muted);white-space:nowrap}.career-dot{justify-self:center;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--platform);position:relative;z-index:1;transition:transform .18s ease}.career-item.is-project .career-dot{background:var(--platform);border:2px solid var(--accent)}.career-item.is-education .career-dot{border-radius:2px;transform:rotate(45deg)}.career-item.is-involvement .career-dot{border-radius:2px;background:var(--platform);border:2px solid var(--accent)}.career-link:hover .career-dot{transform:scale(1.25)}.career-item.is-education .career-link:hover .career-dot{transform:rotate(45deg) scale(1.25)}.career-text{display:flex;flex-wrap:wrap;column-gap:8px;min-width:0;line-height:1.35}.career-title{font-size:1rem;color:var(--platform-ink)}.career-org,.career-title{font-family:var(--ser),Georgia,serif}.career-org{font-size:.92rem;font-style:italic;color:var(--platform-muted)}.career-kind{margin-left:10px;padding:2px 8px;border:1px solid var(--platform-rule);border-radius:999px;font-size:.58rem;transition:border-color .2s ease,color .2s ease}.career-link:focus-visible .career-kind,.career-link:hover .career-kind{border-color:var(--rule-strong);color:var(--platform-ink)}.entries .entry[id]{scroll-margin-top:24px}.entries .entry.is-targeted,.entries .entry:target{box-shadow:0 0 0 1px var(--accent),0 8px 24px rgba(0,0,0,.18)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (max-width:520px){.career-timeline{padding:16px 14px 8px}.career-list{--month:6px}.career-list:before{left:71px}.career-link,.career-year{grid-template-columns:60px 22px minmax(0,1fr)}.career-link{align-items:start}.career-text{flex-direction:column}.career-date{font-size:.62rem;padding-top:4px}.career-dot{margin-top:6px}.career-kind{display:none}.career-title{font-size:.95rem}.career-org{font-size:.85rem}.skill-usage li{flex-direction:column;gap:2px}}.cert-list{list-style:none;margin:8px 0 0;padding:0}.cert-list li{padding:4px 0;font-family:var(--ser),Georgia,serif;font-size:1.1rem;color:var(--ink)}.cert-list li:first-child{padding-top:0}.interest{padding:28px 0;border-bottom:.5px solid var(--rule)}.interest:last-child{border-bottom:none}.about-page .bookshelf{background:none;border:0;border-radius:0;padding-inline:0}.about-page .music-gallery-photo,.about-page .travel-gallery-photo,.about-page .travel-map-board{border:0;border-radius:2px}.skill-group+.skill-group{border-top:1px solid var(--rule)}.interest h3{font-family:var(--ser),Georgia,serif;font-size:1.4rem;font-weight:400;font-style:italic;letter-spacing:-.3px;color:var(--ink);margin:0}.interest-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.pixel-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;color:var(--ink)}.pixel-icon-svg{display:block;width:42px;height:42px;image-rendering:pixelated;image-rendering:crisp-edges}.interest-subhead{font-family:var(--sans),system-ui,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:24px 0 14px}.interest-link{margin-top:12px;margin-bottom:0}.book-list{list-style:none;margin:8px 0 0;padding:0}.book-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 0;border-top:.5px solid var(--rule);font-family:var(--ser),Georgia,serif}.book-list li:first-child{border-top:none}.book-title{color:var(--ink);font-size:1.1rem}.book-author{font-family:var(--sans),system-ui,sans-serif;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);align-self:center}.reading-shelf{margin-top:18px}.reading-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.reading-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);background:transparent;color:var(--muted);font-family:var(--sans),system-ui,sans-serif;font-size:.85rem;padding:.45rem .85rem;border-radius:8px;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.reading-tabs button:hover{color:var(--ink);border-color:var(--rule-strong)}.reading-tabs button.is-active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}@media (max-width:480px){.reading-tabs{flex-wrap:nowrap}.reading-tabs button{flex:1 1;min-width:0;padding:.45rem .4rem;font-size:.74rem;white-space:nowrap}}.reading-panel{min-height:80px}.reading-empty{font-family:var(--ser),Georgia,serif;font-style:italic;color:var(--subtle);margin:0}.bookshelf{position:relative;margin-top:4px;padding:12px 14px 0;border-radius:10px;background:linear-gradient(180deg,rgba(228,231,238,.04),rgba(228,231,238,.02) 70%,rgba(0,0,0,.12));border:1px solid var(--platform-rule);overflow:visible}.bookshelf-caption{margin:0 0 10px;font-family:var(--sans),system-ui,sans-serif;font-size:.65rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--platform-muted)}.bookshelf-row{list-style:none;margin:0;padding:0 4px 14px;display:flex;align-items:flex-end;justify-content:flex-start;gap:10px;flex-wrap:wrap;min-height:118px;position:relative;z-index:1}.bookshelf-ledge{position:absolute;left:8px;right:8px;bottom:8px;height:10px;border-radius:2px;background:linear-gradient(180deg,rgba(228,231,238,.28),rgba(30,35,48,.55));box-shadow:0 4px 10px rgba(0,0,0,.25)}.bookshelf-book{width:64px;aspect-ratio:2/3;padding:0;border:1px solid rgba(228,231,238,.18);border-radius:3px 4px 2px 2px;background:var(--chip);cursor:pointer;overflow:hidden;box-shadow:2px 3px 0 rgba(0,0,0,.22);transform-origin:bottom center;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease}.bookshelf-book img{width:100%;height:100%;object-fit:cover;display:block}.bookshelf-blank{display:grid;place-items:center;height:100%;font-family:var(--sans),system-ui,sans-serif;font-size:.55rem;letter-spacing:1px;text-transform:uppercase;color:var(--subtle)}.bookshelf-book:hover{transform:translateY(-6px)}.bookshelf-book.is-pulled{transform:translateY(-18px) scale(1.06) rotate(-2deg);box-shadow:4px 10px 18px rgba(0,0,0,.35);z-index:2;position:relative}.bookshelf-detail{margin-top:16px;display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;padding-top:4px}.bookshelf-detail-cover{width:72px;aspect-ratio:2/3;border-radius:4px;overflow:hidden;border:1px solid var(--platform-rule);background:var(--chip)}.bookshelf-detail-cover img{width:100%;height:100%;object-fit:cover;display:block}.bookshelf-detail-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.bookshelf-detail-meta .book-author{align-self:flex-start}.bookshelf-detail-meta .book-title{font-family:var(--ser),Georgia,serif;font-size:1.15rem;line-height:1.25}@media (prefers-reduced-motion:reduce){.bookshelf-book{transition:none}}.album-platform{container:albums/inline-size}.album-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:20px;gap:20px}@container albums (width < 780px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.album-card{min-width:0;display:flex;flex-direction:column;gap:6px}.album-cover{aspect-ratio:1;background:var(--chip);border:.5px solid var(--rule);overflow:hidden;border-radius:50%}.album-cover img{width:100%;height:100%;object-fit:cover;transform-origin:center;animation:vinyl-spin 8s linear infinite}@media (prefers-reduced-motion:reduce){.album-cover{border-radius:2px}.album-cover img{animation:none}}@keyframes vinyl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.album-title{font-family:var(--ser),Georgia,serif;font-size:1rem;color:var(--ink);margin-top:4px}.album-artist{font-family:var(--sans),system-ui,sans-serif;font-size:.7rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.music-gallery{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:560px){.music-gallery{grid-template-columns:repeat(2,1fr)}}.music-gallery-photo{aspect-ratio:4/3;overflow:hidden;border-radius:8px;border:1px solid var(--rule);background:var(--chip)}.music-gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.photo-slot{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;background:var(--chip);border:.5px dashed var(--rule-strong);color:var(--subtle);font-family:var(--sans),system-ui,sans-serif;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;overflow:hidden}.photo-slot img{width:100%;height:100%;object-fit:cover}.travel-gallery{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}@media (min-width:640px){.travel-gallery{grid-template-columns:repeat(4,1fr);gap:16px}}.gallery-fill{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:560px){.gallery-fill{grid-template-columns:repeat(3,1fr);gap:14px}}.gallery-fill .travel-gallery-photo{aspect-ratio:4/3}.travel-gallery-item{display:flex;flex-direction:column;gap:8px;min-width:0}.travel-gallery-photo{aspect-ratio:3/4;overflow:hidden;border-radius:8px;border:1px solid var(--rule);background:var(--chip)}.travel-gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}.travel-gallery-photo img.travel-egypt{object-position:48% center}.travel-gallery-label{font-family:var(--sans),system-ui,sans-serif;font-size:.75rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.travel-map{margin-top:8px}.travel-map-board{position:relative;aspect-ratio:4378/2435;border-radius:10px;overflow:hidden;border:1px solid var(--platform-rule);background:#1e2330}.travel-map-img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.78;filter:grayscale(.6) sepia(.2) hue-rotate(200deg) saturate(.7) brightness(.75) contrast(1.1)}.travel-pin{position:absolute;width:12px;height:12px;transform:translate(-50%,-100%);border:0;background:transparent;padding:0;cursor:pointer;z-index:2;color:inherit}.travel-pin-dot{display:block;width:12px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--accent);box-shadow:0 0 0 2px rgba(30,35,48,.85);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.travel-pin.is-active .travel-pin-dot,.travel-pin:focus-visible .travel-pin-dot,.travel-pin:hover .travel-pin-dot{background:var(--accent);transform:rotate(-45deg) scale(1.2);box-shadow:0 0 0 2px rgba(30,35,48,.85),0 0 0 5px rgba(228,231,238,.28)}.travel-pin-label{position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);font-family:var(--sans),system-ui,sans-serif;font-size:.58rem;letter-spacing:1px;text-transform:uppercase;color:var(--platform-muted);white-space:nowrap;opacity:0;transition:opacity .18s ease;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.65)}.travel-pin.is-active .travel-pin-label,.travel-pin:focus-visible .travel-pin-label,.travel-pin:hover .travel-pin-label{opacity:1;color:var(--accent)}.travel-pin.is-active{z-index:3}.travel-map-board:has(.travel-pin.is-active) .travel-pin:not(.is-active){opacity:.35}.travel-chips{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.travel-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--platform-rule);background:transparent;color:var(--platform-muted);font-family:var(--sans),system-ui,sans-serif;font-size:.72rem;letter-spacing:.4px;padding:.3rem .65rem;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.travel-chip:hover{color:var(--platform-ink);border-color:var(--rule-strong)}.travel-chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (max-width:520px){.travel-pin,.travel-pin-dot{width:8px;height:8px}.travel-pin-dot{box-shadow:0 0 0 1.5px rgba(30,35,48,.85)}.travel-pin-label{display:none}}.site-foot{margin-top:auto;padding-top:40px;border-top:.5px solid var(--rule);font-family:var(--sans),system-ui,sans-serif;font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--subtle)}.race-timeline{margin:18px 0 22px;padding:18px 20px 14px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--platform-ink);overflow:hidden}.race-track{position:relative;height:128px;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab;margin:0 8px}.race-track:active{cursor:-webkit-grabbing;cursor:grabbing}.race-track-line{position:absolute;left:28px;right:28px;top:48px;height:2px;background:var(--platform-rule);border-radius:1px}.race-marker{position:absolute;top:40px;transform:translateX(-50%);width:max-content;max-width:96px;z-index:1;text-align:center;padding:0 2px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:8px}.race-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--subtle);box-shadow:0 0 0 3px var(--platform);transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.race-marker.is-active .race-timeline-dot,.race-marker.is-near .race-timeline-dot{background:var(--accent);box-shadow:0 0 0 3px var(--platform),0 0 0 5px rgba(228,231,238,.35);transform:scale(1.15)}.race-timeline-name{font-family:var(--ser),Georgia,serif;font-size:.82rem;line-height:1.2;color:var(--platform-ink);overflow-wrap:anywhere;text-decoration:none}.race-marker.is-past .race-timeline-name{opacity:.55}.race-marker.is-active .race-timeline-name{color:var(--accent)}.race-marker.is-active .race-timeline-name,.race-marker.is-near .race-timeline-name,.race-timeline-name:hover{text-decoration:underline;text-underline-offset:3px}.race-timeline-meta{font-family:var(--sans),system-ui,sans-serif;font-size:.6rem;letter-spacing:1px;text-transform:uppercase;color:var(--platform-muted);white-space:nowrap;min-height:1em;opacity:0;transform:translateY(4px);text-decoration:none;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.race-timeline-meta.is-revealed{opacity:1;transform:translateY(0)}.race-runner-wrap{position:absolute;top:4px;transform:translateX(-50%);z-index:3;display:grid;place-items:center;width:48px;height:44px;border:0;background:transparent;cursor:-webkit-grab;cursor:grab;outline:none}.race-runner-wrap:focus-visible{box-shadow:0 0 0 2px var(--accent);border-radius:8px}.race-runner-wrap:active{cursor:-webkit-grabbing;cursor:grabbing}.pixel-runner{display:inline-grid;line-height:0;filter:drop-shadow(0 1px 0 rgba(0,0,0,.35));transition:transform .05s linear}.pixel-runner.is-stride{translate:0 -2px}.pixel-runner-img{width:44px;height:auto;display:block;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pixel-runner .pixel-icon-svg{width:40px;height:40px;image-rendering:pixelated}@media (max-width:640px){.race-track{height:140px;margin:0 2px}.race-marker{max-width:72px}.race-timeline-name{font-size:.72rem}.race-track-line{left:22px;right:22px}}@media (prefers-reduced-motion:reduce){.race-timeline-dot,.race-timeline-meta{transition:none}}.site-compass{position:fixed;right:max(16px,calc((100vw - var(--maxw)) / 2 - 72px));bottom:22px;z-index:40;width:56px;height:56px;pointer-events:none;opacity:.72}.site-compass-dial{position:absolute;inset:0;border-radius:50%;border:1px solid var(--rule-strong);background:rgba(30,35,48,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .55s cubic-bezier(.22,1,.36,1)}.site-compass-needle{position:absolute;left:50%;top:8px;width:2px;height:14px;margin-left:-1px;background:var(--accent);border-radius:1px;transform-origin:bottom center}.site-compass-mark{position:absolute;inset:0;display:grid;place-items:center;font-size:.62rem;letter-spacing:1.4px;font-weight:500;color:var(--ink)}.site-compass-label,.site-compass-mark{font-family:var(--sans),system-ui,sans-serif}.site-compass-label{position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);white-space:nowrap;font-size:.58rem;letter-spacing:1.3px;text-transform:uppercase;color:var(--subtle)}@media (max-width:720px){.site-compass{right:12px;bottom:14px;opacity:.55;transform:scale(.9);transform-origin:bottom right}}@media (max-width:520px){.site-compass{display:none}}@media (prefers-reduced-motion:reduce){.site-compass-dial{transition:none}}.context-deck{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:12px;gap:12px}.context-card-wrap{perspective:900px;min-height:108px;display:flex}.context-card{display:flex;position:relative;width:100%;height:100%;min-height:108px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.22,1,.36,1)}.context-card.is-flipped{transform:rotateY(180deg)}.context-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;border:1px solid var(--platform-rule);background:var(--paper);padding:14px 12px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.context-front{position:relative;min-height:108px;width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit;flex-direction:row;align-items:flex-end;gap:12px}.context-front .context-title{flex:1 1 auto;align-self:flex-start}.context-front .context-hint{flex:0 0 auto}.context-front:focus-visible,.context-front:hover{border-color:rgba(228,231,238,.45);outline:1px solid var(--rule-strong);outline-offset:4px}.context-back{transform:rotateY(180deg)}.context-title{font-family:var(--ser),Georgia,serif;font-size:.98rem;line-height:1.3;color:var(--platform-ink)}.context-back-flip,.context-hint,.context-host{font-family:var(--sans),system-ui,sans-serif;font-size:.65rem;letter-spacing:1.3px;text-transform:uppercase;color:var(--platform-muted)}.context-open{font-family:var(--ser),Georgia,serif;font-size:1rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.context-back-flip{align-self:flex-start;background:none;border:0;padding:0;cursor:pointer;color:var(--platform-muted)}.context-back-flip:hover{color:var(--platform-ink)}@media (prefers-reduced-motion:reduce){.context-card{transition:none}}