/* ROLE_TALK_PREMIUM_SURFACES_20261010
 * Visual refinement of EXISTING v0.7.1 interface only.
 * No functional additions or speculative controls.
 * Does not target .performance-main, its fixed viewport, portraits, or dialogue geometry.
 * This file loads after the accepted Proposal B and name-tab releases.
 */
:root {
  --rtp-espresso: #392519;
  --rtp-coffee: #57331f;
  --rtp-coffee-dark: #291a13;
  --rtp-copper: #a8743f;
  --rtp-gold: #c49759;
  --rtp-gold-soft: #e8cda1;
  --rtp-paper: #fffaf2;
  --rtp-warm-white: #fffcf8;
  --rtp-linen: #f1e7d9;
  --rtp-stroke: #cba676;
  --rtp-text: #38251a;
  --rtp-muted: #705b4a;
  --rtp-elevation: 0 3px 4px rgba(65,37,20,.06), 0 12px 28px rgba(65,37,20,.11), 0 24px 48px rgba(65,37,20,.06);
}

/* Warm material beneath every non-performance page. */
body:not(.performance-viewport) {
  color: var(--rtp-text);
  background:
    radial-gradient(ellipse 720px 380px at 12% 5%,rgba(255,255,255,.64),transparent 76%),
    radial-gradient(ellipse 900px 520px at 96% 28%,rgba(213,175,123,.13),transparent 73%),
    linear-gradient(180deg,#f4ecdf 0%,#efe3d3 100%);
}
body:not(.performance-viewport) .header {
  box-shadow: inset 0 1px 0 rgba(255,247,222,.13), 0 5px 18px rgba(50,27,15,.13);
  border-bottom:2px solid #b18a54;
}
body:not(.performance-viewport) .header .nav-login,
body:not(.performance-viewport) .header .language-toggle {
  border:1px solid rgba(223,187,133,.66);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(255,249,234,.12),rgba(51,31,19,.12));
  box-shadow:inset 0 1px 0 rgba(255,248,224,.15);
}
body:not(.performance-viewport) .header .nav-login:hover,
body:not(.performance-viewport) .header .language-toggle:hover {
  background:#f9ebd4;
  color:#37231a !important;
}

/* Room lobby: the actual 01 / 02 / 03 blocks visible in the user's screenshot. */
.room-main.entrance-simple {
  width:min(100%,1370px);
  max-width:1370px;
  padding-inline:clamp(14px,3vw,44px);
}
.entrance-simple .entrance-title { margin-bottom:clamp(18px,2vw,30px); }
.entrance-simple .entrance-title h1 { font-weight:700; letter-spacing:.008em; }
.entrance-simple .host-steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(13px,1.6vw,24px);
  margin:14px 0 28px;
  border:0;
  background:transparent;
  overflow:visible;
}
.entrance-simple .host-steps>section {
  isolation:isolate;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:0;
  min-height:315px;
  padding:clamp(22px,2.1vw,34px) clamp(19px,2vw,30px) 27px;
  border:1px solid #ba8e55 !important;
  border-radius:17px;
  background:
    radial-gradient(circle at 85% 12%,rgba(229,203,165,.13),transparent 36%),
    linear-gradient(155deg,#fffdf8 0%,#faf3e8 74%,#f4e6d2 100%);
  box-shadow:
    var(--rtp-elevation),
    inset 0 0 0 3px rgba(255,252,244,.97),
    inset 0 0 0 5px rgba(196,151,89,.46);
  transition:transform .18s ease,box-shadow .18s ease;
}
.entrance-simple .host-steps>section:last-child { border-right:1px solid #ba8e55 !important; }
/* Tiny corner lines; decorative and non-interactive. */
.entrance-simple .host-steps>section::before {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  inset:16px;
  border:1px solid rgba(192,148,91,.17);
  border-radius:9px;
}
.entrance-simple .host-steps>section::after {
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:1;
  inset:12px;
  border-radius:8px;
  background:
    linear-gradient(#b8844a,#b8844a) left top / 18px 1px no-repeat,
    linear-gradient(#b8844a,#b8844a) left top / 1px 18px no-repeat,
    linear-gradient(#b8844a,#b8844a) right top / 18px 1px no-repeat,
    linear-gradient(#b8844a,#b8844a) right top / 1px 18px no-repeat,
    linear-gradient(#b8844a,#b8844a) left bottom / 18px 1px no-repeat,
    linear-gradient(#b8844a,#b8844a) left bottom / 1px 18px no-repeat,
    linear-gradient(#b8844a,#b8844a) right bottom / 18px 1px no-repeat,
    linear-gradient(#b8844a,#b8844a) right bottom / 1px 18px no-repeat;
  opacity:.74;
}
.entrance-simple .host-steps .step-number {
  flex:0 0 auto;
  display:inline-grid;
  align-self:flex-start;
  place-items:center;
  width:67px;
  height:67px;
  min-width:67px;
  min-height:67px;
  padding:0;
  border:3px double #edc88c;
  border-radius:50%;
  outline:2px solid #613c21;
  outline-offset:1px;
  color:#ffe2af;
  background:radial-gradient(circle at 30% 15%,#6c472d 0%,#3d2417 58%,#24150f 100%);
  box-shadow:0 3px 0 #a7753e,0 5px 11px rgba(52,27,12,.28),inset 0 1px 2px rgba(255,240,207,.26);
  text-shadow:0 1px 1px #20100c;
  font-family:var(--rtb-body, sans-serif);
  font-size:26px;
  font-weight:750;
  line-height:1;
}
.entrance-simple .host-steps h2 {
  margin:25px 0 0;
  color:#3d281b;
  font-size:clamp(23px,2vw,30px);
  line-height:1.35;
  font-weight:750;
}
.entrance-simple .host-steps p {
  flex:1 1 auto;
  margin:12px 0 0;
  min-height:56px;
  color:#735943;
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.65;
  overflow-wrap:anywhere;
}
.entrance-simple .host-steps p::after {
  content:"";
  display:block;
  height:14px;
  margin:18px 0 12px;
  background:
    radial-gradient(circle,#b88951 0 4px,transparent 4.5px) center / 12px 12px no-repeat,
    linear-gradient(to right,#c29c6f,#c29c6f) left center / calc(50% - 12px) 1px no-repeat,
    linear-gradient(to right,#c29c6f,#c29c6f) right center / calc(50% - 12px) 1px no-repeat;
}
.entrance-simple .host-steps .outline {
  position:relative;
  isolation:isolate;
  flex:0 0 auto;
  width:100%;
  min-height:60px;
  padding:12px 28px 13px 16px;
  color:#fff7ea;
  font-size:clamp(15px,1.45vw,19px);
  font-weight:750;
  text-align:center;
  line-height:1.3;
  border:2px solid #7c4a29;
  border-radius:12px;
  background:linear-gradient(180deg,#70472d 0%,#55301e 48%,#412516 100%);
  box-shadow:
    0 3px 0 #a4713c,
    0 6px 14px rgba(59,33,16,.25),
    inset 0 0 0 2px #d8aa67,
    inset 0 0 0 4px rgba(255,240,214,.10),
    inset 0 2px 2px rgba(255,236,192,.26);
  text-shadow:0 1px 1px #2b180f;
  transition:transform .17s ease,box-shadow .17s ease,background .17s ease;
}
.entrance-simple .host-steps .outline::after {
  content:"›";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-52%);
  color:#edc68e;
  font-size:28px;
  line-height:1;
  pointer-events:none;
}
.entrance-simple .host-steps .outline:disabled {
  opacity:.55;
  box-shadow:inset 0 0 0 2px #d8aa67,0 2px 5px rgba(59,33,16,.12);
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .entrance-simple .host-steps>section:hover {
    transform:translateY(-2px);
    box-shadow:0 15px 33px rgba(65,37,20,.18),inset 0 0 0 3px rgba(255,252,244,.97),inset 0 0 0 5px rgba(196,151,89,.46);
  }
  .entrance-simple .host-steps .outline:hover:not(:disabled) {
    transform:translateY(-2px);
    background:linear-gradient(180deg,#825333,#623821 50%,#4b2a19 100%);
    box-shadow:0 5px 0 #a4713c,0 10px 20px rgba(59,33,16,.32),inset 0 0 0 2px #e4bd82;
  }
}
.entrance-simple .host-steps .outline:active:not(:disabled) {
  transform:translateY(2px);
  box-shadow:inset 0 0 0 2px #d8aa67,0 2px 4px rgba(59,33,16,.2);
}

/* Other real room panels (ENTRANCE / HOST), not fictional controls. */
.entrance-member-host-grid { gap:clamp(14px,2vw,24px); }
.room-main:not(.performance-main) .panel,
.room-main:not(.performance-main) .script-sheet,
.bottom-grid > *,
.how .steps article,
.script-category-panel,
.favorites-card,
.favorites-status-panel,
.profile-favorite-line {
  position:relative;
  color:var(--rtp-text);
  background:linear-gradient(154deg,var(--rtp-warm-white) 0%,#fbf5eb 70%,#f4e7d6 100%);
  border:1px solid #caa270;
  border-radius:15px;
  box-shadow:var(--rtp-elevation),inset 0 0 0 3px rgba(255,253,249,.95),inset 0 0 0 5px rgba(205,170,121,.32);
}
.room-main:not(.performance-main) .panel,
.room-main:not(.performance-main) .script-sheet,
.script-category-panel { padding:clamp(20px,2.4vw,32px); }
.entrance-member-host-grid .panel { margin:0; min-height:100%; }
.room-main .panel > .section-kicker,
.bottom-grid .section-kicker,
.script-sheet .section-kicker {
  display:inline-block;
  margin-bottom:6px;
  color:#9c6b38;
  font-weight:750;
  letter-spacing:.17em;
}
.room-main:not(.performance-main) .panel h2,
.bottom-grid h2 {
  color:#422b1d;
  font-weight:750;
}
.room-main:not(.performance-main) .panel > p:not(.hint) { color:var(--rtp-muted); }

/* Buttons in the actual normal pages and dialogs, never the fixed performance scene. */
:is(.room-main:not(.performance-main),.hero,.how,.bottom-grid,.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main)
:is(button.primary,button.outline,a.primary,a.outline) {
  border-radius:11px;
  min-height:48px;
  font-weight:700;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
:is(.room-main:not(.performance-main),.hero,.how,.bottom-grid,.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main)
:is(button.primary,a.primary) {
  color:#fff9ef;
  border:1px solid #754b2c;
  background:linear-gradient(180deg,#684329,#482a1a 75%,#382116);
  box-shadow:0 3px 0 #a77944,0 6px 14px rgba(54,32,18,.17),inset 0 0 0 1px #c49b64,inset 0 2px 2px rgba(255,239,198,.2);
  text-shadow:0 1px 0 #2f1e14;
}
:is(.room-main:not(.performance-main),.hero,.how,.bottom-grid,.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main)
:is(button.outline,a.outline) {
  color:#4b301e;
  border:1px solid #a57c4b;
  background:linear-gradient(180deg,#fffdf8,#efdfc8);
  box-shadow:0 2px 0 rgba(163,113,59,.43),0 5px 10px rgba(68,39,19,.10),inset 0 1px 0 rgba(255,255,255,.98);
}
:is(.room-main:not(.performance-main),.hero,.how,.bottom-grid,.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main)
:is(button.primary,button.outline):active:not(:disabled) {
  transform:translateY(2px);
  box-shadow:inset 0 1px 4px rgba(45,23,12,.12);
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  :is(.room-main:not(.performance-main),.hero,.how,.bottom-grid,.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main)
  :is(button.primary,button.outline):hover:not(:disabled) {
    transform:translateY(-2px);
    box-shadow:0 5px 0 rgba(152,104,51,.53),0 10px 20px rgba(56,31,18,.17),inset 0 1px 0 rgba(255,255,255,.4);
  }
}
:is(.room-main:not(.performance-main),.hero,.how,.bottom-grid,.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main)
:is(button.primary,button.outline):disabled { transform:none; filter:saturate(.6); }

/* Existing choice rows, script catalog, editors, favoriting and consent dialogs. */
:is(.room-main:not(.performance-main),.dialog-body,.script-editor,.copy-editor,.favorites-main)
:is(.choice,.script-catalog-row,.progress-script-choice,.script-filter-tab) {
  border:1px solid #ceb18a;
  border-radius:11px;
  background:linear-gradient(180deg,#fffdf9,#f8eee0);
  box-shadow:0 2px 9px rgba(76,43,22,.055),inset 0 1px 0 #fff;
}
:is(.room-main:not(.performance-main),.dialog-body,.script-editor,.copy-editor,.favorites-main)
:is(.choice,.script-catalog-row,.progress-script-choice,.script-filter-tab):has(input:checked) {
  border-color:#9f6e36;
  background:#f4e0bf;
  box-shadow:inset 0 0 0 2px rgba(169,116,50,.25),0 3px 10px rgba(74,41,18,.11);
}
:where(.room-main:not(.performance-main),.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main)
:is(input:not([type=radio]):not([type=checkbox]),select,textarea) {
  border:1px solid #c6a57d;
  border-radius:10px;
  background:linear-gradient(#fffefb,#fffaf2);
  box-shadow:inset 0 2px 4px rgba(56,32,15,.05),0 1px 0 rgba(255,255,255,.9);
}
:where(.room-main:not(.performance-main),.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main)
:is(input,select,textarea):focus-visible {
  outline:2px solid #b78648;
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(185,134,72,.15);
}
dialog { border:1px solid #ab814e; border-radius:17px; box-shadow:0 20px 65px rgba(34,19,11,.32),inset 0 0 0 3px rgba(255,250,242,.95); }
dialog .dialog-body { border-radius:16px; background:linear-gradient(154deg,#fffdf8,#f4e8d7); }
dialog .dialog-body h2 { font-weight:750; color:#38251a; }
.script-catalog-thumb,.progress-script-thumb { border-radius:10px; }
.favorites-card { overflow:hidden; }
.favorites-toolbar { border-bottom:1px solid #d2b28c; }
.favorites-site-header { border-bottom:2px solid #b18a54; box-shadow:0 5px 14px rgba(45,23,10,.12); }
.favorites-nav-link { border-radius:9px; }

/* Existing home content: upgraded actual cards, not new calls-to-action. */
#top .hero { border:1px solid #a87c49; border-radius:17px; box-shadow:0 18px 46px rgba(40,23,12,.22),inset 0 0 0 2px rgba(233,197,147,.11); }
#top .invitation {
  border:1px solid #b88e57;
  border-radius:15px;
  outline:none;
  box-shadow:0 12px 0 rgba(34,19,10,.25),0 24px 45px rgba(25,13,7,.20),inset 0 0 0 3px #fffaf0,inset 0 0 0 5px rgba(182,139,75,.45);
}
#top .how { border:0; }
#top .how h2 { font-weight:750; }
#top .steps { gap:clamp(14px,2vw,24px); align-items:stretch; }
#top .steps article {
  display:flex;
  flex-direction:column;
  padding:26px 25px;
  min-height:235px;
  border:1px solid #c79a61;
  border-radius:15px;
  box-shadow:var(--rtp-elevation),inset 0 0 0 3px #fffcf6,inset 0 0 0 5px rgba(192,144,81,.37);
}
#top .steps article:last-child { border:1px solid #c79a61; }
#top .steps .step-number {
  width:61px;
  height:61px;
  padding:0;
  display:grid;
  place-items:center;
  font-size:24px;
  color:#ffe1b1;
  border:3px double #e5bf7e;
  border-radius:50%;
  background:radial-gradient(circle at 29% 16%,#6b452d,#352016 70%);
  box-shadow:0 4px 10px rgba(40,22,11,.23),0 2px 0 #9a6a37;
}
#top .steps h3 { margin-top:17px; font-weight:750; }
#top .bottom-grid { margin-top:10px; border-top:0; padding-top:16px; }
#top .bottom-grid > * { padding:clamp(23px,2.5vw,35px); }
#top .bottom-grid :is(.outline,.primary) { margin-top:22px; }
footer { border-top:2px solid #b28b56; }

/* Responsive sizes preserve room controls and real text. */
@media(max-width:900px){
  .entrance-simple .host-steps>section { min-height:285px; padding:23px 19px 22px; }
  .entrance-simple .host-steps .step-number {width:55px;height:55px;min-width:55px;min-height:55px;font-size:22px;}
  .entrance-simple .host-steps h2 { margin-top:20px; }
}
@media(max-width:700px){
  .entrance-simple .host-steps { grid-template-columns:1fr; gap:14px; }
  .entrance-simple .host-steps>section { min-height:0; padding:24px 24px 23px; }
  .entrance-simple .host-steps h2 { margin-top:14px; font-size:23px; }
  .entrance-simple .host-steps p { min-height:0; margin-top:5px; }
  .entrance-simple .host-steps p::after { margin:13px 0 15px; }
  .entrance-simple .host-steps .outline { min-height:53px; }
  #top .steps { grid-template-columns:1fr; }
  #top .steps article { min-height:0; padding:24px; }
  #top .bottom-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){
  .entrance-simple .host-steps>section,
  .entrance-simple .host-steps .outline,
  :is(.room-main:not(.performance-main),.hero,.how,.bottom-grid,.dialog-body,.script-editor,.copy-editor,.favorites-main,.admin-settings-main) :is(button.primary,button.outline) {
    transition:none !important;
  }
}

/* Explicitly prioritize the approved dark controls over the shared outline rule. */
body:not(.performance-viewport) main.entrance-simple .host-steps button.outline {
  color:#fff7ea;
  border:2px solid #784927;
  background:linear-gradient(180deg,#70472d,#55301e 48%,#412516);
  box-shadow:0 3px 0 #a4713c,0 6px 14px rgba(59,33,16,.25),inset 0 0 0 2px #d8aa67,inset 0 2px 2px rgba(255,236,192,.26);
  text-shadow:0 1px 1px #2b180f;
}
body:not(.performance-viewport) main.entrance-simple .host-steps button.outline:disabled {
  opacity:.55;
  box-shadow:inset 0 0 0 2px #d8aa67,0 2px 5px rgba(59,33,16,.12);
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  body:not(.performance-viewport) main.entrance-simple .host-steps button.outline:hover:not(:disabled) {
    transform:translateY(-2px);
    background:linear-gradient(180deg,#825333,#623821 50%,#4b2a19);
    box-shadow:0 5px 0 #a4713c,0 10px 20px rgba(59,33,16,.32),inset 0 0 0 2px #e4bd82;
  }
}
body:not(.performance-viewport) main.entrance-simple .host-steps button.outline:active:not(:disabled) {
  transform:translateY(2px);
  box-shadow:inset 0 0 0 2px #d8aa67,0 2px 4px rgba(59,33,16,.2);
}


/* ROLE_TALK_ROOM_SPACING_20261014
   Compact lobby spacing only.
   No performance, reading or shared header changes.
*/
body:not(.performance-viewport) .room-main.entrance-simple {
  padding-top: 12px;
}

body:not(.performance-viewport) .entrance-simple .entrance-top-actions {
  margin-top: 0;
  margin-bottom: 10px;
}

body:not(.performance-viewport) .entrance-simple .entrance-title {
  margin-bottom: 14px;
}

body:not(.performance-viewport) .entrance-simple .host-steps {
  margin-top: 0;
}

@media (max-width: 750px) {
  body:not(.performance-viewport) .room-main.entrance-simple {
    padding-top: 10px;
  }

  body:not(.performance-viewport) .entrance-simple .entrance-top-actions {
    margin-bottom: 8px;
  }

  body:not(.performance-viewport) .entrance-simple .entrance-title {
    margin-bottom: 12px;
  }
}


/* ROLE_TALK_COMPACT_LOBBY_20261014
   Host / participant / spectator lobby only.
   Visual layout only. No behavior changes.
*/

/* The room top section becomes one compact header. */
body:not(.performance-viewport)
.room-main.entrance-simple {
  position: relative;
  padding-top: 18px;
}

/* Actions share the header row instead of occupying
   a separate tall block above the room title. */
body:not(.performance-viewport)
.entrance-simple .entrance-top-actions {
  position: absolute;
  top: 20px;
  right: clamp(14px,3vw,44px);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 0;
  padding: 0;
}

body:not(.performance-viewport)
.entrance-simple .entrance-top-actions .quiet {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-height: 34px;
  margin: 0;
  padding: 4px 0;
  font-size: 13px;
  line-height: 1.5;
}

/* Hide technical state text from ordinary users. */
body:not(.performance-viewport)
.entrance-simple .entrance-title .eyebrow,
body:not(.performance-viewport)
.entrance-simple .entrance-title > .badge {
  display: none;
}

/* Compact title and host information. */
body:not(.performance-viewport)
.entrance-simple .entrance-title {
  display: flex;
  align-items: center;
  min-height: 48px;
  margin: 0 0 17px;
  padding: 0 240px 0 0;
  gap: 0;
}

body:not(.performance-viewport)
.entrance-simple .entrance-title h1 {
  margin: 0;
  font-size: clamp(24px,2.3vw,30px);
  line-height: 1.35;
  letter-spacing: .015em;
}

body:not(.performance-viewport)
.entrance-simple .entrance-title p:not(.eyebrow) {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.5;
}

/* Bring the action cards directly below the title. */
body:not(.performance-viewport)
.entrance-simple .host-steps {
  margin-top: 0;
  margin-bottom: 20px;
}

/* Mobile and narrow screens:
   keep controls visible without overlap. */
@media (max-width: 750px) {
  body:not(.performance-viewport)
  .room-main.entrance-simple {
    padding-top: 12px;
  }

  body:not(.performance-viewport)
  .entrance-simple .entrance-top-actions {
    position: static;
    justify-content: flex-end;
    gap: 8px 16px;
    margin: 0 0 10px;
  }

  body:not(.performance-viewport)
  .entrance-simple .entrance-title {
    min-height: 0;
    padding-right: 0;
    margin-bottom: 14px;
  }

  body:not(.performance-viewport)
  .entrance-simple .entrance-title h1 {
    font-size: 25px;
  }

  body:not(.performance-viewport)
  .entrance-simple .host-steps {
    margin-top: 0;
    margin-bottom: 16px;
  }
}


/* ROLE_TALK_RESULTS_REDESIGN_20261014 */
.rt-results-page {
 max-width:1120px;
 padding-top:24px;
}

.rt-results-shell {
 background:#fcf7ee;
 border:1px solid #d9c3a1;
 border-top:3px solid #af8955;
 padding:clamp(22px,4vw,46px);
 box-shadow:0 14px 38px rgba(60,36,21,.08);
}

.rt-results-heading {
 text-align:center;
 margin-bottom:18px;
}

.rt-results-eyebrow {
 display:block;
 color:#947657;
 font-size:11px;
 font-weight:600;
 letter-spacing:.18em;
 margin-bottom:8px;
}

.rt-results-heading h1 {
 font-family:var(--serif);
 color:#39251f;
 font-size:clamp(27px,3vw,38px);
 line-height:1.4;
}

.rt-results-time {
 text-align:center;
 border-top:1px solid #e0cfb5;
 border-bottom:1px solid #e0cfb5;
 padding:17px 12px 20px;
 margin-bottom:24px;
}

.rt-results-time span {
 display:block;
 font-size:12px;
 color:#8a705a;
 letter-spacing:.07em;
}

.rt-results-time strong {
 display:block;
 font-family:Georgia,serif;
 font-size:clamp(33px,4vw,48px);
 font-weight:400;
 line-height:1.25;
 color:#42291f;
 font-variant-numeric:tabular-nums;
 margin-top:4px;
}

.rt-results-people {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:18px;
}

.rt-results-person {
 min-width:0;
 background:#f5eadb;
 border:1px solid #dec7a9;
 padding:24px;
}

.rt-results-person-type {
 font-size:11px;
 letter-spacing:.08em;
 color:#977451;
}

.rt-results-person-head h2 {
 font-size:21px;
 line-height:1.4;
 color:#382720;
 overflow-wrap:anywhere;
 margin-top:3px;
}

.rt-results-line-count {
 display:flex;
 align-items:baseline;
 gap:8px;
 margin-top:17px;
 color:#3a2720;
 font-variant-numeric:tabular-nums;
}

.rt-results-line-count strong {
 font-family:Georgia,serif;
 font-size:40px;
 line-height:1;
 font-weight:400;
}

.rt-results-line-count span {
 font-size:17px;
 color:#826d5c;
}

.rt-results-small {
 margin:6px 0 0;
 font-size:12px;
 color:#8a725e;
}

.rt-results-divider {
 border-top:1px solid #dec7a9;
 margin:18px 0 14px;
}

.rt-results-person h3 {
 font-size:14px;
 color:#614636;
 margin-bottom:13px;
}

.rt-results-evaluations {
 display:grid;
 gap:10px;
}

.rt-results-evaluation {
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 font-size:14px;
 color:#564236;
}

.rt-results-evaluation strong {
 font-family:Georgia,serif;
 font-size:20px;
 color:#39251f;
 font-weight:500;
 font-variant-numeric:tabular-nums;
}

.rt-results-eval-name {
 display:flex;
 align-items:center;
 gap:9px;
 min-width:0;
 overflow-wrap:anywhere;
}

.rt-results-dot {
 width:8px;
 height:8px;
 border-radius:50%;
 flex:none;
 background:#557765;
}

.rt-results-dot-2 {background:#ae854f}
.rt-results-dot-3 {background:#a27e70}

.rt-results-empty {
 font-size:13px;
 color:#8a735f;
 margin:0;
}

.rt-results-footer {
 display:flex;
 justify-content:center;
 margin-top:26px;
}

.rt-results-footer .primary {
 width:min(100%,360px);
 border-radius:4px;
 font-weight:600;
}

.rt-results-footer p {
 color:#8a735f;
 font-size:14px;
 margin:0;
}

@media(max-width:700px) {
 .rt-results-page {
  padding:14px 14px 40px;
 }
 .rt-results-shell {
  padding:22px 16px;
 }
 .rt-results-people {
  grid-template-columns:minmax(0,1fr);
  gap:12px;
 }
 .rt-results-person {
  padding:19px;
 }
 .rt-results-time {
  margin-bottom:17px;
 }
}


/* ROLE_TALK_RESULTS_COMPACT_20261014
   Results-only compact layout.
*/
.rt-results-page {
  max-width: 1020px;
  padding-top: 12px;
  padding-bottom: 36px;
}

.rt-results-shell {
  padding: clamp(18px, 2.5vw, 30px);
}

.rt-results-heading {
  margin-bottom: 10px;
}

.rt-results-eyebrow {
  margin-bottom: 4px;
  font-size: 10px;
}

.rt-results-heading h1 {
  font-size: clamp(25px, 2.5vw, 32px);
  line-height: 1.3;
}

.rt-results-time {
  padding: 10px 12px 12px;
  margin-bottom: 16px;
}

.rt-results-time strong {
  font-size: clamp(30px, 3.5vw, 40px);
  margin-top: 0;
}

.rt-results-people {
  gap: 14px;
}

.rt-results-person {
  padding: 17px 20px;
}

.rt-results-person-head h2 {
  font-size: 19px;
  margin-top: 1px;
}

.rt-results-line-count {
  margin-top: 10px;
  gap: 6px;
}

.rt-results-line-count strong {
  font-size: 35px;
}

.rt-results-line-count span {
  font-size: 15px;
}

.rt-results-small {
  margin-top: 2px;
}

.rt-results-divider {
  margin: 11px 0 10px;
}

.rt-results-person h3 {
  margin-bottom: 8px;
}

.rt-results-evaluations {
  gap: 6px;
}

.rt-results-evaluation strong {
  font-size: 18px;
}

.rt-results-footer {
  margin-top: 18px;
}

@media (max-width: 700px) {
  .rt-results-page {
    padding: 10px 12px 28px;
  }

  .rt-results-shell {
    padding: 17px 13px;
  }

  .rt-results-people {
    gap: 10px;
  }

  .rt-results-person {
    padding: 15px;
  }

  .rt-results-time {
    margin-bottom: 12px;
  }
}


/* ROLE_TALK_RESULTS_HIDE_LINES_20261014 */
.rt-results-person .rt-results-divider {
  margin: 12px 0 10px;
}

.rt-results-person {
  padding-block: 15px;
}


/* ROLE_TALK_REVIEW_COMPACT_20261014
   Review screen only; no rehearsal layout changes.
*/

/* Only the review page has this preceding filter. */
.rehearsal-main .review-compact-sheet {
  border-radius:9px;
  overflow:hidden;
}

.rehearsal-main .review-compact-sheet .script-header {
  padding:15px 20px;
}

.rehearsal-main .review-compact-sheet .script-header h2 {
  font-size:clamp(18px,2.5vw,23px);
  line-height:1.4;
  margin:0;
}

.rehearsal-main .review-compact-sheet .script-header .section-kicker {
  margin:0 0 4px;
  font-size:11px;
}

/* Compact list items. */
.rehearsal-main .review-compact-sheet .script-lines > .script-line {
  padding:12px 19px;
  min-height:0;
  height:auto;
  border-bottom:1px solid #e1ceb8;
  background:#fcf8f1;
}

.rehearsal-main .review-compact-sheet .script-lines > .script-line:last-child {
  border-bottom:0;
}

.rehearsal-main .review-compact-sheet .line-heading {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 12px;
  margin:0 0 5px;
}

.rehearsal-main .review-compact-sheet .line-number {
  font-size:18px;
  line-height:1.4;
}

.rehearsal-main .review-compact-sheet .line-heading > div {
  flex:1 1 auto;
  min-width:0;
}

.rehearsal-main .review-compact-sheet .line-heading strong {
  font-size:14px;
  line-height:1.4;
}

.rehearsal-main .review-compact-sheet .line-heading > div > span {
  font-size:12px;
  line-height:1.4;
}

/* Keep original phrase and translated text together. */
.rehearsal-main .review-compact-sheet .spoken {
  font-size:clamp(17px,2vw,20px);
  line-height:1.5;
  margin:3px 0 0;
  overflow-wrap:anywhere;
}

.rehearsal-main .review-compact-sheet .line-translation {
  font-size:14px;
  line-height:1.5;
  margin:3px 0 0;
  color:#786756;
  overflow-wrap:anywhere;
}

/* Evaluation and supplementary information. */
.rehearsal-main .review-compact-sheet .review-evaluation {
  margin:6px 0 0;
}

.rehearsal-main .review-compact-sheet .review-time-result {
  margin-top:5px;
}

.rehearsal-main .review-compact-sheet .learning-note,
.rehearsal-main .review-compact-sheet .reading-guide {
  margin:8px 0 0;
  padding:8px 11px;
}

.rehearsal-main .review-compact-sheet .learning-note p,
.rehearsal-main .review-compact-sheet .reading-guide p {
  margin:3px 0 0;
}

/* Existing recording player, kept fully functional. */
.rehearsal-main .review-compact-sheet .phase12d-review-recording {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 12px;
  margin:9px 0 0;
  padding:8px 0 0;
  border-top:1px solid #e2d2bd;
}

.rehearsal-main .review-compact-sheet .phase12d-review-recording strong {
  flex:0 0 auto;
  width:auto;
  margin:0;
  font-size:12px;
  line-height:1.4;
}

.rehearsal-main .review-compact-sheet .phase12d-review-recording audio {
  flex:1 1 250px;
  width:auto;
  max-width:420px;
  min-width:0;
  height:38px;
}

.rehearsal-main .review-compact-sheet .phase12d-review-recording .text-link,
.rehearsal-main .review-compact-sheet .phase12d-review-recording .hint {
  margin:0;
  font-size:12px;
  line-height:1.5;
}

@media (max-width:700px) {
  .rehearsal-main .review-compact-sheet .script-header {
    padding:12px 13px;
  }

  .rehearsal-main .review-compact-sheet .script-lines > .script-line {
    padding:11px 12px;
  }

  .rehearsal-main .review-compact-sheet .line-heading {
    gap:5px 8px;
  }

  .rehearsal-main .review-compact-sheet .spoken {
    font-size:17px;
    line-height:1.5;
  }

  .rehearsal-main .review-compact-sheet .line-translation {
    font-size:13px;
  }

  .rehearsal-main .review-compact-sheet .phase12d-review-recording audio {
    flex:1 1 100%;
    width:100%;
    max-width:100%;
  }
}


/* ROLE_TALK_REVIEW_HEADER_20261014
   Review title/header layout only.
*/

.rehearsal-main .review-compact-sheet {
  padding:0 !important;
  overflow:hidden;
}

.rehearsal-main .review-compact-sheet > .script-header {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:22px;
  row-gap:5px;
  padding:12px 18px !important;
  min-height:0;
}

.rehearsal-main .review-compact-sheet > .script-header
.section-kicker {
  grid-column:1;
  margin:0;
  font-size:11px;
  line-height:1.4;
}

.rehearsal-main .review-compact-sheet > .script-header h2 {
  grid-column:1;
  margin:0;
  font-size:clamp(18px,2.4vw,22px);
  line-height:1.35;
}

.rehearsal-main .review-compact-sheet > .script-header
.review-evaluation-filter {
  grid-column:2;
  grid-row:1 / span 2;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:0;
  min-width:0;
}

.rehearsal-main .review-compact-sheet > .script-header
.review-evaluation-filter label {
  display:block;
  margin:0;
  white-space:nowrap;
  font-size:12px;
}

.rehearsal-main .review-compact-sheet > .script-header
.review-evaluation-filter select {
  width:180px;
  min-width:0;
  min-height:36px;
  margin:0;
  padding:5px 9px;
  font-size:13px;
}

@media(max-width:700px) {
  .rehearsal-main .review-compact-sheet > .script-header {
    grid-template-columns:minmax(0,1fr);
    gap:5px;
    padding:12px !important;
  }

  .rehearsal-main .review-compact-sheet > .script-header
  .review-evaluation-filter {
    grid-column:1;
    grid-row:auto;
    justify-content:flex-start;
    flex-wrap:wrap;
    margin-top:5px;
  }

  .rehearsal-main .review-compact-sheet > .script-header
  .review-evaluation-filter select {
    width:min(100%,180px);
  }
}


/* ROLE_TALK_REVIEW_HEADING_GAP_20261014
   Review page only.
   Reduce space above the phrase list.
*/

.room-main.rehearsal-main:has(.review-compact-sheet) {
  padding-top:12px;
}

.room-main.rehearsal-main:has(.review-compact-sheet)
> .room-heading {
  padding:8px 0 10px;
  margin:0;
  min-height:0;
}

.room-main.rehearsal-main:has(.review-compact-sheet)
> .room-heading .eyebrow {
  margin:0 0 4px;
  line-height:1.4;
}

.room-main.rehearsal-main:has(.review-compact-sheet)
> .room-heading h1 {
  margin:0;
  line-height:1.3;
}

.room-main.rehearsal-main
.review-compact-sheet {
  margin-top:0;
}

@media(max-width:700px) {
  .room-main.rehearsal-main:has(.review-compact-sheet) {
    padding-top:10px;
  }

  .room-main.rehearsal-main:has(.review-compact-sheet)
  > .room-heading {
    padding:6px 0 8px;
  }
}


/* ROLE_TALK_REVIEW_EVALUATION_INLINE_20261014 */

.rehearsal-main .review-compact-sheet
.script-line .line-heading > div {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  column-gap:9px;
  row-gap:2px;
}

.rehearsal-main .review-compact-sheet
.script-line .line-heading > div > strong {
  display:inline;
  flex:0 1 auto;
  line-height:1.4;
}

.rehearsal-main .review-compact-sheet
.script-line .line-heading > div > .review-evaluation {
  display:inline-flex;
  align-items:center;
  margin:0;
  padding:0;
}

.rehearsal-main .review-compact-sheet
.script-line .line-heading > div > .review-evaluation
.review-evaluation-name {
  margin:0;
}

.rehearsal-main .review-compact-sheet
.script-line .line-heading > div > span {
  flex-basis:100%;
  margin:0;
}

@media(max-width:700px) {
  .rehearsal-main .review-compact-sheet
  .script-line .line-heading > div {
    column-gap:7px;
  }
}


/* ROLE_TALK_REVIEW_HIDE_LEARNING_NOTE_20261014
   Hide learning notes in review only.
   Data and other screens remain unchanged.
*/
.room-main.rehearsal-main
.review-compact-sheet
.script-line > .learning-note {
  display:none !important;
}


/* ROLE_TALK_REVIEW_SPOKEN_BOLD_20261014 */
.room-main.rehearsal-main
.review-compact-sheet
.script-line > .spoken {
  font-weight: 700;
}


/* ROLE_TALK_AVATAR_SELECT_COMPACT_20261014
   Avatar selection dialog only.
   No avatar data, API, or selection behavior changes.
*/

/* Reduce the top padding. */
#avatar-header-dialog > .avatar-profile-dialog {
  padding-top: 16px !important;
}

#avatar-header-dialog #avatar-header-title {
  margin-top: 0 !important;
  margin-bottom: 3px !important;
}

#avatar-header-dialog .avatar-profile-dialog > p {
  margin-top: 5px !important;
}

/* Compact the avatar list and remove its shared heading. */
#avatar-header-dialog .avatar-profile-section {
  margin-top: 14px !important;
  padding-top: 10px !important;
}

#avatar-header-dialog .avatar-profile-section
> h3 {
  display: none !important;
}

/* Do not display the personal avatar list here. */
#avatar-header-dialog
.avatar-header-personal-hidden {
  display: none !important;
}

/* Compact and center the select buttons. */
#avatar-header-dialog
.avatar-profile-card .avatar-header-select {
  display: block !important;
  width: fit-content !important;
  min-width: 94px !important;
  max-width: 100% !important;
  min-height: 36px !important;
  padding: 6px 12px !important;
  margin: 7px auto 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  border-radius: 9px !important;
}

/* Remove only the selection-clear control from this dialog. */
#avatar-header-dialog #avatar-header-clear {
  display: none !important;
}


/* ROLE_TALK_HEADER_CLEANUP_20261015
   Header only. No authentication or navigation changes.
*/
.header nav > .nav-login,
.header nav > .language-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  box-sizing: border-box;
  line-height: 1.3 !important;
  min-height: 40px;
}

.header nav > #header-admin {
  vertical-align: middle;
  text-decoration: none;
}


/* ROLE_TALK_ENTRANCE_STEP_LAYOUT_20261015
   Entrance only.
   Layout changes only; preserve card decoration,
   colors, button styles, content and permissions.
*/

/* Three-column host workflow stays unchanged. */
.room-main.entrance-simple .host-steps > section {
  display: grid !important;

  grid-template-columns:
    60px minmax(0,1fr) !important;

  grid-template-rows:
    minmax(60px,auto) minmax(0,1fr) auto !important;

  grid-template-areas:
    "number title"
    "description description"
    "action action" !important;

  column-gap: 16px !important;
  row-gap: 13px !important;

  align-items: center !important;
  align-content: stretch !important;
}

/* Number: left of the heading. */
.room-main.entrance-simple
.host-steps > section > .step-number {
  grid-area: number !important;
  justify-self: start !important;
  align-self: center !important;
  margin: 0 !important;
}

/* Heading: next to the number. */
.room-main.entrance-simple
.host-steps > section > h2 {
  grid-area: title !important;
  align-self: center !important;
  justify-self: start !important;

  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Description: full width under the heading. */
.room-main.entrance-simple
.host-steps > section > p {
  grid-area: description !important;
  align-self: start !important;

  width: 100% !important;
  min-width: 0 !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;
  flex: none !important;
}

/* Existing action: aligned at the bottom.
   Do not override disabled or permission styling. */
.room-main.entrance-simple
.host-steps > section > button {
  grid-area: action !important;
  align-self: end !important;
  justify-self: stretch !important;

  width: 100% !important;
  margin-top: 0 !important;
}

/* Narrow screens: same reading order, no overflow. */
@media (max-width: 750px) {
  .room-main.entrance-simple
  .host-steps > section {
    grid-template-columns:
      55px minmax(0,1fr) !important;

    grid-template-rows:
      auto auto auto !important;

    row-gap: 12px !important;
  }

  .room-main.entrance-simple
  .host-steps > section > button {
    width: 100% !important;
  }
}


/* ROLE_TALK_ENTRANCE_COMPACT_20261015
   Host entrance: reduce the 3 workflow cards
   approximately 20% in width and height.
   Preserve original visual styling and functionality.
*/

@media (min-width: 1050px) {

  /* All three cards: 80% width, centered */
  .room-main.entrance-simple .host-steps {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  /* Reduce height and interior whitespace */
  .room-main.entrance-simple
  .host-steps > section {
    min-height: 250px !important;
    height: auto !important;
    padding: 16px 18px !important;
    row-gap: 9px !important;
    column-gap: 13px !important;
  }

  /* Keep existing buttons at the bottom */
  .room-main.entrance-simple
  .host-steps > section > button {
    align-self: end !important;
  }
}

/* Tablet: avoid excessively narrow cards */
@media (min-width: 751px) and (max-width: 1049px) {
  .room-main.entrance-simple .host-steps {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Mobile: retain the existing responsive layout */
@media (max-width: 750px) {
  .room-main.entrance-simple .host-steps {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ROLE_TALK_ENTRANCE_STEP_BALANCE_20261015_START */
body:not(.performance-viewport) main.entrance-simple .host-steps{
  gap:22px;
}

body:not(.performance-viewport) main.entrance-simple .host-steps > section{
  min-height:246px;
  padding:16px 20px 16px !important;
}

body:not(.performance-viewport) main.entrance-simple .host-steps > section .step-number{
  width:68px;
  height:68px;
  min-width:68px;
  line-height:68px;
  font-size:18px;
  margin-bottom:12px;
}

body:not(.performance-viewport) main.entrance-simple .host-steps > section :is(h1,h2,h3,h4){
  margin:0 0 8px !important;
  font-size:clamp(22px,2.2vw,28px);
  line-height:1.12;
  letter-spacing:.01em;
}

body:not(.performance-viewport) main.entrance-simple .host-steps > section p{
  margin:0 0 8px;
}

body:not(.performance-viewport) main.entrance-simple .host-steps > section .outline,
body:not(.performance-viewport) main.entrance-simple .host-steps > section button{
  min-height:50px;
}

@media (max-width: 900px){
  body:not(.performance-viewport) main.entrance-simple .host-steps{
    gap:16px;
  }

  body:not(.performance-viewport) main.entrance-simple .host-steps > section{
    min-height:228px;
    padding:14px 16px 14px !important;
  }

  body:not(.performance-viewport) main.entrance-simple .host-steps > section .step-number{
    width:62px;
    height:62px;
    min-width:62px;
    line-height:62px;
    font-size:17px;
    margin-bottom:10px;
  }

  body:not(.performance-viewport) main.entrance-simple .host-steps > section :is(h1,h2,h3,h4){
    font-size:clamp(20px,3.8vw,24px);
  }

  body:not(.performance-viewport) main.entrance-simple .host-steps > section button,
  body:not(.performance-viewport) main.entrance-simple .host-steps > section .outline{
    min-height:46px;
  }
}
/* ROLE_TALK_ENTRANCE_STEP_BALANCE_20261015_END */
/* ROLE_TALK_ENTRANCE_STEP_FINE_TUNE_20261015_START */

/* 3カード共通：アイコン全体を少し小さくし、位置を少し右下へ */
body:not(.performance-viewport) main.entrance-simple .host-steps > section .step-number{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  line-height:64px !important;
  font-size:17px !important;
  margin-top:6px !important;
  margin-left:6px !important;
  margin-right:10px !important;
  margin-bottom:10px !important;
  transform:none !important;
}

/* 左上の数字とタイトル列の見た目バランス */
body:not(.performance-viewport) main.entrance-simple .host-steps > section{
  padding-top:14px !important;
}

/* タイトルをアイコン中央ラインに合わせつつ、少し右へ */
body:not(.performance-viewport) main.entrance-simple .host-steps > section :is(h1,h2,h3,h4){
  margin-top:8px !important;
  margin-left:0.9em !important;
  line-height:1.1 !important;
}

/* 説明行も少し右へ寄せる */
body:not(.performance-viewport) main.entrance-simple .host-steps > section p{
  margin-left:0.9em !important;
}

/* もしタイトル直下の補足が span/div の場合も少し右へ */
body:not(.performance-viewport) main.entrance-simple .host-steps > section > div,
body:not(.performance-viewport) main.entrance-simple .host-steps > section > span{
  margin-left:0 !important;
}

/* モバイルでも同じ雰囲気を維持 */
@media (max-width: 900px){
  body:not(.performance-viewport) main.entrance-simple .host-steps > section .step-number{
    width:60px !important;
    height:60px !important;
    min-width:60px !important;
    line-height:60px !important;
    font-size:16px !important;
    margin-top:5px !important;
    margin-left:5px !important;
    margin-right:9px !important;
    margin-bottom:9px !important;
  }

  body:not(.performance-viewport) main.entrance-simple .host-steps > section :is(h1,h2,h3,h4){
    margin-top:7px !important;
    margin-left:0.8em !important;
  }

  body:not(.performance-viewport) main.entrance-simple .host-steps > section p{
    margin-left:0.8em !important;
  }
}

/* ROLE_TALK_ENTRANCE_STEP_FINE_TUNE_20261015_END */
