:root{--bg: #e8e8e8;--bg-tint: linear-gradient(20deg, #f7f9f1, #f1f7f9, #f9f1f7);--ink: #1a1a1a;--ink-soft: rgba(26, 26, 26, .66);--ink-faint: rgba(26, 26, 26, .44);--ink-rule: rgba(26, 26, 26, .22);--ink-dotted: rgba(26, 26, 26, .28);--paper: #f3f3f3;--paper-2: #ececec;--accent: #e49f02;--accent-ink: #1a1a1a;--term-bg: #1a1a1a;--term-fg: #e8e8e8;--term-dim: #cacaca;--term-accent: #c4e817;--code-bg: #f5f5f5;--code-border: #d8d8d8;--radius: 0px;--maxw: 1240px;--gutter: clamp(20px, 4vw, 56px);--rule: 1px solid var(--ink);--rule-soft: 1px solid var(--ink-rule);--rule-dotted: 1px dashed var(--ink-dotted);--f-mono: "JetBrains Mono", "IBM Plex Mono", "SFMono-Regular", ui-monospace, Menlo, monospace;--f-body: "Newsreader", "Source Serif Pro", "Iowan Old Style", Georgia, serif;--f-display: "VT323", "JetBrains Mono", monospace;--fz-xxs: 11px;--fz-xs: 12px;--fz-sm: 13px;--fz-md: 15px;--fz-lg: 18px;--fz-xl: 22px;--fz-2xl: 32px;--fz-3xl: clamp(48px, 8vw, 96px);--fz-hero: clamp(80px, 16vw, 220px)}[data-theme=dark]{--bg: #0e0f0d;--bg-tint: linear-gradient(20deg, #0e1110, #0d100f, #11100e);--ink: #e8e8e8;--ink-soft: rgba(232, 232, 232, .7);--ink-faint: rgba(232, 232, 232, .45);--ink-rule: rgba(232, 232, 232, .22);--ink-dotted: rgba(232, 232, 232, .3);--paper: #161816;--paper-2: #1c1e1c;--term-bg: #050605;--term-fg: #c4e817;--term-dim: #7d8c5a;--code-bg: #15171a;--code-border: #25292d}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);background-image:var(--bg-tint);color:var(--ink);font-family:var(--f-body);font-size:var(--fz-md);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}::selection{background:var(--accent);color:var(--accent-ink)}.mono{font-family:var(--f-mono)}.smallcaps{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.08em;font-size:var(--fz-xs);font-weight:500}.label{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.1em;font-size:var(--fz-xxs);color:var(--ink-soft)}.label:before{content:"/ ";color:var(--ink-faint)}.display{font-family:var(--f-display);font-weight:400;line-height:.85;letter-spacing:-.01em}h1,h2,h3,h4{margin:0;font-weight:500}p{margin:0 0 1em}.shell{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.grid-bg{background-image:radial-gradient(circle,var(--ink-dotted) 1px,transparent 1px);background-size:20px 20px;background-position:0 0}.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:var(--rule-soft)}.nav__inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);height:56px;display:flex;align-items:center;gap:4px}.nav__brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:var(--fz-sm);padding-right:18px;margin-right:12px;border-right:var(--rule-soft);height:100%}.nav__brand .mark{width:18px;height:18px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:var(--f-display);font-size:16px;line-height:1}.nav__brand b{font-weight:600}.nav__brand span{color:var(--ink-soft)}.nav__links{display:flex;gap:2px;height:100%;align-items:center;flex:1}.navbtn{font-family:var(--f-mono);font-size:var(--fz-sm);padding:6px 10px;border-radius:2px;display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);transition:background .12s,color .12s}.navbtn:hover{background:color-mix(in oklab,var(--ink) 8%,transparent);color:var(--ink);text-decoration:none}.navbtn[aria-current=page]{color:var(--accent-ink);background:var(--accent)}.navbtn[aria-current=page]:hover{background:var(--accent);color:var(--accent-ink)}.navbtn[aria-current=page] .hk{color:color-mix(in oklab,var(--accent-ink) 55%,transparent)}.navbtn .hk{color:var(--ink-faint)}.nav__right{display:flex;align-items:center;gap:6px}.nav__cmd{font-family:var(--f-mono);font-size:var(--fz-xs);border:var(--rule-soft);padding:6px 10px 6px 8px;display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft)}.nav__cmd kbd{font-family:var(--f-mono);font-size:10px;border:1px solid var(--ink-rule);padding:1px 4px;border-radius:2px;color:var(--ink-soft);background:color-mix(in oklab,var(--ink) 6%,transparent)}.nav__theme{font-family:var(--f-mono);font-size:var(--fz-xs);border:var(--rule-soft);width:32px;height:28px;display:inline-grid;place-items:center}.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px;padding:24px 0 14px;border-bottom:var(--rule);margin-bottom:24px}.section-head h2{font-family:var(--f-display);font-size:clamp(36px,5vw,56px);line-height:.9;letter-spacing:-.01em}.section-head .meta{font-family:var(--f-mono);font-size:var(--fz-xs);color:var(--ink-soft)}.win{border:1px solid var(--ink);background:var(--paper);display:flex;flex-direction:column}.win__bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--ink);font-family:var(--f-mono);font-size:var(--fz-xxs);text-transform:uppercase;letter-spacing:.08em}.win__bar .dots{display:inline-flex;gap:4px}.win__bar .dots i{width:8px;height:8px;border-radius:50%;background:var(--ink);display:inline-block}.win__bar .dots i:nth-child(2){background:var(--ink-soft)}.win__bar .dots i:nth-child(3){background:var(--ink-faint)}.win__bar .title{text-align:center;color:var(--ink-soft)}.win__bar .fig{color:var(--ink-faint)}.win__body{padding:18px}.tag{display:inline-block;font-family:var(--f-mono);font-size:var(--fz-xxs);text-transform:uppercase;letter-spacing:.1em;padding:3px 8px;border:1px solid var(--ink-rule);color:var(--ink-soft)}a.tag{text-decoration:none;transition:border-color .12s,color .12s}a.tag:hover{border-color:var(--ink);color:var(--ink)}.post-meta__tags a{color:inherit;text-decoration:none}.post-meta__tags a:hover{color:var(--ink);text-decoration:underline}.tag--accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tag--solid{background:var(--ink);color:var(--bg);border-color:var(--ink)}.foot{margin-top:96px;border-top:var(--rule);padding:28px 0 56px;font-family:var(--f-mono);font-size:var(--fz-xs);color:var(--ink-soft)}.foot__inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}.foot h4{font-size:var(--fz-xxs);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:10px;font-weight:500}.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.foot a:hover{color:var(--ink)}.plus-row{display:flex;gap:24px;color:var(--ink-faint);margin:18px 0}.plus-row i{width:8px;height:8px;background:linear-gradient(currentColor,currentColor) center/100% 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 100% no-repeat;display:inline-block}.btn{font-family:var(--f-mono);font-size:var(--fz-sm);padding:10px 14px;border:1px solid var(--ink);display:inline-flex;align-items:center;gap:8px;background:transparent;transition:background .12s,color .12s}.btn:hover{background:var(--ink);color:var(--bg);text-decoration:none}.btn--accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--accent:hover{background:var(--ink);color:var(--accent);border-color:var(--ink)}.hov{transition:transform .2s ease,box-shadow .2s ease}.hov:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.cmdk-backdrop{position:fixed;inset:0;z-index:100;background:color-mix(in oklab,var(--ink) 30%,transparent);backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;padding-top:12vh}.cmdk-backdrop[data-open=true]{display:flex}.cmdk{width:min(640px,92vw);background:var(--bg);border:1px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}.cmdk__head{border-bottom:1px solid var(--ink);padding:8px 12px;display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:var(--fz-sm)}.cmdk__head input{flex:1;background:transparent;border:0;outline:0;font:inherit;color:inherit;padding:6px 0}.cmdk__head .prompt{color:var(--accent-ink);background:var(--accent);padding:1px 6px}.cmdk__list{max-height:50vh;overflow:auto;padding:6px}.cmdk__item{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:8px 10px;font-family:var(--f-mono);font-size:var(--fz-sm);cursor:pointer}.cmdk__item[aria-selected=true]{background:var(--ink);color:var(--bg)}.cmdk__item .kind{color:var(--ink-faint);font-size:var(--fz-xxs);text-transform:uppercase;letter-spacing:.1em}.cmdk__item[aria-selected=true] .kind{color:color-mix(in oklab,var(--bg) 70%,transparent)}.cmdk__foot{border-top:1px solid var(--ink-rule);padding:6px 12px;display:flex;gap:16px;font-family:var(--f-mono);font-size:var(--fz-xxs);color:var(--ink-soft)}.cmdk__foot kbd{font-family:var(--f-mono);font-size:10px;border:1px solid var(--ink-rule);padding:1px 4px;border-radius:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(hover:none){.hov:hover{transform:none;box-shadow:none}.post-row:hover,.blog-row:hover{background:transparent}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:880px){.nav__brand{padding-right:12px;margin-right:6px}.nav__links .navbtn{padding:8px 6px}.nav__cmd,.nav__links .hk{display:none}.foot__inner{grid-template-columns:1fr 1fr}}@media(max-width:560px){:root{--gutter: 16px}.nav__inner{height:52px;gap:2px}.nav__brand span span{display:none}.nav__brand{padding-right:8px;margin-right:4px}.nav__links{gap:0}.nav__links .navbtn{padding:10px 8px;font-size:var(--fz-xs)}.nav__links .navbtn--secondary{display:none}.nav__theme{width:36px;height:32px}.btn{padding:12px 14px}.filterbar button{padding:8px 10px}.section-head{grid-template-columns:1fr;gap:8px;padding:18px 0 12px}.section-head h2{font-size:clamp(32px,9vw,44px)}.foot{margin-top:56px;padding:24px 0 40px}.foot__inner{grid-template-columns:1fr;gap:18px}.win__body{padding:14px}}
