﻿:root{--fg: #1a1a1a;--fg-muted: #6b6b6b;--bg: #f5f2e8;--bg-subtle: #ece8d8;--accent: #b45309;--accent-soft: #d97706;--border: #d6cfb8;--code-bg: #ece8d8;--grid-dot: rgba(180, 83, 9, 0.12);--font-sans: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--max-width: 720px}[data-theme="dark"]{--fg: #e8dcc0;--fg-muted: #8a8273;--bg: #0f0e0c;--bg-subtle: #1a1814;--accent: #f59e0b;--accent-soft: #fbbf24;--border: #2a261d;--code-bg: #1a1814;--grid-dot: rgba(245, 158, 11, 0.08)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--fg);background-color:var(--bg);background-image:radial-gradient(var(--grid-dot) 1px, transparent 1px);background-size:22px 22px;background-position:0 0;transition:background-color 0.3s ease, color 0.3s ease;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.15s ease, color 0.15s ease}a:hover{color:var(--accent-soft);border-bottom-color:var(--accent-soft)}.container{max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.5rem 4rem;animation:fade-up 0.5s ease-out both}main{animation:fade-up 0.6s ease-out 0.08s both}.site-footer{animation:fade-up 0.6s ease-out 0.16s both}@keyframes fade-up{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cursor{display:inline-block;width:0.6em;height:1em;margin-left:0.15em;background:var(--accent);vertical-align:text-bottom;animation:blink 1.05s steps(1) infinite}@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}.site-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.25rem;margin-bottom:2.5rem;border-bottom:1px dashed var(--border);flex-wrap:wrap;gap:1rem}.site-title a{font-weight:600;font-size:1rem;color:var(--fg);letter-spacing:-0.01em;border-bottom:none}.site-title a::before{content:"$ ";color:var(--accent);font-weight:400}.site-title a:hover{color:var(--accent);border-bottom:none}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.25rem;align-items:center}.site-nav .nav-item a{color:var(--fg-muted);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.08em;border-bottom:none}.site-nav .nav-item a:hover{color:var(--accent);border-bottom:none}.site-nav .nav-icon a{display:inline-flex;align-items:center;line-height:0;color:var(--fg-muted)}.site-nav .nav-icon a:hover{color:var(--accent);text-decoration:none}#theme-toggle{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--fg-muted);padding:0;line-height:1;transition:color 0.15s ease, transform 0.3s ease}#theme-toggle:hover{color:var(--accent);transform:rotate(180deg)}h1,h2,h3,h4{line-height:1.25;margin-top:2.5rem;margin-bottom:1rem;font-weight:600;letter-spacing:-0.015em}main>*>h1:first-child,.post-header h1{margin-top:0;font-size:1.9rem;font-weight:700;letter-spacing:-0.02em}h1{font-size:1.75rem}h2{font-size:1.25rem;color:var(--fg)}h2::before{content:"# ";color:var(--accent);opacity:0.7}h3{font-size:1.05rem}h3::before{content:"## ";color:var(--accent);opacity:0.5}p,ul,ol{margin:0 0 1.15rem}strong{color:var(--fg);font-weight:700}em{color:var(--accent);font-style:normal}code{font-family:var(--font-mono);font-size:0.88em;background:var(--code-bg);padding:0.1em 0.4em;border:1px solid var(--border);border-radius:2px}pre{background:var(--code-bg);padding:1.1rem 1.25rem;border:1px solid var(--border);border-radius:2px;overflow-x:auto;font-size:0.85rem;line-height:1.55;position:relative}pre code{background:none;padding:0;border:none}blockquote{margin:1.25rem 0;padding:0.25rem 0 0.25rem 1.25rem;border-left:3px solid var(--accent);color:var(--fg-muted);font-style:normal;position:relative}hr{border:none;height:1.2rem;margin:2.5rem 0;background-image:repeating-linear-gradient(to right, var(--border) 0 8px, transparent 8px 16px);background-position:center;background-size:100% 1px;background-repeat:no-repeat;position:relative}hr::before,hr::after{content:"+";position:absolute;top:50%;transform:translateY(-50%);color:var(--border);background:var(--bg);padding:0 0.25rem;font-family:var(--font-mono)}hr::before{left:0}hr::after{right:0}img{max-width:100%;height:auto}.post-list{list-style:none;padding:0;margin:1.5rem 0}.post-item{display:flex;gap:1.25rem;padding:0.65rem 0;align-items:baseline;border-bottom:1px dashed transparent;transition:border-color 0.2s ease}.post-item:hover{border-bottom-color:var(--border)}.post-item time{color:var(--fg-muted);font-size:0.8rem;font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:0.06em;min-width:6rem;flex-shrink:0}.post-item a{color:var(--fg);border-bottom:none}.post-item a::before{content:"› ";color:var(--accent);opacity:0.6;transition:opacity 0.15s ease, transform 0.15s ease;display:inline-block}.post-item a:hover{color:var(--accent)}.post-item a:hover::before{opacity:1;transform:translateX(2px)}.post-header{margin-bottom:2.5rem;padding-bottom:1.25rem;border-bottom:1px dashed var(--border)}.post-header h1{margin-top:0}.post-meta{color:var(--fg-muted);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;display:flex;gap:0.75rem;flex-wrap:wrap;align-items:center;margin-top:0.75rem}.tag{color:var(--accent);opacity:0.85}.post-footer{margin-top:3.5rem;padding-top:1.5rem;border-top:1px dashed var(--border);font-size:0.9rem}.post-footer a::before{content:""}.site-footer{margin-top:4rem;padding-top:1.25rem;border-top:1px dashed var(--border);color:var(--fg-muted);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em}.pagination{list-style:none;padding:0;display:flex;gap:0.75rem;justify-content:center;margin:2.5rem 0;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.08em}@media (max-width: 500px){body{font-size:15px}.container{padding:1.75rem 1rem 3rem}main>*>h1:first-child,.post-header h1{font-size:1.55rem}.post-item{flex-direction:column;gap:0.15rem}.post-item time{min-width:0}}
