
#demo-controls select{width:auto;max-width:155px;min-height:26px;padding:3px 6px;font:inherit;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:5px}
#demo-controls button[hidden]{display:none}
.player-presence.presence-caption:before{background:#57e59c;box-shadow:0 0 5px #57e59c60}
.production-building .world-atmosphere,.production-building .ms-server-roster,.production-building .ms-online-count{display:none!important}
.production-building-note{font-size:12px;color:var(--muted);line-height:1.5;max-width:30ch;margin:10px 0}

@media(min-width:1001px) and (max-height:800px){
 #catalog-discovery.is-compact-view .portal-editorial{height:238px;min-height:238px}
 #catalog-discovery.is-compact-view .discovery-topdeck>.ms-featured-worlds>.is-global-showcase{height:238px;min-height:238px;padding:10px 12px;gap:5px;grid-template-rows:18px 60px minmax(76px,1fr) 36px}
 #catalog-discovery.is-compact-view .discovery-topdeck .is-global-showcase>.ms-server-identity{height:60px}
 #catalog-discovery.is-compact-view .discovery-topdeck .is-global-showcase>.ms-server-roster{min-height:76px;grid-template-rows:14px minmax(58px,1fr);gap:4px}
 #catalog-discovery.is-compact-view .discovery-topdeck .ms-mini-players{min-height:58px}
 #catalog-discovery.is-compact-view .discovery-topdeck .is-global-showcase>.world-atmosphere{min-height:36px;height:36px}
 #catalog-discovery .portal-editorial .ed-story:not(.is-alpha-story){padding-top:56px;padding-bottom:44px}
 #catalog-discovery .ed-news-copy h2{font-size:20px}
 #catalog-discovery .portal-editorial .community-live-carousel{grid-template-rows:minmax(0,1fr);height:100%;min-height:0}
}

@media(min-width:1001px) and (max-height:800px){
 .portal .workspace:has(#catalog-discovery){grid-template-rows:88px minmax(0,1fr) auto}
 .portal:has(#catalog-discovery) .topbar{height:88px;min-height:0}
 .portal #main:has(#catalog-discovery){padding-top:12px!important;padding-bottom:8px!important}
}
/* Keep a complete name/live caption below the portrait on short notebooks. */
@media(min-width:1001px) and (max-height:800px){
 #catalog-discovery.is-compact-view .discovery-topdeck .ms-mini-player{grid-template-rows:36px 14px 12px;height:66px;min-height:66px}
 #catalog-discovery.is-compact-view .discovery-topdeck .ms-mini-portrait,
 #catalog-discovery.is-compact-view .discovery-topdeck .ms-mini-portrait .avatar{width:36px;height:36px;min-width:36px;max-width:36px;min-height:36px;max-height:36px;flex-basis:36px}
}

/* Roster bounds include top spacing AND the complete name/live caption.
   Keep clipping between complete rows, never through a visible player's caption. */
#catalog-discovery .ms-card>.ms-server-roster{--roster-inset:6px;box-sizing:border-box}
#catalog-discovery #server-grid:not(.is-list)>.ms-card>.ms-server-roster,
#catalog-discovery #server-grid.is-list>.ms-card>.ms-server-roster,
#catalog-discovery.editorial-top #server-grid .ms-featured-worlds>.is-global-showcase>.ms-server-roster,
#catalog-discovery.editorial-top .is-global-showcase>.ms-server-roster{min-height:calc(62px + var(--roster-inset));height:100%}
#catalog-discovery #server-grid:not(.is-list)>.ms-card>.ms-server-roster>.ms-mini-players,
#catalog-discovery #server-grid.is-list>.ms-card>.ms-server-roster>.ms-mini-players{height:100%;min-height:62px}
#catalog-discovery.is-compact-view .discovery-topdeck .is-global-showcase>.ms-server-roster{min-height:102px;grid-template-rows:18px minmax(74px,1fr)}
#catalog-discovery.is-compact-view .discovery-topdeck .ms-mini-players{min-height:74px}
@media(min-width:761px) and (min-height:951px){
 #catalog-discovery #server-grid:not(.is-list)>.ms-card:not(.catalog-global)>.ms-server-roster{--roster-inset:12px}
}
@media(min-width:1001px) and (max-height:800px){
 #catalog-discovery.is-compact-view .portal-editorial{height:242px;min-height:242px}
 #catalog-discovery.is-compact-view .discovery-topdeck>.ms-featured-worlds>.is-global-showcase{height:242px;min-height:242px;grid-template-rows:18px 60px minmax(90px,1fr) 36px}
 #catalog-discovery.is-compact-view .discovery-topdeck .is-global-showcase>.ms-server-roster{min-height:90px;grid-template-rows:14px minmax(66px,1fr)}
 #catalog-discovery.is-compact-view .discovery-topdeck .ms-mini-players{min-height:66px}
}
/* Public streamer profile: restrained identity, readable introduction, clear channel actions. */
.player-social-dialog{width:min(650px,calc(100vw - 32px));height:510px;max-height:calc(100dvh - 32px);padding:0;overflow:auto;background:#151b1e;border:1px solid #a9b6b433;border-radius:16px;box-shadow:0 28px 90px #000b}
.player-social-dialog[open]{animation:streamer-profile-enter .24s ease-out both}
.player-social-dialog::backdrop{background:#070b0dc9;backdrop-filter:blur(5px)}
.player-social-dialog .social-close{z-index:2;right:14px;top:14px;width:34px;height:34px;background:#11171999;border:1px solid #ffffff20;border-radius:9px;font-size:23px;line-height:1}
.player-social-dialog .social-profile-header{display:flex;align-items:center;gap:22px;padding:30px 48px 26px 28px;text-align:left;background:radial-gradient(ellipse at 10% 0%,#b7a27b1c,transparent 75%),linear-gradient(120deg,#20282b,#141b1e);border-bottom:1px solid #ffffff12}
.social-profile-portrait{position:relative;width:100px;height:100px;flex:none;border:1px solid #d6c7a559;border-radius:18px;padding:5px;background:#101719;box-shadow:0 8px 22px #0005}
.player-social-dialog header .social-profile-portrait .avatar{width:88px;height:88px;border-radius:13px;margin:0}
.social-profile-portrait>img{position:absolute;inset:5px;width:88px;height:88px;border-radius:13px;object-fit:cover}
.social-profile-identity{min-width:0;display:grid;justify-items:start;gap:6px}.social-profile-identity .eyebrow{font-size:10px;letter-spacing:.12em;color:#c9bb9c}
.player-social-dialog .social-profile-identity h2{font-size:28px;line-height:1.15;margin:0;overflow-wrap:anywhere}.social-game-name{color:#a9b4b7;font-size:11px}
.social-live-state{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#b7c2c3;min-height:22px}.social-live-state.is-live{color:#92e8b9}.social-live-state.is-live:before{content:'';width:6px;height:6px;border-radius:50%;background:#57e59c;box-shadow:0 0 8px #57e59c44}
.social-profile-body{padding:22px 28px 26px;display:grid;gap:22px}.player-social-dialog h3{margin:0;color:#e2e6e5;font-size:13px;font-weight:600}
.player-social-dialog .social-about p{margin:9px 0 0;font-size:13px;line-height:1.65;color:#bdc7c9;white-space:pre-line;overflow-wrap:anywhere;max-height:116px;overflow-y:auto}.player-social-dialog .social-about p.is-empty{color:#94a1a5}
.social-channels-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.social-channels-heading>small{font-size:10px;color:#91a1a6}
.player-social-dialog .social-profile-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 0}
.social-channel{display:flex;align-items:center;gap:10px;min-width:0;min-height:64px;padding:12px;border-radius:10px;border:1px solid #a9b6b426;background:#0d141866;color:#dee5e7;text-decoration:none;text-align:left;font:inherit;transition:background .18s,border-color .18s,transform .18s}
a.social-channel:hover{background:#253034;border-color:#bbcac655;transform:translateY(-1px)}.social-channel:focus-visible{outline:2px solid #d2c19a;outline-offset:3px}.social-channel:disabled{opacity:1}
.social-channel-brand{width:26px;height:26px;flex:none;display:grid;place-items:center}.social-channel-brand svg{width:22px;height:22px}.social-twitch .social-channel-brand{color:#bf94ff}.social-kick .social-channel-brand{color:#78e95a}.social-youtube .social-channel-brand{color:#ff7373}.social-tiktok .social-channel-brand{color:#83e6e5}
.social-channel-label{display:grid;gap:3px;min-width:0;flex:1}.social-channel-label strong{font-size:12px}.social-channel-label small{font-size:10px;color:#9dadaf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-channel-action{font-size:11px;white-space:nowrap;color:#9faeb2}.social-channel.is-live .social-channel-action{color:#92e8b9}
@keyframes streamer-profile-enter{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.player-social-dialog{height:570px}.player-social-dialog .social-profile-header{gap:14px;padding:26px 44px 22px 18px}.social-profile-portrait{width:78px;height:78px;border-radius:14px;padding:4px}.player-social-dialog header .social-profile-portrait .avatar,.social-profile-portrait>img{width:68px;height:68px;border-radius:10px}.social-profile-portrait>img{inset:4px}.player-social-dialog .social-profile-identity h2{font-size:23px}.social-profile-identity .eyebrow{font-size:8px}.social-profile-body{padding:20px 18px;gap:20px}.player-social-dialog .social-profile-links{grid-template-columns:1fr;gap:8px}.social-channel{min-height:55px;padding:10px 12px}.social-channels-heading>small{font-size:9px}.player-social-dialog .social-about p{max-height:100px}}
@media(prefers-reduced-motion:reduce){.player-social-dialog[open]{animation:none}.social-channel{transition:none}}
.player-social-dialog .social-channel{filter:none;background:#0d141866;color:#dee5e7}
.player-social-dialog a.social-channel:hover{background:#253034}
.player-social-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.player-social-dialog .social-profile-body{display:flex;flex-direction:column;justify-content:space-between;min-height:0}
.player-social-dialog .social-about,.player-social-dialog .social-channels-section{flex-shrink:0}
