/**
 * Shared Euromaja “Landlord / Arcade” shell for mini-games.
 * Add: class "eu-game-theme" on <body>, optional "eu-game-root" on <html>.
 * Back control: <a class="eu-back-link" href="..." data-arcade-back>Back</a>
 */
:root {
    --eu-bg: linear-gradient(100deg, #0c4a5c 0%, #0d3d5c 22%, #1a3080 55%, #4c1d95 82%, #581c87 100%);
    --eu-text: #f0f9ff;
    --eu-accent: #5effd4;
    --eu-accent-mid: #38bdf8;
    --eu-glass: rgba(255, 255, 255, 0.1);
    --eu-glass-border: rgba(255, 255, 255, 0.22);
    --eu-btn-primary: linear-gradient(135deg, #00c896 0%, #0096e0 100%);
    --eu-btn-primary-hover: linear-gradient(135deg, #00d4a3 0%, #1aa8ff 100%);
    --eu-back-top: max(12px, env(safe-area-inset-top));
    --eu-back-left: max(14px, env(safe-area-inset-left));
}

html.eu-game-root {
    height: 100%;
    background: #0a1628;
}

body.eu-game-theme {
    font-family: 'Nunito', system-ui, -apple-system, sans-serif;
    background: var(--eu-bg);
    background-attachment: fixed;
    color: var(--eu-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.eu-game-theme.theme-warm {
    background: linear-gradient(100deg, #3d1818 0%, #4a2040 35%, #4c1d78 65%, #581c60 100%);
}

/* Ambient blobs (match arcade / landlord menu) */
.eu-blobs {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.eu-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.34;
    animation: euBlobFloat linear infinite;
}

.eu-blob-1 {
    width: min(520px, 120vw);
    height: min(520px, 120vw);
    background: radial-gradient(circle, #00c896, #007a5a);
    top: -120px;
    left: -100px;
    animation-duration: 18s;
}

.eu-blob-2 {
    width: min(400px, 90vw);
    height: min(400px, 90vw);
    background: radial-gradient(circle, #0096ff, #003f8a);
    bottom: -80px;
    right: -80px;
    animation-duration: 22s;
    animation-delay: -7s;
}

.eu-blob-3 {
    width: min(300px, 70vw);
    height: min(300px, 70vw);
    background: radial-gradient(circle, #a855f7, #5b21b6);
    top: 48%;
    left: 55%;
    animation-duration: 26s;
    animation-delay: -13s;
}

.eu-blob-4 {
    width: min(220px, 55vw);
    height: min(220px, 55vw);
    background: radial-gradient(circle, #f97316, #92400e);
    top: 18%;
    right: 12%;
    animation-duration: 20s;
    animation-delay: -4s;
}

@keyframes euBlobFloat {
    0%   { transform: translate(0, 0) scale(1); }
    25%  { transform: translate(30px, -40px) scale(1.05); }
    50%  { transform: translate(-20px, 30px) scale(0.95); }
    75%  { transform: translate(40px, 20px) scale(1.03); }
    100% { transform: translate(0, 0) scale(1); }
}

/* Oval / pill back control (arcade / landlord style) */
a.eu-back-link {
    position: fixed;
    top: var(--eu-back-top);
    left: var(--eu-back-left);
    z-index: 100000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.95);
    border-radius: 99px;
    border: 1px solid var(--eu-glass-border);
    background: var(--eu-glass);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

a.eu-back-link:hover {
    color: #fff;
    border-color: rgba(94, 255, 212, 0.55);
    background: rgba(255, 255, 255, 0.18);
    transform: translateY(-1px);
}

/* Hidden scrollbars for eu-game pages (nested overflow regions included) */
html.eu-game-root,
html.eu-game-root body,
body.eu-game-theme {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
html.eu-game-root::-webkit-scrollbar,
html.eu-game-root body::-webkit-scrollbar,
body.eu-game-theme::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}
html.eu-game-root *,
body.eu-game-theme * {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
html.eu-game-root *::-webkit-scrollbar,
html.eu-game-root *::-webkit-scrollbar-thumb,
html.eu-game-root *::-webkit-scrollbar-track,
body.eu-game-theme *::-webkit-scrollbar,
body.eu-game-theme *::-webkit-scrollbar-thumb,
body.eu-game-theme *::-webkit-scrollbar-track {
    width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    display: none !important;
    background: transparent !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
