/**
 * BOSS MWD — default ~90% visual scale at 100% browser zoom.
 * Root rem scaling + px token scaling (no zoom/transform hacks).
 */

:root {
    --boss-ui-scale: 0.9;
}

html {
    font-size: 90%;
}

/* Small screens: ease scaling for touch targets and readability */
@media (max-width: 768px) {
    html {
        font-size: 94%;
    }
}

@media (max-width: 480px) {
    html {
        font-size: 96%;
    }
}

/* Fixed px shell / nav (inline styles use px; scaled here as fallback) */
.site-shell {
    padding-top: calc(80px * var(--boss-ui-scale));
}

section[id],
footer {
    scroll-margin-top: calc(96px * var(--boss-ui-scale));
}

.logo {
    height: calc(60px * var(--boss-ui-scale));
}

.page-header {
    margin-top: calc(80px * var(--boss-ui-scale));
}

/* Shared layout containers — match 90% browser zoom rendered width */
.nav-container,
.hero-content,
.mission-container,
.footer-content,
.games-header-inner,
.games-container,
.members-section,
.glossary-lexicon-wrap,
.filter-container,
.products-section,
.resources-main,
.materials-list,
.rig-life-wrap,
.weather-page-main,
.member-hub,
.admin-wrap {
    max-width: calc(var(--container-max, 1400px) * var(--boss-ui-scale));
}

.nav-container,
.hero-content,
.mission-container,
.footer-content,
.games-header-inner,
.games-container,
.members-section,
.glossary-lexicon-wrap,
.filter-container,
.products-section {
    --container-max: 1400px;
}

.resources-main {
    --container-max: 1720px;
}

.materials-list {
    --container-max: 1200px;
}

body:has(.content-section) .nav-container,
.content-section,
body:has(.content-section) .footer-content {
    --container-max: 1620px;
}

.rig-life-wrap,
.weather-page-main {
    --container-max: 820px;
}

.weather-page-main {
    --container-max: 1040px;
}

.member-hub,
.admin-wrap {
    --container-max: 960px;
}

.hero-text p {
    max-width: calc(600px * var(--boss-ui-scale));
}

.mission-text {
    max-width: calc(800px * var(--boss-ui-scale));
}

.quality-content {
    max-width: calc(1000px * var(--boss-ui-scale));
}

.game-card.chess-game-card,
.game-card.xiangqi-game-card {
    max-width: calc(980px * var(--boss-ui-scale));
}

.game-card.wordle-game-card {
    max-width: calc(540px * var(--boss-ui-scale));
}

.game-card.game-2048-card {
    max-width: calc(520px * var(--boss-ui-scale));
}

#resources-resource-app-12,
#resources-resource-app-12.weather-export-root {
    max-width: calc(720px * var(--boss-ui-scale));
}

@media (min-width: 1600px) {
    .nav-container,
    .hero-content,
    .mission-container,
    .footer-content,
    .games-header-inner,
    .games-container,
    .glossary-lexicon-wrap,
    .filter-container,
    .products-section {
        --container-max: 1600px;
    }

    .resources-main {
        --container-max: 1720px;
    }
}

@media (min-width: 1920px) {
    .hero-content {
        --container-max: 1280px;
    }

    .mission-container {
        --container-max: 1180px;
    }
}

.service-close {
    top: calc(15px * var(--boss-ui-scale));
    right: calc(15px * var(--boss-ui-scale));
    width: calc(40px * var(--boss-ui-scale));
    height: calc(40px * var(--boss-ui-scale));
    font-size: calc(24px * var(--boss-ui-scale));
}

@media (max-width: 600px) {
    .service-close {
        top: calc(10px * var(--boss-ui-scale));
        right: calc(10px * var(--boss-ui-scale));
        width: calc(35px * var(--boss-ui-scale));
        height: calc(35px * var(--boss-ui-scale));
        font-size: calc(20px * var(--boss-ui-scale));
    }
}

/* Mobile nav touch targets — do not shrink below ~44px */
@media (max-width: 968px) {
    .nav-burger,
    label.nav-burger {
        min-width: 44px;
        min-height: 44px;
    }

    .client-login-btn,
    .cta-button {
        min-height: 44px;
    }
}
