/* ===== Battle of Heroes — Stylesheet ===== */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
    width: 100%; height: 100%;
    overflow: hidden;
    background: #1a1410;
    font-family: 'Trebuchet MS', 'Segoe UI', sans-serif;
    color: #fff;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: none;
}

#game-root {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(ellipse at center, #2c1810 0%, #0a0604 100%);
}

#game {
    display: block;
    background: #87CEEB;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    box-shadow: 0 8px 32px rgba(0,0,0,0.6);
    border-radius: 4px;
    cursor: default;
}

/* Loading screen */
#loading {
    position: fixed;
    inset: 0;
    background: linear-gradient(180deg, #2c5282 0%, #1a365d 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    transition: opacity 0.5s;
}
#loading.hidden { opacity: 0; pointer-events: none; }
.loading-inner { text-align: center; padding: 20px; }
.loading-inner h1 {
    font-size: clamp(32px, 7vw, 64px);
    color: #ffd700;
    text-shadow: 3px 3px 0 #8b4513, 5px 5px 10px rgba(0,0,0,0.5);
    letter-spacing: 3px;
    margin-bottom: 30px;
    font-weight: 900;
}
.loading-bar-bg {
    width: clamp(200px, 60vw, 400px);
    height: 24px;
    background: rgba(0,0,0,0.4);
    border: 2px solid #ffd700;
    border-radius: 12px;
    overflow: hidden;
    margin: 0 auto;
}
.loading-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #4ade80, #22c55e);
    transition: width 0.2s;
}
#loading-text {
    margin-top: 16px;
    color: #fef3c7;
    font-size: 16px;
}

/* HUD overlay (currently unused, reserved for future native DOM elements) */
#hud-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 10;
}

/* Disable text selection in canvas area */
#game::selection { background: transparent; }
