:root {
    --theme-color: #fa4454;
}

/* Local Noto Sans JP (optional) - place font files in /assets/fonts/
   Expected files:
     /assets/fonts/NotoSansJP-Regular.woff2
     /assets/fonts/NotoSansJP-Bold.woff2
*/
@font-face {
    font-family: 'Noto Sans JP Local';
    src: url('/assets/fonts/NotoSansJP-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP Local';
    src: url('/assets/fonts/NotoSansJP-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

::selection {
    background: #fa4454;
    color: #fff;
}

.topnav {
    background-color: var(--theme-color);
    color: white;
}

.topnav-link {
    color: white;
}

.topnav-link,
.notification-btn,
.discord-login-btn {
    transition: background-color 0.3s ease;
}

.topnav-link:hover,
.notification-btn:hover {
    background-color: #BD3944 !important;
}

img {
    user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    pointer-events: none;
}

.members {
    margin-left: 50px;
}


.online-indicator {
    width: 16px;
    height: 16px;
    background-color: green;
    border-radius: 50%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    animation: blink 2s infinite;
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

html,
body {
    margin: 0;
    padding: 0;
    /* Prefer local Noto Sans JP if available, then system fallbacks. Use !important
       so this rule wins even when Tailwind loads after main.css. */
    /* Prefer web-hosted Noto Sans JP (from Google Fonts) then local, then system fallbacks */
    font-family: 'Noto Sans JP', 'Noto Sans JP Local', -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
    /* Stronger base weight to avoid thin rendering on mobile */
    font-weight: 600 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    -webkit-text-size-adjust: 100% !important;
    text-rendering: optimizeLegibility !important;
}

/* Stronger headings */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}

/* On narrow screens increase weight slightly and apply a tiny text-stroke
   to combat very thin glyph rendering on some Android/iOS fonts */
@media (max-width: 768px) {
    body {
        /* On small screens, prefer a heavier weight for legibility */
        font-weight: 700 !important;
    }
    .hero-anim, h1, h2 {
        -webkit-text-stroke: 0.02em rgba(0,0,0,0.03);
    }
}

.font-orbitron {
    font-family: 'Orbitron', sans-serif;
}

.user-indicators {
    color: white;
}

.tips-card:hover {
    scale: 1.05;
}

.tips-card {
    transition: scale 0.3s ease;
}

.text-stroke {
    color: #fff;
    font-weight: bold;
}

.glow {
    text-shadow: 0 0 10px #FF4655, 0 0 20px #FF4655, 0 0 30px #FF4655;
}

.parallax__layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.parallax__layer--back {
    transform: translateZ(-1px) scale(2);
}

.parallax__layer--base {
    transform: translateZ(0);
}

header {
    position: relative;
    z-index: 10;
    height: 100vh;
}

main {
    position: relative;
    z-index: 1;
    margin-top: 100vh;
}

.parallax {
    height: auto;
    perspective: 1px;
    height: 100vh;
    overflow: visible;
}




.bg-valorant-gradient {
    background: linear-gradient(135deg, #FF4655 0%, #0F1923 100%);
}
.card-hover:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(255, 70, 85, 0.2);
}
#hero-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
