/* ServerBrowser.org / compact bottom status bar + readable marketplace controls. */
html, body { min-height:100%; }
body { display:flex; flex-direction:column; padding-bottom:50px; }
main { flex:0 0 auto; }

/* The reference is a thin utility/status strip, not a large content footer. */
.footer { position:fixed; right:0; bottom:0; left:0; z-index:60; height:50px; margin:0 !important; padding:0 1rem; overflow:hidden; border-top:1px solid rgba(211,227,215,.18); background:rgba(9,14,12,.97); box-shadow:0 -8px 26px rgba(0,0,0,.22); backdrop-filter:blur(18px); }
.footer-grid { width:100%; max-width:none; height:49px; display:flex; align-items:stretch; gap:0; padding:0; margin:0; }
.footer-brand { display:flex; align-items:center; gap:.7rem; min-width:180px; padding:0 .9rem 0 .15rem; border-right:1px solid var(--line); }
.footer-brand .brand { gap:.5rem; }
.footer-brand .brand-mark { width:22px; height:22px; }
.footer-brand .brand-name { font-size:15px; }
.footer-brand .brand-name small { font-size:8px; }
.footer-brand p, .footer-brand .system-status { display:none; }
.footer-col { display:flex; flex-direction:row; align-items:stretch; gap:0; }
.footer-col .footer-label { display:none; }
.footer-col a { display:flex; align-items:center; padding:0 .9rem; border-right:1px solid var(--line); color:#91a097; font-size:11px; white-space:nowrap; text-decoration:none; }
.footer-col a:hover { color:var(--lime); background:rgba(0,229,160,.05); }
.footer-card { display:flex; align-items:center; gap:.7rem; max-width:340px; margin-left:auto; padding:0 .9rem; border-left:1px solid var(--line); }
.footer-card > span { color:var(--lime); font-size:9px; white-space:nowrap; }
.footer-card strong { color:var(--text); font-size:10px; white-space:nowrap; }
.footer-card p, .footer-bottom { display:none; }

/* Larger controls and listing text for the dense directory rail. */
.filters { font-size:15px; }
.filter-head { font-size:13px; }
.filter-head button, .filter-title { font-size:12px; }
.filter-block > select { height:39px; font-size:13px; }
.check-list { gap:.36rem; }
.check-list label { padding:.42rem 0; font-size:15px; }
.check-list b { font-size:12px; }
 .map-filter-note { display:block; padding:.55rem 0 .2rem; color:#6f8175; font-size:10px; line-height:1.4; }
 #mapFilters { contain: paint; }
 .mode-pills button { padding:.48rem .55rem; font-size:12px; }
.player-range-row { font-size:12px; }
.filter-tip p { font-size:11px; }
.results-note, .results-note button, .load-row { font-size:12px; }
.server-name { font-size:16px; }
.server-sub { font-size:11px; }
.server-card-map strong { font-size:18px; }
.server-meta span { font-size:10px; }
.server-meta b { font-size:13px; }
.join-button, .details-button, .copy-button { font-size:12px; }
.player-line strong { font-size:22px; }
.server-card-map { position:relative; isolation:isolate; overflow:hidden; background-color:#173c2c; background-image:linear-gradient(90deg,rgba(7,22,16,.78),rgba(7,22,16,.2) 62%,rgba(7,22,16,.5)),var(--map-image),linear-gradient(135deg,#173c2c,#08100c); background-position:center; background-size:cover; }
.server-card-map::before { position:absolute; inset:0; z-index:-1; content:""; background:linear-gradient(180deg,rgba(0,229,160,.08),transparent 45%,rgba(2,12,8,.4)); mix-blend-mode:screen; }
.server-card-map > span, .server-card-map > strong { position:relative; z-index:1; color:#f2fff8; text-shadow:0 1px 5px rgba(0,0,0,.7); }
html[data-theme="light"] .server-card-map > span, html[data-theme="light"] .server-card-map > strong { color:#f2fff8; }

html[data-theme="light"] .footer { background:rgba(231,239,232,.98); box-shadow:0 -8px 26px rgba(36,77,45,.12); }
@media (max-width:900px) {
  .footer-brand { min-width:150px; }
  .footer-col a { padding:0 .6rem; font-size:10px; }
  .footer-card { max-width:260px; padding:0 .65rem; }
  .footer-card strong { display:none; }
}
@media (max-width:620px) {
  body { padding-bottom:44px; }
  .footer { height:44px; padding:0 .35rem; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
  .footer::-webkit-scrollbar { display:none; }
  .footer-grid { width:max-content; min-width:100%; height:43px; }
  .footer-brand { min-width:130px; padding-right:.6rem; }
  .footer-brand .brand-name { font-size:13px; }
  .footer-col a { padding:0 .55rem; font-size:9px; }
  .footer-card { max-width:none; margin-left:0; padding:0 .6rem; border-left:1px solid var(--line); }
  .footer-card > span { font-size:8px; }
  .check-list label { font-size:14px; }
  .server-name { font-size:14px; }
  .server-sub { font-size:10px; }
  .server-meta b { font-size:11px; }
  .server-card-map strong { font-size:15px; }
}
