:root { --bg: #1a1414; --panel: #261a1a; --accent: #ff4500; --text: #f0e0e0; }
body { background: var(--bg); color: var(--text); font-family: sans-serif; margin: 0; display: flex; justify-content: center; }
#app { width: 100%; max-width: 400px; padding: 20px; }

header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.logo { font-weight: bold; color: var(--accent); border-left: 3px solid var(--accent); padding-left: 10px; letter-spacing: 1px; }

.control-group { background: var(--panel); padding: 15px; border-radius: 10px; margin-bottom: 12px; border: 1px solid #3d2a2a; }
.control-group h3 { font-size: 10px; margin: 0 0 10px 0; color: var(--accent); opacity: 0.8; }

.p-box { display: flex; flex-direction: column; margin-bottom: 8px; }
.p-box label { font-size: 9px; color: #a88; margin-bottom: 2px; }
.p-box span { font-size: 11px; color: var(--accent); text-align: right; font-family: monospace; }

select { background: #111; color: var(--accent); border: 1px solid var(--accent); padding: 5px; border-radius: 4px; }
input[type="range"] { accent-color: var(--accent); cursor: pointer; }

.keyboard-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; margin-top: 15px; }
.key { height: 40px; border: none; border-radius: 4px; font-weight: bold; cursor: pointer; background: #4a3a3a; color: #fff; transition: 0.1s; }
.key.black { background: #2a1a1a; color: var(--accent); }
.key:active { transform: scale(0.95); background: var(--accent); color: #000; }

.hint { font-size: 10px; color: #666; text-align: center; margin-top: 10px; }
.btn-export { background: #222; color: var(--accent); border: 1px solid var(--accent); padding: 5px 12px; border-radius: 4px; font-size: 11px; cursor: pointer; }
