:root{--ink:#1b1f24;--sub:#5b6470;--line:#e3e6ea;--bg:#fff;--accent:#0b5cad;--soft:#f4f7fb}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg);line-height:1.8;font-size:17px}
a{color:var(--accent)}
header.site,footer.site,main{max-width:760px;margin:0 auto;padding:0 20px}
header.site{padding-top:18px;padding-bottom:12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
header.site nav a{margin-left:14px;font-size:14px}
.logo{font-weight:800;font-size:20px;text-decoration:none;color:var(--ink);letter-spacing:.02em}
.logo span{font-weight:500;color:var(--sub);margin-left:6px}
.hero h1{font-size:30px;line-height:1.4;margin:36px 0 10px}
.hero p{color:var(--sub);margin:0 0 24px}
h1{font-size:26px;line-height:1.45;margin:20px 0 10px}
h2{font-size:20px;margin:36px 0 10px;padding-top:6px;border-top:2px solid var(--ink)}
.kicker{display:block;color:var(--sub);font-size:13px;margin:24px 0 0}
.lead{color:var(--sub)}
.cards,.routes,.issues,.chips{list-style:none;padding:0;margin:0}
.card a{display:block;padding:16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);margin-bottom:12px}
.card a:hover{border-color:var(--accent)}
.card .kicker{margin:0}
.card strong{display:block;font-size:18px;line-height:1.5;margin:4px 0}
.card span:last-child{color:var(--sub);font-size:15px}
.routes{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}
.rl{margin:6px 0 0;font-size:13px;color:var(--sub);font-weight:700}
.future{margin:0;color:var(--sub)}
.filters{display:grid;gap:8px;margin:8px 0}
.filters button{font:inherit;font-size:14px;padding:4px 10px;margin:0 6px 6px 0;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}
.filters button[aria-pressed="true"]{border-color:var(--accent);background:var(--soft);font-weight:700;text-decoration:underline}
.count{font-size:13px;color:var(--sub);margin:4px 0}
.issue{display:grid;grid-template-columns:4.5em 1fr;gap:0 8px;padding:10px 0;border-bottom:1px solid var(--line)}
.issue .no{font-weight:700;color:var(--sub);font-size:14px;grid-row:span 2}
.issue .meta{font-size:13px;color:var(--sub)}
.badge{display:inline-block;font-size:12px;padding:0 6px;border:1px solid currentColor;border-radius:4px;margin-left:4px;line-height:1.6}
.st-published{color:#0a6b2b}.st-upcoming{color:var(--accent)}.st-preparing,.st-planned{color:var(--sub)}
.st-planned{border-style:dashed}
.dist{list-style:none;padding:0;display:grid;gap:6px}
.dist li{background:var(--soft);padding:8px 12px;border-radius:8px}
.dist b{display:inline-block;width:1.6em;color:var(--accent)}
.cta{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:10px 18px;border-radius:8px;font-weight:700;margin:12px 0}
.cta-off{display:inline-block;border:1px dashed var(--line);color:var(--sub);padding:8px 14px;border-radius:8px;font-size:14px;margin:12px 0}
.related ul{padding-left:1.2em}
.note{font-size:14px;color:var(--sub)}
footer.site{margin-top:48px;padding-top:16px;padding-bottom:32px;border-top:1px solid var(--line);font-size:13px;color:var(--sub)}
footer .support a{color:var(--sub)}
.preview,.brief{border:1px dashed var(--line);border-radius:10px;padding:12px 16px;font-size:15px}
.brief{border-style:solid;background:var(--soft)}
.brief ol{margin:0;padding-left:1.4em}
.entrance{border:1px solid var(--line);border-radius:10px;padding:10px 16px;font-size:15px}
.entrance summary{font-weight:700;cursor:pointer}
.entrance ol{margin:0 0 6px;padding-left:1.4em}
.sub{margin:4px 0;color:var(--sub);font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.chips a{display:inline-block;font-size:14px;padding:2px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none}
.tag{margin-left:6px}.tag::before{content:"＋"}
details.more{margin-top:8px}
details.more>summary{cursor:pointer;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-weight:700;color:var(--accent)}
@media (max-width:520px){body{font-size:16px}.hero h1{font-size:24px}h1{font-size:22px}.routes{grid-template-columns:1fr}}

:root{--ink:#202326;--sub:#575c60;--line:#d4d5d1;--bg:#f6f5f1;--accent:#86432c;--soft:#eaeae4}
html{scroll-behavior:smooth}body{font-size:16px;line-height:1.85;letter-spacing:.015em}a{color:var(--accent);text-underline-offset:4px}
header.site,footer.site,main{max-width:1240px;padding-left:40px;padding-right:40px}header.site{min-height:112px;align-items:center;border-bottom:1px solid var(--line);gap:20px}
.logo{display:flex;align-items:center}.logo img{width:138px;height:92px;object-fit:contain}.logo span{font-size:10px;letter-spacing:.15em;margin-left:16px;text-transform:uppercase;line-height:1.5}
header.site nav{display:flex;gap:26px;flex-wrap:wrap}header.site nav a{display:inline-flex;align-items:center;min-height:44px;margin:0;text-decoration:none;font-size:13px;font-weight:600}
main>section{margin-top:66px;margin-bottom:66px}h2{font-size:26px;letter-spacing:-.025em;margin:0 0 24px;border-top:0;padding-top:0}h2:after{content:"";display:block;width:44px;height:2px;margin-top:14px;background:var(--accent)}
.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:40px;align-items:center;position:relative}.hero-copy{min-width:0}.hero .eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;color:var(--accent);margin:0 0 25px}.hero h1{font-size:clamp(38px,4.1vw,62px);letter-spacing:-.045em;line-height:1.3;font-weight:650;margin:0 0 22px}.hero h1 .line{display:block}.hero p{max-width:39em;color:var(--sub);font-size:15px;line-height:1.9;margin:0 0 24px}
.hero-visual{margin:0;min-width:0}.hero-visual img{display:block;width:100%;height:auto}.hero-visual figcaption{font-size:10px;letter-spacing:.08em;color:var(--sub);text-align:right;margin-top:9px}
.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.hero-actions a{display:inline-flex;min-height:46px;align-items:center;padding:8px 18px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}.hero-actions a:first-child{background:var(--ink);color:var(--bg)}
.feature-line{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.feature-line .small{font-size:10px;letter-spacing:.13em;color:var(--sub);margin:0}.feature-line strong{font-size:18px;font-weight:550}.feature-line p{margin:0;color:var(--sub);font-size:14px}
.routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.entrance{border:0;border-top:1px solid var(--line);border-radius:0;padding:23px 0;font-size:14px}.entrance summary{font-size:18px;font-weight:650;min-height:32px}.entrance p,.entrance li{overflow-wrap:anywhere}.entrance ol{margin-top:12px}.sub{font-size:13px}.rl{font-size:11px;letter-spacing:.06em}.entrance .badge{font-size:10px}
#catalog{padding-top:38px;border-top:1px solid var(--line)}.filters button{min-height:40px;border-radius:0;background:var(--bg);margin-bottom:8px;padding:6px 12px;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink);text-decoration:none}.issue{padding:20px 0;grid-template-columns:5em 1fr}.issue .t{font-size:17px;font-weight:550}.badge{border-radius:0;padding:1px 6px;font-size:10px}.preview{border-radius:0;font-size:14px}.how .dist{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px}.dist li{border-radius:0;padding:16px;font-size:12px}.dist b{display:block;font-size:28px;width:auto}.support a{min-height:36px;display:inline-flex;align-items:center}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%}body{overflow-wrap:anywhere}.theme-switch{background:#fff;color:#202326;border-bottom:1px solid #dadad5;padding:9px 20px;font-size:11px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.theme-switch a{color:#202326;min-height:28px;display:inline-flex;align-items:center}
@media(max-width:800px){header.site,footer.site,main{padding-left:24px;padding-right:24px}.hero{gap:24px}.hero h1{font-size:40px}.logo span{display:none}.routes{gap:0 20px}.how .dist{grid-template-columns:1fr}}
@media(max-width:600px){header.site,footer.site,main{padding-left:20px;padding-right:20px}header.site{min-height:96px;gap:2px;justify-content:space-between}.logo img{width:108px;height:72px}header.site nav{gap:14px;max-width:210px}header.site nav a{font-size:11px;min-height:44px}.hero{grid-template-columns:1fr;gap:24px}.hero h1{font-size:36px;line-height:1.36;letter-spacing:-.045em}.hero .eyebrow{margin-bottom:16px}.hero p{font-size:14px}.hero-visual{max-width:100%}.hero-actions{gap:10px}.hero-actions a{font-size:12px;padding:8px 15px}.routes{grid-template-columns:1fr}.feature-line{grid-template-columns:1fr;gap:12px}.feature-line strong{font-size:17px}main>section{margin-top:38px;margin-bottom:38px}h2{font-size:23px}.issue .t{font-size:15px}.entrance summary{font-size:17px}.theme-switch{padding:8px 12px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Rev05 hybrid base: Graphite hero + Editorial body + official blue/turquoise accent. */
:root{--bg:#f6f8f8;--ink:#202326;--sub:#575f63;--line:#d7dddf;--soft:#eaf1f2;--accent:#0b6fa4}
body{background:var(--bg);color:var(--ink)}
.hero{background:#15191b;color:#f5f7f7;border-top:4px solid #18a8aa}
.hero h1{color:#f5f7f7}.hero p{color:#c5d0d2}.hero .eyebrow{color:#42c3c3}
.hero-actions a{border-color:#e8f2f2;color:#e8f2f2}.hero-actions a:first-child{background:#0b6fa4;color:#fff;border-color:#0b6fa4}
.hero-visual figcaption{background:#15191b;color:#c5d0d2}
.feature-line,#sectors,#catalog,.how,.support{color:var(--ink)}
.logo span,.hero .eyebrow,.hero-visual figcaption,.feature-line .small,.rl,.entrance .badge,.badge,.theme-switch{font-size:12px}
header.site nav a{font-size:14px}.issue{min-height:44px}.issue .t a{display:inline-flex;align-items:center;min-height:24px}
.entrance a{display:inline-flex;align-items:center;min-height:24px}
@media(max-width:600px){header.site nav a{font-size:14px}.theme-switch{font-size:12px}.issue{min-height:48px}.hero{gap:30px}.hero-visual{margin-top:6px}}
 :root{--bg:#242729;--ink:#f5f4ef;--sub:#c2c6c4;--line:#515658;--soft:#34383a;--accent:#e6b891}header.site{background:#fff;color:#202326;border:0;margin-top:18px}header.site nav a{color:#202326}header.site .logo span{color:#575c60}main{margin-top:40px}.hero{gap:0;background:#151718;padding:40px}.hero-copy{padding-right:30px}.hero-visual{background:#e8e8e3}.hero-visual figcaption{background:#242729;padding-top:9px;color:#c2c6c4}.hero h1 .line:first-child{font-size:1.15em;letter-spacing:-.055em}.hero h1{font-weight:450}.hero p{color:#c2c6c4}.theme-switch{background:#fff}.preview{border-color:#515658}.hero .eyebrow{color:#e6b891}@media(max-width:600px){main{margin-top:24px}.hero{padding:24px 18px}.hero-copy{padding:0}.hero h1{font-size:34px}.hero-visual figcaption{padding-right:4px}}

/* Rev05: apply the hybrid palette after the Graphite structural override. */
:root{--bg:#f6f8f8;--ink:#202326;--sub:#575f63;--line:#d7dddf;--soft:#eaf1f2;--accent:#0b6fa4}
body{background:var(--bg);color:var(--ink)}
.hero{background:#15191b;color:#f5f7f7;border-top:4px solid #18a8aa}
.hero h1{color:#f5f7f7}.hero p{color:#c5d0d2}.hero .eyebrow{color:#42c3c3}
.hero-actions a{border-color:#e8f2f2;color:#e8f2f2}.hero-actions a:first-child{background:#0b6fa4;color:#fff;border-color:#0b6fa4}
.hero-visual figcaption{background:#15191b;color:#c5d0d2}
.feature-line,#sectors,#catalog,.how,.support{color:var(--ink)}
.preview{border-color:var(--line)}

/* Canonical Rev02: extend the adopted C Hybrid, keep the Rev05 hero/palette. */
.skip-link{position:absolute;left:20px;top:-90px;z-index:10;background:#fff;padding:12px}.skip-link:focus{top:10px}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.section-heading h2{margin-bottom:0}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--accent);font-weight:700}.section-heading>a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.published-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.published-cards .card{min-width:0}.published-cards .card a{height:100%;margin:0;border-radius:0;border:0;border-top:2px solid var(--accent);padding:24px;background:#fff;display:flex;flex-direction:column;transition:background .15s}.published-cards .card a:hover{background:var(--soft)}.card-top{display:flex;gap:14px;align-items:center}.card-top .card-number{font-size:40px;line-height:1;font-weight:400;color:var(--accent);letter-spacing:-.05em}.card-top .kicker{font-size:12px;margin:0}.card-arrow{margin-left:auto;color:var(--accent)}.published-cards h3{font-size:17px;line-height:1.65;margin:22px 0 10px;font-weight:650}.published-cards p{font-size:14px;color:var(--sub);margin:0 0 20px}.published-cards .card-cta{margin-top:auto;color:var(--accent);font-size:14px;font-weight:600;padding-top:12px;border-top:1px solid var(--line)}
.status-filters{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}.about-copy{max-width:850px;padding-top:30px}.about-copy h1{font-size:clamp(30px,4vw,50px);font-weight:550;letter-spacing:-.04em}.about-copy section{margin:50px 0}.about-copy h2{border-top:0}.footer-media{display:flex;flex-wrap:wrap;gap:16px}.footer-media a{display:inline-flex;min-height:44px;align-items:center}.cta{border-radius:0}header.site nav{gap:20px}.issue .t a{min-height:44px}.entrance a{min-height:30px}.how .dist li{color:var(--ink)}
@media(max-width:900px){.published-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.published-cards{grid-template-columns:1fr;gap:16px}.published-cards .card a{padding:20px}.section-heading{display:block}.section-heading>a{margin-top:10px}header.site nav{max-width:none;width:100%;justify-content:space-between;gap:8px}header.site nav a{font-size:13px}.about-copy{padding-top:15px}.about-copy section{margin:36px 0}.footer-media{gap:4px 16px}.card-top .card-number{font-size:36px}}

/* Rev03: cards lead into an illustrated Web digest before note. */
.published-cards .card-illustration{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;margin:20px 0 0;background:#151e24}.published-cards h3{margin-top:18px}.article-digest{max-width:850px;margin:30px auto 0}.article-digest h1{font-size:clamp(26px,3.4vw,42px);line-height:1.5;letter-spacing:-.025em}.article-digest>section{margin:36px 0}.article-digest .lead{font-size:18px;line-height:1.95}.digest-figure{margin:28px 0 36px}.digest-figure img{display:block;width:100%;height:auto}.digest-figure figcaption{font-size:12px;color:var(--sub);margin-top:10px}.article-digest .brief h2{font-size:21px}.note-gateway{border-top:2px solid var(--accent);padding:24px;background:var(--soft)}.note-gateway h2{margin-bottom:12px}.note-gateway p{font-size:15px}.note-gateway .cta{min-height:48px}.article-digest ul{padding-left:1.4em}@media(max-width:600px){.article-digest .lead{font-size:16px}.article-digest h1{font-size:26px}.note-gateway{padding:20px}.article-digest .cta{font-size:14px}}

/* Rev04: reuse note originals and give the article excerpt room to read. */
.published-cards .card-illustration{background:#fff;aspect-ratio:16/10;object-fit:contain}.digest-figure a{display:block}.digest-figure a:focus-visible{outline-offset:4px}.digest-figure img{max-height:720px;object-fit:contain;background:#fff}.source-excerpt h2{font-size:24px}.source-excerpt blockquote{margin:20px 0;padding:4px 0 4px 24px;border-left:3px solid #18a8aa;font-size:17px;line-height:2}.source-excerpt blockquote p{margin:0 0 18px}.source-excerpt blockquote p:last-child{margin-bottom:0}.excerpt-credit{font-size:12px;color:var(--sub)}.editorial-preview p{line-height:2;margin:20px 0}.continue-preview{border-top:1px solid var(--line);padding-top:26px}.continue-preview li{margin:12px 0}.detail-diagram{margin-top:42px}@media(max-width:600px){.source-excerpt blockquote{font-size:16px;padding-left:18px}.source-excerpt h2{font-size:22px}.digest-figure img{max-height:none}.editorial-preview p{font-size:16px}.continue-preview li{font-size:15px}}
