/* =========================================================
   演出厅：熄灯的剧场（仅舞台区为夜色，其余保持纸面暖调）
   ========================================================= */

.theatre{position:relative;background:var(--night);color:rgba(251,246,238,.86);
  padding:30px 0 42px;margin-top:22px;overflow:hidden;}
.theatre::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 40px 90px -40px rgba(0,0,0,.85);}
.theatre-glow{position:absolute;left:50%;top:-140px;width:1100px;height:520px;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(232,163,61,.28),transparent 72%);pointer-events:none;}
.theatre .wrap{position:relative;z-index:2;}

.stage-grid{display:grid;grid-template-columns:1fr 340px;gap:38px;align-items:start;}

/* 幕框式播放器 */
.stage-frame{position:relative;background:#0C0907;border:1px solid rgba(251,246,238,.14);
  padding:10px;box-shadow:0 40px 90px -40px rgba(0,0,0,.9);}
.stage-frame::before,.stage-frame::after{content:"";position:absolute;left:-1px;right:-1px;height:12px;
  background:linear-gradient(180deg,rgba(142,59,46,.35),transparent);}
.stage-frame::before{top:-1px;}
.stage-frame::after{bottom:-1px;transform:scaleY(-1);}
.stage-frame video{width:100%;aspect-ratio:16/9;background:#000;display:block;}

.lock-mask{position:absolute;inset:10px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(12,9,7,.72),rgba(12,9,7,.94));backdrop-filter:blur(3px);z-index:5;}
.lock-inner{max-width:460px;text-align:center;padding:26px;}
.lock-kicker{font-size:11.5px;letter-spacing:.34em;color:var(--amber-2);}
.lock-t{font-family:var(--serif);font-size:23px;margin:12px 0 10px;color:#FBF6EE;letter-spacing:.04em;}
.lock-p{font-size:13.6px;line-height:1.95;color:rgba(251,246,238,.72);}
.lock-act{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:22px 0 14px;}
.lock-tip{font-size:12.2px;line-height:1.9;color:rgba(251,246,238,.5);}
.lock-tip a{color:var(--amber-2);text-decoration:underline;text-underline-offset:3px;}
.btn-light{border-color:rgba(251,246,238,.4);color:rgba(251,246,238,.9);}
.btn-light:hover{background:rgba(251,246,238,.92);color:#191410;border-color:rgba(251,246,238,.92);}

/* 播放条 */
.stage-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:16px;padding-top:14px;border-top:1px solid rgba(251,246,238,.14);font-size:13px;}
.sb-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.sb-count{color:rgba(251,246,238,.6);letter-spacing:.06em;}
.sb-count b{color:var(--amber-2);font-variant-numeric:tabular-nums;}
.sb-preview{color:var(--amber-2);letter-spacing:.06em;}
.sb-preview b{font-variant-numeric:tabular-nums;font-size:15px;}
.sb-ok{color:#9FC9B4;letter-spacing:.06em;}
.tag-dark{border-color:rgba(251,246,238,.28);color:rgba(251,246,238,.78);background:rgba(251,246,238,.06);}

/* 侧幕节目单 */
.stage-side{border-left:1px solid rgba(251,246,238,.14);padding-left:26px;}
.side-head{display:flex;gap:14px;}
.vlabel-light{writing-mode:vertical-rl;font-size:11px;letter-spacing:.4em;color:rgba(251,246,238,.45);
  border-left:1px solid rgba(251,246,238,.2);padding-left:10px;height:max-content;white-space:nowrap;}
.stage-title{font-family:var(--serif);font-size:26px;line-height:1.4;color:#FBF6EE;letter-spacing:.04em;}
.stage-sub{font-size:12px;letter-spacing:.22em;color:rgba(251,246,238,.45);margin-top:8px;}

.stage-meta{margin:24px 0 0;padding:0;}
.stage-meta div{display:grid;grid-template-columns:5.2em 1fr;gap:12px;padding:9px 0;
  border-bottom:1px dashed rgba(251,246,238,.12);font-size:13.4px;}
.stage-meta dt{color:rgba(251,246,238,.45);letter-spacing:.08em;}
.stage-meta dd{margin:0;color:rgba(251,246,238,.9);}
.stage-meta dd a{color:var(--amber-2);}
.stage-meta .en{font-size:11px;letter-spacing:.14em;color:rgba(251,246,238,.45);margin-left:6px;}
.stage-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}
.stage-notice{margin-top:20px;padding:14px 16px;border-left:2px solid var(--amber);
  background:rgba(232,163,61,.08);font-size:12.6px;line-height:1.95;color:rgba(251,246,238,.7);}
.stage-notice a{color:var(--amber-2);text-decoration:underline;text-underline-offset:3px;}

/* 曲目说明 */
.note-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:start;}
.note-lead{position:relative;padding-left:44px;}
.quote-mark{position:absolute;left:0;top:-16px;font-family:var(--serif);font-size:64px;color:var(--amber);opacity:.45;}
.note-lead p{font-size:16px;line-height:2.1;color:var(--ink);font-family:var(--serif);letter-spacing:.03em;}
.note-side{border-top:2px solid var(--ink);padding-top:18px;}
.ns-h{font-size:11.5px;letter-spacing:.26em;color:var(--amber-text);margin-bottom:10px;}
.ns-list{list-style:none;margin:0;padding:0;font-size:14px;line-height:2.1;color:var(--ink-2);}
.ns-list li{padding-left:16px;position:relative;}
.ns-list li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;
  border:1px solid var(--curtain);transform:rotate(45deg);}
.ns-p{font-size:13.6px;line-height:2;color:var(--ink-2);}

/* 幕间推荐 */
.inter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.inter .frame{border-radius:2px;}
.inter-t{margin-top:11px;font-size:14.2px;line-height:1.6;transition:.24s;}
.inter:hover .inter-t{color:var(--curtain);}
.inter-m{font-size:12px;color:var(--ink-3);margin-top:4px;letter-spacing:.05em;}

/* 观演须知（浅色收尾带） */
.stage-terms{margin-top:56px;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 0;}
.st-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.st-cell{padding-right:22px;border-right:1px solid var(--line);}
.st-cell:last-child{border-right:0;}
.st-h{font-family:var(--serif);font-size:17px;letter-spacing:.06em;margin-bottom:10px;}
.st-cell p{font-size:13.4px;line-height:2;color:var(--ink-2);}
.st-cell a{color:var(--curtain);text-decoration:underline;text-underline-offset:3px;}

@media (max-width:1080px){
  .stage-grid{grid-template-columns:1fr;gap:30px;}
  .stage-side{border-left:0;border-top:1px solid rgba(251,246,238,.14);padding-left:0;padding-top:24px;}
  .note-grid{grid-template-columns:1fr;gap:30px;}
  .inter-grid{grid-template-columns:repeat(2,1fr);}
  .st-grid{grid-template-columns:1fr 1fr;}
  .st-cell:nth-child(2){border-right:0;}
}
@media (max-width:700px){
  .inter-grid{grid-template-columns:1fr;}
  .st-grid{grid-template-columns:1fr;}
  .st-cell{border-right:0;border-bottom:1px solid var(--line);padding-bottom:16px;}
  .stage-title{font-size:22px;}
  .lock-t{font-size:19px;}
}
