/* ギャラリーの「壁」（CEO 2026-11-12）。9 面の格子。上映時は左上 2×2 が本編、[3] 反応、[6] 次に流れる・AiCuTV、
   [7][8] 作品の情報、[9] AiCuty・協賛。色はギャラリーの変数（--ink / --edge / --cyan）を使い、新しい色を作らない */
.wall{position:relative;margin:0 0 18px}
/* 壁を開いているあいだ、ギャラリーの見出し・操作列・注記は隠す（スクロールせずに 3×3 を収める・CEO 2026-11-12） */
body.wall-open .top,body.wall-open .bar,body.wall-open .note,body.wall-open .credo,body.wall-open .brand,body.wall-open #mount{display:none!important}
body.wall-open .wrap,body.wall-open main{padding-top:8px}
/* パートナーの帯は、壁のあいだは [5]（AiCuTV）か上映の [9] の下端に置く（CEO 2026-11-12「下の広告を撤去して 5 に統合」） */
/* 上映中に [9] に移した帯は 34px の細い帯（#1257 のあと、ギャラリーの回転帯 pr-roll が JS で min-height:126px と画像の高さを
   直に書くので、[5] の下半分が白く覆われていた・CEO 2026-11-12）。!important は JS の inline を上書きするため */
body.wall-open footer.partners{display:none}   /* 一覧のあいだは帯を出さない（広告は AiCuTV の枠の中で流す・CEO 2026-11-12） */
body.wall-open .has-strip > footer.partners{display:block;position:absolute;left:0;right:0;bottom:0;top:auto;z-index:4;padding:0;height:34px;overflow:hidden;background:rgba(255,255,255,.94);border-top:0}
body.wall-open footer.partners .strip{gap:18px;padding:0 10px;min-height:0!important;min-width:0!important;height:34px}
body.wall-open footer.partners .strip .pr-slide{height:34px;display:flex;align-items:center;gap:8px}
body.wall-open footer.partners .strip img{height:auto!important;max-height:22px;max-width:140px;width:auto;object-fit:contain}   /* 横長のワードマーク（ElevenLabs 272px 幅）が帯を占めないよう幅でも抑える */
body.wall-open footer.partners .strip .role,body.wall-open footer.partners .strip .pr-role{font-size:9px;letter-spacing:.12em;margin:0 4px 0 0}
body.wall-open footer.partners > :not(.strip){display:none}
.wt.has-strip iframe,.wt.has-strip video{height:calc(100% - 34px)}
.wt.pane.has-strip{padding-bottom:42px}
.wt{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.wt{transition:none}}
.wt.focus{outline:2px solid #fff;outline-offset:-2px}
.wall-help{position:fixed;inset:0;z-index:2147481000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.wall-help[hidden]{display:none}
.wall-help .box{background:#0b0a1a;color:var(--ink);border:1px solid var(--edge);border-radius:12px;padding:18px 22px;max-width:560px;width:100%;font-size:14px;line-height:1.7}
.wall-help h3{margin:0 0 8px;font-size:16px}
.wall-help dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}
.wall-help dt{font-family:ui-monospace,Menlo,monospace;color:var(--cyan)}.wall-help dd{margin:0}
.wall-help .close{margin-top:12px}
.wall[hidden]{display:none}
.wall-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 10px;font-size:14px;color:var(--ink)}
.wall-head .hint{opacity:.75}
.wall-head .wl-back{margin-left:auto}
.wall-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:6px;aspect-ratio:16/9;width:100%;max-height:calc(100svh - 140px)}
.wall-grid.play{grid-template-areas:"m m e" "m m p" "i i a"}
.wall-grid.browse{grid-template-areas:"c n v" "a tv b" "d f g"}
.wt.pane-cat{grid-area:c}.wt.pane-news{grid-area:n}.wt.pane-vote{grid-area:v}.wt.tv{grid-area:tv}
.wt.ch1{grid-area:a}.wt.ch2{grid-area:b}.wt.ch3{grid-area:d}.wt.ch4{grid-area:f}.wt.ch5{grid-area:g}
.wt.tv .tvlink{position:absolute;inset:0;display:block;color:#fff;text-decoration:none;background:linear-gradient(135deg,#1a1240,#0b0a1a)}
.wt .wt-role{position:absolute;right:8px;bottom:8px;z-index:4;pointer-events:none;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.25)}
.wt img.still{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;transition:opacity .6s}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--edge);background:transparent;color:var(--ink);font-size:12.5px;cursor:pointer}
.chip i{font-style:normal;opacity:.6;font-size:11px}
.chip.on{border-color:var(--cyan);color:var(--cyan)}
.news li{display:flex;gap:8px;align-items:baseline;padding:3px 0;font-size:13px;line-height:1.4}
.news .at{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;opacity:.7;white-space:nowrap}
.news a{color:var(--ink);text-decoration:none}.news a:hover{text-decoration:underline}
.pane .cd{font-family:ui-monospace,Menlo,monospace;font-size:30px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.pane .btn.vote{align-self:flex-start;background:var(--cyan);color:#0b0a1a;border-color:var(--cyan)}
.wt{position:relative;min-width:0;min-height:0;background:#000;border-radius:8px;overflow:hidden;border:1px solid var(--edge)}
.wt iframe,.wt video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.wt img.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wt .wt-touch{position:absolute;inset:0;z-index:3;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
/* 作品情報の帯: プレイヤー（z 1）と透明なタッチ層（z 3）のあいだ（z 2）に置く（CEO 2026-11-12）。押す邪魔にならず、常に読める */
.wt .wt-label{position:absolute;left:0;right:0;bottom:0;z-index:2;pointer-events:none;color:#fff;font-size:12px;line-height:1.35;
  padding:28px 10px 9px;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.78) 55%,rgba(0,0,0,.9));display:flex;flex-direction:column;gap:2px}
.wt .wt-label b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wt .wt-label small{opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wt.main .wt-label{padding:40px 14px 12px;font-size:13.5px}
.wt.main .wt-label b{font-size:18px;white-space:normal}
.wt.has-strip .wt-label{bottom:34px}
.wt .wt-role{z-index:2}
.wt .wt-lane{position:absolute;left:8px;top:8px;z-index:4;pointer-events:none;font-size:11px;letter-spacing:.06em;padding:2px 8px;border-radius:999px;
  background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.25)}
.wt .wt-vol{position:absolute;right:8px;top:8px;z-index:4;pointer-events:none;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff}
.wt .wt-vol[hidden]{display:none}
.wt.sound{outline:2px solid var(--cyan);outline-offset:-2px}
/* 押した場所に波紋 */
.wt .ripple{position:absolute;z-index:5;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid #fff;opacity:.9;pointer-events:none;
  animation:wt-ripple .7s ease-out forwards}
@keyframes wt-ripple{to{transform:scale(14);opacity:0}}
@media (prefers-reduced-motion:reduce){.wt .ripple{animation-duration:.2s}}
/* ドーナツ型の音量（右クリック・長押し）。角度が音量 */
.wt-donut{position:absolute;z-index:6;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;
  background:conic-gradient(var(--cyan) calc(var(--v,0)*1%),rgba(255,255,255,.18) 0);
  -webkit-mask:radial-gradient(circle,transparent 36px,#000 37px);mask:radial-gradient(circle,transparent 36px,#000 37px);cursor:grab;touch-action:none}
.wt-donut-label{position:absolute;z-index:7;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:15px;pointer-events:none;text-shadow:0 1px 2px #000}
/* 上映時の面 */
.wt.main{grid-area:m}.wt.pane-e{grid-area:e}.wt.pane-p{grid-area:p}.wt.pane-i{grid-area:i}.wt.pane-a{grid-area:a}
.pane{background:#0b0a1a;color:var(--ink);padding:10px 12px;overflow:auto;font-size:13.5px;line-height:1.55;display:flex;flex-direction:column;gap:8px}
.pane h4{margin:0;font-size:12px;letter-spacing:.08em;opacity:.7;text-transform:uppercase}
.pane h3{margin:0;font-size:16px;line-height:1.3}
.pane .by{opacity:.85}
.pane .sum{font-size:13px;opacity:.9;max-height:9em;overflow:auto}
.pane .links{display:flex;flex-wrap:wrap;gap:6px}
.pane .links a,.pane .emo button,.pane .btnsm{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--edge);
  color:var(--ink);text-decoration:none;font-size:13px;background:transparent;cursor:pointer}
.pane .emo button{font-size:18px;padding:0 10px}
.pane .emo button.on{border-color:var(--cyan)}
.pane textarea{width:100%;min-height:52px;border-radius:8px;border:1px solid var(--edge);background:#000;color:var(--ink);font:inherit;padding:6px 8px;resize:vertical}
.pane .cm{font-size:12.5px;border-top:1px solid var(--edge);padding-top:6px}
.pane .cm b{font-size:12px;opacity:.8;display:block}
.pane .prog li{display:flex;gap:8px;align-items:baseline;padding:2px 0}
.pane .prog .at{font-family:ui-monospace,Menlo,monospace;font-size:12px;opacity:.75;white-space:nowrap}
.pane ol,.pane ul{margin:0;padding-left:0;list-style:none}
.pane .talk{font-size:13px}
.pane .talk span{display:inline-block;font-size:11px;opacity:.7;margin-right:6px}
.pane .ad{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:16/9;background:#000}
.pane .ad video{width:100%;height:100%;object-fit:cover;display:block}
.pane .ad .adl{position:absolute;left:6px;bottom:6px;font-size:11px;color:#fff;text-shadow:0 1px 2px #000}
.pane .stats{display:flex;gap:12px;flex-wrap:wrap}
.pane .stats b{display:block;font-size:20px;line-height:1.1}
.pane .stats span{font-size:11px;opacity:.75}
.pane .note{font-size:12px;opacity:.75}
/* スマホ: 壁は 1 面＋レーンの札。上映は上に本編、下に入力 */
@media (max-width:700px){
  .wall-grid{aspect-ratio:auto;max-height:none;grid-template-columns:1fr;grid-auto-rows:auto}
  .wall-grid.browse{grid-template-areas:"v" "tv" "c" "a" "b" "d" "f" "g" "n"}
  .wall-grid.browse .wt.ch,.wall-grid.browse .wt.tv{aspect-ratio:16/9}
  .wall-grid.play{grid-template-areas:"m" "e" "i" "p" "a"}
  .wall-grid.play .wt.main{aspect-ratio:16/9;position:sticky;top:44px;z-index:8}
  .wall-lanes{display:flex;gap:6px;overflow-x:auto;padding:6px 0;margin:0 0 6px}
  .wall-lanes button{flex:none;min-height:34px;padding:0 10px;border-radius:999px;border:1px solid var(--edge);background:transparent;color:var(--ink);font-size:12.5px}
  .wall-lanes button.on{border-color:var(--cyan);color:var(--cyan)}
}
@media (min-width:701px){.wall-lanes{display:none}}

/* FTUE（初回の案内）。暗い膜の上に、指す枠だけ明るく。マーシャは右下（point-left は右端から身を乗り出す絵・寄せ方は絵の意図どおり） */
.ftue{position:fixed;inset:0;z-index:2147481500;pointer-events:none}
.ftue[hidden]{display:none}
.ftue .dim{position:absolute;inset:0;background:rgba(0,0,0,.6);pointer-events:auto}
.ftue .ring{position:absolute;border:3px solid var(--cyan);border-radius:10px;box-shadow:0 0 0 9999px rgba(0,0,0,.55);transition:all .35s cubic-bezier(.2,.7,.2,1);pointer-events:none}
@media (prefers-reduced-motion:reduce){.ftue .ring{transition:none}}
.ftue .marsha{position:absolute;right:0;bottom:0;width:min(34vw,380px);height:auto;pointer-events:none;filter:drop-shadow(0 6px 18px rgba(0,0,0,.6));animation:ftue-pop .45s cubic-bezier(.2,.9,.3,1.2)}
.ftue .marsha.up{right:2vw;bottom:0}
@keyframes ftue-pop{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.ftue .bubble{position:absolute;max-width:min(440px,70vw);background:#fff;color:#1a1a1c;border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.6;box-shadow:0 10px 30px rgba(0,0,0,.45);pointer-events:auto}
.ftue .bubble::after{content:"";position:absolute;width:16px;height:16px;background:#fff;transform:rotate(45deg);right:-6px;bottom:22px}
.ftue .bubble .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.ftue .bubble button{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #0017C1;background:#fff;color:#0017C1;font:inherit;font-size:14px;cursor:pointer}
.ftue .bubble button.primary{background:#0017C1;color:#fff}
.ftue .bubble .step{font-size:11px;color:#595959;margin-bottom:4px;letter-spacing:.04em}
@media (max-width:700px){.ftue .marsha{width:46vw}.ftue .bubble{left:12px!important;right:12px;max-width:none;top:auto!important;bottom:calc(46vw * .62)}.ftue .bubble::after{display:none}}

/* 開幕のロゴ（タッチパネル面の上・押せる面は塞がない）。下 = 影（乗算）、上 = 金のロゴ（スクリーン） */
/* ⚠ 箱に z-index を付けない。付けると箱が重なりの層になり、動画は箱の中（透明）とだけ合成されて白く塗りつぶす */
.wt .wt-intro{position:absolute;inset:0;pointer-events:none}
.wt .wt-intro video{position:absolute;inset:0;z-index:6;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}
.wt .wt-intro video.shadow{mix-blend-mode:multiply}
.wt .wt-intro video.light{mix-blend-mode:screen}
/* 中央の [5]（AiCuTV）はゴールデン枠（CEO 2026-11-12「うっすらでいい」）。色はロゴの金 #c5903e。番組の上には何も重ねない */
.wall-grid.browse .wt.tv{border-color:rgba(197,144,62,.75);box-shadow:0 0 0 1px rgba(197,144,62,.35),0 0 22px rgba(255,196,90,.16)}
/* トロフィーを常に見せる（CEO 2026-11-12）: 投票の面の右に置く。字は左、トロフィーは右なので読める。
   絵は public/assets/award/trophy/winner-garden.webp（CEO が 2026-11-12 に渡した 2026 WINNER の写真） */
.wt.pane.pane-vote{background:#0b0a1a url(../../assets/award/trophy/winner-garden.webp) right center/cover no-repeat}
.wt.pane.pane-vote::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,10,26,.92) 0%,rgba(11,10,26,.72) 42%,rgba(11,10,26,0) 72%)}
.wt.pane.pane-vote > *{position:relative;z-index:1}
/* [1] ギャラリーの機能（検索・分野・地域）。詰め込むので面の中で縦に流す */
.wt.pane.pane-cat{overflow:auto}
.pane-cat .wsq{display:flex;gap:6px;margin:0 0 8px}
.pane-cat .wsq input{flex:1 1 auto;min-width:0;font:inherit;font-size:13px;color:var(--ink);background:rgba(255,255,255,.06);border:1px solid var(--edge);border-radius:999px;padding:6px 12px}
.pane-cat .wsq button{font:inherit;font-size:12.5px;font-weight:700;border:0;border-radius:999px;padding:6px 14px;background:var(--cyan);color:#0b0a1a;cursor:pointer}
.pane-cat a.chip{text-decoration:none;min-height:26px;font-size:12px}
.pane-cat .chips.rg{margin-top:6px}.pane-cat .chips.rg a.chip{opacity:.85}
/* ✕（一覧に戻る・上映から戻る）。右上の隙間に小さく。すりガラス */
.wall .wl-x{position:absolute;top:6px;right:6px;z-index:8;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.28);
  background:rgba(20,18,40,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.wall .wl-x:hover{background:rgba(255,255,255,.18)}.wall .wl-x:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
/* 1 段目はすりガラス（共有バーの下に少し潜る・CEO 2026-11-12） */
.wall-grid.browse .wt.pane{background-color:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:rgba(255,255,255,.14)}
/* 左右の列の映像は枠を覆う（中央より少し狭いので、16:9 をそのまま入れると左右に黒い帯が出る・CEO 2026-11-12「これは無駄」） */
.wall-grid.browse .wt.ch{container-type:size}
.wall-grid.browse .wt.ch iframe,.wall-grid.browse .wt.ch video{inset:auto;left:50%;top:50%;width:max(100cqw,calc(100cqh * 16 / 9));height:max(100cqh,calc(100cqw * 9 / 16));transform:translate(-50%,-50%)}
/* [3] のトロフィーは動画（静止画は読み込むまでと、動きを減らす設定のとき） */
.wt.pane.pane-vote > video.trophy{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:right center;pointer-events:none}
.wt.pane.pane-vote::before{z-index:1}   /* 文字の側を暗くする幕は動画の上 */
.wt.pane.pane-vote > video.trophy ~ *{position:relative;z-index:2}
/* ウォッチビュー（[5] AiCuTV を 2×2・右に emo とコメント・CEO 2026-11-12） */
.wall-grid.watch{grid-template-areas:"tv tv v" "tv tv r" "a b g"}
.wall-grid.watch .w-hide{display:none}
.wall-grid.watch .wt.w-big{border-color:rgba(197,144,62,.9);box-shadow:0 0 0 1px rgba(197,144,62,.45),0 0 36px rgba(255,196,90,.22)}
.wt.pane.pane-r{overflow:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(255,255,255,.05);animation:wtFade .9s ease both}
.pane-r .now{margin:0 0 8px;display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.35}
.pane-r .now span{font-size:10.5px;letter-spacing:.08em;color:#e8c27a}.pane-r .now b{font-size:15px}.pane-r .now i{font-style:normal;opacity:.7}
@keyframes wtFade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.wt.pane.pane-r{animation:none}}
.wall .wl-w{top:46px;font-size:14px}.wall .wl-w.on{background:rgba(197,144,62,.55);border-color:rgba(232,194,122,.9)}
.wall .wl-f{top:86px;display:flex;align-items:center;justify-content:center}.wall .wl-f.on{background:rgba(197,144,62,.55);border-color:rgba(232,194,122,.9)}
/* 全画面のあいだは共有バーとパートナーの帯を隠し、Views だけにする */
html.wall-full aicu-bar,html.wall-full .awb{display:none!important}
html.wall-full body{background:#05040d}
/* 拡大中の面をもう一度ダブルタップ → その面だけフルスクリーン。映像は全体を見せる（覆わない）。Esc でブラウザが戻す */
.wt:fullscreen{border:0;border-radius:0;background:#000}
.wt:fullscreen iframe,.wt:fullscreen video{inset:0;left:0;top:0;width:100%;height:100%;transform:none}
.wt:fullscreen .wt-touch{pointer-events:none}
/* [2] お知らせ ｜ ウォッチパーティの番組表（CEO 2026-11-12） */
.pane-news .nw-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px}
.pane-news .guide{list-style:none;margin:0;padding:0}
.pane-news .guide li{display:flex;gap:8px;align-items:baseline;padding:3px 0;font-size:13px;line-height:1.35}
.pane-news .guide .at{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;opacity:.75;white-space:nowrap}
.pane-news .guide li.live{color:#f2d08a}.pane-news .guide li.live .at{opacity:1}
.pane-news .guide b{font:700 10px/1 system-ui,sans-serif;padding:2px 5px;border-radius:4px;background:#c5903e;color:#120d02;margin-left:4px}
.pane-vote .nextp{margin-top:6px;color:#f2d08a;font-size:12px}
/* 拡大中の右の面: 詳細と同じ emote の帯を、暗い地に合わせて */
.pane-r .now .open{font-size:12px;color:var(--cyan);text-decoration:none;margin-top:4px}
.pane-r .wall-emobar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}
.pane-r .wall-emobar .eb-btns{display:flex;flex-wrap:wrap;gap:4px}
.pane-r .wall-emobar .eb{font-size:20px;min-width:38px;min-height:38px;border-radius:999px;border:1px solid var(--edge);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;position:relative}
.pane-r .wall-emobar .eb b{position:absolute;right:-4px;top:-6px;font-size:10px;color:#f2d08a}
.pane-r .wall-emobar .eb-cfg{border:1px solid var(--edge);background:transparent;color:var(--ink);border-radius:999px;min-width:30px;min-height:30px;cursor:pointer}
.pane-r .wall-emobar .eb-left,.pane-r .wall-emobar .eb-total{font-size:11.5px;opacity:.8}
.pane-r .wall-emobar .eb-lead{font-size:11.5px;color:var(--cyan)}
.pane-news .guide .lbl{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
