:root{--bg:#eef4ff;--surface:#fff;--text:#0a1a44;--muted:#4a5f8a;--line:#c6d6f7;--accent:#1550f0;--accent2:#0a8fb8;--accent-ink:#fff;--code-bg:#0a1f4d;--code-text:#cfe0ff;--navbg:#eef4ffd1;--glow:#1550f024;--spot:#1550f01a;--display:"Syne","Instrument Sans",system-ui,sans-serif;--sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#050b1f;--surface:#0a1734;--text:#e8f0ff;--muted:#8fa6d8;--line:#17306a;--accent:#4d86ff;--accent2:#38e1ff;--accent-ink:#04102e;--code-bg:#030815;--code-text:#bcd4ff;--navbg:#050b1fcc;--glow:#3d7bff3d;--spot:#4d86ff29}}:root[data-theme=dark]{--bg:#050b1f;--surface:#0a1734;--text:#e8f0ff;--muted:#8fa6d8;--line:#17306a;--accent:#4d86ff;--accent2:#38e1ff;--accent-ink:#04102e;--code-bg:#030815;--code-text:#bcd4ff;--navbg:#050b1fcc;--glow:#3d7bff3d;--spot:#4d86ff29}html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 64px);scroll-behavior:smooth}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}a{color:inherit}:focus-visible{outline:2px solid var(--accent2);outline-offset:3px;border-radius:4px}.wrap{max-width:980px;margin:0 auto;padding:0 22px;position:relative}header.top{top:env(safe-area-inset-top,0px);z-index:10;background:var(--navbg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky}header.top .wrap{justify-content:space-between;align-items:center;gap:16px;height:58px;display:flex}.brand{font-family:var(--mono);font-size:14px;font-weight:500;text-decoration:none}.brand i{background:var(--accent2);vertical-align:-2px;width:8px;height:15px;margin-left:4px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}nav{align-items:center;gap:22px;font-size:15px;display:flex}nav a{color:var(--muted);text-decoration:none}nav a:hover{color:var(--accent2)}.icon-btn{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 14px;font-size:14px}.icon-btn:hover{border-color:var(--accent2)}.hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse 65% 60% at 15% 35%,var(--glow),transparent 70%);pointer-events:none;position:absolute;inset:0}#hex{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 35%,#0000 100%);mask-image:linear-gradient(#000 35%,#0000 100%)}.hero .wrap{padding-top:96px;padding-bottom:88px}h1{font-family:var(--display);letter-spacing:-.035em;max-width:13ch;margin:0 0 24px;font-size:clamp(40px,9.5vw,92px);font-weight:800;line-height:1}.lead{color:var(--muted);max-width:52ch;margin:0 0 32px;font-size:19px}.cta{flex-wrap:wrap;gap:12px;display:flex}.btn{font:inherit;border:1px solid var(--accent);cursor:pointer;border-radius:10px;padding:11px 22px;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.btn.pri{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 30px -10px var(--accent)}.btn.sec{color:var(--text);border-color:var(--line);background:0 0}.btn.sec:hover{border-color:var(--accent2)}section{padding:64px 0 24px}.head{align-items:baseline;gap:14px;margin:0 0 8px;display:flex}h2{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(28px,5vw,40px);font-weight:800;line-height:1.1}.count{font-family:var(--mono);color:var(--accent2);font-size:13px}.sub{color:var(--muted);max-width:58ch;margin:0 0 26px}.chips{flex-wrap:wrap;gap:8px;margin:0 0 24px;display:flex}.chip{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 15px;font-size:14px}.chip:hover{border-color:var(--accent2)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.grid{grid-template-columns:repeat(2,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:22px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.card[hidden]{display:none}.card.feat{grid-column:1/-1}.card:before{content:"";background:radial-gradient(260px circle at var(--mx,50%) var(--my,-60%),var(--spot),transparent 70%);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.card:hover{border-color:var(--accent)}.card:hover:before{opacity:1}.card>*{position:relative}.top-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.tag{font-family:var(--mono);color:var(--accent2);font-size:13px;font-weight:500}.pips{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}.pips i{background:var(--line);border-radius:2px;width:16px;height:4px}.pips i.on{background:var(--accent)}.pips span{margin-left:6px}.card h3{font-family:var(--display);letter-spacing:-.01em;margin:2px 0 0;font-size:21px;font-weight:700;line-height:1.2}.card.feat h3{font-size:clamp(24px,4vw,32px)}.card h3 a{text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0}.card p{color:var(--muted);margin:0;font-size:16px}pre{background:var(--code-bg);color:var(--code-text);font-family:var(--mono);border:1px solid var(--line);border-radius:8px;margin:6px 0 0;padding:12px 14px;font-size:13px;line-height:1.55;overflow-x:auto}.k{color:var(--accent2)}.foot{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:auto;padding-top:6px;font-size:13px;display:flex}.empty{color:var(--muted);padding:20px 0}.post{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr auto;align-items:baseline;gap:4px 22px;padding:20px 0;display:grid}.post time{font-family:var(--mono);color:var(--muted);font-size:13px}.post h3{font-family:var(--display);margin:0;font-size:20px;font-weight:700;line-height:1.25}.post h3 a{text-decoration:none}.post h3 a:hover{color:var(--accent2)}.post p{color:var(--muted);grid-column:2;margin:4px 0 0;font-size:16px}.post .tag{grid-area:1/3}.tty{background:var(--code-bg);color:var(--code-text);font-family:var(--mono);border:1px solid var(--line);border-radius:14px;max-width:640px;padding:22px 24px;font-size:14.5px;line-height:1.9}.tty .p{color:var(--accent2)}.tty .o{color:#fff;padding-left:2ch;display:block}.tty a{color:var(--accent2);margin-right:2ch;text-decoration:none}.tty a:hover{text-decoration:underline}footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:64px;padding:26px 0 44px;font-size:14px;display:flex}footer code{font-family:var(--mono);color:var(--accent2)}@media (width<=640px){nav a.hide-sm{display:none}.grid{grid-template-columns:1fr}.hero .wrap{padding-top:64px;padding-bottom:56px}.post{grid-template-columns:1fr}.post p,.post .tag{grid-area:auto/1}}@media (prefers-reduced-motion:reduce){.brand i{animation:none}html{scroll-behavior:auto}}.article{max-width:760px;padding-top:56px;padding-bottom:24px}.back{font-family:var(--mono);color:var(--muted);font-size:13px;text-decoration:none}.back:hover{color:var(--accent2)}h1.atitle{letter-spacing:-.03em;max-width:none;margin:14px 0 12px;font-size:clamp(30px,6vw,52px)}.ameta{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0 0 36px;font-size:14px;display:flex}.prose{font-size:18px;line-height:1.75}.prose h2{margin:44px 0 12px;font-size:28px}.prose h3{font-family:var(--display);margin:32px 0 8px;font-size:21px}.prose p,.prose ul,.prose ol{margin:0 0 18px}.prose a{color:var(--accent2)}.prose code{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.88em}.prose pre{margin:0 0 22px;padding:16px 18px;font-size:14px}.prose pre code{background:0 0;border:0;padding:0}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:0 0 18px;padding-left:16px}.prose img{border-radius:8px;max-width:100%}.prose table{border-collapse:collapse;margin:0 0 18px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:6px 12px}.katex-display{overflow:auto hidden}
