:root{--color-bg:#fff;--color-text:#222;--color-text-secondary:#555;--color-link:#0066cc;--color-link-hover:#004499;--color-link-hover-bg:#f0f6ff;--color-border:#e0e0e0;--color-code-bg:#f5f5f5;--font-family-base:-apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-family-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-size-base:16px;--line-height-base:1.8;--max-width:720px;--spacing-unit:1rem}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%}body{font-family:var(--font-family-base);font-size:1rem;line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.4;margin-bottom:var(--spacing-unit)}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{margin-bottom:var(--spacing-unit)}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-unit)}.site-header{padding:var(--spacing-unit)0;border-bottom:1px solid var(--color-border)}.site-header .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-unit)}.site-logo{font-size:1.25rem;font-weight:600;color:var(--color-text)}.site-logo:hover{color:var(--color-text);text-decoration:none}.main-nav ul{display:flex;list-style:none;gap:calc(var(--spacing-unit) * 1.5)}.main-nav a{color:var(--color-text-secondary)}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--color-text)}main{flex:1;padding:calc(var(--spacing-unit) * 2)var(--spacing-unit);max-width:var(--max-width);margin:0 auto;width:100%}.home .site-description{color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * 2)}.recent-posts h2{border-bottom:1px solid var(--color-border);padding-bottom:calc(var(--spacing-unit) * .5);margin-bottom:calc(var(--spacing-unit) * 1.5)}.post-list{list-style:none}.post-list-actions{margin-top:calc(var(--spacing-unit) * 1.5);text-align:center}.button{display:inline-block;padding:.75rem 1.25rem;border:1px solid var(--color-link);border-radius:6px;color:var(--color-link);font-weight:600;text-decoration:none;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.button:hover{background-color:var(--color-link);color:var(--color-bg);text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,8%)}.post-item{position:relative;padding:var(--spacing-unit);margin-bottom:var(--spacing-unit);border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.post-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,8%);border-color:var(--color-link)}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.post-article{display:flex;gap:var(--spacing-unit);align-items:flex-start}.post-thumbnail{flex:0 0 200px;max-width:200px}.post-thumbnail img{width:100%;height:auto;display:block;border-radius:4px}.post-content{flex:1}.post-item h2,.post-item h3{margin-bottom:calc(var(--spacing-unit) * .5);margin-top:0}.post-item h2 a,.post-item h3 a{color:var(--color-text)}.post-item h2 a:hover,.post-item h3 a:hover{color:var(--color-link)}.post-meta{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .5)}.post-meta .categories a{margin-left:.5rem}.post-summary{color:var(--color-text-secondary);margin-bottom:0;font-size:.9375rem}@media(max-width:480px){.post-article{flex-direction:column}.post-thumbnail{flex:none;width:100%;max-width:none}}.single .article-header{margin-bottom:calc(var(--spacing-unit) * 2)}.single .article-header h1{margin-bottom:calc(var(--spacing-unit) * .5)}.article-meta{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:calc(var(--spacing-unit) * .5)}.article-meta .updated{margin-left:.5rem}.article-categories .category{display:inline-block;font-size:.875rem;color:var(--color-text-secondary);background-color:var(--color-code-bg);padding:.125rem .5rem;border-radius:3px;margin-right:.25rem}.article-content{margin-bottom:calc(var(--spacing-unit) * 2)}.article-content h2{margin-top:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit) * .5);border-bottom:1px solid var(--color-border)}.article-content h3{margin-top:calc(var(--spacing-unit) * 1.5)}.article-content ul,.article-content ol{margin-bottom:var(--spacing-unit);padding-left:1.5rem}.article-content li{margin-bottom:calc(var(--spacing-unit) * .25)}.article-content blockquote{margin:var(--spacing-unit)0;padding:var(--spacing-unit);padding-left:calc(var(--spacing-unit) * 1.5);border-left:4px solid var(--color-border);background-color:var(--color-code-bg);color:var(--color-text-secondary)}.article-content pre{margin:var(--spacing-unit)0;padding:var(--spacing-unit);background-color:#272822;border-radius:4px;overflow-x:auto}.article-content code{font-family:var(--font-family-mono);font-size:.875rem}.article-content p code{background-color:var(--color-code-bg);padding:.125rem .375rem;border-radius:3px}.article-content img{max-width:100%;height:auto;display:block;margin:var(--spacing-unit)0}.article-content table{width:100%;border-collapse:collapse;margin:var(--spacing-unit)0}.article-content th,.article-content td{padding:calc(var(--spacing-unit) * .5);border:1px solid var(--color-border);text-align:left}.article-content th{background-color:var(--color-code-bg);font-weight:600}.article-footer{padding-top:var(--spacing-unit);border-top:1px solid var(--color-border)}.article-tags .tag{display:inline-block;font-size:.875rem;color:var(--color-text-secondary);margin-right:.5rem}.article-tags .tag:hover{color:var(--color-link)}.taxonomy-list h1,.taxonomy-term h1{margin-bottom:calc(var(--spacing-unit) * 1.5)}.taxonomy-terms{list-style:none;display:flex;flex-wrap:wrap;gap:var(--spacing-unit)}.taxonomy-terms li a{display:inline-block;padding:calc(var(--spacing-unit) * .5)var(--spacing-unit);background-color:var(--color-code-bg);border-radius:4px;color:var(--color-text)}.taxonomy-terms li a:hover{background-color:var(--color-border);text-decoration:none}.taxonomy-terms .count{color:var(--color-text-secondary);font-size:.875rem;margin-left:.25rem}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-unit);margin-top:calc(var(--spacing-unit) * 2);padding-top:var(--spacing-unit);border-top:1px solid var(--color-border)}.pagination a{display:inline-flex;align-items:center;padding:calc(var(--spacing-unit) * .35)calc(var(--spacing-unit) * .75);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);background-color:var(--color-code-bg);font-weight:600;text-decoration:none;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.pagination a:hover{color:var(--color-link);border-color:var(--color-link);background-color:var(--color-link-hover-bg);text-decoration:none}.pagination .page-info{color:var(--color-text-secondary);font-size:.875rem}.site-footer{padding:var(--spacing-unit)0;border-top:1px solid var(--color-border);margin-top:auto}.site-footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-unit)}.copyright{font-size:.875rem;color:var(--color-text-secondary)}.footer-nav ul{display:flex;list-style:none;gap:var(--spacing-unit)}.footer-nav a{font-size:.875rem;color:var(--color-text-secondary)}.list h1{margin-bottom:calc(var(--spacing-unit) * 1.5)}.list-content{margin-bottom:calc(var(--spacing-unit) * 2)}@media(max-width:600px){:root{--font-size-base:15px}.site-header .container{flex-direction:column;align-items:flex-start}.main-nav ul{gap:var(--spacing-unit);flex-wrap:wrap}.site-footer .container{flex-direction:column;align-items:flex-start}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}}@media print{.site-header,.site-footer,.pagination{display:none}body{font-size:12pt;color:#000;background:#fff}a{color:#000;text-decoration:underline}.article-content pre{white-space:pre-wrap;border:1px solid #ccc;background:#fff}}