/* ROLE_TALK_STAGE_OPENING_20261023
   A continuous opaque pre-performance stage. No background fade between
   briefing (waiting) and the countdown re-render. Visuals are CSS only.
*/
.schema1-briefing-notice.rt-stage-opening {
  position:fixed!important;
  inset:0!important;
  z-index:9000!important;
  box-sizing:border-box!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(24px,5vw,68px) clamp(18px,6vw,80px)!important;
  border:0!important;
  border-radius:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background-color:#06080d!important;
  background-image:
    radial-gradient(ellipse 63% 51% at 50% 0%,rgba(190,156,95,.17) 0%,transparent 76%),
    linear-gradient(150deg,#0e1119 0%,#06080d 68%,#080911 100%)!important;
  color:#f1eee8!important;
  opacity:1!important;
  animation:none!important;
  transition:none!important;
  isolation:isolate;
  overscroll-behavior:contain;
}
.schema1-briefing-notice.rt-stage-opening > *,
.schema1-briefing-notice.rt-stage-opening > * > * {
  animation:none!important;
  opacity:1!important;
}
.rt-stage-opening .rt-stage-opening-layout {
  box-sizing:border-box;
  width:min(100%,820px);
  margin-block:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(12px,2.4vh,22px);
  text-align:center;
}
.rt-stage-opening .rt-stage-opening-overline {
  margin:0;
  font-size:clamp(.65rem,.8vw + .4rem,.78rem);
  letter-spacing:.21em;
  font-weight:650;
  color:#cdb785!important;
}
.rt-stage-opening .rt-stage-opening-overline span {padding:0 .7em;color:#7a725f;}
.rt-stage-opening .rt-stage-opening-rule {
  width:96px;
  height:1px;
  flex:none;
  background:linear-gradient(90deg,transparent,#c6a469 50%,transparent);
}
.rt-stage-opening .rt-transition-level {
  margin:0;
  font-size:clamp(.74rem,.35vw + .69rem,.86rem);
  letter-spacing:.12em!important;
  color:#b6b6ba!important;
  font-weight:500!important;
  line-height:1.4!important;
}
.rt-stage-opening h2.rt-stage-opening-title {
  margin:0;
  max-width:100%;
  font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",Georgia,serif;
  font-size:clamp(1.7rem,4.2vw,3.25rem)!important;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.055em;
  overflow-wrap:anywhere;
  color:#f7f2e9!important;
  text-shadow:0 3px 28px rgba(0,0,0,.38);
}
.rt-stage-opening .rt-stage-opening-scene {
  box-sizing:border-box;
  width:100%;
  margin-top:clamp(4px,1vh,12px);
  padding:clamp(18px,2.6vw,30px) clamp(18px,3.5vw,38px);
  border-top:1px solid rgba(205,173,116,.23);
  border-bottom:1px solid rgba(205,173,116,.23);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.028) 18%,rgba(255,255,255,.028) 82%,transparent);
  text-align:left;
}
.rt-stage-opening .rt-stage-opening-scene-label {
  margin:0 0 .7rem;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.17em;
  color:#cdb785!important;
}
.rt-stage-opening .rt-transition-situation {
  max-width:none;
  margin:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:clamp(.97rem,1vw + .58rem,1.12rem);
  line-height:1.9!important;
  color:#e1e2e5!important;
}
.rt-stage-opening .rt-stage-opening-action {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:76px;
  max-width:100%;
}
.rt-stage-opening #schema1-start-countdown.rt-stage-opening-begin {
  padding:13px 34px!important;
  min-height:48px;
  background:#d6b67c!important;
  border:1px solid #dbbf8d!important;
  color:#171410!important;
  border-radius:6px!important;
  font-weight:750!important;
  letter-spacing:.06em;
  box-shadow:0 10px 30px rgba(0,0,0,.26);
}
.rt-stage-opening #schema1-start-countdown.rt-stage-opening-begin:hover:not(:disabled) {
  background:#ead09d!important;
}
.rt-stage-opening #schema1-start-countdown.rt-stage-opening-begin:focus-visible {
  outline:3px solid #fff!important;
  outline-offset:4px;
}
.rt-stage-opening .rt-stage-opening-wait,
.rt-stage-opening .rt-stage-opening-countdown-label {
  margin:0;
  font-size:.87rem;
  letter-spacing:.08em;
  color:#e4d1ab!important;
}
.rt-stage-opening #schema1-briefing-countdown {
  display:block;
  color:#f2d49a!important;
  font-size:clamp(4rem,13vw,8rem)!important;
  font-variant-numeric:tabular-nums;
  font-weight:450;
  line-height:1!important;
  text-shadow:0 0 32px rgba(222,186,123,.17);
}
.rt-stage-opening .rt-stage-opening-footnote {
  margin:0;
  font-size:clamp(.78rem,.3vw + .72rem,.92rem);
  line-height:1.6;
  letter-spacing:.06em;
  color:#aaa9ab!important;
}
@media(max-width:650px) {
  .schema1-briefing-notice.rt-stage-opening {
    padding:24px 18px!important;
  }
  .rt-stage-opening .rt-stage-opening-layout {
    gap:14px;
  }
  .rt-stage-opening .rt-stage-opening-overline {letter-spacing:.12em;}
  .rt-stage-opening .rt-stage-opening-scene {
    padding:18px;
  }
  .rt-stage-opening .rt-transition-situation {
    font-size:.98rem;
    line-height:1.7!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .schema1-briefing-notice.rt-stage-opening,
  .schema1-briefing-notice.rt-stage-opening * {
    animation:none!important;
    transition:none!important;
  }
}
/* END_ROLE_TALK_STAGE_OPENING_20261023 */

/* ROLE_TALK_BRIEFING_POSITION_LOCK_20261024
   Keep the action area the same height before and during countdown.
   The centered title and situation must not move when its children change.
   No countdown timing or interaction changes.
*/
.rt-stage-opening .rt-stage-opening-action {
  box-sizing: border-box;
  flex: 0 0 176px;
  height: 176px;
  min-height: 176px;
  max-height: 176px;
}
@media (max-width: 650px) {
  .rt-stage-opening .rt-stage-opening-action {
    flex-basis: 128px;
    height: 128px;
    min-height: 128px;
    max-height: 128px;
  }
}
/* END_ROLE_TALK_BRIEFING_POSITION_LOCK_20261024 */

/* CSV-v2 Level-2 mission prelude and line cue. No changes to other levels. */
.rt-stage-opening .rt-stage-opening-scene{position:relative}
.rt-stage-opening .rt-stage-opening-mission:not([hidden]){
 position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
 padding:16px 28px;text-align:center;background:rgba(11,16,27,.95);
 color:#fff;font-weight:800;font-size:clamp(1.12rem,2.1vw,1.9rem);
 line-height:1.55;z-index:2;
}
.rt-stage-opening [hidden]{display:none!important}
.rt-line-mission{margin:12px auto 2px!important;padding:12px 16px;border:1px solid rgba(218,189,127,.55);border-radius:8px;
 background:rgba(21,25,41,.87);color:#fff!important;font-size:clamp(1rem,1.5vw,1.3rem);font-weight:750;line-height:1.6}

/* CSV v2 Level 2 premium mission surfaces, screen-only r2 (2026-11-10).
   One role-specific message per mission line; no sample text or translation.
   Ordinary lines, countdown, recording and evaluation are unchanged. */
main.performance-main.performance-fixed-page .performance-scene .performance-dialogue-card.rt-v2-mission-card{
  overflow:visible!important;
}
main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-banner{
  box-sizing:border-box!important;
  position:absolute!important;
  z-index:18!important;
  top:auto!important;
  right:auto!important;
  bottom:calc(100% + 18px)!important;
  left:50%!important;
  width:min(82%,800px)!important;
  min-width:0!important;
  max-height:calc(100% + 40px)!important;
  margin:0!important;
  padding:14px 28px 18px!important;
  transform:translateX(-50%)!important;
  border:2px solid #d8b66b!important;
  border-radius:15px!important;
  background:radial-gradient(ellipse 70% 90% at 50% 0%,rgba(65,79,112,.53),transparent 82%),linear-gradient(135deg,#121827 0%,#202c43 51%,#111a2b 100%)!important;
  box-shadow:0 0 0 1px rgba(30,23,16,.72),0 10px 32px rgba(7,9,14,.54),inset 0 0 0 1px rgba(246,219,155,.26)!important;
  color:#fff9eb!important;
  text-align:center!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
  pointer-events:none!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px!important;
}
main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-banner::before{
  content:"";position:absolute;top:5px;left:22%;right:22%;height:2px;
  background:linear-gradient(90deg,transparent,#f3d78e,transparent);
  box-shadow:0 0 10px rgba(239,198,105,.3);
}
main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-banner::after{
  content:"";position:absolute;inset:5px;border:1px solid rgba(216,182,107,.34);
  border-radius:10px;pointer-events:none;
}
main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-heading{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#f1d28a!important;
  font-family:inherit!important;
  font-size:clamp(12px,1.05vw,16px)!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:.07em!important;
  text-shadow:0 1px 4px rgba(0,0,0,.3)!important;
}
main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-message{
  display:block!important;
  margin:0!important;
  padding:0!important;
  max-width:100%!important;
  color:#fffdf5!important;
  font-family:inherit!important;
  font-size:clamp(19px,2.1vw,30px)!important;
  font-weight:850!important;
  line-height:1.42!important;
  letter-spacing:.015em!important;
  text-shadow:0 2px 5px rgba(0,0,0,.32)!important;
  white-space:normal!important;
}
main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-host .rt-v2-mission-message{
  font-size:clamp(17px,1.7vw,25px)!important;
}
main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-empty{
  min-height:0!important;
}
/* Spectators: place the stage card in the empty dialogue panel itself.
   This also covers OBS's separate browser-source layout. */
main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-banner,
html body.obs-display main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-banner{
  top:45%!important;
  right:auto!important;
  bottom:auto!important;
  left:50%!important;
  width:min(88%,960px)!important;
  max-height:calc(100% - 49px)!important;
  min-height:0!important;
  padding:10px 19px 12px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:12px!important;
  gap:5px!important;
}
main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-heading,
html body.obs-display main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-heading{
  font-size:clamp(12px,1.15vw,17px)!important;
}
main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-message,
html body.obs-display main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-message{
  font-size:clamp(17px,2vw,28px)!important;
  line-height:1.3!important;
}
/* Spectator/OBS audience may include Japanese and English speakers.
   Show both languages together without changing participant UI labels. */
main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-bilingual,
html body.obs-display main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-bilingual{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  line-height:1.3!important;
}
main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-bilingual span,
html body.obs-display main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-bilingual span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-bilingual span[lang="en"],
html body.obs-display main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-bilingual span[lang="en"]{
  color:#e4edfc!important;
  font-weight:750!important;
  font-size:clamp(16px,1.7vw,24px)!important;
  letter-spacing:0!important;
}
/* Keep the existing timer visible below the mission panel, not behind it. */
main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .schema1-deadline,
html body.obs-display main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .schema1-deadline{
  position:absolute!important;
  bottom:6px!important;
  top:auto!important;
  left:0!important;
  right:0!important;
  margin:0!important;
  z-index:9!important;
  text-align:center!important;
}
main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .performance-dialogue-speaker{
  display:none!important;
}
@media(max-width:650px){
  main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-banner{
    bottom:calc(100% + 10px)!important;
    width:94%!important;
    padding:10px 12px 12px!important;
    border-radius:10px!important;
  }
  main.performance-main.performance-fixed-page .performance-scene .rt-v2-mission-card .rt-v2-mission-message{
    font-size:clamp(15px,3.8vw,20px)!important;
  }
  main.performance-main.performance-fixed-page[data-spectator] .performance-scene .rt-v2-mission-card .rt-v2-mission-banner{
    top:44%!important;
    bottom:auto!important;
    padding:9px 11px!important;
    max-height:calc(100% - 40px)!important;
  }
}
