:root{--bg: #e8eef4;--bg-header: #354255;--text: #1a202c;--text-secondary: #64748b;--link: #354255;--link-hover: #4a5e7a;--code-bg: #f1f5f9;--border: #cbd5e1;--font-mono: "Courier New", Consolas, Monaco, monospace;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}body{font-family:var(--font-sans);font-size:14px;line-height:1.6;background:var(--bg);color:var(--text);margin:0;padding:0}.container{max-width:85%;width:1200px;margin:0 auto;padding:0}@media(max-width:768px){.container{max-width:100%;padding:0 8px}}header{background:var(--bg-header);padding:4px 0;margin-bottom:10px}header .container{display:flex;align-items:center;gap:12px}header .logo{font-weight:700;font-size:16px;color:#fff;text-decoration:none;padding:4px 8px;border:2px solid rgba(255,255,255,.3);border-radius:4px}header .logo:hover{background:#ffffff1a;border-color:#ffffff80}header nav{display:flex;gap:10px;align-items:center}header nav a{color:#ffffffe6;text-decoration:none;font-size:13px}header nav a:hover{color:#fff;text-decoration:underline}header nav .separator{color:#ffffff80}main{padding:20px 0}.post-list{list-style:none;padding:0;margin:0}.post-list li{padding:5px 0}.post-list .post-item{display:flex;align-items:baseline;gap:8px}.post-list .rank{color:var(--text-secondary);min-width:25px;text-align:right}.post-list .title{font-size:13px}.post-list .title a{color:var(--link);text-decoration:none}.post-list .title a:hover{text-decoration:underline}.post-list .title a:visited{color:var(--text-secondary)}.post-list .meta{font-size:11px;color:var(--text-secondary);padding-left:33px}.post-list .meta a{color:var(--text-secondary);text-decoration:none}.post-list .meta a:hover{text-decoration:underline}article{max-width:800px}article h1{font-size:18px;font-weight:400;margin:0 0 5px}article .post-meta{font-size:11px;color:var(--text-secondary);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border)}.prose{font-size:14px;line-height:1.7}.prose h2{font-size:16px;font-weight:700;margin:25px 0 10px;padding-top:10px}.prose h3{font-size:14px;font-weight:700;margin:20px 0 8px}.prose h4{font-size:13px;font-weight:700;margin:15px 0 8px}.prose p{margin:0 0 15px}.prose a{color:var(--link)}.prose a:hover{color:var(--link-hover)}.prose ul,.prose ol{margin:0 0 15px;padding-left:25px}.prose li{margin-bottom:5px}.prose blockquote{margin:15px 0;padding:10px 15px;background:var(--code-bg);border-left:3px solid var(--bg-header);font-style:italic}.prose img{max-width:100%;height:auto;margin:15px 0}.prose code{font-family:var(--font-mono);font-size:12px;background:var(--code-bg);padding:2px 5px;border-radius:2px}.prose pre{font-family:var(--font-mono);font-size:12px;background:#1e1e1e;color:#d4d4d4;padding:15px;overflow-x:auto;margin:15px 0;border-radius:4px;line-height:1.5}.prose pre code{background:none;padding:0;color:inherit}.astro-code{background:#1e1e1e!important;padding:15px!important;border-radius:4px;font-size:12px;line-height:1.5}.prose table{width:100%;border-collapse:collapse;margin:15px 0;font-size:12px}.prose th,.prose td{border:1px solid var(--border);padding:8px;text-align:left}.prose th{background:var(--code-bg);font-weight:700}footer{margin-top:30px;padding:15px 0;border-top:2px solid var(--bg-header);font-size:11px;color:var(--text-secondary);text-align:center}footer a{color:var(--text-secondary);text-decoration:none}footer a:hover{text-decoration:underline}.back-link{margin-bottom:15px}.back-link a{color:var(--text-secondary);text-decoration:none;font-size:12px}.back-link a:hover{text-decoration:underline}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.tag{font-size:11px;color:var(--text-secondary);background:var(--code-bg);padding:2px 8px;border-radius:2px;text-decoration:none}.tag:hover{background:var(--border)}.reading-time{font-size:11px;color:var(--text-secondary)}.page-title{font-size:16px;font-weight:700;margin-bottom:15px;padding-bottom:5px;border-bottom:1px solid var(--border)}.text-muted{color:var(--text-secondary)}.text-small{font-size:11px}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}@media print{header,footer,.back-link{display:none}body{background:#fff}.prose pre{white-space:pre-wrap;word-wrap:break-word}}
