/* SynthWave Studio Styles */ @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;700&family=Roboto+Mono:wght@300;400;500;700&display=swap'); :root { --primary-color: #06b6d4; /* cyan-500 */ --secondary-color: #ffffff; --background-color: #000000; --panel-color: #111827; /* gray-900 */ --border-color: #0891b2; /* cyan-700 */ } body { font-family: 'Roboto Mono', monospace; background-color: var(--background-color); color: var(--primary-color); margin: 0; padding: 0; min-height: 100vh; } h1, h2, h3, h4, h5, h6 { font-family: 'Orbitron', sans-serif; } .container { max-width: 1400px; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #0f172a; /* gray-900 */ } ::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #0891b2; /* cyan-600 */ } /* Button styles */ button { transition: all 0.2s ease; text-transform: uppercase; letter-spacing: 1px; font-size: 0.75rem; } button:hover { box-shadow: 0 0 10px rgba(6, 182, 212, 0.5); } /* Input range styling */ input[type="range"] { -webkit-appearance: none; height: 6px; border-radius: 3px; background: #0f172a; /* gray-900 */ outline: none; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: var(--primary-color); cursor: pointer; box-shadow: 0 0 5px rgba(6, 182, 212, 0.8); } input[type="range"]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--primary-color); cursor: pointer; box-shadow: 0 0 5px rgba(6, 182, 212, 0.8); border: none; } /* Select styling */ select { appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306b6d4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 0.5rem center; background-size: 1em; text-transform: uppercase; letter-spacing: 1px; font-size: 0.75rem; } /* Canvas styling */ #visualizer, #amp-envelope-editor, #filter-envelope-editor { width: 100%; background: #000000; border-radius: 0.25rem; } /* Panel styling */ .bg-gray-900 { background-color: #0f172a; /* darker gray */ } .border-cyan-800 { border-color: #164e63; /* darker cyan */ } .border-cyan-900 { border-color: #083344; /* darkest cyan */ } /* Text colors */ .text-cyan-300 { color: #67e8f9; } .text-cyan-500 { color: #06b6d4; } .text-cyan-600 { color: #0891b2; } .text-cyan-700 { color: #0e7490; } /* Synth display styling */ .synth-display { background: linear-gradient(rgba(6, 182, 212, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(6, 182, 212, 0.05) 1px, transparent 1px); background-size: 20px 20px; box-shadow: inset 0 0 15px rgba(6, 182, 212, 0.1), 0 0 10px rgba(6, 182, 212, 0.2); border: 2px solid #0891b2; position: relative; overflow: hidden; } .synth-display::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 20% 20%, rgba(6, 182, 212, 0.1) 0%, transparent 20%), radial-gradient(circle at 80% 80%, rgba(6, 182, 212, 0.1) 0%, transparent 20%); pointer-events: none; } /* Glowing effect for controls */ .glow { box-shadow: 0 0 8px rgba(6, 182, 212, 0.5); } /* Responsive adjustments */ @media (max-width: 768px) { .container { padding: 0 1rem; } h1 { font-size: 2rem; } .grid { gap: 1rem; } .text-lg { font-size: 1rem; } .text-md { font-size: 0.875rem; } .text-sm { font-size: 0.75rem; } .text-xs { font-size: 0.625rem; } /* Adjust ADSR editors for mobile */ .grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }