/* Fullscreen Toggle Button */
.fullscreen-btn {
    position: fixed;
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
    background: rgba(10, 10, 26, 0.85);
    border: 2px solid rgba(255, 215, 0, 0.5);
    border-radius: 10px;
    color: #ffd700;
    cursor: pointer;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.2s;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    padding: 0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.fullscreen-btn:hover {
    background: rgba(10, 10, 26, 0.95);
    color: #fff;
    border-color: #ffd700;
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.3);
    transform: scale(1.05);
}

.fullscreen-btn:focus-visible {
    outline: 2px solid #ffd700;
    outline-offset: 2px;
}

.fullscreen-btn svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

/* Hide exit icon by default, show enter icon */
.fullscreen-btn .fs-exit-icon {
    display: none;
}

body.fullscreen-active .fullscreen-btn .fs-enter-icon {
    display: none;
}

body.fullscreen-active .fullscreen-btn .fs-exit-icon {
    display: block;
}

/* Fullscreen Active State */
body.fullscreen-active header,
body.fullscreen-active footer,
body.fullscreen-active article.game-content,
body.fullscreen-active .game-content,
body.fullscreen-active .bg-effects,
body.fullscreen-active .help,
body.fullscreen-active .instructions,
body.fullscreen-active .tip-box,
body.fullscreen-active .lotto-info,
body.fullscreen-active .history-section,
body.fullscreen-active .subtitle {
    display: none !important;
}

body.fullscreen-active .container {
    max-width: 100% !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding: 8px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: auto !important;
}

body.fullscreen-active {
    overflow: hidden !important;
}

/* === Shared: Focus-visible for keyboard navigation === */
button:focus-visible,
a:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid #ffd700;
    outline-offset: 2px;
}

/* === Shared: Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
