:root{--article-paper:#fffdf7;--article-line:#d8cdbb;--article-ink:#191d1c;--article-muted:#665f55}
.article-layout{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
.article-card{min-width:0;background:rgba(255,253,247,.98);border:1px solid var(--article-line);border-radius:2rem;box-shadow:0 18px 48px rgba(58,45,29,.11)}
.eyecatch{overflow:hidden;border:1px solid var(--article-line);border-radius:1.25rem;background:#eee1ca;box-shadow:5px 6px 0 rgba(53,167,163,.22)}
.eyecatch img,.article-figure img{display:block;width:100%;height:auto}
.article-figure{margin:2rem 0}.article-figure>div{overflow:hidden;border:1px solid var(--article-line);border-radius:1.15rem;background:#eee1ca}.article-figure figcaption{margin-top:.75rem;color:#71695e;font-size:.78rem;line-height:1.65;text-align:center}
.article-prose{color:#3f3a34;font-size:1rem;line-height:2}
.article-prose>p{margin:1.2rem 0}.article-prose h2{scroll-margin-top:1.5rem;margin:3.4rem 0 1.2rem;padding-bottom:.65rem;border-bottom:2px solid var(--article-line);color:var(--article-ink);font-size:clamp(1.45rem,3vw,1.85rem);font-weight:900;line-height:1.45;letter-spacing:-.025em}.article-prose h2::before{margin-right:.55rem;color:#35a7a3;content:'#'}
.article-prose h3{scroll-margin-top:1.5rem;margin:2.2rem 0 .8rem;color:var(--article-ink);font-size:1.2rem;font-weight:900;line-height:1.55}.article-prose h3::before{margin-right:.5rem;color:#ef6f68;content:'●';font-size:.68em}.article-prose ul,.article-prose ol{margin:1.25rem 0;padding-left:1.5rem}.article-prose ul{list-style:disc}.article-prose ol{list-style:decimal}.article-prose li{margin:.55rem 0;padding-left:.25rem}.article-prose strong{color:#191d1c;font-weight:900}.article-prose a{position:relative;z-index:60;color:#207e7b;font-weight:800;text-decoration:underline;text-underline-offset:3px}.article-prose blockquote{margin:1.75rem 0;border-left:5px solid #e4a62d;border-radius:0 1rem 1rem 0;background:#fff7df;padding:1rem 1.25rem;color:#5f4d28;font-weight:700}
.toc a{display:block;border-radius:.6rem;padding:.42rem .58rem;color:#554f47;font-size:.88rem;font-weight:700;line-height:1.5}.toc a:hover{background:#dff4ee;color:#196b68}.share-btn{border:1px solid var(--article-line);background:#fffdf7;color:#403a33}.share-btn:hover{border-color:#35a7a3;color:#207e7b}.toast{opacity:0;transform:translate(-50%,1rem);pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
.tool-cta{background:#191d1c;color:#fffdf7;box-shadow:6px 7px 0 #35a7a3}.tool-cta h2::before{content:none}.tool-cta a{text-decoration:none;color:#191d1c}
@media(min-width:1024px){.article-layout{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:640px){.article-card{border-radius:1.25rem}.article-prose{font-size:.95rem;line-height:1.9}.article-prose h2{margin-top:2.7rem}.eyecatch{border-radius:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
