.bass-stages .dial{display:none}
.bass-gate-lane{margin:12px 0 22px;padding:12px;border:1px solid var(--bass);border-radius:9px;background:color-mix(in srgb,var(--bg) 70%,transparent)}.bass-gate-lane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.bass-gate-lane h3{font-size:12px;color:var(--bass);margin:0}.bass-gate-lane-tools{display:flex;gap:6px}.bass-gate-lane-tools button{font-size:10px;min-height:32px}.bass-gate-lane-grid{display:grid;grid-template-columns:repeat(var(--gate-count),minmax(0,1fr));gap:5px;margin:12px 0}.bass-gate-cell{display:flex;align-items:center;gap:4px;margin:0;padding:6px 2px;border:1px solid var(--edge);border-radius:5px;background:color-mix(in srgb,var(--bass) 7%,transparent);font-size:10px;min-width:0}.bass-gate-cell input[type=range]{writing-mode:vertical-lr;direction:rtl;width:100%;min-width:0;height:80px;accent-color:var(--bass);margin:0;touch-action:none}.bass-gate-cell output{color:var(--bass);font-variant-numeric:tabular-nums}.bass-gate-cell.rest{opacity:.5}.bass-gate-cell.current{opacity:1;border-color:var(--bass);background:color-mix(in srgb,var(--bass) 25%,var(--bg));box-shadow:inset 0 2px 0 var(--bass),0 0 12px color-mix(in srgb,var(--bass) 35%,transparent)}.bass-gate-pattern-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bass-gate-pattern-controls label>span{display:flex;justify-content:space-between;gap:6px;font-size:10px}.bass-gate-pattern-controls output{color:var(--bass)}.bass-gate-pattern-controls label:not(:first-child) .dial{display:none}.bass-gate-pattern-controls input{accent-color:var(--bass)}.bass-gate-pattern-controls .dial{margin:8px auto;width:34px;height:34px}.bass-gate-lane .hint{margin:9px 0 0;font-size:10px}@media(max-width:600px){.bass-gate-pattern-controls{gap:7px}.bass-gate-pattern-controls label>span{flex-direction:column;min-height:34px}.bass-gate-cell input[type=range]{height:72px}.bass-gate-cell{font-size:9px}}
.bass-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}.bass-stage-heading h3{margin:0;color:var(--bass)}.bass-stage-count{display:flex;align-items:center;gap:8px}.bass-stage-count button{min-width:40px;min-height:40px;font-size:18px;touch-action:manipulation}.bass-stage-count output{min-width:48px;text-align:center;color:var(--bass);font-variant-numeric:tabular-nums}
.bass-stage-activity{display:flex;align-items:center;gap:6px;height:22px;white-space:nowrap;font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--muted)}
.bass-stage-activity:before{content:'';flex:none;width:9px;height:9px;border:1px solid currentColor;border-radius:50%;background:var(--bg)}
:root body .bass-stages .stage.current{opacity:1;border-color:var(--bass);outline:2px solid var(--bass);outline-offset:1px;background:color-mix(in srgb,var(--bass) 20%,var(--bg));box-shadow:inset 0 4px 0 var(--bass),0 0 18px color-mix(in srgb,var(--bass) 40%,transparent)}
:root body .bass-stages .stage.current .bass-stage-activity{color:var(--text)}
:root body .bass-stages .stage.current .bass-stage-activity:before{background:var(--bass);border-color:var(--text);box-shadow:0 0 9px var(--bass)}
:root body .bass-stages .stage.bass-stage-hit{outline-color:var(--text);box-shadow:inset 0 4px 0 var(--text),0 0 20px color-mix(in srgb,var(--bass) 55%,transparent)}
:root body .bass-stages .stage.bass-stage-hit .bass-stage-activity:before{background:var(--text);box-shadow:0 0 12px var(--text)}
.bass-randomizer{padding:16px;border:1px solid var(--tone-79b9da55,#79b9da55);border-radius:12px;margin:0 0 20px;background:radial-gradient(ellipse at top right,var(--tone-79b9da15,#79b9da15),transparent 70%),var(--tone-14212a,#14212a)}.bass-randomizer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.bass-randomizer h3{color:var(--bass);font-size:12px;letter-spacing:.12em}.bass-personalities,.bass-shuffle-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.bass-randomizer button{font-size:11px;min-height:36px;touch-action:manipulation}.bass-personalities button[aria-pressed=true]{background:var(--tone-79b9da30,#79b9da30);border-color:var(--bass);color:var(--tone-c1eff5,#c1eff5)}.bass-shuffle-caption{color:var(--bass);font-size:10px;letter-spacing:.1em;margin:16px 0 6px}.bass-randomizer .controls{display:block;max-width:330px}.bass-randomizer .controls>label>span{min-height:0}.bass-shuffle-buttons button:last-child{border-color:var(--tone-79b9da66,#79b9da66)}
.bass-stages input[type=range]{accent-color:var(--bass);margin:3px 0;min-width:0}
.bass-stages label>span>output{color:var(--bass)}
.bass-gate-caption{font-size:11px;color:var(--muted);margin:14px 0 7px}
.bass-gate-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.bass-stages .bass-gate-button{position:relative;margin:0;cursor:pointer}
.bass-gate-button input{position:absolute;opacity:0;width:1px;height:1px}
.bass-gate-button span{display:grid;place-items:center;min-height:30px;border:1px solid var(--tone-43515d,#43515d);border-radius:5px;background:var(--tone-17232d,#17232d);color:var(--muted);font-size:9px}
.bass-gate-button:hover span{border-color:var(--bass)}
.bass-gate-button:has(input:checked) span{background:var(--tone-79b9da25,#79b9da25);border-color:var(--bass);color:var(--bass)}
.bass-gate-button:has(input:focus-visible) span{outline:2px solid var(--bass);outline-offset:2px}
.bass-stage-timeline{display:flex;height:32px;border:1px solid var(--tone-79b9da55,#79b9da55);border-radius:5px;overflow:hidden;margin:9px 0}.bass-visit{display:grid;place-items:center;min-width:0;overflow:hidden;font-size:9px;background:var(--tone-79b9da25,#79b9da25);border-right:1px solid var(--tone-79b9da66,#79b9da66);color:var(--tone-b8d8e8,#b8d8e8)}.bass-visit.rest{background:repeating-linear-gradient(135deg,var(--tone-15242d,#15242d),var(--tone-15242d,#15242d) 4px,var(--tone-79b9da15,#79b9da15) 4px,var(--tone-79b9da15,#79b9da15) 6px);color:var(--tone-7793a2,#7793a2)}.bass-visit.hold{background:var(--tone-79b9da55,#79b9da55)}
.bass-sequence-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bass-sequence-controls .dial{display:none}.bass-sequence-controls>label{padding:12px;background:var(--tone-17232d,#17232d);border:1px solid var(--tone-79b9da33,#79b9da33);border-radius:7px}.bass-sequence-controls>label>span{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-height:52px}.bass-sequence-controls output{font-size:11px;color:var(--bass);white-space:normal;overflow-wrap:anywhere}.bass-sequence-controls input[type=range]{width:100%;accent-color:var(--bass);margin-top:8px}@media(max-width:650px){.bass-sequence-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bass-loop-controls{border:1px solid var(--tone-79b9da44,#79b9da44);border-radius:8px;padding:14px;background:var(--tone-16242b,#16242b);margin:16px 0}.bass-loop-controls h3{color:var(--bass);font-size:11px;margin:0 0 12px}.bass-loop-units{display:flex;gap:6px;margin:10px 0}.bass-loop-units button{font-size:10px;min-width:75px}.bass-loop-units button[aria-pressed=true]{background:var(--tone-79b9da30,#79b9da30);border-color:var(--bass);color:var(--bass)}.bass-loop-controls label{display:grid;gap:8px}.bass-loop-controls output{color:var(--bass)}.bass-loop-controls input{width:100%;accent-color:var(--bass)}
.bass-path-token.path-hit{background:var(--tone-c1eff5,#c1eff5);color:var(--tone-142831,#142831);border-color:var(--tone-e9fcff,#e9fcff);box-shadow:0 0 12px var(--tone-8acbd988,#8acbd988)}.bass-visit.path-current{background:var(--tone-79b9da88,#79b9da88);color:var(--tone-fff,#fff);border-color:var(--tone-e0f8ff,#e0f8ff);box-shadow:inset 0 0 0 1px var(--tone-b3eaff,#b3eaff)}.bass-visit.rest.path-current{background:repeating-linear-gradient(135deg,var(--tone-385660,#385660),var(--tone-385660,#385660) 4px,var(--tone-223c47,#223c47) 4px,var(--tone-223c47,#223c47) 6px)}
