/* Ear-monitor controls: compact presets, independent cue volume and practice tools. */
.sheet-panel{height:84%;border-radius:28px 28px 0 0;background:#fff;box-shadow:0 -10px 36px #05171021,inset 0 1px 0 #ffffffd9}
.sheet-grip{height:20px;padding:7px 0}
.sheet-grip span{width:32px;height:4px}
.sheet-head{padding:0 18px 10px;gap:12px;border-bottom-color:#f0f4f1}
.sh-text h2{font-size:19px;letter-spacing:.2px;gap:8px;color:#1d3226}
.panel-heading-icon{width:20px;height:20px;stroke-width:1.9;color:#20af68}
.sh-text p{font-size:11px;line-height:1.4;margin-top:4px;color:#7f9085}
.sheet-close{width:44px;background:#f5f8f6;border:1px solid #edf2ee;color:#718379}
.sheet-close svg{width:19px;height:19px}
.sheet-close:active{background:#eaf1ec}
.switch{width:45px}
.switch i{inset:9px 0;border-radius:99px}
.switch i::after{width:20px;height:20px;box-shadow:0 1px 3px #11382326}
.switch input:checked+i::after{transform:translateX(19px)}
.song-cue-slot{height:48px;margin:0 18px}
.member-cue-row .sl b{font-size:12px;font-weight:600;color:#55625c}
.member-cue-row:has(input:checked) .sl b{color:#169b59}
.member-cue-row .switch{min-height:44px}
.sheet-body{padding:14px 18px 22px;scrollbar-width:thin;scrollbar-color:#d8e0db transparent}
.blk{margin-bottom:15px}
.blk-t{font-size:13px;margin-bottom:9px;letter-spacing:.1px}
.presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;border:0;border-radius:0;background:transparent}
.preset{position:relative;padding:12px 3px 10px;min-height:76px;min-width:0;text-align:center;border-radius:13px;background:#fff;border:1px solid #e4ebe6;box-shadow:0 2px 4px #1d493008;transition:background .18s,border-color .18s,transform .1s}
.preset em{display:grid;place-items:center;height:23px;margin:0 0 8px;color:#7d9185;transition:color .18s}
.preset-icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.preset span{display:none}
.preset b{font-size:12px;line-height:1.2;margin:0;font-weight:500;white-space:nowrap;color:#63756a}
.preset::after{content:'✓';position:absolute;right:5px;top:5px;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#25bf77;color:#fff;font-size:9px;line-height:1;font-weight:700;transform:scale(.7);opacity:0;transition:transform .18s,opacity .18s}
.preset.on{border-color:#52c98b;background:#edf9f2;box-shadow:0 2px 6px #24a9610c}
.preset.on::after{transform:scale(1);opacity:1}
.preset.on b{color:#15965a;font-weight:650}
.preset.on em{color:#15965a}
.preset:focus-visible{outline-offset:-3px}
.preset-description{font-size:11px;color:#849189;line-height:1.5;margin:7px 1px 0;min-height:17px}
.mix-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.mix-heading .blk-t{margin:0}
.beatbar{background:none;padding:0;margin:0;gap:7px;border-radius:0}
.lights{gap:3px}
.lights i{width:4px;height:4px}
.bpm{display:flex;align-items:baseline;gap:3px;color:#929b96;line-height:1}
.bpm b{font-size:10px;font-weight:500}
.bpm span{font-size:8px;margin:0}
.console{padding:12px 8px 10px;border-radius:19px;background:linear-gradient(145deg,#f8faf9,#edf3ef);border:1px solid #e2ebe5;box-shadow:inset 0 1px 0 #fff,0 4px 12px #153c2605;gap:10px}
.fader{gap:5px}
.fader-val{font-size:13px;font-weight:650;color:#496653;line-height:1}
.fader-val::after{content:'%';font-size:9px;font-weight:400;color:#83988b;margin-left:2px}
.fader-rail{height:100px;width:48px;border-radius:12px;background:linear-gradient(90deg,#f9fcfa,#fff);border:1px solid #e0e9e3;box-shadow:inset 0 2px 4px #29473409}
.fader-rail::before{width:4px;background:#d5e0d8}
.fader-rail::after{content:'';position:absolute;left:8px;top:14px;bottom:14px;width:3px;background:repeating-linear-gradient(to top,#c5d4ca 0 1px,transparent 1px 15px);pointer-events:none}
.fader-fill{width:4px;background:linear-gradient(#54d699,#23b970)}
.fader-cap{width:36px;height:24px;z-index:2;border-color:#cddbd2;background:linear-gradient(#fff,#e9f0ec);box-shadow:0 3px 7px #173e2926,inset 0 1px 0 #fff}
.fader-cap::after{background:#87b49a;height:2px}
.fader-name{display:none}
.fader-mute{display:grid;grid-template-columns:14px auto;grid-template-rows:18px 12px;align-content:center;align-items:center;justify-content:center;column-gap:5px;row-gap:2px;min-height:44px;min-width:74px;background:transparent;border:0;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:600;color:#486451;box-shadow:none;transition:color .16s,transform .1s}
.fader-mute svg{width:14px;height:14px;stroke-width:1.7;color:#769c84}
.fader-mute .mute-state{grid-column:1/-1;min-height:12px;font-size:10px;line-height:12px;font-weight:400;color:#87938b}
.fader-mute:active{transform:scale(.96)}
.fader-mute.on{background:transparent;border-color:transparent;color:#87938b;box-shadow:none}
.fader-mute.on svg{color:#7c8a81}
.fader[data-muted="1"] .fader-rail{opacity:.65}
.fader[data-muted="1"] .fader-val{color:#8c9b92}
.fader.is-adjusting .fader-val,.fader:has(.fader-rail:focus-visible) .fader-val{color:#11a55b}
.fader.is-adjusting .fader-rail{border-color:#99d5b3;box-shadow:0 0 0 3px #30c17b12}
.fader.is-adjusting .fader-cap{border-color:#73c799;box-shadow:0 3px 8px #1b844a30}
.console.is-preset-change .fader-cap{transition:bottom .22s cubic-bezier(.2,.7,.3,1)}
.console.is-preset-change .fader-fill{transition:height .22s cubic-bezier(.2,.7,.3,1)}
.fader.is-adjusting .fader-cap,.fader.is-adjusting .fader-fill{transition:none!important}
.cue-block{background:linear-gradient(125deg,#f4fbf6,#ecf8f0);border:1px solid #dceee2;border-radius:17px;padding:8px 12px 4px;transition:background .18s,border-color .18s}
.cue-block[data-enabled="false"]{background:#f6f8f7;border-color:#e6ece8}
#cueControls .sw-row{padding:0;border:0;gap:12px;min-height:44px}
#cueControls .sl b{font-size:13px;font-weight:650;color:#2f5940}
#cueControls .sl>span{font-size:11px;color:#7d9485;line-height:1.5}
.cue-volume-box{margin:0;padding:0;background:none;border:0;overflow:hidden}
.cue-slider-line{display:flex;align-items:center;gap:12px;min-height:44px}
.cue-slider-line label{font-size:11px;color:#87948b;font-weight:400;flex:none}
.cue-slider-line output{font-size:12px;font-weight:600;color:#1caa63;flex:none;width:32px;text-align:right}
#cueVolume{flex:1;min-width:0;width:auto;height:44px}
#cueVolume::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--green) var(--cue-volume,68%),#dce7df var(--cue-volume,68%))}
#cueVolume::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px;border-width:2px}
#cueVolume::-moz-range-track,#cueVolume::-moz-range-progress{height:4px}
#cueVolume::-moz-range-thumb{width:18px;height:18px}
.practice{border-top:1px solid #edf1ee;margin-top:3px}
.practice summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;min-height:51px;outline-offset:3px}
.practice summary::-webkit-details-marker{display:none}
.practice-title{display:flex;align-items:center;gap:7px;color:#435047;flex:none}
.practice-title svg{width:15px;height:15px;color:#73867a}
.practice-title b{font-size:13px;font-weight:600}
.practice-status{margin-left:auto;font-size:11px;color:#88978e;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.practice-status[data-active="true"]{color:#1fa969}
.practice-chevron{width:15px;height:15px;flex:none;color:#98a39c;transition:transform .2s}
.practice[open] .practice-chevron{transform:rotate(180deg)}
.practice-content{padding:0 0 10px}
.practice .switches{margin-bottom:12px}
.practice .sw-row{padding:5px 0;min-height:55px}
.practice .sw-row .sl b{font-size:12px}
.practice .sw-row .sl>span{font-size:10px}
.practice .rate-box,.practice .loop-box{background:#f6f8f7;padding:12px;border-radius:14px}
.practice .tiny{font-size:10px}
.practice .rate-btn{font-size:12px}
.practice .btn-ghost{font-size:12px;color:#88978e}
.panel-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:520px){.sheet-body{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
@media(max-width:350px){.sheet-body{padding-left:16px;padding-right:16px}.presets{gap:6px}.preset b{font-size:11px}.sheet-head{padding-left:16px;padding-right:16px}.song-cue-slot{margin-left:16px;margin-right:16px}}
@media(max-width:520px) and (max-height:650px){.sheet-panel{height:86%}.sheet[data-state="full"] .sheet-panel{height:94%}}
@media(hover:hover){.preset:not(.on):hover{border-color:#acd7bc;background:#f8fcf9}.preset:not(.on):hover b,.preset:not(.on):hover em{color:#15965a}.fader-mute:hover,.fader-mute:hover svg{color:#249858}.sheet-close:hover{background:#ebf3ed}}
@media(prefers-reduced-motion:reduce){.console.is-preset-change .fader-cap,.console.is-preset-change .fader-fill,.preset::after{transition:none}}
