/* Relentless Few — public mobile: dark/light, notch, gestures, chrome-safe */

:root {
  --rsfw-header-h: 56px;
  --rsfw-bottom-h: 56px;
  --rsfw-accent: #e10600;
  --rsfw-browser-chrome: 0px;
  --rsfw-bg: #0d0d12;
  --rsfw-surface: #16161e;
  --rsfw-text: #f4f4f7;
  --rsfw-muted: #9ca3af;
  --rsfw-border: rgba(225, 6, 0, 0.28);
  color-scheme: dark;
}

html[data-theme="light"] {
  --rsfw-bg: #f4f4f7;
  --rsfw-surface: #ffffff;
  --rsfw-text: #16161e;
  --rsfw-muted: #4b5563;
  --rsfw-border: rgba(22, 22, 30, 0.12);
  color-scheme: light;
}

html { -webkit-text-size-adjust: 100%; }

@media (max-width: 991px) {
  body {
    overflow-x: hidden;
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }

  #siteHeader,
  .site-header {
    padding-top: env(safe-area-inset-top, 0px);
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }
}

@media (max-width: 991px) {
  #siteHeader,
  .site-header { position: sticky; top: 0; z-index: 500; }

  .header-content {
    padding: 0 12px;
    height: var(--rsfw-header-h);
    gap: 8px;
  }

  .logo-text { font-size: 1.05rem; }
  .site-logo-img { max-height: 34px; }
  .hamburger { width: 44px; height: 44px; }

  .header-avatar,
  .header-avatar-wrap .rsfw-avatar-img {
    width: 36px; height: 36px; border-radius: 50%; object-fit: cover;
  }

  .mobile-nav-drawer {
    display: none;
    position: fixed;
    top: calc(var(--rsfw-header-h) + env(safe-area-inset-top, 0px));
    left: env(safe-area-inset-left, 0px);
    right: env(safe-area-inset-right, 0px);
    bottom: 0;
    max-height: none;
    padding: 12px 12px calc(var(--rsfw-bottom-h) + env(safe-area-inset-bottom, 0px) + var(--rsfw-browser-chrome));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 520;
    background: var(--rsfw-surface);
    color: var(--rsfw-text);
  }
  .mobile-nav-drawer.open { display: block; }
  .mobile-nav-overlay { z-index: 510; }
  .mobile-nav-links a { min-height: 44px; color: var(--rsfw-text); }

  .mnav-theme-toggle {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid var(--rsfw-border);
    border-radius: 10px;
    color: var(--rsfw-text);
    padding: 0 14px;
    font: inherit;
    cursor: pointer;
  }

  main, #mainContent, .main-container, .page-wrap, .content-wrapper {
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: calc(var(--rsfw-bottom-h) + env(safe-area-inset-bottom, 12px) + var(--rsfw-browser-chrome));
  }

  .page-hero { padding: 28px 16px 22px !important; }
  button, .btn, a.btn, input[type="submit"] { min-height: 44px; min-width: 44px; }
  input, select, textarea {
    font-size: 16px !important;
    max-width: 100%;
    background: var(--rsfw-surface);
    color: var(--rsfw-text);
  }

  table, .table-responsive, .table-wrap {
    display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
  }

  footer, .site-footer {
    padding-bottom: calc(var(--rsfw-bottom-h) + env(safe-area-inset-bottom, 12px) + var(--rsfw-browser-chrome));
  }

  .rsfw-bottom-nav {
    display: flex !important;
    position: fixed;
    left: env(safe-area-inset-left, 0px);
    right: env(safe-area-inset-right, 0px);
    bottom: var(--rsfw-browser-chrome);
    z-index: 540;
    height: calc(var(--rsfw-bottom-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--rsfw-bg);
    border-top: 1px solid var(--rsfw-border);
    justify-content: space-around;
    align-items: stretch;
  }
  .rsfw-bottom-nav a {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 2px; color: var(--rsfw-muted); text-decoration: none; font-size: 0.65rem; font-weight: 600; min-height: 44px;
  }
  .rsfw-bottom-nav a i { font-size: 1.05rem; }
  .rsfw-bottom-nav a.active,
  .rsfw-bottom-nav a:hover { color: var(--rsfw-text); }
  .rsfw-bottom-nav a.active i { color: var(--rsfw-accent); }
}

@media (min-width: 992px) {
  .rsfw-bottom-nav { display: none !important; }
}
