/* Compact workshop: existing controls move; music and persistence stay owned by their modules. */
.drums-workshop .compact-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;width:100%;margin:4px 0 8px}
.drums-workshop .compact-service-actions{display:flex;align-items:center;gap:8px;flex:none;min-width:0;margin-left:auto}
.drums-workshop .compact-toolbar :is(.note-scale-control,button){flex:none;margin:0;order:0}
.drums-workshop .compact-toolbar button{width:auto;min-height:44px;padding:6px 10px;font:inherit;font-size:13px;white-space:nowrap}
.drums-workshop .compact-toolbar>.compact-service-actions[hidden],.drums-workshop .compact-toolbar>.compact-more[hidden]{display:none!important}
.drums-workshop .compact-toolbar[data-collapsed=true]>.compact-more{margin-left:auto}
.drums-workshop .compact-toolbar>.compact-share{min-width:44px}
.drums-workshop .compact-toolbar .mode-switch{display:inline-flex;flex:0 1 auto;flex-wrap:wrap;width:auto;max-width:100%;margin:0;gap:2px;padding:2px;border-radius:7px}
.drums-workshop .compact-toolbar .mode-switch button{min-height:40px;padding:5px 9px;white-space:normal}
.drums-workshop .compact-measure{position:fixed!important;top:-10000px;left:0;display:inline-flex!important;flex-wrap:nowrap!important;width:max-content!important;max-width:none!important;visibility:hidden!important;pointer-events:none!important;contain:layout style}
.drums-workshop .compact-measure>*{flex:none!important;max-width:none!important;white-space:nowrap!important}
.drums-workshop .compact-measure .mode-switch{flex-wrap:nowrap!important}
.drums-workshop :is(.compact-more-menu,.quick-instrument-menu){position:fixed;z-index:1300;box-sizing:border-box;width:max-content;min-width:220px;overflow:auto;padding:8px;background:var(--workshop-paper,var(--site-paper));color:var(--site-ink);border:1px solid var(--interaction-border,var(--site-line));border-radius:8px;box-shadow:0 8px 28px #0002}
.drums-workshop :is(.compact-more-menu,.quick-instrument-menu)[hidden]{display:none!important}
.drums-workshop .compact-more-menu>.note-scale-control{margin:4px 0 8px;display:flex;flex-wrap:wrap;max-width:100%}
.drums-workshop .compact-more-menu>.compact-menu-action,.drums-workshop .quick-instrument-menu>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 10px;text-align:left;background:transparent;border:0;border-radius:5px;color:inherit;font:inherit}
.drums-workshop .quick-instrument-menu>button:disabled{opacity:.55}
.drums-workshop .compact-panel-back{font:inherit;font-size:13px;width:auto;min-height:44px;flex:none;padding:6px 10px}
.drums-workshop .score-notation-dock{display:flex;justify-content:space-between;align-items:center;min-height:44px;width:100%;padding:0;box-sizing:border-box;flex:none}
.drums-workshop .notation-picker-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:52px;min-height:44px;padding:6px 8px;background:var(--interaction-surface,var(--workshop-paper));color:var(--interaction-ink,var(--site-ink));border:1px solid var(--interaction-border,var(--site-line));border-radius:6px}
.drums-workshop .notation-picker-toggle svg{width:28px;height:28px;flex:none}
.drums-workshop .score-dialog-heading{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-height:48px;height:auto;flex:none}
.drums-workshop .score-dialog-heading>.score-notation-dock{width:auto;padding:0;min-height:44px}
.drums-workshop .score-dialog-heading>.note-scale-control{margin:0 auto 0 0;max-width:100%;flex-wrap:wrap}
.drums-workshop .editor-input-actions{display:flex;justify-content:flex-end;margin-left:auto;padding-left:12px;border-left:1px solid var(--interaction-border,var(--site-line))}
.drums-workshop .quick-instrument-toggle{display:block;width:auto;min-height:44px;margin:6px 0;padding:6px 12px;font:inherit;font-size:13px}
.drums-workshop .party-score-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 6px}
.drums-workshop .party-score-tools>.score-menu-group:empty{display:none}
.drums-workshop .party-score-tools>#sequence-clear{margin-left:auto}
.drums-workshop .party-score-tools .compact-chain-help{font:inherit;font-size:13px;min-height:44px;padding:6px 10px;width:auto}
.drums-workshop .compact-chain-help-content{margin:0 0 8px}
.drums-workshop .compact-chain-help-content[hidden]{display:none}
.drums-workshop .compact-chain-help-content .hint{margin:0;max-width:75ch}
.drums-workshop .sequence-add{flex-wrap:wrap}
.drums-workshop [data-return-highlight=true]{outline:3px solid var(--selection-border,var(--focus-ring));outline-offset:-3px;animation:chain-return-pulse 1.8s ease-out}
@keyframes chain-return-pulse{0%,45%{box-shadow:inset 0 0 0 3px var(--selection-border,var(--focus-ring))}100%{box-shadow:inset 0 0 0 0 transparent}}
.drums-workshop :is(.compact-more,.compact-menu-action,.quick-instrument-toggle,.quick-instrument-menu button,.compact-chain-help,.compact-panel-back):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media (max-width:600px) and (pointer:coarse),(pointer:coarse){.drums-workshop .compact-toolbar button{font-size:14px}.drums-workshop .compact-toolbar .mode-switch{flex:0 1 auto}.drums-workshop .compact-toolbar .mode-switch button{min-height:44px}.drums-workshop .party-score-tools>.notation-picker-toggle{margin-right:0}.drums-workshop .compact-chain-help{white-space:normal;max-width:calc(100% - 116px)}}
@media (prefers-reduced-motion:reduce){.drums-workshop [data-return-highlight=true]{animation:none}}

/* Upper layout: the tablist stays outside the measured action area. */
.drums-workshop .workshop-workspace-bar{display:flex;align-items:center;gap:16px;min-width:0;margin:0 0 12px}
.drums-workshop .workshop-workspace-bar>.workspace-tabs{flex:none;width:auto;margin:0;padding:0}
.drums-workshop .workshop-workspace-bar>.compact-toolbar{flex:1 1 0;flex-wrap:nowrap;width:auto;min-width:0;margin:0}
.drums-workshop .workshop-workspace-bar>.compact-toolbar[hidden]{display:none!important}
.drums-workshop .workshop-workspace-bar .compact-service-actions{gap:6px}
.drums-workshop .workshop-workspace-bar .compact-toolbar button{min-height:36px;padding:6px 8px}
.drums-workshop .score-notation-dock>.drum-share-icon{margin:0 0 0 auto}
.drums-workshop .score-notation-dock>.notation-picker-toggle{margin:0}
.drums-workshop .party-control-line{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;padding:0 0 14px;margin:0 0 12px;border-bottom:1px solid var(--site-line)}
.drums-workshop .chain-header{display:block;margin:0 0 14px;padding:0}
.drums-workshop .chain-header h2{margin:0}
.drums-workshop .party-control-line>.mode-switch{display:flex;flex:none;flex-wrap:nowrap;width:auto;margin:0;gap:2px}
.drums-workshop .party-control-line>.mode-switch button{width:auto;min-height:40px;margin:0;padding:6px 10px;white-space:nowrap}
.drums-workshop .party-control-line>.sequence-toolbar{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px;width:auto;margin:0;padding:0}
.drums-workshop .party-control-line .sequence-transport{flex:none;display:flex;align-items:center;gap:5px}
.drums-workshop .party-control-line .chain-tempo{flex:none;margin:0}
.drums-workshop .party-control-line .chain-loop{flex:none;width:auto;margin:0;min-height:44px}
.drums-workshop .party-score-tools{margin:0 0 6px;gap:10px}
.drums-workshop .party-score-tools>.notation-picker-toggle{order:0}
.drums-workshop .party-score-tools>.compact-chain-help{order:0;border:0;background:transparent;color:var(--site-muted);padding-left:0}
.drums-workshop .quick-instrument-toggle{box-sizing:border-box;height:var(--quick-instrument-height,44px);min-height:var(--quick-instrument-height,44px);padding:4px 6px;text-align:center;margin-top:6px;font-size:12px}
.drums-workshop #workshop-general-settings-toggle.workshop-settings-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:10px;flex:none}
.drums-workshop .workshop-settings-icon svg{display:block;width:20px;height:20px}
.drums-workshop :is(.workshop-settings-icon,.drum-share-icon):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.drums-workshop :is(.compact-more,.workshop-settings-icon)[aria-expanded=true]{border-color:var(--selection-border);background:var(--selection-empty)}
.drums-workshop .chain-bar-hit[data-selected=true]:not([data-range-selected=true]){background:var(--selection-empty)!important;box-shadow:inset 0 0 0 1px var(--selection-border)}
.drums-workshop .chain-bar-hit[data-return-highlight=true]{outline-color:var(--selection-border)}
@media (hover:hover){.drums-workshop :is(.compact-more,.compact-menu-action,.quick-instrument-toggle,.workshop-settings-icon,.drum-share-icon):not(:disabled):hover{background:var(--interaction-hover-surface,var(--workshop-sage));border-color:var(--interaction-hover-border,var(--site-line))}}
@media (max-width:600px) and (pointer:coarse){.drums-workshop .workshop-workspace-bar{gap:6px}.drums-workshop .workshop-workspace-bar>.workspace-tabs button{padding:6px 8px}.drums-workshop .workshop-workspace-bar .compact-toolbar button{min-height:44px}.drums-workshop .party-control-line{gap:14px}.drums-workshop .party-control-line>.sequence-toolbar{gap:10px}.drums-workshop .party-control-line .chain-loop{white-space:normal}}
@media (pointer:coarse){.drums-workshop .quick-instrument-toggle{min-height:44px;height:max(44px,var(--quick-instrument-height,44px))}.drums-workshop .workshop-workspace-bar .compact-toolbar button{min-height:44px}}

.drums-workshop :is(#score-preferences-panel,#chain-view-menu,#editor-playback-menu,#party-playback-menu)>.chain-menu-heading .compact-panel-back{width:auto;min-width:0;min-height:44px;height:auto;padding:6px 8px;font-size:13px;white-space:nowrap}
@media (max-width:600px) and (pointer:coarse){.drums-workshop .quick-instrument-toggle{min-height:44px;height:max(44px,var(--quick-instrument-height,44px))}}

/* Shared service geometry. Also applies to measurement clones and the scale in More. */
.drums-workshop{--compact-service-inner-height:44px;--compact-service-height:calc(var(--compact-service-inner-height) + 2px);--compact-service-gap:6px}
.drums-workshop .compact-service-actions{column-gap:var(--compact-service-gap)}
.drums-workshop .compact-toolbar .compact-service-button:is(button,#score-preferences-toggle,#chain-view-toggle,#editor-playback-menu-toggle,#party-playback-toggle,#drums-file-rhythm,#drums-file-party,#print-dialog-open),
.drums-workshop .compact-toolbar .compact-more{
 display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;
 width:auto;height:var(--compact-service-height);min-height:var(--compact-service-height);margin:0;padding:6px 8px;
 border:1px solid var(--interaction-border,var(--site-line));border-radius:6px;
 background:var(--interaction-surface,transparent);color:var(--interaction-ink,var(--site-ink));
 font-family:inherit;font-size:13px;font-weight:400;line-height:20px;white-space:nowrap;
}
.drums-workshop .compact-service-arrow{display:inline-block;flex:none;font:inherit;line-height:1}
/* Preserve the accepted 44 / 64 / 44 scale geometry and its existing field styles.
   Only the service buttons adapt to its outer height (44px content + 2px border). */
.drums-workshop .compact-service-scale .note-scale-buttons{height:var(--compact-service-height)}
.drums-workshop .compact-service-scale :is(.note-scale-buttons>button,.note-scale-value button,.note-scale-value input){min-height:var(--compact-service-inner-height)}
.drums-workshop .compact-toolbar .compact-service-button[aria-expanded=true],
.drums-workshop .compact-toolbar .compact-more[aria-expanded=true]{background:var(--interaction-pressed-bg);border-color:var(--interaction-hover-border)}
.drums-workshop .compact-toolbar :is(.compact-service-button,.compact-more):disabled{opacity:.45;cursor:default}
.drums-workshop .compact-toolbar :is(.compact-service-button,.compact-more):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media (hover:hover){
 .drums-workshop .compact-toolbar :is(.compact-service-button,.compact-more):not(:disabled):hover{background:var(--interaction-hover-bg);border-color:var(--interaction-hover-border)}
}
.drums-workshop .compact-toolbar :is(.compact-service-button,.compact-more):not(:disabled):active{background:var(--interaction-pressed-bg)}

/* Geometry-only refinement: retain the 44px action target in its existing lane. */
.drums-workshop .chain-bar-more{display:grid;place-items:center;padding:0;border:0;background:transparent!important;font-size:20px;line-height:1}
.drums-workshop .chain-bar-more::before{content:'';position:absolute;inset:6px;z-index:-1;pointer-events:none;border:1px solid var(--interaction-border,var(--site-line));border-radius:6px;background:var(--interaction-surface,var(--workshop-paper))}
/* The same intrinsic widths apply in the service row and inside More. */
.drums-workshop .compact-service-scale{--compact-scale-step-width:32px;--compact-scale-value-width:56px;flex:0 0 auto;width:max-content}
.drums-workshop .compact-service-scale .note-scale-buttons{flex:0 0 auto;width:max-content;padding:0;gap:0}
.drums-workshop .compact-service-scale .note-scale-buttons>button{flex:0 0 var(--compact-scale-step-width);width:var(--compact-scale-step-width);min-width:var(--compact-scale-step-width);padding-left:0;padding-right:0}
.drums-workshop .compact-service-scale .note-scale-value{flex:0 0 var(--compact-scale-value-width);width:var(--compact-scale-value-width);min-width:0}
.drums-workshop .compact-service-scale .note-scale-value :is(button,input){width:100%;min-width:0;padding-left:4px;padding-right:4px;font-variant-numeric:tabular-nums}
.drums-workshop .compact-service-scale :is(button,input){font-size:13px}
@media (pointer:coarse){.drums-workshop .compact-service-scale{--compact-scale-step-width:44px}.drums-workshop .compact-service-scale .note-scale-value input{font-size:16px}}

/* Playback is a temporary contour; permanent dynamics and teal selection stay intact. */
.drums-workshop{--playback-note:#54765d;--playback-cell:#213d2c}
html[data-drums-theme=dark] .drums-workshop{--playback-note:#7c9a86;--playback-cell:#b5bfb7}
.drums-workshop .chain-bar-hit{border-radius:5px}
.drums-workshop .chain-bar-hit[data-active=true]:not([data-selected=true]):not([data-range-selected=true]){outline:1px solid var(--playback-note);outline-offset:-2px;box-shadow:none;background:transparent!important;border-radius:5px}
.drums-workshop .chain-bar-hit[data-active=true]:is([data-selected=true],[data-range-selected=true]){outline:none}
.drums-workshop .editor .cell[data-playback-current=true]:not([data-quick-selected=true]){box-shadow:inset 0 0 0 2px var(--playback-cell)}
.drums-workshop .editor .cell[data-playback-current=true][data-quick-selected=true]::before{content:'';position:absolute;z-index:4;left:7px;right:7px;top:6px;height:2px;border-radius:1px;background:var(--playback-cell);pointer-events:none;font-size:0}
/* One segmented control: a single neutral seam, no padded gap. */
.drums-workshop .party-control-line>.mode-switch{display:inline-flex;flex-wrap:nowrap;gap:0;padding:0;border:1px solid var(--site-line);border-radius:6px;overflow:visible;background:transparent}
.drums-workshop .party-control-line>.mode-switch>button{border:0;margin:0;border-radius:0;box-shadow:none}
.drums-workshop .party-control-line>.mode-switch>button:first-child{border-radius:5px 0 0 5px}
.drums-workshop .party-control-line>.mode-switch>button:last-child{border-left:1px solid var(--site-line);border-radius:0 5px 5px 0}
/* All value fields share the same column; hints wrap within the panel width. */
.drums-workshop #chain-view-menu{display:grid;grid-template-columns:max-content minmax(0,1fr);width:max-content;max-width:calc(100vw - 16px);gap:3px 12px;padding:6px}
.drums-workshop #chain-view-menu[hidden]{display:none}
.drums-workshop #chain-view-menu>label:has(>select){display:grid;grid-template-columns:subgrid;grid-column:1/-1;gap:3px 12px;padding:3px 4px}
.drums-workshop #chain-view-menu>label:has(>select)>select{width:100%;justify-self:stretch;min-width:0;background:var(--workshop-paper);border:1px solid var(--site-line);color:var(--site-ink)}
.drums-workshop #chain-view-menu>:not(label:has(>select)){grid-column:1/-1}
.drums-workshop #chain-view-menu>.hint{width:0;min-width:100%;max-width:100%;margin:0 0 4px;overflow-wrap:anywhere}
.drums-workshop #workshop-general-settings{width:max-content;min-width:0;max-width:calc(100vw - 16px);padding:6px;gap:3px;align-self:start;justify-self:start}
.drums-workshop #workshop-general-settings>.chain-menu-heading{margin:0 0 3px;padding:0 3px 4px}
.drums-workshop #workshop-general-settings>label{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px 12px;margin:0;padding:3px 4px;flex-direction:row;font-size:13px}
.drums-workshop #workshop-general-settings select{width:100%;min-height:32px;padding:5px 9px;background:var(--workshop-paper);border:1px solid var(--site-line);color:var(--site-ink)}
.drums-workshop #workshop-general-settings>.settings-action{min-height:36px;padding:6px 9px}
.drums-workshop #workshop-general-settings>.settings-divider{margin:4px 0;border-top:1px solid var(--site-line)}
@media (max-width:480px) and (pointer:coarse){
 .drums-workshop #chain-view-menu{grid-template-columns:minmax(0,1fr)}
 .drums-workshop #chain-view-menu>label:has(>select){grid-template-columns:minmax(0,1fr);row-gap:4px}
 .drums-workshop #workshop-general-settings>label{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media (pointer:coarse){.drums-workshop :is(#chain-view-menu,#workshop-general-settings) :is(select,.settings-action){min-height:44px}}

/* Form is a floating view over the existing score, with no layout reservation. */
.drums-workshop .party-score-tools>.chain-form-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;order:0;width:auto;min-height:44px;margin:0;padding:6px 10px;border:1px solid var(--site-line);border-radius:6px;background:var(--interaction-surface,var(--workshop-paper));color:var(--site-ink);font:inherit;font-size:13px;white-space:nowrap}
.drums-workshop .party-score-tools>.chain-form-toggle[aria-expanded=true]{background:var(--workshop-sage);color:var(--workshop-green)}
.drums-workshop .chain-form-panel{position:fixed;z-index:1195;display:flex;flex-direction:column;box-sizing:border-box;width:max-content;min-width:min(21rem,calc(100vw - 16px));max-width:min(34rem,calc(100vw - 16px));padding:6px;gap:0;overflow:hidden;border:1px solid var(--site-line);border-radius:8px;background:var(--workshop-paper);color:var(--site-ink);box-shadow:0 6px 20px #0002}
.drums-workshop .chain-form-panel[hidden],.drums-workshop .chain-form-toggle[hidden]{display:none}
.drums-workshop .chain-form-heading{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 4px 8px;border-bottom:1px solid var(--site-line)}
.drums-workshop .chain-form-heading>div{min-width:0;flex:1}
.drums-workshop .chain-form-heading strong{font-size:14px;font-weight:500}
.drums-workshop .chain-form-summary{font-size:12px;line-height:1.4;color:var(--site-muted);overflow-wrap:anywhere;margin-top:2px}
.drums-workshop .chain-form-heading>button{flex:none;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:4px;background:var(--interaction-surface,transparent);color:inherit;font-size:21px}
.drums-workshop .chain-form-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.drums-workshop .chain-form-row{display:grid;grid-template-columns:32px minmax(0,1fr) max-content 32px;align-items:center;gap:4px 6px;border-bottom:1px solid var(--site-line);padding:3px 0}
.drums-workshop .chain-form-row:last-child{border-bottom:0}
.drums-workshop .chain-form-row>button{box-sizing:border-box;min-width:0;min-height:36px;margin:0;padding:5px 4px;border:0;border-radius:4px;background:var(--interaction-surface,transparent);color:var(--site-ink);font:inherit;font-size:13px}
.drums-workshop .chain-form-row>.chain-form-handle{display:flex;align-items:center;justify-content:center;width:32px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;color:var(--site-muted)}
.drums-workshop .chain-form-name{width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere;line-height:1.4}
.drums-workshop .chain-form-name[data-unnamed=true]{color:var(--site-muted)}
.drums-workshop .chain-form-count{text-align:right;white-space:nowrap;color:var(--site-muted);font-size:12px}
.drums-workshop .chain-form-more{width:32px;font-size:20px!important}
.drums-workshop .chain-form-empty{margin:0;padding:12px 8px;font-size:13px;color:var(--site-muted)}
.drums-workshop .chain-form-row[data-operation-result=true]{background:var(--selection-empty)}
.drums-workshop [data-form-destination=true]{outline:2px solid var(--selection-border);outline-offset:2px;border-radius:5px}
.drums-workshop :is(.chain-form-toggle,.chain-form-panel button):focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}
@media (max-width:600px) and (pointer:coarse){.drums-workshop .party-score-tools>.compact-chain-help{order:1;flex:1 0 100%;max-width:100%}.drums-workshop .party-score-tools>#sequence-clear{order:0;margin-left:auto}}
@media (pointer:coarse){.drums-workshop .chain-form-row{grid-template-columns:44px minmax(0,1fr) max-content 44px}.drums-workshop .chain-form-row>button{min-height:44px}.drums-workshop .chain-form-row>:is(.chain-form-handle,.chain-form-more){width:44px}.drums-workshop .chain-form-heading>button{width:44px;height:44px}}
@media print{.chain-form-toggle,.chain-form-panel{display:none!important}}

/* Independent row cells; shared indices remain musical data, not DOM columns. */
.drums-workshop .editor[data-row-grids=true] #grid{display:block;min-width:var(--row-grid-min)!important;grid-template-columns:none!important}
.drums-workshop .editor[data-row-grids=true] :is(.instrument-grid-row,.desktop-grid-heading){display:grid;grid-template-columns:252px minmax(0,1fr);align-items:center;margin:0 0 6px;gap:0}
.drums-workshop .editor[data-row-grids=true] .instrument-grid-cells,.drums-workshop .editor[data-row-grids=true] .instrument-grid-counts{display:grid;column-gap:0;min-width:0}
.drums-workshop .editor[data-row-grids=true] #grid .row-label.instrument-label{display:grid;grid-template-columns:minmax(76px,1fr) 32px 42px 42px;gap:4px;padding-right:6px;min-height:44px}
.drums-workshop .editor[data-row-grids=true] #grid .instrument-label :is(.mute-button,.solo-button,.instrument-grid-control){display:inline-flex;justify-content:center;align-items:center;gap:3px;padding:4px 2px;min-width:0;width:100%;white-space:nowrap}
.drums-workshop .editor[data-row-grids=true] #grid .instrument-name{white-space:normal}
.drums-workshop .editor[data-row-grids=true] #grid .cell{justify-self:start;width:calc(100% - 6px);min-width:28px;max-width:none}
.drums-workshop .editor[data-row-grids=true] .desktop-beat-header{grid-column:auto;min-width:0;display:grid;gap:0}
.drums-workshop .desktop-local-menu{z-index:1400}
@media (pointer:coarse){.drums-workshop .editor[data-row-grids=true] #grid .row-label.instrument-label{grid-template-columns:minmax(76px,1fr) 44px 44px 48px}.drums-workshop .editor[data-row-grids=true] #grid .cell{min-width:44px}}
.drums-workshop .editor[data-row-grids=true] .instrument-grid-cells{position:relative}
.drums-workshop .editor[data-row-grids=true] .instrument-grid-row[data-partial=true]{padding-bottom:14px}
.drums-workshop .instrument-grid-tail{position:absolute;bottom:-14px;font-size:10px;line-height:12px;color:var(--site-muted);pointer-events:none;white-space:nowrap}
.drums-workshop .editor[data-row-grids=true] #grid .row-label.instrument-label{position:sticky;left:0;z-index:2;background:var(--workshop-paper);border-right:1px solid var(--site-line)}
@media (max-width:600px) and (pointer:coarse){
 .drums-workshop .editor[data-row-grids=true] #grid{min-width:calc(var(--row-grid-min) - 100px)!important}
 .drums-workshop .editor[data-row-grids=true] :is(.instrument-grid-row,.desktop-grid-heading){grid-template-columns:152px minmax(0,1fr)}
 .drums-workshop .editor[data-row-grids=true] #grid .row-label.instrument-label{grid-template-columns:minmax(0,1fr) 44px}
 .drums-workshop .editor[data-row-grids=true] #grid .instrument-label :is(.mute-button,.solo-button){display:none}
}

/* UI follow-up: cell ink stays below the opaque pinned instrument controls. */
.drums-workshop .editor[data-row-grids=true] .instrument-grid-cells{isolation:isolate;z-index:0}
.drums-workshop .editor[data-row-grids=true] #grid .row-label.instrument-label{z-index:5;background:var(--workshop-paper)}
/* Real controls wrap in the same transport panel, never collapse the common action. */
.drums-workshop .constructor-return-controls{flex:0 0 auto;flex-wrap:wrap;max-width:100%;gap:8px;margin-left:auto}
.drums-workshop .constructor-return-controls :is(#sequence-add,#sequence-update,#sequence-save-return,#sequence-go-chain){min-height:44px;max-width:100%;padding:6px 10px;font-size:13px;white-space:normal;background:var(--workshop-paper);color:var(--site-ink);border:1px solid var(--site-line);box-shadow:none}
.drums-workshop .constructor-return-controls .constructor-extra-actions{position:static;flex:none;align-self:center}
.drums-workshop .constructor-return-controls #constructor-extra-toggle{position:static;flex:none}
.drums-workshop .constructor-options{flex-wrap:wrap}
.drums-workshop .editor-input-actions{align-self:center;flex:none}
.drums-workshop :is(#notation,.sequence-score,.chain-system-canvas),.drums-workshop :is(#notation,.sequence-score,.chain-system-canvas) *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.drums-workshop #chain-menu{width:max-content;max-width:min(24rem,calc(100vw - 16px))}
.drums-workshop #chain-menu :is(.chain-bar-section-actions,.chain-bar-operations,.chain-bar-movement){display:flex;flex-direction:column;gap:2px;margin:0;padding:0;border:0;background:transparent}
.drums-workshop #chain-menu .chain-bar-section-actions>button{border:0;background:var(--interaction-surface,transparent);text-align:left;min-height:var(--menu-row-height);padding:6px 8px}
.drums-workshop #chain-menu .chain-source-details{border:0;padding:0;margin:2px 0}
.drums-workshop #chain-menu hr{margin:4px 0}
.drums-workshop #chain-menu :is(input,textarea){box-sizing:border-box;max-width:100%;min-width:0}
.drums-workshop .chain-rhythm-heading{outline:none;box-shadow:none}
.drums-workshop .chain-rhythm-heading:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.drums-workshop .drum-history-toggle svg{display:block;width:24px;height:24px;flex:none;aspect-ratio:1;overflow:visible}

/* Keep the contextual action and separated trash together on narrow screens. */
.drums-workshop .constructor-context-actions{display:flex;align-items:center;gap:8px;flex:0 1 auto;max-width:100%;min-width:0;margin-left:auto}
.drums-workshop .constructor-context-actions .constructor-return-controls{flex:0 1 auto;margin-left:0}
.drums-workshop .constructor-context-actions .editor-input-actions{flex:none;margin-left:0}
.drums-workshop #sequence-go-chain,.drums-workshop #chain-paste{display:none!important}

/* Destination-bound paste and quiet movement/delete commands. */
.drums-workshop .chain-insertion-menu{width:max-content;max-width:min(25rem,calc(100vw - 16px));overflow:auto;overscroll-behavior:contain}
.drums-workshop .chain-insertion-menu :is(p,button){white-space:normal;overflow-wrap:anywhere}
.drums-workshop #chain-menu .chain-bar-movement>button,.drums-workshop #chain-menu .chain-delete-bar{display:block;width:100%;border:0;border-radius:4px;background:var(--interaction-surface,transparent);text-align:left;white-space:normal}
.drums-workshop #chain-menu .chain-delete-bar{margin:0;padding:7px 9px;color:var(--state-danger-ink,#a63a32)}
html[data-drums-theme=dark] .drums-workshop #chain-menu .chain-delete-bar{color:var(--state-danger-ink,#f09b91)}
.drums-workshop #chain-menu .chain-move-block{justify-content:flex-start;flex-wrap:wrap;gap:8px}
#replace-constructor-draft{width:min(30rem,calc(100vw - 24px));padding:16px;overflow:auto}
#replace-constructor-draft h2{margin:0 0 12px;font-size:18px}
#replace-constructor-draft p{margin:0;line-height:1.5}
#replace-constructor-draft .drums-file-actions{padding:14px 0 0;border:0;background:transparent}
#drums-file-open-mode{margin:12px 0;display:grid;gap:6px}
#drums-file-open-mode label{display:flex;align-items:flex-start;gap:8px;min-height:44px;line-height:1.4;font-size:14px}
#drums-file-open-mode input{flex:none;margin-top:3px}
.drums-file-actions>button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media (max-width:540px) and (pointer:coarse){#replace-constructor-draft .drums-file-actions,.drums-file-dialog .drums-file-actions{flex-direction:column;align-items:stretch}}

.drums-workshop :is(.chain-bar-operations,.chain-range-commands)>button{min-width:0;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}

/* Consolidated UI follow-up: content-sized rhythm rows, shared menu alignment. */
.drums-workshop #sequence-list:has(.chain-rhythm){display:block;margin-top:4px}
.drums-workshop .chain-rhythm{padding:6px 0 10px;border:0;border-bottom:1px solid var(--site-line);border-radius:0;background:transparent}
.drums-workshop .chain-rhythm-row{display:flex;align-items:center;gap:8px;min-width:0}
.drums-workshop .chain-rhythm-heading{flex:0 1 auto;min-width:0;min-height:var(--menu-row-height);margin:0;padding:4px 0;line-height:1.4;white-space:normal;overflow-wrap:anywhere;border:0;border-radius:4px;background:transparent;box-shadow:none;outline:none}
.drums-workshop .chain-rhythm-more{flex:none;min-width:var(--menu-row-height);min-height:var(--menu-row-height);padding:2px 6px;border:1px solid var(--site-line);border-radius:4px;background:var(--interaction-surface,transparent);color:var(--site-ink);font:inherit;font-size:20px;line-height:1}
.drums-workshop .chain-rhythm :is(.chain-rhythm-heading,.chain-rhythm-more):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.drums-workshop .chain-rhythm .chain-rhythm-description{margin:2px 0 4px;font-size:13px;line-height:1.4}
.drums-workshop .chain-rhythm .sequence-score{width:100%;max-width:100%;height:auto;min-height:0;margin:2px 0 0;overflow:auto}
.drums-workshop .chain-rhythm .sequence-score svg{display:block;flex:none}
.drums-workshop #chain-menu :is(.chain-move-block,.chain-bar-movement>button,.chain-delete-bar){box-sizing:border-box;margin:0;padding:5px 9px;font:inherit;font-size:var(--menu-font-size);line-height:1.4;min-height:var(--menu-row-height)}
.drums-workshop #chain-menu .chain-move-block{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:10px;color:var(--site-ink)}
.drums-workshop #chain-menu .chain-move-block>span{min-width:0;white-space:normal;overflow-wrap:anywhere}
.drums-workshop #chain-menu .chain-move-controls{flex:none;margin-left:auto}
.drums-workshop #chain-menu .chain-delete-bar{color:var(--danger-fg,var(--state-danger-ink,#a63a32))}
/* A fixed status slot prevents layout shifts, including when the text is empty. */
.drums-workshop #sequence-status,.drums-workshop #sequence-status:empty{box-sizing:border-box;height:24px;min-height:24px;margin:4px 0 4px;line-height:24px}
.drums-workshop #chain-clear-dialog[data-kind=rhythms] .chain-clear-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.drums-workshop #chain-clear-dialog[data-kind=rhythms] .chain-clear-actions>button{width:100%;margin:0;white-space:normal}
.drums-workshop #chain-clear-dialog .chain-clear-actions>#chain-clear-confirm{color:var(--danger-fg,#a63a32);border:1px solid currentColor;background:transparent}
.drums-workshop #chain-clear-dialog[data-kind=rhythms] #chain-clear-cancel{margin-top:8px}
.drums-workshop #chain-clear-dialog #chain-clear-unused-reason{margin:0;font-size:13px}
#drums-file-open-mode{min-width:0;padding:0;border:0;gap:4px}
#drums-file-open-mode legend{padding:0;margin-bottom:4px;font-size:14px}
#drums-file-open-mode label{box-sizing:border-box;align-items:center;min-height:36px;padding:4px 6px;border-radius:4px;cursor:pointer}
#drums-file-open-mode label:has(input:checked){background:var(--selection-empty,#EAF5F3);color:var(--site-ink);box-shadow:inset 3px 0 var(--selection-border,#2D8280)}
#drums-file-open-mode input[type=radio]{appearance:auto;-webkit-appearance:radio;position:static;flex:none;width:16px;height:16px;min-width:16px;min-height:16px;margin:0;transform:none;accent-color:var(--selection-border,#2D8280)}
#drums-file-open-mode input[type=radio]::after{content:none}
#drums-file-open-mode label:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}
.drums-workshop :is(#editor-panel,#sequence-panel,#score-dialog,.chain-form-panel,.chain-menu,.quick-selection-panel,.quick-input-menu,.quick-instrument-menu,.desktop-local-menu){-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.drums-workshop :is(input,textarea,[contenteditable=true],.drum-help-content,.notation-help,.compact-chain-help-content,.hint){-webkit-user-select:text;user-select:text;-webkit-user-drag:auto}
.drums-workshop .quick-selection-panel{overscroll-behavior:contain;overflow-y:auto;overflow-x:hidden;touch-action:pan-y}
@media (pointer:coarse){.drums-workshop .chain-rhythm :is(.chain-rhythm-heading,.chain-rhythm-more){min-height:44px;min-width:44px}#drums-file-open-mode label{min-height:44px}}
@media (hover:hover){
 .drums-workshop .chain-rhythm :is(.chain-rhythm-heading,.chain-rhythm-more):hover{background:var(--interaction-hover-bg,var(--workshop-sage))}
 .drums-workshop #chain-clear-dialog #chain-clear-confirm:hover{background:var(--danger-hover-bg)}
}

/* Grid labels use the workshop palette; choice help is available without hover. */
.drums-workshop .desktop-global-grid{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.drums-workshop .grid-label-duration{display:inline-flex;align-items:center;font-variant-numeric:tabular-nums}
.drums-workshop .grid-label-duration svg{display:block;flex:none}
.drums-workshop .grid-label-group{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:19px;padding:0 3px;border:1px solid var(--site-line);border-radius:4px;font-size:11px;line-height:1}
.drums-workshop .desktop-local-menu .grid-choice{display:flex;align-items:center;gap:8px;white-space:normal;text-align:left}
.drums-workshop .grid-choice-check{flex:0 0 16px;text-align:center}
.drums-workshop .grid-choice-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.drums-workshop .grid-choice-text small{font-size:11px;line-height:1.35;color:var(--site-muted);white-space:normal;overflow-wrap:anywhere}
.drums-workshop .grid-choice[aria-pressed=true]{background:var(--workshop-sage)}
.drums-workshop .grid-choice:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}
.drums-workshop .editor[data-row-grids=true] #grid .instrument-label .instrument-grid-control{width:100%;min-width:0;box-sizing:border-box}
.drums-workshop #grid-label-style{min-width:0}
@media (pointer:coarse){.drums-workshop .desktop-local-menu .grid-choice{min-height:48px}}

.drums-workshop .desktop-beat-header{position:relative}
.drums-workshop .grid-beat-override{position:absolute;right:17px;top:2px;font-size:10px;line-height:1.2;padding:1px 3px;border:1px solid var(--site-line);border-radius:3px;background:var(--workshop-paper);color:var(--site-ink);pointer-events:none}
/* Author spelling is a reversible preview in the existing dialog layer. */
.drums-workshop .spelling-dialog{width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.drums-workshop .spelling-instrument{font-weight:500}
.drums-workshop .spelling-dialog label{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.drums-workshop .spelling-choices{display:flex;gap:8px;flex-wrap:wrap;margin-block:16px}
.drums-workshop .spelling-choices button{min-height:44px;flex:1 1 160px}
.drums-workshop .spelling-choices [aria-pressed=true]{background:var(--workshop-sage);border-color:var(--site-ink)}
.drums-workshop .spelling-feedback{font-size:13px;line-height:1.5;color:var(--site-muted)}
.drums-workshop .spelling-preview{overflow:auto;max-height:340px;background:var(--workshop-paper,var(--site-paper));border:1px solid var(--site-line);border-radius:8px;margin-bottom:16px}
.drums-workshop .spelling-preview svg{min-width:320px}
.drums-workshop .spelling-notice{font-size:13px;line-height:1.4;color:var(--site-muted)}
.drums-workshop .grid-choice-symbol{flex:0 0 64px;display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;justify-content:flex-start}
.drums-workshop .grid-choice-text{flex:1}
.drums-workshop .grid-choice-individual .grid-choice-symbol{flex-basis:24px;text-align:right;justify-content:center}
.drums-workshop .grid-choice-individual .grid-choice-hint{display:none}
.drums-workshop .grid-choice-inherited{margin-bottom:6px;border-bottom:1px solid var(--site-line);border-radius:0}
.drums-workshop .grid-menu-help{max-width:280px;padding:6px 10px;margin:4px 0;font-size:12px;line-height:1.4;color:var(--site-muted);white-space:normal}

/* Spelling inspector: retain the study's compact interval and choice hierarchy. */
.drums-workshop .spelling-dialog{width:min(660px,calc(var(--file-viewport-width,100vw) - 24px));padding:0;overflow:hidden}
.drums-workshop .spelling-header{padding:16px 18px;border-bottom:1px solid var(--site-line);flex:none}
.drums-workshop .spelling-header h2{margin:0;font-size:17px;line-height:1.4;font-weight:500}
.drums-workshop .spelling-body{display:grid;gap:12px;padding:16px 18px;min-height:0;overflow:auto;scrollbar-gutter:stable}
.drums-workshop .spelling-body p{margin:0}
.drums-workshop .spelling-instrument{font-size:14px;font-weight:500}
.drums-workshop .spelling-interval{padding:10px 12px;border-left:3px solid var(--selection-border,#287d80);background:var(--interaction-selected-bg,var(--workshop-sage));display:grid;gap:8px;font-size:13px;line-height:1.5}
.drums-workshop .spelling-interval label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.drums-workshop .spelling-interval select{width:100%;min-width:0;min-height:38px}
.drums-workshop .spelling-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}
.drums-workshop .spelling-choices button{min-width:0;min-height:64px;flex:none;padding:8px 10px;white-space:normal;text-align:left;font-size:13px;line-height:1.4;border:1px solid var(--site-line);border-radius:6px}
.drums-workshop .spelling-choices small{display:block;color:var(--site-muted);margin-top:3px;font-size:12px;line-height:1.4}
.drums-workshop .spelling-choices [aria-pressed=true]{background:var(--interaction-selected-bg,var(--workshop-sage));border-color:var(--selection-border,#287d80)}
.drums-workshop .spelling-choices button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.drums-workshop .spelling-feedback{height:4.5em;overflow:auto;font-size:12px;line-height:1.5;color:var(--site-muted);scrollbar-gutter:stable}
.drums-workshop .spelling-preview-label{font-size:12px;color:var(--site-muted)}
.drums-workshop .spelling-preview{box-sizing:border-box;height:220px;max-height:none;margin:0;padding:0 10px;overflow:auto;display:block;border:1px solid var(--site-line);border-radius:8px;background:var(--workshop-paper);text-align:left}
.drums-workshop .spelling-preview .spelling-drawing{width:max-content!important;min-width:0;display:block}
.drums-workshop .spelling-preview svg{display:block;min-width:0;max-width:none;margin:0;flex:none}
.drums-workshop .spelling-actions{padding:12px 18px;margin:0;border-top:1px solid var(--site-line);display:flex;justify-content:flex-end;gap:8px;background:var(--workshop-sage);flex:none}
.drums-workshop .spelling-actions button{min-height:40px;min-width:104px;width:auto}
.drums-workshop .quick-spelling-group{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;border-top:1px solid var(--site-line);padding-top:8px;width:100%}
.drums-workshop .quick-spelling-group .hint{margin:0;font-size:12px;flex:1 1 160px}
.drums-workshop .quick-selection-panel .quick-spelling-group button{width:auto;flex:none;min-height:34px;padding:6px 10px;font-size:12px}
.drums-workshop .quick-group-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%}
.drums-workshop .quick-action-group{width:100%;gap:6px;flex-wrap:wrap}
.drums-workshop .quick-selection-panel :is(.quick-action-group,.quick-fill-group) button{min-height:34px;padding:6px 10px}
@media (max-width:560px) and (pointer:coarse){
 .drums-workshop .spelling-header{padding:12px}
 .drums-workshop .spelling-body{padding:12px;gap:10px}
 .drums-workshop .spelling-interval label{grid-template-columns:minmax(0,1fr);gap:4px}
 .drums-workshop .spelling-choices{grid-template-columns:minmax(0,1fr)}
 .drums-workshop .spelling-choices button{min-height:44px}
 .drums-workshop .spelling-choices small{display:none}
 .drums-workshop .spelling-feedback{height:6em}
 .drums-workshop .spelling-actions{padding:12px;flex-direction:row;align-items:center}
 .drums-workshop .spelling-actions button{flex:1;min-width:0}
}
@media (pointer:coarse){.drums-workshop :is(.spelling-actions,.quick-spelling-group,.quick-action-group,.quick-fill-group) button{min-height:44px}}

.drums-workshop .desktop-local-menu>button.grid-choice[aria-pressed=true]::before{content:none;display:none}
.drums-workshop .desktop-local-menu:has(.grid-choice-individual){width:max-content;min-width:220px;max-width:calc(100vw - 16px)}
.drums-workshop .desktop-local-menu .grid-choice-individual{min-height:38px;padding:7px 10px}
.drums-workshop .grid-choice-individual .grid-choice-symbol{flex-basis:22px}
.drums-workshop .grid-menu-help{max-width:260px;margin:0;border-top:1px solid var(--site-line);padding:6px 10px}
.drums-workshop .grid-menu-help summary{font-size:12px;min-height:32px;display:flex;align-items:center;cursor:pointer}
.drums-workshop .grid-menu-help p{margin:4px 0;line-height:1.5}
.drums-workshop .desktop-global-grid{min-width:72px}
.drums-workshop .instrument-picker[hidden]{display:none!important}
.drums-workshop .quick-instrument-menu{width:288px;min-width:0;padding:8px;overflow:auto;overscroll-behavior:contain}
.drums-workshop .quick-instrument-menu .instrument-check-row{display:flex;align-items:center;gap:9px;min-height:38px;margin:0;padding:4px 8px;cursor:pointer;font-size:13px;line-height:1.4;flex:1;min-width:0}
.drums-workshop .quick-instrument-menu input[type=checkbox]{width:17px;height:17px;flex:none;margin:0;accent-color:var(--selection-border,#287d80)}
.drums-workshop .instrument-all{border-bottom:1px solid var(--site-line);font-weight:500}
.drums-workshop .instrument-group-heading{display:flex;align-items:center}
.drums-workshop .quick-instrument-menu .instrument-group-disclosure{width:34px;min-width:34px;min-height:38px;padding:4px;display:flex;justify-content:center;align-items:center;border:0;font:inherit}
.drums-workshop .instrument-group-heading label{font-weight:500}
.drums-workshop .instrument-group-list{padding-left:34px}
.drums-workshop .instrument-group-list[hidden]{display:none}
.drums-workshop .quick-instrument-menu .hint{font-size:12px;line-height:1.45;margin:8px}
@media (pointer:coarse){.drums-workshop .quick-instrument-menu :is(.instrument-check-row,.instrument-group-disclosure){min-height:44px}}
.drums-workshop .desktop-local-menu>button.grid-reset-action{border-top:1px solid var(--site-line);border-radius:0;margin-top:6px;padding-top:10px;font-size:12px}
.drums-workshop .notation-footer{display:flex;align-items:center;gap:12px;box-sizing:border-box;height:44px;min-height:44px}
.drums-workshop .notation-footer>.notation-help{flex:none}
.drums-workshop .editor-action-message{flex:1;min-width:0;margin:0;text-align:right;font-size:12px;line-height:1.4;color:var(--site-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.drums-workshop #workshop-general-settings{width:400px;max-width:calc(100vw - 16px);padding:10px;box-sizing:border-box}
.drums-workshop .general-settings-group{display:grid;gap:6px;padding:8px 0;border-top:1px solid var(--site-line)}
.drums-workshop .general-settings-group:last-child{padding-bottom:0}
.drums-workshop .general-settings-group h3{font-size:12px;font-weight:500;margin:0;color:var(--site-muted)}
.drums-workshop #workshop-general-settings .general-settings-group label{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;margin:0;font-size:13px;line-height:1.45}
.drums-workshop #workshop-general-settings .general-settings-group select{min-width:0;width:100%;min-height:36px;padding:5px 9px;box-sizing:border-box}
.drums-workshop #workshop-general-settings .settings-action{display:block;width:100%;min-height:36px;padding:6px 8px;margin:0;border:0;border-radius:5px;background:transparent;color:var(--site-ink);text-align:left;font-size:13px;line-height:1.4;white-space:normal}
.drums-workshop #editor-panel .toolbar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 12px}
.drums-workshop .constructor-transport{display:flex;align-items:center;gap:8px;flex:none;width:auto;min-width:0}
.drums-workshop .constructor-options{display:flex;align-items:center;flex:1 1 auto;flex-wrap:wrap;gap:8px 12px;width:auto;min-width:0}
.drums-workshop .constructor-grid-options{display:flex;align-items:center;gap:8px;flex:none}
.drums-workshop .constructor-context-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin-left:auto;min-width:0;flex:0 1 auto}
.drums-workshop .editor-input-actions{padding-left:8px;margin-left:0}
.drums-workshop .constructor-return-controls{gap:6px;margin-left:0}
.drums-workshop .toolbar .tempo-control{margin-left:0}
@media (max-width:560px) and (pointer:coarse){
 .drums-workshop #workshop-general-settings .general-settings-group label{grid-template-columns:minmax(0,1fr);gap:4px}
 .drums-workshop .constructor-transport{flex-wrap:wrap;width:100%}
 .drums-workshop .constructor-options{width:100%}
 .drums-workshop .constructor-context-actions{flex-wrap:wrap}
 .drums-workshop .editor-action-message{font-size:11px}
}
.drums-workshop .notation-help .desktop-detail-overlay{width:480px;max-width:calc(100vw - 16px);white-space:normal}
.drums-workshop .notation-reference{display:grid;gap:10px;max-width:100%}
.drums-workshop .notation-reference h3{margin:0 0 6px;font-size:13px;font-weight:500;color:var(--site-muted)}
.drums-workshop .notation-reference-instruments{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:0 12px}
.drums-workshop .notation-reference-item{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;min-width:0;font-size:13px}
.drums-workshop .notation-reference-note{display:block;width:40px;height:56px;min-width:40px;overflow:hidden;flex:none;color:var(--site-ink)}
.drums-workshop .notation-reference-note svg{display:block;width:40px;height:56px;max-width:40px}
.drums-workshop .notation-reference-techniques{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px}
.drums-workshop .notation-reference-techniques>span{display:inline-block}
.drums-workshop .notation-reference .notation-abbreviations{margin:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.5}
html[data-drums-theme=dark] .notation-reference-note svg{filter:invert(1)}
.drums-workshop .unified-desktop #score-viewport #notation{justify-content:flex-start;align-items:flex-start}
.drums-workshop .editor>#score-panel #score-viewport{overflow:auto}

@media (pointer:coarse){.drums-workshop #workshop-general-settings .general-settings-group :is(select,.settings-action){min-height:44px}}

.drums-workshop #workshop-general-settings .settings-action:hover{background:var(--interaction-hover-surface,var(--workshop-sage))}
.drums-workshop #workshop-general-settings .settings-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}

/* Count hierarchy stays light: text only, no badge or added quarter borders. */
.drums-workshop [data-count-level]{font-weight:400;color:#697069;fill:#697069}
.drums-workshop [data-count-level=beat]{font-weight:600}
.drums-workshop [data-count-level=support],.drums-workshop [data-count-level=group]{font-weight:500}
html[data-drums-theme=dark] .drums-workshop [data-count-level]{color:#bec7bf;fill:#bec7bf}

.chain-reprise-controls{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:8px 0 12px;font-size:13px;color:var(--site-muted)}
.chain-reprise-controls[hidden]{display:none}
.chain-reprise-controls>span{flex:1 1 220px}
.chain-reprise-controls button{min-height:36px;padding:6px 10px;background:transparent;color:var(--site-ink);border:1px solid var(--site-line);border-radius:4px;font:inherit}
@media (pointer:coarse){.chain-reprise-controls button{min-height:44px}}

/* SVG counts only: leave the approved HTML grid header unchanged.
   Match the score theme's ID specificity so general SVG text rules cannot
   replace the deliberately quiet count colours in the dark theme. */
.drums-workshop svg text[data-count-level],
.drums-workshop :is(#notation,.sequence-score,.shared-score,.chain-drag-notes,#drums-file-score) svg text[data-count-level]{stroke:none;stroke-width:0;font-weight:400;fill:#7b847a}
.drums-workshop svg text:is([data-count-level=beat],[data-count-level=group]),
.drums-workshop :is(#notation,.sequence-score,.shared-score,.chain-drag-notes,#drums-file-score) svg text:is([data-count-level=beat],[data-count-level=group]){font-weight:500;fill:#596255}
.drums-workshop svg text[data-count-level=support],
.drums-workshop :is(#notation,.sequence-score,.shared-score,.chain-drag-notes,#drums-file-score) svg text[data-count-level=support]{fill:#697069}
html[data-drums-theme=dark] .drums-workshop svg text[data-count-level],
html[data-drums-theme=dark] .drums-workshop :is(#notation,.sequence-score,.shared-score,.chain-drag-notes,#drums-file-score) svg text[data-count-level]{fill:#aab6ac}
html[data-drums-theme=dark] .drums-workshop svg text:is([data-count-level=beat],[data-count-level=group]),
html[data-drums-theme=dark] .drums-workshop :is(#notation,.sequence-score,.shared-score,.chain-drag-notes,#drums-file-score) svg text:is([data-count-level=beat],[data-count-level=group]){fill:#cbd5cd}
html[data-drums-theme=dark] .drums-workshop svg text[data-count-level=support],
html[data-drums-theme=dark] .drums-workshop :is(#notation,.sequence-score,.shared-score,.chain-drag-notes,#drums-file-score) svg text[data-count-level=support]{fill:#bec7bf}

/* Form and fill use the existing document/history, never a second model. */
.chain-form-entry{display:grid;gap:10px;padding:8px 0}.chain-form-entry-row{display:grid;grid-template-columns:minmax(80px,1fr) 60px minmax(120px,auto) 44px;gap:6px;align-items:start}.chain-form-entry-row input{width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:8px;border:1px solid var(--site-line);border-radius:5px;background:var(--workshop-paper);color:var(--site-ink);font:inherit}.chain-form-meter{display:flex;align-items:center;gap:3px}.chain-form-meter select{min-height:44px;width:60px;padding:4px;font:inherit}.form-field-error{color:var(--site-muted);font-size:12px;grid-column:1/-1;margin:0}.chain-form-entry-row [aria-invalid=true]{outline:2px solid var(--site-ink);outline-offset:1px}.chain-form-entry .chain-clear-actions{display:flex;flex-wrap:wrap;gap:6px}.chain-form-add{margin-top:6px}.chain-fill-actions{display:inline-flex;gap:6px;align-items:center;min-width:0;max-width:100%}.chain-fill-actions button{white-space:normal}.chain-fill-target{flex-basis:100%;width:100%;font-size:13px;line-height:1.4;margin:4px 0;overflow-wrap:anywhere;color:var(--site-ink)}.constructor-context-actions{flex-wrap:wrap}.drums-workshop .chain-fill-actions #sequence-add{max-width:100%;min-width:0}.chain-fill-cancel{min-height:44px;padding:6px 10px}.chain-fill-dialog{max-width:min(32rem,calc(100vw - 16px))}.chain-fill-dialog .drums-file-actions{flex-wrap:wrap}.mobile-constructor-controls[hidden],.mobile-chain-controls[hidden],.mobile-control-slot{display:none!important}.chain-mobile-select{min-height:44px}.chain-mobile-loop{display:inline-flex;align-items:center;gap:6px;min-height:44px}.chain-mobile-loop[aria-pressed=true]{background:var(--workshop-sage);color:var(--workshop-green)}.mobile-input-tools{display:flex;align-items:center;gap:4px;grid-column:1/-1}.mobile-input-tools .quick-input-toggle{min-width:0;flex:1}.mobile-input-tools #clear{flex:none;margin:0;width:44px;height:44px}.mobile-input-tools[hidden]{display:none}.quick-instrument-menu .instrument-choice-group .instrument-choice-group{margin-left:14px}.quick-instrument-menu{overflow:auto;max-height:calc(100dvh - 16px)}
.drums-workshop .constructor-grid-options{flex:none;min-width:0}.drums-workshop .constructor-grid-options #meter-picker>summary{min-width:68px}.drums-workshop .constructor-grid-options .desktop-global-grid{flex:none}
.drums-workshop[data-mobile-controls=compact] .mobile-constructor-controls{display:grid;gap:8px;margin:8px 0 12px;min-width:0}.mobile-editor-transport,.mobile-chain-transport{display:flex;align-items:center;gap:6px}.mobile-editor-settings{display:grid;grid-template-columns:minmax(134px,1.25fr) minmax(50px,.6fr) minmax(66px,.9fr);gap:4px;align-items:stretch}.mobile-editor-settings>*{min-width:0!important;width:100%!important;box-sizing:border-box;height:44px}.mobile-editor-settings .tempo-control{display:flex;gap:1px}.mobile-editor-settings .tempo-step{min-width:44px!important;width:44px!important;min-height:44px!important;padding:2px!important}.mobile-editor-settings .tempo-bpm,.mobile-editor-settings .tempo-unit{display:none}.mobile-editor-settings .tempo-value{min-width:36px;flex:1}.mobile-editor-settings .tempo-readout{width:100%;min-height:44px;padding:2px!important}.mobile-editor-settings #meter-picker>summary,.mobile-editor-settings .desktop-global-grid{display:flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:4px!important;box-sizing:border-box}.mobile-editor-apply{display:grid;gap:4px;min-width:0}.mobile-editor-apply .constructor-return-controls{display:flex;width:100%;min-width:0}.mobile-editor-apply .chain-fill-actions{display:flex;flex:1;width:100%}.mobile-editor-apply .chain-fill-actions #sequence-add{flex:1;min-height:44px;white-space:normal}.mobile-editor-apply .chain-fill-cancel{flex:none}.mobile-chain-controls{display:grid;gap:8px;margin:8px 0}.mobile-chain-tempo{display:flex;align-items:center;gap:10px}.mobile-chain-views .mode-switch{display:flex}.mobile-chain-views button{flex:1;white-space:normal}.drums-workshop[data-mobile-controls=compact] .party-control-line,.drums-workshop[data-mobile-controls=compact] .constructor-transport,.drums-workshop[data-mobile-controls=compact] .constructor-grid-options,.drums-workshop[data-mobile-controls=compact] .constructor-context-actions{min-height:0;gap:0}.drums-workshop[data-mobile-controls=compact] .party-score-tools{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.drums-workshop[data-mobile-controls=compact] .compact-chain-help{width:44px;height:44px;padding:0}.drums-workshop[data-mobile-controls=compact] .chain-header{margin-bottom:6px}.drums-workshop[data-mobile-controls=compact] #sequence-list{margin-top:8px}.drums-workshop[data-mobile-controls=compact] .constructor-options{gap:0}.drums-workshop[data-mobile-controls=compact] .toolbar{margin:0;gap:0}
@media (max-width:420px) and (pointer:coarse){.chain-form-entry-row{grid-template-columns:minmax(80px,1fr) 60px 44px}.chain-form-entry-row>input:first-child{grid-column:1/3}.chain-form-entry-row>button{grid-column:3;grid-row:1}.chain-form-meter{grid-column:2/4;grid-row:2}.chain-form-entry .chain-clear-actions{gap:4px}.chain-form-entry .chain-clear-actions button{padding:6px 8px;min-height:44px}}
/* Help retains the production legend; only its window and entry points change. */
.drums-workshop .notation-help-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-height:44px;padding:0;font:inherit;font-size:18px;background:transparent;color:var(--site-ink);border:1px solid var(--site-line);border-radius:5px}
.drums-workshop .notation-help-dialog{width:520px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);box-sizing:border-box;padding:16px;overflow:auto;background:var(--workshop-paper);color:var(--site-ink);border:1px solid var(--site-line);border-radius:8px}
.drums-workshop .notation-help-dialog .drums-file-heading{position:sticky;top:-16px;background:var(--workshop-paper);z-index:1;display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.drums-workshop .notation-help-dialog h2{font-size:18px;margin:0}.drums-workshop .notation-help-dialog .drums-file-heading button{width:44px;height:44px;flex:none}
.drums-workshop .notation-help-body{white-space:normal;line-height:1.5}.drums-workshop .notation-help-body .notation-reference{width:100%}
.drums-workshop .quick-instrument-menu .instrument-menu-heading{position:sticky;top:-8px;z-index:1;background:var(--workshop-paper);display:flex;align-items:center;justify-content:space-between;padding:4px 0}
.drums-workshop .instrument-menu-heading button{min-height:44px;min-width:44px}
.drums-workshop .desktop-header-spacer>.mobile-header-instruments{display:flex;align-items:center;justify-content:center;width:100%!important;max-width:152px;height:44px;margin:0!important;padding:4px}
.drums-workshop .constructor-context-actions:has(>.chain-fill-target:not([hidden])){flex-wrap:wrap}
.drums-workshop .chain-form-entry[hidden],.drums-workshop .chain-form-add[hidden],.drums-workshop .chain-fill-target[hidden],.drums-workshop .chain-fill-cancel[hidden],.drums-workshop .chain-mobile-loop[hidden],.drums-workshop .chain-mobile-select[hidden],.drums-workshop #workshop-general-settings-toggle[hidden]{display:none!important}

.drums-workshop .mobile-editor-settings #meter-picker>summary{min-width:0;width:100%;font-size:14px}.drums-workshop .mobile-editor-settings .desktop-global-grid{white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.2}.drums-workshop .mobile-editor-settings .tempo-value{min-width:44px}.drums-workshop .mobile-editor-settings .tempo-value input{min-width:0;width:100%;height:44px;padding:2px;box-sizing:border-box;text-align:center}

.drums-workshop .mobile-input-host[hidden]{display:none!important}.drums-workshop .mobile-input-host{margin:6px 0}.drums-workshop .mobile-input-host .mobile-input-tools{width:100%}

.drums-workshop .compact-more-menu>.compact-menu-action[hidden]{display:none!important}

/* Integrated review: shared note controls and compact production panels. */
.drums-workshop #score-panel>.notation-help-toggle{position:absolute;left:4px;bottom:4px;z-index:2}
.drums-workshop .notation-help-toggle{border:0;background:transparent;width:44px;height:44px;padding:10px;font-size:18px}
.drums-workshop .notation-footer{height:auto;min-height:0;border:0;display:flex;align-items:center;flex-wrap:wrap;gap:0 8px}
.drums-workshop .notation-footer>.notation-help-toggle{margin:0 auto 0 0}
.drums-workshop .notation-footer:has(>.editor-action-message:empty):not(:has(>.notation-help-toggle,>#score-zoom)){display:none}
.drums-workshop .score-dialog-heading{justify-content:space-between;min-height:44px}
.drums-workshop .score-dialog-heading>.score-notation-dock{width:100%;justify-content:space-between}
.drums-workshop .score-dialog-footer{display:flex;align-items:center;gap:8px;flex:none;min-height:44px;width:100%}
.drums-workshop .score-dialog-footer>.notation-help-toggle{margin-right:auto}
.drums-workshop .score-dialog-footer>.note-scale-control{margin:0;max-width:calc(100% - 104px);flex-wrap:wrap}
.drums-workshop .instrument-mobile-icon{display:none}
.drums-workshop .quick-instrument-toggle{height:auto;min-height:32px;padding:5px 10px;width:auto}
.drums-workshop[data-mobile-controls=compact] .instrument-desktop-label,.drums-workshop[data-mobile-controls=wide] .instrument-desktop-label{display:none}
.drums-workshop[data-mobile-controls=compact] .instrument-mobile-icon,.drums-workshop[data-mobile-controls=wide] .instrument-mobile-icon{display:block;width:30px;height:22px;flex:none}
.drums-workshop .chain-fill-target{margin:4px 0 8px;width:auto;flex-basis:auto}
.drums-workshop .constructor-options{min-width:0}
.drums-workshop .constructor-context-actions{flex-wrap:nowrap;min-width:0}
.drums-workshop .constructor-return-controls{min-width:0;flex-shrink:1}
.drums-workshop .constructor-return-controls .chain-fill-actions{min-width:0;flex-shrink:1}
.drums-workshop .constructor-return-controls .chain-fill-actions #sequence-add{white-space:normal;min-width:0;padding-inline:10px}
.drums-workshop:is([data-mobile-controls=desktop],[data-mobile-controls=wide]) .constructor-options{flex-wrap:nowrap}
.drums-workshop:is([data-mobile-controls=desktop],[data-mobile-controls=wide]) .constructor-context-actions{flex:1 1 0}
.drums-workshop:is([data-mobile-controls=desktop],[data-mobile-controls=wide]) .constructor-return-controls .chain-fill-actions #sequence-add{max-width:180px;flex:1 1 auto}
.drums-workshop .chain-fill-dialog{width:420px;max-width:calc(100vw - 24px);padding:16px;box-sizing:border-box}
.drums-workshop .chain-fill-dialog .drums-file-heading{padding:0 0 10px;margin:0}
.drums-workshop .chain-fill-dialog>p{margin:12px 0;line-height:1.45}
.drums-workshop .chain-fill-dialog>.form-field-error:empty{display:none}
.drums-workshop .chain-fill-dialog .drums-file-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;margin-top:16px}
.drums-workshop .chain-fill-dialog .drums-file-actions button{min-width:0;white-space:normal;margin:0;padding:8px 10px;font:inherit}
.drums-workshop .chain-fill-dialog .drums-file-actions button:last-child:nth-child(3){grid-column:1/-1;justify-self:end}
.drums-workshop .drum-history-panel .drum-history-list{flex:0 1 auto;min-height:0;max-height:min(240px,40dvh);overflow-y:auto;font-size:13px;line-height:1.4}
.drums-workshop .drum-history-panel .drum-history-entry{padding:6px 2px}
.drums-workshop .drum-history-panel .drum-history-next,.drums-workshop .drum-history-panel .drum-history-hint{flex:none;font-size:12px}
.drums-workshop #workshop-general-settings{width:360px;padding:10px;max-height:calc(100dvh - 16px);overflow-y:auto}
.drums-workshop #workshop-general-settings .general-settings-group{gap:6px;padding:8px 0}
.drums-workshop #workshop-general-settings .general-settings-group label{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;font-size:13px}
.drums-workshop #workshop-general-settings .general-settings-group select{min-height:32px;padding:4px 6px;font-size:13px}
.drums-workshop #workshop-general-settings .settings-action{min-height:32px;padding:5px 6px;font-size:13px}
@media (pointer:coarse){
 .drums-workshop #workshop-general-settings .general-settings-group :is(select,.settings-action),.drums-workshop #workshop-general-settings .settings-action{min-height:44px}
 .drums-workshop .chain-fill-dialog .drums-file-actions button{min-height:44px}
}
@media (max-width:380px) and (pointer:coarse){.drums-workshop #workshop-general-settings .general-settings-group label{grid-template-columns:minmax(0,1fr);gap:4px}}
/* Interactive reference shares the application's dialog, palette and note factory. */
.drums-workshop .notation-help-dialog{width:min(660px,calc(100vw - 24px));max-width:calc(100vw - 24px)}
.drums-workshop .notation-help-body .nh-reference{display:block;min-width:0;font-size:14px;line-height:1.45;color:var(--site-ink)}
.drums-workshop .nh-reference :is(button,select){box-sizing:border-box;font:inherit;color:inherit;min-height:44px;background:var(--workshop-paper);border:1px solid var(--site-line);border-radius:6px;padding:8px}
.drums-workshop .nh-reference :is(label,select){min-width:0}
.drums-workshop .nh-mode-label{display:flex;gap:12px;align-items:center;font-size:13px}
.drums-workshop .nh-mode-label select{flex:1;width:100%}
.drums-workshop .nh-tap-hint{font-size:12px;color:var(--site-muted);margin:10px 0 0}
.drums-workshop .nh-picture{position:relative;isolation:isolate;aspect-ratio:600/446;width:100%;margin:8px 0}
.drums-workshop :is(.nh-kit-layers,.nh-vector-plane,.nh-kit-hits){position:absolute;inset:0;width:100%;height:100%}
.drums-workshop :is(.nh-kit-layers,.nh-vector-plane){pointer-events:none}
.drums-workshop .nh-vector-plane svg{display:block;width:100%;height:100%;overflow:visible}
.drums-workshop .nh-kit-rest{opacity:.32}
.drums-workshop .nh-lit{opacity:0}
.drums-workshop .nh-lit.is-active{opacity:1}
.drums-workshop .nh-staff{opacity:.75}
.drums-workshop .nh-vector-plane [data-note-track]{opacity:.65}
.drums-workshop .nh-vector-plane [data-note-track].is-active{opacity:1;filter:drop-shadow(1px 0 var(--workshop-paper)) drop-shadow(-1px 0 var(--workshop-paper)) drop-shadow(0 1px var(--workshop-paper)) drop-shadow(0 -1px var(--workshop-paper))}
.drums-workshop .nh-reference [hidden]{display:none!important}
.drums-workshop .nh-vector-plane [data-link]{display:none}
.drums-workshop .nh-vector-plane [data-link].is-active{display:block}
.drums-workshop :is(.nh-vector-plane,.nh-note-sample,.nh-flam-sample) [fill]:not([fill=none]):not([fill=transparent]){fill:currentColor}
.drums-workshop :is(.nh-vector-plane,.nh-note-sample,.nh-flam-sample) [stroke]:not([stroke=none]){stroke:currentColor}
.drums-workshop .nh-kit-hits{overflow:visible;pointer-events:none}
.drums-workshop .nh-hit{fill:transparent;stroke:none;pointer-events:fill;cursor:pointer;touch-action:manipulation;outline:none}
.drums-workshop .nh-hit:focus-visible{stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:4 3}
.drums-workshop .nh-hit-padding{fill:transparent;stroke:transparent;stroke-linejoin:round;pointer-events:all;cursor:pointer;touch-action:manipulation}
.drums-workshop .nh-hat-modes{display:flex;gap:8px;margin-bottom:8px}
.drums-workshop .nh-hat-modes button{flex:1}
.drums-workshop .nh-hat-modes button[aria-pressed=true]{background:var(--interaction-surface);font-weight:600}
.drums-workshop :is(.nh-fallback,.nh-techniques){border-top:1px solid var(--site-line);padding:8px 0}
.drums-workshop .nh-reference summary{cursor:pointer;min-height:44px;box-sizing:border-box;padding:12px 0;font-size:13px}
.drums-workshop .nh-instrument-choice{display:flex;gap:12px;align-items:center;font-size:13px;padding-bottom:8px}
.drums-workshop .nh-instrument-choice select{width:min(100%,240px);flex:1}
.drums-workshop .nh-selected{display:flex;gap:12px;align-items:center;border-top:1px solid var(--site-line);padding:8px 0;min-height:120px}
.drums-workshop .nh-caption{min-width:0;flex:1;overflow-wrap:anywhere}
.drums-workshop .nh-selected-name{font-size:15px;font-weight:600;white-space:normal}
.drums-workshop .nh-selected-short{font-size:13px;margin:4px 0}
.drums-workshop .nh-selected-description{font-size:13px;color:var(--site-muted);margin:4px 0}
.drums-workshop :is(.nh-note-sample,.nh-flam-sample){display:grid;place-items:center;flex:0 0 88px;width:88px;min-height:100px}
.drums-workshop :is(.nh-note-sample,.nh-flam-sample) svg{display:block;width:88px;height:auto;max-height:120px;max-width:88px;stroke-width:.3}
.drums-workshop .nh-flam-row{display:flex;gap:12px;align-items:center}
.drums-workshop .nh-techniques :is(p,.notation-abbreviations){font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
@media (max-width:400px) and (pointer:coarse){.drums-workshop .nh-mode-label{display:block}.drums-workshop .nh-mode-label select{display:block;margin-top:4px}}

/* v42 acceptance corrections: override legacy grid placement on moved controls. */
.drums-workshop[data-mobile-controls=compact] .mobile-editor-settings{grid-template-columns:minmax(134px,1.5fr) minmax(52px,.65fr) minmax(64px,.8fr);gap:4px}
.drums-workshop[data-mobile-controls=compact] .mobile-editor-settings>*{grid-column:auto;grid-row:auto;order:0;justify-self:stretch;margin:0}
.drums-workshop[data-mobile-controls=compact] .mobile-editor-settings>.tempo-control{grid-column:1;grid-row:1;justify-self:stretch;min-width:0;max-width:100%}
.drums-workshop[data-mobile-controls=compact] .mobile-editor-settings>#meter-picker{grid-column:2;grid-row:1}
.drums-workshop[data-mobile-controls=compact] .mobile-editor-settings>.desktop-global-grid{grid-column:3;grid-row:1}
.drums-workshop[data-mobile-controls=compact] .mobile-editor-settings :is(.tempo-step,.tempo-value){flex-shrink:0}
.drums-workshop[data-mobile-controls=compact] .mobile-editor-settings .tempo-readout{min-width:0;font-size:16px}
.drums-workshop[data-mobile-controls=compact] .mobile-editor-settings :is(.tempo-unit,.tempo-bpm){display:none}
.drums-workshop .quick-instrument-menu .instrument-choice-group .instrument-choice-group{margin-left:0}
.drums-workshop .quick-instrument-menu .instrument-group-list>.instrument-choice-group>.instrument-group-heading{margin-left:-34px}
.drums-workshop .beat-grid>.mobile-header-instruments{grid-column:1;grid-row:1;width:100%!important;min-width:0;max-width:100%;height:44px;margin:0;padding:4px;display:flex;align-items:center;justify-content:center}
.drums-workshop[data-mobile-controls=compact] .mobile-pulse-button{grid-row:1}
.drums-workshop:is([data-mobile-controls=desktop],[data-mobile-controls=wide]) .constructor-context-actions{margin-left:auto;justify-content:flex-end}
.drums-workshop:is([data-mobile-controls=desktop],[data-mobile-controls=wide]) .constructor-return-controls{flex:1 1 auto;justify-content:flex-end}
.drums-workshop:is([data-mobile-controls=desktop],[data-mobile-controls=wide]) .constructor-context-actions>.editor-input-actions{margin-left:0;flex:none}
.drums-workshop .constructor-return-controls #sequence-add{background:var(--interaction-surface,transparent);border-color:var(--interaction-border,var(--site-line));color:var(--interaction-ink,var(--site-ink))}
.drums-workshop .constructor-operation-notice{bottom:auto;right:auto;width:max-content;max-width:min(360px,calc(100vw - 16px))}
.drums-workshop[data-mobile-controls=compact] .party-score-tools{margin-block:8px 0;padding-block:0;align-items:center}
.drums-workshop[data-mobile-controls=compact] .party-score-tools .compact-chain-help{margin-left:auto}
.drums-workshop[data-mobile-controls=compact] .party-control-line:empty{display:none}
.drums-workshop[data-mobile-controls=compact] .mobile-chain-controls{margin-bottom:8px}
.drums-workshop[data-mobile-controls=compact] .party-control-line{display:none}
.drums-workshop[data-mobile-controls=compact] .beat-grid>span:empty{display:none}
.drums-workshop[data-mobile-controls=compact] .mobile-chain-tempo>.tempo{grid-column:auto;grid-row:auto;justify-self:auto}
@media (hover:hover) and (pointer:fine){
 html:not([data-interaction-pointer=touch]) .drums-workshop :is(.desktop-beat-header,.mobile-pulse-button):hover{background:var(--interaction-hover-bg);box-shadow:inset 0 0 0 1px var(--interaction-hover-border)}
 html:not([data-interaction-pointer=touch]) .drums-workshop .cell:not(:disabled):hover{outline:1px solid var(--workshop-hit);outline-offset:-2px;filter:brightness(.94)}
 html[data-drums-theme=dark]:not([data-interaction-pointer=touch]) .drums-workshop .cell:not(:disabled):hover{filter:brightness(1.12)}
}
.drums-workshop .cell:not(:disabled):active{box-shadow:inset 0 0 0 2px var(--workshop-hit)}

/* History entries select states, using native buttons for keyboard and touch. */
.drums-workshop button.drum-history-entry{display:block;box-sizing:border-box;width:100%;min-height:44px;text-align:left;white-space:normal;font:inherit;color:var(--site-ink);border:0;border-bottom:1px solid var(--site-line);border-radius:4px;padding:8px;background:transparent;cursor:pointer}
.drums-workshop button.drum-history-entry:hover:not(:disabled){background:var(--interaction-surface);color:var(--interaction-ink,var(--site-ink))}
.drums-workshop button.drum-history-entry:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.drums-workshop button.drum-history-entry[aria-current=step]{font-weight:600;opacity:1;cursor:default;background:var(--interaction-surface)}
.drums-workshop button.drum-history-entry span{display:block;font-size:12px;font-weight:400;color:var(--site-muted)}

/* Automatic/pointer focus remains functional but has no visual ring. */
html[data-drums-focus=pointer] .drums-workshop :focus{outline:none!important;box-shadow:none!important}
html[data-drums-focus=pointer] .drums-workshop .nh-hit:focus{stroke:none!important}
html[data-drums-focus=keyboard] .drums-workshop :focus-visible{outline:1px solid var(--focus-ring,var(--site-ink));outline-offset:2px}
.drums-workshop .nh-picture{overflow:hidden}
.drums-workshop .nh-vector-plane>svg{width:100%!important;height:100%!important;max-width:100%!important}
.drums-workshop .nh-hat-modes[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
