:root{--bg:#ffffff;--gutter:#f0f0f0;--text:#222222;--muted:#666666;--accent:#0066cc;--border:#dddddd}[data-theme=dark]{--bg:#1a1a1a;--gutter:#111111;--text:#dddddd;--muted:#999999;--accent:#4da6ff;--border:#333333}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{background:var(--gutter);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-size:1.1rem;line-height:1.7;transition:background .2s,color .2s;text-align:justify}.container{max-width:860px;margin:0 auto;padding:2rem 1.5rem;background:var(--bg);box-shadow:0 0 12px rgba(0,0,0,6%)}header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--border)}header a{color:var(--text);text-decoration:none;font-weight:700;font-size:1.2rem}nav a{color:var(--muted);text-decoration:none;margin-left:1.5rem;font-size:.95rem}nav a:hover{color:var(--accent)}#theme-toggle{background:0 0;border:1px solid var(--border);color:var(--muted);cursor:pointer;padding:.25rem .6rem;border-radius:4px;font-size:.9rem;margin-left:1.5rem}#theme-toggle:hover{color:var(--text);border-color:var(--text)}footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}h1{font-size:1.8rem;margin-bottom:.5rem;line-height:1.3}h2{font-size:1.3rem;margin-bottom:.5rem;line-height:1.3}p{margin-bottom:1rem}a{color:var(--accent)}.post-list{list-style:none}.post-list li{margin-bottom:2.5rem}.post-list .post-title{font-size:1.3rem;font-weight:700}.post-list .post-title a{color:var(--text);text-decoration:none}.post-list .post-title a:hover{color:var(--accent)}.post-meta{color:var(--muted);font-size:.85rem;margin-bottom:.4rem}.post-excerpt{color:var(--text);font-size:.95rem}.read-more{font-size:.85rem;margin-left:.5rem}.post-content p{margin-top:1.5rem;margin-bottom:1.2rem}.post-content li{margin-left:1.2rem}.post-tags{margin-top:2rem;font-size:.85rem;color:var(--muted)}.post-tags a{color:var(--muted);text-decoration:none;border:1px solid var(--border);padding:.1rem .4rem;border-radius:3px;margin-right:.3rem}.post-tags a:hover{color:var(--accent);border-color:var(--accent)}.site-brand{display:flex;flex-direction:column;gap:.1rem}.site-tagline{color:var(--muted);font-size:.8rem;font-weight:400;font-style:italic}.site-title-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text);font-weight:700;font-size:1.2rem}.site-logo{width:100px;height:100px;flex-shrink:0}