* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body, html { height: 100%; background: rgba(255, 255, 255, 0.5); overflow: hidden; font-family: 'Inter', sans-serif; }

.main-wrapper {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; height: 60vh; text-align: center; padding: 20px;
}

#logo { width: 250px; opacity: 0; margin-bottom: 20px; transform: translateY(-20px); }
.headline { font-size: clamp(1.8rem, 6vw, 3.5rem); line-height: 1.1; margin-bottom: 30px; color: #111; opacity: 0; }
.headline span { color: #aaa; }

.cta-btn {
    padding: 18px 45px; background: #000; color: #fff;
    text-decoration: none; border-radius: 50px; font-weight: bold;
    display: inline-block; transition: 0.3s; opacity: 0;
}
.cta-btn:hover { background: #ff6600; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(255,102,0,0.2); }

#game-container { position: fixed; bottom: 0; width: 100%; height: 300px; background: transparent; border-top: 1px solid #eee; }
#score-board { position: absolute; top: 20px; right: 30px; font-size: 1.5rem; font-family: monospace; color: #444; }

#game-overlay { 
    position: absolute; top: 45%; left: 50%; transform: translate(-50%, -50%); 
    text-align: center; z-index: 10; width: 100%;
}
#game-overlay h2 { font-size: 1.8rem; letter-spacing: 2px; color: #000; margin-bottom: 10px; }
#game-overlay p { color: #888; font-size: 0.9rem; text-transform: uppercase; }

canvas { display: block; width: 100%; height: 100%; }
/* Custom Cursor Styling */
* { cursor: none !important; }

.cursor-dot {
    width: 6px; height: 6px; background: #000;
    position: fixed; border-radius: 50%; pointer-events: none; z-index: 9999;
}
.cursor-ring {
    width: 30px; height: 30px; border: 1.5px solid #ff6600;
    position: fixed; border-radius: 50%; pointer-events: none; z-index: 9998;
}

/* Background Elements Styling */
.creative-bg {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    z-index: -2; background: #fdfdfd; overflow: hidden;
}

.shape {
    position: absolute; border: 2.5px solid #ff5e0041; border-radius: 50%;
    pointer-events: none;
}

/* Specific Sizes/Positions */
.s1 { width: 450px; height: 450px; top: -10%; left: -5%; }
.s2 { width: 300px; height: 300px; bottom: 15%; right: 5%; }
.s3 { width: 150px; height: 150px; top: 20%; right: 20%; border-style: dashed; }

.floating-brand-text {
    position: absolute; top: 30%; left: 50%; transform: translate(-50%, -50%);
    font-size: 15vw; font-weight: 900; color: rgba(255, 115, 0, 0.041);
    white-space: nowrap; pointer-events: none; user-select: none;
    padding-top: 900px;
}
/* --- Global Responsive Layout --- */
html, body {
    width: 100%;
    height: 100%;
    position: fixed; /* Prevents "pull-to-refresh" on mobile */
    overflow: hidden;
}

/* --- Mobile Specific Tweaks --- */
@media (max-width: 768px) {
    /* Hide custom cursor on touch devices */
    .cursor-dot, .cursor-ring {
        display: none !important;
    }
    
    /* Re-enable default cursor for touch */
    * {
        cursor: auto !important;
    }

    /* Adjust font sizes for mobile readability */
    .headline {
        font-size: 2rem !important;
    }
    
    .cta-btn {
        padding: 12px 25px !important;
        font-size: 0.9rem !important;
    }

    #game-container {
        height: 200px !important; /* Smaller game area for mobile */
    }
}