  /* podcast_script.css: ポッドキャストの原稿ページ（site/<work_id>/podcast.html）専用。
     site.css・reading.css の後に読み込む。単語の印（.vocab）・ふりがな（rt.furi）・辞書シートは reading.css のものをそのまま使う。
     クラスは ps- で始める。色は LITIM English の原稿ページ（templates/podcast/podcast_script.html）に合わせている */
  :root{
    --ps-ink:#1a1108;
    --ps-muted:#6f6558;
    --ps-rule:rgba(26,17,8,.12);
    --ps-gold-deep:#a06820;
    --ps-mio:#a3472a;
    --ps-ken:#2c5a8c;
    --ps-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
    --ps-serif:Georgia,"Times New Roman",serif;
    --ps-mincho:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  }
  /* 目次から飛んだとき、見出しが固定ヘッダー（64px）とサブバー（48px）に隠れないようにする。
     overflow-anchor: 英訳の切り替え時の位置合わせを podcast_script.js でやるので、ブラウザの自動補正と二重にならないよう止める */
  html{scroll-padding-top:128px; overflow-anchor:none;}

  .ps-wrap{
    max-width:760px;
    margin:0 auto;
    padding:calc(48px + 40px) 24px 72px;
    font-family:var(--ps-sans);
    color:var(--ps-ink);
  }

  /* ---- サブバーの切り替え（English / Furigana）---- */
  .tab-bar__right{gap:14px; padding-right:8px;}
  .ps-switch{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:36px;
    padding:0;
    border:0;
    background:none;
    color:#1d1d1f;
    font:inherit;
    font-size:12.5px;
    font-weight:600;
    cursor:pointer;
    white-space:nowrap;
  }
  .ps-switch-track{
    position:relative;
    flex:none;
    width:36px;
    height:21px;
    border-radius:999px;
    background:rgba(26,17,8,.22);
    transition:background .18s ease;
  }
  .ps-switch-track::after{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:15px;
    height:15px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.25);
    transition:transform .18s ease;
  }
  .ps-switch[aria-checked="true"] .ps-switch-track{background:var(--gold);}
  .ps-switch[aria-checked="true"] .ps-switch-track::after{transform:translateX(15px);}
  .ps-switch:focus-visible,
  .ps-btn:focus-visible,
  .ps-toc a:focus-visible{outline:2px solid var(--ps-gold-deep); outline-offset:2px;}

  /* ---- 見出し ---- */
  .ps-eyebrow{
    margin:0 0 14px;
    width:fit-content;
    background:var(--gold);
    color:var(--ps-ink);
    padding:4px 9px;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .ps-title{
    margin:0;
    font-family:var(--ps-mincho);
    font-size:clamp(32px,6vw,46px);
    line-height:1.25;
    font-weight:700;
    letter-spacing:.04em;
  }
  .ps-title-en{
    margin:8px 0 0;
    font-family:var(--ps-serif);
    font-size:17px;
    line-height:1.5;
    color:#3d352b;
  }
  .ps-sub{
    margin:14px 0 0;
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--ps-gold-deep);
  }
  .ps-lead{
    margin:14px 0 0;
    color:#3d352b;
    font-size:15px;
    line-height:1.8;
  }
  .ps-sample{
    padding:0 2px;
    border-bottom:2px solid rgba(255,165,0,.92);
    background:rgba(255,165,0,.12);
    border-radius:3px;
  }
  .ps-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:24px 0 0;
  }
  .ps-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 20px;
    border:1px solid var(--ps-ink);
    border-radius:2px;
    background:var(--ps-ink);
    color:#fff;
    font-size:14px;
    font-weight:700;
    letter-spacing:.02em;
    text-decoration:none;
    transition:background .15s ease,color .15s ease,border-color .15s ease;
  }
  .ps-btn:hover{background:#3a2c1a; border-color:#3a2c1a;}
  .ps-btn--ghost{background:transparent; color:var(--ps-ink); border-color:rgba(26,17,8,.3);}
  .ps-btn--ghost:hover{background:rgba(26,17,8,.06); border-color:var(--ps-ink);}
  .ps-btn--gold{background:var(--gold); border-color:var(--gold); color:#fff;}
  .ps-btn--gold:hover{background:var(--gold-hover); border-color:var(--gold-hover);}

  /* ---- 目次 ---- */
  .ps-toc{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 32px;
    margin:36px 0 0;
    padding:22px 0 6px;
    border-top:1px solid var(--ps-rule);
    border-bottom:1px solid var(--ps-rule);
  }
  .ps-toc h2{
    margin:0 0 8px;
    color:var(--ps-muted);
    font-size:12px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .ps-toc ol{list-style:none; margin:0 0 16px; padding:0;}
  .ps-toc a{
    display:flex;
    gap:10px;
    padding:7px 0;
    color:var(--ps-ink);
    font-family:var(--ps-serif);
    font-size:15.5px;
    line-height:1.45;
    text-decoration:none;
  }
  .ps-toc a:hover .ps-toc-title{text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px;}
  .ps-toc-no{
    flex:none;
    width:1.4em;
    color:var(--ps-gold-deep);
    font-family:var(--ps-sans);
    font-size:13px;
    font-weight:700;
    line-height:1.75;
  }

  /* ---- 本文 ---- */
  .reading-text.ps-text{padding:0;}
  .ps-text .ps-part{
    margin:40px 0 0;
    color:var(--ps-muted);
    font-family:var(--ps-sans);
    font-size:12px;
    font-weight:700;
    line-height:1.6;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .ps-seg{margin:0; padding:28px 0 8px;}
  .ps-seg + .ps-seg{border-top:1px solid var(--ps-rule); margin-top:22px;}
  .ps-part + .ps-seg{padding-top:14px;}
  .ps-text .ps-kicker{
    margin:0 0 6px;
    color:var(--ps-gold-deep);
    font-family:var(--ps-sans);
    font-size:12.5px;
    font-weight:700;
    line-height:1.6;
    letter-spacing:.08em;
  }
  .ps-seg-title{
    margin:0 0 20px;
    font-family:var(--ps-serif);
    font-size:clamp(21px,3.4vw,26px);
    line-height:1.3;
    font-weight:700;
    letter-spacing:0;
    text-wrap:balance;
  }
  .ps-row{margin:0 0 20px;}
  .ps-text .ps-ja{margin:0;}
  .ps-text .ps-en{
    display:none;
    margin:6px 0 0;
    padding:0 0 0 12px;
    border-left:2px solid rgba(200,134,42,.55);
    color:#4d4438;
    font-family:var(--ps-serif);
    font-size:.86em;
    line-height:1.7;
    letter-spacing:0;
  }
  body.ps-show-en .ps-text .ps-en{display:block;}

  /* 会話: 話者名を左に置く */
  .ps-seg--conversation .ps-row{
    display:grid;
    grid-template-columns:52px 1fr;
    gap:0 12px;
    align-items:baseline;
    margin-bottom:12px;
  }
  .ps-speaker{
    font-family:var(--ps-sans);
    font-size:13px;
    font-weight:700;
    letter-spacing:.04em;
    line-height:1.6;
  }
  .ps-speaker--mio{color:var(--ps-mio);}
  .ps-speaker--ken{color:var(--ps-ken);}

  /* ---- 末尾 ---- */
  .ps-end{
    margin:44px 0 0;
    padding:28px 0 0;
    border-top:1px solid var(--ps-rule);
  }
  .ps-end p{margin:0; color:#3d352b; font-size:14.5px; line-height:1.8;}
  .ps-end .ps-credit{margin:22px 0 0; color:var(--ps-muted); font-size:12px;}

  @media (max-width:640px){
    html{scroll-padding-top:124px;}
    .ps-wrap{padding:calc(48px + 28px) 18px 56px;}
    .ps-toc{grid-template-columns:1fr;}
    .ps-btn{flex:1 1 auto;}
    .tab-bar__right{gap:10px; padding-right:4px;}
    .ps-switch{font-size:12px; gap:6px;}
    .ps-seg--conversation .ps-row{grid-template-columns:1fr;}
    .ps-speaker{margin:0 0 -4px;}
  }
  @media (prefers-reduced-motion:reduce){
    .ps-btn,.ps-switch-track,.ps-switch-track::after{transition:none;}
  }
