/* 舞台屏页面外壳：只负责字体、标志、把画布按窗口缩放；画面样式在 skinA.css。 */
@font-face { font-family: 'QHei'; font-weight: 900; font-style: normal; font-display: block; src: url(/fonts/QHei900.woff2) format('woff2'); }
@font-face { font-family: 'QHei'; font-weight: 700; font-style: normal; font-display: block; src: url(/fonts/QHei700.woff2) format('woff2'); }
:root { --logo-full: url(/assets/logo-full.png); --logo-cat: url(/assets/logo-cat.png); }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: #000; overflow: hidden; cursor: none; -webkit-font-smoothing: antialiased; }
body { font-family: 'QHei', 'PingFang SC', 'Microsoft YaHei', sans-serif; font-weight: 700; }
#stage { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
.screen { position: absolute; left: 0; top: 0; overflow: hidden; transform-origin: 0 0; contain: layout paint; }
.seeking .screen * { transition: none !important; }
.hide { display: none !important; }
.ico { display: block; fill: currentColor; overflow: visible; }
.ico .h { fill: var(--hole, #070C18); stroke: none; }
.qlogo { display: inline-block; background: currentColor; -webkit-mask: var(--logo-full) center / contain no-repeat; mask: var(--logo-full) center / contain no-repeat; }
.qlogo.cat { -webkit-mask-image: var(--logo-cat); mask-image: var(--logo-cat); }
.dg { display: inline-block; width: .62em; text-align: center; }
.dg.c { width: .32em; }
/* 一键遮罩：整屏暗下，只留一枚标志 */
#mask { position: fixed; inset: 0; z-index: 10; background: #04070F; display: grid; place-items: center; }
#mask .qlogo { width: 24vmin; height: 9vmin; color: #00B4D8; opacity: .55; }
/* 机器人音频字幕（主屏读带内；旁标「AI 合成声音」） */
#sub { position: absolute; z-index: 5; display: flex; align-items: center; gap: 18px; padding: 10px 30px; border-radius: 16px; background: rgba(4,7,15,.88); border: 3px solid rgba(0,180,216,.6); color: #EEF5FF; font-weight: 900; white-space: nowrap; transform-origin: 0 0; }
#sub { width: max-content; max-width: 1840px; } #sub .t { white-space: normal; text-wrap: balance; line-height: 1.3; min-width: 0; } /* R9：旁白句子比机器人台词长，超出主屏宽就折成两行（不压到两翼） */
#sub .ai { font-size: .5em; padding: 2px 12px; border-radius: 8px; background: #A9BAD1; color: #0A1424; }
/* 排练用状态条（?hud=1） */
#hud { position: fixed; left: 8px; bottom: 8px; z-index: 11; font: 700 12px/1.5 monospace; color: #9fd; background: rgba(0,0,0,.6); padding: 4px 8px; border-radius: 6px; cursor: default; }
#film .fb { position: absolute; left: 24px; top: 96px; padding: 4px 16px; border-radius: 10px; background: #FFC83D; color: #0A1424; font: 900 36px/1.4 'QHei', sans-serif; }
