.blog-nav{z-index:100;background:color-mix(in srgb, var(--bg) 85%, transparent);backdrop-filter:blur(16px)saturate(1.3);border-bottom:1px solid var(--border);align-items:center;gap:1rem;height:56px;padding:0 1.5rem;display:flex;position:fixed;inset:0 0 auto}.blog-nav a{color:var(--text);text-decoration:none}.blog-nav-home{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.blog-nav-home .chev{color:var(--primary)}.blog-nav-tag{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.18em;color:var(--text-dim);border-left:1px solid var(--border);padding-left:1rem}.blog-nav-spacer{flex:1}.blog-nav-link{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.blog-nav-link:hover{color:var(--primary)}.blog-progress{background:var(--primary);z-index:101;width:0%;height:3px;transition:width .1s linear;position:fixed;top:56px;left:0}.blog-page{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);padding:96px 1.5rem 80px}.blog-wrap{max-width:940px;margin:0 auto}.blog-wrap.narrow{max-width:720px}.blog-masthead{margin-bottom:2.5rem}.blog-kicker{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.22em;color:var(--primary);margin-bottom:.75rem}.blog-masthead h1{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:.75rem;font-size:clamp(2rem,6vw,3.4rem);font-weight:800;line-height:1.02}.blog-masthead p{color:var(--text-muted);font-size:var(--font-size-lg);max-width:46ch}.blog-rule{border:0;border-top:1px solid var(--border);margin:1.75rem 0}.blog-featured{color:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-fast);margin-bottom:2.5rem;padding:2rem;text-decoration:none;display:block;position:relative;overflow:hidden}.blog-featured:hover{box-shadow:var(--shadow-lg);border-color:var(--border-hover);transform:translateY(-4px)}.blog-featured .feat-label{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--primary);margin-bottom:1rem;display:inline-block}.blog-featured h2{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(1.5rem,3.6vw,2.4rem);font-weight:800;line-height:1.1}.blog-featured .feat-desc{color:var(--text-muted);font-size:var(--font-size-lg);max-width:60ch;margin-bottom:1.25rem;line-height:1.55}.blog-read{color:var(--primary);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.blog-list{flex-direction:column;display:flex}.blog-entry{color:inherit;border-top:1px solid var(--border);transition:padding var(--transition-fast), background var(--transition-fast);grid-template-columns:auto 1fr auto;align-items:baseline;gap:1.25rem;padding:1.5rem .5rem;text-decoration:none;display:grid}.blog-entry:last-child{border-bottom:1px solid var(--border)}.blog-entry:hover{background:var(--primary-muted);padding-left:1rem}.blog-entry-num{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-dim);font-variant-numeric:tabular-nums}.blog-entry-main{min-width:0}.blog-entry-title{font-family:var(--font-display);font-size:var(--font-size-xl);letter-spacing:-.01em;margin-bottom:.35rem;font-weight:700}.blog-entry:hover .blog-entry-title{color:var(--primary)}.blog-entry-desc{color:var(--text-muted);font-size:var(--font-size-base);margin-bottom:.6rem;line-height:1.5}.blog-entry-tags{flex-wrap:wrap;gap:.4rem;display:flex}.blog-tag{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--primary);background:var(--primary-muted);border-radius:var(--radius-full);padding:.15rem .55rem}.blog-entry-meta{text-align:right;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-dim);white-space:nowrap;line-height:1.6}.blog-entry-meta .dot{opacity:.5}.blog-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:4rem 1rem}.blog-post-head{margin-bottom:2.25rem}.blog-post-meta{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.1rem;display:flex}.blog-post-meta .accent{color:var(--primary)}.blog-post-head h1{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:1rem;font-size:clamp(2rem,5.5vw,3.2rem);font-weight:800;line-height:1.05}.blog-post-lead{color:var(--text-muted);font-size:var(--font-size-lg);margin-bottom:1.25rem;line-height:1.55}.blog-post-tags{flex-wrap:wrap;gap:.5rem;display:flex}.blog-prose{color:var(--text);font-size:1.05rem;line-height:1.8}.blog-prose>*+*{margin-top:1.15rem}.blog-prose h2,.blog-prose h3{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;font-weight:700;line-height:1.2}.blog-prose h2{border-bottom:1px solid var(--border);margin-top:2.4rem;padding-bottom:.4rem;font-size:1.6rem}.blog-prose h3{margin-top:1.8rem;font-size:1.25rem}.blog-prose a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.blog-prose ul,.blog-prose ol{padding-left:1.4rem}.blog-prose li{margin:.35rem 0}.blog-prose li::marker{color:var(--primary)}.blog-prose code{font-family:var(--font-mono);background:var(--bg-sunken,var(--bg-elevated));color:var(--primary);border-radius:var(--radius-sm);border:1px solid var(--border);padding:.12rem .4rem;font-size:.86em}.blog-prose pre{background:var(--bg-sunken,var(--bg-elevated));border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.25rem;font-size:.9rem;line-height:1.6;overflow-x:auto}.blog-prose pre code{color:var(--text);font-size:inherit;background:0 0;border:none;padding:0}.blog-prose blockquote{border-left:3px solid var(--primary);background:var(--primary-muted);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-muted);margin-left:0;padding:.8rem 1.25rem;font-style:italic}.blog-prose img{border-radius:var(--radius-md);border:1px solid var(--border)}.blog-prose hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.blog-post-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:flex}.blog-back{color:var(--primary);align-items:center;gap:.4rem;font-weight:600;text-decoration:none;display:inline-flex}.blog-sign{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-dim)}@media (width<=640px){.blog-page{padding:84px 1rem 56px}.blog-featured{padding:1.5rem}.blog-entry{grid-template-columns:1fr;gap:.5rem}.blog-entry-meta{text-align:left}.blog-nav-tag{display:none}}html[data-theme=modern] .blog-featured,html[data-theme=modern] .blog-nav{border-radius:0}html[data-theme=modern] .blog-kicker,html[data-theme=modern] .blog-featured .feat-label{color:var(--accent)}html[data-theme=modern] .blog-tag{border-radius:0}html[data-theme=terminal] .blog-kicker:before{content:"$ ls ~/blog/"}html[data-theme=terminal] .blog-kicker{color:var(--success)}html[data-theme=terminal] .blog-entry-title:before{content:"> ";color:var(--success)}html[data-theme=terminal] .blog-featured .feat-label:before{content:"# "}html[data-theme=terminal] .blog-post-meta:before{content:"cat";color:var(--success)}html[data-theme=terminal] .blog-read:before{content:"./"}html[data-theme=snackers] .blog-featured{border:2px solid var(--border-hover);box-shadow:var(--shadow-sm)}html[data-theme=snackers] .blog-featured:hover{transform:translateY(-4px)rotate(-1deg)}html[data-theme=snackers] .blog-entry:hover{background:var(--primary-muted)}html[data-theme=snackers] .blog-tag{border:1px solid var(--border-hover)}html[data-theme=win11] .blog-featured,html[data-theme=macos26] .blog-featured{backdrop-filter:blur(20px)saturate(1.4)}html[data-theme=win95] .blog-nav{background:var(--win-face);border-bottom:1px solid var(--win-shadow);border-top:2px solid var(--win-hi);backdrop-filter:none}html[data-theme=win95] .blog-featured,html[data-theme=win95] .blog-entry{background:var(--win-face);color:var(--text);border:2px solid;border-color:var(--bevel-out);border-radius:0;margin-bottom:12px;padding:12px 14px;box-shadow:4px 4px #00000059}html[data-theme=win95] .blog-entry{display:block}html[data-theme=win95] .blog-entry:hover{background:var(--win-face);padding-left:14px;transform:none}html[data-theme=win95] .blog-featured:hover{transform:none;box-shadow:4px 4px #00000059}html[data-theme=win95] .blog-tag{box-shadow:var(--bevel-in);background:var(--win-face);color:var(--text);border-radius:0}html[data-theme=win95] .blog-prose pre,html[data-theme=win95] .blog-prose code{box-shadow:var(--bevel-in);background:var(--field);border:none}html[data-theme=macclassic] .blog-nav{background:var(--paper);border-bottom:1px solid var(--ink);backdrop-filter:none}html[data-theme=macclassic] .blog-featured,html[data-theme=macclassic] .blog-entry{background:var(--paper);color:var(--ink);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:0;margin-bottom:14px;padding:14px}html[data-theme=macclassic] .blog-entry{display:block}html[data-theme=macclassic] .blog-entry:hover,html[data-theme=macclassic] .blog-featured:hover{box-shadow:3px 3px 0 var(--ink);background:var(--paper);transform:none}html[data-theme=macclassic] .blog-tag{border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0}html[data-theme=macclassic] .blog-kicker,html[data-theme=macclassic] .blog-featured .feat-label,html[data-theme=macclassic] .blog-entry:hover .blog-entry-title{color:var(--ink)}.blog-footer{border-top:1px solid var(--border);background:var(--bg-elevated,var(--bg-card));color:var(--text);margin-top:2rem;padding:2.5rem 1.5rem}.blog-footer-inner{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;max-width:940px;margin:0 auto;display:flex}.blog-footer-home{font-family:var(--font-display);color:var(--text);align-items:center;gap:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.blog-footer-home .chev{color:var(--primary)}.blog-footer-links{flex-wrap:wrap;gap:1.25rem;display:flex}.blog-footer-links a{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);text-decoration:none}.blog-footer-links a:hover{color:var(--primary)}.blog-footer-spacer{flex:1}.blog-footer-copy{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-dim)}html[data-theme=win95] .blog-footer{background:var(--win-face);border-top:2px solid var(--win-hi)}html[data-theme=macclassic] .blog-footer{background:var(--paper);border-top:1px solid var(--ink)}@media (width<=640px){.blog-footer-spacer{display:none}.blog-footer-inner{gap:.75rem}}.blog-search{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);align-items:center;gap:.6rem;margin-top:1.5rem;padding:.7rem 1.1rem;display:flex}.blog-search:focus-within{border-color:var(--primary)}.blog-search-ico{color:var(--text-dim);font-size:1.15rem}.blog-search input{color:var(--text);font-family:var(--font-body);font-size:var(--font-size-base);background:0 0;border:none;outline:none;flex:1}.blog-search-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:.85rem}.blog-search-clear:hover{color:var(--primary)}.blog-tagbar{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.blog-tagchip{font-family:var(--font-mono);font-size:var(--font-size-xs);border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);padding:.3rem .75rem}.blog-tagchip:hover{border-color:var(--border-hover);color:var(--text)}.blog-tagchip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.blog-tag{cursor:pointer;text-decoration:none}html[data-theme=terminal] .blog-nav{background:color-mix(in srgb, var(--bg) 90%, transparent);border-bottom:1px solid #39c5bb47}html[data-theme=terminal] .blog-nav-home{font-family:var(--font-mono)}html[data-theme=terminal] .blog-nav-home:after{content:":~/blog$";color:var(--success);margin-left:.4rem}html[data-theme=terminal] .blog-search{border-radius:0}html[data-theme=terminal] .blog-search-ico:before{content:""}html[data-theme=terminal] .blog-tagchip{border-radius:0}html[data-theme=snackers] .blog-nav{border-bottom:2px dashed var(--border-hover);background:color-mix(in srgb, var(--bg) 88%, transparent)}html[data-theme=snackers] .blog-nav-home{font-family:var(--font-display);color:var(--primary)}html[data-theme=snackers] .blog-search{border:2px dashed var(--border-hover)}html[data-theme=snackers] .blog-tagchip.active{color:#3a1560}html[data-theme=win11] .blog-nav,html[data-theme=macos26] .blog-nav{backdrop-filter:blur(40px)saturate(1.6)}html[data-theme=macos26] .blog-nav{background:#14142080}html[data-theme=modern] .blog-nav{border-radius:0}html[data-theme=modern] .blog-nav-tag{color:var(--accent)}html[data-theme=modern] .blog-search,html[data-theme=modern] .blog-tagchip{border-radius:0}html[data-theme=classic] .blog-nav-home{color:var(--primary)}html[data-theme=win95] .blog-search{box-shadow:var(--bevel-in);background:var(--field);border:none;border-radius:0}html[data-theme=win95] .blog-search input{color:var(--field-text)}html[data-theme=win95] .blog-tagchip{box-shadow:var(--bevel-out);background:var(--win-face);color:var(--text);border:none;border-radius:0}html[data-theme=win95] .blog-tagchip.active{box-shadow:var(--bevel-in);background:var(--win-face);color:var(--text)}html[data-theme=macclassic] .blog-search{border:1px solid var(--ink);background:var(--paper);border-radius:0;box-shadow:inset 1px 1px #0000004d}html[data-theme=macclassic] .blog-search input{color:var(--ink)}html[data-theme=macclassic] .blog-tagchip{border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0}html[data-theme=macclassic] .blog-tagchip.active{background:var(--ink);color:var(--paper)}.blog-post-sub{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.blog-langs{gap:.3rem;display:flex}.blog-lang{font-family:var(--font-mono);font-size:var(--font-size-xs);border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);padding:.25rem .6rem}.blog-lang:hover{color:var(--text);border-color:var(--border-hover)}.blog-lang.active{background:var(--primary);color:#fff;border-color:var(--primary)}html[data-theme=win95] .blog-lang{box-shadow:var(--bevel-out);background:var(--win-face);color:var(--text);border:none;border-radius:0}html[data-theme=win95] .blog-lang.active{box-shadow:var(--bevel-in)}html[data-theme=macclassic] .blog-lang{border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0}html[data-theme=macclassic] .blog-lang.active{background:var(--ink);color:var(--paper)}
