:root{--bg: #070709;--bg-soft: #121216;--panel: rgba(18, 18, 22, .66);--gold: #f0cf82;--coral: #d15a4f;--coral-dim: #a8443c;--leaf: #8c9a5a;--ink: #e9e7e1;--ink-mid: #b9b6ad;--ink-dim: #8a8884;--ink-faint: #6f6d69;--line-soft: rgba(231, 229, 223, .1);--line: rgba(231, 229, 223, .16);--line-strong: rgba(231, 229, 223, .34);--mono: "Zpix", "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, "PingFang SC", "Microsoft YaHei", monospace;--maxw: 1120px}@font-face{font-family:Zpix;src:url(https://cdn.jsdelivr.net/gh/SolidZORO/zpix-pixel-font@master/website/zpix.woff2) format("woff2");font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--mono);background:var(--bg);color:var(--ink);line-height:1.6;min-height:100svh;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--ink);text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--coral);color:#fff}:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:3px}.space-bg{position:fixed;inset:0;width:100%;height:100%;z-index:-2;image-rendering:pixelated}.space-veil{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#07070985;box-shadow:inset 0 0 240px 60px #000000a8}.nav{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 clamp(16px,4vw,40px);font-size:12px;letter-spacing:.08em;border-bottom:1px solid var(--line);background:#0b0b0dc7;backdrop-filter:blur(6px)}.nav__brand{display:flex;align-items:center;gap:9px;color:var(--ink)}.nav__brand span.dim{color:var(--ink-faint)}.nav__pip{width:7px;height:7px;border-radius:50%;background:var(--coral);box-shadow:0 0 #d15a4f8c;animation:pip 2.6s ease-out infinite}@keyframes pip{0%{box-shadow:0 0 #d15a4f8c}70%{box-shadow:0 0 0 8px #d15a4f00}to{box-shadow:0 0 #d15a4f00}}.nav__links{display:flex;gap:clamp(14px,3vw,28px);color:var(--ink-dim)}.nav__links a{position:relative;transition:color .2s}.nav__links a:hover,.nav__links a[aria-current=page]{color:var(--coral)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,40px)}.section{padding:clamp(64px,12vw,130px) 0}main{position:relative;z-index:1}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;padding:11px 20px;border-radius:3px;border:1px solid var(--line-strong);color:var(--ink);transition:border-color .2s,background .2s,transform .2s}.btn:hover{border-color:var(--coral);transform:translateY(-1px)}.btn--solid{background:var(--coral);border-color:var(--coral);color:#fff}.btn--solid:hover{background:#c44e44}.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin-bottom:14px}h1,h2,h3{line-height:1.18;letter-spacing:-.01em;font-weight:600}.page-title{font-size:clamp(34px,6vw,60px)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(18px,3vw,26px)}.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:3px;background:var(--panel);overflow:hidden;transition:border-color .25s,transform .25s}.card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.card__cover{height:150px;position:relative;image-rendering:pixelated}.card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}.card__title{font-size:18px}.card__summary{color:var(--ink-mid);font-size:14px;line-height:1.55;flex:1}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.tag{font-size:10.5px;letter-spacing:.06em;color:var(--ink-dim);border:1px solid var(--line);border-radius:0;padding:2px 7px}.prose{color:var(--ink-mid);font-size:15.5px;line-height:1.8}.prose>*+*{margin-top:1.05em}.prose h2{color:var(--ink);font-size:22px;margin-top:2em}.prose h3{color:var(--ink);font-size:18px;margin-top:1.6em}.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#f0cf8266}.prose a:hover{text-decoration-color:var(--gold)}.prose ul,.prose ol{padding-left:1.3em}.prose li::marker{color:var(--coral)}.prose code{font-family:var(--mono);font-size:.88em;background:var(--bg-soft);border:1px solid var(--line);border-radius:4px;padding:1px 6px}.prose pre{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:16px 18px;overflow-x:auto}.prose pre code{background:none;border:none;padding:0}.prose blockquote{border-left:2px solid var(--coral);padding-left:1em;color:var(--ink-dim)}.footer{border-top:1px solid var(--line);padding:30px 0;color:var(--ink-dim);font-size:12.5px;letter-spacing:.06em}.footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:var(--ink-dim);font-size:13px;letter-spacing:.05em}.meta a{color:var(--gold)}.back{display:inline-flex;align-items:center;gap:7px;color:var(--ink-dim);font-size:13px;letter-spacing:.08em;margin-bottom:28px;transition:color .2s}.back:hover{color:var(--ink)}.sec-head{display:flex;align-items:center;gap:14px}.sec-head__label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral)}.sec-head__rule{flex:1;height:1px;background:var(--line)}.sec-head__meta{font-size:11px;letter-spacing:.14em;color:var(--ink-faint)}.sec-title{font-size:clamp(26px,4.4vw,46px);font-weight:600;letter-spacing:-.025em;line-height:1.06;margin-top:16px}.sec-title em{font-style:normal;color:var(--coral)}.sec-lede{color:var(--ink-dim);font-size:13.5px;margin-top:10px;max-width:540px}.log{border-bottom:1px solid var(--line)}.log__row{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;padding:17px 4px;border-top:1px solid var(--line);transition:background .2s}.log__row:hover{background:#e7e5df08}.log__no{font-size:12px;color:var(--coral);width:22px;flex:none}.log__date{font-size:11.5px;letter-spacing:.08em;color:var(--ink-dim);width:104px;flex:none}.log__title{font-size:15px;color:var(--ink);letter-spacing:-.005em}.log__fill{flex:1;min-width:24px;border-bottom:1px dotted rgba(231,229,223,.22);transform:translateY(-4px)}.log__read{font-size:11.5px;letter-spacing:.08em;color:var(--ink-faint);flex:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav__pip{animation:none}}
