* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #0a0a0a;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    font-family: 'Courier New', monospace;
    color: #ffffff;
    overflow: hidden;
    touch-action: none;
}

.game-container {
    position: relative;
    width: 480px;
    height: 720px;
}

#game {
    background-color: #000011;
    display: block;
    border: 4px solid #333;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
    touch-action: none;
}

.hud-overlay {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 10;
    pointer-events: none;
}

.hud-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.hud-label {
    font-size: 14px;
    font-weight: bold;
    color: #ffcc00;
    text-shadow: 2px 2px 0 #000;
}

.hud-value {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-shadow: 2px 2px 0 #000;
    min-width: 60px;
}

#hp {
    color: #00ff00;
}

#score {
    color: #ffff00;
}

#level {
    color: #00ccff;
}

#touch-ui {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    z-index: 999;
    touch-action: none;
}

.touch-cluster {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.touch-left {
    left: 18px;
    bottom: 22px;
}

.touch-right {
    right: 18px;
    bottom: 22px;
    align-items: flex-end;
}

.touch-row {
    display: flex;
    gap: 10px;
    align-items: center;
}

.touch-btn {
    width: clamp(64px, 9vw, 84px);
    height: clamp(64px, 9vw, 84px);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.26);
    border: 2px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 0.5px;
    pointer-events: auto;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.touch-btn.touch-fire {
    border-radius: 999px;
    width: clamp(74px, 11vw, 96px);
    height: clamp(74px, 11vw, 96px);
    background: rgba(0, 220, 255, 0.24);
    border-color: rgba(0, 220, 255, 0.25);
}

.touch-btn.pressed {
    opacity: 0.85;
    background: rgba(255, 255, 255, 0.52);
    box-shadow: 0 0 18px rgba(0, 220, 255, 0.35);
}

.touch-btn.touch-fire.pressed {
    background: rgba(0, 220, 255, 0.48);
    box-shadow: 0 0 22px rgba(0, 220, 255, 0.55);
}
