/* Functional Parla V2 preview override.
   Loaded only by functional-v2-preview.html.
   Existing production/staging index.html remains untouched. */
:root{
  color-scheme:light;
  --bg:#f7f4ee;
  --bg-soft:#f2ede6;
  --panel:rgba(255,253,250,.92);
  --panel-solid:#fffdfa;
  --panel-2:#f7f2eb;
  --line:#e6ded5;
  --line-strong:#d9cec3;
  --text:#24211e;
  --muted:#817970;
  --purple:#7d69d6;
  --purple-2:#9684de;
  --teal:#75a69a;
  --teal-soft:#e9f1ed;
  --coral:#b77468;
  --coral-soft:#f5e8e4;
  --gold:#b98e4b;
  --danger:#b85f68;
  --shadow:0 20px 60px rgba(77,65,53,.08);
}
html{background:var(--bg)!important}
body{color:var(--text)!important;background:var(--bg)!important;background-image:none!important}
.ambient{display:none!important}
.app-shell{width:min(980px,calc(100% - 28px));padding:0 0 44px}
.topbar{min-height:66px;padding:0 2px!important;border-bottom:1px solid var(--line);margin-bottom:28px}
.brand{gap:10px}
.brand-mark{width:32px!important;height:32px!important;filter:none!important;border-radius:0!important;background:transparent!important;position:relative;overflow:visible!important}
.brand-mark svg{display:block!important;width:100%!important;height:100%!important}
.brand-mark::before,.brand-mark::after{display:none!important;content:none!important}
.brand-name{font-size:16px!important;font-weight:700!important;color:var(--text)}
.brand-tag{display:none}
.plan{gap:5px}
.badge,.meter{display:none!important}
.topbar-action,.ghost-btn,.ui-lang-select{border:1px solid var(--line)!important;background:var(--panel-solid)!important;color:#6f675f!important;border-radius:12px!important;box-shadow:none!important}
.topbar-action{min-height:38px}
.ui-lang-select{height:38px!important}
.auth-screen{padding:22px 0 60px!important}
.auth-layout{grid-template-columns:1.1fr .9fr!important;gap:60px!important;align-items:center!important;min-height:600px}
.auth-copy .eyebrow{color:#7765c6!important;font-size:8px!important}
.auth-copy h1{color:var(--text)!important;font-size:clamp(42px,6vw,64px)!important;line-height:1!important;letter-spacing:-.05em!important}
.auth-copy p{color:var(--muted)!important;max-width:520px}
.auth-points{gap:7px!important}
.auth-points span{border:1px solid var(--line)!important;background:rgba(255,253,250,.56)!important;color:#756d65!important;box-shadow:none!important}
.authcard{background:var(--panel-solid)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)!important;border-radius:24px!important}
.auth-logo{background:#2d2a27!important;color:white!important;box-shadow:none!important}
.authcard h2{color:var(--text)!important}
.sub,.switch,.input-label{color:var(--muted)!important}
.field,.input,.sel{color:var(--text)!important;background:#fbf8f4!important;border-color:var(--line-strong)!important;box-shadow:none!important}
.field:focus,.input:focus,.sel:focus{border-color:#b7aae8!important;box-shadow:0 0 0 3px rgba(125,105,214,.07)!important}
.primary{background:#2d2a27!important;color:white!important;border:0!important;box-shadow:none!important}
.auth-link-btn,.auth-switch-link{color:#7062bd!important}
.workspace{gap:18px!important}
.hero-panel{border:0!important;background:transparent!important;box-shadow:none!important;padding:0 0 8px!important}
.hero-topline h1{color:var(--text)!important;font-size:clamp(32px,5vw,48px)!important;letter-spacing:-.04em!important}
.eyebrow,.section-kicker{color:#7765c6!important}
.connection-chip{background:var(--panel-solid)!important;border:1px solid var(--line)!important;color:#6f675f!important;box-shadow:none!important}
.language-card{background:var(--panel-solid)!important;border:1px solid var(--line)!important;box-shadow:none!important;border-radius:18px!important}
.swap{color:#7765c6!important;background:var(--violet-soft)!important;border-color:transparent!important}
.conversation-card{background:var(--panel-solid)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)!important;border-radius:26px!important}
.conversation-head{border-bottom:1px solid #eee7df!important}
.conversation-head h2{color:var(--text)!important}
.conversation-tools button,.voice-pro-chip{background:transparent!important;border:1px solid var(--line)!important;color:#817970!important;box-shadow:none!important}
.stream{color:var(--text)!important}
.msg,.bubble,.message{box-shadow:none!important}
.roombar,.tourbar{border:1px solid #dcd4ca!important;background:#f1ede7!important;color:#5f5851!important;box-shadow:none!important;border-radius:16px!important}
.rb-dot{background:#75a18f!important}
.rb-code,.rb-status{color:#6e665f!important}
.rb-leave{background:transparent!important;border:1px solid #d7cec5!important;color:#726960!important}
.controls,.room-active-language{color:var(--text)!important}
.room-active-language{border:0!important;background:transparent!important}
.mic{border-color:var(--line)!important;background:#faf7f2!important;color:var(--text)!important;box-shadow:none!important}
.mic-orb{background:#2d2a27!important;box-shadow:none!important}
.room-mic .mic-orb{background:#2d2a27!important}
.mic .wave span{background:#8a77d9!important}
.mic .lbl{color:var(--text)!important}
.mic .sub{color:var(--muted)!important}
.composer{border-top:1px solid #eee8e0!important;background:transparent!important}
.send{box-shadow:none!important;border:0!important}
.send.a,.send.b,.room-send{background:#2d2a27!important;color:white!important}
.feature-card,.settings-card,.help{background:rgba(255,253,250,.58)!important;border:1px solid var(--line)!important;box-shadow:none!important;color:var(--text)!important}
.feature-copy small,.settings-title,.help p{color:var(--muted)!important}
.overlay{background:rgba(64,56,48,.22)!important;backdrop-filter:blur(10px)!important}
.modal,.roommodal,.roommodal-v2{background:var(--panel-solid)!important;color:var(--text)!important;border:1px solid var(--line)!important;box-shadow:0 30px 90px rgba(72,61,50,.16)!important;border-radius:26px!important}
.modal-icon.secure-room-icon{background:var(--violet-soft)!important;color:#6656b4!important;box-shadow:none!important}
.roommodal h3{color:var(--text)!important}
.modal-subcopy{color:var(--muted)!important}
.roommodal .primary{background:#2d2a27!important}
.roommodal .x,.icon-close{color:#7e756d!important;background:transparent!important}
.roommodal .room-code-input{font-family:Manrope,sans-serif;letter-spacing:.12em}
.room-or{color:#a1978f!important}
.room-wait-card,.room-share-box{background:#faf7f2!important;border-color:var(--line)!important}
.room-qr{background:white!important;border-color:var(--line)!important}
.note,.network-banner{background:#f3eee7!important;border-color:var(--line)!important;color:#675f57!important}
@media(max-width:760px){
  .app-shell{width:calc(100% - 18px)}
  .topbar{margin-bottom:18px}
  .auth-layout{grid-template-columns:1fr!important;gap:28px!important;min-height:0}
  .auth-copy{text-align:center}
  .auth-copy h1{font-size:42px!important}
  .auth-points{justify-content:center}
  .authcard{border-radius:21px!important}
  .hero-topline{align-items:flex-start!important}
  .hero-actions{gap:5px!important}
  .conversation-card{border-radius:21px!important}
  .roommodal,.roommodal-v2{border-radius:22px!important}
}
/* --- Active Private Room V2 state --------------------------------------- */
body:has(#roomBar:not(.hidden)) .app-shell{
  width:min(860px,calc(100% - 24px));
}
body:has(#roomBar:not(.hidden)) .hero-panel,
body:has(#roomBar:not(.hidden)) .feature-grid,
body:has(#roomBar:not(.hidden)) .settings-card,
body:has(#roomBar:not(.hidden)) .help{
  display:none!important;
}
body:has(#roomBar:not(.hidden)) .workspace{
  gap:12px!important;
}
body:has(#roomBar:not(.hidden)) #roomBar{
  margin:0 0 8px!important;
  padding:8px 4px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body:has(#roomBar:not(.hidden)) #roomBar .rb-main{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0;
}
body:has(#roomBar:not(.hidden)) #roomBar .rb-code{
  font-size:10px!important;
  white-space:nowrap;
}
body:has(#roomBar:not(.hidden)) #roomBar .rb-code b{
  font:600 10px/1 Manrope,sans-serif!important;
  letter-spacing:.08em;
}
body:has(#roomBar:not(.hidden)) #roomBar .rb-status{
  font-size:9px!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body:has(#roomBar:not(.hidden)) #roomLeave{
  border:0!important;
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:9px!important;
  padding:7px 9px!important;
}
body:has(#roomBar:not(.hidden)) .conversation-card{
  min-height:610px;
  display:flex;
  flex-direction:column;
  padding:0!important;
  overflow:hidden;
}
body:has(#roomBar:not(.hidden)) .conversation-head{
  padding:24px 28px 18px!important;
}
body:has(#roomBar:not(.hidden)) .conversation-head .section-kicker{
  font-size:7px!important;
  letter-spacing:.15em!important;
}
body:has(#roomBar:not(.hidden)) .conversation-head h2{
  font:700 30px/1.1 Manrope,sans-serif!important;
  letter-spacing:-.035em!important;
}
body:has(#roomBar:not(.hidden)) .conversation-tools{
  display:none!important;
}
body:has(#roomBar:not(.hidden)) #stream{
  flex:1;
  min-height:330px!important;
  max-height:none!important;
  padding:26px 28px 18px!important;
  background:transparent!important;
}
body:has(#roomBar:not(.hidden)) #stream .empty{
  min-height:300px!important;
  display:grid!important;
  place-content:center!important;
  text-align:center!important;
}
body:has(#roomBar:not(.hidden)) #stream .empty .big{
  color:var(--text)!important;
  font:700 24px/1.2 Manrope,sans-serif!important;
  letter-spacing:-.03em!important;
}
body:has(#roomBar:not(.hidden)) #stream .empty .sm{
  max-width:360px!important;
  margin:8px auto 0!important;
  color:var(--muted)!important;
  font-size:10px!important;
  line-height:1.55!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg{
  width:max-content!important;
  max-width:78%!important;
  margin:0 0 22px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg.a{
  margin-left:auto!important;
  text-align:right!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg.b{
  margin-right:auto!important;
  text-align:left!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg .src{
  display:flex!important;
  gap:6px!important;
  align-items:center!important;
  color:#9a9189!important;
  font-size:9px!important;
  line-height:1.45!important;
  margin-bottom:5px!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg.a .src{
  justify-content:flex-end!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg .tgt{
  display:flex!important;
  gap:7px!important;
  align-items:flex-start!important;
  color:var(--text)!important;
  font:600 20px/1.42 Manrope,sans-serif!important;
  letter-spacing:-.015em!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg.a .tgt{
  justify-content:flex-end!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg .tgt .fl{
  font-size:11px!important;
  line-height:1.8!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg .tools{
  display:flex!important;
  margin-top:10px!important;
  gap:8px!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg.a .tools{
  justify-content:flex-end!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg.b .tools{
  display:flex!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg .tools button[data-action="copy"]{
  display:none!important;
}
body:has(#roomBar:not(.hidden)) #stream .msg .tools button[data-action="speak"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:8px 13px!important;
  border:1px solid #ded7ce!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#504840!important;
  font:700 12px/1 Manrope,sans-serif!important;
  box-shadow:0 3px 10px rgba(34,28,23,.05)!important;
}
body:has(#roomBar:not(.hidden)) #roomControls:not(.hidden){
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:2px!important;
  padding:12px 18px 4px!important;
  border-top:1px solid #eee8e0!important;
}
body:has(#roomBar:not(.hidden)) #roomControls .room-active-language{
  width:min(280px,100%)!important;
  padding:0!important;
  margin:0 auto 2px!important;
}
body:has(#roomBar:not(.hidden)) #roomControls .room-active-language .input-label{
  display:block!important;
  margin-bottom:5px!important;
  font-size:8px!important;
  color:#8f877f!important;
  text-align:center!important;
}
body:has(#roomBar:not(.hidden)) #roomActiveLang{
  height:42px!important;
  border-radius:12px!important;
  text-align:center!important;
}
body:has(#roomBar:not(.hidden)) .room-dock{
  width:min(100%,600px)!important;
  min-height:92px!important;
  display:grid!important;
  grid-template-columns:1fr 86px 1fr!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 auto!important;
  padding:8px 12px 10px!important;
}
body:has(#roomBar:not(.hidden)) .room-dock-side{
  min-height:56px!important;
  border:0!important;
  border-radius:16px!important;
  background:transparent!important;
  color:#817970!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  box-shadow:none!important;
}
body:has(#roomBar:not(.hidden)) .room-dock-side:hover{
  background:#faf7f2!important;
  color:#2d2a27!important;
}
body:has(#roomBar:not(.hidden)) .room-dock-side[aria-pressed="false"]{
  opacity:.5!important;
}
body:has(#roomBar:not(.hidden)) .room-dock-icon{
  font-size:19px!important;
  line-height:1!important;
}
body:has(#roomBar:not(.hidden)) .room-dock-side small{
  font-size:8px!important;
  font-weight:600!important;
}
body:has(#roomBar:not(.hidden)) #roomMic{
  width:86px!important;
  height:86px!important;
  min-height:86px!important;
  padding:0!important;
  justify-self:center!important;
  border:0!important;
  background:transparent!important;
  border-radius:50%!important;
  box-shadow:none!important;
}
body:has(#roomBar:not(.hidden)) #roomMic .mic-orb{
  width:74px!important;
  height:74px!important;
  margin:0 auto!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#2e2a27!important;
  box-shadow:0 14px 34px rgba(45,42,39,.18)!important;
  position:relative!important;
}
body:has(#roomBar:not(.hidden)) #roomMic .mic-orb::before{
  content:""!important;
  position:absolute!important;
  inset:-7px!important;
  border-radius:50%!important;
  background:rgba(124,105,215,.07)!important;
  z-index:-1!important;
}
body:has(#roomBar:not(.hidden)) #roomMic.live .mic-orb,
body:has(#roomBar:not(.hidden)) #roomMic.is-listening .mic-orb{
  box-shadow:0 0 0 8px rgba(124,105,215,.10),0 14px 34px rgba(45,42,39,.18)!important;
}
body:has(#roomBar:not(.hidden)) #roomMic .room-mic-glyph{
  display:block!important;
  width:18px!important;
  height:25px!important;
  border:2px solid #fffaf4!important;
  border-radius:12px!important;
  position:relative!important;
  background:transparent!important;
  font-size:0!important;
  filter:none!important;
}
body:has(#roomBar:not(.hidden)) #roomMic .room-mic-glyph::before{
  content:""!important;
  position:absolute!important;
  width:26px!important;
  height:14px!important;
  border:2px solid #fffaf4!important;
  border-top:0!important;
  border-radius:0 0 16px 16px!important;
  left:50%!important;
  top:13px!important;
  transform:translateX(-50%)!important;
}
body:has(#roomBar:not(.hidden)) #roomMic .room-mic-glyph::after{
  content:""!important;
  position:absolute!important;
  width:2px!important;
  height:7px!important;
  background:#fffaf4!important;
  left:50%!important;
  top:25px!important;
  transform:translateX(-50%)!important;
  border-radius:2px!important;
}
body:has(#roomBar:not(.hidden)) #roomMic .wave,
body:has(#roomBar:not(.hidden)) #roomMic .lbl,
body:has(#roomBar:not(.hidden)) #roomMic .sub{
  display:none!important;
}
body:has(#roomBar:not(.hidden)) #composer{
  padding:8px 18px 20px!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  gap:8px!important;
}
body:has(#roomBar:not(.hidden)) #composer:not(.room-text-open){
  display:none!important;
}
body:has(#roomBar:not(.hidden)) #composer.room-text-open{
  display:grid!important;
}
body:has(#roomBar:not(.hidden)) #composer #textInput{
  height:44px!important;
  border-radius:13px!important;
}
body:has(#roomBar:not(.hidden)) #composer #roomSend:not(.hidden){
  width:46px!important;
  height:44px!important;
  border-radius:13px!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm{
  width:min(calc(100% - 36px),600px)!important;
  margin:8px auto 4px!important;
  padding:14px!important;
  border:1px solid #ded5cb!important;
  border-radius:18px!important;
  background:#fbf8f4!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm.hidden{
  display:none!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-copy>small{
  display:block!important;
  margin-bottom:9px!important;
  color:#7765c6!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-pair{
  padding:9px 10px!important;
  border-radius:12px!important;
  background:#fffdfa!important;
  margin-top:7px!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-pair span{
  display:block!important;
  margin-bottom:4px!important;
  color:#91877e!important;
  font-size:8px!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-pair strong{
  display:block!important;
  color:#2d2a27!important;
  font:600 13px/1.45 Manrope,sans-serif!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:10px!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-actions button{
  min-height:44px!important;
  border-radius:12px!important;
  font-weight:700!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-cancel{
  background:#fffdfa!important;
  border:1px solid #ded5cb!important;
  color:#71685f!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-send{
  background:#2d2a27!important;
  border:1px solid #2d2a27!important;
  color:#fff!important;
}

/* Real Room create/join modal, simplified */
#roomModal .secure-room-icon{
  display:none!important;
}
#roomModal .roommodal{
  width:min(520px,calc(100% - 24px))!important;
  padding:28px!important;
}
#roomModal .roommodal h3{
  font:700 31px/1.08 Manrope,sans-serif!important;
  letter-spacing:-.035em!important;
  margin-bottom:8px!important;
}
#roomModal .modal-subcopy{
  font-size:10px!important;
  line-height:1.55!important;
}
#roomModal #roomForm{
  margin-top:22px!important;
}
#roomModal #roomCreate{
  margin-top:12px!important;
  min-height:50px!important;
  border:1px solid #d9d0c6!important;
  border-radius:14px!important;
  background:#f3eee7!important;
  color:#332f2b!important;
  box-shadow:none!important;
}
#roomModal #roomJoin{
  min-height:50px!important;
  border-radius:14px!important;
}
#roomModal #roomCodeIn{
  height:54px!important;
  border-radius:14px!important;
  text-align:center!important;
}
#roomModal #roomClose{
  margin-top:12px!important;
  font-size:9px!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

@media(max-width:640px){
  body:has(#roomBar:not(.hidden)) .app-shell{width:calc(100% - 14px)}
  body:has(#roomBar:not(.hidden)) .topbar{margin-bottom:10px}
  body:has(#roomBar:not(.hidden)) #roomBar{
    padding:5px 2px!important;
  }
  body:has(#roomBar:not(.hidden)) .conversation-card{
    min-height:calc(100dvh - 160px);
    border-radius:20px!important;
  }
  body:has(#roomBar:not(.hidden)) .conversation-head{
    padding:20px 18px 15px!important;
  }
  body:has(#roomBar:not(.hidden)) .conversation-head h2{
    font-size:25px!important;
  }
  body:has(#roomBar:not(.hidden)) #stream{
    padding:20px 18px 12px!important;
  }
  body:has(#roomBar:not(.hidden)) #stream .msg{
    max-width:90%!important;
  }
  body:has(#roomBar:not(.hidden)) #stream .msg .tgt{
    font-size:17px!important;
  }
  body:has(#roomBar:not(.hidden)) #roomControls:not(.hidden){
    display:flex!important;
    padding:12px 12px 2px!important;
  }
  body:has(#roomBar:not(.hidden)) .room-dock{
    width:100%!important;
    grid-template-columns:1fr 80px 1fr!important;
    padding:6px 6px 8px!important;
  }
  body:has(#roomBar:not(.hidden)) #roomMic{
    width:76px!important;height:76px!important;min-height:76px!important
  }
  body:has(#roomBar:not(.hidden)) #roomMic .mic-orb{
    width:68px!important;height:68px!important
  }
  body:has(#roomBar:not(.hidden)) #composer{
    padding:7px 12px 16px!important;
  }
  body:has(#roomBar:not(.hidden)) .room-confirm{
    width:calc(100% - 24px)!important;
  }
  #roomModal .roommodal{padding:22px 18px!important}
  #roomModal .roommodal h3{font-size:28px!important}
}

/* --- Functional Home / Entry V2 --------------------------------------- */
.v2-entry-shell{
  width:min(820px,100%);
  margin:62px auto 76px;
  text-align:center;
}
.v2-entry-hidden{display:none!important}
.v2-entry-copy{max-width:780px;margin:0 auto}
.v2-entry-eyebrow{
  display:block;
  margin-bottom:12px;
  color:#7765c6;
  font-size:8px;
  font-weight:700;
  letter-spacing:.16em;
}
.v2-entry-copy h1{
  margin:0;
  font:700 clamp(48px,7vw,74px)/.98 Manrope,sans-serif;
  letter-spacing:-.05em;
  color:var(--text);
}
.v2-entry-copy h1 span{color:#857c73}
.v2-entry-copy p{
  margin:20px auto 28px;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.v2-entry-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  max-width:650px;
  margin:0 auto;
}
.v2-entry-card{
  min-width:0;
  min-height:80px;
  padding:13px 14px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel-solid);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}
.v2-entry-card:hover{border-color:var(--line-strong)}
.v2-entry-primary{border-color:#d8cdef;background:#fefcfe}
.v2-entry-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--violet-soft);
  color:#6656b5;
  font-size:20px;
}
.v2-entry-icon-sage{background:#e9f1ed;color:#5f887b}
.v2-entry-card>span:nth-child(2){
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.v2-entry-card b{font:600 12px/1.2 Manrope,sans-serif}
.v2-entry-card small{color:var(--muted);font-size:9px}
.v2-entry-arrow{color:#aaa199}
.v2-quick-card{
  width:100%;
  max-width:650px;
  min-height:50px;
  margin:10px auto 0;
  padding:0 15px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,253,250,.66);
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.v2-quick-card>span:nth-child(2){
  display:flex;
  flex-direction:column;
  gap:2px;
}
.v2-quick-card b{font-size:10px}
.v2-quick-card small{font-size:8px;color:var(--muted)}
.v2-conversation-preview{
  max-width:690px;
  margin:54px auto 0;
  padding:17px 17px 13px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--panel-solid);
  box-shadow:var(--shadow);
  text-align:left;
}
.v2-preview-head{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:10px;
  margin-bottom:24px;
}
.v2-preview-head>span{
  display:flex;
  align-items:center;
  gap:8px;
}
.v2-person-right{justify-content:flex-end;text-align:right}
.v2-preview-head em{
  display:flex;
  flex-direction:column;
  gap:1px;
  font-style:normal;
}
.v2-preview-head small{font-size:8px;color:var(--muted)}
.v2-preview-head b{font-size:10px}
.v2-avatar{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--violet-soft);
  color:#6656b5;
  font-style:normal;
  font-size:10px;
  font-weight:600;
}
.v2-avatar.sage{background:#e9f1ed;color:#5f887b}
.v2-preview-live{
  justify-content:center;
  color:#8a827a;
  font-size:8px;
}
.v2-preview-live i,
.v2-preview-private i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#75a18f;
}
.v2-preview-message{
  max-width:78%;
  margin:15px 0;
}
.v2-preview-message.mine{
  margin-left:auto;
  text-align:right;
}
.v2-preview-message b{
  display:block;
  font:600 17px/1.45 Manrope,sans-serif;
  letter-spacing:-.015em;
}
.v2-preview-message small{
  display:block;
  margin-top:4px;
  color:#9a9189;
  font-size:8px;
}
.v2-preview-private{
  margin-top:20px;
  padding-top:11px;
  border-top:1px solid #eee8e0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#9a9189;
  font-size:8px;
}
.v2-entry-secondary{
  margin-top:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.v2-entry-secondary button{
  border:0;
  background:transparent;
  color:#817970;
  font-size:9px;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.v2-top-login{
  height:38px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-solid);
  color:#4f4944;
  font-size:10px;
  cursor:pointer;
}
.v2-auth-collapsed{display:none!important}
.v2-auth-expanded{
  display:grid!important;
  grid-template-columns:1fr!important;
  max-width:460px;
  min-height:0!important;
  margin:42px auto 72px!important;
}
.v2-auth-expanded .auth-copy{display:none!important}
.v2-auth-expanded .authcard{width:100%}
.v2-auth-back{
  border:0;
  background:transparent;
  color:#847b73;
  font-size:9px;
  padding:0 0 15px;
  cursor:pointer;
  text-align:left;
}
@media(max-width:650px){
  .v2-entry-shell{
    width:100%;
    margin:42px auto 56px;
  }
  .v2-entry-copy h1{
    font-size:clamp(40px,12vw,54px);
  }
  .v2-entry-copy p{
    margin-top:17px;
    font-size:12px;
  }
  .v2-entry-actions{grid-template-columns:1fr}
  .v2-entry-card{min-height:74px}
  .v2-conversation-preview{
    margin-top:40px;
    border-radius:20px;
    padding:14px;
  }
  .v2-preview-message{max-width:88%}
  .v2-preview-message b{font-size:15px}
  .v2-auth-expanded{
    margin:22px auto 48px!important;
  }
}

/* --- Functional Tour / Group V2 --------------------------------------- */
body:has(#tourBar:not(.hidden)) .app-shell{
  width:min(900px,calc(100% - 24px));
}
body:has(#tourBar:not(.hidden)) .hero-panel,
body:has(#tourBar:not(.hidden)) .feature-grid,
body:has(#tourBar:not(.hidden)) .settings-card,
body:has(#tourBar:not(.hidden)) .help{
  display:none!important;
}
body:has(#tourBar:not(.hidden)) .workspace{
  gap:14px!important;
}
body:has(#tourBar:not(.hidden)) #tourBar{
  margin:0!important;
  padding:8px 4px!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
}
body:has(#tourBar:not(.hidden)) #tourBar .rb-main{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
body:has(#tourBar:not(.hidden)) #tourCode{
  font:600 10px/1 Manrope,sans-serif!important;
  letter-spacing:.08em;
}
body:has(#tourBar:not(.hidden)) #tourStatus{
  font-size:9px!important;
}
body:has(#tourBar:not(.hidden)) #tourEnd{
  border:0!important;
  text-decoration:underline;
  text-underline-offset:3px;
  font-size:9px!important;
}
body:has(#tourBar:not(.hidden)) #tourDashboard:not(.hidden){
  display:flex!important;
  gap:8px!important;
  align-items:stretch!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat{
  min-width:92px!important;
  padding:10px 12px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:rgba(255,253,250,.62)!important;
  box-shadow:none!important;
}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat-wide{
  flex:1!important;
}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat>span{
  display:block!important;
  color:var(--muted)!important;
  font-size:8px!important;
  margin-bottom:3px!important;
}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat>b{
  color:var(--text)!important;
  font:600 17px/1 Manrope,sans-serif!important;
}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-language-stats,
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-guide-last{
  color:#6f675f!important;
  font-size:9px!important;
  line-height:1.4!important;
}
body:has(#tourBar:not(.hidden)) .conversation-card{
  min-height:520px;
  padding:0!important;
  overflow:hidden;
}
body:has(#tourBar:not(.hidden)) .conversation-head{
  padding:22px 26px 16px!important;
}
body:has(#tourBar:not(.hidden)) .conversation-tools{
  display:none!important;
}
body:has(#tourBar:not(.hidden)) #stream{
  min-height:250px!important;
  padding:22px 26px!important;
}
body:has(#tourBar:not(.hidden)) #tourControls:not(.hidden){
  display:grid!important;
  place-items:center!important;
  min-height:190px!important;
  padding:18px 24px 24px!important;
  border-top:1px solid #eee8e0!important;
}
body:has(#tourBar:not(.hidden)) #tourMic{
  width:108px!important;
  min-height:108px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
}
body:has(#tourBar:not(.hidden)) #tourMic .mic-orb{
  width:96px!important;
  height:96px!important;
  border-radius:50%!important;
  margin:0 auto!important;
}
body:has(#tourBar:not(.hidden)) #tourMic .wave{
  display:none!important;
}
body:has(#tourBar:not(.hidden)) #tourMic .lbl{
  margin-top:13px!important;
  font-size:12px!important;
}
body:has(#tourBar:not(.hidden)) #tourMic .sub{
  margin-top:3px!important;
  font-size:8px!important;
}

/* Public Tour / Listener shell */
#screenTour{
  padding:0 0 70px!important;
}
#screenTour .tour-listener-shell{
  width:min(760px,100%)!important;
  margin:0 auto!important;
  padding:0!important;
}
#screenTour .tour-listener-head{
  padding:18px 0 20px!important;
  border-bottom:0!important;
  align-items:flex-end!important;
}
#screenTour .tour-listener-head h1{
  color:var(--text)!important;
  font:700 clamp(34px,5vw,48px)/1.05 Manrope,sans-serif!important;
  letter-spacing:-.04em!important;
}
#screenTour .tour-listener-head p{
  color:var(--muted)!important;
  font-size:10px!important;
}
#screenTour .tour-live-badge{
  border:1px solid var(--line)!important;
  background:var(--panel-solid)!important;
  color:#63897e!important;
  box-shadow:none!important;
}
#screenTour .tour-public-card{
  background:var(--panel-solid)!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  box-shadow:var(--shadow)!important;
}
#screenTour #tourListenerView{
  position:relative;
}
#screenTour .tour-listener-toolbar{
  padding:10px 0 14px!important;
  border:0!important;
  background:transparent!important;
}
#screenTour .tour-session-code{
  color:#746d66!important;
  font:600 11px/1 Manrope,sans-serif!important;
  letter-spacing:.08em!important;
}
#screenTour .tour-listener-actions{
  gap:6px!important;
}
#screenTour .compact-select,
#screenTour .tour-mute,
#screenTour .rb-leave{
  height:38px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:var(--panel-solid)!important;
  color:#6f675f!important;
  box-shadow:none!important;
}
#screenTour .tour-caption-stream{
  min-height:500px!important;
  max-height:none!important;
  padding:28px 30px!important;
  border:1px solid var(--line)!important;
  border-radius:24px!important;
  background:var(--panel-solid)!important;
  box-shadow:var(--shadow)!important;
}
#screenTour .tour-empty{
  color:var(--muted)!important;
}
#screenTour .tour-caption{
  padding:18px 0!important;
  border:0!important;
  border-bottom:1px solid #eee8e0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#screenTour .tour-caption:last-child{
  border-bottom:0!important;
}
#screenTour .tour-caption-sender{
  display:none!important;
}
#screenTour .tour-caption-source{
  color:#9b928a!important;
  font-size:10px!important;
  line-height:1.5!important;
  margin-bottom:12px!important;
}
#screenTour .tour-caption-text{
  color:var(--text)!important;
  font:700 clamp(28px,5vw,46px)/1.15 Manrope,sans-serif!important;
  letter-spacing:-.04em!important;
}
#screenTour .tour-caption-time{
  margin-top:12px!important;
  color:#aaa198!important;
  font-size:8px!important;
}
#screenTour .tour-interactive-box{
  margin-top:12px!important;
  padding:9px!important;
  border:1px solid var(--line-strong)!important;
  border-radius:20px!important;
  background:rgba(255,253,250,.94)!important;
  box-shadow:0 18px 50px rgba(75,63,51,.08)!important;
}
#screenTour .tour-listener-mic{
  width:54px!important;
  min-height:54px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#screenTour .tour-listener-mic .mic-orb{
  width:48px!important;
  height:48px!important;
}
#screenTour .tour-listener-mic .wave,
#screenTour .tour-listener-mic .lbl,
#screenTour .tour-listener-mic .sub{
  display:none!important;
}
#screenTour .tour-listener-composer{
  min-width:0!important;
}
#screenTour .tour-listener-composer .input{
  height:46px!important;
  border-radius:13px!important;
}
#screenTour .tour-listener-composer .send{
  width:46px!important;
  height:46px!important;
  border-radius:13px!important;
}
#screenTour .tour-listener-note{
  color:#9b928a!important;
  font-size:8px!important;
  text-align:center!important;
  margin-top:10px!important;
}

@media(max-width:640px){
  body:has(#tourBar:not(.hidden)) .app-shell{
    width:calc(100% - 14px);
  }
  body:has(#tourBar:not(.hidden)) #tourDashboard:not(.hidden){
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }
  body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat{
    min-width:86px!important;
  }
  body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat-wide{
    min-width:160px!important;
  }
  #screenTour .tour-listener-head{
    padding:12px 0 16px!important;
  }
  #screenTour .tour-listener-head h1{
    font-size:32px!important;
  }
  #screenTour .tour-listener-toolbar{
    align-items:center!important;
  }
  #screenTour .tour-listener-toolbar>div:first-child{
    display:none!important;
  }
  #screenTour .tour-listener-actions{
    width:100%!important;
    justify-content:flex-end!important;
  }
  #screenTour .tour-caption-stream{
    min-height:520px!important;
    padding:24px 20px!important;
    border-radius:21px!important;
  }
  #screenTour .tour-caption-text{
    font-size:36px!important;
  }
}

/* Tour V2 cleanup after real DOM binding */
body:has(#tourBar:not(.hidden)) #composer{
  display:none!important;
}
#screenTour .tour-listener-shell{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--text)!important;
}
#screenTour .tour-listener-head{
  background:transparent!important;
  background-image:none!important;
  color:var(--text)!important;
}
#screenTour .tour-listener-head .eyebrow,
#screenTour .tour-listener-head h1,
#screenTour .tour-listener-head p{
  color:inherit;
}
#screenTour .tour-listener-head .eyebrow{
  color:#7765c6!important;
}
#screenTour .tour-live-badge{
  position:static!important;
}

/* --- Private Room V2 interaction state -------------------------------- */
.room-v2-state{
  display:none;
  margin:0 28px 2px;
  padding:12px 14px;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid #e7dfd6;
  border-radius:16px;
  background:#faf7f2;
}
body:has(#roomBar:not(.hidden)) .room-v2-state:not(.hidden){display:grid}
.room-v2-orb{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:#eee9fb;position:relative
}
.room-v2-orb span{width:10px;height:10px;border-radius:50%;background:#7d69d6}
.room-v2-state-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.room-v2-eyebrow{font-size:7px;letter-spacing:.14em;color:#918880;font-weight:700}
.room-v2-state-copy strong{font:600 12px/1.25 Manrope,sans-serif;color:var(--text)}
.room-v2-state-copy small{font-size:9px;line-height:1.4;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-v2-state-side{display:flex;align-items:flex-end;flex-direction:column;gap:5px}
.room-v2-meta{font-size:8px;color:#918880;white-space:nowrap}
.room-v2-action{border:0;background:transparent;color:#756d65;font-size:8px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px}
.room-v2-state[data-state="waiting"] .room-v2-orb{background:#f0ece6}
.room-v2-state[data-state="waiting"] .room-v2-orb span{background:#9b9289}
.room-v2-state[data-state="listening"] .room-v2-orb{background:#eee9fb}
.room-v2-state[data-state="listening"] .room-v2-orb span{box-shadow:0 0 0 8px rgba(125,105,214,.08)}
.room-v2-state[data-state="speech"] .room-v2-orb{background:#f1ecfa}
.room-v2-state[data-state="speech"] .room-v2-orb span{background:#8a77d9;transform:scale(1.18)}
.room-v2-state[data-state="translating"] .room-v2-orb::before{
  content:"";position:absolute;inset:6px;border-radius:50%;border:2px solid transparent;
  border-top-color:#8f7cdb;border-right-color:#8f7cdb;animation:parla-v2-spin .9s linear infinite
}
.room-v2-state[data-state="translating"] .room-v2-orb span{width:7px;height:7px;background:#b9afe4}
.room-v2-state[data-state="partner"] .room-v2-orb,
.room-v2-state[data-state="playback"] .room-v2-orb{background:#e9f1ed}
.room-v2-state[data-state="partner"] .room-v2-orb span,
.room-v2-state[data-state="playback"] .room-v2-orb span{background:#75a18f}
.room-v2-state[data-state="reconnecting"] .room-v2-orb{background:#f0ece6}
.room-v2-state[data-state="reconnecting"] .room-v2-orb::before{content:"";position:absolute;inset:7px;border:1px dashed #9d9389;border-radius:50%;animation:parla-v2-spin 1.4s linear infinite}
.room-v2-state[data-state="reconnecting"] .room-v2-orb span{width:7px;height:7px;background:#9d9389}
.room-v2-state[data-state="error"]{background:#fbf1ef;border-color:#edd8d3}
.room-v2-state[data-state="error"] .room-v2-orb{background:#f5e8e4}
.room-v2-state[data-state="error"] .room-v2-orb span{background:#b77468}
@keyframes parla-v2-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){
  .room-v2-state{margin:0 18px 2px;padding:10px 11px;grid-template-columns:34px minmax(0,1fr);gap:9px}
  .room-v2-orb{width:32px;height:32px}
  .room-v2-state-side{grid-column:2;align-items:flex-start;flex-direction:row;margin-top:1px}
  .room-v2-state-copy strong{font-size:11px}
  .room-v2-state-copy small{font-size:8px;white-space:normal}
  .room-v2-meta{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .room-v2-state *{animation:none!important;transition:none!important}
}


/* --- Final pre-freeze polish ------------------------------------------- */
/* One visual language: flat controls at rest, subtle hover elevation,
   clear focus rings and restrained active-state emphasis. */
button:not(.mic),
.feature-card,
.connection-chip,
.stylechip,
.toggle,
.topbar-action,
.ghost-btn,
.primary,
.swap,
.send{
  box-shadow:none!important;
}

button,
.feature-card,
.connection-chip,
.stylechip,
.toggle,
.swap,
.send{
  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease,
    box-shadow .16s ease!important;
}

@media(hover:hover) and (pointer:fine){
  button:not(.mic):not(:disabled):hover,
  .feature-card:not(:disabled):hover,
  .stylechip:not(:disabled):hover{
    transform:translateY(-1px);
    box-shadow:0 5px 14px rgba(77,65,53,.055)!important;
  }
}

button:not(.mic):active,
.feature-card:active,
.stylechip:active{
  transform:translateY(0)!important;
  box-shadow:none!important;
}

button:focus-visible,
select:focus-visible,
input:focus-visible,
.stylechip:focus-visible,
.toggle:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 3px rgba(125,105,214,.11)!important;
}

/* Remove leftover visual labels that duplicate the real hierarchy. */
.conversation-head .section-kicker{
  display:none!important;
}
.conversation-head h2{
  margin-top:0!important;
}

/* Secondary features: Hands-free is intentionally retired from the UI. */
#convoBtn{
  display:none!important;
}
.feature-grid{
  grid-template-columns:1fr!important;
}
.feature-card{
  border:1px solid var(--line)!important;
  background:rgba(255,253,250,.78)!important;
  color:var(--text)!important;
  border-radius:16px!important;
}
.feature-card:hover{
  border-color:var(--line-strong)!important;
  background:var(--panel-solid)!important;
}
.feature-icon{
  background:#f1ece5!important;
  border:1px solid #e5ddd4!important;
  color:#6f675f!important;
  box-shadow:none!important;
}
.feature-copy b{
  color:var(--text)!important;
}
.feature-copy small{
  color:#817970!important;
}
.pill{
  background:#f4efe7!important;
  border:1px solid #e5dbcd!important;
  color:#806f55!important;
  box-shadow:none!important;
  font-weight:700!important;
}

/* Translation style: only two meaningful profiles, explained in place. */
.stylebar{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  overflow:visible!important;
  padding:0!important;
}
.stylebar .lead{
  display:none!important;
}
.stylechip{
  min-width:0!important;
  min-height:82px!important;
  padding:13px 42px 13px 14px!important;
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
  white-space:normal!important;
  border:1px solid var(--line)!important;
  border-radius:15px!important;
  background:#fbf8f4!important;
  color:var(--text)!important;
}
.stylechip-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.stylechip-copy b{
  font:700 12px/1.2 Manrope,sans-serif;
  color:var(--text);
}
.stylechip-copy small{
  font:400 9px/1.45 Inter,sans-serif;
  color:#817970;
}
.stylechip.on{
  border-color:#cec4ea!important;
  background:#f7f3ff!important;
  color:#5f51a8!important;
}
.stylechip.on::after{
  content:"✓";
  position:absolute;
  top:12px;
  right:14px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ebe5fb;
  color:#6656b4;
  font:700 11px/1 Inter,sans-serif;
}

/* Auto-speak stays available, but visually quiet. */
.preference-row{
  border-top:1px solid #eee7df!important;
}
.toggle{
  border:1px solid var(--line)!important;
  background:#faf7f2!important;
  color:#756d65!important;
  border-radius:999px!important;
}
.toggle.on{
  border-color:#d5cbea!important;
  background:#f5f1fb!important;
  color:#6255a4!important;
}
.toggle .tk{
  box-shadow:none!important;
}

/* Primary/secondary action palette: charcoal, violet and sage only. */
.connection-chip,
.conversation-tools button,
.topbar-action,
.ghost-btn{
  background:var(--panel-solid)!important;
  border:1px solid var(--line)!important;
  color:#6f675f!important;
}
.connection-chip.on{
  background:#edf4f0!important;
  border-color:#cfdfd8!important;
  color:#52776d!important;
}
.swap{
  background:#f2eefb!important;
  border:1px solid #e0d8f2!important;
  color:#6656b4!important;
}
.send.a{
  background:#f1edfb!important;
  border:1px solid #ddd4f1!important;
  color:#6656b4!important;
}
.send.b{
  background:#ebf2ee!important;
  border:1px solid #d4e2dc!important;
  color:#587b71!important;
}
.send.room-send,
.primary{
  background:#2d2a27!important;
  color:#fff!important;
  border:1px solid #2d2a27!important;
}

/* Microphones: soft at rest, strong only while actually listening. */
.mic{
  box-shadow:none!important;
}
.mic .mic-orb,
.room-mic .mic-orb,
body:has(#roomBar:not(.hidden)) #roomMic .mic-orb{
  background:#f0ece6!important;
  border:1px solid #e2dad1!important;
  box-shadow:none!important;
}
.mic.a .mic-orb{
  background:#f2eefb!important;
  border-color:#ded6f0!important;
}
.mic.b .mic-orb,
.room-mic .mic-orb{
  background:#ebf2ee!important;
  border-color:#d5e3dd!important;
}
.mic.live .mic-orb,
body:has(#roomBar:not(.hidden)) #roomMic.live .mic-orb{
  background:#2d2a27!important;
  border-color:#2d2a27!important;
  box-shadow:0 0 0 5px rgba(125,105,214,.08)!important;
}
.mic.live{
  box-shadow:none!important;
}

/* Help and supporting copy should stay readable without competing. */
.help{
  background:rgba(255,253,250,.58)!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}
.help summary{
  color:#716960!important;
}
.help p{
  color:#817970!important;
}

/* QR/modals may float; keep their shadow soft and neutral. */
.modal,
.roommodal,
.roommodal-v2{
  box-shadow:0 22px 60px rgba(72,61,50,.12)!important;
}
.room-qr-shell{
  box-shadow:0 8px 24px rgba(72,61,50,.08)!important;
}

@media(max-width:620px){
  .stylebar{
    grid-template-columns:1fr!important;
  }
  .stylechip{
    min-height:76px!important;
  }
}


/* =========================================================
   PHASE A UI/UX POLISH — MOBILE TOUCH TARGETS
   2026-10-09
   Preserve the minimal visual language while keeping touch
   hit areas accessible and reliable on phones.
   ========================================================= */
@media(max-width:760px){
  .v2-entry-secondary button,
  .v2-auth-back,
  .auth-link-btn,
  .auth-switch-link,
  #tourGuestBtn,
  .v2-top-login,
  .topbar-action,
  .ghost-btn,
  .ui-lang-select,
  .conversation-tools button,
  .tools button,
  #roomModal #roomClose,
  body:has(#roomBar:not(.hidden)) #roomLeave,
  .room-v2-action,
  body:has(#tourBar:not(.hidden)) #tourEnd{
    min-height:44px!important;
  }

  .v2-entry-secondary button,
  .v2-auth-back,
  #roomModal #roomClose,
  body:has(#roomBar:not(.hidden)) #roomLeave,
  .room-v2-action,
  body:has(#tourBar:not(.hidden)) #tourEnd{
    min-width:44px!important;
  }

  .v2-entry-secondary button{
    padding:0 12px!important;
  }

  .v2-auth-back{
    display:inline-flex!important;
    align-items:center!important;
    padding:0 8px!important;
    margin:0 0 7px!important;
  }

  .auth-link-btn,
  .auth-switch-link{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:8px 6px!important;
  }

  #tourGuestBtn{
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  .conversation-tools button,
  .tools button{
    padding-top:9px!important;
    padding-bottom:9px!important;
  }

  #roomModal #roomClose{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:8px 12px!important;
    font-size:10px!important;
  }

  body:has(#roomBar:not(.hidden)) #roomLeave{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:9px 10px!important;
    font-size:10px!important;
  }

  .room-v2-action{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:8px 12px!important;
    font-size:10px!important;
  }

  #roomActiveLang,
  .input,
  .send,
  .swap{
    min-height:44px!important;
  }

  .swap{
    min-width:44px!important;
  }
}


/* PHASE A UI/UX POLISH — second pass */
@media(max-width:760px){
  #tourBtn,
  #roomBtn,
  #langA,
  #langB,
  #roomLang,
  #obReplay{
    min-height:44px!important;
  }

  body:has(#roomBar:not(.hidden)) #stream .msg .tools button[data-action="speak"]{
    min-height:44px!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
  }
}

/* =========================================================
   CROSS-PLATFORM VISUAL CONSISTENCY
   2026-10-09
   Keep brand geometry and account surfaces identical across
   desktop and mobile; only flow/layout may stack responsively.
   ========================================================= */
.brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.brand-mark{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  flex:0 0 32px!important;
  aspect-ratio:1/1!important;
  border-radius:10px!important;
  transform:none!important;
}
.brand-name{
  line-height:1!important;
}

.modal.account-modal{
  width:min(520px,calc(100% - 24px))!important;
  max-height:min(88vh,760px)!important;
  padding:20px!important;
  border-radius:24px!important;
  background:var(--panel-solid)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 22px 60px rgba(72,61,50,.12)!important;
}

.account-hero,
.account-stat,
.account-section,
.voice-engine-card,
.subscription-state-card{
  background:var(--panel-solid)!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}

.account-hero{border-radius:16px!important}
.account-stat{border-radius:14px!important}
.account-section{border-radius:16px!important}
.voice-engine-card,
.subscription-state-card{border-radius:14px!important}

.account-avatar{
  box-shadow:none!important;
}

.account-identity b,
.account-stat b,
.account-section-title,
.account-pref-row b,
.voice-engine-row b,
.subscription-state-row b{
  color:var(--text)!important;
}

.account-identity span,
.account-stat span,
.account-pref-row,
.voice-engine-row span,
.subscription-state-row span,
.account-copy{
  color:var(--muted)!important;
}

.account-pref-row,
.voice-engine-row,
.subscription-state-row{
  border-bottom:1px solid #eee8e0!important;
}

.voice-account-section,
.subscription-account-section{
  background:rgba(255,253,250,.72)!important;
  border-color:var(--line)!important;
}

.account-secondary-btn,
.account-logout{
  background:var(--panel-solid)!important;
  border:1px solid var(--line)!important;
  color:#6f675f!important;
  box-shadow:none!important;
}

.account-secondary-btn:hover,
.account-logout:hover{
  background:#faf7f2!important;
  border-color:var(--line-strong)!important;
  color:var(--text)!important;
}

.danger-soft{
  box-shadow:none!important;
}

@media(max-width:760px){
  .modal.account-modal{
    width:calc(100% - 16px)!important;
    max-height:90vh!important;
    padding:16px!important;
    border-radius:24px!important;
  }

  .account-hero{
    padding:14px!important;
  }

  .account-grid{
    gap:8px!important;
  }

  .account-section{
    margin-top:12px!important;
    padding:13px!important;
  }
}

@media(max-width:520px){
  .account-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .voice-engine-row,
  .subscription-state-row{
    align-items:center!important;
    flex-direction:row!important;
    gap:12px!important;
  }

  .voice-engine-row b,
  .subscription-state-row b{
    max-width:60%!important;
    text-align:right!important;
  }
}

/* Uniform country flags — local SVGs, never platform emoji. */
.language-flag{
  width:22px!important;
  height:16.5px!important;
  min-width:22px!important;
  flex:0 0 22px!important;
  display:inline-block!important;
  object-fit:cover!important;
  border-radius:3px!important;
  box-shadow:0 0 0 1px rgba(77,65,53,.10)!important;
  vertical-align:middle!important;
}

.language-select-with-flag{
  background-image:var(--parla-flag-url)!important;
  background-repeat:no-repeat!important;
  background-position:14px center!important;
  background-size:22px 16.5px!important;
  padding-left:46px!important;
}

#micAlbl,
#micBlbl,
#accountLangA,
#accountLangB{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}

#accountLangA,
#accountLangB{
  justify-content:flex-end!important;
}

/* =========================================================
   PARLA BRAND COLOR SYSTEM — 2026-10-10
   Keep the warm-light minimal base, but carry the logo's
   blue / violet / turquoise identity through the product.
   ========================================================= */
:root{
  --parla-violet:#6b58ee;
  --parla-violet-deep:#5744d6;
  --parla-blue:#4f7cf1;
  --parla-teal:#2fc7bd;
  --parla-teal-deep:#20a99f;
  --parla-brand-soft:#f0edff;
  --parla-teal-soft:#e8f8f5;
  --parla-brand-gradient:linear-gradient(135deg,#6b58ee 0%,#5279f0 50%,#2fc7bd 100%);
  --parla-brand-shadow:0 12px 30px rgba(91,91,224,.17);
}

html,
body{
  background-color:#f8f6f2!important;
  background-image:
    radial-gradient(circle at 8% -4%,rgba(107,88,238,.095),transparent 30%),
    radial-gradient(circle at 92% 2%,rgba(47,199,189,.085),transparent 28%)!important;
  background-attachment:fixed!important;
}

.topbar{
  border-bottom-color:rgba(104,87,226,.14)!important;
}

.eyebrow,
.section-kicker,
.v2-entry-eyebrow,
.room-v2-eyebrow,
body:has(#roomBar:not(.hidden)) .room-confirm-copy>small{
  color:var(--parla-violet)!important;
}

.primary,
.send.a,
.send.b,
.room-send,
body:has(#roomBar:not(.hidden)) .room-confirm-send{
  background:var(--parla-brand-gradient)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:var(--parla-brand-shadow)!important;
}

.primary:hover,
.send:hover,
.room-send:hover,
body:has(#roomBar:not(.hidden)) .room-confirm-send:hover{
  filter:saturate(1.06) brightness(1.02)!important;
}

.swap{
  background:linear-gradient(135deg,var(--parla-brand-soft),var(--parla-teal-soft))!important;
  color:var(--parla-violet)!important;
  border-color:rgba(107,88,238,.12)!important;
}

.connection-chip.on,
.stylechip.on,
.v2-top-login.on{
  background:linear-gradient(135deg,rgba(107,88,238,.11),rgba(47,199,189,.10))!important;
  border-color:rgba(107,88,238,.25)!important;
  color:var(--parla-violet-deep)!important;
}

.field:focus,
.input:focus,
.sel:focus,
.ui-lang-select:focus{
  border-color:rgba(107,88,238,.52)!important;
  box-shadow:0 0 0 3px rgba(107,88,238,.10)!important;
}

.mic-orb,
.room-mic .mic-orb,
body:has(#roomBar:not(.hidden)) #roomMic .mic-orb{
  background:var(--parla-brand-gradient)!important;
  box-shadow:var(--parla-brand-shadow)!important;
}

.mic .wave span{
  background:var(--parla-violet)!important;
}

body:has(#roomBar:not(.hidden)) #roomMic .mic-orb::before{
  background:linear-gradient(135deg,rgba(107,88,238,.13),rgba(47,199,189,.11))!important;
}

body:has(#roomBar:not(.hidden)) #roomMic.live .mic-orb,
body:has(#roomBar:not(.hidden)) #roomMic.is-listening .mic-orb{
  box-shadow:0 0 0 8px rgba(107,88,238,.11),0 14px 34px rgba(67,90,210,.20)!important;
}

.rb-dot,
.tour-live-badge span{
  background:var(--parla-teal)!important;
  box-shadow:0 0 0 4px rgba(47,199,189,.10)!important;
}

.roombar,
.tourbar{
  background:linear-gradient(110deg,rgba(107,88,238,.065),rgba(47,199,189,.06)),#faf8f4!important;
  border-color:rgba(107,88,238,.16)!important;
}

.room-v2-state{
  border-color:rgba(107,88,238,.13)!important;
  background:linear-gradient(110deg,rgba(107,88,238,.055),rgba(47,199,189,.045)),#fffdfa!important;
}

.room-v2-orb{
  background:linear-gradient(135deg,var(--parla-brand-soft),var(--parla-teal-soft))!important;
}
.room-v2-orb span{
  background:var(--parla-violet)!important;
}
.room-v2-state[data-state="partner"] .room-v2-orb span,
.room-v2-state[data-state="playback"] .room-v2-orb span{
  background:var(--parla-teal-deep)!important;
}

body:has(#roomBar:not(.hidden)) #stream .msg .tools button[data-action="speak"]{
  border-color:rgba(107,88,238,.20)!important;
  color:var(--parla-violet-deep)!important;
  background:linear-gradient(135deg,rgba(107,88,238,.055),rgba(47,199,189,.045)),#fff!important;
}

body:has(#roomBar:not(.hidden)) .room-dock-side:hover{
  background:linear-gradient(135deg,rgba(107,88,238,.07),rgba(47,199,189,.06))!important;
  color:var(--parla-violet-deep)!important;
}

.auth-link-btn,
.auth-switch-link{
  color:var(--parla-violet-deep)!important;
}

@media(max-width:640px){
  html,
  body{
    background-image:
      radial-gradient(circle at 4% -2%,rgba(107,88,238,.085),transparent 25%),
      radial-gradient(circle at 98% 4%,rgba(47,199,189,.075),transparent 24%)!important;
  }
}

/* =========================================================
   PARLA ACCOUNT — FINAL PRODUCT SURFACE / 2026-10-12
   ========================================================= */
.modal.account-modal.settings-modal{
  display:block!important;
  height:auto!important;
  overscroll-behavior:contain;
  width:min(590px,calc(100% - 24px))!important;
  max-height:min(92dvh,860px)!important;
  padding:22px!important;
  border-radius:26px!important;
  overflow:auto!important;
  scrollbar-width:thin!important;
  background:
    radial-gradient(circle at 8% -10%,rgba(107,88,238,.08),transparent 30%),
    radial-gradient(circle at 100% 0%,rgba(47,199,189,.07),transparent 26%),
    #fffdfa!important;
}

.settings-head{
  position:sticky;
  top:-22px;
  z-index:2;
  align-items:flex-start!important;
  margin:-22px -22px 16px!important;
  padding:20px 22px 12px;
  border-bottom:1px solid #eee8e0;
  background:#fffdfa;
}
.settings-head .icon-close{width:44px;height:44px;}
.settings-modal :is(button,a,select):focus-visible{
  outline:2px solid var(--parla-violet-deep)!important;
  outline-offset:2px;
}
.settings-head h3{
  margin:3px 0 2px!important;
  font-size:24px!important;
  letter-spacing:-.035em!important;
}
.settings-head p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:12px!important;
}

.settings-identity{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px!important;
  border:1px solid rgba(107,88,238,.13)!important;
  background:
    linear-gradient(115deg,rgba(107,88,238,.065),rgba(47,199,189,.055)),
    #fff!important;
}
.settings-identity .account-avatar{
  width:46px!important;
  height:46px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--parla-brand-gradient)!important;
  color:#fff!important;
  font-weight:800!important;
}
.settings-identity .account-identity{
  min-width:0!important;
}
.settings-identity .account-identity b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.settings-identity .account-identity span{
  display:block!important;
  margin-top:3px!important;
}

.settings-mini-action,
.settings-plan-action{
  min-height:44px!important;
  padding:0 11px!important;
  border:1px solid rgba(107,88,238,.18)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--parla-violet-deep)!important;
  font-size:12px!important;
  font-weight:700!important;
}
.settings-mini-action:hover,
.settings-plan-action:hover{
  background:linear-gradient(135deg,var(--parla-brand-soft),var(--parla-teal-soft))!important;
}

.settings-summary{
  margin-top:10px!important;
}
.settings-summary .account-stat{
  min-height:66px!important;
  padding:12px 14px!important;
  background:rgba(255,255,255,.76)!important;
}

.settings-section{
  padding:0!important;
  margin-top:14px!important;
  overflow:hidden!important;
  border-radius:17px!important;
  background:#fff!important;
}
.settings-section>.account-section-title{
  padding:13px 14px 9px!important;
  margin:0!important;
  color:#6f665e!important;
  font-size:12px!important;
  font-weight:750!important;
  letter-spacing:.01em!important;
}
.settings-section .account-pref-row{
  min-height:48px!important;
  padding:10px 14px!important;
  align-items:center!important;
  color:#746c64!important;
  font-size:13px!important;
}
.settings-section .account-pref-row b{
  color:var(--text)!important;
  font-size:13px!important;
}
.settings-section .account-pref-row:last-child{
  border-bottom:0!important;
}
.account-pref-control{
  gap:14px!important;
}
.account-inline-select{
  min-width:118px!important;
  height:44px!important;
  padding:0 26px 0 11px!important;
  border:1px solid #ded5cb!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--text)!important;
  font:650 12px/1 Inter,sans-serif!important;
  outline:none!important;
}
.account-inline-select:focus{
  border-color:rgba(107,88,238,.52)!important;
  box-shadow:0 0 0 3px rgba(107,88,238,.10)!important;
}

.settings-row-button,
.settings-action-row{
  width:100%!important;
  min-height:54px!important;
  padding:10px 14px!important;
  border:0!important;
  border-top:1px solid #eee8e0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--text)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  text-align:left!important;
  box-shadow:none!important;
}
.settings-row-button:hover,
.settings-action-row:hover{
  background:linear-gradient(110deg,rgba(107,88,238,.045),rgba(47,199,189,.04))!important;
}
.settings-row-button>span,
.settings-action-row>span:first-child{
  min-width:0!important;
}
.settings-row-button strong,
.settings-action-row strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.25!important;
}
.settings-row-button small,
.settings-action-row small{
  display:block!important;
  margin-top:3px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:500!important;
}
.settings-row-button>b{
  flex:0 0 auto!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:var(--parla-brand-soft)!important;
  color:var(--parla-violet-deep)!important;
  font-size:12px!important;
}
.settings-row-button[aria-pressed="true"]>b{
  background:var(--parla-teal-soft)!important;
  color:var(--parla-teal-deep)!important;
}
.settings-action-row>span:last-child{
  flex:0 0 auto!important;
  color:#aaa098!important;
  font-size:20px!important;
  font-weight:400!important;
}

.settings-section-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:13px 14px 8px!important;
}
.settings-section-head .account-section-title{
  margin:0!important;
  padding:0!important;
}
.settings-section-head p{
  margin:3px 0 0!important;
  color:var(--muted)!important;
  font-size:12px!important;
}
.settings-state-card{
  margin:0 12px 10px!important;
  border:1px solid #eee8e0!important;
  border-radius:13px!important;
  overflow:hidden!important;
  background:#fffdfa!important;
}
.settings-state-card .subscription-state-row{
  min-height:39px!important;
  padding:9px 11px!important;
}
.settings-state-card .subscription-state-row:last-child{
  border-bottom:0!important;
}
.settings-inline-actions{
  display:flex!important;
  gap:8px!important;
  padding:0 12px 12px!important;
}
.settings-inline-actions:has(.hidden + .hidden),
.settings-inline-actions:empty{
  display:none!important;
}
.settings-inline-actions .account-secondary-btn{
  flex:1!important;
  margin:0!important;
}

.account-action-panel{
  margin-top:14px!important;
  padding:14px!important;
  border:1px solid rgba(107,88,238,.18)!important;
  border-radius:17px!important;
  background:
    linear-gradient(115deg,rgba(107,88,238,.055),rgba(47,199,189,.045)),
    #fff!important;
}
.account-action-panel.hidden{
  display:none!important;
}
.account-action-panel>div:first-child>strong{
  display:block!important;
  font-size:15px!important;
}
.account-action-panel>div:first-child>p{
  margin:4px 0 12px!important;
  color:var(--muted)!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.account-action-field>span{
  display:block!important;
  margin-bottom:5px!important;
  color:#7b726a!important;
  font-size:12px!important;
  font-weight:650!important;
}
.account-action-field input{
  font-size:16px!important;
  width:100%!important;
  height:44px!important;
  padding:0 12px!important;
  border:1px solid #ded5cb!important;
  border-radius:12px!important;
  outline:none!important;
  background:#fff!important;
}
.account-action-field input:focus{
  border-color:rgba(107,88,238,.52)!important;
  box-shadow:0 0 0 3px rgba(107,88,238,.10)!important;
}
.account-action-buttons{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:10px!important;
}
.account-action-buttons button{
  min-height:42px!important;
  margin:0!important;
}

.settings-link-row{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.settings-link-row a{
  min-height:46px!important;
  padding:10px 14px!important;
  border-top:1px solid #eee8e0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  text-decoration:none!important;
  color:var(--text)!important;
  font-size:13px!important;
  font-weight:650!important;
}
.settings-link-row a:hover{
  background:linear-gradient(110deg,rgba(107,88,238,.045),rgba(47,199,189,.04))!important;
  color:var(--parla-violet-deep)!important;
}
.settings-link-row a span{
  color:#aaa098!important;
  font-size:18px!important;
}

.settings-diagnostics{
  color:#746c64!important;
}
.settings-diagnostics strong{
  font-weight:650!important;
}

.settings-modal>.account-logout{
  width:100%!important;
  min-height:46px!important;
  margin-top:14px!important;
  border-radius:14px!important;
  font-weight:700!important;
}
.settings-danger-zone{
  margin-top:22px!important;
  padding:13px!important;
  border-color:rgba(184,109,93,.24)!important;
  background:rgba(184,109,93,.035)!important;
}
.settings-danger-zone .account-section-title{
  padding:0!important;
  color:#9d5549!important;
}
.settings-danger-zone p{
  margin:5px 0 10px!important;
  color:#8b7d76!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.settings-danger-zone .danger-soft{
  min-height:44px!important;
  width:100%!important;
  margin:0!important;
}

@media(max-width:560px){
  .settings-head{top:-14px;margin:-14px -14px 14px!important;padding:16px 14px 12px;}
  .modal.account-modal.settings-modal{
    width:calc(100% - 12px)!important;
    max-height:94dvh!important;
    padding:14px!important;
    border-radius:22px!important;
  }
  .settings-identity{
    grid-template-columns:42px minmax(0,1fr)!important;
    padding:12px!important;
  }
  .settings-identity .account-avatar{
    width:40px!important;
    height:40px!important;
    border-radius:13px!important;
  }
  .settings-mini-action{
    grid-column:1 / -1!important;
    width:100%!important;
  }
  .settings-summary{
    grid-template-columns:1fr 1fr!important;
  }
  .settings-section-head{
    align-items:flex-start!important;
  }
  .settings-inline-actions{
    flex-direction:column!important;
  }
  .settings-action-row,
  .settings-row-button{
    min-height:58px!important;
  }
}

/* Critical Numeric Recovery confirmation */
body:has(#roomBar:not(.hidden)) .room-confirm-choices{
  margin-top:9px!important;
  padding:11px!important;
  border:1px solid rgba(107,88,238,.16)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(107,88,238,.055),rgba(47,199,189,.045)),#fffdfa!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-choices.hidden{
  display:none!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-choices>span{
  display:block!important;
  margin-bottom:8px!important;
  color:#776f68!important;
  font-size:9px!important;
  font-weight:700!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-choice-list{
  display:grid!important;
  gap:7px!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-choice{
  width:100%!important;
  min-height:44px!important;
  padding:10px 12px!important;
  border:1px solid #ded5cb!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#2d2a27!important;
  text-align:left!important;
  font:600 12px/1.4 Manrope,sans-serif!important;
  overflow-wrap:anywhere!important;
  box-shadow:none!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-choice:hover{
  border-color:rgba(107,88,238,.36)!important;
  background:linear-gradient(135deg,rgba(107,88,238,.045),rgba(47,199,189,.035)),#fff!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-choice[aria-pressed="true"]{
  border-color:rgba(107,88,238,.58)!important;
  background:linear-gradient(135deg,rgba(107,88,238,.11),rgba(47,199,189,.09)),#fff!important;
  color:#5744d6!important;
  box-shadow:0 0 0 3px rgba(107,88,238,.08)!important;
}
body:has(#roomBar:not(.hidden)) .room-confirm-send:disabled{
  opacity:.46!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
@media(max-width:640px){
  body:has(#roomBar:not(.hidden)) .room-confirm-choices{
    padding:9px!important;
  }
  body:has(#roomBar:not(.hidden)) .room-confirm-choice{
    min-height:46px!important;
    font-size:12px!important;
  }
}
/* Tour chat v3 — scoped to active web Tour; Room and native RC4 unchanged. */
body:has(#tourBar:not(.hidden)) .app-shell,
body:has(#screenTour:not(.hidden)) .app-shell {width:min(960px,calc(100% - 32px))!important;}
body:has(#tourBar:not(.hidden)) #tourCode {font:600 15px/1.4 Inter,sans-serif!important;}
body:has(#tourBar:not(.hidden)) #tourStatus,
body:has(#tourBar:not(.hidden)) #tourEnd {font-size:13px!important;}
body:has(#tourBar:not(.hidden)) #tourEnd {min-height:44px;}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat:nth-child(n+3) {display:none!important;}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat>span {font-size:12px!important;}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-language-stats {font-size:13px!important;}
body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat {min-width:110px!important;}
body:has(#tourBar:not(.hidden)) #stream {display:none!important;}
body:has(#tourBar:not(.hidden)) .conversation-card {min-height:0!important;}
body:has(#tourBar:not(.hidden)) .conversation-head {padding:18px 22px!important;}
body:has(#tourBar:not(.hidden)) .conversation-head h2 {font:600 20px/1.4 Inter,sans-serif!important;}
body:has(#tourBar:not(.hidden)) #tourGuideFeed,
#screenTour .tour-caption-stream {
 display:flex!important; flex-direction:column!important; gap:14px!important;
 min-height:260px!important; height:clamp(280px,45vh,580px)!important; max-height:580px!important;
 overflow-y:auto!important; overscroll-behavior:contain; padding:22px!important;
 background:#faf7f2!important; border-radius:0!important; border:0!important; box-shadow:none!important;
}
body:has(#tourBar:not(.hidden)) #tourGuideFeed:empty::before {
 content:"Μίλησε ή γράψε για να ξεκινήσει η συνομιλία."; color:#756e66; text-align:center; margin:auto; font-size:15px;
}
body:has(#tourBar:not(.hidden)) #tourGuideFeed .tour-guide-translation-log,
#screenTour .tour-caption {
 align-self:flex-start!important; flex:none!important; width:fit-content!important; max-width:82%!important;
 padding:14px 16px 8px!important; border:1px solid #e7e0d7!important;
 border-radius:18px 18px 18px 5px!important; background:#fffefa!important;
 color:#302c28!important; box-shadow:0 2px 5px rgba(66,50,31,.04)!important;
 overflow-wrap:anywhere!important; text-align:left!important;
}
body:has(#tourBar:not(.hidden)) #tourGuideFeed .mine,
#screenTour .tour-caption.mine {
 align-self:flex-end!important; background:#ece8fa!important; border-color:#dcd4ef!important;
 border-radius:18px 18px 5px 18px!important;
}
body:has(#tourBar:not(.hidden)) #tourGuideFeed .tour-caption-sender,
#screenTour .tour-caption-sender {
 display:block!important; color:#63508a!important; font:600 13px/1.5 Inter,sans-serif!important; margin-bottom:5px!important;
}
body:has(#tourBar:not(.hidden)) #tourGuideFeed .tour-caption-text,
#screenTour .tour-caption-text {
 font:400 16px/1.55 Inter,sans-serif!important; letter-spacing:normal!important; color:#302c28!important;
}
#screenTour .tour-caption-source {font-size:12px!important; margin-bottom:6px!important; color:#71685f!important;}
body:has(#tourBar:not(.hidden)) #tourGuideFeed .tour-caption-time,
#screenTour .tour-caption-time {font-size:11px!important; color:#786e64!important; margin:8px 0 0!important; text-align:right!important;}
body:has(#tourBar:not(.hidden)) .tour-caption-listen,
#screenTour .tour-caption-listen {
 display:inline-flex!important; align-items:center!important; justify-content:center!important;
 min-height:44px!important; padding:8px 9px!important; margin:2px 2px 0 0!important;
 border:0!important; border-radius:9px!important; background:transparent!important; color:#594480!important;
 font:500 13px/1.3 Inter,sans-serif!important; cursor:pointer;
}
body:has(#tourBar:not(.hidden)) .tour-caption-listen:hover,
#screenTour .tour-caption-listen:hover {background:rgba(96,70,139,.08)!important;}
.tour-original {margin-top:8px; font:400 13px/1.5 Inter,sans-serif; color:#6f6256;}
.tour-original summary {cursor:pointer; min-height:44px; display:flex; align-items:center; color:#65557a;}
.tour-original div {padding:6px 0; white-space:pre-wrap;}
body:has(#tourBar:not(.hidden)) .tour-caption-reply,
#screenTour .tour-caption-reply {
 display:block!important; width:100%; min-height:44px; border:0; border-left:3px solid #9076bc;
 border-radius:6px; padding:8px 10px; margin:0 0 10px; background:rgba(96,70,139,.07); color:#5c4972;
 font:400 13px/1.4 Inter,sans-serif; text-align:left; cursor:pointer;
}
body:has(#tourBar:not(.hidden)) #tourControls:not(.hidden) {
 display:flex!important; justify-content:center!important; min-height:0!important; padding:12px 20px!important;
}
body:has(#tourBar:not(.hidden)) #tourMic {
 display:flex!important; align-items:center!important; gap:12px!important; width:auto!important;
 min-height:64px!important; border-radius:16px!important; padding:8px 14px!important;
}
body:has(#tourBar:not(.hidden)) #tourMic .mic-orb {width:48px!important;height:48px!important;margin:0!important; flex-shrink:0;}
body:has(#tourBar:not(.hidden)) #tourMic .lbl {font-size:14px!important;margin:0!important;}
body:has(#tourBar:not(.hidden)) #tourMic .sub {font-size:12px!important;margin:0!important;}
body:has(#tourBar:not(.hidden)) #composer {display:flex!important; flex-wrap:wrap; gap:8px; padding:12px 20px 18px!important;}
body:has(#tourBar:not(.hidden)) #textInput {flex:1;min-width:0;min-height:46px;font-size:16px!important;}
body:has(#tourBar:not(.hidden)) #sendA {min-height:46px;width:auto!important;padding:0 16px;}
body:has(#tourBar:not(.hidden)) #sendB {display:none!important;}
.tour-reply-banner {flex-basis:100%; font:400 13px/1.4 Inter,sans-serif;}
#screenTour .tour-listener-shell {width:min(960px,100%)!important;}
#screenTour .tour-listener-head h1 {font:600 24px/1.3 Inter,sans-serif!important;letter-spacing:normal!important;}
#screenTour .tour-listener-head p,#screenTour .tour-listener-note {font-size:13px!important;color:#70665b!important;}
#screenTour .tour-listener-toolbar {display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;}
#screenTour .tour-listener-toolbar>div:first-child {display:block!important;}
#screenTour .tour-session-code {font:600 14px/1.5 Inter,sans-serif!important;}
#screenTour .tour-listener-actions {width:auto!important;flex:1;flex-wrap:wrap!important;justify-content:flex-end!important;gap:6px!important;}
#screenTour .tour-listener-actions button,#screenTour .compact-select {min-height:44px!important;font-size:13px!important;}
#screenTour .tour-listener-composer .input {font-size:16px!important;}
#screenTour .tour-interactive-box {display:flex!important;align-items:center;gap:8px!important;}
#screenTour .tour-listener-note {text-align:left!important;line-height:1.5!important;}
body:has(#tourBar:not(.hidden)) button:focus-visible,
#screenTour button:focus-visible, .tour-original summary:focus-visible {outline:3px solid #9b82c1;outline-offset:2px;}
@media(max-width:640px) {
 body:has(#tourBar:not(.hidden)) .app-shell,body:has(#screenTour:not(.hidden)) .app-shell {width:calc(100% - 20px)!important;}
 body:has(#tourBar:not(.hidden)) #tourDashboard:not(.hidden) {overflow:visible!important;}
 body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat-wide {min-width:0!important;}
 body:has(#tourBar:not(.hidden)) #tourGuideFeed,#screenTour .tour-caption-stream {padding:14px!important;height:44dvh!important;min-height:240px!important;}
 body:has(#tourBar:not(.hidden)) #tourGuideFeed .tour-guide-translation-log,#screenTour .tour-caption {max-width:94%!important;padding:12px 12px 6px!important;}
 body:has(#tourBar:not(.hidden)) #tourMic .sub {display:none!important;}
 body:has(#tourBar:not(.hidden)) #composer {padding:10px 12px 14px!important;}
 #screenTour .tour-listener-head {padding:12px 0!important;}
 #screenTour .tour-listener-actions {justify-content:flex-start!important;}
 #screenTour .tour-listener-actions select {max-width:150px!important;}
}
@media(max-width:640px) {
 body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat:first-child {display:none!important;}
 body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat {padding:8px 12px!important;}
 body:has(#tourBar:not(.hidden)) #tourDashboard .tour-stat>span {display:none!important;}
 body:has(#tourBar:not(.hidden)) #tourLanguageStats {display:flex; flex-wrap:wrap; gap:5px;}
 body:has(#tourBar:not(.hidden)) #tourGuideFeed {height:34dvh!important;}
 body:has(#tourBar:not(.hidden)) .workspace {gap:10px!important;}
 body:has(#tourBar:not(.hidden)) .conversation-head {padding:14px 16px!important;}
}

@media(max-width:640px) {
 #screenTour .tour-listener-actions {display:grid!important;grid-template-columns:minmax(0,1fr) auto auto; width:100%!important;gap:6px!important;}
 #screenTour .tour-listener-actions select {width:100%!important;min-width:0!important;max-width:none!important;}
 #screenTour .tour-listener-actions button {min-width:0!important;padding:8px!important;}
}
/* Shared Room/Tour chat presentation. Native installed RC4 remains frozen. */
body:has(#roomBar:not(.hidden)) #stream .room-chat {
 width:fit-content!important;max-width:82%!important;padding:14px 16px 8px!important;
 border:1px solid #e7e0d7!important;border-radius:18px 18px 18px 5px!important;
 background:#fffefa!important;color:#302c28!important;text-align:left!important;overflow-wrap:anywhere!important;
 margin:0 auto 14px 0!important;
}
body:has(#roomBar:not(.hidden)) #stream .room-chat.b {
 margin:0 0 14px auto!important;background:#ece8fa!important;border-color:#dcd4ef!important;
 border-radius:18px 18px 5px 18px!important;
}
body:has(#roomBar:not(.hidden)) #stream .room-chat .tgt {
 justify-content:flex-start!important;font:400 16px/1.55 Inter,sans-serif!important;letter-spacing:normal!important;
}
body:has(#roomBar:not(.hidden)) #stream .room-chat .room-message-speaker {
 font:600 13px/1.5 Inter,sans-serif;color:#63508a;margin-bottom:5px;
}
body:has(#roomBar:not(.hidden)) #stream .room-chat .src {
 display:block!important;font:400 13px/1.5 Inter,sans-serif!important;color:#6f6256!important;margin:8px 0 0!important;
}
body:has(#roomBar:not(.hidden)) #stream .room-chat summary {min-height:44px;display:flex;align-items:center;cursor:pointer;color:#65557a;}
body:has(#roomBar:not(.hidden)) #stream .room-chat .room-message-time {font:400 11px/1.5 Inter,sans-serif;color:#786e64;text-align:right;margin-top:8px;}
body:has(#roomBar:not(.hidden)) #stream .room-chat .tools button[data-action],
body:has(#roomBar:not(.hidden)) #stream .room-chat details button[data-action],
body:has(#roomBar:not(.hidden)) #stream .room-chat button {
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:44px!important;border:0!important;border-radius:9px!important;padding:8px 9px!important;
 background:transparent!important;color:#594480!important;font:500 13px/1.3 Inter,sans-serif!important;box-shadow:none!important;
}
body:has(#roomBar:not(.hidden)) #stream .room-chat .tools {justify-content:flex-start!important;gap:2px!important;flex-wrap:wrap!important;margin-top:2px!important;}
body:has(#roomBar:not(.hidden)) #stream .room-chat .msg-reply-preview {
 display:block!important;width:100%;text-align:left;justify-content:flex-start!important;
 border-left:3px solid #9076bc!important;background:rgba(96,70,139,.07)!important;margin-bottom:10px;font-size:13px!important;
}
body:has(#roomBar:not(.hidden)) #stream .room-chat button:focus-visible,
body:has(#roomBar:not(.hidden)) #stream .room-chat summary:focus-visible {outline:3px solid #9b82c1;outline-offset:2px;}
@media(max-width:640px){body:has(#roomBar:not(.hidden)) #stream .room-chat{max-width:94%!important;padding:12px 12px 6px!important;}}

body:has(#roomBar:not(.hidden)) #stream .room-chat.a {margin:0 auto 14px 0!important;text-align:left!important;}
body:has(#roomBar:not(.hidden)) #stream .room-chat.a .tgt,
body:has(#roomBar:not(.hidden)) #stream .room-chat.a .tools {justify-content:flex-start!important;}

/* The informational notice returns after a modal closes; no consent is changed. */
.privacy-notice{background:#fffdfa;border:1px solid var(--line);color:var(--text);box-shadow:0 12px 40px rgba(72,61,50,.16);}
.privacy-notice-copy strong{color:var(--text);}
.privacy-notice-copy span{color:#746c64;}
.privacy-notice-actions a{color:var(--parla-violet-deep);min-height:44px;}
body:has(.overlay:not(.hidden)) .privacy-notice{visibility:hidden;pointer-events:none;}
