/* GENAI-RON series styles: 生成AIのしくみ */
@import url("./style-common.css");

:root{
  --paper:#faf7f0;
  --paper2:#f7f4ec;
  --ink:#242424;
  --muted:#66625a;
  --subtle:#8a857c;
  --line:rgba(151,139,119,.36);
  --card:#fffdf8;
  --accent:#245c63;
  --teal:#245c63;
  --soft:#f1e8d8;
  --codex-001:#1f4e45;
  --codex-001-deep:#173a34;
  --codex-001-soft:#e6eee9;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.series-page{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;
  line-height:1.95;
  letter-spacing:.015em;
}
a{color:inherit;text-decoration-color:rgba(36,92,99,.45);text-underline-offset:.22em}

.series-hero{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:56px 0 38px;border-bottom:1px solid var(--line)}
.series-kicker{margin:0 0 12px;color:var(--subtle);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.series-hero h1{margin:0;font-size:clamp(42px,7vw,82px);line-height:1.05;letter-spacing:-.045em;font-weight:650}
.series-subtitle{margin:24px 0 0;max-width:850px;font-size:clamp(18px,2.1vw,24px);line-height:1.78;color:var(--ink)}
.series-copy{margin:24px 0 0;max-width:850px;padding:18px 0 0;border-top:1px solid var(--line);background:transparent;border-radius:0;color:var(--muted);font-size:17px}
.series-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.series-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--accent);border-radius:0;background:transparent;color:var(--accent);text-decoration:none;font-size:14px}
.series-button:hover{background:rgba(36,92,99,.08);text-decoration:none}.series-button.secondary{background:transparent;color:var(--accent)}
.series-main{width:min(1120px,calc(100% - 32px));margin:0 auto 90px}.series-section{margin:0 0 48px;padding-top:32px;border-top:1px solid var(--line)}.series-section:first-child{border-top:0}.series-section h2{margin:0 0 18px;font-size:clamp(24px,3.4vw,36px);line-height:1.35;font-weight:600}.series-section>p{max-width:820px}
.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.topic-card,.article-card,.note-box{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:18px 0;box-shadow:none}.topic-card h3{margin:0 0 6px;font-size:18px}.topic-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.article-grid{display:grid;grid-template-columns:1fr;gap:0}.article-card{position:relative;display:grid;grid-template-columns:4.2em minmax(0,1fr);column-gap:16px;row-gap:8px}.article-number{grid-row:1 / span 4;display:inline-flex;width:auto;height:auto;align-items:flex-start;justify-content:flex-start;border:0;border-radius:0;color:var(--subtle);font-family:Georgia,"Times New Roman",serif;font-size:15px;letter-spacing:.1em}.article-card h3{margin:0;font-size:22px;line-height:1.45}.article-card p{margin:0;color:var(--muted)}.article-phrase{padding:10px 0 0;border-left:0;border-top:1px solid var(--line);background:transparent;border-radius:0;color:var(--ink)!important;font-size:14px}.article-link{justify-self:start;margin-top:4px;color:var(--accent);font-size:14px}
.series-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.note-box h3{margin:0 0 10px}.note-box p,.note-box li{color:var(--muted)}.share-lines{display:grid;gap:0}.share-lines p{margin:0;padding:14px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.series-footer{padding:36px 0;border-top:1px solid var(--line);text-align:center;color:var(--subtle);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.series-footer p{font-size:0;margin:0}.series-footer p::before{content:"GENAI-RON｜Research Archive of Generative AI";font-size:12px}

/* GENAI-RON叢書 001 */
body.codex-volume{--accent:var(--codex-001);--line:rgba(31,78,69,.34)}
.codex-volume .series-header{border-bottom:3px solid var(--codex-001);background:rgba(250,247,240,.96)}
.codex-volume .series-brand-main{color:var(--codex-001-deep)}
.codex-volume .series-nav a{color:var(--codex-001-deep)}
.codex-cover{position:relative;padding:64px 0 54px;border-bottom:4px solid var(--codex-001)}
.codex-cover::before{content:"";position:absolute;left:0;top:0;width:9px;height:100%;background:var(--codex-001)}
.codex-cover .series-kicker{display:inline-block;margin-left:28px;padding:6px 10px;border:1px solid var(--codex-001);color:var(--codex-001-deep);font-size:13px;letter-spacing:.2em;background:rgba(230,238,233,.55)}
.codex-cover h1{margin-left:28px;max-width:840px;font-size:clamp(54px,9vw,108px);letter-spacing:-.06em;color:var(--codex-001-deep)}
.codex-subtitle{margin:18px 0 0 28px;color:var(--codex-001-deep);font-size:clamp(20px,2.6vw,30px);line-height:1.55;letter-spacing:.08em}
.codex-cover .series-subtitle{margin-left:28px;max-width:760px;color:var(--muted);font-size:clamp(18px,2vw,23px)}
.codex-credit{margin:28px 0 0 28px;color:var(--subtle);font-size:14px;line-height:1.7;letter-spacing:.08em}.codex-credit span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.codex-main{margin-top:38px}.codex-contents h2{font-size:clamp(26px,3.8vw,42px);color:var(--codex-001-deep)}
.codex-volume .article-card{grid-template-columns:5.2em minmax(0,1fr);padding:20px 0;border-top-color:rgba(31,78,69,.32)}
.codex-volume .article-number{color:var(--codex-001);font-size:22px;font-weight:700;letter-spacing:.08em}
.codex-volume .article-card h3 a{color:var(--codex-001-deep);text-decoration-color:rgba(31,78,69,.35)}
.codex-volume .article-card h3 a:hover{text-decoration-color:var(--codex-001)}
.codex-volume .article-phrase{border-top-color:rgba(31,78,69,.28);font-size:15px;color:var(--codex-001-deep)!important}
.codex-note{border-top:1px solid rgba(31,78,69,.32);padding-top:22px}.codex-note h2{color:var(--codex-001-deep)}

/* 平易版各章：HTMLを個別改稿せず、叢書001の帯として見せる */
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])){
  --accent:var(--codex-001);
  --line:rgba(31,78,69,.34);
}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-header{border-bottom:3px solid var(--codex-001);background:rgba(250,247,240,.96)}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-brand-main,
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-nav a{color:var(--codex-001-deep)}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero{position:relative;padding-top:52px;border-bottom:4px solid var(--codex-001)}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero::before{content:"";position:absolute;left:0;top:0;width:8px;height:100%;background:var(--codex-001)}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker{display:inline-block;margin-left:26px;padding:6px 10px;border:1px solid var(--codex-001);background:rgba(230,238,233,.55);color:var(--codex-001-deep);font-size:0}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker::before{content:"GENAI-RON叢書 001｜";font-size:13px;letter-spacing:.18em}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker::after{content:"生成AIのしくみ";font-size:13px;letter-spacing:.18em}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero h1{margin-left:26px;color:var(--codex-001-deep)}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-subtitle,
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-copy{margin-left:26px}
body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .note-box h2{color:var(--codex-001-deep)}


/* Site UI normalization PR-B: 001 / 002 article width and codex alignment
   Scope: legacy 001 / 002 article pages only.
   Issue: #27
*/
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])),
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]){
  --codex-accent:#245c63;
  --codex-accent-deep:#173a34;
  --codex-line:rgba(36,92,99,.38);
  --accent:var(--codex-accent);
  --line:var(--codex-line);
  --codex-article-container:min(1040px,calc(100% - 40px));
  --codex-article-reader:min(860px,100%);
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-header,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-header{
  border-bottom:3px solid var(--codex-accent);
  background:rgba(250,247,240,.96);
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-brand-main,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-nav a,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-brand-main,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-nav a{
  color:var(--codex-accent-deep);
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-main,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-main{
  width:var(--codex-article-container);
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero{
  position:relative;
  padding:52px 0 34px;
  border-bottom:4px solid var(--codex-accent);
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero::before,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:8px;
  height:100%;
  background:var(--codex-accent);
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-kicker{
  display:inline-block;
  margin-left:26px;
  padding:6px 10px;
  border:1px solid var(--codex-accent);
  background:rgba(230,238,233,.55);
  color:var(--codex-accent-deep);
  font-size:13px;
  letter-spacing:.18em;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero h1,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero h1{
  margin-left:26px;
  max-width:980px;
  color:var(--codex-accent-deep);
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-subtitle,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-copy,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-subtitle,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-copy{
  margin-left:26px;
  max-width:840px;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-main,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-main{
  margin-top:34px;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-main > article.note-box,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-main > article.note-box{
  max-width:var(--codex-article-reader);
  margin:0 auto 72px 0;
  padding:28px 0 46px;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-main > article.note-box h2,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-main > article.note-box h2{
  color:var(--codex-accent-deep);
}

@media(max-width:560px){
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])),
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]){
    --codex-article-container:min(100% - 28px,1040px);
  }

  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero h1,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-subtitle,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-copy,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-kicker,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero h1,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-subtitle,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-copy{
    margin-left:18px;
  }
}


/* Site UI normalization PR-B follow-up: 001 / 002 visual stabilization
   Scope: legacy 001 / 002 article pages only.
   Issue: #27
*/
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .article-text-size-control,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .article-text-size-control{
  display:none!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-header-inner,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-header-inner{
  width:min(1040px,calc(100% - 40px))!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-nav,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-nav{
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif!important;
  font-size:13px!important;
  line-height:1.4!important;
  white-space:nowrap!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero{
  width:min(1040px,calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:54px 0 46px!important;
  border-bottom:4px solid var(--codex-accent,#245c63)!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero::before,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:8px!important;
  height:100%!important;
  background:var(--codex-accent,#245c63)!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-kicker{
  display:inline-block!important;
  margin:0 0 0 26px!important;
  padding:6px 10px!important;
  border:1px solid var(--codex-accent,#245c63)!important;
  background:rgba(230,238,233,.55)!important;
  color:var(--codex-accent-deep,#173a34)!important;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif!important;
  font-size:13px!important;
  line-height:1.35!important;
  letter-spacing:.2em!important;
  text-transform:none!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker::before,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker::after{
  content:none!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero h1,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero h1{
  margin:18px 0 0 26px!important;
  max-width:980px!important;
  color:var(--codex-accent-deep,#173a34)!important;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif!important;
  font-size:clamp(42px,5.4vw,72px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:650!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-subtitle,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-subtitle{
  margin:24px 0 0 26px!important;
  max-width:840px!important;
  color:var(--ink,#242424)!important;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif!important;
  font-size:clamp(16px,1.55vw,19px)!important;
  line-height:1.82!important;
  letter-spacing:.015em!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-copy,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-copy{
  margin:24px 0 0 26px!important;
  max-width:840px!important;
  padding:18px 0 0!important;
  border-top:1px solid var(--line,rgba(36,92,99,.38))!important;
  color:var(--muted,#66625a)!important;
  font-size:15px!important;
  line-height:1.85!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-main,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-main{
  width:min(1040px,calc(100% - 40px))!important;
  margin:34px auto 90px!important;
}

body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-main > article.note-box,
body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-main > article.note-box{
  max-width:min(860px,100%)!important;
  margin:0 auto 72px 0!important;
  padding:28px 0 46px!important;
  border-top:1px solid var(--line,rgba(36,92,99,.38))!important;
  background:transparent!important;
  box-shadow:none!important;
}

@media(max-width:560px){
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-header-inner,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-header-inner,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-main,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-main{
    width:min(100% - 28px,1040px)!important;
  }

  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero h1,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-subtitle,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-copy,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-kicker,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero h1,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-subtitle,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-copy{
    margin-left:18px!important;
  }

  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero h1,
  body.series-page:not(.series-page-compact):has(.series-nav a[href="/series/genai-shikumi-technical/"]) .series-hero h1{
    font-size:clamp(38px,11vw,54px)!important;
  }
}


/* Site UI normalization PR-C: 003 mixed-state stabilization
   Scope: deep-dive / 叢書003 only.
   Issue: #27

   003 currently mixes legacy compact pages and structured publishing pages.
   Until the whole volume is migrated or reading controls are reintroduced
   by explicit policy, hide reading controls on 003 to avoid per-page UI drift.
*/
body.series-page-compact:has(.series-nav a[href="/series/genai-shikumi-deep-dive/"]) .reading-preferences,
body.series-page-compact:has(.series-nav a[href="/series/genai-shikumi-deep-dive/"]) .article-text-size-control{
  display:none!important;
}

body.series-page-compact:has(.series-nav a[href="/series/genai-shikumi-deep-dive/"]){
  --codex-accent:#245c63;
  --codex-accent-deep:#173a34;
  --codex-line:rgba(36,92,99,.38);
  --accent:var(--codex-accent);
  --line:var(--codex-line);
}

body.series-page-compact:has(.series-nav a[href="/series/genai-shikumi-deep-dive/"]) .series-header{
  border-bottom:3px solid var(--codex-accent);
  background:rgba(250,247,240,.96);
}

body.series-page-compact:has(.series-nav a[href="/series/genai-shikumi-deep-dive/"]) .series-brand-main,
body.series-page-compact:has(.series-nav a[href="/series/genai-shikumi-deep-dive/"]) .series-nav a{
  color:var(--codex-accent-deep);
}

body.series-page-compact:has(.series-nav a[href="/series/genai-shikumi-deep-dive/"]) .series-kicker{
  color:var(--codex-accent-deep);
}

body.series-page-compact:has(.series-nav a[href="/series/genai-shikumi-deep-dive/"]) .series-main > article.note-box h2{
  color:var(--codex-accent-deep);
}

@media(max-width:900px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.series-two-col{grid-template-columns:1fr}}
@media(max-width:560px){
  body.series-page{font-size:18px;line-height:1.9}.series-hero{padding:44px 0 32px}.series-kicker{font-size:16px}.series-hero h1{font-size:clamp(42px,13vw,64px)}.series-subtitle{font-size:22px;line-height:1.72}.series-copy{font-size:20px;line-height:1.72}.topic-grid{grid-template-columns:1fr}.article-card,.topic-card,.note-box{border-radius:0;padding:18px 0}.topic-card p,.article-card p,.note-box p,.note-box li{font-size:18px;line-height:1.78}.article-grid{grid-template-columns:1fr}.article-card{grid-template-columns:3.2em minmax(0,1fr);column-gap:12px}.article-card h3{font-size:26px}.article-number{font-size:17px}.article-phrase,.article-link{font-size:17px}.series-section h2{font-size:30px}.series-actions{display:grid}.series-button{width:100%;font-size:18px;padding:11px 14px}
  .codex-cover{padding:48px 0 38px}.codex-cover::before{width:6px}.codex-cover .series-kicker,.codex-cover h1,.codex-subtitle,.codex-cover .series-subtitle,.codex-credit{margin-left:18px}.codex-cover .series-kicker{font-size:14px}.codex-cover h1{font-size:clamp(50px,15vw,76px)}.codex-subtitle{font-size:22px}.codex-volume .article-card{grid-template-columns:3.6em minmax(0,1fr)}.codex-volume .article-number{font-size:22px}
  body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-kicker,
  body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-hero h1,
  body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-subtitle,
  body.series-page:has(.series-nav a[href="/series/genai-shikumi/"]):not(:has(.series-nav a[href="/series/genai-shikumi-technical/"])) .series-copy{margin-left:18px}
}

html[data-article-text-size="small"]{
  --article-reader-scale:.92;
  --article-reader-size:15.6px;
  --article-reader-h2-size:1.43rem;
  --article-reader-h3-size:1.06rem;
}

html[data-article-text-size="normal"],
html:not([data-article-text-size]){
  --article-reader-scale:1;
  --article-reader-size:17px;
  --article-reader-h2-size:1.55rem;
  --article-reader-h3-size:1.15rem;
}

html[data-article-text-size="large"]{
  --article-reader-scale:1.12;
  --article-reader-size:19px;
  --article-reader-h2-size:1.74rem;
  --article-reader-h3-size:1.29rem;
}

html[data-article-text-size="x-large"]{
  --article-reader-scale:1.25;
  --article-reader-size:21.25px;
  --article-reader-h2-size:1.94rem;
  --article-reader-h3-size:1.44rem;
}

.article-text-size-control{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:0 0 12px;
  padding:18px 0 0;
  color:var(--muted);
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;
}

.article-text-size-label{
  font-size:13px;
  line-height:1.4;
  letter-spacing:.06em;
}

.article-text-size-options{
  display:inline-flex;
  border:1px solid var(--line);
  background:color-mix(in srgb, var(--paper) 76%, transparent);
}

.article-text-size-button{
  appearance:none;
  border:0;
  border-left:1px solid var(--line);
  background:transparent;
  color:var(--accent);
  min-width:3.6em;
  padding:7px 10px;
  font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;
  cursor:pointer;
}

.article-text-size-button:first-child{
  border-left:0;
}

.article-text-size-button[aria-pressed="true"]{
  background:var(--accent);
  color:var(--theme-button-text, #fffdf8);
}

.article-text-size-button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.series-main > article.note-box{
  font-size:var(--article-reader-size);
  line-height:1.95;
}

.series-main > article.note-box p,
.series-main > article.note-box li{
  font-size:var(--article-reader-size);
  line-height:1.95;
}

.series-main > article.note-box h2{
  font-size:var(--article-reader-h2-size);
  line-height:1.45;
}

.series-main > article.note-box h3{
  font-size:var(--article-reader-h3-size);
  line-height:1.55;
}

.series-main > article.note-box blockquote,
.series-main > article.note-box .article-phrase{
  font-size:var(--article-reader-size);
  line-height:1.9;
}

@media(max-width:560px){
  html[data-article-text-size="small"]{
    --article-reader-size:16.5px;
    --article-reader-h2-size:1.45rem;
    --article-reader-h3-size:1.08rem;
  }

  html[data-article-text-size="normal"],
  html:not([data-article-text-size]){
    --article-reader-size:18px;
    --article-reader-h2-size:1.58rem;
    --article-reader-h3-size:1.18rem;
  }

  html[data-article-text-size="large"]{
    --article-reader-size:20.2px;
    --article-reader-h2-size:1.77rem;
    --article-reader-h3-size:1.32rem;
  }

  html[data-article-text-size="x-large"]{
    --article-reader-size:22.5px;
    --article-reader-h2-size:1.98rem;
    --article-reader-h3-size:1.48rem;
  }

  .article-text-size-control{
    align-items:stretch;
    justify-content:flex-start;
    gap:8px;
    margin:0 0 16px;
    padding-top:16px;
  }

  .article-text-size-options{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    width:100%;
  }

  .article-text-size-button{
    min-width:0;
    padding:10px 6px;
    font-size:14px;
  }

  .series-main > article.note-box p,
  .series-main > article.note-box li{
    line-height:1.9;
  }
}

@media print{
  @page{size:A4;margin:14mm 16mm 16mm}
  html,body{background:#fff!important;color:#111!important}
  body.series-page{font-size:10.2pt;line-height:1.55;letter-spacing:0}
  .series-header,.series-footer{display:none!important}
  .series-hero{width:100%;padding:0 0 7mm;margin:0 0 6mm;border-bottom:1.5pt solid #173a34;break-after:auto}
  .series-hero::before{display:none!important}
  .series-kicker{margin:0 0 5mm!important;padding:0!important;border:0!important;background:transparent!important;color:#173a34!important;font-size:8.5pt!important;letter-spacing:.12em!important}
  .series-hero h1{margin:0!important;font-size:30pt!important;line-height:1.08!important;letter-spacing:-.03em!important;color:#173a34!important}
  .series-subtitle{margin:4mm 0 0!important;max-width:none!important;font-size:11pt!important;line-height:1.5!important;color:#333!important}
  .series-copy{margin:4mm 0 0!important;padding:3mm 0 0!important;font-size:10.5pt!important;line-height:1.5!important;color:#333!important;border-top:.5pt solid #bbb!important}
  .series-main{width:100%;margin:0}.note-box{padding:0!important;border-top:0!important;background:transparent!important}
  .note-box h2{font-size:15pt!important;line-height:1.25!important;margin:6mm 0 2.5mm!important;color:#173a34!important;break-after:avoid}
  .note-box p{font-size:10.2pt!important;line-height:1.56!important;margin:0 0 3.2mm!important;color:#111!important}
  .article-phrase{font-size:10pt!important;line-height:1.45!important;margin:3mm 0!important;padding:2mm 0 0!important;border-top:.5pt solid #bbb!important;color:#173a34!important}
  a{text-decoration:none;color:#111!important}
  h2,h3{break-after:avoid}p{orphans:2;widows:2}
  .series-section,.article-card{break-inside:avoid}
}

/* Deep Dive pages: Notion-like article rendering */
body.series-page-compact{
  background:#f7f3ea;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;
  line-height:1.78;
  letter-spacing:0;
}

body.series-page-compact .series-hero,
body.series-page-compact .series-main{
  width:min(920px,calc(100% - 48px));
}

body.series-page-compact .series-hero{
  padding:42px 0 24px;
}

body.series-page-compact .series-hero h1{
  font-size:clamp(34px,5vw,58px);
  line-height:1.18;
  letter-spacing:-.035em;
  font-weight:760;
}

body.series-page-compact .series-subtitle{
  max-width:760px;
  font-size:18px;
  line-height:1.75;
  color:#37352f;
}

body.series-page-compact .series-main > article.note-box{
  margin:0 auto 72px;
  padding:34px 38px 46px;
  border:1px solid rgba(55,53,47,.12);
  border-radius:14px;
  background:#fffdf8;
  box-shadow:0 18px 45px rgba(31,25,12,.06);
  color:#1f1f1f;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;
  font-size:16.5px;
  line-height:1.86;
}

body.series-page-compact .series-main > article.note-box p,
body.series-page-compact .series-main > article.note-box li{
  color:#202124;
  font-size:16.5px;
  line-height:1.86;
}

body.series-page-compact .series-main > article.note-box p{
  margin:1.05em 0;
}

body.series-page-compact .series-main > article.note-box ul,
body.series-page-compact .series-main > article.note-box ol{
  margin:1em 0 1.2em;
  padding-left:1.55em;
}

body.series-page-compact .series-main > article.note-box li{
  margin:.42em 0;
}

body.series-page-compact .series-main > article.note-box h2{
  margin:2.2em 0 .85em;
  padding-top:.2em;
  color:#111827;
  font-size:1.65rem;
  line-height:1.42;
  font-weight:780;
  letter-spacing:-.015em;
}

body.series-page-compact .series-main > article.note-box h2:first-child{
  margin-top:.2em;
}

body.series-page-compact .series-main > article.note-box h3{
  margin:2em 0 .7em;
  color:#111827;
  font-size:1.28rem;
  line-height:1.5;
  font-weight:740;
}

body.series-page-compact .series-main > article.note-box h4{
  margin:1.8em 0 .55em;
  color:#111827;
  font-size:1.08rem;
  line-height:1.5;
  font-weight:720;
}

body.series-page-compact .series-main > article.note-box blockquote{
  margin:1.4em 0;
  padding:.8em 1em;
  border-left:4px solid rgba(36,92,99,.34);
  border-radius:8px;
  background:#f6f3ed;
  color:#37352f;
}

body.series-page-compact .series-main > article.note-box blockquote p{
  margin:.35em 0;
}

body.series-page-compact .series-main > article.note-box code{
  padding:.16em .38em;
  border-radius:5px;
  background:#f1f1ef;
  color:#d13b3b;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:.88em;
  letter-spacing:0;
}

body.series-page-compact .series-main > article.note-box pre{
  margin:1.25em 0 1.45em;
  padding:22px 24px;
  overflow:auto;
  border:0;
  border-radius:10px;
  background:#f7f6f3;
  color:#242424;
  box-shadow:none;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:14px;
  line-height:1.7;
  letter-spacing:0;
}

body.series-page-compact .series-main > article.note-box pre code{
  display:block;
  padding:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-size:inherit;
  line-height:inherit;
  white-space:pre;
}

body.series-page-compact .series-main > article.note-box table{
  width:100%;
  margin:1.4em 0 1.7em;
  border-collapse:collapse;
  border:1px solid rgba(55,53,47,.16);
  background:#fff;
  font-size:15px;
  line-height:1.65;
}

body.series-page-compact .series-main > article.note-box th,
body.series-page-compact .series-main > article.note-box td{
  padding:10px 12px;
  border:1px solid rgba(55,53,47,.14);
  vertical-align:top;
}

body.series-page-compact .series-main > article.note-box th{
  background:#f1eadb;
  color:#111827;
  font-weight:700;
}

body.series-page-compact .series-main > article.note-box tr:nth-child(even) td{
  background:#fbfaf7;
}

body.series-page-compact .series-main > article.note-box details{
  margin:1.25em 0;
  padding:0;
  border:1px solid rgba(55,53,47,.14);
  border-radius:10px;
  background:#fbfaf7;
}

body.series-page-compact .series-main > article.note-box summary{
  cursor:pointer;
  padding:12px 14px;
  color:#37352f;
  font-weight:650;
}

body.series-page-compact .series-main > article.note-box details > *:not(summary){
  margin-left:14px;
  margin-right:14px;
}

body.series-page-compact .series-main > article.note-box hr{
  margin:2em 0;
  border:0;
  border-top:1px solid rgba(55,53,47,.16);
}

body.series-page-compact .article-nav{
  margin-top:42px;
  padding-top:20px;
  border-top:1px solid rgba(55,53,47,.14);
}

@media(max-width:640px){
  body.series-page-compact .series-hero,
  body.series-page-compact .series-main{
    width:min(100% - 28px,920px);
  }

  body.series-page-compact .series-main > article.note-box{
    padding:24px 18px 34px;
    border-radius:12px;
    font-size:16px;
  }

  body.series-page-compact .series-main > article.note-box p,
  body.series-page-compact .series-main > article.note-box li{
    font-size:16px;
  }

  body.series-page-compact .series-main > article.note-box pre{
    padding:16px;
    font-size:13px;
  }

  body.series-page-compact .series-main > article.note-box table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
}
