:root{--bg: #ffffff;--bg-alt: #f5f5f5;--border: #e0e0e0;--text: #333333;--text-heading: #222222;--text-muted: #999999;--accent: #00bcd4;--accent-hover: #0097a7;--link: #00bcd4;--cat-literature: #e67e22;--cat-photography: #27ae60;--cat-gamedev: #8e44ad;--cat-tech: #00bcd4;--font-heading: "Noto Serif SC", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.75rem;--leading-tight: 1.4;--leading-normal: 1.8;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--max-content: 960px;--header-h: auto;--radius: 4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,picture,video,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);background:var(--bg)}h1,h2,h3,h4,h5,h6{color:var(--text-heading);line-height:var(--leading-tight);font-weight:700}h1.post-title,h2.post-title{color:var(--accent);font-family:var(--font-heading)}a{color:var(--link);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}p{margin-bottom:1em}blockquote{border-left:3px solid var(--accent);background:var(--bg-alt);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;color:var(--text);font-style:italic}blockquote p:last-child{margin-bottom:0}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-alt);padding:.15em .35em;border-radius:3px}pre{background:var(--bg-alt);border:1px solid var(--border);padding:var(--space-4);margin:var(--space-4) 0;border-radius:var(--radius);overflow-x:auto;line-height:1.6}pre code{background:none;padding:0;font-size:var(--text-sm)}hr{border:none;border-top:1px solid var(--border);margin:var(--space-8) 0}::selection{background:#00bcd433}.container{max-width:var(--max-content);margin:0 auto;padding:0 var(--space-6)}.page{display:flex;flex-direction:column;min-height:100vh}.page>main{flex:1;padding-bottom:var(--space-12)}.site-header{border-bottom:1px solid var(--border);padding:var(--space-4) 0}.header-inner{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.header-left{display:flex;align-items:baseline;gap:var(--space-8);flex-wrap:wrap}.site-logo{font-family:var(--font-heading);font-size:1.6rem;font-weight:900;color:var(--text-heading);letter-spacing:-.02em}.site-logo:hover{text-decoration:none;color:var(--text-heading)}.site-tagline{color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.site-nav{display:flex;gap:var(--space-6);align-items:baseline}.site-nav a{color:var(--text-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.site-nav a:hover{color:var(--accent);text-decoration:none}.header-right{display:flex;gap:var(--space-4)}.header-right a{color:var(--text-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.header-right a:hover{color:var(--accent);text-decoration:none}.menu-toggle{display:none}@media(max-width:640px){.header-inner{flex-direction:column;gap:var(--space-3)}.header-left{flex-direction:column;gap:var(--space-1)}.site-nav,.header-right{gap:var(--space-4)}}.site-footer{border-top:1px solid var(--border);padding:var(--space-6) 0;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.site-footer a{color:var(--text-muted)}.site-footer a:hover{color:var(--accent);text-decoration:none}.footer-links{margin-top:var(--space-2)}.footer-links a{margin:0 var(--space-2)}.intro{padding:var(--space-6) 0;color:var(--text);font-size:var(--text-base);line-height:var(--leading-normal);border-bottom:1px solid var(--border);margin-bottom:var(--space-8)}.intro a{color:var(--link)}.post-list{list-style:none}.post-list-item{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.post-list-item:last-child{border-bottom:none}.post-list-date{color:var(--text-muted);font-size:var(--text-sm);font-family:var(--font-mono);flex-shrink:0;width:6.5em}.post-list-title{flex:1;color:var(--text);font-size:var(--text-base)}.post-list-title:hover{color:var(--accent);text-decoration:none}.post-list-cat{color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0}.tag{display:inline-block;font-size:var(--text-xs);color:var(--text-muted);margin-left:var(--space-2)}.tag:before{content:"· "}.archive-year{margin-bottom:var(--space-6)}.archive-year h2{font-size:var(--text-xl);color:var(--accent);margin-bottom:var(--space-3);font-weight:700}.archive-list{list-style:none}.archive-item{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-1) 0}.archive-date{color:var(--text-muted);font-size:var(--text-sm);font-family:var(--font-mono);flex-shrink:0;width:5em}.archive-title{flex:1}.archive-title a{color:var(--text)}.archive-title a:hover{color:var(--accent)}.archive-cat{color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0}.not-found{max-width:42rem;margin:0 auto;padding:var(--space-16) 0 var(--space-12);text-align:center}.not-found-code{margin-bottom:var(--space-4);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.18em}.not-found h1{margin-bottom:var(--space-4);color:var(--text-heading);font-family:var(--font-heading);font-size:clamp(2.5rem,8vw,4.5rem);line-height:1}.not-found p{margin-bottom:var(--space-3);color:var(--text-muted);font-size:var(--text-lg)}.not-found-lead{color:var(--text)}.not-found-actions{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-8)}.not-found-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:10rem;padding:.8rem 1.2rem;border:1px solid var(--border);color:var(--text-heading);font-size:var(--text-xs);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.not-found-actions a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
