/* ==========================================================
   場面12｜迷った夜のために（夜＋役割カード＋チャット）
   ========================================================== */
.s12{height:200vh}
/* 場面12の夜（2026-09-14 調整）
   「深夜へ戻る」のではなく「まだ夜だが、朝へ向かっている」へ。
   前 … .80 / .74 / .86（LP内でいちばん濃く、中間でも一度も開かなかった）
   後 … .66 / .42 / .72（場面2の .72 / .55 / .80 より、どの位置でも濃くしない）
   色も真っ黒寄りから、夜明け前の青寄りへずらしている。文章・構成は変えていない。 */
.s12 .sticky-inner{background:#0d1526}
.s12 .veil{background:linear-gradient(180deg,rgba(7,14,30,.66) 0%,rgba(12,22,44,.42) 45%,rgba(5,11,24,.72) 100%)}
.s12 .sticky-content{color:#fff}
.s12 .h2{color:#fff;text-align:center;margin-bottom:24px}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:760px;margin:0 auto 18px}
.role{
  border:1px solid rgba(255,255,255,.28);
  padding:16px 14px;text-align:center;
  font-size:14px;line-height:1.75;letter-spacing:.03em;
  color:rgba(255,255,255,.94);
}
.s12-body{max-width:600px;margin:0 auto 20px;text-align:center;font-size:15px;line-height:1.9;color:rgba(255,255,255,.88)}
.chat-label{font-size:13px;letter-spacing:.12em;color:rgba(255,255,255,.62);margin:0 0 16px;text-align:center}
.chat{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:11px}
.turn{display:flex;flex-direction:column;max-width:88%}
.turn--you{align-self:flex-end;align-items:flex-end}
.turn--ai{align-self:flex-start;align-items:flex-start}
.speaker{font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.6);margin:0 0 5px}
.bub{font-size:14px;line-height:1.8;padding:11px 16px;border-radius:14px;background:var(--color-white);color:var(--color-text);border:1px solid rgba(255,255,255,.2);text-wrap:balance}
.turn--ai .bub{background:#e8f0fb}
.bubstack{display:grid;width:100%}
.bubstack > *{grid-area:1/1}
.typing{display:flex;gap:6px;align-items:center;padding:14px 16px;justify-self:start}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--color-blue-mid);opacity:.35;animation:blink 1.1s infinite}
.typing i:nth-child(2){animation-delay:.18s}
.typing i:nth-child(3){animation-delay:.36s}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:.9}}
.s12-end{max-width:600px;margin:20px auto 0;text-align:center;font-family:var(--font-heading);font-size:clamp(17px,2.4vw,20px);line-height:1.95;color:#fff}
