.song-chart-body{min-width:0}.screen--song-editor .song-editor-main:has(>.strum-panel){column-gap:var(--spacing-xl);grid-template-columns:minmax(0,1fr) 20rem;align-items:start;display:grid}.song-editor-main>.strum-panel{grid-area:1/2}.song-editor-main>.song-chart-body{grid-area:1/1}.song-editor-main--edit>.song-chart-body{flex-direction:column;flex:1;align-self:stretch;min-height:0;display:flex}.song-editor-main--edit:has(>.strum-panel){grid-template-rows:minmax(0,1fr)}.song-editor-main--edit>.strum-panel{flex-shrink:0}.strum-panel{min-width:0;margin:0}.strum-heading{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.strum-disclosure{justify-content:space-between;align-items:center;gap:var(--spacing-sm);min-height:var(--control-md);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:flex}.strum-disclosure>span{color:var(--text-muted)}.strum-meta{color:var(--text-muted);font-size:var(--font-size-xs)}.strum-collection{min-width:0;position:relative}.strum-switcher{align-items:center;display:flex;position:absolute;top:0;right:0}.strum-collection:has(.strum-switcher) .strum-pattern>.strum-heading{padding-right:5rem}.strum-pattern{min-width:0;padding:0}.strum-pattern strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:var(--font-size-sm);flex:1;font-weight:400;overflow:hidden}.strum-text-button,.strum-choice,.strum-icon-button{min-height:var(--control-md);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-muted);font:inherit;font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.strum-icon-button{width:var(--control-md);flex-shrink:0;padding:0}.strum-add{gap:var(--spacing-xs);color:var(--text-secondary);padding-inline:0}.strum-text-button:hover,.strum-choice:hover,.strum-icon-button:hover{color:var(--text-primary);background:var(--surface-2)}.strum-text-button[aria-pressed=true],.strum-choice[aria-pressed=true],.strum-icon-button[aria-pressed=true]{color:var(--accent-primary);box-shadow:inset 0 -2px var(--accent-primary)}.strum-icon-button--save{color:var(--accent-primary);margin-left:auto}.strum-icon-button:disabled{opacity:var(--disabled-floor-opacity);cursor:default}.strum-grid-scroll{min-width:0;max-width:100%;overflow-x:auto}.strum-grid{width:max-content;padding-block:var(--spacing-xs);display:flex}.strum-beat{position:relative}.strum-beat--pulse{margin-left:var(--spacing-xs)}.strum-beat--bar{margin-left:var(--spacing-xs);padding-left:var(--spacing-xs);border-left:1px solid var(--text-muted)}.strum-beat--bar:first-child{margin-left:0}.strum-beat:last-child{padding-right:var(--spacing-xs);border-right:1px solid var(--text-muted)}.strum-cell{min-width:var(--control-xs);color:var(--text-primary);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:relative}button.strum-cell{min-width:var(--control-md);cursor:pointer}button.strum-cell:hover{color:var(--accent-primary);background:var(--surface-2)}.strum-cell[aria-pressed=true],.strum-beat.is-playing .strum-cell{color:var(--accent-primary)}.strum-cell[aria-pressed=true]:after,.strum-beat.is-playing:after{background:var(--accent-primary);content:"";height:2px;position:absolute;bottom:0;left:25%;right:25%}.strum-arrow{font-family:Georgia,Times New Roman,serif;font-size:var(--font-size-5xl);line-height:1.2}.strum-accent,.strum-count{min-height:1em;font-family:Georgia,Times New Roman,serif;font-size:var(--font-size-xs);line-height:1.2}.strum-count{color:var(--text-muted);font-style:italic}.strum-editor{gap:var(--spacing-xs);flex-direction:column;margin:0;display:flex}.strum-pattern-tabs{border-bottom:1px solid var(--border-color);align-items:center;display:flex}.strum-pattern-tabs>button:not(:last-child){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.strum-pattern-tabs>button:last-child{flex-shrink:0}.strum-score-heading{align-items:center;gap:var(--spacing-xs);min-width:0;display:flex}.strum-editor .strum-pattern-name{width:100%;min-width:0;padding:var(--spacing-xs) 0;color:var(--text-primary);font-family:Georgia,Times New Roman,serif;font-size:var(--font-size-md);background:0 0;border:0;border-radius:0;flex:1}.strum-meter{font-family:Georgia,Times New Roman,serif;font-size:var(--font-size-xs);flex-direction:column;line-height:1;display:flex}.strum-panel .strum-edit-hint{color:var(--text-muted);font-size:var(--font-size-xs);margin:0}.strum-actionbar{align-items:center;gap:var(--spacing-xs);min-height:var(--control-md);display:flex}.strum-choice-row{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.strum-choice-row>.strum-eyebrow{flex-basis:100%}.strum-rhythm-settings{padding:var(--spacing-sm);background:var(--surface-2)}.strum-eyebrow{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.08em}.strum-presets{padding-block:var(--spacing-xs)}.strum-preset-list{gap:var(--spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.strum-preset{justify-content:space-between;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;text-align:left;color:var(--text-primary);border:0;border-bottom:1px solid var(--border-color);cursor:pointer;background:0 0;flex-wrap:wrap;display:flex}.strum-preset-name{font-size:var(--font-size-xs)}.strum-preset-notation{gap:var(--spacing-xs);font-family:Georgia,Times New Roman,serif;font-size:var(--font-size-md);flex-basis:100%;order:1;display:flex;overflow:hidden}.strum-panel .strum-error{color:var(--accent-danger);font-size:var(--font-size-xs);margin:0}.strum-error:empty{display:none}.strum-panel button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.strum-panel input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.strum-launcher{display:inline-flex}.strum-popover-overlay{padding-top:var(--spacing-7xl);backdrop-filter:none;background:0 0;justify-content:flex-end;align-items:flex-start}.modal-content.strum-dialog{max-width:22rem;max-height:calc(100dvh - var(--spacing-8xl))}@media (width<=1200px){.screen--song-editor .song-editor-main:has(>.strum-panel){flex-direction:column;display:flex}.song-editor-main>.strum-panel{width:100%}.strum-panel:not(:has(.strum-editor)){align-items:center;gap:var(--spacing-md);display:flex}.strum-panel>.strum-heading{flex-shrink:0}.strum-disclosure{gap:var(--spacing-sm)}.strum-collection{flex:1}.strum-pattern{align-items:center;gap:var(--spacing-sm);display:flex}.strum-pattern>.strum-heading{flex:0 auto}.strum-collection:has(.strum-switcher) .strum-pattern>.strum-heading{padding-right:0}.strum-collection:has(.strum-switcher){padding-right:5rem}.strum-pattern .strum-grid-scroll{flex:1}.song-chart-body{width:100%}.strum-editor{max-width:32rem;margin-left:auto}}@media (width<=900px){.song-editor-main--edit>.song-chart-body{flex:none}}@media (width<=768px){.strum-panel:not(:has(.strum-editor)){align-items:flex-start;gap:var(--spacing-xs)}.strum-panel>.strum-heading{flex-direction:column;align-items:flex-start}.strum-pattern{display:block}.strum-collection:has(.strum-switcher){padding-right:0}.strum-collection:has(.strum-switcher) .strum-pattern>.strum-heading{padding-right:5rem}.strum-icon-button{width:var(--control-lg);min-height:var(--control-lg)}.strum-actionbar{gap:0}.strum-editor{max-width:100%}}.strum-panel:not(:has(.strum-editor)){display:block;position:relative}.strum-panel>.strum-heading{z-index:1;flex-direction:row;position:absolute;top:0;right:0}.strum-panel .strum-disclosure{font-size:var(--font-size-xs);flex:none}.strum-panel .strum-pattern>.strum-heading{padding-right:5rem}.strum-panel .strum-switcher{right:5rem}.strum-panel .strum-collection:has(.strum-switcher) .strum-pattern>.strum-heading{padding-right:9rem}.strum-panel .strum-collection{padding-right:0}.strum-panel:not(:has(.strum-collection,.strum-editor)){min-height:var(--control-md)}.strum-rhythm-settings{background:0 0;padding:0}.strum-choice-row>.strum-eyebrow{flex-basis:auto;min-width:3rem}.strum-pattern-tabs{border-bottom:0}@media (width>=768px) and (width<=1200px){.strum-panel:not(:has(.strum-editor)){padding-right:5rem}.strum-panel .strum-pattern>.strum-heading{padding-right:0}.strum-panel .strum-collection:has(.strum-switcher){padding-right:5rem}.strum-panel .strum-collection:has(.strum-switcher) .strum-pattern>.strum-heading{padding-right:0}.strum-panel .strum-switcher{right:0}}.strum-dialog{position:relative}.strum-dialog .modal-header{top:var(--spacing-sm);right:var(--spacing-sm);z-index:1;border:0;padding:0;position:absolute}.strum-dialog .modal-header h2{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.strum-dialog .strum-collection{margin-right:var(--spacing-xl)}