/* Article extensions use the existing guide palette and typography. */
.article-page .container{width:min(1160px,calc(100% - 64px))}
.article-page .header-inner{min-height:92px}
.article-hero{padding-block:38px 36px}
.article-hero h1{max-width:960px;font-size:clamp(2rem,3.35vw,3.1rem);line-height:1.4;letter-spacing:-.025em}
.keep-phrase{white-space:nowrap}
.table-hint{display:none}
.article-hero .lead{max-width:800px;margin-bottom:24px;line-height:1.9}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.article-meta span{display:inline-flex;align-items:center;gap:8px}
.article-meta span+span:before{content:"";display:block;width:3px;height:3px;border-radius:50%;background:#8ca798}
.article-page .reading-layout{grid-template-columns:minmax(0,780px) 240px;gap:64px;padding-top:44px}
.article-page .article-body{max-width:780px;font-size:17px;line-height:1.95;overflow-wrap:break-word;word-break:normal}
.article-page .article-body>section+section{margin-top:52px}
.article-page .article-body h2{font-size:clamp(1.45rem,2.2vw,1.85rem);line-height:1.5;margin-bottom:22px}
.article-page .article-body h3{font-size:1.12rem;line-height:1.65;margin:0 0 14px}
.article-page .article-body p{margin-bottom:20px}
.article-page .article-body p a,.article-page .article-body li>a{display:inline;text-underline-offset:4px;overflow-wrap:anywhere}
.article-page .article-body a:focus-visible,.table-wrap:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.article-page .article-body li+li{margin-top:16px}
.article-page .article-body ul,.article-page .article-body ol{margin-bottom:24px}
.article-toc{font-size:14px;top:24px;max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:thin;padding-right:8px}
.article-toc ol{padding-left:1.4em;margin:0;display:grid;gap:8px}
.article-toc a{display:block;padding-block:7px;line-height:1.6;color:#3d5e4f}
.article-toc .back-to-top{display:inline-flex;align-items:center;min-height:44px;margin-top:18px;font-size:13px}
.mobile-contents{display:none}
.article-page .notice{margin-block:28px;background:#f0f8f2;border-color:#cbded1}
.article-page .notice.warning{background:#fff7e4;border-color:#e6d09b}
.article-page .notice>p:last-child{margin-bottom:0}
.article-page .notice p>strong{display:inline}
.article-jump{margin-block:28px;padding-block:22px;border-block:1px solid #cbded1}
.article-jump>strong{display:block;color:var(--blue);margin-bottom:10px}
.article-jump p:last-child{margin-bottom:0}
.reading-route{list-style:none;counter-reset:route;padding:0!important;border-top:1px solid var(--line)}
.reading-route li{counter-increment:route;position:relative;padding:22px 0 22px 52px;border-bottom:1px solid var(--line);margin:0!important}
.reading-route li:before{content:"0" counter(route);position:absolute;inset:22px auto auto 0;color:var(--blue);font-size:21px;line-height:1.6;font-weight:700;font-variant-numeric:tabular-nums}
.decision-list{margin:24px 0}
.decision-list>div{padding-block:20px;border-bottom:1px solid var(--line)}
.decision-list dt{font-weight:720;margin-bottom:10px}
.decision-list dd{margin:0}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;margin-block:24px;border:1px solid var(--line);border-radius:6px}
.table-wrap .info-table{margin:0;min-width:480px;font-size:15px;line-height:1.75}
.table-wrap caption{text-align:left;padding:14px 16px;color:var(--muted);background:#f4faf5;font-size:13px;border-bottom:1px solid var(--line)}
.table-wrap .info-table th,.table-wrap .info-table td{padding:16px!important;width:auto!important;min-width:100px}
.table-wrap .info-table th[scope=row]{background:#f8fbf8;font-weight:650;white-space:nowrap}
.table-wrap .info-table tr:last-child>*{border-bottom:0}
.app-entry{padding-block:28px;border-bottom:1px solid var(--line)}
.app-entry:first-of-type{padding-top:0}
.app-entry:last-child{padding-bottom:0;border-bottom:0}
.app-entry p:last-child{margin-bottom:0!important}
.article-page .faq-item{padding-block:20px}
.article-page .faq-item summary{min-height:44px;display:list-item;padding-block:7px;line-height:1.7}
.article-page .faq-item h3{margin-bottom:12px}
.article-page .faq-item p{margin-top:12px}
.article-sources{padding-top:32px;border-top:1px solid var(--line)}
.article-sources ul{padding-left:1.25em!important;font-size:14px;line-height:1.7}
.article-sources li{margin:0!important}
.article-sources li a{display:inline-flex!important;min-height:44px;align-items:center;padding-block:9px}
.article-related{padding-top:32px;border-top:1px solid var(--line)}
.article-related ul{list-style:none;padding:0!important;margin:0!important}
.article-related li{margin:0!important;border-bottom:1px solid var(--line)}
.article-related li a{display:grid!important;gap:7px;padding-block:22px;color:var(--ink);text-decoration:none;min-height:44px}
.article-related li a strong{color:var(--blue);font-size:1.05rem}
.article-related li a span{font-size:15px;color:var(--muted)}
.article-related li a:hover strong{text-decoration:underline;text-underline-offset:5px}
.connection-map{margin:28px 0;padding:24px;background:#f0f8f2;border:1px solid #cbded1;border-radius:8px}
.connection-map ol{list-style:none;padding:0!important;margin:0!important;display:flex;align-items:center;gap:18px}
.connection-map li{flex:1;position:relative;margin:0!important;text-align:center;font-size:14px;line-height:1.65}
.connection-map li+li:before{content:"→";position:absolute;left:-19px;top:50%;transform:translateY(-50%);color:var(--blue);font-size:24px}
.connection-map li strong{display:block;font-size:16px}
.connection-map figcaption{margin-top:20px;color:#3d5e4f;font-size:14px;line-height:1.8}
@media(max-width:1080px){.article-page .reading-layout{grid-template-columns:minmax(0,1fr) 200px;gap:40px}.article-toc{font-size:13px}}
@media(max-width:960px){.article-page .article-body p a,.article-page .article-body li>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;vertical-align:baseline}}
@media(max-width:600px){.table-hint{display:block;font-size:13px;color:var(--muted);margin-top:-12px}}
@media(max-width:820px){.article-page .container{width:calc(100% - 40px)}.article-page .reading-layout{display:block;padding-block:32px 48px}.article-toc{display:none}.mobile-contents{display:block;margin-top:24px;border-block:1px solid var(--line);font-size:15px}.mobile-contents summary{min-height:48px;cursor:pointer;padding-block:12px;font-weight:650}.mobile-contents nav{padding-bottom:12px}.mobile-contents ol{padding-left:1.5em;margin:0}.mobile-contents a{display:inline-flex;align-items:center;min-height:44px;padding-block:7px;line-height:1.7}.article-page .article-body{font-size:17px}.article-hero{padding-block:30px}.article-hero h1{font-size:clamp(1.85rem,5.7vw,2.6rem);line-height:1.45}.article-hero .lead{font-size:17px}.article-page .article-body>section+section{margin-top:40px}.article-page .header-nav{max-width:none}}
@media(max-width:480px){.article-page .container{width:calc(100% - 36px)}.article-page .header-inner{gap:10px}.article-page .header-nav{column-gap:20px;font-size:14px}.article-hero h1{font-size:1.85rem;letter-spacing:-.02em}.article-meta{column-gap:16px}.article-meta span:last-child:before{display:none}.article-page .article-body h2{font-size:1.45rem}.article-page .article-body{font-size:16.5px;line-height:1.95}.article-page .notice{padding:18px}.reading-route li{padding-left:42px}.reading-route li:before{font-size:18px}.table-wrap .info-table{min-width:460px}.connection-map{padding:20px}.connection-map ol{flex-direction:column;gap:32px}.connection-map li{width:100%}.connection-map li+li:before{content:"↓";left:50%;top:-32px;transform:translateX(-50%);font-size:22px}.article-page .site-footer{padding-block:24px}.article-page .footer-nav{gap:4px 20px}}
@media(prefers-reduced-motion:reduce){.article-page html{scroll-behavior:auto}}
