@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fff;--text:#16191f;--muted:#5f6673;--faint:#8f95a0;--line:#e9ebef;--accent:#e0532f;--accent-ink:#bf4223;--mustard:#8f7300;--mustard-ink:#6b5600;--max:56rem;--gutter:1.25rem;--col:9.5rem;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:4.5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter Variable,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1.0625rem;line-height:1.65}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}h1{letter-spacing:-.02em;font-size:clamp(2rem,1.4rem + 2.4vw,2.75rem)}h2{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:.8125rem;font-weight:600}h3{font-size:1.0625rem}p,ul,dl{margin:0}ul{padding-left:1.1rem}li+li{margin-top:.3rem}a{color:var(--accent-ink);text-underline-offset:.18em;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto}.wrap{width:min(100% - 2 * var(--gutter), var(--max));margin-inline:auto}.skip-link{background:var(--text);color:#fff;z-index:100;border-radius:.5rem;padding:.5rem .75rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:10;-webkit-backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);background:#ffffffd9;position:sticky;top:0}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;min-height:3.5rem;padding-block:.5rem;display:flex}.brand{color:var(--text);align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.brand-emoji{font-size:1.4rem;line-height:1}.brand:hover{color:var(--accent-ink);text-decoration:none}.site-nav{flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.9375rem;display:flex}.site-nav a{color:var(--muted)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text);text-decoration:none}.site-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.35em;text-decoration-thickness:2px}.nav-toggle{width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;margin-right:-.5rem;padding:0;display:none}.nav-toggle:hover{background:#0000000a}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-toggle svg{width:1.375rem;height:1.375rem}.nav-toggle .icon-close,.site-header.is-open .nav-toggle .icon-menu{display:none}.site-header.is-open .nav-toggle .icon-close{display:block}.welcome{padding-block:4.5rem 4rem}.welcome .wrap{gap:1.25rem;display:grid}.welcome p{max-width:46rem;font-size:1.125rem;font-weight:400}.welcome a{color:var(--mustard)}.welcome a:hover{color:var(--mustard-ink)}.nowrap{white-space:nowrap}.welcome .play{vertical-align:middle;margin-left:.25rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portrait{width:clamp(12rem,30vw,17rem);max-width:100%;height:auto;display:block}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.btn{border:1px solid var(--line);color:var(--text);border-radius:999px;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.9375rem;font-weight:500;line-height:1.2;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--text);text-decoration:none}.btn-primary{background:var(--text);border-color:var(--text);color:#fff}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn svg{flex:none;width:1rem;height:1rem}.play{border:1px solid var(--line);width:2.25rem;height:2.25rem;color:var(--text);border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}.play:hover{border-color:var(--text);text-decoration:none}.play.is-playing{border-color:var(--accent);color:var(--accent-ink)}.play svg{flex:none;width:1.2rem;height:1.2rem}.play-inline{vertical-align:-.45em;width:1.65em;height:1.65em;color:var(--text);margin-left:.25em}.play-inline svg{width:1em;height:1em}.about-grid{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2rem 3rem;display:grid}.prose{gap:1.1rem;max-width:46rem;font-size:1.125rem;display:grid}.page-head{padding-block:3.5rem 2.75rem}.page-head .lede{color:var(--muted);max-width:44rem;margin-top:1rem;font-size:1.125rem}.section{border-top:1px solid var(--line);padding-block:3.25rem}.section .wrap>h2{margin-bottom:1.75rem}.entries{gap:1.75rem;display:grid}.entry{grid-template-columns:var(--col) 1fr;gap:.25rem 1.5rem;display:grid}.entry .when{color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:.2rem;font-size:.875rem}.entry-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.entry-logo{flex:none;width:auto;max-width:5.5rem;height:auto;max-height:1.75rem}.entry .meta{color:var(--muted);margin-top:.15rem;font-size:.9375rem}.entry .meta a{color:inherit;text-decoration:underline;text-decoration-color:var(--line)}.entry .meta a:hover{color:var(--accent-ink);text-decoration-color:currentColor}.entry .summary,.entry ul{margin-top:.6rem}.rows{gap:.9rem;display:grid}.rows .row{grid-template-columns:var(--col) 1fr;gap:.15rem 1.5rem;display:grid}.rows dt{color:var(--faint);padding-top:.15rem;font-size:.875rem}.rows dd{margin:0}.chips{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);color:var(--muted);border-radius:999px;margin:0;padding:.3rem .8rem;font-size:.875rem}.placeholder{color:var(--faint)}.entry h3 a{color:inherit}.entry h3 a:hover{color:var(--accent-ink);text-decoration:none}.projects{grid-template-columns:1fr;gap:1rem;padding:0;list-style:none;display:grid}.projects li{margin:0}.project-card{border:1px solid var(--line);background:var(--bg);width:100%;height:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:.85rem;flex-direction:column;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--text)}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-image{background:#f2f3f5;width:100%;height:auto;display:block}.project-text{flex-direction:column;gap:.3rem;padding:1.15rem 1.3rem;display:flex}.project-card h3{font-size:1.0625rem}.project-card .kind{color:var(--muted);font-size:.9375rem}.modal{width:min(38rem,100% - 2rem);max-height:min(85vh,100% - 2rem);color:var(--text);background:var(--bg);border:0;border-radius:1rem;padding:0;box-shadow:0 30px 70px -30px #00000073}.modal::backdrop{backdrop-filter:blur(3px);background:#16191f73}body:has(dialog[open]){overflow:hidden}.modal-body{padding:1.75rem 2rem 2rem}.modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.modal-title{letter-spacing:-.01em;text-transform:none;color:var(--text);font-size:1.25rem;font-weight:600;line-height:1.3}.modal-kind{color:var(--muted);margin-top:.35rem}.modal-meta{color:var(--faint);margin-top:.15rem;font-size:.9375rem}.modal-summary{margin-top:1.25rem}.modal-body ul{margin-top:1.25rem;list-style:outside}.modal-close{width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-.4rem -.6rem 0 0;padding:0;display:inline-flex}.modal-close:hover{color:var(--text);background:#0000000d}.modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-close svg{width:1.25rem;height:1.25rem}.shelf{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:2rem 1.5rem;padding:0;list-style:none;display:grid}.shelf li{flex-direction:column;gap:.2rem;margin:0;display:flex}.shelf .cover{aspect-ratio:2/3;object-fit:cover;background:#f2f3f5;border-radius:.375rem;width:100%;height:auto;margin-bottom:.55rem;display:block;box-shadow:0 1px 2px #00000014,0 8px 20px -12px #00000059}.shelf .cover-empty{border:1px solid var(--line);box-shadow:none}.shelf-link{color:inherit}.shelf-link:hover{text-decoration:none}.shelf-link:hover .shelf-title{color:var(--accent-ink)}.shelf-title{font-size:.9375rem;font-weight:500;line-height:1.35;display:block}.shelf-author,.shelf-note{color:var(--muted);font-size:.875rem;display:block}.gallery{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1.5rem 1.25rem;padding:0;list-style:none;display:grid}.gallery figure{margin:0}.gallery img{background:#f2f3f5;border-radius:.75rem;width:100%;height:auto;display:block}.gallery figcaption{color:var(--muted);margin-top:.5rem;font-size:.875rem}.site-footer{border-top:1px solid var(--line);color:var(--faint);padding-block:2rem;font-size:.875rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;display:flex}.site-footer a{color:var(--muted)}@media (width<=40rem){.about-grid{grid-template-columns:1fr}.about-grid .portrait{order:-1}.portrait{width:14rem}.js .site-header .wrap{flex-wrap:nowrap}.js .nav-toggle{display:inline-flex}.js .site-nav{padding:.25rem var(--gutter) .75rem;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:0;font-size:1.0625rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 16px 24px -20px #00000040}.js .site-header.is-open .site-nav{display:flex}.js .site-nav a{border-top:1px solid var(--line);padding:.7rem 0}.js .site-nav a:first-child{border-top:0}.js .site-nav a[aria-current=page]{color:var(--accent-ink);font-weight:500;text-decoration:none}.entry,.rows .row,.modal-body{padding:1.4rem 1.25rem 1.5rem}.entry .when{margin-bottom:.15rem;padding-top:0}}
