:root{color-scheme:dark;--bg: #080a12;--panel-bg: #111526;--panel-border: rgba(255, 255, 255, .06);--text-primary: #f5f8ff;--text-muted: rgba(245, 248, 255, .65);--accent: #ff2d55;--accent-muted: rgba(255, 45, 85, .25);--accent-strong: rgba(255, 45, 85, .55);--surface-muted: rgba(255, 255, 255, .05);--grid-gap: .25rem;--drum-label-width: 2.8rem;--drum-rows: 6;--drum-cell-height: 2rem;--synth-cell-height: 9.5rem;--synth-note-count: 12;font-family:Inter,SF Pro Display,Roboto,sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#12162b,var(--bg));color:var(--text-primary);display:flex}main{width:min(1400px,calc(100vw - 1.5rem));margin:2.25rem auto;display:flex;flex-direction:column;gap:1.1rem}.title-block{display:inline-flex;flex-direction:column;align-items:flex-start}.firmware-note{margin:.35rem 0 0;padding:0;color:var(--text-muted);font-size:.9rem;letter-spacing:.02em;align-self:flex-end;text-align:right}.app-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 2rem;padding-bottom:1rem;border-bottom:1px solid var(--panel-border)}.title-block h1{margin:0;font-size:clamp(1.4rem,2vw + 1rem,2.2rem);letter-spacing:.01em}.app-title{display:block;max-width:min(360px,40vw);height:auto}.subtitle{margin:.35rem 0 0;color:var(--text-muted);max-width:32rem}.status{font-size:.85rem;color:var(--text-muted)}.visualizer{display:flex;flex-direction:column;gap:1.25rem}.panel{background:var(--panel-bg);border-radius:1.1rem;padding:1.1rem 1.25rem;border:1px solid var(--panel-border);box-shadow:0 12px 32px #00000040;display:flex;flex-direction:column;gap:.95rem;width:100%}.panel-drums .panel-header,.panel-synths .panel-header{justify-content:space-between}.panel-header{display:flex;justify-content:space-between;align-items:baseline}.panel-header h2{margin:0;font-size:1.05rem;letter-spacing:.01em}.panel-meta{font-size:.8rem;color:var(--text-muted)}.legend{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.legend-swatch{display:inline-flex;width:.9rem;height:.9rem;border-radius:.2rem}.legend-swatch.drum{background:var(--accent);box-shadow:0 0 6px var(--accent-strong)}.legend-swatch.synth{background:linear-gradient(135deg,var(--accent) 0%,#6c5ce7 100%);box-shadow:0 0 6px #6c5ce773}.legend-label{letter-spacing:.02em}.drum-grid{display:grid;grid-template-rows:repeat(var(--drum-rows),var(--drum-cell-height));grid-template-columns:var(--drum-label-width) repeat(64,minmax(0,1fr));gap:var(--grid-gap);width:100%}.drum-row{display:contents}.drum-label{align-items:center;display:flex;font-size:.72rem;justify-content:flex-end;padding-right:.35rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.drum-cell{position:relative;border-radius:.2rem;background:var(--surface-muted);border:1px solid rgba(255,255,255,.03);transition:background 80ms ease,box-shadow 80ms ease,transform 80ms ease}.drum-cell:before,.synth-cell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:transparent;opacity:0;transition:opacity 80ms ease;pointer-events:none;z-index:0}.drum-cell.step-marker-8:before,.synth-cell.step-marker-8:before{background:#ffffff14;opacity:1}.drum-cell.step-marker-16:before,.synth-cell.step-marker-16:before{background:#ffffff1f;opacity:1}.drum-cell.active:before,.synth-cell.active:before{opacity:0}.step-flash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:#ffffffe6;opacity:0;z-index:3;mix-blend-mode:screen}.drum-cell.is-current-step .step-flash,.synth-cell.is-current-step .step-flash{animation:step-flash-pulse .18s ease-out}@keyframes step-flash-pulse{0%{opacity:.9}to{opacity:0}}.drum-cell.active{background:var(--accent);box-shadow:0 0 12px var(--accent-strong),inset 0 0 4px #fff3;transform:translateY(-1px)}.drum-cell.is-selected-voice:not(.active){background:#ff2d552e;box-shadow:inset 0 0 0 1px #ff2d5559}.drum-cell.is-selected-page{box-shadow:0 0 0 2px #ffffff1f,inset 0 0 0 1px #ffffff47}.synth-wrapper{display:flex;flex-direction:column;gap:.85rem}.synth-track{display:flex;flex-direction:column;gap:.6rem;padding:.25rem .35rem .35rem;border-radius:.7rem}.synth-track.is-selected{background:#6c5ce714;padding:.35rem .5rem}.synth-track.is-selected .synth-track-header{color:#f5f8fff2}.synth-track-header{display:flex;justify-content:center;align-items:center;padding:0;color:var(--text-muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.synth-track-header .track-label{text-align:center}.synth-grid{display:grid;grid-template-columns:repeat(64,minmax(0,1fr));gap:var(--grid-gap);width:calc(100% - var(--drum-label-width));margin-left:var(--drum-label-width);position:relative}.synth-grid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.08),rgba(255,255,255,.08) 1px,transparent 1px,transparent calc(100% / var(--synth-note-count)));z-index:1}.synth-cell{position:relative;height:var(--synth-cell-height);background:#101429;border-radius:.35rem;border:1px solid rgba(255,255,255,.05);overflow:hidden}.synth-cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#ffffff08,#fff0 45%,#ffffff0a);pointer-events:none}.note-indicator{--note: 0;position:absolute;left:0;right:0;height:calc(100% / var(--synth-note-count));top:calc((var(--synth-note-count) - 1 - var(--note)) * (100% / var(--synth-note-count)));background:var(--accent);border-radius:0;opacity:0;transition:opacity .12s ease;box-shadow:0 0 12px var(--accent-strong),inset 0 0 4px #fff3;z-index:4;pointer-events:none}.synth-cell.active .note-indicator{opacity:1}.synth-cell.is-selected-page{box-shadow:0 0 0 2px #6c5ce759}.note-indicator:before{content:attr(data-octave);position:absolute;left:-.5rem;top:50%;transform:translate(-100%,-50%);font-size:.65rem;letter-spacing:.04em;color:#f5f8ffa6}.note-indicator:after{content:attr(data-note);position:absolute;right:-.35rem;top:50%;transform:translate(100%,-50%);font-size:.65rem;letter-spacing:.04em;color:#f5f8ffd9}@media(max-width:960px){:root{--drum-cell-height: 1.6rem;--synth-cell-height: 8rem}}@media(max-width:680px){.app-header{flex-direction:column}.drum-grid,.synth-grid{gap:2px}}.tooling{display:flex;flex-direction:column;gap:1.1rem}.tool-panel{gap:1.15rem}.tool-panel h2{margin:0;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;color:#f5f8ffcc}.tool-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;padding:.7rem .9rem;background:#151b26d1;border-radius:.9rem;border:1px solid rgba(148,163,184,.12)}.tool-panel .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;align-items:center;padding:.7rem .65rem;background:#151b26d1;border-radius:.9rem;border:1px solid rgba(148,163,184,.12)}.tool-panel label,.tool-panel .label{font-weight:600;font-size:.9rem;color:#f1f5f9f2}.tool-panel select,.tool-panel input[type=number]{padding:.38rem .6rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.32);background:#0f172a;color:#e2e8f0f2;font:inherit;font-size:calc(1rem - 4pt);width:100%;box-sizing:border-box;transition:border-color .12s ease,background-color .12s ease}.tool-panel select:focus,.tool-panel input[type=number]:focus{outline:none;border-color:#38bdf8;background:#0b1120}.tool-panel button{font-weight:600;color:#0f172a;background:linear-gradient(135deg,#f8fafc,#e2e8f0);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;padding:.38rem 1rem;border-radius:.5rem;border:1px solid rgba(148,163,184,.32);width:auto;box-sizing:border-box;justify-self:center}.tool-panel button:hover{transform:translateY(-1px);box-shadow:0 15px 25px #0f172a73}.tool-panel button:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}#settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.75rem}.group-heading{grid-column:1 / -1;padding:.35rem .1rem .2rem;font-size:.72rem;letter-spacing:.18em;font-weight:600;color:#38bdf8;text-transform:uppercase;opacity:.85}.routing-grid{display:grid;grid-template-columns:repeat(4,auto);gap:.35rem;justify-content:flex-start;margin-left:-.25rem}.routing-grid .routing-checkbox,.tool-panel .toggle{width:auto;accent-color:var(--accent);transform:scale(1.05);margin:0}.tool-panel .value{font-variant-numeric:tabular-nums;color:#a5b4fc}.tool-panel .small{font-size:.8rem;color:#94a3b8}@media(max-width:960px){.tool-panel .row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.tool-panel{padding:1rem}.tool-panel .row,#settings{grid-template-columns:1fr}}
/*# sourceMappingURL=/cdn/shop/t/3/assets/tool-blastbeats-styles.css.map */
