/* Finishing pass for the rhythm machine only. */
body{background:#101219;color:#e7e9f4}.functional-layer{max-width:1040px;gap:28px;padding-top:32px}.rhythmic-grid{opacity:.15;animation:none;background-size:48px 48px}.lava-orb{opacity:.12;animation:none}.header-zone{border:0;padding:12px 0 8px}.header-zone .rhythm-kicker{font:10px monospace;letter-spacing:2px;color:#9ba8bb;margin-bottom:16px}.header-zone h1{font-family:Georgia,serif;font-size:clamp(38px,6vw,64px);text-transform:none;letter-spacing:-2px;line-height:1.05;background:none;-webkit-text-fill-color:initial;color:#f0f0fa;font-weight:400}.header-zone h1 em{color:#cab5ff}.header-zone>p:last-child{max-width:580px;color:#aeb4c8;font-size:14px;line-height:1.8}.dashboard{background:linear-gradient(140deg,#313440,#20232e 40%,#171a23);border:1px solid #656a7a;border-radius:24px;box-shadow:inset 0 1px #a4a8b54d,inset 0 -5px #0005,0 22px 70px #0006;padding:30px;position:relative}.dashboard:before,.dashboard:after{content:'⊕';position:absolute;top:13px;color:#8e95a8;font:12px monospace}.dashboard:before{left:15px}.dashboard:after{right:15px}.dashboard>.section-title{font:10px monospace;letter-spacing:2px;color:#afb7c9;border-bottom:1px solid #555b6b;padding-bottom:18px;margin-bottom:24px}.dashboard-grid{gap:30px}.metronome-visualizer{background:radial-gradient(ellipse,#394052,#161922 65%);border:1px solid #454c5e;border-radius:50% 50% 16px 16px;padding:30px 18px;box-shadow:inset 0 6px 18px #0005;min-width:0}.beat-bar{margin:25px auto 18px;max-width:180px;height:5px;border-radius:8px}.metronome-visualizer>div:last-child{font:8px monospace!important;letter-spacing:1.4px;color:#a1aabe!important}.bpm-label-row{background:#151e25;padding:17px 18px;border:1px solid #52636b;border-radius:8px;box-shadow:inset 0 3px 10px #0006;align-items:center;gap:12px}.bpm-label-row>span:first-child{font:9px monospace!important;letter-spacing:1px;max-width:80px;line-height:1.7}#bpmValue{font:32px monospace!important;color:#bef9e2!important;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 0 14px #9bf5d52a}.bpm-slider{margin-top:18px;accent-color:#c7b0ff}.tempo-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.tempo-presets button,#tapTempo{background:linear-gradient(#414555,#303341);color:#e7e9f4;border:1px solid #606879;border-radius:6px;box-shadow:0 3px 0 #10121b,inset 0 1px #ffffff18;min-height:44px;cursor:pointer;font:14px monospace}.tempo-presets button span{display:block;font-size:8px;color:#acb3c8;letter-spacing:1px;margin-top:4px}.tempo-presets button[aria-pressed=true]{border-color:#cbb4ff;background:#514366;color:#edddff}.tempo-presets button[aria-pressed=true] span{color:#d5c2f0}.tap-row{display:flex;gap:12px;align-items:center;margin:16px 0}#tapTempo{font-size:10px;letter-spacing:1px;padding:12px 14px;white-space:nowrap}#tapTempo:active,.tempo-presets button:active{transform:translateY(2px);box-shadow:0 1px 0 #10121b}#tapHint{font:10px/1.6 monospace;color:#b3bbce}.beat-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.beat-steps span{display:grid;place-items:center;height:25px;background:#151923;border:1px solid #3b4553;border-radius:3px;font:10px monospace;color:#7f8da4}.beat-steps .on{color:#c2ffe4;background:#294c43;border-color:#9be6c7;box-shadow:0 0 10px #9be6c71a}.beat-steps .on:first-child{background:#52416c;border-color:#c9aaff;color:#edddff}.btn-action{min-height:44px;border-radius:7px;font-size:11px}.synth-control-panel>div:last-child{font-size:10px!important;line-height:1.7!important;color:#9aa5b9!important}.theory-box{border-radius:14px;background:#1b1e2a;border-color:#363c50}.reading-card{border-radius:14px}.disc-fallback{border-radius:50%;background:radial-gradient(circle,#13151d 0 12%,#c6c8e2 13% 17%,transparent 18%),repeating-radial-gradient(circle,transparent 0 8px,#ffffff0c 9px 10px),conic-gradient(#aeb3da,#91d1cf,#f0d1ed,#8895bd,#ded2f6,#aeb3da);border:3px solid #b6bdcf;box-shadow:0 12px 25px #0009;animation:disc-turn 10s linear infinite}.animations-paused .disc-fallback{animation-play-state:paused}@keyframes disc-turn{to{transform:rotate(360deg)}}button:focus-visible,input:focus-visible{outline:2px solid #d1baff;outline-offset:4px}@media(max-width:640px){.functional-layer{padding:20px 16px}.dashboard{padding:25px 18px}.dashboard-grid{grid-template-columns:minmax(0,1fr)!important;gap:22px}.metronome-visualizer{border-radius:14px;padding:20px}.header-zone h1{font-size:43px}.bpm-label-row{padding:14px}.button-group{flex-wrap:wrap}.button-group .btn-action{flex:1}.tempo-presets{gap:6px}.header-zone>p:last-child{font-size:13px}}@media(prefers-reduced-motion:reduce){.disc-fallback{animation:none}}
.button-group .btn-action{background:linear-gradient(#3d4251,#2b303d);color:#e4e8f2;border:1px solid #687185;box-shadow:0 3px 0 #10121b,inset 0 1px #ffffff15}.button-group .btn-action.active{background:#66517f;border-color:#c2a8e4;color:#f4eaff;box-shadow:0 3px 0 #20182e}.dashboard .bpm-slider::-webkit-slider-thumb{background:#c6b2e9;border-color:#e5d9fb;box-shadow:0 2px 6px #0005;border-radius:5px}.dashboard .bpm-slider::-moz-range-thumb{background:#c6b2e9;border:1px solid #e5d9fb;border-radius:5px}
