:root { --bg: #0f172a; --panel: #1e293b; --accent: #38bdf8; --text: #f1f5f9; }
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; text-shadow: 0 0 15px rgba(56, 189, 248, 0.5); }

.control-group { background: var(--panel); padding: 15px; border-radius: 12px; margin-bottom: 12px; border: 1px solid #334155; }
.control-group h3 { font-size: 10px; margin: 0 0 10px 0; color: var(--accent); letter-spacing: 1px; }

.p-box { display: flex; flex-direction: column; margin-bottom: 8px; }
.p-box label { font-size: 9px; color: #94a3b8; }
.p-box span { font-size: 11px; color: var(--accent); text-align: right; font-family: monospace; }

select { background: #0f172a; color: var(--accent); border: 1px solid #334155; padding: 5px; border-radius: 4px; outline: none; }
input[type="range"] { accent-color: var(--accent); cursor: pointer; }

.keyboard-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 15px; }
.key { height: 45px; border: none; border-radius: 6px; font-weight: bold; cursor: pointer; background: #334155; color: #fff; transition: 0.2s; }
.key.black { background: #0f172a; color: var(--accent); }
.key:active { transform: translateY(2px); background: var(--accent); color: #0f172a; }

.hint { font-size: 10px; color: #64748b; text-align: center; margin-top: 10px; }
.btn-export { background: transparent; color: var(--accent); border: 1px solid var(--accent); padding: 5px 12px; border-radius: 4px; font-size: 11px; cursor: pointer; }
