/* SONOFPOLLUX Portal v2.7 — rooms / live presence layer */
:root{
  --sop-v27-edge:rgba(255,255,255,.105);
  --sop-v27-ink:rgba(248,246,250,.96);
  --sop-v27-dim:rgba(220,215,226,.58);
}
html[data-portal-build="portal-v2.7.0"] body{--portal-shell-build:"2.7"}
.portalLiveChip{position:fixed;right:18px;bottom:18px;z-index:920;display:grid;grid-template-columns:8px auto;grid-template-rows:auto auto;gap:0 9px;align-items:center;min-width:126px;padding:10px 13px;border:1px solid rgba(255,255,255,.12);background:rgba(8,8,14,.76);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#dcd8e1;text-decoration:none!important;box-shadow:0 16px 45px rgba(0,0,0,.28);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.portalLiveChip:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.23);background:rgba(12,12,20,.9)}
.portalLiveChip i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#66616d}
.portalLiveChip.is-live i{background:#bcffa6;box-shadow:0 0 16px rgba(188,255,166,.55);animation:sopLivePulse 2s ease-in-out infinite}
.portalLiveChip span{font:700 10px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.portalLiveChip em{font:8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#77727d;font-style:normal;margin-top:3px}
@keyframes sopLivePulse{50%{opacity:.4;transform:scale(.78)}}
.portalRoomBand{position:relative;overflow:hidden;border:1px solid var(--sop-v27-edge);background:rgba(255,255,255,.025);padding:26px}
.portalRoomBand:before{content:"";position:absolute;inset:-30%;pointer-events:none;background:radial-gradient(circle at 22% 25%,rgba(255,133,195,.08),transparent 32%),radial-gradient(circle at 77% 72%,rgba(107,153,255,.08),transparent 30%);filter:blur(12px)}
.portalRoomBand>*{position:relative}
.portalRoomBand__eyebrow{font:700 9px ui-monospace,SFMono-Regular,monospace;letter-spacing:.18em;color:#77717c;text-transform:uppercase}
.portalRoomBand__title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,56px);letter-spacing:-.04em;font-weight:400;margin:7px 0 9px;color:var(--sop-v27-ink)}
.portalRoomBand__copy{max-width:700px;color:var(--sop-v27-dim);font-size:13px;line-height:1.65}
.portalRoomBand__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.portalRoomBand__actions a{font-size:11px;text-decoration:none;border:1px solid rgba(255,255,255,.12);padding:9px 12px;color:#d4d0da;background:rgba(255,255,255,.025)}
.portalRoomBand__actions a:hover{border-color:rgba(255,255,255,.24);color:#fff}
.portalPresenceStrip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 0;color:#817c87;font:9px ui-monospace,SFMono-Regular,monospace;letter-spacing:.12em;text-transform:uppercase}
.portalPresenceStrip b{color:#d8d4dd;font-size:11px}.portalPresenceStrip i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#bfffaa;box-shadow:0 0 13px rgba(191,255,170,.45);margin-right:6px}
@media(max-width:760px){.portalLiveChip{right:12px;bottom:72px;min-width:auto}.portalLiveChip em{display:none}.portalRoomBand{padding:20px}}
@media(prefers-reduced-motion:reduce){.portalLiveChip.is-live i{animation:none}.portalLiveChip{transition:none}}


/* v2.7.1 — GLOBAL CONTROL CLEANUP
   Bottom edge belongs to intentional mobile navigation only. */
.sop-ads-fab{display:none!important}
.portalLiveChip,
.portalLiveChip--header{
  position:static!important;
  inset:auto!important;
  min-width:auto!important;
  margin:0!important;
  box-shadow:none!important;
  flex:0 0 auto;
}
@media(max-width:860px){
  .portalLiveChip--header{padding:8px 9px!important}
  .portalLiveChip--header em{display:none!important}
}
@media(max-width:560px){
  .portalLiveChip--header{display:none!important}
}
