@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;700&family=Roboto:wght@300;400;500&display=swap'); :root { --xbox-green: #107c10; --xbox-dark: #1d232b; --xbox-light: #5dc21e; } body { font-family: 'Roboto', sans-serif; background-color: #0a0a0a; background-image: radial-gradient(circle at 10% 20%, rgba(16, 124, 16, 0.1) 0%, transparent 20%), radial-gradient(circle at 90% 80%, rgba(16, 124, 16, 0.1) 0%, transparent 20%); background-attachment: fixed; } h1, h2, h3, h4, h5, h6 { font-family: 'Orbitron', sans-serif; letter-spacing: 1px; } /* XBOX-style switch */ .switch { position: relative; display: inline-block; width: 50px; height: 24px; } .switch input { opacity: 0; width: 0; height: 0; } .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 24px; } .slider:before { position: absolute; content: ""; height: 16px; width: 16px; left: 4px; bottom: 4px; background-color: white; transition: .4s; border-radius: 50%; } input:checked + .slider { background-color: var(--xbox-green); } input:checked + .slider:before { transform: translateX(26px); } /* Keyboard styling */ .keyboard-container { position: relative; height: 160px; margin: 20px auto; padding: 0 10px; } .key { display: inline-block; cursor: pointer; user-select: none; transition: all 0.1s ease; } .white-key { box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .white-key:active, .white-key.active { background-color: #e0e0e0; transform: translateY(2px); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); } .black-key { box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); } .black-key:active, .black-key.active { background-color: #333; transform: translateY(2px); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2); } /* XY Pad styling */ #xy-pad { background: linear-gradient(to bottom, rgba(16, 124, 16, 0.1) 0%, transparent 100%), linear-gradient(to right, rgba(16, 124, 16, 0.1) 0%, transparent 100%); position: relative; overflow: hidden; } #xy-pad::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: rgba(16, 124, 16, 0.3); } #xy-pad::after { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: rgba(16, 124, 16, 0.3); } #xy-handle { box-shadow: 0 0 10px rgba(16, 124, 16, 0.7); border: 2px solid white; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #1a202c; } ::-webkit-scrollbar-thumb { background: var(--xbox-green); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #5dc21e; } /* Responsive adjustments */ @media (max-width: 768px) { .keyboard-container { transform: scale(0.8); } #xy-pad { height: 200px; } .grid-cols-1.md\:grid-cols-3, .grid-cols-1.md\:grid-cols-4, .grid-cols-1.md\:grid-cols-2 { grid-template-columns: repeat(1, minmax(0, 1fr)); } }