:root{--bg: #fbfaf8;--surface: #ffffff;--text: #1f2328;--text-soft: #555c66;--text-mute: #8a929c;--line: #e9e6e1;--accent: #b03a4a;--accent-soft: #f3e7e9;--max: 720px;--radius: 14px;--font: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif}*{box-sizing:border-box}html{font-size:18px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:#fbfaf8d9;backdrop-filter:saturate(140%) blur(8px);position:sticky;top:0;z-index:50}.site-header .inner{max-width:var(--max);margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:baseline;gap:10px}.brand .logo{font-weight:800;font-size:1.18rem;letter-spacing:.04em}.brand .logo .accent{color:var(--accent)}.brand .tagline{font-size:.72rem;color:var(--text-mute);letter-spacing:.08em}.nav{display:flex;gap:18px;font-size:.86rem;color:var(--text-soft)}.nav a:hover{color:var(--accent)}.hero{padding:56px 0 28px;text-align:center}.hero h1{font-size:1.7rem;line-height:1.5;margin:0 0 14px;letter-spacing:.03em}.hero p{color:var(--text-soft);font-size:.96rem;margin:0 auto;max-width:30em}.hero p .ph{white-space:nowrap}.post-list{padding:24px 0 64px;display:grid;gap:8px}.section-label{font-size:.78rem;letter-spacing:.14em;color:var(--text-mute);text-transform:uppercase;margin:18px 0 6px;font-weight:700}.card{display:grid;grid-template-columns:200px 1fr;gap:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px -16px #1f232859;border-color:#ddd6cf}.card .thumb{width:200px;height:133px;border-radius:9px;overflow:hidden;background:var(--accent-soft)}.card .thumb img{width:100%;height:100%;object-fit:contain}.card .body{min-width:0;display:flex;flex-direction:column;justify-content:center}.card h2{font-size:1.12rem;line-height:1.55;margin:0 0 8px;font-weight:700}.card:hover h2{color:var(--accent)}.card .meta{font-size:.74rem;color:var(--text-mute);display:flex;gap:10px;flex-wrap:wrap}.card .meta .cat{color:var(--accent)}.article{padding:28px 0 40px}.article-header{margin-bottom:26px}.article-header .cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chip{font-size:.72rem;color:var(--accent);background:var(--accent-soft);padding:4px 11px;border-radius:999px;letter-spacing:.04em}.article-header h1{font-size:1.58rem;line-height:1.55;margin:0 0 14px;letter-spacing:.02em}.article-header .date{font-size:.8rem;color:var(--text-mute)}.hero-image{border-radius:var(--radius);overflow:hidden;margin:22px 0 30px;border:1px solid var(--line)}.prose{font-size:1.02rem}.prose>*+*{margin-top:1.4em}.prose h2{font-size:1.28rem;line-height:1.5;margin-top:2.4em;margin-bottom:.2em;padding-bottom:.4em;border-bottom:2px solid var(--accent-soft);letter-spacing:.02em}.prose h3{font-size:1.1rem;margin-top:1.9em;color:var(--text);letter-spacing:.02em}.prose h3:before{content:"";display:inline-block;width:4px;height:1em;background:var(--accent);border-radius:2px;margin-right:9px;vertical-align:-.12em}.prose p{margin:0}.prose strong{color:var(--accent);font-weight:700}.prose img{border-radius:10px;margin:1.6em auto;border:1px solid var(--line)}.prose blockquote{border-left:3px solid var(--accent);background:var(--surface);margin:1.6em 0;padding:.6em 1.1em;color:var(--text-soft);border-radius:0 8px 8px 0}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.3em 0}.prose table{width:100%;border-collapse:collapse;font-size:.92rem}.prose th,.prose td{border:1px solid var(--line);padding:9px 12px;text-align:left}.prose th{background:var(--accent-soft)}.prose hr{border:none;border-top:1px solid var(--line);margin:2.4em 0}.article-foot{margin-top:48px;padding-top:26px;border-top:1px solid var(--line)}.back-link{font-size:.9rem;color:var(--accent)}.back-link:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--line);margin-top:40px;padding:34px 0;text-align:center;color:var(--text-mute);font-size:.8rem}.site-footer .logo{font-weight:800;color:var(--text-soft);letter-spacing:.04em}.cat-head{padding:40px 0 8px}.cat-head h1{font-size:1.4rem;margin:0}.cat-head h1 .accent{color:var(--accent)}.cat-head p{color:var(--text-mute);font-size:.86rem;margin:6px 0 0}@media(max-width:560px){html{font-size:16.5px}.site-header .inner{padding:13px 16px}.brand .tagline{display:none}.brand .logo{font-size:1.08rem}.nav{gap:13px;font-size:.82rem}.card{grid-template-columns:138px 1fr;gap:14px;padding:11px}.card .thumb{width:138px;height:92px}.card h2{font-size:1.02rem}.hero{padding:40px 0 20px}.hero h1{font-size:1.42rem}.article-header h1{font-size:1.36rem}.prose h2{font-size:1.18rem}}
