:root{--bg: #fdfdfc;--bg-subtle: #f5f5f2;--text: #1c1c1a;--text-secondary: #6d6d66;--accent: #0f766e;--accent-weak: #e5f1ef;--border: #e5e5e0;--radius: 10px;--content-width: 42rem}@media(prefers-color-scheme:dark){:root{--bg: #161815;--bg-subtle: #1e211d;--text: #e9e9e4;--text-secondary: #9c9c94;--accent: #3fc1b3;--accent-weak: #12332f;--border: #2d302c}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,BIZ UDPGothic,Meiryo,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.015em;font-feature-settings:"palt"}@media(min-width:640px){body{font-size:17px}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.25em}img{max-width:100%;height:auto;border-radius:var(--radius)}.container{max-width:var(--content-width);margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--border)}.site-header .container{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;padding-top:1.5rem;padding-bottom:1rem}.site-title{font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:.04em}.site-title:hover{text-decoration:none;color:var(--accent)}.site-nav{display:flex;gap:1rem;font-size:.9rem}.site-nav a{color:var(--text-secondary)}.site-nav a:hover{color:var(--accent);text-decoration:none}main.container{padding-top:2.5rem;padding-bottom:4rem;min-height:60vh}.site-footer{border-top:1px solid var(--border);padding:2rem 0 2.5rem;font-size:.82rem;color:var(--text-secondary)}.site-footer .container{display:grid;gap:.75rem}.footer-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.footer-links a{color:var(--text-secondary)}.post-list{display:grid;gap:1.1rem;padding:0;margin:0;list-style:none}.post-card{position:relative;display:grid;gap:.5rem;padding:1.3rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);transition:border-color .15s ease,box-shadow .15s ease}.post-card:hover{border-color:var(--accent);box-shadow:0 2px 10px #0000000f}.post-card__meta{position:relative;z-index:1;display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.category-chip{display:inline-block;padding:.1rem .6rem;border-radius:999px;background:var(--accent-weak);color:var(--accent);font-size:.75rem;font-weight:600}.category-chip:hover{text-decoration:none}.post-card__title{font-size:1.15rem;font-weight:700;line-height:1.6}.post-card__title a{color:var(--text)}.post-card__title a:hover{color:var(--accent);text-decoration:none}.post-card__title a:after{content:"";position:absolute;inset:0}.post-card__description{position:relative;z-index:1;margin:0;font-size:.92rem;color:var(--text-secondary);pointer-events:none}.post-header{display:grid;gap:.6rem;margin-bottom:2rem}.post-header h1{margin:0;font-size:1.65rem;line-height:1.5;letter-spacing:.02em}.prose h2{margin:2.5em 0 1em;padding-bottom:.35em;border-bottom:1px solid var(--border);font-size:1.3rem;line-height:1.6}.prose h3{margin:2em 0 .8em;font-size:1.1rem}.prose p{margin:1.2em 0}.prose ul,.prose ol{padding-left:1.5em}.prose li{margin:.35em 0}.prose blockquote{margin:1.5em 0;padding:.1em 1.2em;border-left:3px solid var(--accent);background:var(--bg-subtle);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-secondary)}.prose code{background:var(--bg-subtle);border:1px solid var(--border);border-radius:4px;padding:.1em .4em;font-size:.88em}.prose pre{padding:1rem 1.2rem;border-radius:var(--radius);overflow-x:auto;line-height:1.6}.prose pre code{background:none;border:none;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:.5em .9em}.prose th{background:var(--bg-subtle)}.post-footer{margin-top:3rem;display:grid;gap:1rem}.share-x{display:inline-block;padding:.5rem 1.1rem;border:1px solid var(--border);border-radius:999px;font-size:.88rem;color:var(--text);width:fit-content}.share-x:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.ad-slot{margin:2rem 0;text-align:center}.page-title{font-size:1.5rem;margin:0 0 1.75rem}
