:root{--background:#f6f5f1;--primary:#0e1012;--accent:#7393a7;--surface:#edece8;--muted:#17191c;--border:#d6d5d2;--font-sans:system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--space:8px;--radius:8px;--measure:60ch}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--background);color:var(--primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px;font-weight:400;line-height:1.7}::selection{background:var(--accent);color:var(--background)}a{color:inherit;text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.skip-link{background:var(--primary);color:var(--background);border-radius:0 0 var(--radius) 0;z-index:10;padding:12px 24px;font-weight:700;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}@media (width>=768px){.wrap{padding:0 32px}}.section{padding:64px 0}@media (width>=768px){.section{padding:96px 0}}.seam-top{border-top:1px solid var(--border)}.site-header{border-bottom:1px solid var(--border)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:16px;padding-bottom:16px;display:flex}.wordmark{letter-spacing:-.01em;align-items:center;min-height:44px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.site-nav ul{gap:24px;list-style:none;display:flex}.site-nav a{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;min-height:44px;font-size:13px;text-decoration:none;display:inline-flex}.site-nav a:hover{text-decoration:underline}.site-nav a[aria-current=page]{color:var(--primary);font-weight:700}.nav-toggle{display:none}.nav-toggle-label{text-align:center;min-width:calc(5ch + .5em);padding-left:.08em;transition:opacity .14s}.nav-toggle-label.is-swapping{opacity:0}.nav-toggle-bars{width:16px;height:10px;display:inline-block;position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";background:currentColor;height:1px;transition:transform .24s;position:absolute;left:0;right:0}.nav-toggle-bars:before{top:0}.nav-toggle-bars:after{bottom:0}@media (width<=767px){.site-header{--header-h:77px;--gutter:16px;position:relative}.nav-toggle{top:16px;right:var(--gutter,16px);min-height:44px;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex;position:absolute}.nav-toggle:hover{border-color:var(--primary);color:var(--primary)}.nav-toggle[aria-expanded=true]{background:var(--primary);border-color:var(--primary);color:var(--background)}.nav-toggle[aria-expanded=true]:hover{background:var(--muted);border-color:var(--muted);color:var(--background)}.nav-toggle[aria-expanded=true] .nav-toggle-bars:before{transform:translateY(4.5px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bars:after{transform:translateY(-4.5px)rotate(-45deg)}.site-nav{left:0;right:0;top:var(--header-h,77px);height:calc(100vh - var(--header-h,77px));height:calc(100dvh - var(--header-h,77px));background:var(--background);border-bottom:1px solid var(--border);z-index:20;opacity:0;visibility:hidden;flex-direction:column;max-height:0;padding:0;transition:max-height .24s,opacity .17s,transform .24s,visibility 0s linear .24s;display:flex;position:absolute;overflow:hidden;transform:translateY(-4px)}.site-nav.is-open{max-height:calc(100vh - var(--header-h,77px));max-height:calc(100dvh - var(--header-h,77px));opacity:1;visibility:visible;transition:max-height .28s,opacity .2s,transform .28s,visibility;transform:translateY(0)}.site-nav>ul{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding:8px var(--gutter,16px) calc(16px + env(safe-area-inset-bottom,0px));opacity:0;flex:auto;transition:opacity .16s,transform .2s;overflow-y:auto;transform:translateY(-4px)}.site-nav ul{flex-direction:column;gap:0}.site-nav.is-open>ul{opacity:1;transition-delay:60ms;transform:translateY(0)}.site-nav li{border-top:1px solid var(--border)}.site-nav li:first-child{border-top:0}.site-nav>ul>li>a{min-height:48px}.site-nav .lang-switch{margin-top:8px;display:flex}.site-nav .lang-switch .lang{flex:1;justify-content:center;min-height:44px}}.display{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(32px,5vw,40px);font-weight:700;line-height:1.15}.h2{letter-spacing:-.01em;text-wrap:balance;font-size:24px;font-weight:700;line-height:1.3}.h3{text-wrap:balance;font-size:18px;font-weight:700;line-height:1.4}.kicker{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:400}.meta{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.dek{color:var(--muted);max-width:var(--measure);text-wrap:pretty}.accent-rule{background:var(--accent);border:0;width:64px;height:2px;margin:24px 0;display:block}.btn{background:var(--primary);min-height:44px;color:var(--background);border-radius:var(--radius);border:1px solid var(--primary);justify-content:center;align-items:center;padding:8px 24px;font-size:16px;font-weight:700;text-decoration:none;transition:background-color .12s;display:inline-flex}.btn:hover{background:var(--muted)}.link{font-weight:700;text-decoration:underline 1px}.link:hover{text-decoration-thickness:2px}.entry-list{border-top:1px solid var(--border)}.entry{border-bottom:1px solid var(--border);grid-template-columns:1fr;gap:8px;padding:24px 0;display:grid}@media (width>=768px){.entry{grid-template-columns:140px 1fr;gap:32px;padding:32px 0}}.entry .title{font-size:18px;font-weight:700;line-height:1.4;text-decoration:none}.entry a.title:hover{text-decoration:underline}.entry .title-featured{letter-spacing:-.01em;font-size:24px}.entry .dek{margin-top:8px}.year-label{padding:32px 0 0}.entry .meta{flex-direction:column;gap:0;line-height:1.6;display:flex}.entry .meta-line{border-bottom:1px solid var(--border);gap:12px;min-width:0;padding:6px 0;display:flex}.entry .meta-line:last-child{border-bottom:none}.entry .meta-key{letter-spacing:.08em;text-transform:uppercase;min-width:60px;color:var(--muted);font-size:11px}.entry .meta-val{color:var(--primary)}html[lang=vi] .entry .meta-key{min-width:72px}@media (width<=767px){.entry .meta{flex-flow:wrap;gap:0}.entry .meta-line{border-bottom:0;gap:0;padding:0;display:inline-flex}.entry .meta-key{display:none}.entry .meta-line+.meta-line:before{content:"·";color:var(--border);margin:0 8px}.entry .meta-val{color:var(--muted)}}@media (width<=480px){.entry .meta{font-size:14px}.entry .meta-line+.meta-line:before{color:var(--muted);margin:0 8px;font-size:13px}.entry .meta-val{color:var(--primary);font-size:14px}}.filter-strip{border-top:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-top:48px;padding-top:24px;display:flex}.filter-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px}.filter{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.chip{-webkit-appearance:none;appearance:none;min-height:44px;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:8px 16px;font-size:12px;font-weight:400;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.is-active{background:var(--primary);color:var(--background);border-color:var(--primary)}.chip.is-active:hover{background:var(--muted);border-color:var(--muted);color:var(--background)}.entry[hidden],.year-label[hidden]{display:none}.featured{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px}@media (width>=768px){.featured{padding:48px}}.featured .title{letter-spacing:-.01em;font-size:24px;font-weight:700;line-height:1.3;text-decoration:none}.featured a.title:hover{text-decoration:underline}.featured .dek{margin:16px 0 24px}.motto blockquote{text-wrap:pretty;max-width:44ch;font-size:24px;font-style:italic;font-weight:400;line-height:1.5}.motto .attribution{margin-top:24px}.site-footer{border-top:1px solid var(--border);margin-top:96px;padding:64px 0}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;display:flex}.site-footer p{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.site-footer nav ul{gap:24px;list-style:none;display:flex}.site-footer nav a{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;min-height:44px;font-size:12px;text-decoration:none;display:inline-flex}.site-footer nav a:hover{text-decoration:underline}.article-header{padding:64px 0 48px}@media (width>=768px){.article-header{padding:96px 0 64px}}.article-header .display{max-width:24ch;margin:16px 0 24px}.article-header .dek{font-size:16px}.prose{max-width:var(--measure)}.prose p{text-wrap:pretty;margin:24px 0}.prose h2{letter-spacing:-.01em;text-wrap:balance;margin:64px 0 16px;font-size:24px;font-weight:700;line-height:1.3}.prose h3{margin:48px 0 8px;font-size:18px;font-weight:700;line-height:1.4}.prose ul,.prose ol{margin:24px 0 24px 24px}.prose li{margin:8px 0}.prose a{text-decoration:underline 1px}.prose strong{font-weight:700}.prose em{font-style:italic}.prose blockquote{background:var(--surface);border-left:3px solid var(--accent);border-radius:var(--radius);margin:48px 0;padding:24px 32px;font-style:italic}.prose blockquote p{margin:0}.prose blockquote cite{font-style:normal;font-family:var(--font-mono);color:var(--muted);margin-top:16px;font-size:13px;display:block}.prose code{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2px 6px;font-size:13px}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:48px 0;padding:24px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0;font-size:13px}.prose .seam{text-align:center;font-family:var(--font-mono);letter-spacing:.5em;color:var(--muted);border:0;margin:64px 0;font-size:13px}.plate{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);aspect-ratio:16/9;justify-content:center;align-items:center;margin:48px 0 0;display:flex}.plate span{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:.6;font-size:12px}figcaption{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:16px;font-size:12px}figure{margin:0}.notes{border-top:1px solid var(--border);margin-top:64px;padding-top:24px}.notes h2{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-size:12px;font-weight:400}.notes ol{font-family:var(--font-mono);color:var(--muted);margin-left:24px;font-size:13px;line-height:1.6}.notes li{margin:8px 0}.prose sup a{font-family:var(--font-mono);font-size:11px;text-decoration:none}.prose sup a:hover{text-decoration:underline}.post-nav{border-top:1px solid var(--border);grid-template-columns:1fr;gap:24px;margin-top:64px;padding-top:32px;display:grid}@media (width>=768px){.post-nav{grid-template-columns:1fr 1fr}}.post-nav .kicker{margin-bottom:8px;display:block}.post-nav a{font-weight:700;text-decoration:none}.post-nav a:hover{text-decoration:underline}.post-nav .next{text-align:right}.colophon{border-top:1px solid var(--border);margin-top:32px}.colophon dl{grid-template-columns:1fr;gap:8px 32px;padding:32px 0;display:grid}@media (width>=768px){.colophon dl{grid-template-columns:200px 1fr;row-gap:16px}}.colophon dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.colophon dd{font-family:var(--font-mono);font-size:13px}.pillars{counter-reset:pillar;border-top:1px solid var(--border);list-style:none}.pillars li{border-bottom:1px solid var(--border);max-width:var(--measure);padding:32px 0}.pillars .h3{margin-bottom:8px}.pillars p{color:var(--muted)}.prose.margined{max-width:none}.row{grid-template-columns:1fr;row-gap:24px;display:grid}@media (width>=1024px){.row{grid-template-columns:minmax(0,60ch) minmax(200px,1fr);gap:0 64px}}.margin-note{font-family:var(--font-mono);color:var(--muted);font-size:12px;line-height:1.7}.margin-note p{margin:0 0 16px}.margin-note p:last-child{margin-bottom:0}.margin-note .ref{border-top:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;padding-top:8px;display:block}@media (width<=1023px){.margin-note{border-top:1px solid var(--border);padding-top:16px}}.row>*{min-width:0}@media (width<=767px){.post-nav .next{text-align:left}}.lang-switch{border:1px solid var(--border);border-radius:var(--radius);align-self:center;align-items:stretch;display:inline-flex;overflow:hidden}.lang-switch .lang{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;min-height:44px;padding:0 12px;font-size:12px;text-decoration:none;transition:background-color .12s,color .12s;display:inline-flex}.lang-switch .lang+.lang{border-left:1px solid var(--border)}.lang-switch a.lang:hover{background:var(--surface);color:var(--primary)}.lang-switch .lang[aria-current=true]{background:var(--primary);color:var(--background)}.prose figure{margin:48px 0}.prose figure img{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;height:auto;display:block}.prose figure iframe{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;height:auto;display:block}.prose hr{text-align:center;border:0;margin:64px 0}.prose hr:after{content:"· · ·";font-family:var(--font-mono);letter-spacing:.5em;color:var(--muted);font-size:13px}@media (width>=768px){.post-nav .next{grid-column:2}}
