    :root{
      --card:#231b28;
      --ink:#fff;
      --muted:#cfcfe8;
      --border:#3a2c44;
      --acc:#7c3aed;
      --shadow:0 8px 18px rgba(0,0,0,.35);
      --male:#2563eb;
      --female:#ec4899;
    }
    body.cinema{background:#120f14;color:var(--ink)}

    .wrap{max-width:1100px;margin:0 auto;padding:16px}
    .row{display:flex;gap:12px;align-items:center}
    .between{justify-content:space-between}
    .muted{color:var(--muted)}

    /* ヘッダー（高さ70px統一） */
    .site-header.cinema-header{background:#1a141b;border-bottom:1px solid var(--border)}
    .header-inner{ min-height:70px }
    .brand-logo{ height:70px }
    .cinema-menu .menu-icon{ height:70px }
    .cinema-menu .menu-link{ display:inline-flex; align-items:center; height:70px }
    .hamburger{ height:70px; line-height:70px; padding:0 16px }

    .meta-top{font-size:14px;color:var(--muted);margin:12px 0 4px}
    .title{font-size:28px;font-weight:800;margin:6px 0 14px}

    /* 概要枠 */
    .summary-box{
      background:#1a141b; border:1px solid var(--border); border-radius:12px;
      padding:10px; margin-bottom:14px; font-size:15px; color:#e8e6ee;
    }

    /* ポスター（少し小さめ） */
    .poster{
      position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;
      background:#0f0e12;aspect-ratio:16/9;max-width:860px;margin:0 auto;
    }
    .poster img.poster-img{width:100%;height:100%;object-fit:cover;display:block}
    .poster .play-big{
      position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
      width:80px;height:80px;border-radius:999px;background:rgba(0,0,0,.55);border:2px solid #fff;
      display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3
    }
    .poster .play-big::before{content:"▶";color:#fff;font-size:40px;margin-left:6px}
    .poster .stage{position:absolute;inset:0;display:none}
    .poster.playing .stage{display:block}
    .poster.playing img.poster-img{display:none}

    .btn{ border:1px solid var(--border); border-radius:10px; padding:10px 14px; color:#fff; background:#2d2433; cursor:pointer; transition:.15s }
    .btn:hover{ filter:brightness(1.05) }
    .btn.acc{ background:var(--acc); border-color:var(--acc) }

    .card{ background:#231b28;border:1px solid var(--border);border-radius:14px;padding:14px; box-shadow:var(--shadow) }

    /* ステージ */
    .stage{ position:relative; background:#0f0e12; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .stage .inner{ position:relative; inset:0; height:100% }
    .stage .bg{ position:absolute; inset:0; background-size:cover; background-position:center }
    .char-wrap{ position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:flex-start; pointer-events:none }
    .char-wrap.right{ justify-content:flex-end }
    .char-fig{ position:relative; filter:drop-shadow(0 12px 14px rgba(0,0,0,.35)) }
    .char-fig img{ display:block; width:100%; height:100%; object-fit:contain }
    .right-flip{ transform:scaleX(-1) }
    .pose-full{ height:76%; margin-bottom:0 }
    .pose-up{ height:118%; margin-bottom:-18% }
    .pose-up img{ object-position:top center }

    /* 吹き出し（ステージの下） */
    .dialogue-box{
      margin:10px auto 0; max-width:860px;
      background:#1a141b; border:2px solid var(--border); border-radius:12px; padding:10px; min-height:80px
    }
    .dialogue{ font-size:18px; line-height:1.5; margin:6px 0; display:flex; gap:8px; align-items:flex-start; opacity:.25; transition:opacity .25s }
    .dialogue.show{ opacity:1 }
    .dialogue.left{ justify-content:flex-start }
    .dialogue.right{ justify-content:flex-end }
    .dialogue.center{ justify-content:center }
    .speaker-icon{ width:22px; height:22px; flex:0 0 22px; margin-top:2px; background:#444; border-radius:50% }
    .speaker-text{ white-space:pre-wrap; color:#fff }
    .male .speaker-icon{ background:var(--male) }
    .male .speaker-text{ color:var(--male) }
    .female .speaker-icon{ background:var(--female) }
    .female .speaker-text{ color:var(--female) }

    /* コメントなど */
    .share{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
    .share a,.share button{ color:#fff; text-decoration:none }
    .share .btn{padding:8px 12px}
    .comment{padding:6px 0;border-bottom:1px dashed var(--border)}
    .input{background:#2d2433;color:#fff;border:1px solid #4a3a55;border-radius:8px;padding:8px 10px;outline:none}

    /* 他の作品スライダー（3列） */
    .slider-wrap{position:relative;margin-top:8px}
    .slider{
      display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*12px)/3);
      gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px;
    }
    .slide{scroll-snap-align:start}
    .navbtn{
      position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:999px;
      background:rgba(0,0,0,.5);border:1px solid #fff;display:flex;align-items:center;justify-content:center;cursor:pointer
    }
    .navbtn.left{left:-6px} .navbtn.right{right:-6px}
    .navbtn span{font-weight:700}
    @media (max-width:900px){ .slider{grid-auto-columns:calc((100% - 12px)/2)} }
    @media (max-width:600px){ .slider{grid-auto-columns:100%} }

    .site-footer{border-top:1px solid var(--border);padding:16px 0;text-align:center;color:var(--muted)}

    /* 他の作品スライダー（必須スタイル） */
.slider-wrap{ position: relative; }
.slider{
  display: flex;
  gap: 12px;
  overflow-x: auto;          /* ← 横スクロールを許可 */
  scroll-behavior: smooth;   /* ← スムーズに動く */
  -webkit-overflow-scrolling: touch;
  padding: 2px;
}
.slide{ flex: 0 0 clamp(220px, 28vw, 280px); }  /* 1カード幅を固定 */
.navbtn{
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(0,0,0,.5); border: 1px solid var(--border);
  color: #fff; cursor: pointer; z-index: 3;
  user-select: none;
}
.navbtn.left{  left: 6px; }
.navbtn.right{ right: 6px; }
.navbtn span{ pointer-events: none; }
.navbtn.disabled{ opacity: .35; cursor: default; }

#animeWiki .wiki-body { font-size: 14px; line-height: 1.85; }