/* Shared editorial presentation. Same home palette, no external assets or scripts. */
:root{--reading-width:740px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--brand-accent-dark);outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Home: a clear masthead, quiet surfaces and a deliberate editorial hierarchy. */
.home-page .site-ticker{font-size:11px;letter-spacing:.07em}
.home-page .header-inner{height:80px}
.home-page .hero{padding:58px 0 54px;border-bottom:1px solid var(--brand-line)}
.home-page .hero .container{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px}
.home-page .hero-badge{padding:0 0 12px;border:0;border-radius:0;background:none;color:var(--brand-accent-dark);font-size:12px;letter-spacing:.12em}
.home-page .hero-title{font-size:clamp(32px,3.5vw,48px);font-weight:700;line-height:1.55;letter-spacing:-.035em}
.home-page .hero-accent{color:var(--brand-accent-dark)}
.home-page .hero-lead{max-width:510px;font-size:16px;line-height:1.95}
.home-page .hero-image{aspect-ratio:6/5;border-radius:4px;box-shadow:none;overflow:hidden}
.home-page .hero-image img{object-position:center}
.home-page .hero-entry-links{gap:0;margin:24px 0 20px;border-top:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line)}
.home-page .hero-entry-links a{flex:1;padding:12px 8px;border:0;border-right:1px solid var(--brand-line);border-radius:0;background:none;font-size:12px;line-height:1.6}
.home-page .hero-entry-links a:last-child{border-right:0}
.home-page .hero-proof span{border:0;padding:0;background:none;font-size:11px;line-height:1.8}
.home-page .hero-proof{gap:8px 18px}
.home-page .finder-section{margin-top:0;padding:28px 0 44px;background:var(--brand-pale)}
.home-page .finder-panel{border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.home-page .finder-tabs{background:none;border-bottom:1px solid var(--brand-line)}
.home-page .finder-tabs a{border:0;min-height:44px;font-size:13px;color:var(--brand-body);background:none}
.home-page .finder-tabs a.is-current{color:var(--brand-accent-dark);background:none;border-bottom:2px solid var(--brand-accent)}
.home-page .finder-tabs a:hover{color:var(--brand-accent-dark);background:var(--brand-white)}
.home-page .finder-body{padding:24px 0 0}
.home-page .finder-heading h2{font-size:22px}
.home-page .finder-heading p{font-size:13px;max-width:420px}
.home-page .section-kicker{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--brand-accent-dark)}
.home-page .editorial-heading{padding-bottom:20px;border-bottom:1px solid var(--brand-line);margin-bottom:28px}
.home-page .editorial-heading h2{font-size:28px;font-weight:700;letter-spacing:.01em}
.home-page .editorial-heading p{color:var(--brand-body);line-height:1.8}
.home-page .learning-paths{padding:48px 0 12px}
.learning-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line)}
.learning-path-link{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;gap:12px;padding:24px;color:var(--brand-ink);text-decoration:none;border-right:1px solid var(--brand-line)}
.learning-path-link:first-child{padding-left:0}.learning-path-link:last-child{border:0}
.learning-path-number{font-family:Inter,sans-serif;font-size:12px;font-weight:700;color:var(--brand-accent);padding-top:3px}
.learning-path-link strong{display:block;font-size:18px;line-height:1.7}.learning-path-link p{margin:6px 0 0;font-size:13px;line-height:1.8;color:var(--brand-body)}
.learning-path-link:hover strong{text-decoration:underline;text-underline-offset:5px}
.learning-path-arrow{color:var(--brand-accent-dark)}
.home-page .pickup-section{padding:56px 0 64px}
.home-page .pickup-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:24px;grid-template-rows:auto}
.home-page .pickup-card{display:flex;flex-direction:column;min-height:0;grid-row:auto;grid-column:auto;border:0;border-radius:0;background:none;overflow:visible;box-shadow:none}
.home-page .pickup-card::after{display:none}
.home-page .pickup-card img{position:static;display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px;filter:none}
.home-page .pickup-copy{position:static;padding:18px 0 0;background:none}
.home-page .pickup-copy span{padding:0;background:none;color:var(--brand-accent-dark);font-size:11px;letter-spacing:.05em}
.home-page .pickup-copy h3{font-size:18px;line-height:1.75;color:var(--brand-ink);text-shadow:none;font-weight:700}
.home-page .pickup-card-main h3{font-size:22px}
.home-page .pickup-copy p{color:var(--brand-body);font-size:14px;line-height:1.85}
.home-page .categories-section{padding:60px 0;background:var(--brand-pale)}
.home-page .category-card{min-height:214px;padding:24px;border:0;border-top:2px solid var(--brand-accent);border-radius:0}
.home-page .category-card::before,.home-page .category-card::after{display:none}
.home-page .category-card-index{opacity:.16;font-size:48px}
.home-page .category-card h3{font-size:21px}
.home-page .article-card{border-radius:4px;box-shadow:none;border-color:var(--brand-line)}
.home-page .article-card:hover{box-shadow:0 6px 20px rgba(var(--brand-charcoal-rgb),.07);transform:translateY(-2px)}
/* Articles: comfortable measure, stronger section hierarchy, quiet contextual navigation. */
.article-color-theme .article-hero{padding:40px 0 32px}
.article-color-theme .article-hero>.container{max-width:1180px}
.article-color-theme .article-title{max-width:980px;font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:clamp(26px,2.8vw,38px);line-height:1.65;letter-spacing:-.025em}
.article-color-theme .article-cat-badge{border-radius:3px;padding:5px 10px;font-size:12px}
.article-color-theme .article-meta-row{font-size:12px;gap:12px 20px;line-height:1.8}
.article-color-theme .article-body{padding-top:36px}
.article-color-theme .article-body>.container{max-width:1180px;grid-template-columns:minmax(0,740px) minmax(0,260px);gap:64px}
.article-color-theme .article-content{font-kerning:normal}
.article-color-theme .article-content>p{font-size:17px;line-height:2.05;margin-bottom:24px;letter-spacing:.015em}
.article-color-theme .article-content .article-lead{padding:22px 24px;font-size:17px!important;line-height:1.95;border-radius:3px;letter-spacing:.01em}
.article-color-theme .article-content>h2{font-family:'Noto Sans JP',sans-serif;font-size:26px;font-weight:700;line-height:1.65;margin:56px 0 24px;padding:0 0 16px;border-left:0;border-bottom:2px solid var(--brand-accent);letter-spacing:-.01em}
.article-color-theme .article-content>h3{font-family:'Noto Sans JP',sans-serif;font-size:20px;line-height:1.7;margin:32px 0 16px}
.article-color-theme .article-content :is(h2,h3)[id]{scroll-margin-top:104px}
.article-color-theme .article-content :is(ul,ol){line-height:1.95}
.article-color-theme .article-content a:not([class]){text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.article-color-theme .article-content :is(.note,.box,.info-box){border-radius:4px;padding:22px 24px}
.article-color-theme .article-content .note p+p{margin-top:12px}
.article-color-theme .article-table-scroll{border:1px solid var(--brand-line);border-radius:4px;padding:14px 0 0;scrollbar-color:var(--brand-accent) var(--brand-pale);scrollbar-width:thin}
.article-color-theme .article-content caption{padding:0 14px 14px;text-align:left;font-size:14px;line-height:1.7}
.article-color-theme .article-content :is(th,td){font-size:15px;line-height:1.85;padding:15px}
.article-color-theme .article-sidebar{top:100px;max-height:calc(100dvh - 120px);overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.article-color-theme .toc-card{border:0;border-top:2px solid var(--brand-accent);border-radius:0;background:var(--brand-pale);padding:20px}
.article-color-theme .toc-title{font-size:13px;letter-spacing:.06em}
.article-color-theme .toc-list a{font-size:13px;line-height:1.75;padding:9px 0}
.article-color-theme .sidebar-card{border-radius:4px;padding:20px}
.article-color-theme .related-article-card{border-radius:4px;box-shadow:none}
.article-color-theme .mobile-article-toc{display:none}
@media(max-width:1000px) and (min-width:861px){.article-color-theme .article-body>.container{gap:28px;grid-template-columns:minmax(0,1fr) 230px}}
@media(max-width:860px){.article-color-theme .article-body>.container{grid-template-columns:minmax(0,1fr);max-width:788px;gap:40px}.article-color-theme .article-sidebar{position:static;max-height:none;overflow:visible}.article-color-theme .article-sidebar .toc-card{display:none}.article-color-theme .mobile-article-toc{display:block;border-top:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line);margin:24px 0 32px;padding:0}.mobile-article-toc summary{cursor:pointer;min-height:48px;padding:12px 4px;font-size:14px;font-weight:700;color:var(--brand-accent-dark)}.article-color-theme .mobile-article-toc ul{list-style:none;padding:0 4px 12px;margin:0}.article-color-theme .mobile-article-toc li{margin:0}.article-color-theme .mobile-article-toc a{display:block;padding:9px 0;font-size:14px;line-height:1.75;border-top:1px solid var(--brand-line);color:var(--brand-body)}}
@media(max-width:680px){
 .home-page .header-inner{height:auto;min-height:68px}.home-page .hero{padding:28px 0 30px}.home-page .hero .container{grid-template-columns:1fr;gap:24px}.home-page .hero-title{font-size:29px;line-height:1.6}.home-page .hero-lead{font-size:15px}.home-page .hero-entry-links{display:flex;flex-wrap:nowrap}.home-page .hero-entry-links a{min-width:0;min-height:52px;padding:9px 7px;font-size:11px;text-align:center}.home-page .hero-visual{display:none}
 .home-page .finder-section{padding:18px 0 26px}.home-page .finder-heading{display:block}.home-page .finder-heading h2{font-size:20px}.home-page .finder-heading p{margin-top:8px}.home-page .finder-tabs a{font-size:11px;padding:8px 4px}.home-page .finder-body{padding-top:18px}
 .home-page .learning-paths{padding:32px 0 0}.learning-path-grid{grid-template-columns:1fr}.learning-path-link,.learning-path-link:first-child{padding:17px 0;border-right:0;border-bottom:1px solid var(--brand-line);grid-template-columns:24px minmax(0,1fr) 18px}.learning-path-link strong{font-size:17px}.learning-path-link p{margin-top:3px}
 .home-page .editorial-heading{display:block;margin-bottom:22px;padding-bottom:16px}.home-page .editorial-heading h2{font-size:23px}.home-page .editorial-heading p{margin-top:10px;font-size:13px}.home-page .pickup-section{padding:36px 0}.home-page .pickup-grid{grid-template-columns:1fr;gap:24px}.home-page .pickup-card-side{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding-top:20px;border-top:1px solid var(--brand-line)}.home-page .pickup-card-side .pickup-copy{padding:0}.home-page .pickup-card-side h3{font-size:15px}.home-page .pickup-card-side p{display:none}.home-page .pickup-card-main h3{font-size:20px}.home-page .categories-section{padding:36px 0}.home-page .category-card{min-height:200px;padding:20px}
 .article-color-theme .article-hero{padding:22px 0}.article-color-theme .article-title{font-size:25px;line-height:1.65}.article-color-theme .article-title-keep{white-space:normal}.article-color-theme .article-meta-row{font-size:12px;gap:8px 14px}.article-color-theme .article-body{padding-top:24px}.article-color-theme .article-content>p{font-size:16px;line-height:2;letter-spacing:.01em}.article-color-theme .article-content .article-lead{font-size:16px!important;padding:18px;line-height:1.95}.article-color-theme .article-content>h2{font-size:22px;margin-top:42px;padding-bottom:12px}.article-color-theme .article-content>h3{font-size:19px}.article-color-theme .article-content :is(h2,h3)[id]{scroll-margin-top:120px}.article-color-theme .article-content :is(.note,.box,.info-box){padding:18px}.article-color-theme .article-content :is(th,td){font-size:14px;padding:12px}.article-color-theme .article-content .section-figure img{border-radius:4px}
}
/* Category and reference pages keep the same typographic voice. */
body .page-hero{background:var(--brand-pale);padding:44px 0;border-bottom:1px solid var(--brand-line)}
body .page-hero h1{font-family:'Noto Sans JP',sans-serif;font-weight:700;line-height:1.6;letter-spacing:-.02em}
body .article-card-title{line-height:1.75}
@media(min-width:681px){.home-page .pickup-card-side .pickup-copy{padding:18px 0 0}}
@media(max-width:680px){.home-page .pickup-card-side .pickup-copy{padding:0}body .page-hero{padding:28px 0}body .page-hero h1{font-size:27px}}
.home-page .hero-accent::after{display:none}
.home-page .post-card{border-radius:4px;box-shadow:none}
.home-page .post-card:hover{box-shadow:0 6px 20px rgba(var(--brand-charcoal-rgb),.07);transform:translateY(-2px)}
@media(max-width:680px){.home-page .hero-entry-links a{font-size:10.5px}.home-page .hero-entry-links a:nth-child(2){flex:1.25}}
