:root {
    --primary-color: #EF4444; /* Red-500 */
    --secondary-color: #1D4ED8; /* Blue-700 */
    --background-color: #F9FAFB; /* Gray-50 */
    --max-mobile-width: 420px;
}

/* ------------------------------------------------------------------- */
/* BASE BODY & LAYOUT STYLES (Ensure Mobile-First View) */
/* ------------------------------------------------------------------- */

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--background-color);
    /* Essential: Add padding/margin to the bottom to prevent fixed footer from hiding content */
    padding-bottom: 60px; 
    margin: 0;
}

/* Force content to be centered and constrained on large screens, simulating a mobile device */
.site {
    max-width: var(--max-mobile-width);
    margin: 0 auto;
    min-height: 100vh;
    background-color: white; /* Content background */
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

/* ------------------------------------------------------------------- */
/* FOOTER NAVIGATION (Fixed Position & Centering) */
/* ------------------------------------------------------------------- */

.footer-nav {
    position: fixed;
    bottom: 0;
    left: 50%; 
    /* Centers the element horizontally based on its own width */
    transform: translateX(-50%); 
    
    width: 100%;
    max-width: var(--max-mobile-width); /* Must match the content container width */
    height: 60px;
    z-index: 50; /* Ensure it stays above all content */
    
    backdrop-filter: blur(8px);
    background-color: rgba(255, 255, 255, 0.98);
    border-top: 1px solid #E5E7EB;
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.05);
    
    display: flex;
    align-items: center;
    justify-content: space-between; 
}

/* Container for the radial menu components */
#radial-menu-container {
    position: relative;
    height: 100%;
    width: 50%; 
    min-width: 160px; 
}

/* ------------------------------------------------------------------- */
/* HOME BUTTON (Radial Menu Trigger) */
/* ------------------------------------------------------------------- */

#home-button {
    position: absolute;
    left: 10px; /* Padding from the edge */
    top: 50%;
    transform: translateY(-50%);
    width: 60px; 
    height: 100%;
    padding-top: 4px;
    transition: transform 0.3s ease;
    cursor: pointer;
}

/* Profile Button Style on the far right */
.profile-button-item {
    width: 60px;
    height: 100%;
    padding-top: 4px;
    cursor: pointer;
}

/* ------------------------------------------------------------------- */
/* RADIAL MENU ITEMS (Hidden/Scaled by Default) */
/* ------------------------------------------------------------------- */

.radial-item {
    position: absolute;
    left: 10px; 
    top: 50%;
    
    width: 60px; 
    height: 60px;
    
    transform: translateY(-50%) scale(0); /* Hidden and scaled down initially */
    opacity: 0;
    pointer-events: none; /* Disable interaction when hidden */
    cursor: pointer;
    
    /* Visual styles */
    background-color: white;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 10;
    border: 2px solid #F3F4F6;
    
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Springy transition */
}
.radial-item span {
    font-size: 0.6rem; 
    margin-top: 2px;
    font-weight: 600;
}

/* ------------------------------------------------------------------- */
/* ACTIVE STATE: Positioning for 8 Radial Buttons in a steep fan arc */
/* ------------------------------------------------------------------- */
#radial-menu-container.active #home-button {
    transform: translateY(-50%) rotate(45deg); 
}

/* 1. Sports */
#radial-menu-container.active #sports-radial {
    opacity: 1;
    pointer-events: auto;
    transform: translate(90px, -30px) scale(1);
    transition-delay: 0.05s;
}

/* 2. Tech */
#radial-menu-container.active #tech-radial {
    opacity: 1;
    pointer-events: auto;
    transform: translate(150px, -80px) scale(1);
    transition-delay: 0.10s;
}

/* 3. Trending */
#radial-menu-container.active #trending-radial {
    opacity: 1;
    pointer-events: auto;
    transform: translate(180px, -150px) scale(1);
    transition-delay: 0.15s;
}

/* 4. Business */
#radial-menu-container.active #business-radial {
    opacity: 1;
    pointer-events: auto;
    transform: translate(190px, -230px) scale(1);
    transition-delay: 0.20s;
}

/* 5. Lifestyle */
#radial-menu-container.active #lifestyle-radial {
    opacity: 1;
    pointer-events: auto;
    transform: translate(180px, -320px) scale(1);
    transition-delay: 0.25s;
}

/* 6. World */
#radial-menu-container.active #world-radial {
    opacity: 1;
    pointer-events: auto;
    transform: translate(150px, -420px) scale(1);
    transition-delay: 0.30s;
}

/* 7. Opinion */
#radial-menu-container.active #opinion-radial {
    opacity: 1;
    pointer-events: auto;
    transform: translate(90px, -500px) scale(1);
    transition-delay: 0.35s;
}

/* 8. Health */
#radial-menu-container.active #health-radial {
    opacity: 1;
    pointer-events: auto;
    transform: translate(10px, -570px) scale(1);
    transition-delay: 0.40s;
}