/* Lamp Live Community v0.2.1 - spacious app-style layout */
.lamp-live-wrap{
  --ll-bg:#080d15;
  --ll-card:#101827;
  --ll-card2:#0c1421;
  --ll-line:#273650;
  --ll-text:#f6f8fc;
  --ll-muted:#aab5c6;
  --ll-gold:#f6c107;
  --ll-gold-soft:#ffe669;
  --ll-red:#ff4d62;
  --ll-green:#7ee2a8;
  width:100%;
  max-width:none;
  margin:0 auto;
  padding:18px 22px 28px;
  box-sizing:border-box;
  color:var(--ll-text);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:16px;
}

/* Dedicated /lamp-live/ page mode: remove normal website chrome only here. */
body.lamp-live-page-mode{background:var(--ll-bg,#080d15)!important;overflow-x:hidden!important;}
body.lamp-live-page-mode #proradio-headerbar,
body.lamp-live-page-mode .proradio-pageheader,
body.lamp-live-page-mode #proradio-megafooter,
body.lamp-live-page-mode .proradio-megafooter__container,
body.lamp-live-page-mode #proradio-footer,
body.lamp-live-page-mode #proradio-playercontainer,
body.lamp-live-page-mode #qtmplayer-container,
body.lamp-live-page-mode .entry-header,
body.lamp-live-page-mode .entry-title{display:none!important;}
body.lamp-live-page-mode #proradio-body,
body.lamp-live-page-mode #proradio-main,
body.lamp-live-page-mode .proradio-main,
body.lamp-live-page-mode main,
body.lamp-live-page-mode .elementor,
body.lamp-live-page-mode .elementor-section,
body.lamp-live-page-mode .elementor-section .elementor-container,
body.lamp-live-page-mode .e-con,
body.lamp-live-page-mode .e-con-inner,
body.lamp-live-page-mode .elementor-widget-wrap,
body.lamp-live-page-mode .elementor-widget-container{
  width:100%!important;
  max-width:none!important;
}
body.lamp-live-page-mode .elementor-section .elementor-container,
body.lamp-live-page-mode .e-con,
body.lamp-live-page-mode .e-con-inner{padding-left:0!important;padding-right:0!important;}
body.lamp-live-page-mode .elementor-widget-container{margin:0!important;}
body.lamp-live-page-mode #proradio-body,
body.lamp-live-page-mode #proradio-main,
body.lamp-live-page-mode .proradio-main{margin-top:0!important;padding-top:0!important;}

.lamp-live-player-card,
.lamp-live-community-card{
  background:linear-gradient(180deg,#121b2b 0%,#0c1421 100%);
  border:1px solid var(--ll-line);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}
.lamp-live-player-card{padding:16px 18px;margin:0 0 14px;}
.lamp-live-community-card{padding:20px;}

.lamp-live-player-topline,
.lamp-live-head{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.lamp-live-player-topline{justify-content:flex-end;}
.lamp-live-player-brand{min-width:0;}
.lamp-live-eyebrow{font-weight:900;letter-spacing:.11em;font-size:.78rem;color:var(--ll-gold);}
.lamp-live-player-sub{font-size:.74rem;color:var(--ll-muted);margin-top:3px;letter-spacing:.04em;}
.lamp-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ll-red);margin-right:7px;box-shadow:0 0 0 4px rgba(255,77,98,.12);}
.lamp-live-head h3{margin:4px 0 0;color:#fff;font-size:1.55rem;line-height:1.15;}
.lamp-live-connection{font-size:.78rem;font-weight:900;color:#f5a9b2;white-space:nowrap;}
.lamp-live-connection.is-live{color:var(--ll-green);display:inline-flex;align-items:center;gap:7px;}
.lamp-live-connection.is-live::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ll-green);box-shadow:0 0 0 4px rgba(126,226,168,.13),0 0 12px rgba(126,226,168,.45);flex:0 0 auto;}

.lamp-live-screen-actions{display:flex;gap:8px;align-items:center;}
.lamp-live-fullscreen,
.lamp-live-fullscreen-exit{
  border:1px solid #465978;
  background:#162238;
  color:#fff;
  border-radius:10px;
  padding:8px 12px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.04em;
  cursor:pointer;
}
.lamp-live-fullscreen:hover{background:#20304c;}
.lamp-live-fullscreen-exit{display:none;font-size:1.7rem;line-height:1;width:44px;height:44px;align-items:center;justify-content:center;padding:0;}
.lamp-live-wrap.is-fullscreen .lamp-live-fullscreen{display:none;}
.lamp-live-wrap.is-fullscreen .lamp-live-fullscreen-exit{display:flex;position:fixed;right:14px;top:14px;z-index:2147483000;background:#0c1421;border-color:#53688a;box-shadow:0 6px 24px rgba(0,0,0,.35);}
.lamp-live-wrap:fullscreen,
.lamp-live-wrap:-webkit-full-screen{background:var(--ll-bg);overflow:auto;width:100%;height:100%;padding-top:16px;}

.lamp-live-audio{display:block;width:100%;height:42px;margin:11px 0 7px;}
.lamp-live-now-playing{display:flex;align-items:baseline;gap:10px;min-width:0;font-size:.82rem;color:var(--ll-muted);}
.lamp-live-now-playing span{font-weight:800;letter-spacing:.03em;white-space:nowrap;}
.lamp-live-now-playing strong{color:#fff;font-size:.98rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lamp-live-now-playing strong.is-fallback{color:#d6deea;}

.lamp-live-feed{
  height:clamp(460px,56vh,780px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid var(--ll-line);
  background:linear-gradient(180deg,#09101b 0%,#0b1320 100%);
  border-radius:16px;
  padding:18px;
  margin:16px 0 14px;
  scroll-behavior:smooth;
}
.lamp-live-msg{margin:0 0 14px;max-width:78%;}
.lamp-live-msg.is-host{margin-left:auto;}
.lamp-live-msg-meta{display:flex;align-items:center;gap:9px;font-size:.84rem;color:var(--ll-muted);margin:0 6px 5px;}
.lamp-live-msg-meta strong{color:#e7edf7;font-size:.88rem;}
.lamp-live-msg-meta span{font-size:.64rem;background:var(--ll-gold);color:#161616;padding:2px 6px;border-radius:5px;font-weight:900;}
.lamp-live-msg-meta time{margin-left:auto;font-size:.78rem;}
.lamp-live-bubble{
  background:#1b2a40;
  border:1px solid #2c4261;
  border-radius:16px 16px 16px 5px;
  padding:12px 15px;
  font-size:1.04rem;
  line-height:1.48;
  white-space:pre-wrap;
  word-break:break-word;
}
.lamp-live-msg.is-host .lamp-live-bubble{background:#2b3850;border-color:#556987;border-radius:16px 16px 5px 16px;}
.lamp-live-msg.is-pinned .lamp-live-bubble{box-shadow:0 0 0 1px var(--ll-gold);}

.lamp-live-type-picker{position:relative;z-index:30;width:min(100%,380px);margin:0 0 12px;}
.lamp-live-type-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #455a7a;background:#152238;color:#fff;border-radius:12px;padding:12px 14px;cursor:pointer;font-weight:900;font-size:.92rem;letter-spacing:.02em;}
.lamp-live-type-trigger:hover,.lamp-live-type-trigger[aria-expanded="true"]{background:#1c2c47;border-color:#647a9b;}
.lamp-live-type-trigger-arrow{font-size:1rem;color:var(--ll-gold);}
.lamp-live-type-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 7px);background:#111c2d;border:1px solid #3a4c69;border-radius:14px;padding:7px;box-shadow:0 18px 45px rgba(0,0,0,.42);}
.lamp-live-type-menu.is-open{display:grid;gap:5px;}
.lamp-live-type-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;color:#eef3fa;border-radius:9px;padding:11px 12px;text-align:left;font-size:.96rem;font-weight:800;cursor:pointer;}
.lamp-live-type-menu button:hover,.lamp-live-type-menu button.is-active{background:#243653;}
.lamp-live-type-menu button span{font-size:.64rem;letter-spacing:.08em;color:var(--ll-gold);}

.lamp-live-composer-stack{width:100%;}
.lamp-live-panel{display:none;}
.lamp-live-panel.is-active{display:block;}
.lamp-live-form{display:grid;grid-template-columns:minmax(220px,.4fr) minmax(0,1fr) auto;gap:10px;align-items:end;}
.lamp-live-form .lamp-live-row{grid-column:1/2;}
.lamp-live-form .lamp-live-message-wrap{grid-column:2/3;min-width:0;position:relative;}
.lamp-live-form .lamp-live-message-wrap textarea{grid-column:auto;min-height:54px;width:100%;padding-right:48px;}
.lamp-live-form-status{grid-column:1/-1;}
.lamp-live-form input,
.lamp-live-form textarea{
  width:100%;
  box-sizing:border-box;
  background:#0b121f;
  border:1px solid #344762;
  color:#fff;
  border-radius:12px;
  padding:13px 14px;
  font-family:inherit;
  font-size:1.02rem;
  line-height:1.4;
  outline:none;
}
.lamp-live-form input:focus,.lamp-live-form textarea:focus{border-color:#7188aa;box-shadow:0 0 0 3px rgba(113,136,170,.13);}
.lamp-live-form textarea{resize:vertical;}
.lamp-live-form button{background:linear-gradient(180deg,var(--ll-gold-soft),var(--ll-gold));color:#111827;border:0;border-radius:12px;padding:13px 20px;min-height:50px;font-size:.95rem;font-weight:950;cursor:pointer;}
.lamp-live-form button:disabled{opacity:.6;cursor:wait;}
.lamp-live-form-status{color:var(--ll-muted);font-size:.88rem;min-height:1.2em;}
.lamp-live-special{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;}
.lamp-live-special input,.lamp-live-special textarea,.lamp-live-special .lamp-live-check,.lamp-live-special .lamp-live-private-note{grid-column:auto;}
.lamp-live-special textarea{grid-column:1/-1;min-height:110px;}
.lamp-live-special button{grid-column:1/-1;justify-self:start;}
.lamp-live-check{grid-column:1/-1;color:var(--ll-muted);font-size:.96rem;padding:3px 2px;}
.lamp-live-check input{width:auto;margin-right:7px;}
.lamp-live-hp{position:absolute!important;left:-99999px!important;opacity:0!important;}
.lamp-live-private-note{border-left:3px solid var(--ll-gold);padding:10px 13px;color:#c4cfde;margin-bottom:12px;background:#101b2b;border-radius:0 9px 9px 0;font-size:.95rem;}
.lamp-live-private-replies{margin-top:18px;}
.lamp-live-private-reply{background:#17263b;border:1px solid var(--ll-line);border-radius:13px;padding:12px 14px;margin-top:9px;font-size:1rem;line-height:1.45;}
.lamp-live-private-reply strong{color:var(--ll-gold);display:block;margin-bottom:3px;}


.lamp-live-send-icon{display:none;}
.lamp-live-send-label{display:inline;}
@media (max-width:900px){
  .lamp-live-wrap{padding:10px 10px 18px;}
  .lamp-live-player-card,.lamp-live-community-card{border-radius:14px;}
  .lamp-live-community-card{padding:15px;}
  .lamp-live-feed{height:52dvh;min-height:390px;padding:14px;}
  .lamp-live-msg{max-width:90%;}
  .lamp-live-form{grid-template-columns:1fr;}
  .lamp-live-form .lamp-live-row,.lamp-live-form .lamp-live-message-wrap,.lamp-live-form textarea,.lamp-live-form button,.lamp-live-form-status{grid-column:1/-1;}
  .lamp-live-special{grid-template-columns:1fr;}
  .lamp-live-special input,.lamp-live-special textarea,.lamp-live-special button,.lamp-live-special .lamp-live-check{grid-column:1/-1;}
  .lamp-live-special button{justify-self:stretch;}
}



/* v0.2.7 - nickname centering + compact emoji picker */
.lamp-live-message-wrap{position:relative;min-width:0;}
.lamp-live-emoji-toggle{
  position:absolute;
  right:8px;
  bottom:9px;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#1b2a40!important;
  color:#fff!important;
  font-size:1.15rem!important;
  line-height:1!important;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:4;
}
.lamp-live-emoji-toggle:hover,
.lamp-live-emoji-toggle[aria-expanded="true"]{background:#2a3d5b!important;}
.lamp-live-emoji-picker{
  display:none;
  position:absolute;
  right:0;
  bottom:calc(100% + 7px);
  width:230px;
  grid-template-columns:repeat(6,1fr);
  gap:4px;
  padding:7px;
  background:#101b2b;
  border:1px solid #3a4c69;
  border-radius:13px;
  box-shadow:0 16px 38px rgba(0,0,0,.42);
  z-index:90;
}
.lamp-live-emoji-picker.is-open{display:grid;}
.lamp-live-emoji-picker button{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#fff!important;
  font-size:1.18rem!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lamp-live-emoji-picker button:hover{background:#243653!important;}

/* =========================================================
   v0.2.4 - PHONE APP SHELL
   Mobile is isolated from desktop. The Lamp Live interface is
   fixed to the visual viewport so ProRadio/Elementor spacer
   heights cannot create empty bands above it.
   ========================================================= */
@media (max-width:640px){
  html{background:#080d15!important;}
  body.lamp-live-page-mode{
    background:#080d15!important;
    overflow:hidden!important;
  }

  /* Bypass theme spacing without changing/collapsing theme wrappers. */
  body.lamp-live-page-mode .lamp-live-wrap{
    position:fixed!important;
    z-index:9990;
    left:0;
    right:0;
    top:0;
    bottom:0;
    width:100vw!important;
    max-width:none!important;
    height:100dvh;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:var(--ll-bg);
  }

  /* Keep the WordPress toolbar usable while the owner is logged in. */
  body.admin-bar.lamp-live-page-mode .lamp-live-wrap{
    top:46px;
    height:calc(100dvh - 46px);
  }

  .lamp-live-player-card,
  .lamp-live-community-card{
    width:100%;
    max-width:none;
    box-sizing:border-box;
    border-left:0;
    border-right:0;
    border-radius:0;
    box-shadow:none;
    margin:0;
  }

  /* Compact, fixed-height player header. */
  .lamp-live-player-card{
    flex:0 0 auto;
    padding:8px 9px 7px;
    border-top:0;
    border-bottom:1px solid var(--ll-line);
  }
  .lamp-live-player-topline{
    position:absolute;
    right:8px;
    top:8px;
    width:36px;
    height:36px;
    margin:0;
    z-index:30;
    overflow:visible;
  }
  .lamp-live-screen-actions{width:36px;height:36px;display:block;}
  .lamp-live-fullscreen{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:10px!important;
    font-size:1.25rem!important;
    line-height:1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    overflow:hidden!important;
  }
  .lamp-live-fullscreen .lamp-live-fullscreen-icon{display:block;line-height:1;transform:translateY(-1px);}
  .lamp-live-fullscreen-exit{display:none!important;}
  .lamp-live-wrap.is-fullscreen .lamp-live-fullscreen{display:none!important;}
  .lamp-live-wrap.is-fullscreen .lamp-live-fullscreen-exit{
    display:flex!important;
    position:fixed;
    right:max(10px,env(safe-area-inset-right));
    top:max(10px,env(safe-area-inset-top));
    z-index:2147483000;
  }
  .lamp-live-audio{
    display:block;
    width:calc(100% - 44px);
    height:36px;
    margin:0 44px 4px 0;
  }
  .lamp-live-now-playing{
    min-height:18px;
    gap:6px;
    font-size:.68rem;
    line-height:1.15;
    padding-right:2px;
  }
  .lamp-live-now-playing strong{font-size:.86rem;line-height:1.18;}
  .lamp-live-player-sub{display:none;}

  /* Everything below the player is one flexible chat application. */
  .lamp-live-community-card{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    position:relative;
    padding:8px 9px max(9px,env(safe-area-inset-bottom));
    border-bottom:0;
    overflow:hidden;
  }
  .lamp-live-head{
    flex:0 0 auto;
    gap:8px;
    min-height:38px;
    padding:0 1px 6px;
    border-bottom:1px solid rgba(39,54,80,.75);
  }
  .lamp-live-eyebrow{font-size:.62rem;line-height:1;}
  .lamp-live-head h3{font-size:1.12rem;line-height:1.05;margin:2px 0 0;}
  .lamp-live-connection{font-size:.69rem;}
  .lamp-live-connection.is-live{gap:5px;}
  .lamp-live-connection.is-live::before{
    width:8px;height:8px;
    box-shadow:0 0 0 3px rgba(126,226,168,.12),0 0 9px rgba(126,226,168,.4);
  }

  /* Message history expands to all space left above the composer. */
  .lamp-live-feed{
    flex:1 1 auto;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    margin:7px -9px 7px;
    padding:10px 10px 8px;
    border-left:0;
    border-right:0;
    border-radius:0;
  }
  .lamp-live-msg{max-width:92%;margin-bottom:11px;}
  .lamp-live-msg-meta{font-size:.79rem;margin:0 5px 4px;}
  .lamp-live-msg-meta strong{font-size:.82rem;}
  .lamp-live-msg-meta time{font-size:.7rem;}
  .lamp-live-bubble{
    font-size:17px;
    line-height:1.45;
    padding:10px 12px;
    border-radius:16px 16px 16px 5px;
  }
  .lamp-live-msg.is-host .lamp-live-bubble{border-radius:16px 16px 5px 16px;}

  /* Small chat-options + button, anchored beside the composer. */
  .lamp-live-type-picker{
    position:absolute;
    z-index:80;
    left:9px;
    bottom:max(11px,env(safe-area-inset-bottom));
    width:46px;
    margin:0;
  }
  .lamp-live-type-trigger{
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    border:0;
    border-radius:50%;
    background:linear-gradient(180deg,var(--ll-gold-soft),var(--ll-gold));
    color:#111827;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lamp-live-type-trigger-label{display:none;}
  .lamp-live-type-trigger-arrow{font-size:0;color:#111827;}
  .lamp-live-type-trigger-arrow::before{content:"+";font-size:1.55rem;font-weight:500;line-height:1;}
  .lamp-live-type-menu{
    left:0;
    right:auto;
    top:auto;
    bottom:calc(100% + 7px);
    width:min(310px,calc(100vw - 18px));
    max-height:58dvh;
    overflow:auto;
  }
  .lamp-live-type-menu button{font-size:1rem;padding:12px;}

  /* Composer stays visible at the bottom. */
  .lamp-live-composer-stack{
    flex:0 0 auto;
    min-width:0;
    padding-left:54px;
    position:relative;
    z-index:30;
  }
  .lamp-live-form{grid-template-columns:1fr;gap:7px;}
  .lamp-live-form[data-kind="community"]{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    align-items:end;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-row{
    grid-column:1/-1;
    width:calc(100% + 54px);
    margin-left:-54px;
    display:flex;
    justify-content:center;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-row .lamp-live-name{
    width:min(100%,230px)!important;
    margin:0 auto;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-message-wrap{
    grid-column:1;
    min-width:0;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-message-wrap textarea{
    min-height:46px;
    max-height:92px;
    resize:none;
    padding-right:43px;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-emoji-toggle{
    right:6px;
    bottom:6px;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    font-size:1.05rem!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-emoji-picker{
    right:0;
    width:218px;
    grid-template-columns:repeat(6,1fr);
  }
  .lamp-live-form[data-kind="community"] .lamp-live-send{
    grid-column:2;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    border-radius:50%;
    align-self:end;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lamp-live-send-label{display:none;}
  .lamp-live-send-icon{display:block;font-size:1.32rem;line-height:1;transform:translateX(1px);}

  .lamp-live-form[data-kind="community"] .lamp-live-form-status{
    grid-column:1/-1;
    min-height:0;
    font-size:.74rem;
    line-height:1.05;
  }
  .lamp-live-form input,
  .lamp-live-form textarea{
    font-size:17px;
    padding:10px 11px;
    border-radius:12px;
  }
  .lamp-live-form .lamp-live-name{min-height:40px;padding-top:8px;padding-bottom:8px;}
  .lamp-live-form button{font-size:.94rem;min-height:46px;}
  .lamp-live-special{grid-template-columns:1fr;gap:7px;max-height:42dvh;overflow:auto;padding-right:2px;}
  .lamp-live-special input,
  .lamp-live-special textarea,
  .lamp-live-special button,
  .lamp-live-special .lamp-live-check{grid-column:1/-1;}
  .lamp-live-special textarea{min-height:80px;}
  .lamp-live-private-note,.lamp-live-private-reply{font-size:.95rem;}
}

/* WordPress desktop admin toolbar is 32px. This only matters if a very
   narrow desktop browser is used while logged in; phones use 46px above. */
@media (max-width:640px) and (min-resolution:1dppx){
  @supports not (-webkit-touch-callout:none){
    body.admin-bar.lamp-live-page-mode .lamp-live-wrap{top:32px;height:calc(100dvh - 32px);}
  }
}


/* =========================================================
   v0.2.8 - mobile fullscreen + soft-keyboard polish
   ========================================================= */
@media (max-width:640px){
  /* Exit fullscreen from the exact same slot/size as enter fullscreen.
     Keeping it in the player action slot prevents it covering Now Playing. */
  .lamp-live-wrap.is-fullscreen .lamp-live-fullscreen-exit{
    position:static!important;
    inset:auto!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:10px!important;
    background:#162238!important;
    border-color:#465978!important;
    box-shadow:none!important;
    font-size:1.25rem!important;
    font-weight:700!important;
    line-height:1!important;
    letter-spacing:0!important;
  }

  /* While the software keyboard is open the app shell height is driven by
     window.visualViewport in JS. The feed flexes smaller and the composer
     remains at the visible bottom edge instead of sitting behind the keyboard. */
  .lamp-live-wrap.is-keyboard-open{
    min-height:0!important;
  }
  .lamp-live-wrap.is-keyboard-open .lamp-live-feed{
    overscroll-behavior:contain;
  }
}

/* =========================================================
   v0.2.9 - REAL PHONE keyboard + fullscreen colour fix
   ========================================================= */
@media (max-width:640px){
  /* Make both fullscreen states visually identical on real devices.
     Explicit !important values prevent ProRadio/browser button styling
     from making one state disappear against the dark player. */
  .lamp-live-fullscreen,
  .lamp-live-wrap.is-fullscreen .lamp-live-fullscreen-exit{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid var(--ll-gold)!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,var(--ll-gold-soft),var(--ll-gold))!important;
    color:#111827!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .lamp-live-wrap.is-fullscreen .lamp-live-fullscreen-exit{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    font-size:1.35rem!important;
    font-weight:900!important;
    line-height:1!important;
  }

  /* Real iOS/Chrome keyboards can pan the visual viewport instead of
     resizing fixed children exactly like desktop emulators do. JS sets
     --ll-keyboard-lift to the genuinely obscured bottom area. Give the
     entire composer that clearance, not just the focused textarea. */
  .lamp-live-wrap.is-keyboard-open .lamp-live-composer-stack{
    margin-bottom:var(--ll-keyboard-lift,64px)!important;
  }
  .lamp-live-wrap.is-keyboard-open .lamp-live-type-picker{
    bottom:calc(var(--ll-keyboard-lift,64px) + max(11px,env(safe-area-inset-bottom)))!important;
  }
  .lamp-live-wrap.is-keyboard-open .lamp-live-feed{
    min-height:70px!important;
  }
}

/* =========================================================
   v0.2.10 - REAL PHONE keyboard clearance bump
   ========================================================= */
@media (max-width:640px){
  /* Real devices can keep the browser keyboard a little higher than the
     Visual Viewport estimate. Reserve roughly one extra half-control row
     so both + and Send clear the keyboard completely. */
  .lamp-live-wrap.is-keyboard-open .lamp-live-composer-stack{
    margin-bottom:var(--ll-keyboard-lift,92px)!important;
  }
  .lamp-live-wrap.is-keyboard-open .lamp-live-type-picker{
    bottom:calc(var(--ll-keyboard-lift,92px) + max(11px,env(safe-area-inset-bottom)))!important;
  }
}


/* =========================================================
   v0.2.11 - mobile composer three-column balance
   ========================================================= */
@media (max-width:640px){
  /* Leave the + chat-options control at lower left. The composer itself
     uses a wide message field plus a compact right-side control stack:
     emoji above, Send below. Send is level with the + button. */
  .lamp-live-form[data-kind="community"]{
    grid-template-columns:minmax(0,1fr) 46px!important;
    grid-template-rows:auto 46px 46px auto;
    column-gap:7px!important;
    row-gap:7px!important;
    align-items:stretch!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-row{
    grid-column:1/-1!important;
    grid-row:1!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-message-wrap{
    grid-column:1!important;
    grid-row:2 / span 2!important;
    min-width:0!important;
    position:relative!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-message-wrap textarea{
    width:100%!important;
    height:99px!important;
    min-height:99px!important;
    max-height:99px!important;
    padding-right:11px!important;
    resize:none!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-emoji-toggle{
    position:absolute!important;
    right:-53px!important;
    top:0!important;
    bottom:auto!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:1.28rem!important;
    z-index:4!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-emoji-picker{
    right:-53px!important;
    bottom:calc(100% + 7px)!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-send{
    grid-column:2!important;
    grid-row:3!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-form-status{
    grid-column:1/-1!important;
    grid-row:4!important;
  }
}

/* =========================================================
   v0.2.12 - mobile Jump to Latest control
   ========================================================= */
/* Hidden everywhere by default. Mobile alone exposes it when useful. */
.lamp-live-latest{display:none;}

@media (max-width:640px){
  /* Occupies the deliberately spare slot above the + chat-options button.
     It is not part of layout flow, so the locked v0.2.11 composer geometry
     remains unchanged. */
  .lamp-live-latest{
    position:absolute!important;
    left:0!important;
    bottom:53px!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #5c6f8e!important;
    border-radius:50%!important;
    background:#1b2a40!important;
    color:var(--ll-gold-soft)!important;
    box-shadow:0 7px 20px rgba(0,0,0,.28)!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    z-index:4!important;
  }
  .lamp-live-latest.is-visible{display:flex!important;}
  .lamp-live-latest-icon{
    display:block;
    font-size:1.55rem;
    font-weight:900;
    line-height:1;
    transform:translateY(-1px);
  }
  .lamp-live-latest-badge{
    display:none;
    position:absolute;
    top:-6px;
    right:-7px;
    min-width:20px;
    height:20px;
    padding:0 5px;
    box-sizing:border-box;
    border-radius:999px;
    border:2px solid #0c1421;
    background:var(--ll-gold);
    color:#111827;
    font-size:.67rem;
    font-weight:950;
    line-height:16px;
    text-align:center;
    white-space:nowrap;
  }
  .lamp-live-latest-badge.is-visible{display:block;}

  /* If chat options are opened while Jump to Latest is visible, move the
     options menu above the new button rather than letting the two overlap. */
  .lamp-live-latest.is-visible ~ .lamp-live-type-menu{
    bottom:calc(100% + 60px)!important;
  }
}



/* =========================================================
   v0.2.13 - Lamp Live dark browser / keyboard preference hint
   Does not alter the locked mobile geometry.
   ========================================================= */
body.lamp-live-page-mode,
body.lamp-live-page-mode input,
body.lamp-live-page-mode textarea,
body.lamp-live-page-mode select,
body.lamp-live-page-mode button{
  color-scheme:dark;
}


/* =========================================================
   v0.3.0 - DESKTOP LAYOUT PASS
   Mobile <= 640px is the locked v0.2.13 layout and is not
   changed here. Desktop becomes a wide radio/chat console.
   ========================================================= */
@media (min-width:901px){
  html{background:#080d15!important;}
  body.lamp-live-page-mode{
    background:#080d15!important;
    overflow:hidden!important;
  }

  /* Remove only harmless theme spacing. Do NOT collapse #proradio-global:
     it contains the Lamp Live page on this ProRadio setup. */
  body.lamp-live-page-mode #proradio-global,
  body.lamp-live-page-mode #proradio-ajax-master,
  body.lamp-live-page-mode #proradio-pagecontent,
  body.lamp-live-page-mode .proradio-pagecontent,
  body.lamp-live-page-mode .proradio-maincontent,
  body.lamp-live-page-mode .proradio-entrycontent{
    margin-top:0!important;
    padding-top:0!important;
  }

  /* Bypass Elementor/ProRadio's narrow desktop content column without
     altering any theme parent dimensions. This is an app page, so the
     console itself owns the viewport. */
  body.lamp-live-page-mode .lamp-live-wrap{
    position:fixed!important;
    z-index:9990!important;
    left:50%!important;
    right:auto!important;
    top:26px!important;
    bottom:26px!important;
    width:min(1080px,calc(100vw - 80px))!important;
    max-width:1080px!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:transparent!important;
  }
  body.admin-bar.lamp-live-page-mode .lamp-live-wrap{
    top:58px!important; /* 32px WP toolbar + 26px breathing room */
  }

  .lamp-live-player-card,
  .lamp-live-community-card{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    border-radius:16px!important;
  }

  /* Wide radio player. The action button occupies one square at the right,
     leaving the native audio control and Now Playing line plenty of room. */
  .lamp-live-player-card{
    flex:0 0 auto!important;
    position:relative!important;
    padding:16px 18px 14px!important;
    margin:0 0 12px!important;
  }
  .lamp-live-player-topline{
    position:absolute!important;
    right:18px!important;
    top:16px!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    z-index:10!important;
  }
  .lamp-live-screen-actions{
    width:42px!important;
    height:42px!important;
    display:block!important;
  }
  .lamp-live-fullscreen,
  .lamp-live-fullscreen-exit{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--ll-gold)!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,var(--ll-gold-soft),var(--ll-gold))!important;
    color:#111827!important;
    box-shadow:none!important;
    font-size:1.28rem!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:0!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .lamp-live-fullscreen{display:flex!important;}
  .lamp-live-fullscreen-exit{display:none!important;}
  .lamp-live-wrap.is-fullscreen .lamp-live-fullscreen{display:none!important;}
  .lamp-live-wrap.is-fullscreen .lamp-live-fullscreen-exit{
    display:flex!important;
    position:static!important;
    inset:auto!important;
  }
  .lamp-live-audio{
    display:block!important;
    width:calc(100% - 58px)!important;
    height:42px!important;
    margin:0 58px 9px 0!important;
  }
  .lamp-live-now-playing{
    gap:10px!important;
    padding-right:4px!important;
    font-size:.82rem!important;
    line-height:1.2!important;
  }
  .lamp-live-now-playing strong{
    min-width:0!important;
    font-size:1rem!important;
  }

  /* The community card takes the rest of the desktop viewport. */
  .lamp-live-community-card{
    flex:1 1 auto!important;
    min-height:0!important;
    padding:18px 20px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .lamp-live-head{
    flex:0 0 auto!important;
    padding:0 2px 2px!important;
  }
  .lamp-live-head h3{
    font-size:1.42rem!important;
  }
  .lamp-live-feed{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:260px!important;
    max-height:none!important;
    margin:12px 0!important;
    padding:18px 20px!important;
    border-radius:14px!important;
  }
  .lamp-live-msg{
    max-width:72%!important;
    margin-bottom:13px!important;
  }
  .lamp-live-bubble{
    font-size:1.02rem!important;
    line-height:1.47!important;
  }

  /* Keep the single chat-options approach. Give the desktop composer most
     of the width for the actual message, with name and Send kept compact. */
  .lamp-live-type-picker{
    flex:0 0 auto!important;
    width:260px!important;
    margin:0 0 9px!important;
  }
  .lamp-live-type-trigger{
    min-height:42px!important;
    padding:10px 13px!important;
  }
  .lamp-live-composer-stack{
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .lamp-live-form[data-kind="community"]{
    display:grid!important;
    grid-template-columns:220px minmax(0,1fr) 96px!important;
    gap:9px!important;
    align-items:stretch!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-row{
    grid-column:1!important;
    min-width:0!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-message-wrap{
    grid-column:2!important;
    min-width:0!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-message-wrap textarea{
    height:54px!important;
    min-height:54px!important;
    max-height:110px!important;
    resize:vertical!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-send{
    grid-column:3!important;
    width:96px!important;
    min-width:96px!important;
    min-height:54px!important;
    align-self:stretch!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-form-status{
    grid-column:1/-1!important;
  }

  /* Fullscreen keeps the same console, but uses the complete screen. */
  body.lamp-live-page-mode .lamp-live-wrap:fullscreen,
  body.lamp-live-page-mode .lamp-live-wrap:-webkit-full-screen{
    position:fixed!important;
    inset:0!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    margin:0!important;
    padding:24px!important;
    transform:none!important;
    background:var(--ll-bg)!important;
  }
}

/* =========================================================
   v0.3.1 - DESKTOP COMPOSER POLISH
   Desktop-only. Mobile <= 640px remains locked and untouched.
   ========================================================= */
@media (min-width:901px){
  /* Give the desktop console a little more breathing room on 1080p screens. */
  body.lamp-live-page-mode .lamp-live-wrap{
    width:min(1180px,calc(100vw - 80px))!important;
    max-width:1180px!important;
  }

  /* The bottom controls read as one contained composer strip instead of
     separate floating widgets. */
  .lamp-live-community-card{
    position:relative!important;
  }
  .lamp-live-composer-stack{
    flex:0 0 auto!important;
    min-width:0!important;
    padding:11px 12px 10px!important;
    border:1px solid #263a57!important;
    border-radius:14px!important;
    background:#0c1524!important;
  }

  /* Chat Options + Jump to Latest occupy the compact left control bay.
     The picker stays in the DOM flow but is visually aligned with row 2
     of the composer without changing the mobile markup. */
  .lamp-live-type-picker{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    width:111px!important;
    height:52px!important;
    margin:0 0 -52px 12px!important;
    transform:translateY(50px)!important;
    z-index:45!important;
  }
  .lamp-live-type-trigger{
    flex:0 0 52px!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid var(--ll-gold)!important;
    border-radius:12px!important;
    background:linear-gradient(180deg,var(--ll-gold-soft),var(--ll-gold))!important;
    color:#111827!important;
    box-shadow:none!important;
  }
  .lamp-live-type-trigger-label{display:none!important;}
  .lamp-live-type-trigger-arrow{
    display:block!important;
    font-size:0!important;
    color:#111827!important;
  }
  .lamp-live-type-trigger-arrow::before{
    content:"+";
    display:block;
    font-size:1.75rem;
    font-weight:500;
    line-height:1;
    transform:translateY(-1px);
  }
  .lamp-live-type-trigger:hover,
  .lamp-live-type-trigger[aria-expanded="true"]{
    filter:brightness(1.04)!important;
  }

  .lamp-live-latest{
    position:relative!important;
    flex:0 0 52px!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #526884!important;
    border-radius:12px!important;
    background:#17263b!important;
    color:var(--ll-gold-soft)!important;
    box-shadow:none!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
  }
  .lamp-live-latest.is-visible{display:flex!important;}
  .lamp-live-latest-icon{
    display:block!important;
    font-size:1.55rem!important;
    font-weight:900!important;
    line-height:1!important;
    transform:translateY(-1px)!important;
  }
  .lamp-live-latest-badge{
    display:none;
    position:absolute!important;
    top:-7px!important;
    right:-7px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    box-sizing:border-box!important;
    border-radius:999px!important;
    border:2px solid #0c1421!important;
    background:var(--ll-gold)!important;
    color:#111827!important;
    font-size:.67rem!important;
    font-weight:950!important;
    line-height:16px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  .lamp-live-latest-badge.is-visible{display:block!important;}

  /* The options popup is deliberately full sized even though its trigger is
     now a compact + button. It opens upward so it never covers the composer. */
  .lamp-live-type-menu{
    left:0!important;
    right:auto!important;
    top:auto!important;
    bottom:calc(100% + 8px)!important;
    width:310px!important;
  }

  /* Community form: compact nickname on row 1, then the actual chat composer
     on row 2. Left padding reserves the 111px control bay above. */
  .lamp-live-form[data-kind="community"]{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 52px 52px!important;
    grid-template-rows:40px 52px auto!important;
    column-gap:8px!important;
    row-gap:8px!important;
    align-items:stretch!important;
    padding-left:119px!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-row{
    grid-column:1!important;
    grid-row:1!important;
    width:190px!important;
    max-width:190px!important;
    min-width:0!important;
    align-self:stretch!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-row .lamp-live-name{
    height:40px!important;
    min-height:40px!important;
    padding:8px 12px!important;
    font-size:.96rem!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-message-wrap{
    grid-column:1!important;
    grid-row:2!important;
    min-width:0!important;
    position:relative!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-message-wrap textarea{
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    max-height:104px!important;
    padding:13px 14px!important;
    resize:vertical!important;
  }

  /* Emoji occupies its own visual square immediately to the right of the
     message field, while remaining inside message-wrap in the markup. */
  .lamp-live-form[data-kind="community"] .lamp-live-emoji-toggle{
    position:absolute!important;
    right:-60px!important;
    top:0!important;
    bottom:auto!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #526884!important;
    border-radius:12px!important;
    background:#17263b!important;
    color:#fff!important;
    font-size:1.35rem!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-emoji-toggle:hover,
  .lamp-live-form[data-kind="community"] .lamp-live-emoji-toggle[aria-expanded="true"]{
    background:#223652!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-emoji-picker{
    right:-60px!important;
    bottom:calc(100% + 8px)!important;
  }

  /* Send mirrors the compact square control language used elsewhere. */
  .lamp-live-form[data-kind="community"] .lamp-live-send{
    grid-column:3!important;
    grid-row:2!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:0!important;
    margin:0!important;
    border-radius:12px!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-send-label{display:none!important;}
  .lamp-live-form[data-kind="community"] .lamp-live-send-icon{
    display:block!important;
    font-size:1.4rem!important;
    line-height:1!important;
    transform:translateX(1px)!important;
  }
  .lamp-live-form[data-kind="community"] .lamp-live-form-status{
    grid-column:1/-1!important;
    grid-row:3!important;
    min-height:1em!important;
    margin-top:-2px!important;
  }
}


/* =========================================================
   v0.3.2 - DESKTOP HOST MESSAGE ALIGNMENT
   Desktop-only. Keep listener messages left aligned, while moving
   host replies a little closer to the conversation flow.
   ========================================================= */
@media (min-width:901px){
  .lamp-live-msg.is-host{
    max-width:80%!important;
  }
}

/* =========================================================
   v0.3.3 - iPhone Studio Message keyboard visibility fix
   Studio is unique because its private reply history lives below the form.
   While the software keyboard is open, prioritise the focused Studio form
   instead of letting reply history push the textarea out of view.
   ========================================================= */
@media (max-width:640px){
  .lamp-live-wrap.is-keyboard-open[data-keyboard-kind="studio"] .lamp-live-feed{
    display:none!important;
  }
  .lamp-live-wrap.is-keyboard-open[data-keyboard-kind="studio"] .lamp-live-panel[data-panel="studio"]{
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .lamp-live-wrap.is-keyboard-open[data-keyboard-kind="studio"] .lamp-live-private-note,
  .lamp-live-wrap.is-keyboard-open[data-keyboard-kind="studio"] .lamp-live-private-replies{
    display:none!important;
  }
  .lamp-live-wrap.is-keyboard-open[data-keyboard-kind="studio"] .lamp-live-special[data-kind="studio"]{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }
  .lamp-live-wrap.is-keyboard-open[data-keyboard-kind="studio"] .lamp-live-special[data-kind="studio"] textarea{
    min-height:86px!important;
    max-height:110px!important;
  }
}


/* =========================================================
   v0.3.4 - DESKTOP SPECIAL-FORM CONTROL POSITIONING
   The compact ↓ / + control bay belongs to Live Chat only.
   Dedication, Have a Moan and Studio use taller forms, so keep
   Jump to Latest out of the way and return Chat Options to normal
   document flow above the special form instead of overlaying fields.
   Mobile <= 640px is intentionally untouched.
   ========================================================= */
@media (min-width:901px){
  .lamp-live-wrap[data-active-kind="dedication"] .lamp-live-latest,
  .lamp-live-wrap[data-active-kind="moan"] .lamp-live-latest,
  .lamp-live-wrap[data-active-kind="studio"] .lamp-live-latest{
    display:none!important;
  }

  .lamp-live-wrap[data-active-kind="dedication"] .lamp-live-type-picker,
  .lamp-live-wrap[data-active-kind="moan"] .lamp-live-type-picker,
  .lamp-live-wrap[data-active-kind="studio"] .lamp-live-type-picker{
    display:flex!important;
    align-items:center!important;
    width:52px!important;
    height:52px!important;
    margin:10px 0 8px 12px!important;
    transform:none!important;
    position:relative!important;
    z-index:45!important;
  }

  /* Keep the popup above the special form, opening back over the feed. */
  .lamp-live-wrap[data-active-kind="dedication"] .lamp-live-type-menu,
  .lamp-live-wrap[data-active-kind="moan"] .lamp-live-type-menu,
  .lamp-live-wrap[data-active-kind="studio"] .lamp-live-type-menu{
    left:0!important;
    right:auto!important;
    top:auto!important;
    bottom:calc(100% + 8px)!important;
  }
}


/* =========================================================
   v0.4.0 - PRIVATE STUDIO REPLY NOTIFICATIONS
   Layout-neutral unread indicators. The small alert appears only while
   the listener is in Live Chat; all other sections retain the badge on +.
   ========================================================= */
.lamp-live-community-card{position:relative;}
.lamp-live-type-trigger{position:relative;overflow:visible!important;}
.lamp-live-studio-unread-badge{
  display:none;
  position:absolute;
  right:-7px;
  top:-7px;
  z-index:75;
  min-width:20px;
  height:20px;
  padding:0 5px;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#ff4d62;
  border:2px solid #0c1421;
  color:#fff;
  font-size:.66rem;
  line-height:1;
  font-weight:950;
  box-shadow:0 3px 10px rgba(0,0,0,.35);
}
.lamp-live-studio-unread-badge.is-visible{display:flex;}
.lamp-live-private-alert[hidden]{display:none!important;}
.lamp-live-private-alert{
  position:absolute;
  right:20px;
  bottom:96px;
  z-index:64;
  max-width:min(390px,calc(100% - 40px));
  border:1px solid var(--ll-gold);
  border-radius:11px;
  background:#111c2d;
  color:#fff;
  padding:9px 13px;
  font:800 .86rem/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(0,0,0,.38);
}
.lamp-live-private-alert:hover{background:#182840;}
.lamp-live-type-trigger.has-studio-unread{box-shadow:0 0 0 2px rgba(255,77,98,.18);}

@media (max-width:640px){
  .lamp-live-private-alert{
    left:50%;
    right:auto;
    bottom:112px;
    transform:translateX(-50%);
    width:max-content;
    max-width:calc(100% - 28px);
    padding:8px 11px;
    font-size:.76rem;
    white-space:nowrap;
  }
  .lamp-live-wrap.is-keyboard-open .lamp-live-private-alert{display:none!important;}
}
