:root{--color-text:#202124;--color-muted:#62666d;--color-border:#dfe1e5;--color-soft:#f5f6f7;--color-accent:#185abc;--content-width:720px;--site-width:1040px;color:var(--color-text);font-synthesis:none;background:#fff;font-family:Inter,Hiragino Sans,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.8}a{color:var(--color-accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}.container{width:min(calc(100% - 40px), var(--site-width));margin-inline:auto}.skip-link{z-index:10;color:#fff;background:var(--color-text);padding:8px 12px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--color-border)}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:68px;display:flex}.site-name{color:var(--color-text);letter-spacing:-.02em;font-size:1.3rem;font-weight:750;text-decoration:none}.site-header ul{gap:24px;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{color:var(--color-muted);font-size:.9rem;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--color-text)}.main-content{min-height:calc(100vh - 137px);padding-block:72px 96px}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted)}.site-footer p{margin:0;padding-block:24px;font-size:.85rem}.hero{max-width:800px;padding-block:24px 72px}.eyebrow{color:var(--color-muted);letter-spacing:.14em;margin:0 0 12px;font-size:.75rem;font-weight:700}.hero h1,.page-header h1,.article-detail h1{letter-spacing:-.035em;margin:0;font-weight:750;line-height:1.35}.hero h1{font-size:clamp(2.25rem,7vw,4.2rem)}.hero>p:last-child{max-width:680px;color:var(--color-muted);margin:28px 0 0;font-size:1.05rem}.section{border-top:1px solid var(--color-border);padding-top:32px}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.section-heading h2{margin:0;font-size:1.15rem}.section-heading>a{font-size:.9rem}.page-header{max-width:var(--content-width);margin-bottom:48px}.page-header h1{font-size:clamp(2rem,5vw,3rem)}.page-header>p:last-child{color:var(--color-muted);margin:16px 0 0}.article-list{margin:8px 0 0;padding:0;list-style:none}.article-list>li{border-bottom:1px solid var(--color-border)}.article-list article{padding-block:30px}.article-list h2{margin:6px 0;font-size:clamp(1.2rem,4vw,1.5rem);line-height:1.5}.article-list h2 a{color:var(--color-text);text-decoration:none}.article-list h2 a:hover{color:var(--color-accent);text-decoration:underline}.article-list article>p{max-width:var(--content-width);color:var(--color-muted);margin:6px 0 0}.article-meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.8rem;display:flex}.article-meta span:not(:first-child){border-left:1px solid var(--color-border);padding-left:12px}.tag-list{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.tag-list li{background:var(--color-soft);color:var(--color-muted);border-radius:3px;padding:2px 9px;font-size:.75rem}.article-detail,.page-content{max-width:var(--content-width);margin-inline:auto}.article-detail>header{border-bottom:1px solid var(--color-border);padding-bottom:36px}.article-detail h1{font-size:clamp(2rem,6vw,3.25rem)}.article-detail .lead{color:var(--color-muted);margin:18px 0;font-size:1.05rem}.notice{border-left:3px solid var(--color-muted);background:var(--color-soft);padding:10px 14px;font-size:.9rem}.prose{margin-top:44px}.prose h2{margin:2.4em 0 .7em;font-size:1.5rem;line-height:1.5}.prose h3{margin:2em 0 .6em;font-size:1.2rem;line-height:1.5}.prose p,.prose ul,.prose ol{margin-block:1.4em}.prose li+li{margin-top:.4em}.prose img{max-width:100%;height:auto}.prose pre{background:var(--color-soft);border-radius:4px;padding:18px;overflow-x:auto}.prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.prose blockquote{border-left:3px solid var(--color-border);color:var(--color-muted);margin-inline:0;padding-left:18px}@media (width<=600px){.container{width:min(calc(100% - 32px), var(--site-width))}.header-inner{min-height:60px}.site-header ul{gap:16px}.site-header nav a{font-size:.82rem}.main-content{padding-block:48px 72px}.hero{padding-block:12px 52px}.desktop-only{display:none}.section-heading{flex-direction:column;align-items:flex-start;gap:6px}}
