/* ======================================== CYST-KID - Arcade Style CSS ======================================== */ @import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { background: #0a0a2e; display: flex; justify-content: center; align-items: center; min-height: 100vh; font-family: 'Press Start 2P', monospace; overflow: hidden; -webkit-user-select: none; user-select: none; } #game-container { position: relative; display: flex; justify-content: center; align-items: center; } #gameCanvas { display: block; image-rendering: pixelated; } /* Overlay Screens */ .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; z-index: 10; background: rgba(10, 10, 46, 0.92); } .overlay-content { text-align: center; color: #fff; max-width: 500px; padding: 20px; } .game-title { font-size: 48px; color: #ff6b6b; text-shadow: 0 0 10px #ff6b6b, 0 0 20px #ff4444, 0 0 40px #cc0000, 4px 4px 0px #8B0000; margin-bottom: 30px; letter-spacing: 6px; animation: titlePulse 2s ease-in-out infinite; } @keyframes titlePulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } .start-text { font-size: 11px; color: #aaddff; margin-bottom: 20px; line-height: 1.8; } .controls-info { font-size: 8px; color: #7799bb; margin-bottom: 30px; line-height: 2.2; } .arcade-btn { font-family: 'Press Start 2P', monospace; font-size: 14px; padding: 15px 40px; background: linear-gradient(180deg, #8B5CF6, #6D28D9); color: #fff; border: 3px solid #A78BFA; border-radius: 4px; cursor: pointer; text-transform: uppercase; letter-spacing: 2px; transition: all 0.15s; margin: 8px; } .arcade-btn:hover { background: linear-gradient(180deg, #A78BFA, #8B5CF6); transform: scale(1.05); box-shadow: 0 0 20px rgba(139, 92, 246, 0.5); } .arcade-btn:active { transform: scale(0.95); } .level-text { font-size: 28px; color: #FFD700; text-shadow: 0 0 15px #FFD700; margin-bottom: 20px; } .gameover-text { font-size: 32px; color: #ff4444; text-shadow: 0 0 15px #ff4444; margin-bottom: 20px; animation: shake 0.5s ease-in-out; } @keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } } .lose-text, .win-msg { font-size: 10px; color: #ccc; margin-bottom: 20px; line-height: 2; } .win-text { font-size: 32px; color: #00ff88; text-shadow: 0 0 15px #00ff88; margin-bottom: 20px; } .name-input { font-family: 'Press Start 2P', monospace; font-size: 12px; padding: 10px 20px; background: #1a1a4e; color: #fff; border: 2px solid #8B5CF6; border-radius: 4px; text-align: center; margin-bottom: 15px; width: 250px; outline: none; } .name-input:focus { border-color: #A78BFA; box-shadow: 0 0 10px rgba(139, 92, 246, 0.4); } .ranking-table-container { margin-top: 20px; max-height: 200px; overflow-y: auto; } .ranking-table-container table { width: 100%; border-collapse: collapse; font-size: 8px; } .ranking-table-container th { color: #FFD700; padding: 6px; border-bottom: 1px solid #444; } .ranking-table-container td { color: #ccc; padding: 5px; border-bottom: 1px solid #222; } .ranking-table-container tr:first-child td { color: #FFD700; } .end-score-text { font-size: 12px; color: #fff; margin-bottom: 20px; } /* Mobile Joystick */ #touch-controls { display: none; position: fixed; bottom: 28px; right: 28px; z-index: 20; touch-action: none; } @media (pointer: coarse) { #touch-controls { display: block; } } #joystick-base { width: 130px; height: 130px; border-radius: 50%; background: rgba(139, 92, 246, 0.18); border: 2px solid rgba(167, 139, 250, 0.50); position: relative; touch-action: none; user-select: none; -webkit-tap-highlight-color: transparent; } /* Direction arrow hints */ .joy-arrow { position: absolute; color: rgba(255, 255, 255, 0.45); font-size: 13px; line-height: 1; pointer-events: none; user-select: none; } .joy-up { top: 6px; left: 50%; transform: translateX(-50%); } .joy-down { bottom: 6px; left: 50%; transform: translateX(-50%); } .joy-left { left: 6px; top: 50%; transform: translateY(-50%); } .joy-right { right: 6px; top: 50%; transform: translateY(-50%); } #joystick-knob { width: 52px; height: 52px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #c4b5fd, #7c3aed); border: 2px solid rgba(255, 255, 255, 0.6); box-shadow: 0 2px 8px rgba(0,0,0,0.4); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; will-change: transform; } /* Scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: #1a1a4e; } ::-webkit-scrollbar-thumb { background: #8B5CF6; border-radius: 3px; }