/* Shared Public Home / Listener language chooser appearance — default Dark.
   Keep login and room links unchanged; no impact on Operator/Admin/Listener player. */
html[data-public-theme="dark"] {color-scheme:dark;}
html[data-public-theme="light"] {color-scheme:light;}
html[data-public-theme="dark"],html[data-public-theme="dark"] body {
  background:#10191c;
  color:#e9f2ee;
}
html[data-public-theme="light"],html[data-public-theme="light"] body {
  background:#f7f7f5;
  color:#171b1a;
}
:is(.public-home,.listener-home) .public-theme-toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:50px;
  height:50px;
  min-width:50px;
  min-height:50px;
  padding:0;
  border:1px solid #394c50;
  border-radius:12px;
  background:#203237;
  color:#e9f2ee;
  cursor:pointer;
}
:is(.public-home,.listener-home) .public-theme-toggle svg {
  display:none;
  width:24px;
  height:24px;
  flex:none;
}
:is(.public-home,.listener-home) .public-theme-toggle[data-theme-choice="dark"] .public-theme-sun,
:is(.public-home,.listener-home) .public-theme-toggle[data-theme-choice="light"] .public-theme-moon {display:block;}
:is(.public-home,.listener-home) .public-theme-toggle:focus-visible {outline:3px solid #70c4a8;outline-offset:3px;}
html[data-public-theme="light"] :is(.public-home,.listener-home) .public-theme-toggle {
  background:#fff;
  color:#1b5146;
  border-color:#d4dad6;
}
.public-home {position:relative;max-width:680px;min-height:100dvh;padding-top:88px;padding-bottom:72px;}
.public-home .public-theme-toggle {position:absolute;right:20px;top:22px;}
.public-home .home-mark {
  width:62px;height:62px;border-radius:17px;
  background:#27594e;color:#f6fbf8;
  margin-bottom:24px;font-size:1.03rem;
}
.public-home .home-hero h1 {font-size:clamp(2rem,7vw,3.5rem);line-height:1.12;}
.public-home .home-lead {font-size:clamp(1rem,2.6vw,1.1rem);line-height:1.6;color:#afc0bd;}
.public-home .home-login {
  min-width:208px;min-height:54px;border-radius:13px;
  background:#347c69;border-color:#429b83;color:#fff;
  font-size:1rem;
}
.public-home .home-login:focus-visible {outline:3px solid #80d0b5;outline-offset:3px;}
.public-home .home-divider {background:#435357;}
.public-home .home-listener-note {color:#afc0bd;font-size:.96rem;}
.public-home .home-listener-note strong {color:#e9f2ee;}
html[data-public-theme="light"] .public-home .home-mark {background:#173f35;color:#fff;}
html[data-public-theme="light"] .public-home .home-lead {color:#5c6764;}
html[data-public-theme="light"] .public-home .home-login {background:#225f4f;border-color:#225f4f;}
html[data-public-theme="light"] .public-home .home-divider {background:#d5dcd7;}
html[data-public-theme="light"] .public-home .home-listener-note {color:#5c6764;}
html[data-public-theme="light"] .public-home .home-listener-note strong {color:#223b32;}
.listener-home {max-width:680px;padding-top:24px;}
.listener-home .listener-header {align-items:center;gap:16px;}
.listener-home .listener-header>div {flex:1;min-width:0;}
.listener-home .listener-header h1 {font-size:clamp(1.35rem,4.1vw,1.7rem);line-height:1.2;}
.listener-home .listener-header .public-theme-toggle {flex:0 0 50px;}
.listener-home .listener-room-label {color:#aabbb7;font-size:.86rem;overflow-wrap:anywhere;}
.listener-home .listener-choice {background:#1a292d;border:1px solid #394c50;box-shadow:none;}
.listener-home .listener-choice h2 {font-size:clamp(1.25rem,4vw,1.55rem);margin-bottom:16px;}
.listener-home .listener-choice .eyebrow {color:#99b3a9;}
.listener-home .language-choice {
  background:#223337;border:1px solid #405558;
  color:#e9f2ee;min-height:56px;
  font-size:1rem;overflow-wrap:anywhere;
}
.listener-home .language-choice:hover {background:#2b4447;border-color:#61807a;}
.listener-home .language-choice:focus-visible {outline:3px solid #70c4a8;outline-offset:2px;}
.listener-home .choice-state {color:#79d7a7;white-space:nowrap;font-size:.8rem;}
.listener-home .choice-state.waiting {color:#e6c27e;}
.listener-home #listenerMessage {color:#aabbb7;font-size:.94rem;}
html[data-public-theme="light"] .listener-home .listener-room-label {color:#5c6764;}
html[data-public-theme="light"] .listener-home .listener-choice {background:#fff;border-color:#e0e5df;}
html[data-public-theme="light"] .listener-home .listener-choice .eyebrow {color:#687a70;}
html[data-public-theme="light"] .listener-home .language-choice {background:#fbfcfb;border-color:#dce5de;color:#182823;}
html[data-public-theme="light"] .listener-home .language-choice:hover {background:#edf5f1;}
html[data-public-theme="light"] .listener-home .choice-state {color:#17733d;}
html[data-public-theme="light"] .listener-home .choice-state.waiting {color:#8e681c;}
html[data-public-theme="light"] .listener-home #listenerMessage {color:#697671;}
@media(max-width:380px){
  .public-home .public-theme-toggle {top:16px;right:15px;}
  .public-home{padding-top:80px;}
  .listener-home .listener-header {gap:8px;flex-wrap:wrap;}
}

/* Compact top icons: keep the home hero and theme controls proportional. */
:is(.public-home,.listener-home) .public-theme-toggle {
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
}
:is(.public-home,.listener-home) .public-theme-toggle svg {
  width:20px;
  height:20px;
}
.public-home .home-mark {
  width:48px;
  height:48px;
  border-radius:14px;
  margin-bottom:18px;
  font-size:.87rem;
}
.listener-home .listener-header .public-theme-toggle {flex:0 0 44px;}

/* Unified discreet version footer: always at the right-bottom of each public page. */
.public-home .app-version-footer {
  position:absolute;
  right:20px;
  bottom:max(14px,env(safe-area-inset-bottom));
  text-align:right;
  line-height:1.2;
}
.listener-home {
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.listener-home .app-version-footer {
  margin-top:auto;
  align-self:flex-end;
  text-align:right;
  padding:16px 0 max(2px,env(safe-area-inset-bottom));
}
:is(.public-home,.listener-home) .app-version-footer .app-version {
  display:inline-block;
  margin:0;
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.02em;
  color:#879995;
}
html[data-public-theme="light"] :is(.public-home,.listener-home) .app-version-footer .app-version {
  color:#737e79;
}
/* Same slim crescent as Listener / Operator. */
:is(.public-home,.listener-home) .public-theme-moon {
  transform:none;
}

/* Keep chooser version close to the bottom edge on phones. */
.listener-home {padding-bottom:max(22px,env(safe-area-inset-bottom));}

/* Anchor tiny version consistently to the PAGE edge, even on wide desktops. */
.public-home .app-version-footer {
  right:calc((100% - 100vw)/2 + 18px);
}
.listener-home {
  position:relative;
  padding-bottom:max(52px,env(safe-area-inset-bottom));
}
.listener-home .app-version-footer {
  position:absolute;
  right:calc((100% - 100vw)/2 + 18px);
  bottom:max(18px,env(safe-area-inset-bottom));
  padding:0;
  margin:0;
}

/* Moon icon: Font Awesome Free solid moon (CC BY 4.0); original shape preserved. */
