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

:root {
    --val-red: #FF4655;
    --val-dark: #0F1923;
    --val-darker: #0A1018;
    --val-light: #ECE8E1;
    --val-cyan: #17DEE6;
}

body {
    font-family: 'Rajdhani', sans-serif;
    background: var(--val-dark);
    color: var(--val-light);
    min-height: 100vh;
    overflow-x: hidden;
}

/* Header */
.header {
    background: linear-gradient(180deg, var(--val-darker) 0%, transparent 100%);
    padding: 20px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
}

.logo {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 4px;
    color: var(--val-red);
    text-transform: uppercase;
}

.logo span {
    color: var(--val-light);
}

.nav-links {
    display: flex;
    gap: 30px;
}

.nav-link {
    color: var(--val-light);
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 10px 20px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
}

.nav-link:hover, .nav-link.active {
    border-color: var(--val-red);
    color: var(--val-red);
}

/* Main Container */
.main-container {
    padding-top: 100px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Home Screen */
.home-screen {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 100px);
    text-align: center;
    padding: 40px;
}

.home-screen h1 {
    font-size: 72px;
    font-weight: 700;
    letter-spacing: 8px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.home-screen h1 span {
    color: var(--val-red);
}

.home-screen p {
    font-size: 20px;
    color: rgba(236, 232, 225, 0.7);
    margin-bottom: 60px;
    letter-spacing: 2px;
}

.mode-select {
    display: flex;
    gap: 40px;
}

.mode-card {
    background: linear-gradient(145deg, rgba(15, 25, 35, 0.9), rgba(10, 16, 24, 0.95));
    border: 2px solid rgba(255, 70, 85, 0.3);
    padding: 40px;
    width: 300px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.mode-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--val-red);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.mode-card:hover {
    border-color: var(--val-red);
    transform: translateY(-5px);
    box-shadow: 0 10px 40px rgba(255, 70, 85, 0.2);
}

.mode-card:hover::before {
    transform: scaleX(1);
}

.mode-card h3 {
    font-size: 24px;
    letter-spacing: 3px;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.mode-card p {
    font-size: 14px;
    color: rgba(236, 232, 225, 0.6);
    margin-bottom: 0;
}

.mode-icon {
    font-size: 48px;
    margin-bottom: 20px;
    color: var(--val-red);
}

/* Test Screens */
.test-screen {
    display: none;
    width: 100%;
    min-height: calc(100vh - 100px);
    flex-direction: column;
    align-items: center;
    padding: 40px;
}

.test-screen.active {
    display: flex;
}

.test-header {
    text-align: center;
    margin-bottom: 30px;
}

.test-header h2 {
    font-size: 36px;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.test-header p {
    color: rgba(236, 232, 225, 0.6);
    font-size: 16px;
}

/* Minimal Map */
.ascent-map {
    width: 900px;
    height: 550px;
    position: relative;
    cursor: crosshair;
    overflow: hidden;
    border: 2px solid #333;
    background: linear-gradient(180deg, #87CEEB 0%, #B0E0E6 100%);
}

/* Back wall */
.map-back-wall {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 55%;
    background: linear-gradient(180deg, #8B7355 0%, #A0926D 50%, #B8A882 100%);
    z-index: 1;
}

/* Wall texture */
.map-back-wall::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 148px,
            rgba(0,0,0,0.1) 148px,
            rgba(0,0,0,0.1) 150px
        ),
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 98px,
            rgba(0,0,0,0.08) 98px,
            rgba(0,0,0,0.08) 100px
        );
}

/* Wall bottom edge */
.map-back-wall::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(180deg, #6B5344 0%, #4A3728 100%);
}

/* Floor */
.map-ground {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 45%;
    background: linear-gradient(180deg, #9A8A7A 0%, #7A6A5A 100%);
    z-index: 2;
}

/* Floor tiles pattern */
.map-ground::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 88px,
            rgba(0,0,0,0.15) 88px,
            rgba(0,0,0,0.15) 90px
        ),
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 58px,
            rgba(0,0,0,0.1) 58px,
            rgba(0,0,0,0.1) 60px
        );
}

/* Floor shadow at wall */
.map-ground::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 30px;
    background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, transparent 100%);
}

/* Left side decoration - pillar (hidden) */
.wall-bg {
    display: none;
}

/* Arched window on wall */
.wall-window {
    position: absolute;
    left: 60px;
    top: 40px;
    width: 100px;
    height: 140px;
    background: linear-gradient(180deg, #4A6B8A 0%, #2A4A6A 100%);
    border: 6px solid #6A5A4A;
    border-radius: 50px 50px 0 0;
    z-index: 2;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}

/* Window light reflection */
.wall-window::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 10px;
    width: 25px;
    height: 40px;
    background: rgba(255,255,255,0.15);
    border-radius: 20px 20px 0 0;
    transform: skewX(-5deg);
}

/* Window divider */
.wall-window::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 6px;
    height: 100%;
    background: #6A5A4A;
    transform: translateX(-50%);
}

/* Wall lamp */
.wall-lamp {
    position: absolute;
    right: 120px;
    top: 60px;
    width: 30px;
    height: 35px;
    z-index: 3;
}

/* Lamp bracket */
.wall-lamp::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    height: 15px;
    background: #3A3A3A;
    border-radius: 2px;
}

/* Lamp shade */
.wall-lamp::after {
    content: '';
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 20px;
    background: linear-gradient(180deg, #D4C4A4 0%, #B4A484 100%);
    clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%);
    box-shadow: 0 5px 20px rgba(255,200,100,0.3);
}

/* Bullet holes on wall */
.bullet-holes {
    position: absolute;
    left: 200px;
    top: 80px;
    width: 60px;
    height: 80px;
    z-index: 2;
}

.bullet-holes-right {
    position: absolute;
    right: 80px;
    top: 120px;
    width: 60px;
    height: 80px;
    z-index: 2;
}

.bullet-hole {
    position: absolute;
    width: 10px;
    height: 10px;
    background: radial-gradient(ellipse at 30% 30%, #1A1A1A 20%, #3A3A2A 50%, transparent 70%);
    clip-path: polygon(50% 0%, 100% 35%, 80% 100%, 20% 100%, 0% 35%);
}

.bullet-hole::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: radial-gradient(ellipse, transparent 40%, rgba(60,50,40,0.5) 70%, transparent 100%);
}

.bullet-hole:nth-child(1) { top: 10px; left: 5px; transform: rotate(15deg); }
.bullet-hole:nth-child(2) { top: 25px; left: 30px; width: 7px; height: 7px; transform: rotate(-20deg); }
.bullet-hole:nth-child(3) { top: 45px; left: 15px; transform: rotate(45deg); }
.bullet-hole:nth-child(4) { top: 60px; left: 40px; width: 9px; height: 9px; transform: rotate(-10deg); }
.bullet-hole:nth-child(5) { top: 35px; left: 50px; width: 6px; height: 6px; transform: rotate(30deg); }

/* Pipe on right wall */
.wall-pipe {
    position: absolute;
    right: 40px;
    top: 0;
    width: 12px;
    height: 55%;
    background: linear-gradient(90deg, #5A5A5A 0%, #7A7A7A 40%, #6A6A6A 60%, #4A4A4A 100%);
    z-index: 2;
}

.wall-pipe::before {
    content: '';
    position: absolute;
    bottom: -20px;
    left: -4px;
    width: 20px;
    height: 20px;
    background: linear-gradient(90deg, #4A4A4A 0%, #6A6A6A 50%, #3A3A3A 100%);
    border-radius: 0 0 5px 5px;
}

/* Ventilation grate */
.wall-vent {
    position: absolute;
    right: 200px;
    top: 250px;
    width: 50px;
    height: 35px;
    background: #3A3A3A;
    border: 3px solid #2A2A2A;
    z-index: 2;
}

.wall-vent::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    background: repeating-linear-gradient(
        0deg,
        #2A2A2A,
        #2A2A2A 3px,
        #1A1A1A 3px,
        #1A1A1A 6px
    );
}

/* Ground debris/sand pile */
.ground-debris {
    position: absolute;
    left: 500px;
    bottom: 0;
    width: 120px;
    height: 25px;
    background: linear-gradient(180deg, #8A7A6A 0%, #7A6A5A 100%);
    border-radius: 50% 50% 0 0;
    z-index: 3;
}

.ground-debris::before {
    content: '';
    position: absolute;
    left: -30px;
    bottom: 0;
    width: 50px;
    height: 15px;
    background: linear-gradient(180deg, #7A6A5A 0%, #6A5A4A 100%);
    border-radius: 50% 50% 0 0;
}

/* Cover box - main front face */
.peek-box {
    position: absolute;
    left: 280px;
    top: 140px;
    width: 130px;
    height: 235px;
    background: linear-gradient(180deg, #B8956A 0%, #8B6914 50%, #6B4423 100%);
    z-index: 10;
    border: 3px solid #4A3728;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.4);
}

/* Wood grain and detail */
.peek-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 25px,
            rgba(0,0,0,0.08) 25px,
            rgba(0,0,0,0.08) 27px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 62px,
            rgba(0,0,0,0.15) 62px,
            rgba(0,0,0,0.15) 65px
        );
}

/* Box top surface - disabled for cleaner look */
.peek-box::after {
    display: none;
}

/* Box right side */
.peek-box-side {
    position: absolute;
    left: 407px;
    top: 140px;
    width: 28px;
    height: 235px;
    background: linear-gradient(90deg, #6B4423 0%, #4A3020 100%);
    z-index: 9;
    border: 3px solid #4A3728;
    border-left: none;
}

.peek-box-side::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 25px,
        rgba(0,0,0,0.1) 25px,
        rgba(0,0,0,0.1) 27px
    );
}

/* Small crate on the right - hidden */
.map-sky {
    display: none;
}

/* Barrel decoration - hidden */
.map-distant {
    display: none;
}

/* Ground line detail */
.map-ground-overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 302px;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #5A4A3A 10%, #5A4A3A 90%, transparent 100%);
    z-index: 3;
}

/* Hide box-shadow element */
.box-shadow {
    display: none;
}

/* Enemy container */
.enemy-container {
    position: absolute;
    left: 415px;
    top: 140px;
    width: 200px;
    height: 250px;
    z-index: 8;
    overflow: visible;
}

/* Enemy silhouette */
.enemy {
    position: absolute;
    left: -95px;
    top: 30px;
    width: 80px;
    height: 180px;
    transform: translateX(0);
    transition: transform 0.18s linear;
}

.enemy.peeking {
    transform: translateX(105px);
}

/* Enemy body parts - simple dark silhouette */
.enemy-head {
    width: 36px;
    height: 40px;
    background: #222;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
}

/* Red indicator on head */
.enemy-head::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background: #e63946;
    border-radius: 50%;
}

.enemy-body {
    width: 44px;
    height: 80px;
    background: #222;
    margin: 4px auto 0;
    border-radius: 4px 4px 0 0;
    position: relative;
}

.enemy-body::before {
    display: none;
}

.enemy-legs {
    display: flex;
    justify-content: center;
    gap: 6px;
}

.enemy-leg {
    width: 16px;
    height: 50px;
    background: #222;
    border-radius: 0 0 4px 4px;
    border: none;
}

.enemy-arm {
    position: absolute;
    width: 14px;
    height: 50px;
    background: #222;
    top: 48px;
    border-radius: 4px;
    border: none;
}

.enemy-arm.left {
    left: 2px;
    transform: rotate(20deg);
}

.enemy-arm.right {
    right: 0;
    transform: rotate(-35deg);
}

.enemy-gun {
    position: absolute;
    right: -25px;
    top: 55px;
    width: 45px;
    height: 10px;
    background: #222;
    border-radius: 2px;
    transform: rotate(-8deg);
}

.enemy-gun::before {
    content: '';
    position: absolute;
    left: -3px;
    top: -8px;
    width: 18px;
    height: 22px;
    background: #222;
    border-radius: 2px;
}

/* Crosshair */
.crosshair {
    position: fixed;
    pointer-events: none;
    z-index: 1000;
    display: none;
}

.crosshair-line {
    position: absolute;
    background: #00ff00;
}

.crosshair-line.horizontal {
    width: 10px;
    height: 2px;
    top: 50%;
    transform: translateY(-50%);
}

.crosshair-line.horizontal.left {
    right: 8px;
}

.crosshair-line.horizontal.right {
    left: 8px;
}

.crosshair-line.vertical {
    width: 2px;
    height: 10px;
    left: 50%;
    transform: translateX(-50%);
}

.crosshair-line.vertical.top {
    bottom: 8px;
}

.crosshair-line.vertical.bottom {
    top: 8px;
}

.crosshair-dot {
    position: absolute;
    width: 4px;
    height: 4px;
    background: #00ff00;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Overlay messages */
.map-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 16, 24, 0.85);
    z-index: 20;
    cursor: pointer;
}

.map-overlay.hidden {
    display: none;
}

.overlay-text {
    font-size: 32px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.5;
    white-space: pre-line;
}

.overlay-text.error {
    color: #ef4444;
}

.overlay-text.success {
    color: #4ade80;
}

.overlay-time {
    font-size: 72px;
    font-weight: 700;
    color: var(--val-cyan);
    text-shadow: 0 0 20px rgba(23, 222, 230, 0.5);
    margin-bottom: 10px;
}

.overlay-round {
    font-size: 18px;
    font-weight: 500;
    color: rgba(236, 232, 225, 0.7);
    letter-spacing: 3px;
    margin-bottom: 15px;
}

.overlay-continue {
    font-size: 14px;
    font-weight: 400;
    color: rgba(236, 232, 225, 0.5);
    letter-spacing: 2px;
}

.overlay-error {
    font-size: 36px;
    font-weight: 700;
    color: var(--val-red);
    text-shadow: 0 0 20px rgba(255, 70, 85, 0.5);
    margin-bottom: 15px;
}

.overlay-rank {
    font-size: 48px;
    font-weight: 700;
    letter-spacing: 4px;
    margin: 15px 0;
}

/* Kill indicator */
.kill-indicator {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 48px;
    font-weight: 700;
    color: var(--val-red);
    opacity: 0;
    z-index: 25;
    text-shadow: 0 0 20px rgba(255, 70, 85, 0.8);
    pointer-events: none;
}

.kill-indicator.show {
    animation: killPop 0.5s ease-out forwards;
}

@keyframes killPop {
    0% { opacity: 0; transform: translateX(-50%) scale(0.5); }
    50% { opacity: 1; transform: translateX(-50%) scale(1.2); }
    100% { opacity: 0; transform: translateX(-50%) scale(1) translateY(-20px); }
}

/* Map info */
.map-info {
    position: absolute;
    bottom: 15px;
    left: 15px;
    background: rgba(10, 16, 24, 0.8);
    padding: 8px 15px;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    z-index: 15;
    border-left: 3px solid var(--val-red);
}

/* Results */
.results-panel {
    margin-top: 30px;
    display: flex;
    gap: 40px;
    align-items: center;
}

.result-box {
    background: rgba(15, 25, 35, 0.8);
    border: 2px solid rgba(255, 70, 85, 0.3);
    padding: 20px 40px;
    text-align: center;
}

.result-box.highlight {
    border-color: var(--val-red);
    background: rgba(255, 70, 85, 0.1);
}

.result-label {
    font-size: 12px;
    letter-spacing: 2px;
    color: rgba(236, 232, 225, 0.6);
    text-transform: uppercase;
    margin-bottom: 5px;
}

.result-value {
    font-size: 36px;
    font-weight: 700;
    color: var(--val-red);
}

.result-value span {
    font-size: 16px;
    color: rgba(236, 232, 225, 0.6);
}

/* Buttons */
.btn {
    background: transparent;
    border: 2px solid var(--val-red);
    color: var(--val-light);
    padding: 15px 40px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 20px;
}

.btn:hover {
    background: var(--val-red);
    box-shadow: 0 0 30px rgba(255, 70, 85, 0.4);
}

.btn-secondary {
    border-color: rgba(236, 232, 225, 0.3);
}

.btn-secondary:hover {
    background: rgba(236, 232, 225, 0.1);
    border-color: var(--val-light);
    box-shadow: none;
}

/* Stats Display */
.stats-container {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.stat-item {
    background: rgba(15, 25, 35, 0.6);
    padding: 15px 25px;
    border-left: 3px solid var(--val-red);
}

.stat-label {
    font-size: 11px;
    letter-spacing: 2px;
    color: rgba(236, 232, 225, 0.5);
    text-transform: uppercase;
}

.stat-value {
    font-size: 24px;
    font-weight: 700;
}

/* History */
.history-container {
    margin-top: 30px;
    width: 100%;
    max-width: 900px;
}

.history-title {
    font-size: 14px;
    letter-spacing: 2px;
    color: rgba(236, 232, 225, 0.5);
    text-transform: uppercase;
    margin-bottom: 15px;
}

.history-bars {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 100px;
    padding: 10px;
    background: rgba(10, 16, 24, 0.5);
    border: 1px solid rgba(255, 70, 85, 0.2);
}

.history-bar {
    flex: 1;
    background: var(--val-red);
    min-height: 5px;
    position: relative;
    transition: height 0.3s ease;
}

.history-bar:hover::after {
    content: attr(data-time);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: var(--val-darker);
    padding: 5px 10px;
    font-size: 12px;
    white-space: nowrap;
    border: 1px solid var(--val-red);
}

/* Rank Display */
.rank-display {
    margin-top: 30px;
    text-align: center;
    padding: 30px;
    background: linear-gradient(145deg, rgba(15, 25, 35, 0.9), rgba(10, 16, 24, 0.95));
    border: 2px solid rgba(255, 70, 85, 0.3);
}

.rank-title {
    font-size: 14px;
    letter-spacing: 3px;
    color: rgba(236, 232, 225, 0.5);
    text-transform: uppercase;
    margin-bottom: 15px;
}

.rank-name {
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.rank-description {
    font-size: 14px;
    color: rgba(236, 232, 225, 0.6);
}

/* Decorative Elements */
.corner-decoration {
    position: fixed;
    width: 100px;
    height: 100px;
    border: 2px solid rgba(255, 70, 85, 0.2);
    pointer-events: none;
}

.corner-decoration.top-left {
    top: 20px;
    left: 20px;
    border-right: none;
    border-bottom: none;
}

.corner-decoration.top-right {
    top: 20px;
    right: 20px;
    border-left: none;
    border-bottom: none;
}

.corner-decoration.bottom-left {
    bottom: 20px;
    left: 20px;
    border-right: none;
    border-top: none;
}

.corner-decoration.bottom-right {
    bottom: 20px;
    right: 20px;
    border-left: none;
    border-top: none;
}

/* Aim Test Area */
.aim-test-area {
    width: 900px;
    height: 550px;
    background: var(--val-darker);
    border: 3px solid rgba(255, 70, 85, 0.3);
    position: relative;
    cursor: crosshair;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aim-start-text {
    font-size: 32px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    text-align: center;
    color: var(--val-light);
    pointer-events: none;
}

.aim-test-area::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255, 70, 85, 0.1);
}

.aim-test-area::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255, 70, 85, 0.1);
}

.target {
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--val-red) 0%, var(--val-red) 30%, transparent 31%, transparent 50%, var(--val-red) 51%, var(--val-red) 60%, transparent 61%);
    transform: translate(-50%, -50%);
    cursor: crosshair;
    animation: targetPulse 0.5s ease-in-out infinite alternate;
}

@keyframes targetPulse {
    from { transform: translate(-50%, -50%) scale(1); }
    to { transform: translate(-50%, -50%) scale(1.1); }
}

.target-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: var(--val-red);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

/* Target destroy animation */
.target-destroy {
    animation: none !important;
}

.target-fragment {
    position: absolute;
    width: 12px;
    height: 12px;
    background: var(--val-red);
    border-radius: 2px;
    pointer-events: none;
}

.target-fragment.frag-1 { animation: fragmentFly1 0.4s ease-out forwards; }
.target-fragment.frag-2 { animation: fragmentFly2 0.4s ease-out forwards; }
.target-fragment.frag-3 { animation: fragmentFly3 0.4s ease-out forwards; }
.target-fragment.frag-4 { animation: fragmentFly4 0.4s ease-out forwards; }
.target-fragment.frag-5 { animation: fragmentFly5 0.4s ease-out forwards; }
.target-fragment.frag-6 { animation: fragmentFly6 0.4s ease-out forwards; }
.target-fragment.frag-7 { animation: fragmentFly7 0.4s ease-out forwards; }
.target-fragment.frag-8 { animation: fragmentFly8 0.4s ease-out forwards; }

@keyframes fragmentFly1 {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(calc(-50% - 40px), calc(-50% - 50px)) scale(0.3) rotate(180deg); opacity: 0; }
}
@keyframes fragmentFly2 {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(calc(-50% + 45px), calc(-50% - 45px)) scale(0.3) rotate(-150deg); opacity: 0; }
}
@keyframes fragmentFly3 {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(calc(-50% + 55px), calc(-50% + 20px)) scale(0.3) rotate(120deg); opacity: 0; }
}
@keyframes fragmentFly4 {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(calc(-50% + 35px), calc(-50% + 50px)) scale(0.3) rotate(-90deg); opacity: 0; }
}
@keyframes fragmentFly5 {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(calc(-50% - 30px), calc(-50% + 55px)) scale(0.3) rotate(200deg); opacity: 0; }
}
@keyframes fragmentFly6 {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(calc(-50% - 50px), calc(-50% + 15px)) scale(0.3) rotate(-220deg); opacity: 0; }
}
@keyframes fragmentFly7 {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(calc(-50% - 25px), calc(-50% - 35px)) scale(0.3) rotate(90deg); opacity: 0; }
}
@keyframes fragmentFly8 {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(calc(-50% + 20px), calc(-50% - 55px)) scale(0.3) rotate(-60deg); opacity: 0; }
}

/* Settings */
.settings-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(15, 25, 35, 0.8);
    border: 2px solid rgba(255, 70, 85, 0.3);
    color: var(--val-light);
    width: 40px;
    height: 40px;
    font-size: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 25;
    display: flex;
    align-items: center;
    justify-content: center;
}

.settings-btn:hover {
    border-color: var(--val-red);
    color: var(--val-red);
}

.settings-panel {
    position: absolute;
    top: 60px;
    right: 10px;
    background: rgba(10, 16, 24, 0.95);
    border: 2px solid rgba(255, 70, 85, 0.3);
    padding: 20px;
    z-index: 25;
    display: none;
    min-width: 200px;
}

.settings-panel.show {
    display: block;
}

.settings-title {
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 15px;
    color: var(--val-red);
}

.setting-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.setting-label {
    font-size: 14px;
    letter-spacing: 1px;
}

.toggle-switch {
    position: relative;
    width: 50px;
    height: 26px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 13px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.toggle-switch.active {
    background: var(--val-red);
}

.toggle-switch::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    background: var(--val-light);
    border-radius: 50%;
    transition: transform 0.3s ease;
}

.toggle-switch.active::after {
    transform: translateX(24px);
}

.click-test-text {
    font-size: 32px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    text-align: center;
}

/* Responsive */
@media (max-width: 1000px) {
    .ascent-map, .aim-test-area {
        width: 100%;
        max-width: 700px;
    }

    .mode-select {
        flex-direction: column;
    }

    .home-screen h1 {
        font-size: 48px;
    }
}
