:root{--accent:#1d4ed8;--text:#1f2328;--muted:#5f6672;--bg:#fff;--bg-soft:#f5f6f8;--border:#e3e5e8;--pr:#b45309;--max:760px;--font-sans:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Noto Sans JP", "Noto Sans CJK JP", Meiryo, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);letter-spacing:.02em;color:var(--text);background:var(--bg);font-feature-settings:"palt" 0;overflow-wrap:anywhere;line-break:strict;margin:0;font-size:17px;line-height:1.9}@media (width<=600px){body{font-size:16px}}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;background:#fff;padding:4px 8px;top:8px;left:8px}.site-header{border-top:4px solid var(--accent);border-bottom:1px solid var(--border);background:#fff}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:14px;padding-bottom:14px;display:flex}.site-title{color:var(--text);flex-direction:column;line-height:1.4;text-decoration:none;display:flex}.site-name{letter-spacing:.03em;font-size:1.35rem;font-weight:700}.site-tagline{color:var(--muted);font-size:.78rem}.site-header nav ul{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;font-size:.92rem;list-style:none;display:flex}.site-header nav a{color:var(--text);text-decoration:none}.site-header nav a[aria-current=page]{color:var(--accent);font-weight:700}main{min-height:60vh;padding-top:28px;padding-bottom:56px}.intro{background:var(--bg-soft);color:var(--muted);border-radius:8px;padding:14px 18px;font-size:.95rem}.intro p{margin:0}.section-title{border-bottom:2px solid var(--text);margin:32px 0 8px;padding-bottom:6px;font-size:1.15rem}.post-list{margin:0;padding:0;list-style:none}.post-item{border-bottom:1px solid var(--border);padding:18px 0}.post-link{color:inherit;text-decoration:none;display:block}.post-link:hover .post-title{color:var(--accent)}.post-title{margin:0 0 4px;font-size:1.12rem;line-height:1.6}.post-desc{color:var(--muted);margin:0;font-size:.92rem;line-height:1.75}.post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:6px;font-size:.82rem;display:flex}.tag-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag-list a{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;padding:1px 10px;font-size:.8rem;line-height:1.6;text-decoration:none;display:inline-block}.tag-list a:hover{color:var(--accent);border-color:var(--accent)}.tag-list.large a{padding:4px 14px;font-size:.95rem}.more{margin-top:20px;font-size:.95rem}.empty{color:var(--muted)}.pr-badge{background:var(--pr);color:#fff;letter-spacing:.05em;border-radius:4px;padding:5px 8px;font-size:.8rem;font-weight:700;line-height:1;display:inline-block}.pr-badge.small{vertical-align:.15em;margin-right:6px;padding:3px 6px;font-size:.7rem}.draft-badge{border:1px dashed var(--muted);color:var(--muted);vertical-align:.15em;border-radius:4px;margin-right:6px;padding:2px 6px;font-size:.7rem;display:inline-block}.pr-notice{background:#fff8ee;border:1px solid #f3d3a6;border-radius:6px;align-items:center;gap:10px;margin:0 0 20px;padding:10px 14px;font-size:.9rem;display:flex}.draft-notice{border:1px dashed var(--muted);color:var(--muted);border-radius:6px;margin:0 0 20px;padding:8px 14px;font-size:.85rem}.post-header h1{letter-spacing:.01em;margin:0 0 10px;font-size:1.6rem;line-height:1.5}@media (width<=600px){.post-header h1{font-size:1.35rem}}.post-header .tag-list{margin-top:10px}.hero{border-radius:8px;width:100%;margin:24px 0 8px;display:block}.prose h2{border-left:5px solid var(--accent);margin:2.4em 0 .8em;padding:.2em 0 .2em .7em;font-size:1.3rem;line-height:1.5}.prose h3{margin:2em 0 .6em;font-size:1.12rem}.prose p,.prose ul,.prose ol,.prose table,.prose blockquote{margin:0 0 1.4em}.prose li+li{margin-top:.35em}.prose img{border:1px solid var(--border);border-radius:6px;margin:1.6em auto .4em;display:block}.prose blockquote{background:var(--bg-soft);border-left:4px solid var(--border);color:var(--muted);margin-left:0;padding:12px 16px;font-size:.92rem}.prose blockquote p{margin:0}.prose table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.86rem;line-height:1.6;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:6px 10px}.prose th{background:var(--bg-soft)}.prose hr{border:none;border-top:1px solid var(--border);margin:2.4em 0}.prose code{background:var(--bg-soft);border-radius:4px;padding:.1em .35em;font-size:.9em}.prose pre{color:#f5f6f8;background:#1f2328;border-radius:6px;padding:14px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}.sources{border-top:1px solid var(--border);color:var(--muted);margin-top:3em;padding-top:1em;font-size:.85rem;line-height:1.7}.sources h2{color:var(--text);margin:0 0 .4em;font-size:1.05rem}.sources-note{margin:0 0 .6em}.sources ol{padding-left:1.8em}.sources li+li{margin-top:.3em}.article-note{background:var(--bg-soft);color:var(--muted);border-radius:6px;margin-top:2em;padding:14px 16px;font-size:.85rem;line-height:1.75}.page h1{margin:0 0 1em;font-size:1.5rem}.page-updated{color:var(--muted);text-align:right;margin-top:2.4em;font-size:.9rem}.info-table{border-collapse:collapse;width:100%;margin-bottom:2em;font-size:.95rem}.info-table th,.info-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 8px}.info-table th{white-space:nowrap;width:8em;color:var(--muted);font-weight:600}.notice{background:var(--bg-soft);border-radius:6px;padding:12px 16px}.button{background:var(--accent);color:#fff;border-radius:6px;padding:10px 22px;font-weight:700;text-decoration:none;display:inline-block}.site-footer{border-top:1px solid var(--border);background:var(--bg-soft);color:var(--muted);padding:24px 0 32px;font-size:.85rem}.ad-statement{color:var(--text);margin:0 0 10px;font-weight:600}.site-footer ul{flex-wrap:wrap;gap:4px 18px;margin:0 0 10px;padding:0;list-style:none;display:flex}.site-footer a{color:var(--muted)}.copyright{margin:0}.footer-note{color:var(--text);margin:0 0 10px}.site-notice{background:var(--bg-soft);border-bottom:1px solid var(--border);color:var(--text);text-align:center;margin:0;padding:8px 16px;font-size:.875rem;font-weight:600}
