* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'IBM Plex Sans', sans-serif; }

/* Premium scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }

/* Smooth theme transitions */
body, .r-sidebar, .r-main { transition: background 0.3s ease, color 0.3s ease; }

/* Selection uses club accent */
::selection { background: var(--accent, #2563eb); color: #fff; }

/* Focus-visible for accessibility */
*:focus-visible { outline: 2px solid var(--accent, #2563eb); outline-offset: 2px; }

/* Fade-in animation for section content */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.r-main > div > div { animation: fadeInUp 0.25s ease; }

/* Mobile: sidebar hidden, hamburger in topbar */
.r-hamburger { display: none; }
.r-hamburger-inline { display: none !important; }
.r-overlay { display: none; }

/* Tablet: stack HomeScreen right panel under center */
@media (max-width: 1024px) {
  .r-home-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
  .r-sidebar { display: none !important; }
  .r-sidebar.open {
    display: flex !important;
    position: fixed !important;
    z-index: 100;
    width: 240px !important;
    top: 50px; bottom: 0; left: 0;
    box-shadow: 4px 0 20px rgba(0,0,0,0.5);
  }
  .r-overlay { display: block; position: fixed; inset: 0; top: 50px; background: rgba(0,0,0,0.5); z-index: 99; }
  .r-hamburger-inline { display: block !important; }
  .r-main { padding: 14px 12px !important; max-width: 100% !important; }
  .r-grid-2 { grid-template-columns: 1fr !important; }
  .r-grid-3 { grid-template-columns: 1fr !important; }
  .r-grid-4 { grid-template-columns: 1fr 1fr !important; }
  .r-hero-split { grid-template-columns: 1fr !important; }
  .r-hero-split > * { border-right: none !important; }
  .r-hero-split > *:first-child { border-bottom: 1px solid var(--border) !important; }
  .r-health-dims { overflow-x: auto; }
  .r-home-grid { grid-template-columns: 1fr !important; }
  .r-login-header { padding: 28px 20px !important; }
  .r-login-body { padding: 20px !important; }
  .r-watermark { display: none !important; }
  .r-topbar-extras { display: none !important; }
}

@media (max-width: 480px) {
  .r-grid-4 { grid-template-columns: 1fr !important; }
  .r-main { padding: 10px 8px !important; }
}
