/* SoulShive — legible site-wide base, edition 2027. Public brand remains SoulShive.com. */
:root{--ss27-font:16px;--ss27-secondary:14px;--ss27-focus:#49dfff}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--ss27-font);line-height:1.55}
:is(button,input,select,textarea){font-size:16px!important;line-height:1.45}
:is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--ss27-focus);outline-offset:3px}
.ss26-mainnav a,.ss26-mini-btn,.ss26-add-btn,.ss26-mobile-account>a,
.ss26-user b,.ss26-page-kicker,.ss26-page-masthead-copy p,
.ss26-adsense-label{font-size:14px!important;line-height:1.5!important}
.ss26-mini-btn,.ss26-add-btn{min-height:44px!important;height:auto!important;padding:9px 12px!important}
.ss26-page :is(small,label,.small,.muted),.ss26-page footer :is(a,span,p),
.ss26-page .ss26-owner-verify-copy p,.ss26-page .ss26-owner-count{font-size:14px!important;line-height:1.5!important}
/* Google ads: fixed banner sizes selected before request; do not crop served ads. */
.ss26-adsense{text-align:center;margin:12px auto 18px!important}
.ss26-adsense-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;
  max-width:100%;padding:10px 12px!important;border:1px solid rgba(105,127,190,.20);
  border-radius:12px;background:rgba(9,17,38,.42)}
.ss26-adsense .ss27-ad-horizontal{display:inline-block!important;width:728px!important;
  height:90px!important;min-height:0!important;max-width:100%}
@media(max-width:800px){.ss26-adsense .ss27-ad-horizontal{width:468px!important;height:60px!important}}
@media(max-width:520px){.ss26-adsense .ss27-ad-horizontal{width:320px!important;height:100px!important}}
@media(max-width:359px){.ss26-adsense .ss27-ad-horizontal{width:300px!important;height:100px!important}}
/* Master Server and server listing are self-contained templates. */
.ms-page :is(small,label,button,input,select,td,th),
.sl-page :is(small,label,button,input,select,td,th),
.ms-page :is(.ms-head b,.ms-head a,.ms-head small,.ms-nav a,.ms-auth a,.ms-search,.ms-sub,
.ms-btn,.ms-stat span,.ms-mapstat span,.ms-livenow,.ms-gameinfo b,.ms-gameinfo span,
.ms-more b,.ms-more span,.ms-livebox span,.ms-growth,.ms-feedrow .num,.ms-feedrow b,
.ms-feedrow small,.ms-feedrow time,.ms-country,.ms-trend b,.ms-trend small,.ms-trend em,
.ms-review b,.ms-stars,.ms-review p,.ms-community p,.ms-community li,.ms-status b,.ms-status span,
.ms-footnav,.ms-copy),
.sl-page :is(.sl-crumb,.sl-sub,.sl-fact b,.sl-fact span,.sl-tab,.sl-reset,.sl-filtergrid input,
.sl-filtergrid select,.sl-stat span,.sl-stat .right,.sl-sectionhead span,.sl-sectionhead a,
.sl-fname,.sl-fgame,.sl-fmeta span,.sl-join,.sl-gamecell b,.sl-server b,.sl-server small,
.sl-players,.sl-ping,.sl-tier,.sl-viptoggle){font-size:14px!important;line-height:1.5!important}
.ms-page :is(.ms-head,.ms-game,.ms-more,.ms-stat,.ms-status),
.sl-page :is(.sl-fact,.sl-tab){height:auto!important;min-height:48px!important}
.ms-page .ms-game{min-height:158px!important}
.ms-page .ms-gameinfo{padding:10px!important}
.ms-page .ms-topstats,.ms-page .ms-games{gap:12px!important}
.ms-page .ms-mapbody{grid-template-columns:minmax(150px,1fr) minmax(0,3fr)!important;gap:12px!important}
.ms-page .ms-feedrow,.ms-page .ms-trend{grid-template-columns:28px 34px minmax(0,1fr) auto!important;gap:10px!important}
.ms-page .ms-btn,.ms-page .ms-search,.sl-page .sl-tab,.sl-page .sl-filtergrid input,
.sl-page .sl-filtergrid select{min-height:44px!important;height:auto!important;padding:9px 12px!important}
.sl-page .sl-feature,.sl-page .sl-server{height:auto!important;min-height:150px!important}
.sl-page :is(.sl-filtergrid,.sl-featured){gap:12px!important}
@media(max-width:900px){
  .ms-page .ms-mapbody{grid-template-columns:1fr!important}
  .ms-page .ms-topstats,.ms-page .ms-games,.sl-page .sl-stats{
    grid-template-columns:repeat(auto-fit,minmax(148px,1fr))!important}
  .ms-page .ms-nav,.sl-page .sl-nav{height:auto!important;flex-wrap:wrap;gap:10px!important}
}
@media(max-width:600px){
  .ms-page,.sl-page{width:calc(100% - 20px)!important}
  .ms-page .ms-title,.sl-page .sl-title{font-size:clamp(30px,9vw,44px)!important;line-height:1.1!important}
  .sl-page .sl-facts{gap:12px!important;flex-wrap:wrap!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{
  scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Admin Boost — real-size labels and action buttons for accessibility */
.bw-mini{font-size:14px!important;line-height:1.4!important;height:auto!important;min-height:40px!important;padding:9px 12px!important;white-space:normal}
.bw-meta,.bw-panel p,.bw-count,.bw-manual-grid label,.bw-edit-grid label{font-size:14px!important;line-height:1.5!important}
.bw-table th,.bw-table td,.bw-status{font-size:14px!important;line-height:1.45!important}
.bw-edit-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}
.bw-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Community inbox: visible only to authenticated accounts; staff DMs remain separate. */
.ss27-community-inbox{position:relative;display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;min-height:38px;border-radius:9px;border:1px solid #334669;background:#0b1427;color:#fff!important}
.ss27-inbox-count{position:absolute;right:-7px;top:-7px;display:flex;align-items:center;justify-content:center;
  min-width:23px;min-height:23px;padding:0 4px;border-radius:99px;background:#a63cff;color:#fff;
  border:2px solid #070a14;font-size:14px!important;font-weight:900;line-height:1.1}
