/* E3 before+: layout overrides only. */
.ux-library-open,.ux-library-close,.ux-library-backdrop{display:none}
.topbar .ux-top-left{gap:20px;min-width:0}
.range-toolbar{justify-content:space-between;align-items:center;gap:12px}
.ux-loop{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}
#range-lock{height:36px;min-height:36px;font-size:12px;padding:7px 12px}
#range-lock[aria-pressed=true]{background:var(--accent);color:#172313;border-color:var(--accent)}
.player-panel.ux-locked{border-color:#91b468}
.ux-phrase-strip{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:14px;margin-top:14px;min-width:0}
.ux-phrase-strip>span{font-size:11px;color:var(--muted);white-space:nowrap}
.ux-phrase-chips{display:flex;gap:8px;overflow-x:auto;min-width:0;padding:2px 2px 5px;overscroll-behavior-x:contain}
.ux-phrase-chip{flex:0 0 auto;width:auto;max-width:260px;min-height:40px;padding:6px 12px;border:1px solid #354144;border-radius:9px;background:#202c2e;text-align:left}
.ux-phrase-chip strong{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ux-phrase-chip small{display:block;font-size:10px;color:var(--muted);white-space:nowrap}
.ux-phrase-chip.ux-current{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);color:var(--orange)}
.ux-phrase-chips .ux-save{border-style:dashed;color:var(--accent);white-space:nowrap}
.tempo-card{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(220px,.8fr);gap:8px 18px;padding:16px 18px}
.tempo-card .card-heading{margin:0;gap:14px;justify-content:flex-start}
.ux-speed-control{display:flex;align-items:center;gap:10px;min-width:0}
.ux-speed-control #speed{flex:1;min-width:0;width:0}
.ux-speed-step{padding:5px 12px;min-width:44px;font-size:24px;font-weight:400}
.tempo-card .speed-presets{margin:0;align-items:center;flex-wrap:nowrap}
.tempo-card .caption{grid-column:1/-1;margin:0}
.ux-fine{margin-top:16px;border:1px solid var(--border);border-radius:16px;background:var(--panel);overflow:hidden}
.ux-fine-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 18px;background:none;border:0;text-align:left;font-size:13px;flex-wrap:wrap}
.ux-fine-summary{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.ux-fine-arrow{margin-left:auto;color:var(--muted)}
.fine-open .ux-fine-arrow{transform:rotate(180deg)}
.ux-fine .range-card{border:0;border-radius:0;padding-top:10px}
.count-card{display:block;width:100%}
.count-settings{justify-content:space-between;flex-wrap:wrap;margin-top:18px}
.youtube-active .song-heading{padding-top:14px;padding-bottom:14px}
.youtube-active .waveform-wrap{height:64px}
.ux-youtube-footer{display:flex;align-items:center;justify-content:center;gap:4px 16px;flex-wrap:wrap;margin-top:8px;text-align:center}
.ux-youtube-footer .mirror-controls{margin:0}
.youtube-area .ux-youtube-footer p{margin:0;justify-content:center}
.youtube-area .ux-youtube-footer a{float:none}
@media(max-width:1199px){
 .app-shell{display:block}.main{padding-inline:28px}
 .ux-library-open,.ux-library-close{display:inline-flex}
 .sidebar{position:fixed;inset:0 auto 0 0;z-index:31;width:min(300px,86vw);height:100dvh;padding:28px 22px 22px;transform:translateX(-100%);visibility:hidden;transition:transform .18s,visibility .18s;overflow-y:auto;border-right:1px solid var(--border)}
 .library-open .sidebar{transform:translateX(0);visibility:visible}
 .ux-library-close{align-self:flex-end;margin-bottom:12px;align-items:center;justify-content:center}
 .ux-library-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:30;border:0;background:#061011b3;width:100%;height:100%;padding:0}
 body.library-open{overflow:hidden}
 .sidebar .track-list{display:block;overflow:auto;min-height:100px;max-height:none;margin:0 -8px}
 .sidebar .library-item{max-width:none;flex:none}.sidebar .track-row{min-width:0;max-width:none}
 .sidebar .library-buttons{display:grid}.sidebar .sidebar-bottom{display:grid}
 .tempo-card{grid-template-columns:auto minmax(160px,1fr)}
 .tempo-card .speed-presets{grid-column:1/-1}
}
@media(max-width:580px){
 .main{padding-inline:16px}.topbar{min-height:55px;padding:8px 0;gap:8px;flex-wrap:nowrap}
 .topbar .ux-top-left{gap:0}.ux-top-left>span{display:none}
 .ux-library-open{padding:8px 10px;white-space:nowrap;font-size:12px;min-height:40px}
 .topbar>div:last-child{gap:7px;flex-wrap:nowrap;letter-spacing:0}.topbar .support-top{min-height:32px;padding:6px 9px}
 .topbar .connection{font-size:10px;gap:4px;white-space:nowrap}.topbar .icon-button{width:32px;height:32px}
 .ux-phrase-strip{display:block}.ux-phrase-chips{margin-top:8px}
 .tempo-card{grid-template-columns:minmax(0,1fr);padding:15px}.tempo-card .card-heading{justify-content:space-between}
 .tempo-card .speed-presets{grid-column:auto}.ux-speed-control{gap:10px}.ux-speed-step{min-height:40px}
 .ux-fine-toggle{gap:6px 10px;padding:12px 14px}.ux-fine-summary{font-size:10px}
 .count-settings{gap:14px}.ux-youtube-footer{gap:7px}
}
@media(max-width:359px){.topbar{flex-wrap:wrap}.topbar>div:last-child{margin-left:auto}}
