.session-clock {
  position: absolute; z-index: 12; top: 3.25%; left: 50%; display: grid; gap: .4cqw;
  justify-items: center; transform: translateX(-50%); color: rgba(243,241,236,.78);
}
.session-clock span { font-size: .68cqw; letter-spacing: .28em; }
.session-clock strong { font-size: 1.4cqw; font-weight: 400; letter-spacing: .14em; }
.speaker-label { position:absolute; z-index:9; top:calc(var(--nose-y) + 2.7%); left:50%; color:rgba(243,241,236,.55); font-size:.68cqw; letter-spacing:.28em; transform:translateX(-50%); }
.starters { position:absolute; z-index:12; top:56.8%; left:11%; width:78%; display:flex; flex-wrap:wrap; justify-content:center; gap:.72cqw; }
.starters[hidden] { display:none; }
.starters button { min-height:2.25cqw; padding:.55cqw 1.05cqw; border:1px solid rgba(243,241,236,.36); border-radius:999px; background:rgba(22,4,6,.7); color:rgba(243,241,236,.86); font-size:.79cqw; cursor:pointer; }
.starters button:hover,.starters button:focus-visible { border-color:rgba(243,241,236,.8); color:#fff; outline:0; }
.entry-gate { position:absolute; z-index:40; inset:0; display:grid; place-items:center; padding:7%; background:rgba(6,1,2,.72); backdrop-filter:blur(7px); }
.entry-gate[hidden] { display:none; }
.entry-gate__panel { width:min(88%,30rem); padding:clamp(1.3rem,5cqw,2.5rem); border:1px solid rgba(243,241,236,.25); background:rgba(22,4,6,.94); box-shadow:0 30px 80px rgba(0,0,0,.55); }
.entry-gate h1 { margin:0 0 1rem; font-size:clamp(1.65rem,5cqw,2.7rem); font-weight:350; letter-spacing:-.025em; }
.entry-gate p { margin:0 0 1.2rem; color:rgba(243,241,236,.78); font-size:clamp(.86rem,2cqw,1rem); line-height:1.5; }
.entry-gate label { display:flex; gap:.65rem; align-items:flex-start; margin:.7rem 0; color:rgba(243,241,236,.84); font-size:clamp(.78rem,1.8cqw,.94rem); line-height:1.35; cursor:pointer; }
.entry-gate input { margin-top:.16rem; accent-color:#e37a84; }
.entry-gate button { width:100%; min-height:3rem; margin-top:1.1rem; border:1px solid rgba(243,241,236,.68); border-radius:999px; background:rgba(91,16,28,.68); color:#fff; font-size:.75rem; letter-spacing:.2em; cursor:pointer; }
.entry-gate button:disabled { opacity:.35; cursor:not-allowed; }
.entry-gate__error { color:#ffc1c7 !important; }
.qr-lockup[hidden] { display:none; }
.qr-art { display:block; width:5.69cqw; height:5.69cqw; transform:translateX(.45cqw); }
.qr-art svg,.handoff-qr svg { display:block; width:100%; height:100%; }
.handoff-qr { width:10rem; height:10rem; margin:1rem auto; }
.handoff-identity { text-align:center; color:rgba(243,241,236,.65) !important; font-size:.7rem !important; letter-spacing:.14em; }
.handoff-identity strong { display:inline-block; margin-top:.45rem; color:#fff; font-size:1rem; letter-spacing:.12em; }
.portrait[data-stage="ended"] .prompt { display:none; }
.portrait[data-stage="ended"] .begin { display:block; animation:reveal 850ms ease both; }
.portrait[data-state="preparing"] .speaker-label::after { content:"ANASTASIA IS THINKING"; }
.portrait[data-state="streaming"] .speaker-label::after,.portrait[data-state="holding"] .speaker-label::after { content:"ANASTASIA"; }
.portrait[data-state="user"] .speaker-label::after { content:"YOU"; }
.portrait[data-state="user"] .answer { opacity:1; }
.portrait[data-state="preparing"] .answer { opacity:.58; }
@media (max-width:520px) {
  .starters { top:56%; left:6%; width:88%; gap:1.15cqw; }
  .starters button { min-height:3.4cqw; padding:.8cqw 1.5cqw; font-size:1.25cqw; }
  .session-clock span { font-size:1.05cqw; }
  .session-clock strong { font-size:2cqw; }
  .speaker-label { font-size:1.05cqw; }
}
