@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;700&family=Barlow+Condensed:wght@300;900&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--topbar-height: 56px;--sidebar-width: 220px;--bg: #f9f7f4;--surface: #ffffff;--border: #e2ddd8;--text: #1a1a1a;--muted: #6b6560;--accent: #1a6fc4;--accent-h: #155aa0;--accent-contrast: #ffffff;--bands-hue: #c33232;--bands-hue-soft: #fbeaea;--bands-hue-contrast: #ffffff;--danger: #c0392b;--notes-draw: #27ae60;--chord: #1a6fc4;--chord-bg: #e6f0fb;--sidebar-accent: var(--text);--sidebar-hover-bg: color-mix(in srgb, var(--surface) 45%, var(--bg));--sidebar-active-bg: color-mix(in srgb, var(--surface) 20%, var(--bg));--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--shadow: 0 1px 3px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 4px 16px rgba(0,0,0,.1), 0 1px 4px rgba(0,0,0,.06);--shadow-lg: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.08);--page-title-size: clamp(1.5rem, 1.2rem + 1.1vw, 1.95rem);--section-title-size: clamp(1rem, .92rem + .35vw, 1.15rem);--page-copy-size: .92rem;--meta-copy-size: .84rem;--font-mono: "JetBrains Mono", "Courier New", Courier, monospace;font-size:16px}[data-theme=dark]{--bg: #1c1a18;--surface: #252320;--border: #3b3733;--text: #ede9e4;--muted: #9e9890;--accent: #6aadff;--accent-h: #89bfff;--accent-contrast: #0d1f36;--bands-hue: #ff7d7d;--bands-hue-soft: #3a2020;--bands-hue-contrast: #2a1010;--danger: #e05c4e;--notes-draw: #5be39a;--chord: #6aadff;--chord-bg: #1a2e45;--sidebar-accent: var(--text);--sidebar-hover-bg: color-mix(in srgb, var(--surface) 42%, var(--bg));--sidebar-active-bg: color-mix(in srgb, var(--surface) 28%, var(--bg));--shadow: 0 1px 3px rgba(0,0,0,.24), 0 2px 8px rgba(0,0,0,.2);--shadow-md: 0 4px 16px rgba(0,0,0,.32), 0 1px 4px rgba(0,0,0,.24);--shadow-lg: 0 8px 32px rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.3)}body{background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important;animation:none!important}#root{min-height:100vh}:where(a,button,input,select,textarea,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:2px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}@media (pointer: coarse){:where(.topbar-sidebar-toggle,.topbar-icon-btn,.sidebar-icon-btn,.sidebar-list-delete,.song-action-btn,.song-picker-close,.btn-primary,.btn-secondary,.setlist-action-btn,.concert-nav-btn,.fab-add-song,.view-toggle-btn,.transpose-btn,.song-toolbar-tool-btn,.song-notes-draw-toggle,.instrument-toggle-btn,.notes-toolbar-btn,.notes-author-chip,.song-media-play-btn,.song-media-external-icon,.rec-btn,.play-btn,.icon-btn,.visual-metronome-toggle,.visual-metronome-tap,.visual-metronome-sound,.visual-tuner-toggle,.visual-tuner-string-btn,.tab-play-btn,.sidebar-list-item-btn,.sidebar-band-item-btn,.sidebar-setlist-item-btn,.list-dropdown-item,.concert-chip-btn){min-height:44px}:where(.song-media-play-btn,.song-media-external-icon,.play-btn,.icon-btn){min-width:44px;width:44px;height:44px}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font:inherit;border:none;background:none}input,select,textarea{font:inherit;color:var(--text)}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.app-body{display:flex;flex:1;height:calc(100vh - var(--topbar-height) - var(--safe-top));height:calc(100dvh - var(--topbar-height) - var(--safe-top));min-height:0;overflow:hidden;position:relative}.app-body--narrow{overflow:visible}.topbar{background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent);padding:var(--safe-top) calc(1.5rem + var(--safe-right)) 0 calc(1.5rem + var(--safe-left));display:flex;align-items:center;gap:1.5rem;height:calc(var(--topbar-height) + var(--safe-top));position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.topbar-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:.3rem;border-radius:6px;color:var(--muted);transition:background .15s,color .15s;flex-shrink:0}.topbar-sidebar-toggle:hover,.topbar-sidebar-toggle[aria-pressed=true]{background:var(--chord-bg);color:var(--accent)}.topbar-brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.1rem;color:var(--accent);text-decoration:none}.topbar-brand:hover,.topbar-brand:focus-visible{text-decoration:none}.brand-name{font-family:Barlow Condensed,sans-serif;letter-spacing:.01em;line-height:1;text-transform:uppercase;transform:scale(1.25);transform-origin:left center;display:inline-block}.brand-name-gig{font-weight:900;color:var(--accent)}.brand-name-boy{font-weight:300;color:var(--text);opacity:.75}.topbar-nav{display:flex;gap:1rem;margin-left:auto;align-items:center}.topbar-storage{display:flex;align-items:center;gap:.55rem;min-width:220px;max-width:320px;padding:.28rem .6rem;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.topbar-storage-text{display:flex;flex-direction:column;min-width:0;line-height:1.12}.topbar-storage-text strong{font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.topbar-storage-text span{display:block;font-size:.78rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-storage-meter{position:relative;height:.42rem;flex:1;min-width:72px;border-radius:999px;background:color-mix(in srgb,var(--surface) 45%,var(--bg));overflow:hidden}.topbar-storage-meter-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f9d55,var(--accent));transition:width .2s ease}.topbar-storage-meter-fill.is-warning{background:linear-gradient(90deg,#e59f0f,#cf6f1e)}.topbar-storage-meter-fill.is-critical{background:linear-gradient(90deg,#e65858,#b73232)}.topbar-storage-meter-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0 .55rem;font-size:.75rem;font-weight:700;color:color-mix(in srgb,var(--text) 86%,var(--surface));white-space:nowrap;pointer-events:none}.topbar-storage-meter-label-fill{justify-content:flex-start;color:#fff;overflow:hidden}.topbar-storage-percent{min-width:2.2rem;text-align:right;font-size:.75rem;font-weight:700;color:var(--muted)}.topbar-nav a,.topbar-invites-trigger{display:flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:6px;color:var(--muted);font-size:.9rem;transition:background .15s,color .15s;border:none;background:transparent;cursor:pointer}.topbar-invites,.topbar-link--has-notification{position:relative}.topbar-link-notice{min-width:1.15rem;height:1.15rem;padding:0 .28rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;line-height:1;color:#fff}.topbar-link-notice--pending{background:var(--accent)}.topbar-link-notice--accepted{background:#1f9d55}.topbar-link-notice--mixed{background:linear-gradient(135deg,var(--accent),#1f9d55)}.topbar-nav a:hover,.topbar-nav a.active,.topbar-invites-trigger:hover,.topbar-invites-trigger.active{background:var(--chord-bg);color:var(--accent);text-decoration:none}.topbar-invites-popover{position:absolute;right:0;top:calc(100% + .45rem);width:min(460px,calc(100vw - 1.5rem));background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 34px #00000029;z-index:470;overflow:hidden}.topbar-invites-popover-header{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.8rem .9rem;border-bottom:1px solid var(--border)}.topbar-invites-popover-header h2{margin:0;font-size:.95rem}.topbar-invites-popover-header span{color:var(--muted);font-size:.8rem}.topbar-invites-popover-content{max-height:min(70vh,560px);overflow-y:auto;padding:.8rem;display:flex;flex-direction:column;gap:.85rem}.topbar-invites-group{display:flex;flex-direction:column;gap:.55rem}.topbar-invites-group h3{margin:0;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.topbar-invites-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.topbar-invite-item{border:1px solid var(--border);border-radius:10px;padding:.65rem;display:flex;flex-direction:column;gap:.55rem;background:color-mix(in srgb,var(--surface) 74%,var(--bg))}.topbar-invite-item--accepted{border-color:color-mix(in srgb,#1f9d55 32%,var(--border))}.topbar-invite-main{display:flex;flex-direction:column;gap:.28rem}.topbar-invite-main strong{font-size:.86rem}.topbar-invite-main span{font-size:.8rem;color:var(--muted);line-height:1.3}.topbar-invite-actions{display:flex;gap:.5rem;flex-wrap:wrap}.topbar-invite-actions .setlist-action-btn{min-height:2rem;padding:.35rem .7rem;font-size:.8rem}.topbar-invites-empty{margin:0;color:var(--muted);font-size:.85rem;padding:.3rem .1rem}.topbar-icon-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:.3rem;border-radius:6px;color:var(--muted);transition:background .15s,color .15s}.topbar-icon-btn:hover{background:var(--chord-bg);color:var(--accent)}.topbar-profile-link{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .5rem;border-radius:8px}.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--chord-bg);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));font-weight:700;line-height:1}.user-avatar--sm{width:1.45rem;height:1.45rem;font-size:.78rem}.user-avatar--md{width:2rem;height:2rem;font-size:1rem}.user-avatar--lg{width:3rem;height:3rem;font-size:1.35rem}.main-content{flex:1;min-height:0;min-width:0;padding:1.5rem calc(1.5rem + var(--safe-right)) calc(1.5rem + var(--safe-bottom)) calc(1.5rem + var(--safe-left));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.main-content>:first-child{margin-top:.45rem}.main-content>:is(.song-list-page,.setlist-view):first-child{margin-top:0}.main-content:focus-visible{outline:none}.main-content--concert{padding-top:0}.main-content--concert>:first-child{margin-top:0}[data-library-mode=bands] .topbar{--accent: var(--bands-hue);--accent-h: color-mix(in srgb, var(--bands-hue) 84%, #000);--accent-contrast: var(--bands-hue-contrast);--chord: var(--bands-hue);--chord-bg: var(--bands-hue-soft)}[data-theme=dark] [data-library-mode=bands] .topbar{--accent-h: color-mix(in srgb, var(--bands-hue) 90%, #fff)}[data-library-mode=bands] .sidebar-list-item{--list-accent: var(--bands-hue)}.main-content--band{--accent: var(--bands-hue);--accent-h: color-mix(in srgb, var(--bands-hue) 84%, #000);--accent-contrast: var(--bands-hue-contrast);--chord: var(--bands-hue);--chord-bg: var(--bands-hue-soft)}[data-theme=dark] .main-content--band{--accent-h: color-mix(in srgb, var(--bands-hue) 90%, #fff)}.fab-add-song{position:fixed;bottom:calc(1rem + var(--safe-bottom));right:calc(1.75rem + var(--safe-right));z-index:200;display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:50%;background:var(--accent);color:#fff;border:0;cursor:pointer;box-shadow:0 4px 14px #00000040;transition:background .15s,transform .15s,box-shadow .15s;text-decoration:none}.fab-add-song:hover{background:var(--accent-hover, color-mix(in srgb, var(--accent) 85%, #000));transform:scale(1.07);box-shadow:0 6px 20px #0000004d;color:#fff;text-decoration:none}.sidebar-backdrop{position:fixed;inset:calc(var(--topbar-height) + var(--safe-top)) 0 0;background:rgba(26,26,26,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:89}.app-status,.app-notice{width:min(860px,calc(100% - 2rem));margin:1rem auto 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.app-status{margin-top:4rem;padding:1rem 1.25rem;text-align:center;color:var(--muted)}.app-notice{padding:.85rem 1rem;color:var(--muted)}.footer{text-align:center;padding:1rem;font-size:.8rem;color:var(--muted);border-top:1px solid var(--border)}.back-link{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:1rem;color:var(--muted);font-size:.9rem}.back-link:hover{color:var(--accent);text-decoration:none}.lang-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:100px;background:var(--chord-bg);color:var(--accent);font-size:.78rem;font-weight:600;padding:.15rem .6rem}.lang-badge--sm{font-size:.72rem;padding:.1rem .45rem}.tag{display:inline-block;background:var(--border);color:var(--muted);border-radius:100px;padding:.1rem .5rem;font-size:.75rem}.song-list-page{display:flex;flex-direction:column;height:auto;min-height:100%;padding:0;background:var(--bg);touch-action:pan-y}.song-list-results{flex:initial;min-height:0;padding-top:.2rem;overflow:visible;touch-action:pan-y}.song-list,.song-card,.song-card-link,.song-preview-card,.song-preview-card-link{touch-action:pan-y}.page-section-header,.songlist-header{flex-wrap:wrap}.song-list-heading,.resource-title{display:inline-flex;align-items:center;gap:.45rem;font-size:1.8rem;line-height:1.2;cursor:default;padding:0}.song-list-heading.setlist-title,.resource-title.resource-title--setlist{font-size:1.45rem}.song-list-heading:hover,.resource-title:hover{background:transparent}.song-list-heading-icon,.resource-title-icon{font-size:1.2rem;line-height:1}.song-list-title-row{display:inline-flex;align-items:center;gap:.45rem}.title-rename-btn{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:999px;color:var(--muted);border:1px solid transparent}.title-rename-btn:hover{color:var(--text);background:var(--bg);border-color:var(--border)}.setlist-name-input{font-size:1rem;font-weight:700;color:var(--text);border:1px solid var(--border);border-radius:.65rem;padding:.45rem .65rem;min-width:220px;max-width:min(100%,420px);background:var(--surface)}.song-list-summary{margin-top:.25rem;color:var(--muted);font-size:.9rem}.view-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow)}.view-toggle-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border-radius:999px;color:var(--muted);transition:background .15s,color .15s}.view-toggle-btn.active{background:var(--chord-bg);color:var(--accent)}.song-list-sticky,.list-sticky-header{--song-list-sticky-top-cover: 1.5rem;position:sticky;top:0;z-index:80;background:var(--bg);margin:-1.5rem -1.5rem .75rem;padding:0 0 .9rem;display:flex;flex-direction:column;gap:1rem;order:-1}.song-list-sticky:before,.list-sticky-header:before{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--song-list-sticky-top-cover));height:var(--song-list-sticky-top-cover);background:var(--bg);pointer-events:none}.song-list-sticky>.setlist-header,.song-list-sticky>.resource-header,.list-sticky-header>.setlist-header,.list-sticky-header>.resource-header{margin:0 1.5rem;width:auto}.song-list-sticky>.press-kit-toolbar,.list-sticky-header>.press-kit-toolbar{margin:0 1.5rem}:where(.song-list-sticky,.list-sticky-header)+:where(.tech-rider-sections,.press-kit-body-columns){padding-top:var(--sticky-header-content-gap, .75rem)}.song-list-controls{display:flex;gap:.75rem;flex-wrap:wrap;padding:0 1.5rem}.list-appearance-editor{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.55rem;margin:0 1.5rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.list-appearance-group{display:flex;flex-direction:column;gap:.35rem}.list-appearance-label{font-size:.75rem;color:var(--muted)}.list-appearance-field{display:inline-flex;flex-direction:column;gap:.22rem;font-size:.75rem;color:var(--muted)}.list-appearance-field input[type=color]{width:2.2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.color-swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.15rem}.color-swatch-grid--compact{grid-template-columns:repeat(4,1fr)}.color-swatch-btn{width:1.5rem;height:1.5rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--text) 15%,transparent);box-shadow:inset 0 0 0 1px #ffffff8c;transition:transform .1s,box-shadow .12s}.color-swatch-btn:hover{transform:scale(1.08)}.color-swatch-btn.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px color-mix(in srgb,var(--accent) 42%,transparent)}.emoji-choice-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.15rem}.emoji-choice-btn{width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:1rem}.emoji-choice-btn.active{border-color:var(--accent);background:var(--chord-bg)}.icon-picker-wrapper{position:relative;display:inline-flex}.icon-picker-trigger{border:none;background:none;padding:.1rem;cursor:pointer;line-height:1;border-radius:8px;transition:background .15s,transform .08s}.icon-picker-trigger:hover,.icon-picker-trigger:focus-visible,.icon-picker-trigger.is-open{background:color-mix(in srgb,var(--accent) 14%,transparent)}.icon-picker-trigger:active{transform:scale(.93)}.icon-picker-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-picker-popover{position:absolute;top:calc(100% + .4rem);left:0;z-index:15;width:min(18rem,90vw);padding:.7rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--surface) 96%,#fff);box-shadow:0 12px 32px color-mix(in srgb,#000 14%,transparent);display:flex;flex-direction:column;gap:.5rem}.icon-picker-reset-btn{font-size:.75rem;color:var(--muted);background:none;border:none;cursor:pointer;padding:.2rem 0;text-align:left;transition:color .15s}.icon-picker-reset-btn:hover{color:var(--text)}.search-box{position:relative;flex:1;min-width:200px}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.lang-select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);outline:none;cursor:pointer;min-width:140px}.lang-select:focus{border-color:var(--accent)}.sort-select-wrapper{position:relative;display:flex;align-items:center}.sort-select-icon{position:absolute;left:.65rem;color:var(--muted);pointer-events:none;z-index:1}.sort-select{padding-left:2rem;min-width:150px}.song-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.song-list>li{position:relative}.song-list>li.drop-before .song-card{box-shadow:var(--shadow)}.song-list>li.drop-before:before{content:"";position:absolute;top:-4px;left:.45rem;right:.45rem;height:2px;background:var(--accent);border-radius:999px;animation:drop-insert-line .14s ease-out}.song-card{--song-item-accent: var(--accent);--song-item-bg: var(--surface);--song-item-border: var(--border);--song-item-text: var(--text);--song-item-muted: var(--muted);--song-item-chip-bg: color-mix(in srgb, var(--song-item-accent) 14%, var(--surface));--song-item-chip-text: color-mix(in srgb, var(--song-item-accent) 70%, var(--text));display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.9rem 1rem;background:var(--song-item-bg);border:1px solid var(--song-item-border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s,transform .15s}.song-card:hover{border-color:color-mix(in srgb,var(--song-item-accent) 45%,var(--song-item-border));box-shadow:0 2px 10px color-mix(in srgb,var(--song-item-accent) 28%,transparent)}.song-drag-handle{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;padding:.35rem;border:1px dashed transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:grab;flex-shrink:0;touch-action:none;user-select:none;-webkit-user-select:none;transition:color .15s,background .15s,border-color .15s}.song-drag-handle:hover{color:var(--accent);background:var(--bg);border-color:var(--border)}.song-drag-handle:active{cursor:grabbing}.song-card.is-dragging,.song-preview-card.is-dragging{opacity:.45;transform:scale(.97);box-shadow:none;pointer-events:none}.song-card-link{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;min-width:0;flex:1;color:inherit;text-decoration:none}.song-card-link:hover{text-decoration:none}.song-card-main{display:flex;flex-direction:column;gap:.1rem}.song-card-title{font-weight:600;font-size:1rem;color:var(--song-item-text)}.song-card-link:hover .song-card-title{color:color-mix(in srgb,var(--song-item-accent) 88%,var(--song-item-text))}.song-card-artist{font-size:.85rem;color:var(--song-item-muted)}.song-card-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.song-card .lang-badge,.song-preview-card .lang-badge,.song-view-header .lang-badge,.song-card .tag,.song-preview-card .tag,.song-view-header .tag{background:var(--song-item-chip-bg);color:var(--song-item-chip-text)}.song-card .tag,.song-preview-card .tag,.setlist-song-meta .tag{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;padding:.1rem .45rem}.song-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:.25rem}.song-preview-card{--song-item-accent: var(--accent);--song-item-bg: var(--surface);--song-item-border: var(--border);--song-item-text: var(--text);--song-item-muted: var(--muted);--song-item-chip-bg: color-mix(in srgb, var(--song-item-accent) 14%, var(--surface));--song-item-chip-text: color-mix(in srgb, var(--song-item-accent) 70%, var(--text));position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;min-height:240px;padding:1rem;background:var(--song-item-bg);border:1px solid var(--song-item-border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);transition:transform .15s,border-color .15s,box-shadow .15s}.song-preview-card .song-drag-handle{position:absolute;top:.5rem;left:.5rem;align-self:auto}.song-preview-card.drop-before{box-shadow:var(--shadow)}.song-preview-card.drop-before:before{content:"";position:absolute;top:-4px;left:.5rem;right:.5rem;height:2px;background:var(--accent);border-radius:999px;animation:drop-insert-line .14s ease-out}.song-preview-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--song-item-accent) 45%,var(--song-item-border));box-shadow:0 8px 24px color-mix(in srgb,var(--song-item-accent) 24%,transparent)}.song-preview-card-link{display:flex;flex-direction:column;gap:.85rem;min-height:0;padding-top:1.75rem;color:var(--song-item-text);text-decoration:none}.song-preview-card-link:hover{text-decoration:none}.song-preview-card-link:hover .song-card-title{color:var(--song-item-accent)}.song-preview-card-main{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem}.song-preview-text{color:var(--song-item-muted);font-size:.92rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.song-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.song-reorder-dropzone{min-height:1rem;border:1px dashed transparent;border-radius:var(--radius);transition:border-color .15s,background .15s}.song-reorder-dropzone.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.song-actions--stacked{padding-top:.25rem;border-top:1px solid var(--border)}.song-action-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:var(--surface);text-decoration:none;transition:background .12s,border-color .12s,color .12s,transform .08s}.song-action-btn--labeled{width:auto;min-height:2.25rem;height:auto;gap:.35rem;padding:.45rem .85rem;font-size:.875rem;font-weight:600}.song-action-btn:hover{transform:translateY(-1px);text-decoration:none}.song-action-btn svg{flex-shrink:0}.song-action-btn--edit{color:#1f5ea8;border-color:#b7d0ee;background:#f2f8ff}.song-action-btn--edit:hover{color:#134783;border-color:#8eb7e2;background:#e4f1ff}.song-action-btn--rename{color:#8a5400;border-color:transparent;background:transparent}.song-action-btn--rename:hover{color:#663f00;border-color:transparent;background:transparent}.song-action-btn--remove{color:#8d4d13;border-color:#efc8a6;background:#fff3e7}.song-action-btn--remove:hover{color:#6d3a0b;border-color:#deab7b;background:#ffe5cc}.song-action-btn--color{color:#0f6b66;border-color:#8ecfc9;background:#e8fbf8}.song-action-btn--color:hover{color:#0b5651;border-color:#67bdb6;background:#d8f5f1}.song-color-picker-wrap{position:relative}.song-color-picker{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;width:8.8rem;padding:.45rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 20px #0000001f;display:flex;flex-direction:column;gap:.4rem}.song-color-picker-clear{width:100%;text-align:left;padding:.28rem .4rem;border-radius:5px;font-size:.74rem;color:var(--muted)}.song-color-picker-clear:hover{background:var(--bg);color:var(--text)}.song-action-btn--delete{color:var(--danger);border-color:#efb5ae;background:#fff0f0}.song-action-btn--delete:hover{color:var(--danger);border-color:#e28c82;background:#fde1de}.song-action-btn--print{color:#52606d;border-color:#d1d8df;background:#f7f9fb}.song-action-btn--print:hover{color:#3f4d5a;border-color:#b8c2cc;background:#ecf1f5}.song-list-page .song-action-btn--edit,.song-list-page .song-action-btn--remove,.song-list-page .song-action-btn--delete{background:transparent}.song-list-page .song-action-btn--edit{border-color:transparent}.song-list-page .song-action-btn--edit:hover{border-color:color-mix(in srgb,#1f5ea8 32%,transparent);background:color-mix(in srgb,#1f5ea8 10%,transparent)}.song-list-page .song-action-btn--remove{border-color:transparent}.song-list-page .song-action-btn--remove:hover{border-color:color-mix(in srgb,#8d4d13 34%,transparent);background:color-mix(in srgb,#8d4d13 10%,transparent)}.song-list-page .song-action-btn--delete{border-color:transparent}.song-list-page .song-action-btn--delete:hover{border-color:color-mix(in srgb,var(--danger) 36%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;color:var(--muted);margin-top:.25rem}.song-view{display:flex;flex-direction:column;gap:1.5rem;max-width:900px;margin:0 auto;width:100%}.song-view .song-action-btn--edit{color:#1f5ea8;border-color:transparent;background:transparent}.song-view .song-action-btn--edit:hover{color:#134783;border-color:transparent;background:transparent}.song-view .song-action-btn--delete,.song-view .song-action-btn--delete:hover{color:var(--danger);border-color:transparent;background:transparent}@media (min-width: 901px) and (max-width: 1200px){:root{--sidebar-width: 240px}.topbar{gap:1rem;padding:var(--safe-top) calc(1.1rem + var(--safe-right)) 0 calc(1.1rem + var(--safe-left))}.topbar-nav{gap:.6rem}.topbar-nav a,.topbar-invites-trigger{padding:.35rem .6rem}.main-content{padding:1.25rem calc(1.1rem + var(--safe-right)) calc(1.25rem + var(--safe-bottom)) calc(1.1rem + var(--safe-left))}.song-list-sticky{--song-list-sticky-top-cover: 1.25rem;margin:-1.25rem calc(-1.1rem - var(--safe-right)) .75rem calc(-1.1rem - var(--safe-left));top:0}.song-list-sticky>.setlist-header,.song-list-sticky>.press-kit-toolbar,.song-list-controls,.list-appearance-editor{margin-left:calc(1.1rem + var(--safe-left));margin-right:calc(1.1rem + var(--safe-right))}.song-list-controls{padding-left:0;padding-right:0}.song-view{max-width:1000px}.song-card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}.song-view-header{--song-header-accent: var(--accent);--song-item-bg: var(--surface);--song-item-border: var(--border);--song-item-text: var(--text);--song-item-muted: var(--muted);--song-item-chip-bg: color-mix(in srgb, var(--song-header-accent) 14%, var(--surface));--song-item-chip-text: color-mix(in srgb, var(--song-header-accent) 70%, var(--text));--song-toolbar-elevated-bg: color-mix(in srgb, var(--song-item-bg) 84%, var(--bg));--song-toolbar-elevated-text: color-mix(in srgb, var(--song-item-chip-text) 82%, var(--song-item-text));background:var(--song-item-bg);border:1px solid var(--song-item-border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between}.song-view-title{font-size:1.6rem;font-weight:700;line-height:1.2;color:var(--song-item-text)}.song-view-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.song-view-artist{color:var(--song-item-muted);margin-top:.2rem}.song-view-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.song-view-toolbar{display:flex;flex-direction:column;gap:.6rem;align-items:stretch;width:100%}.song-toolbar-section{display:flex;flex-direction:column;gap:.55rem;padding:.7rem;border:1px solid var(--song-item-border);border-radius:12px;background:var(--song-toolbar-elevated-bg)}.song-toolbar-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.song-toolbar-section-title{display:inline-flex;align-items:center;gap:.35rem;font-size:1rem;font-weight:600;letter-spacing:.02em;color:var(--song-item-chip-text);text-transform:uppercase}.song-toolbar-section-subtitle{font-size:.73rem;color:var(--song-toolbar-elevated-text)}.song-toolbar-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.song-toolbar-row--tool-switches{gap:.45rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 900px){.song-toolbar-row--tool-switches{flex-wrap:wrap;overflow-x:visible}}.song-toolbar-controls-group{display:inline-flex;align-items:center;gap:.45rem}.song-toolbar-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem}.song-toolbar-tool-card{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;border:1px solid color-mix(in srgb,var(--song-header-accent) 26%,var(--song-item-border));border-radius:10px;background:color-mix(in srgb,var(--song-header-accent) 8%,var(--song-item-bg))}.song-toolbar-tool-card-title{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--song-toolbar-elevated-text);font-weight:700}.song-toolbar-tool-card--media{grid-column:1 / -1}.song-toolbar-tool-card--notes{min-width:0}.song-toolbar-row--actions .song-actions{justify-content:flex-start}.song-toolbar-row--media{width:100%}.song-view-header .transpose-control,.song-view-header .instrument-toggle{background:var(--song-toolbar-elevated-bg);border-color:var(--song-item-border)}.song-view-header .transpose-btn{color:color-mix(in srgb,var(--song-header-accent) 86%,var(--song-item-text))}.song-view-header .transpose-label,.song-view-header .toggle-label,.song-view-header .instrument-toggle-btn{color:var(--song-item-muted)}.song-view-header .toggle-label input{accent-color:var(--song-header-accent)}.song-view-header .toggle-label--draw input{accent-color:var(--notes-draw)}.song-view-header .instrument-toggle-btn:hover{background:var(--song-item-chip-bg);color:var(--song-item-chip-text)}.song-view-header .instrument-toggle-btn--active,.song-view-header .instrument-toggle-btn--active:hover{background:var(--song-header-accent);color:var(--song-item-accent-contrast, var(--accent-contrast))}.song-view-header .capo-badge,.song-view-header .meta-pill{background:var(--song-item-chip-bg);color:var(--song-item-chip-text)}.transpose-control{display:flex;align-items:center;gap:.4rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.25rem .4rem}.transpose-btn{display:flex;align-items:center;padding:.2rem .35rem;border-radius:4px;color:var(--accent);transition:background .15s}.transpose-btn:hover{background:var(--chord-bg)}.transpose-btn--reset{color:var(--muted);opacity:.7}.transpose-btn--reset:hover{color:var(--danger);background:#fde8e8;opacity:1}.transpose-label{font-size:.82rem;color:var(--muted);min-width:125px;text-align:center}.toggle-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input{accent-color:var(--accent);width:15px;height:15px}.toggle-label--draw-active{color:var(--notes-draw)}.capo-badge,.meta-pill{background:var(--chord-bg);color:var(--accent);border-radius:100px;padding:.15rem .6rem;font-size:.78rem;font-weight:600}.visual-metronome{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .35rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,var(--bg))}.visual-metronome-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;padding:.2rem;width:1.85rem;height:1.85rem;font-size:.73rem;font-weight:600;color:var(--muted);background:var(--surface);transition:background .15s,color .15s,border-color .15s}.visual-metronome-toggle:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--chord-bg)}.visual-metronome-tap{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--border);border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:600;color:var(--muted);background:var(--surface);transition:background .15s,color .15s,border-color .15s}.visual-metronome-tap:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--chord-bg)}.visual-metronome-sound{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;padding:.2rem .35rem;color:var(--muted);background:var(--surface);transition:background .15s,color .15s,border-color .15s}.visual-metronome-sound:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--chord-bg)}.visual-metronome-sound.is-active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.visual-metronome-readout{display:inline-flex;align-items:center;gap:.35rem}.visual-metronome-light{width:.68rem;height:.68rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 45%,transparent);opacity:.45}.visual-metronome-light.is-running{background:color-mix(in srgb,var(--accent) 85%,white);animation-name:metronome-pulse;animation-iteration-count:infinite;animation-timing-function:linear}.visual-metronome-tempo{font-size:.76rem;font-weight:700;color:var(--accent);letter-spacing:.02em}.visual-metronome-beats{display:inline-flex;align-items:center;gap:.2rem}.visual-metronome-beat{width:.38rem;height:.38rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,transparent);transition:transform .14s ease,background .14s ease}.visual-metronome-beat.is-active{transform:scale(1.12);background:color-mix(in srgb,var(--accent) 85%,white)}.visual-metronome-beat.is-downbeat{width:.5rem;height:.5rem}.song-view-header .visual-metronome{border-color:var(--song-item-border);background:var(--song-item-chip-bg)}.song-view-header .visual-metronome-toggle,.song-view-header .visual-metronome-tap,.song-view-header .visual-metronome-sound{border-color:color-mix(in srgb,var(--song-header-accent) 30%,var(--song-item-border));color:var(--song-item-chip-text);background:var(--song-toolbar-elevated-bg)}.song-view-header .visual-metronome-toggle:hover,.song-view-header .visual-metronome-tap:hover{color:var(--song-item-chip-text);background:color-mix(in srgb,var(--song-header-accent) 18%,var(--song-item-bg))}.song-view-header .visual-metronome-sound:hover,.song-view-header .visual-metronome-sound.is-active{color:var(--song-item-chip-text);background:color-mix(in srgb,var(--song-header-accent) 18%,var(--song-item-bg));border-color:color-mix(in srgb,var(--song-header-accent) 40%,var(--song-item-border))}.song-view-header .visual-metronome-tempo{color:var(--song-item-chip-text)}.song-toolbar-tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;flex:0 0 auto;white-space:nowrap;border:1px solid var(--border);border-radius:999px;min-height:2.5rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;color:var(--muted);background:var(--surface);transition:background .15s,color .15s,border-color .15s}.song-toolbar-tool-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--chord-bg)}.song-notes-control{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.28rem}.song-notes-draw-toggle{display:inline-flex;align-items:center;justify-content:flex-start;font-size:.74rem;font-weight:600;padding:.2rem .45rem;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.song-notes-draw-toggle:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--chord-bg)}.song-notes-panel{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;width:100%;padding:.38rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 85%,var(--bg))}.song-toolbar-tool-btn--active,.song-toolbar-tool-btn--active:hover{color:var(--accent-contrast);border-color:color-mix(in srgb,var(--accent) 65%,var(--border));background:var(--accent)}.song-view-header .song-toolbar-tool-btn{border-color:color-mix(in srgb,var(--song-header-accent) 30%,var(--song-item-border));color:var(--song-item-chip-text);background:var(--song-toolbar-elevated-bg)}.song-view-header .song-notes-draw-toggle{color:var(--song-item-chip-text);border-color:color-mix(in srgb,var(--song-header-accent) 30%,var(--song-item-border));background:var(--song-toolbar-elevated-bg)}.song-view-header .song-notes-panel{border-color:color-mix(in srgb,var(--song-header-accent) 30%,var(--song-item-border));background:color-mix(in srgb,var(--song-header-accent) 8%,var(--song-item-bg))}.song-view-header .song-notes-draw-toggle:hover{color:var(--song-item-chip-text);border-color:color-mix(in srgb,var(--song-header-accent) 44%,var(--song-item-border));background:color-mix(in srgb,var(--song-header-accent) 18%,var(--song-item-bg))}.song-view-header .song-notes-draw-toggle.toggle-label--draw-active,.song-view-header .song-notes-draw-toggle.toggle-label--draw-active:hover{color:var(--song-item-accent-contrast, var(--accent-contrast));border-color:color-mix(in srgb,var(--notes-draw) 70%,black);background:var(--notes-draw)}.song-view-header .song-toolbar-tool-btn:hover{color:var(--song-item-chip-text);background:color-mix(in srgb,var(--song-header-accent) 18%,var(--song-item-bg))}.song-view-header .song-toolbar-tool-btn--active,.song-view-header .song-toolbar-tool-btn--active:hover{color:var(--song-item-accent-contrast, var(--accent-contrast));border-color:color-mix(in srgb,var(--song-header-accent) 74%,black);background:var(--song-header-accent)}.song-view-header .song-toolbar-row--controls{row-gap:.45rem}.song-view-header .song-toolbar-row--controls .transpose-control{border:0;border-radius:0;background:transparent;padding:0;overflow:visible;gap:.45rem}.song-view-header .song-toolbar-row--controls .instrument-toggle{border:1px solid color-mix(in srgb,var(--song-header-accent) 28%,var(--song-item-border));border-radius:999px;background:color-mix(in srgb,var(--song-header-accent) 14%,var(--song-item-bg));overflow:hidden;padding:.12rem;gap:.12rem}.song-view-header .song-toolbar-row--controls .transpose-btn,.song-view-header .song-toolbar-row--controls .instrument-toggle-btn{padding:.35rem .7rem}.song-view-header .song-toolbar-row--controls .instrument-toggle-btn,.concert-tool-row .instrument-toggle-btn{border-radius:999px;background:transparent;color:color-mix(in srgb,var(--song-header-accent) 56%,var(--song-item-text))}.song-view-header .song-toolbar-row--controls .instrument-toggle-btn:hover,.concert-tool-row .instrument-toggle-btn:hover{background:color-mix(in srgb,var(--song-header-accent) 22%,var(--song-item-chip-bg));color:var(--song-item-chip-text)}.song-view-header .song-toolbar-row--controls .instrument-toggle-btn--active,.song-view-header .song-toolbar-row--controls .instrument-toggle-btn--active:hover,.concert-tool-row .instrument-toggle-btn--active,.concert-tool-row .instrument-toggle-btn--active:hover{background:color-mix(in srgb,var(--song-header-accent) 84%,black);color:var(--song-item-accent-contrast, var(--accent-contrast));box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 16%,transparent)}.song-view-header .song-toolbar-row--controls .song-toolbar-setting-label{cursor:default;min-width:9.25rem;justify-content:center;pointer-events:none}.song-view-header .song-toolbar-row--controls .transpose-btn--reset,.song-view-header .song-toolbar-row--controls .transpose-btn--reset:hover{color:color-mix(in srgb,#fff 92%,#b91c1c);border-color:color-mix(in srgb,#b91c1c 45%,var(--song-item-border));background:color-mix(in srgb,#b91c1c 70%,#111)}.concert-tool-row .transpose-control{border:0;border-radius:0;background:transparent;padding:0;overflow:visible;gap:.35rem}.concert-tool-row .instrument-toggle{border:1px solid color-mix(in srgb,var(--song-header-accent) 28%,var(--song-item-border));border-radius:999px;background:color-mix(in srgb,var(--song-header-accent) 14%,var(--song-item-bg));overflow:hidden;padding:.12rem;gap:.12rem}.concert-tool-row .song-toolbar-setting-label{cursor:default;min-width:9.25rem;justify-content:center;pointer-events:none}.concert-tool-row .transpose-btn--reset.concert-chip-btn,.concert-tool-row .transpose-btn--reset.concert-chip-btn:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 12%,var(--surface))}.song-media-player{width:100%;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 82%,var(--bg));padding:.55rem .65rem}.technical-rider-view{display:flex;flex-direction:column;gap:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:1rem}.technical-rider-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:.9rem}.technical-rider-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem}.technical-rider-section h2{font-size:1rem}.technical-rider-table-wrap{overflow-x:auto}.technical-rider-table{width:100%;border-collapse:collapse}.technical-rider-table th,.technical-rider-table td{border-bottom:1px solid var(--border);text-align:left;padding:.55rem .45rem;vertical-align:top}.technical-rider-table th:first-child,.technical-rider-table td:first-child{width:3rem}.technical-rider-table input{width:100%;border:1px solid var(--border);border-radius:6px;padding:.35rem .45rem;background:var(--surface);color:var(--text)}.technical-rider-empty-cell,.technical-rider-empty{color:var(--muted)}.technical-rider-public-section{margin-top:.85rem;display:flex;flex-direction:column;gap:.65rem}.technical-rider-public-section h2{margin:0}.song-media-player--spotify{display:flex;flex-direction:column;gap:.45rem}.song-media-external-link{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;font-size:.72rem;color:var(--muted)}.song-media-external-link:hover{color:var(--accent)}.song-media-player--youtube{display:flex;flex-direction:column;align-items:stretch;gap:.45rem}.song-media-embed-shell{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 70%,var(--bg))}.song-media-embed-shell iframe{display:block;width:100%;border:0}.song-media-embed-shell--youtube{aspect-ratio:16 / 9}.song-media-embed-shell--youtube iframe{height:100%}.song-media-embed-shell--spotify iframe{border-radius:0}.song-view-header .song-media-player{border-color:color-mix(in srgb,var(--song-header-accent) 30%,var(--song-item-border));background:var(--song-item-chip-bg)}.song-view-header .song-media-external-link,.song-view-header .song-media-external-link:hover{color:var(--song-item-chip-text)}.song-view-header .song-media-embed-shell{border-color:color-mix(in srgb,var(--song-header-accent) 30%,var(--song-item-border))}.concert-metronome{background:color-mix(in srgb,var(--surface) 82%,var(--bg))}.visual-tuner{display:inline-flex;flex-direction:column;align-items:stretch;gap:.38rem;padding:.55rem .65rem;min-width:10.75rem;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,var(--bg))}.visual-tuner.is-collapsed{min-width:0;padding:.35rem .4rem;gap:0}.visual-tuner-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;border:1px solid var(--border);border-radius:7px;padding:.25rem .5rem;font-size:.68rem;font-weight:600;color:var(--muted);background:var(--surface);transition:background .15s,color .15s,border-color .15s}.visual-tuner-toggle:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--chord-bg)}.visual-tuner-readout{display:flex;flex-direction:column;align-items:center;gap:.05rem;line-height:1}.visual-tuner-label{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.visual-tuner-status{font-size:1.85rem;font-weight:700;letter-spacing:.01em;color:var(--text)}.visual-tuner-status.is-in-tune{color:#1f8b4c}.visual-tuner-cue-row{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.visual-tuner-side{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.visual-tuner-cue{font-size:.66rem;font-weight:700;color:var(--muted);text-align:center;min-width:4.8rem}.visual-tuner-cue.is-in-tune{color:#1f8b4c}.visual-tuner-cue.is-up{color:#2f6bd6}.visual-tuner-cue.is-down{color:#c06d0d}.visual-tuner-gauge{position:relative;width:100%;height:.66rem;border-radius:999px;background:linear-gradient(to right,color-mix(in srgb,var(--danger) 42%,transparent) 0%,color-mix(in srgb,#cb8d2e 40%,transparent) 36%,color-mix(in srgb,#1f8b4c 60%,transparent) 50%,color-mix(in srgb,#cb8d2e 40%,transparent) 64%,color-mix(in srgb,var(--danger) 42%,transparent) 100%);overflow:hidden}.visual-tuner-gauge.is-in-tune{box-shadow:inset 0 0 0 1px color-mix(in srgb,#1f8b4c 45%,transparent)}.visual-tuner-center{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:2px;height:.66rem;background:color-mix(in srgb,var(--text) 55%,transparent)}.visual-tuner-needle{position:absolute;top:.03rem;width:2px;height:.6rem;background:color-mix(in srgb,var(--text) 88%,transparent);transform:translate(-50%);transition:left .08s linear}.visual-tuner-cents{font-weight:600;font-size:.66rem;color:var(--muted)}.visual-tuner-hz{text-align:center;font-size:.63rem;color:var(--muted)}.visual-tuner-error{text-align:center;font-size:.63rem;color:var(--danger);font-weight:600}.song-view-header .visual-tuner{border-color:var(--song-item-border);background:var(--song-item-chip-bg)}.song-view-header .visual-tuner-toggle{border-color:color-mix(in srgb,var(--song-header-accent) 30%,var(--song-item-border));color:var(--song-item-chip-text);background:var(--song-toolbar-elevated-bg)}.song-view-header .visual-tuner-toggle:hover{color:var(--song-item-chip-text);background:color-mix(in srgb,var(--song-header-accent) 18%,var(--song-item-bg))}.song-view-header .visual-tuner-status,.song-view-header .visual-tuner-cents,.song-view-header .visual-tuner-label{color:var(--song-item-chip-text)}.song-view-header .visual-tuner-side,.song-view-header .visual-tuner-hz,.song-view-header .visual-tuner-cue{color:var(--song-toolbar-elevated-text)}.concert-tuner{background:color-mix(in srgb,var(--surface) 82%,var(--bg))}@keyframes metronome-pulse{0%{transform:scale(.72);opacity:.4;box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 35%,transparent)}14%{transform:scale(1);opacity:1;box-shadow:0 0 0 .34rem color-mix(in srgb,var(--accent) 26%,transparent)}32%{transform:scale(.74);opacity:.5;box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent)}to{transform:scale(.72);opacity:.4;box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}.instrument-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg)}.instrument-toggle-btn{padding:.22rem .65rem;font-size:.78rem;font-weight:600;color:var(--muted);transition:background .15s,color .15s}.instrument-toggle-btn:hover{background:var(--chord-bg);color:var(--accent)}.instrument-toggle-btn--active{background:var(--accent);color:var(--accent-contrast)}.instrument-toggle-btn--active:hover{background:var(--accent-h);color:var(--accent-contrast)}@media (max-width: 900px){.song-view-header{flex-direction:column;align-items:stretch}.song-view-toolbar{margin-top:.35rem}}.chord-diagram-popup{position:fixed;z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 20px #00000024;padding:.75rem .85rem .85rem;display:flex;flex-direction:column;gap:.6rem}.chord-diagram-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chord-diagram-name{font-weight:700;font-size:1rem;color:var(--chord);font-family:var(--font-mono)}.chord-diagram-close{display:flex;align-items:center;padding:.15rem;border-radius:4px;color:var(--muted);transition:background .12s,color .12s}.chord-diagram-close:hover{background:var(--bg);color:var(--text)}.chord-diagram-unavailable{font-size:.82rem;color:var(--muted);padding:.25rem 0}.piano-diagram-controls{display:flex;flex-direction:column;gap:.45rem}.piano-diagram-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted);-webkit-user-select:none;user-select:none}.piano-diagram-toggle input{accent-color:var(--accent);width:14px;height:14px}.piano-inversion-group{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:wrap}.piano-inversion-btn{padding:.2rem .45rem;border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--muted);font-size:.74rem;font-weight:600;line-height:1.2;transition:background .12s,color .12s,border-color .12s}.piano-inversion-btn:hover{background:var(--chord-bg);border-color:var(--accent);color:var(--accent)}.piano-inversion-btn--active,.piano-inversion-btn--active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.chord-diagram-hint{font-size:.76rem;color:var(--muted)}.chord-display{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;font-family:var(--font-mono);font-size:.95rem;line-height:1.4;overflow-x:auto}.chord-line{display:flex;flex-wrap:nowrap;white-space:pre}.chord-line--empty{height:.9rem}.chord-line--has-chords{margin-top:.4rem}.chord-line--chord-only{gap:1.5ch}.chord-segment{display:inline-flex;flex-direction:column;white-space:pre}.chord-name{color:var(--chord);font-weight:700;font-size:.85rem;line-height:1.2;min-width:1ch}.chord-name-btn{color:var(--chord);font-weight:700;font-size:.85rem;font-family:inherit;line-height:1.2;padding:0;border-radius:3px;cursor:pointer;transition:background .12s,color .12s;white-space:pre}.chord-name-btn:hover{background:var(--chord-bg);color:var(--accent-h);outline:none}.lyric-text{line-height:1.5}.song-view-body .chord-display{overflow-x:hidden}.song-view-body .chord-line{flex-wrap:wrap;white-space:normal;align-items:flex-start;row-gap:.2rem}.song-view-body .chord-segment{white-space:pre-wrap;min-width:0;max-width:100%}.song-view-body .lyric-text{overflow-wrap:anywhere;word-break:break-word}.song-view-body .chord-name-btn{white-space:normal}.song-title-directive{font-size:1.3rem;font-weight:700;margin-bottom:.3rem;font-family:inherit}.song-subtitle-directive{color:var(--muted);margin-bottom:.5rem;font-family:inherit}.section-label{display:inline-block;background:var(--chord-bg);color:var(--accent);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:.15rem .55rem;margin:.75rem 0 .3rem;font-family:inherit}@media (max-width: 900px){.song-view .chord-display{overflow-x:hidden}.song-view .chord-line{flex-wrap:wrap;white-space:normal;align-items:flex-start;row-gap:.2rem}.song-view .chord-segment{white-space:pre-wrap;min-width:0;max-width:100%}.song-view .lyric-text{overflow-wrap:anywhere;word-break:break-word}.song-view .chord-name-btn{white-space:normal}}.song-notes-stage{position:relative;isolation:isolate}.song-hand-notes-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;border-radius:var(--radius);touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:none}.song-hand-notes-overlay--drawing{pointer-events:all;cursor:crosshair;background:color-mix(in srgb,var(--accent) 6%,transparent)}.song-hand-notes-canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%}.notes-toolbar-btn{display:inline-flex;align-items:center;gap:.3rem;min-height:2.35rem;padding:.35rem .72rem;font-size:.8rem;font-weight:600;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--muted);transition:background .15s,color .15s,border-color .15s}.notes-toolbar-btn:hover:not(:disabled){background:var(--chord-bg);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.notes-toolbar-btn:disabled{opacity:.42;cursor:not-allowed}.notes-toolbar-btn--danger:hover:not(:disabled){background:#fde8e8;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.notes-save-status{font-size:.78rem;font-weight:600;border-radius:100px;padding:.1rem .55rem}.notes-save-status--saving{color:var(--muted)}.notes-save-status--saved{color:#27ae60}.notes-save-status--error{color:var(--danger)}.notes-author-filters{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.notes-author-chip{display:inline-flex;align-items:center;gap:.3rem;min-height:2.2rem;padding:.32rem .65rem;font-size:.8rem;font-weight:600;border:1px solid var(--border);border-radius:100px;background:var(--bg);color:var(--muted);transition:background .15s,color .15s,border-color .15s}.notes-author-chip:hover{background:var(--chord-bg);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.notes-author-chip--active,.notes-author-chip--on{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.notes-author-chip--active:hover,.notes-author-chip--on:hover{background:var(--accent-h);border-color:var(--accent-h);color:var(--accent-contrast)}.notes-author-chip-initials,.notes-author-chip-avatar{width:1.2em;height:1.2em;border-radius:50%;background:color-mix(in srgb,var(--accent-contrast) 20%,transparent);display:inline-flex;align-items:center;justify-content:center;font-size:.72em;font-weight:700}.tab-block{margin:.75rem 0;display:inline-block;max-width:100%}.tab-content{font-family:var(--font-mono);font-size:.82rem;line-height:1.55;background:var(--bg);border:1px solid var(--border);border-radius:6px 6px 0 0;padding:.65rem .9rem;margin:0;overflow-x:auto;white-space:pre;color:var(--text);display:block}.tab-guide-line{color:var(--accent);font-weight:700}.tab-play-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;font-size:.78rem;font-weight:600;background:var(--chord-bg);color:var(--accent);border:1px solid #d8d2f0;border-top:none;border-radius:0 0 6px 6px;transition:background .15s,color .15s;cursor:pointer;width:100%;justify-content:center}.tab-play-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.tab-play-btn--playing{background:#fde8e8;color:var(--danger);border-color:var(--danger)}.tab-play-btn--playing:hover{background:var(--danger);color:#fff}.tab-editor-guides{margin-top:.6rem;display:flex;flex-direction:column;gap:.45rem}.tab-guide-hint{margin:0}.recordings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.recordings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.recordings-header h2{display:flex;align-items:center;gap:.4rem;font-size:1rem}.recordings-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.no-recordings{color:var(--muted);font-size:.9rem}.audio-player{display:flex;align-items:center;gap:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.8rem .9rem;flex-wrap:wrap}.audio-player--saved{flex-direction:column;align-items:stretch;gap:.6rem}.recording-rename-row{display:flex;align-items:center;gap:.5rem;width:100%}.recording-rename-input{flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:.45rem .65rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover{background:color-mix(in srgb,var(--surface) 75%,var(--accent));border-color:color-mix(in srgb,var(--border) 60%,var(--accent))}.icon-btn--delete:hover{color:#b42318}.play-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;flex-shrink:0;transition:background .15s}.play-btn:hover{background:var(--accent-h)}.player-info{display:flex;flex-direction:column;min-width:100px;flex:1}.player-name{font-size:.85rem;font-weight:600}.player-name-input{width:100%;min-width:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.85rem;font-weight:600;padding:.2rem .45rem}.player-date{font-size:.75rem;color:var(--muted)}.waveform-progress{flex:1;min-width:0;height:58px;display:flex;align-items:center;cursor:pointer;border-radius:8px;padding:.3rem .35rem;background:color-mix(in srgb,var(--surface) 70%,var(--bg));border:1px solid color-mix(in srgb,var(--border) 82%,transparent)}.waveform-progress__bars{width:100%;height:100%;display:flex;align-items:center;gap:1.5px}.waveform-progress__bar{flex:1;min-height:12%;align-self:center;border-radius:999px;background:color-mix(in srgb,var(--border) 68%,var(--muted));transition:background .08s ease}.waveform-progress__bar--played{background:var(--accent)}.waveform-progress__bar--hover{background:color-mix(in srgb,var(--accent) 48%,var(--border) 52%)}.audio-recorder{border:1px dashed var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}.recorder-title{font-size:.9rem;font-weight:700;margin-bottom:.75rem}.song-recorder{display:flex;flex-direction:column;gap:.75rem;width:100%}.recorder-controls{display:flex;flex-direction:column;gap:.75rem}.recorder-status{color:var(--muted);font-size:.9rem}.recorder-indicator{color:var(--danger);font-weight:700;font-size:.9rem;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:.4}}.recorder-preview{width:100%}.recorder-name-input{width:100%;padding:.45rem .75rem;border:1px solid var(--border);border-radius:6px;outline:none}.recorder-name-input:focus{border-color:var(--accent)}.recorder-save-form{display:flex;flex-direction:column;gap:.5rem}.recorder-save-actions{display:flex;gap:.5rem}.recorder-error{color:var(--danger);font-size:.85rem}.recorder-recording-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.recorder-elapsed{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600;color:var(--text);min-width:2.5rem}.recorder-preview-section{display:flex;flex-direction:column;gap:.6rem}.recorder-preview-playback{display:flex;align-items:center;gap:.75rem;width:100%}.recorder-preview-bar{height:58px}.song-toolbar-tool-card--recorder{grid-column:1 / -1}.rec-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex-shrink:0;font-size:.85rem;line-height:1;cursor:default}.rec-avatar--emoji{background:var(--chord-bg)}.rec-avatar--initials{background:var(--accent);color:#fff;font-size:.75rem;font-weight:700}.rec-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:6px;font-size:.875rem;font-weight:600;transition:background .15s,color .15s;border:1px solid transparent}.rec-btn--start{background:var(--chord-bg);color:var(--accent);border-color:var(--accent)}.rec-btn--start:hover{background:var(--accent);color:#fff}.rec-btn--stop{background:#fde8e8;color:var(--danger);border-color:var(--danger)}.rec-btn--stop:hover{background:var(--danger);color:#fff}.rec-btn--save{background:var(--accent);color:#fff}.rec-btn--save:hover{background:var(--accent-h)}.rec-btn--reset{background:var(--bg);color:var(--muted);border-color:var(--border)}.rec-btn--reset:hover{color:var(--text)}.rec-btn--toggle{background:var(--chord-bg);color:var(--accent);border-color:var(--chord-bg)}.rec-btn--toggle:hover{background:var(--accent);color:#fff}.btn-primary,.setlist-action-btn,.song-picker-add-btn,.concert-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.25rem;padding:.55rem 1rem;border:1px solid transparent;border-radius:8px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 80%,#003d99));color:var(--accent-contrast);font-size:.88rem;font-weight:600;line-height:1;letter-spacing:.01em;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 40%,transparent);transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .08s}.btn-primary:hover,.setlist-action-btn:hover,.song-picker-add-btn:hover{background:linear-gradient(135deg,var(--accent-h),color-mix(in srgb,var(--accent-h) 80%,#003d99));box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 45%,transparent);transform:translateY(-1px)}.btn-primary:focus-visible,.setlist-action-btn:focus-visible,.song-picker-add-btn:focus-visible,.concert-nav-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}.btn-primary:disabled,.setlist-action-btn:disabled,.song-picker-add-btn:disabled,.concert-nav-btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{padding:.6rem 1.2rem;font-size:.95rem}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.55rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.88rem;font-weight:600;line-height:1;letter-spacing:.01em;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .08s}.btn-secondary:hover{background:color-mix(in srgb,var(--surface) 40%,var(--bg));border-color:color-mix(in srgb,var(--border) 60%,var(--muted));transform:translateY(-1px)}.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.add-song-page h1{margin-bottom:1.25rem}.add-song-form{display:flex;flex-direction:column;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-field{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:160px}.form-field--full{flex-basis:100%}.form-field label{font-size:.85rem;font-weight:600;color:var(--muted)}.form-field input,.form-field select,.form-field textarea{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);outline:none;box-shadow:inset 0 1px 2px #0000000a;transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:inset 0 1px 2px #0000000a,0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.form-field textarea{resize:vertical;font-family:var(--font-mono);font-size:.88rem;min-height:280px}.paste-import-warnings{border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--border) 36%,transparent);color:var(--muted);font-size:.86rem;padding:.5rem .65rem;display:flex;flex-direction:column;gap:.2rem}.chordpro-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.chordpro-label-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.preview-toggle{font-size:.8rem;color:var(--accent);font-weight:600;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--chord-bg);background:var(--chord-bg);transition:background .15s}.preview-toggle:hover{background:var(--accent);color:#fff}.form-submit-inline{min-height:auto;padding:.3rem .65rem;font-size:.82rem}.chordpro-preview{border:1px solid var(--border);border-radius:6px;padding:.75rem;min-height:280px;background:var(--bg);overflow-x:auto}.chordpro-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:6px 6px 0 0;padding:.5rem .75rem;border-bottom:none}.toolbar-group{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.toolbar-group--chord{margin-left:auto}.toolbar-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-right:.1rem}.toolbar-divider{width:1px;height:20px;background:var(--border);margin:0 .25rem}.toolbar-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:5px;font-size:.8rem;font-weight:600;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.toolbar-btn--section{background:var(--chord-bg);border-color:#d8d2f0;color:var(--accent)}.toolbar-btn--section:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.toolbar-btn--chord{background:var(--accent);color:#fff;padding:.25rem .7rem}.toolbar-btn--chord:hover{background:var(--accent-h)}.toolbar-btn--chord:disabled{opacity:.4;cursor:default}.section-intro{border-color:#f5d8b2;background:#fff5e8;color:#aa5b14}.section-intro:hover{background:#aa5b14;border-color:#aa5b14;color:#fff}.section-chorus{border-color:#c8ecd4;background:#edfaf2;color:#2e7d52}.section-chorus:hover{background:#2e7d52;border-color:#2e7d52;color:#fff}.section-bridge{border-color:#f8d9c0;background:#fef3ea;color:#b35a1a}.section-bridge:hover{background:#b35a1a;border-color:#b35a1a;color:#fff}.section-prechorus{border-color:#d0e8f8;background:#eaf5fd;color:#1a6090}.section-prechorus:hover{background:#1a6090;border-color:#1a6090;color:#fff}.section-interlude{border-color:#d7d3fb;background:#f2f0ff;color:#5b4db2}.section-interlude:hover{background:#5b4db2;border-color:#5b4db2;color:#fff}.section-outro{border-color:#f6cfd8;background:#fff0f4;color:#b34763}.section-outro:hover{background:#b34763;border-color:#b34763;color:#fff}.section-tab{border-color:#c5dff0;background:#eaf4fb;color:#1a5f8a}.section-tab:hover{background:#1a5f8a;border-color:#1a5f8a;color:#fff}.toolbar-chord-input-wrap{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:.1rem .35rem;gap:.1rem;transition:border-color .15s}.toolbar-chord-input-wrap:focus-within{border-color:var(--accent)}.toolbar-chord-bracket{color:var(--accent);font-family:var(--font-mono);font-size:.88rem;font-weight:700;line-height:1}.toolbar-chord-input{width:3.2rem;border:none;background:transparent;outline:none;font-family:var(--font-mono);font-size:.88rem;color:var(--text);padding:.15rem .1rem;text-align:center}.chordpro-toolbar+textarea,.chordpro-toolbar+.chordpro-preview{border-radius:0 0 6px 6px}.form-hint{font-size:.8rem;color:var(--muted);margin-top:.3rem}.form-hint code{background:var(--chord-bg);color:var(--accent);padding:.05rem .3rem;border-radius:3px;font-family:var(--font-mono)}.form-errors{list-style:none;background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid var(--danger);border-radius:6px;padding:.75rem 1rem;color:var(--danger);font-size:.9rem;display:flex;flex-direction:column;gap:.25rem}.form-actions{display:flex;justify-content:flex-end}.login-screen{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(130% 90% at 0% 0%,color-mix(in srgb,var(--accent) 14%,var(--bg)),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--bg) 92%,#ffffff) 0%,var(--bg) 60%);padding:clamp(1rem,3vw,2.5rem)}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.login-notes-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0}.login-glow,.login-ring,.login-spark{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none}.login-glow{border-radius:999px;filter:blur(44px);opacity:.22;mix-blend-mode:screen;animation:login-glow-drift ease-in-out infinite}.login-glow--1{width:clamp(190px,24vw,320px);height:clamp(190px,24vw,320px);top:10%;left:-5%;background:color-mix(in srgb,var(--accent) 52%,#93c5fd);animation-duration:16s}.login-glow--2{width:clamp(170px,20vw,260px);height:clamp(170px,20vw,260px);top:54%;right:-4%;background:color-mix(in srgb,#f59e0b 44%,var(--accent));animation-duration:19s;animation-delay:-7s}.login-ring{border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);opacity:.18;animation:login-ring-pulse ease-in-out infinite}.login-ring--1{width:clamp(180px,22vw,310px);height:clamp(180px,22vw,310px);top:20%;right:10%;animation-duration:14s}.login-ring--2{width:clamp(150px,18vw,260px);height:clamp(150px,18vw,260px);top:58%;left:12%;animation-duration:12s;animation-delay:-5s}.login-spark{width:6px;height:6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 74%,#ffffff);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 62%,#ffffff);opacity:0;animation:login-spark-drift linear infinite}.login-spark--1{left:6%;top:68%;animation-duration:8.5s;animation-delay:-2s}.login-spark--2{left:23%;top:40%;animation-duration:10.5s;animation-delay:-5s}.login-spark--3{left:41%;top:76%;animation-duration:9.6s;animation-delay:-3s}.login-spark--4{left:58%;top:30%;animation-duration:11.2s;animation-delay:-8s}.login-spark--5{left:77%;top:64%;animation-duration:9.1s;animation-delay:-4s}.login-spark--6{left:90%;top:46%;animation-duration:10.8s;animation-delay:-6s}.login-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 1px);background-size:38px 38px;opacity:.2;transform:perspective(600px) rotateX(44deg) scale(1.35) translateY(16%);animation:login-grid-drift 22s linear infinite}.login-shell{width:min(1080px,100%);position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px);gap:clamp(1rem,2vw,2rem);align-items:stretch}.login-hero{color:var(--text);background:color-mix(in srgb,var(--surface) 78%,transparent);border:1px solid transparent;border-radius:24px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:clamp(1.4rem,2.3vw,2.3rem);display:flex;flex-direction:column;gap:1rem}.login-brand.login-brand--hero{justify-content:flex-start;gap:.65rem;font-size:1.1rem}.login-hero-title{margin:0;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.01em}.login-hero-copy{margin:0;color:var(--muted);max-width:54ch;font-size:1rem}.login-feature-list{margin:.35rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.login-feature-item{border:1px solid color-mix(in srgb,var(--border) 72%,transparent);background:color-mix(in srgb,var(--surface) 82%,transparent);border-radius:12px;padding:.7rem .75rem}.login-feature-icon{color:var(--accent, #6366f1);margin-bottom:.3rem;display:block}.login-feature-item h2{margin:0;font-size:.85rem;font-weight:700;color:var(--text)}.login-feature-item p{margin:.25rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}.login-hero-pricing{margin:.25rem 0 0;font-size:.82rem;color:var(--muted);opacity:.75}.login-card{background:color-mix(in srgb,var(--surface) 96%,#ffffff);border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:20px;box-shadow:var(--shadow-lg);padding:clamp(1.4rem,2.3vw,2.4rem);width:100%;display:flex;flex-direction:column;gap:1.1rem}.login-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--accent);font-size:1.3rem;font-weight:700}.login-title{margin:0;font-size:1.4rem;font-weight:700;opacity:0;text-shadow:0 0 18px color-mix(in srgb,var(--accent) 48%,#ffffff);color:var(--text)}.login-description{will-change:transform,opacity;margin:0;text-align:center;color:var(--muted);font-size:.95rem;line-height:1.45}.login-form{display:flex;flex-direction:column;gap:1rem}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.35rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,var(--surface))}.auth-mode-btn{border:none;border-radius:8px;padding:.55rem .75rem;font-weight:600;color:var(--muted);background:transparent;cursor:pointer;transition:background-color .16s ease,color .16s ease}.auth-mode-btn:hover{color:var(--text)}.auth-mode-btn--active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000014,inset 0 0 0 1px var(--border)}.oauth-buttons{display:grid;gap:.65rem}.oauth-btn{width:100%;justify-content:center;gap:.5rem}.oauth-provider-icon{width:1rem;height:1rem;flex-shrink:0}.oauth-provider-icon--muted{color:var(--text)}.login-divider{margin:0;display:flex;align-items:center;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--muted)}.login-divider:before,.login-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.login-divider span{padding:0 .6rem}.login-error{font-size:.875rem;color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid var(--danger);border-radius:6px;padding:.5rem .75rem}.login-submit{width:100%;justify-content:center;margin-top:.25rem}.login-demo-cta{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem;padding:.75rem;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px dashed color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius)}.login-demo-btn-primary{width:100%;justify-content:center;gap:.4rem;border-style:solid;color:var(--accent);background:transparent;border-color:var(--accent);font-weight:600}.login-demo-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.login-demo-cta-text{font-size:.75rem;color:var(--muted);text-align:center;margin:0}.demo-banner{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));flex-shrink:0;z-index:50}.demo-banner-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 1rem;flex-wrap:wrap}.demo-banner-label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;color:var(--accent)}.demo-banner-actions{display:flex;align-items:center;gap:.4rem}.demo-banner-signup-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;padding:.3rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);cursor:pointer;transition:background .15s,border-color .15s}.demo-banner-signup-btn:hover{background:var(--accent-h);border-color:var(--accent-h)}.demo-banner-exit-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.demo-banner-exit-btn:hover{color:var(--danger);border-color:var(--danger)}.demo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.image-preview-trigger{display:block;width:100%;border:0;background:transparent;padding:0;margin:0;cursor:zoom-in}.image-preview-trigger:focus-visible{outline:2px solid var(--bands-hue);outline-offset:2px}.image-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:1rem}.image-lightbox{position:relative;width:min(92vw,920px);max-height:90vh;border-radius:12px;padding:.6rem;background:color-mix(in srgb,var(--surface) 94%,black);border:1px solid color-mix(in srgb,var(--border) 80%,white 10%);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:.5rem}.image-lightbox-close{position:absolute;top:.45rem;right:.45rem;width:2rem;height:2rem;border-radius:999px;border:1px solid color-mix(in srgb,white 25%,transparent);background:rgba(0,0,0,.45);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.image-lightbox-close:hover{background:rgba(0,0,0,.62)}.image-lightbox-image{width:100%;height:auto;max-height:calc(90vh - 5rem);object-fit:contain;border-radius:8px;display:block}.image-lightbox-caption{margin:0;font-size:.85rem;color:var(--text);text-align:center}.demo-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:420px;width:100%;max-height:90vh;overflow-y:auto;padding:1.5rem}.demo-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem}.demo-modal-title{font-size:1.125rem;font-weight:600;margin:0}.demo-modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s}.demo-modal-close:hover{color:var(--text);border-color:var(--muted)}.demo-modal-intro{font-size:.875rem;color:var(--muted);margin-bottom:1rem}.demo-modal-oauth{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.demo-modal-oauth-btn{justify-content:center;font-size:.82rem;padding:.5rem .75rem}.demo-modal-form{display:flex;flex-direction:column;gap:.6rem}@keyframes login-grid-drift{0%{transform:perspective(600px) rotateX(44deg) scale(1.35) translateY(16%) translate(0)}50%{transform:perspective(600px) rotateX(44deg) scale(1.37) translateY(15%) translate(-14px)}to{transform:perspective(600px) rotateX(44deg) scale(1.35) translateY(16%) translate(0)}}@keyframes login-glow-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2.6vw,-2.4vh,0) scale(1.08)}to{transform:translateZ(0) scale(1)}}@keyframes login-ring-pulse{0%{opacity:.1;transform:scale(.94) rotate(0)}50%{opacity:.28;transform:scale(1.06) rotate(4deg)}to{opacity:.1;transform:scale(.94) rotate(0)}}@keyframes login-spark-drift{0%{opacity:0;transform:translate3d(0,12px,0) scale(.72)}20%{opacity:.75}75%{opacity:.55}to{opacity:0;transform:translate3d(14px,-44px,0) scale(1.15)}}@media (max-width: 980px){.login-shell{grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:.75rem}}@media (max-width: 640px){.login-screen{padding:.55rem}.login-shell{grid-template-columns:1fr;gap:.75rem;align-items:start}.login-hero,.login-card{width:100%}.login-hero{border-radius:16px;padding:.85rem}.login-feature-list{grid-template-columns:1fr;gap:.45rem}.login-feature-item{padding:.5rem .6rem}.login-card{border-radius:16px;padding:.95rem;gap:.8rem}.login-title{font-size:1.12rem}.login-description{font-size:.88rem}.login-note,.login-spark{opacity:.65}}@media (prefers-reduced-motion: reduce){.login-note,.login-glow,.login-ring,.login-spark,.login-grid{animation:none}}.not-found{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;color:var(--muted)}.sidebar-anim{flex-shrink:0;overflow:hidden;width:var(--sidebar-width);transition:width .18s ease-in-out;position:sticky;top:calc(var(--topbar-height) + var(--safe-top));height:calc(100dvh - var(--topbar-height) - var(--safe-top));align-self:flex-start}.sidebar-anim:not(.sidebar-anim--open){width:0}.sidebar{width:var(--sidebar-width);background:var(--surface);min-width:var(--sidebar-width);box-shadow:var(--shadow);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding-bottom:1rem;font-family:inherit;font-size:1rem}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .5rem;position:sticky;top:0;background:var(--surface);z-index:1}.sidebar-header-actions{display:flex;align-items:center;gap:.25rem}.sidebar-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.6rem .75rem;border-bottom:1px solid var(--border);background:var(--surface)}.sidebar-mode-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .5rem;border-radius:7px;border:1px solid transparent;font-size:.9rem;font-weight:600;color:var(--muted);background:var(--bg);transition:color .15s,border-color .15s,background .15s}.sidebar-mode-toggle-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--muted) 20%,var(--border))}.sidebar-mode-toggle-btn.active{color:var(--text);background:color-mix(in srgb,var(--surface) 35%,var(--bg));border-color:color-mix(in srgb,var(--muted) 28%,var(--border))}.sidebar-title{font-size:1rem;font-weight:700;text-transform:none;letter-spacing:normal;color:var(--muted)}.sidebar-icon-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:.2rem;border-radius:4px;color:var(--muted);transition:background .15s,color .15s}.sidebar-icon-btn:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-accent)}.sidebar-folders{display:flex;flex-direction:column;flex:1;min-height:0;padding:.25rem 0}.sidebar-solo-sections{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.sidebar-solo-section{display:flex;flex-direction:column;flex:0 0 auto;min-height:0}.sidebar-solo-list{flex:1;min-height:0;overflow-y:auto}.sidebar-list-item--pinned{margin-bottom:.25rem}.sidebar-nested-group{display:flex;flex-direction:column;padding-left:1rem}.sidebar-folder{display:flex;flex-direction:column}.sidebar-folder-header{display:flex;align-items:center;padding:.3rem .5rem .3rem .75rem;gap:.25rem}.sidebar-folder-label{display:flex;align-items:center;gap:.3rem;color:var(--text)}.sidebar-folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-folder-actions{display:none;gap:.15rem}.sidebar-folder-header:hover .sidebar-folder-actions{display:flex}.sidebar-folder-actions button{display:flex;align-items:center;padding:.2rem .25rem;border-radius:4px;color:var(--muted);transition:background .15s,color .15s}.sidebar-folder-actions button:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-accent)}.sidebar-folder-actions button:last-child:hover{background:#fde8e8;color:var(--danger)}.sidebar-folder-children{display:flex;flex-direction:column}.sidebar-folder-children.drop-active,.sidebar-root-lists.drop-active{background:color-mix(in srgb,var(--sidebar-hover-bg) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sidebar-accent) 35%,transparent);border-radius:6px}.sidebar-root-lists{display:flex;flex-direction:column;min-height:1.5rem;transition:background .15s,box-shadow .15s}.sidebar-list-item{--list-accent: var(--sidebar-accent);display:flex;align-items:center;padding:.1rem .5rem .1rem .75rem;transition:opacity .15s,box-shadow .15s}.sidebar-list-item.dragging{opacity:.45;cursor:grabbing}.sidebar-list-item.song-drop-target .sidebar-list-item-btn{background:color-mix(in srgb,var(--list-accent) 13%,var(--surface));color:var(--list-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--list-accent) 45%,transparent),0 0 0 2px color-mix(in srgb,var(--list-accent) 18%,transparent);outline:1px dashed color-mix(in srgb,var(--list-accent) 50%,transparent);animation:sidebar-song-drop-pulse .85s ease-in-out infinite alternate}.sidebar-list-item.drop-before{position:relative;box-shadow:none}.sidebar-list-item.drop-before:before{content:"";position:absolute;top:-2px;left:.45rem;right:.45rem;height:2px;border-radius:999px;background:var(--list-accent);animation:drop-insert-line .14s ease-out}@keyframes sidebar-song-drop-pulse{0%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--list-accent) 45%,transparent),0 0 0 0 color-mix(in srgb,var(--list-accent) 10%,transparent)}to{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--list-accent) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--list-accent) 22%,transparent)}}@keyframes drop-insert-line{0%{opacity:.35;transform:scaleX(.84)}to{opacity:1;transform:scaleX(1)}}.sidebar-list-item-btn{display:flex;align-items:center;gap:.35rem;flex:1;padding:.3rem .4rem;border:1px solid transparent;border-radius:6px;font-size:1rem;color:var(--muted);text-align:left;min-width:0;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.sidebar-list-item-btn:hover{background:color-mix(in srgb,var(--list-accent) 8%,var(--surface));color:var(--text);border-color:color-mix(in srgb,var(--list-accent) 45%,var(--border));box-shadow:0 2px 10px color-mix(in srgb,var(--list-accent) 28%,transparent)}.sidebar-list-item-btn:hover .sidebar-list-name{color:color-mix(in srgb,var(--list-accent) 74%,var(--text))}.sidebar-list-item.active .sidebar-list-item-btn{background:var(--sidebar-active-bg);color:var(--list-accent);font-weight:600}.sidebar-list-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;line-height:1}.sidebar-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-list-count{font-size:.75rem;color:var(--muted);background:var(--bg);border-radius:100px;padding:0 .4rem;min-width:1.4em;text-align:center;flex-shrink:0}.sidebar-list-delete{display:none;align-items:center;justify-content:center;width:2rem;height:2rem;padding:.2rem;border-radius:4px;color:var(--muted);transition:color .15s,background .15s;flex-shrink:0}.sidebar-list-item:hover .sidebar-list-delete{display:flex}.sidebar-list-delete:hover{color:var(--danger);background:#fde8e8}.sidebar-inline-input{padding:.35rem .75rem}.sidebar-inline-input.indented{padding-left:1.75rem}.sidebar-inline-input input{width:100%;padding:.3rem .5rem;border:1px solid var(--accent);border-radius:5px;background:var(--bg);font-size:1rem;outline:none}.sidebar-new-list-btn{display:flex;align-items:center;gap:.35rem;width:100%;padding:.45rem .75rem;font-size:1rem;color:var(--muted);text-align:left;margin-top:auto;transition:color .15s}.sidebar-new-list-btn:hover{color:var(--text)}.sidebar-setlists-section{margin-top:.4rem;padding-top:0;border-top:none}.sidebar-setlists-section.drop-active{border-top:none}.sidebar-setlists-header{display:flex;align-items:center;justify-content:space-between;padding:0 .75rem;margin-top:.2rem;margin-bottom:.3rem}.sidebar-section-toggle{display:inline-flex;align-items:center;gap:.3rem;flex:1;min-width:0;padding:.3rem .4rem;border-radius:5px;font-size:1rem;text-align:left;color:var(--muted);transition:background .15s,color .15s}.sidebar-section-toggle:hover{background:var(--bg);color:var(--text)}.sidebar-section-toggle .sidebar-section-title{flex:1;font-size:inherit;font-weight:inherit;text-transform:none;letter-spacing:normal;color:inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-section-title{font-size:1rem;font-weight:600;text-transform:none;letter-spacing:normal;color:var(--muted);margin:0}.sidebar-folders>.sidebar-setlists-header>.sidebar-section-title{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .25rem .35rem 0}.sidebar-setlists{display:flex;flex-direction:column;gap:.3rem}.sidebar-setlists.drop-active{background:color-mix(in srgb,var(--chord-bg) 68%,transparent);border-radius:8px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 32%,transparent);padding:.25rem}.sidebar-setlist-item{display:flex;align-items:center;padding:.1rem .5rem .1rem .75rem;transition:opacity .15s,box-shadow .15s}.sidebar-setlist-item.song-drop-target{color:var(--accent)}.sidebar-setlist-item.song-drop-target .sidebar-setlist-item-btn{background:color-mix(in srgb,var(--accent) 13%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent);outline:1px dashed color-mix(in srgb,var(--accent) 50%,transparent);animation:sidebar-song-drop-pulse .85s ease-in-out infinite alternate}.sidebar-setlist-item-btn{display:flex;align-items:center;gap:.35rem;flex:1;padding:.3rem .4rem;border-radius:5px;font-size:1rem;color:var(--muted);text-align:left;min-width:0;transition:background .15s,color .15s}.sidebar-setlist-item-btn:hover{background:var(--bg);color:var(--text)}.sidebar-setlist-item.active .sidebar-setlist-item-btn{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent);font-weight:600}.sidebar-setlist-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-setlist-drop-label{margin-left:.3rem;display:inline-flex;align-items:center;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .35rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:color-mix(in srgb,var(--accent) 78%,var(--text))}.sidebar-setlist-count{font-size:.75rem;color:var(--muted);margin-left:auto;padding:0 .4rem;background:var(--bg);border-radius:100px;min-width:1.4em;text-align:center}.sidebar-setlist-delete{display:none;color:var(--muted);padding:0;opacity:.6;transition:opacity .12s}.sidebar-setlist-delete:hover{opacity:1;color:var(--danger)}.sidebar-setlist-item:hover .sidebar-setlist-delete{display:block}.sidebar-new-setlist-btn{display:flex;align-items:center;gap:.35rem;width:100%;padding:.45rem .75rem;font-size:1rem;color:var(--muted);text-align:left;transition:color .15s}.sidebar-new-setlist-btn:hover{color:var(--text)}.sidebar-new-setlist-btn--primary{color:var(--text);font-weight:600}.sidebar-bands-section{margin-top:0;padding-top:.5rem;border-top:none;padding-bottom:.5rem}.sidebar-bands-header{display:flex;align-items:center;justify-content:space-between;padding:0 .75rem;margin-bottom:.5rem;position:relative}.sidebar-storage{padding:0 .75rem .4rem}.sidebar-storage .topbar-storage{width:100%;min-width:0;max-width:none;padding:.26rem .4rem}.sidebar-storage .topbar-storage-meter{min-width:0;width:100%;height:1.08rem}.sidebar-mode-switcher{position:relative;display:flex;align-items:center;gap:.35rem;padding:0 .75rem;margin-bottom:.5rem;min-width:0}.sidebar-band-switcher{position:relative;flex:1;min-width:0}.sidebar-band-switcher-btn{display:flex;align-items:center;gap:.35rem;width:100%;padding:.3rem .4rem;border-radius:5px;font-size:1rem;font-weight:600;text-transform:none;letter-spacing:normal;color:var(--muted);text-align:left;transition:background .12s,color .12s;overflow:hidden}.sidebar-band-switcher-btn:hover{background:color-mix(in srgb,var(--bands-hue-soft) 65%,var(--surface));color:var(--bands-hue)}.sidebar-band-switcher-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-band-switcher-chevron{flex-shrink:0;opacity:.6}.sidebar-band-switcher-chevron--hidden{visibility:hidden}.sidebar-band-switcher-dropdown{position:absolute;top:calc(100% + .25rem);left:0;z-index:200;min-width:12rem;background:var(--surface, var(--bg));border:1px solid var(--border);border-radius:7px;box-shadow:0 4px 16px #00000026;padding:.25rem;display:flex;flex-direction:column;gap:1px}.sidebar-band-switcher-option{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .5rem;border-radius:5px;font-size:1rem;color:var(--fg);text-align:left;transition:background .1s;overflow:hidden}.sidebar-band-switcher-option:hover{background:color-mix(in srgb,var(--bands-hue-soft) 65%,var(--surface))}.sidebar-band-switcher-option.active{background:color-mix(in srgb,var(--bands-hue) 18%,var(--surface));font-weight:600}.sidebar-band-switcher-option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bands-list{display:flex;flex-direction:column}.sidebar-band-item{display:flex;align-items:center;border-radius:5px;overflow:hidden;margin:0 .25rem}.sidebar-band-item.active{background:color-mix(in srgb,var(--bands-hue) 18%,var(--surface))}.sidebar-band-item-btn{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;padding:.45rem .5rem;font-size:1rem;color:inherit;text-align:left;border-radius:5px;transition:background .12s;overflow:hidden}.sidebar-band-item-btn:hover{background:var(--bg)}.sidebar-band-item.active .sidebar-band-item-btn:hover{background:transparent}.sidebar-band-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setlist-view{display:flex;flex-direction:column;height:100%;padding:0;background:var(--bg)}.setlist-header,.resource-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.5rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);width:100%}.page-section-header.resource-header:not(.bands-header),.songlist-header.resource-header:not(.bands-header){border-color:color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:14px;padding:.95rem 1rem;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 16%,transparent),transparent 34%),linear-gradient(160deg,color-mix(in srgb,var(--surface) 88%,white),var(--surface));box-shadow:var(--shadow)}.page-section-header.resource-header:not(.bands-header) .resource-title,.songlist-header.resource-header:not(.bands-header) .resource-title{font-size:var(--page-title-size);line-height:1.2}.page-section-header.resource-header:not(.bands-header) .setlist-song-count,.page-section-header.resource-header:not(.bands-header) .song-list-summary,.songlist-header.resource-header:not(.bands-header) .setlist-song-count,.songlist-header.resource-header:not(.bands-header) .song-list-summary{font-size:var(--page-copy-size)}.setlist-song-count{font-size:.88rem;color:var(--muted);margin:0}.setlist-header-actions,.resource-header-actions{display:flex;align-items:center;gap:.6rem}.setlist-action-btn{font-size:.85rem}.setlist-action-btn--secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.setlist-action-btn--secondary:hover{background:var(--bg)}.setlist-action-btn--ghost{background:transparent;border-color:transparent}.setlist-action-btn--ghost:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,transparent)}.setlist-action-btn--accent{background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#fff));border-color:var(--accent);color:var(--accent-contrast, #f4fffd)}.setlist-action-btn--accent:hover{background:linear-gradient(120deg,var(--accent-h, var(--accent)),color-mix(in srgb,var(--accent-h, var(--accent)) 70%,#fff));border-color:var(--accent-h, var(--accent))}.setlist-action-btn--concert{background:linear-gradient(120deg,#0f766e,#0b8f84);color:#f4fffd}.setlist-action-btn--concert:hover{background:linear-gradient(120deg,#0a645e,#0a7a71)}.setlist-action-btn--concert:disabled{cursor:not-allowed;opacity:.6}.setlist-action-btn--danger{background:#dc2626;color:#fff;border-color:#dc2626}.setlist-action-btn--danger:hover{background:#b91c1c;border-color:#b91c1c}.setlist-info{padding:.75rem 1.5rem;background:var(--chord-bg);border-bottom:1px solid var(--border);font-size:.85rem;color:var(--muted)}.setlist-hint{margin:0;font-style:italic}.setlist-songs{flex:1;overflow-y:auto;list-style:none;padding:.25rem 0 0;margin:0}.setlist-songs.is-dragging{background:linear-gradient(180deg,color-mix(in srgb,var(--chord-bg) 38%,transparent) 0%,transparent 35%,transparent 65%,color-mix(in srgb,var(--chord-bg) 34%,transparent) 100%)}.setlist-drop-slot{list-style:none;margin:0;height:0;border-radius:999px;transition:height .12s ease,background .12s ease,box-shadow .12s ease}.setlist-songs.is-dragging .setlist-drop-slot{height:8px}.setlist-drop-slot.active{height:24px;background:color-mix(in srgb,var(--accent) 11%,var(--surface));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 58%,transparent),0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.setlist-drop-slot-end{margin-bottom:.75rem}.setlist-song-item{position:relative;padding:.5rem 0;border-bottom:1px solid var(--border);transition:background .12s,opacity .12s}.setlist-song-item.dragging{opacity:.52}.setlist-song-item.drop-before{z-index:1}.setlist-song-item.drop-before:before{content:"";position:absolute;top:-2px;left:0;right:0;height:3px;border-radius:999px;background:var(--accent);animation:drop-insert-line .14s ease-out}.setlist-song-item.drop-after{z-index:1}.setlist-song-item.drop-after:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;border-radius:999px;background:var(--accent);animation:drop-insert-line .14s ease-out}.setlist-song-card{--song-item-accent: var(--accent);--song-item-bg: var(--surface);--song-item-border: var(--border);--song-item-text: var(--text);--song-item-muted: var(--muted);--song-item-chip-bg: color-mix(in srgb, var(--song-item-accent) 14%, var(--surface));--song-item-chip-text: color-mix(in srgb, var(--song-item-accent) 70%, var(--text));display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:5px;background:var(--song-item-bg);border:1px solid var(--song-item-border);transition:background .12s,border-color .12s,box-shadow .12s}.setlist-song-item:hover .setlist-song-card{border-color:color-mix(in srgb,var(--song-item-accent) 42%,var(--song-item-border));box-shadow:0 2px 10px color-mix(in srgb,var(--song-item-accent) 16%,transparent)}.setlist-song-card.drop-target{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.setlist-drag-handle{flex-shrink:0;padding:.25rem;color:var(--song-item-muted);opacity:.45;border:1px dashed transparent;border-radius:7px;transition:opacity .12s,color .12s,border-color .12s,background .12s;cursor:grab;display:flex;align-items:center;justify-content:center}.setlist-drag-handle:active{cursor:grabbing}.setlist-drag-handle.dragging{opacity:1;color:var(--song-item-accent);border-color:color-mix(in srgb,var(--song-item-accent) 40%,var(--song-item-border));background:color-mix(in srgb,var(--song-item-chip-bg) 72%,transparent)}.setlist-song-card:hover .setlist-drag-handle{opacity:.8}.setlist-song-position{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--song-item-chip-bg);border-radius:50%;font-size:.75rem;font-weight:700;color:var(--song-item-chip-text)}.setlist-song-link{flex:1;display:flex;flex-direction:column;gap:.25rem;color:inherit;text-decoration:none;min-width:0}.setlist-song-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.setlist-song-title{font-weight:600;color:var(--song-item-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setlist-song-artist{font-size:.85rem;color:var(--song-item-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setlist-song-note-preview{font-size:.78rem;color:color-mix(in srgb,var(--song-item-accent) 58%,var(--song-item-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setlist-song-meta{display:flex;gap:.5rem;font-size:.75rem;flex-wrap:wrap}.setlist-song-meta .lang-badge,.setlist-song-meta .tag{background:color-mix(in srgb,var(--song-item-accent) 16%,var(--song-item-bg));color:color-mix(in srgb,var(--song-item-accent) 78%,var(--song-item-text));border:1px solid color-mix(in srgb,var(--song-item-accent) 24%,transparent)}.setlist-remove-btn{flex-shrink:0;width:2rem;height:2rem;padding:.2rem;color:var(--danger);opacity:1;transition:color .12s,background .12s;border-radius:4px;display:flex;align-items:center;justify-content:center}.setlist-note-btn{flex-shrink:0;width:2rem;height:2rem;padding:.2rem;color:var(--song-item-accent);opacity:1;transition:color .12s,background .12s;border-radius:4px;display:flex;align-items:center;justify-content:center}.setlist-note-btn:hover,.setlist-note-btn.has-note{opacity:1;color:var(--song-item-accent);background:var(--song-item-chip-bg)}.setlist-remove-btn:hover{opacity:1;color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--song-item-bg))}.setlist-song-note-editor{margin:.4rem 0 0 5.1rem;padding:.55rem;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));display:flex;flex-direction:column;gap:.45rem}.setlist-song-note-label{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--song-item-muted)}.setlist-song-note-input{width:100%;resize:vertical;min-height:3.8rem;border:1px solid var(--border);border-radius:7px;padding:.45rem .55rem;background:var(--surface);color:var(--text)}.setlist-song-note-actions{display:flex;gap:.4rem;justify-content:flex-end}.song-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:1rem}.song-picker-panel{width:min(680px,100%);max-height:min(80vh,780px);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 42px #0000003d;display:flex;flex-direction:column;overflow:hidden}.song-picker-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border)}.song-picker-header h2{margin:0;font-size:1.05rem;color:var(--text)}.song-picker-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;color:var(--muted)}.song-picker-close:hover{background:var(--bg);color:var(--text)}.song-picker-search-wrap{position:relative;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.song-picker-search-icon{position:absolute;left:1.6rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.song-picker-search{width:100%;padding:.6rem .8rem .6rem 2rem;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text)}.song-picker-results{overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;padding:.8rem 1rem}.song-picker-section-title{margin:.45rem 0 .2rem;font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.song-picker-item{--song-item-accent: var(--accent);--song-item-bg: var(--bg);--song-item-border: var(--border);--song-item-text: var(--text);--song-item-muted: var(--muted);display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--song-item-border);border-radius:8px;padding:.65rem .75rem;background:var(--song-item-bg);transition:border-color .12s ease,box-shadow .12s ease}.song-picker-item:hover{border-color:color-mix(in srgb,var(--song-item-accent) 40%,var(--song-item-border));box-shadow:0 1px 8px color-mix(in srgb,var(--song-item-accent) 18%,transparent)}.song-picker-item-main{min-width:0;display:flex;flex-direction:column}.song-picker-song-title{font-weight:600;color:var(--song-item-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-picker-song-artist{font-size:.84rem;color:var(--song-item-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-picker-add-btn{flex-shrink:0;font-size:.82rem;padding:.45rem .8rem}.song-picker-empty{margin:1rem 0;text-align:center;color:var(--muted)}.song-picker-source-note{margin:0;padding:.5rem 1rem .25rem;font-size:.8rem;color:var(--muted);font-style:italic}.song-picker-footer{border-top:1px solid var(--border);padding:.75rem 1rem;display:flex;justify-content:flex-end}.concert-mode{display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh - 140px)}.concert-topbar-toggle-row{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.65rem}.concert-topbar-toggle-row--with-topbar{margin-bottom:.4rem}.concert-topbar-toggle-btn{font-size:.78rem}.concert-topbar{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.95rem 1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.85rem}.concert-back-link{margin:0}.concert-topbar-main{display:flex;flex-direction:column;gap:.25rem}.concert-topbar-main h1{font-size:1.2rem;line-height:1.2}.concert-topbar-main p{font-size:.82rem;color:var(--muted);display:flex;gap:.65rem;flex-wrap:wrap}.concert-shortcut-hint{color:color-mix(in srgb,var(--accent) 65%,var(--muted))}.concert-tool-row{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.concert-toolbar-tools-grid{margin-top:.2rem}.concert-topbar .song-toolbar-tool-card{background:color-mix(in srgb,var(--surface) 84%,var(--bg))}.concert-topbar .song-toolbar-tool-card-title{color:var(--text)}.concert-chords-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.3rem}.concert-chords-stack .concert-notation-toggle{margin-left:.45rem}.concert-chip-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;color:var(--muted);background:var(--surface)}.concert-chip-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--chord-bg)}.concert-chip-btn--active,.concert-chip-btn--active:hover{color:var(--accent-contrast);border-color:color-mix(in srgb,var(--accent) 65%,var(--border));background:var(--accent)}.concert-chip-btn--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.concert-chip-btn--danger:hover{color:#fff;background:var(--danger);border-color:var(--danger)}.concert-chip-btn--compact{width:2rem;justify-content:center;padding:.35rem 0}.concert-teleprompter{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 75%,var(--bg))}.concert-teleprompter-speed{font-size:.76rem;color:var(--muted);padding:0 .35rem;min-width:3.7rem;text-align:right}.concert-content-wrap{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:.85rem}.concert-content-wrap--full{grid-template-columns:minmax(0,1fr)}.concert-song-surface{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0}.concert-song-header{padding:1rem 1rem .75rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.55rem}.concert-song-header h2{margin:0;font-size:clamp(1.3rem,2vw,2rem);line-height:1.1}.concert-song-artist{margin:-.2rem 0 0;color:var(--muted);font-size:.95rem}.concert-song-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.concert-song-surface .chord-display{border:none;border-radius:0 0 12px 12px;padding:1.5rem;font-size:1.06rem;line-height:1.55;flex:1}.concert-scroll-region{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.concert-scroll-region>*{width:100%}.concert-song-navigator{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);max-height:72vh;position:sticky;top:.25rem;display:flex;flex-direction:column;overflow:hidden}.concert-song-navigator-header{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.75rem .75rem .6rem;border-bottom:1px solid var(--border)}.concert-song-navigator-header h3{font-size:.88rem;color:var(--muted)}.concert-song-nav-close{width:1.8rem;height:1.8rem;border-radius:6px;color:var(--muted)}.concert-song-nav-close:hover{background:var(--bg);color:var(--text)}.concert-song-navigator ol{list-style:none;margin:0;padding:.45rem;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.concert-song-jump{width:100%;display:grid;grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:.6rem;text-align:left;border-radius:8px;border:1px solid transparent;padding:.42rem .45rem;color:var(--text)}.concert-song-jump:hover{border-color:var(--border);background:var(--bg)}.concert-song-jump.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 15%,var(--surface))}.concert-song-jump.played{opacity:.55}.concert-song-jump.played .concert-song-jump-main strong{text-decoration:line-through;text-decoration-color:var(--muted)}.concert-song-jump.played .concert-song-jump-number{background:var(--border);color:var(--muted)}.concert-song-jump-number{width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--chord-bg);color:var(--accent);font-size:.72rem;font-weight:700}.concert-song-jump-main{min-width:0;display:flex;flex-direction:column}.concert-song-jump-main strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.concert-song-jump-main small{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .concert-song-jump.active{border-color:color-mix(in srgb,var(--accent) 62%,var(--border));background:color-mix(in srgb,var(--accent) 24%,var(--surface))}[data-theme=dark] .concert-song-jump.played{opacity:.8}[data-theme=dark] .concert-song-jump-main small{color:color-mix(in srgb,var(--text) 72%,var(--muted))}.concert-nav-footer{position:fixed;left:0;right:0;bottom:.95rem;z-index:12;margin:0;padding:0 1rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:none;display:flex;justify-content:center;align-items:center;gap:.75rem;pointer-events:none}.concert-nav-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.5rem 1.05rem;min-width:126px;box-shadow:0 8px 20px #00000024;pointer-events:auto}.concert-nav-btn:hover{background:var(--bg)}.concert-nav-btn--primary{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 75%,black);color:var(--accent-contrast)}.concert-nav-btn--primary:hover{background:var(--accent-h)}.concert-nav-btn--pedal{min-width:118px}.concert-nav-btn--pedal-connected{border-color:color-mix(in srgb,#16a34a 42%,var(--border))}.concert-pedal-status{width:.58rem;height:.58rem;border-radius:999px;background:#dc2626;box-shadow:0 0 0 1px #0000001f}.concert-pedal-status--connected{background:#16a34a}.concert-pedal-mapper{position:fixed;left:50%;bottom:4.2rem;transform:translate(-50%);width:min(640px,calc(100vw - 1.4rem));border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 34px #0000002e;z-index:13;padding:.78rem;display:grid;gap:.62rem}.concert-pedal-mapper-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}.concert-pedal-mapper-head h3{margin:0;font-size:.92rem}.concert-pedal-mapper-head p{margin:0;color:var(--muted);font-size:.78rem}.concert-pedal-mapper-actions,.concert-pedal-mode-toggle{display:flex;flex-wrap:wrap;gap:.44rem}.concert-pedal-map-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.36rem .62rem;font-size:.78rem;box-shadow:0 4px 14px #0000001f}.concert-pedal-map-btn:hover{background:var(--bg)}.concert-pedal-map-btn--active,.concert-pedal-map-btn--active:hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.concert-pedal-map-btn:disabled{opacity:.55;cursor:not-allowed}.concert-pedal-mapper-meta{display:flex;flex-wrap:wrap;gap:.45rem .8rem;color:var(--muted);font-size:.74rem}.concert-nav-btn:disabled{opacity:.55;cursor:not-allowed}.song-list-heading,.resource-title{font-size:1.1rem;font-weight:700;color:var(--accent);padding-bottom:.5rem;border-bottom:2px solid var(--chord-bg)}.add-to-list-wrap{position:relative}.list-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;min-width:180px;z-index:200;display:flex;flex-direction:column;overflow:hidden}.list-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.88rem;color:var(--text);text-align:left;transition:background .12s}.list-dropdown-item:hover{background:var(--bg)}.list-dropdown-item.in-list{color:var(--accent);font-weight:600}.list-dropdown-empty{padding:.75rem .85rem;font-size:.85rem;color:var(--muted)}@media (max-width: 900px){.app-shell{height:auto;min-height:100svh;min-height:100dvh;overflow:visible}.app-body{height:auto}.topbar{padding:var(--safe-top) calc(1rem + var(--safe-right)) 0 calc(1rem + var(--safe-left));gap:.75rem}.topbar-nav{gap:.5rem}.topbar-storage{min-width:170px;max-width:220px}.topbar-storage-text span{font-size:.72rem}.topbar-nav a,.topbar-invites-trigger{padding:.3rem .55rem}.topbar-invites-popover{right:-.25rem;width:min(420px,calc(100vw - 1rem))}.main-content{padding:1.25rem calc(1rem + var(--safe-right)) calc(1.25rem + var(--safe-bottom)) calc(1rem + var(--safe-left));overflow-y:visible;overscroll-behavior-y:auto}.main-content--concert{padding-top:0}.song-list-sticky,.list-sticky-header{--song-list-sticky-top-cover: 1.25rem;margin:-1.25rem calc(-1rem - var(--safe-right)) .75rem calc(-1rem - var(--safe-left));padding:0 0 .85rem;top:calc(var(--topbar-height) + var(--safe-top))}.song-list-sticky>.setlist-header,.song-list-sticky>.resource-header,.list-sticky-header>.setlist-header,.list-sticky-header>.resource-header{margin:0 calc(1rem + var(--safe-right)) 0 calc(1rem + var(--safe-left))}.song-list-sticky>.press-kit-toolbar,.list-sticky-header>.press-kit-toolbar{margin:0 calc(1rem + var(--safe-right)) 0 calc(1rem + var(--safe-left))}.song-list-controls{padding:0 calc(1rem + var(--safe-right)) 0 calc(1rem + var(--safe-left))}.list-appearance-editor{margin:0 calc(1rem + var(--safe-right)) 0 calc(1rem + var(--safe-left))}.song-list-controls>*{flex:1 1 220px}.setlist-header,.resource-header{flex-direction:column;align-items:stretch}.setlist-header-actions,.resource-header-actions{justify-content:flex-start}.concert-content-wrap{grid-template-columns:minmax(0,1fr)}.concert-song-navigator{order:-1;position:static;max-height:34vh}.song-picker-panel{width:min(680px,calc(100vw - 2rem));max-height:calc(100vh - 2rem)}.sidebar-anim--mobile{width:0;transition:none;position:relative;z-index:310}.sidebar-backdrop{z-index:300}.sidebar--mobile{position:fixed;top:calc(var(--topbar-height) + var(--safe-top));left:var(--safe-left);bottom:0;width:min(320px,calc(100vw - 2.5rem - var(--safe-left) - var(--safe-right)));min-width:0;z-index:310;box-shadow:0 10px 30px #0000002e;transform:translate(-100%);transition:transform .18s ease-in-out}.sidebar--mobile.sidebar--open{transform:translate(0)}.sidebar--mobile .sidebar-header{border-bottom:none}.sidebar--mobile .sidebar-folders{flex:0 0 auto}.sidebar-list-delete,.setlist-remove-btn,.sidebar-setlist-delete{display:flex;opacity:.85}}@media (max-width: 600px){.topbar{padding:var(--safe-top) calc(.75rem + var(--safe-right)) 0 calc(.75rem + var(--safe-left));gap:.5rem}.topbar-brand span,.topbar-link-label,.topbar-storage{display:none}.topbar-nav{gap:.35rem}.topbar-nav a,.topbar-invites-trigger,.topbar-icon-btn,.topbar-sidebar-toggle{width:2.6rem;height:2.6rem;padding:.25rem}.topbar-invites-trigger{justify-content:center;gap:0;position:relative}.topbar-invites-trigger .topbar-link-notice{position:absolute;top:.18rem;right:.18rem}.topbar-invites-popover{position:fixed;top:calc(var(--topbar-height) + var(--safe-top) + .35rem);left:calc(.5rem + var(--safe-left));right:calc(.5rem + var(--safe-right));width:auto;max-width:none;max-height:calc(100dvh - var(--topbar-height) - var(--safe-top) - var(--safe-bottom) - .9rem)}.topbar-invite-actions{flex-direction:column}.topbar-invite-actions .setlist-action-btn{width:100%;justify-content:center}.topbar-profile-link{min-width:2.6rem;min-height:2.6rem;justify-content:center;padding:.2rem}.song-view-header{flex-direction:column}.song-view-toolbar{align-items:flex-start}.page-section-header,.songlist-header{align-items:stretch}.setlist-header-actions,.resource-header-actions{width:100%}.setlist-action-btn{flex:1;justify-content:center}.concert-mode{gap:.75rem}.concert-topbar-toggle-row{margin-top:.45rem}.concert-topbar-toggle-row--with-topbar{margin-bottom:.25rem}.concert-topbar{padding:.75rem}.concert-topbar-main p{gap:.25rem;flex-direction:column}.concert-tool-row{align-items:stretch}.concert-teleprompter{width:100%;border-radius:12px;justify-content:space-between;flex-wrap:wrap}.concert-teleprompter-speed{width:100%;text-align:left}.visual-metronome{width:100%;border-radius:12px;justify-content:space-between;flex-wrap:wrap}.visual-metronome-beats{width:100%}.visual-tuner{width:100%;border-radius:12px;justify-content:space-between;flex-wrap:wrap}.visual-tuner-strings,.visual-tuner-readout,.visual-tuner-cue-row,.visual-tuner-direction-help{width:100%;justify-content:space-between}.visual-tuner-cue{min-width:auto}.visual-tuner-gauge{width:100%}.visual-tuner-footer{width:100%;justify-content:space-between}.concert-song-surface .chord-display{padding:1rem .85rem;font-size:.95rem}.concert-song-surface .chord-line{flex-wrap:wrap;white-space:normal;align-items:flex-start;row-gap:.2rem}.concert-song-surface .chord-segment{white-space:pre-wrap;min-width:0;max-width:100%}.concert-song-surface .lyric-text{overflow-wrap:anywhere;word-break:break-word}.concert-song-surface .chord-name-btn{white-space:normal}.concert-nav-footer{bottom:.7rem;padding:0 .7rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:none}.concert-nav-btn{flex:0 0 auto;min-width:110px;padding:.58rem .7rem}.song-list-controls{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.5rem}.song-list-sticky{margin-bottom:.6rem;gap:.75rem}.search-box,.lang-select,.sort-select-wrapper{min-width:0}.search-box{flex:1 1 auto}.lang-select,.sort-select-wrapper{flex:0 0 auto;width:auto;min-width:0;max-width:42vw}.sort-select{min-width:0;max-width:42vw}.search-input,.lang-select{font-size:.92rem;line-height:1.2;padding-top:.42rem;padding-bottom:.42rem}.search-input{padding-left:2rem;padding-right:.6rem}.search-icon{left:.65rem;width:14px;height:14px}.view-toggle{width:100%;justify-content:space-between}.view-toggle-btn{flex:1;justify-content:center}.song-card,.song-card-link{align-items:flex-start}.song-actions{width:100%}.song-action-btn{width:2.4rem;height:2.4rem}.song-toolbar-row--actions .song-actions{display:grid;grid-template-columns:1fr;gap:.45rem}.song-toolbar-row--actions .add-to-list-wrap,.song-toolbar-row--actions .song-action-btn--labeled{width:100%}.song-toolbar-row--actions .add-to-list-wrap>.rec-btn{width:100%;justify-content:center}.song-toolbar-row--actions .list-dropdown{left:0;right:auto;min-width:100%}.fab-add-song{width:3.5rem;height:3.5rem;right:calc(1rem + var(--safe-right))}.chord-display{padding:.75rem;font-size:.88rem}.song-view-title{font-size:1.3rem}}@media (pointer: coarse){.song-drag-handle{min-width:2.75rem;min-height:2.75rem;padding:.5rem}.song-drag-handle svg{width:20px;height:20px}.song-picker-overlay{align-items:flex-end;padding:0;animation:sheet-slide-in .22s cubic-bezier(.32,.72,0,1)}.song-picker-panel{width:100%;max-width:100%;border-radius:20px 20px 0 0;border-bottom:none;max-height:88dvh;padding-bottom:var(--safe-bottom);box-shadow:0 -6px 40px #0000003d}.song-picker-panel:before{content:"";display:block;width:2.5rem;height:.28rem;border-radius:999px;background:var(--border);margin:.65rem auto .25rem;flex-shrink:0}.song-picker-header{padding-top:.65rem}.song-picker-item{padding:.85rem .75rem}.list-dropdown-item{padding:.75rem .85rem}}@keyframes sheet-slide-in{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (hover: none){a:hover,.song-card:hover,.song-preview-card:hover,.topbar-nav a:hover,.topbar-icon-btn:hover,.topbar-sidebar-toggle:hover,.sidebar-list-item-btn:hover,.sidebar-band-item-btn:hover,.sidebar-setlist-item:hover,.sidebar-icon-btn:hover,.song-action-btn:hover,.setlist-song-item:hover .setlist-song-card,.song-picker-item:hover,.concert-chip-btn:hover,.concert-nav-btn:hover{background:initial;color:inherit;border-color:inherit;box-shadow:none;transform:none;text-decoration:none}.sidebar-list-item.active .sidebar-list-item-btn,.sidebar-setlist-item.active,.sidebar-band-item.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}}@media print{html,body,#root,.app-shell,.app-body,.main-content,.setlist-view,.setlist-songs{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.topbar,.sidebar-anim,.sidebar-backdrop,.song-view-toolbar,.song-toolbar-row--notes,.song-hand-notes-overlay,.song-action-btn{display:none!important}body{background:white;color:#000}.song-view{gap:.75rem}.song-view-title{font-size:1.4rem}.song-view-artist{color:#555}.chord-display{padding:0}.chord-token--chord{color:#1a56db}}.share-menu{position:relative}.share-menu-panel{position:absolute;right:0;top:calc(100% + .45rem);width:min(320px,calc(100vw - 2rem));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 34px #0003;padding:.8rem;z-index:250;display:flex;flex-direction:column;gap:.65rem}.share-menu-title{font-weight:700;color:var(--text)}.share-menu-field{display:flex;flex-direction:column;gap:.35rem}.share-menu-field span{font-size:.82rem;color:var(--muted)}.share-menu-input-wrap{display:flex;align-items:center;gap:.4rem;border:1px solid var(--border);border-radius:7px;padding:.45rem .55rem;background:var(--bg);color:var(--muted)}.share-menu-input-wrap input{border:none;width:100%;min-width:0;background:transparent}.share-menu-field select{border:1px solid var(--border);border-radius:7px;padding:.45rem .55rem;background:var(--bg)}.share-menu-field input{border:1px solid var(--border);border-radius:7px;padding:.55rem .65rem;background:var(--bg)}.share-menu-search-status{margin:0;font-size:.78rem;color:var(--muted)}.share-menu-recipient-results{list-style:none;display:flex;flex-direction:column;gap:.35rem;max-height:180px;overflow:auto}.share-menu-recipient-btn{width:100%;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);padding:.5rem .55rem;display:flex;flex-direction:column;gap:.2rem}.share-menu-recipient-btn:hover{border-color:var(--accent)}.share-menu-recipient-btn span{color:var(--muted);font-size:.76rem}.share-menu-actions{display:grid;grid-template-columns:1fr;gap:.45rem}.share-menu-extra{border-top:1px solid var(--border);padding-top:.55rem}.share-menu-subtitle{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.share-menu-band-list{display:flex;flex-direction:column;gap:.45rem}.share-menu-band-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.share-menu-band-copy{display:flex;flex-direction:column;gap:.12rem}.share-menu-band-copy span{color:var(--muted);font-size:.8rem}.profile-settings-page{display:flex;flex-direction:column;gap:1rem;max-width:980px;margin:0 auto}.profile-settings-page--account{gap:1.25rem}.profile-settings-status{color:var(--muted)}.profile-account-hero{display:flex;flex-direction:column;align-items:stretch;gap:1rem;padding:1.2rem 1.25rem;border-radius:18px;border:1px solid var(--border);background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 14%,transparent),transparent 28%),linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,#fff),var(--surface))}.profile-account-hero-main{display:flex;align-items:center;gap:1rem}.profile-avatar-picker{position:relative}.profile-avatar-trigger{border:none;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--muted);cursor:pointer}.profile-avatar-trigger .user-avatar{transition:border-color .15s ease,background .15s ease,transform .08s ease}.profile-avatar-trigger:hover .user-avatar,.profile-avatar-trigger:focus-visible .user-avatar,.profile-avatar-trigger.is-open .user-avatar{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.profile-avatar-trigger:active .user-avatar{transform:scale(.97)}.profile-avatar-trigger:focus-visible{outline:none}.profile-avatar-trigger-label{font-size:.72rem;letter-spacing:.02em}.profile-avatar-popover{position:absolute;top:calc(100% + .7rem);left:0;z-index:15;width:min(22rem,80vw);padding:.8rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--surface) 94%,#fff);box-shadow:0 16px 38px color-mix(in srgb,#000 16%,transparent)}.profile-avatar-popover .avatar-grid{margin:0}.profile-account-hero-copy{display:flex;flex-direction:column;gap:.35rem}.profile-account-kicker{color:var(--muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.profile-account-hero-copy h1{margin:0;font-size:clamp(1.7rem,1.25rem + 1.4vw,2.15rem);line-height:1.15}.profile-account-hero-copy p{margin:0;color:var(--muted)}.profile-account-badges,.profile-feature-chips,.profile-subscription-actions,.profile-danger-actions{display:flex;flex-wrap:wrap;gap:.6rem}.profile-account-badges .profile-account-chip-btn{margin-left:auto}.profile-account-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .72rem;border-radius:999px;font-size:.82rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,white);color:var(--muted)}.profile-account-badge--plan{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.profile-account-chip-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .72rem;border-radius:999px;border:1px solid color-mix(in srgb,#b91c1c 28%,var(--border));background:color-mix(in srgb,#b91c1c 10%,var(--surface));color:color-mix(in srgb,#b91c1c 80%,var(--text));font-size:.82rem;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .08s ease}.profile-account-chip-btn:hover,.profile-account-chip-btn:focus-visible{border-color:color-mix(in srgb,#b91c1c 40%,var(--border));background:color-mix(in srgb,#b91c1c 15%,var(--surface))}.profile-account-chip-btn:active{transform:translateY(1px)}.profile-account-chip-btn:disabled{opacity:.65;cursor:not-allowed}.profile-account-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem}.profile-settings-header{display:flex;align-items:center;gap:.85rem}.profile-settings-header h1{font-size:var(--page-title-size)}.profile-settings-header p,.profile-settings-muted{color:var(--muted)}.profile-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.profile-settings-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.profile-settings-card--wide{grid-column:1 / -1}.profile-settings-card h2{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--section-title-size)}.profile-settings-avatar-header{display:flex;align-items:center;gap:.85rem}.profile-settings-avatar-header h1{font-size:var(--page-title-size)}.profile-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.profile-section-heading h2,.profile-section-heading h3{margin:0;font-size:var(--section-title-size);font-weight:600}.profile-section-heading--subtle h3{font-size:var(--section-title-size)}.profile-subscription-overview,.profile-limit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.profile-stat-card,.profile-limit-card{display:flex;flex-direction:column;gap:.25rem;padding:.85rem .9rem;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 35%,var(--surface))}.profile-stat-card strong,.profile-limit-card strong{font-size:1rem}.profile-stat-card small,.profile-limit-card span,.profile-stat-label{color:var(--muted);font-size:.78rem}.profile-feature-chips span{padding:.42rem .7rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:.8rem}.profile-feature-chips span.is-enabled{color:var(--text);border-color:color-mix(in srgb,var(--accent) 22%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.profile-band-subscriptions{display:flex;flex-direction:column;gap:.7rem}.profile-band-subscriptions-list{display:flex;flex-direction:column;gap:.65rem}.profile-band-subscription-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem .85rem;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 35%,var(--surface))}.profile-band-subscription-copy{display:flex;flex-direction:column;gap:.2rem}.profile-band-subscription-copy span{color:var(--muted);font-size:.8rem}.profile-avatar-section,.profile-bands-stack,.profile-band-shell,.profile-band-management-panel{display:flex;flex-direction:column;gap:.75rem}.profile-danger-card{border-color:color-mix(in srgb,#b91c1c 22%,var(--border))}.profile-account-danger-zone{display:flex;flex-direction:column;gap:.75rem;padding:.85rem;border:1px solid color-mix(in srgb,#b91c1c 26%,var(--border));border-radius:12px;background:color-mix(in srgb,#b91c1c 7%,var(--surface))}.profile-account-danger-zone-header{display:flex;flex-direction:column;gap:.3rem}.profile-account-danger-zone-header h3{margin:0;display:inline-flex;align-items:center;gap:.35rem;color:color-mix(in srgb,#b91c1c 74%,var(--text))}.profile-account-delete-confirm{display:flex;flex-direction:column;gap:.7rem}.profile-account-delete-check{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem}.profile-account-delete-check input{margin-top:.15rem}.pricing-page,.checkout-result-page{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:1.2rem}.bands-create-card,.bands-panel,.profile-settings-card,.profile-invite-card,.pricing-card,.pricing-comparison,.checkout-result-card{box-shadow:var(--shadow)}.pricing-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:.8rem;padding:1.35rem;border-radius:18px;border:1px solid var(--border);background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 16%,transparent),transparent 24%),linear-gradient(160deg,color-mix(in srgb,var(--surface) 88%,white),var(--surface))}.pricing-hero>*{position:relative;z-index:1}.pricing-hero-bg{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;pointer-events:none;z-index:0}.pricing-note{position:absolute;bottom:-8%;color:color-mix(in srgb,var(--accent) 72%,transparent);opacity:0;animation:login-note-rise linear infinite;-webkit-user-select:none;user-select:none;pointer-events:none;line-height:1}.pricing-note--1{left:6%;font-size:1.35rem;animation-duration:16s;animation-delay:-3s}.pricing-note--2{left:15%;font-size:1.95rem;animation-duration:21s;animation-delay:-9s}.pricing-note--3{left:27%;font-size:1.2rem;animation-duration:13s;animation-delay:-12s}.pricing-note--4{left:40%;font-size:2.2rem;animation-duration:24s;animation-delay:-4s}.pricing-note--5{left:54%;font-size:1.55rem;animation-duration:18s;animation-delay:-7s}.pricing-note--6{left:67%;font-size:1.1rem;animation-duration:15s;animation-delay:-14s}.pricing-note--7{left:80%;font-size:1.9rem;animation-duration:20s;animation-delay:-6s}.pricing-note--8{left:91%;font-size:1.4rem;animation-duration:17s;animation-delay:-11s}.pricing-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--border) 45%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 45%,transparent) 1px,transparent 1px);background-size:36px 36px;opacity:.16;transform:perspective(560px) rotateX(42deg) scale(1.25) translateY(15%)}.pricing-hero-actions{display:flex;align-items:center}.pricing-hero-back-link{min-height:2.7rem;padding:.75rem 1.3rem;font-size:.98rem;font-weight:700}.pricing-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.pricing-hero h1,.pricing-comparison-header h2,.checkout-result-card h1{margin:0;line-height:1.2}.pricing-hero h1,.checkout-result-card h1{font-size:clamp(1.55rem,1.2rem + 1.2vw,2rem)}.pricing-comparison-header h2{font-size:var(--section-title-size)}.pricing-hero p,.checkout-result-card p{margin:0;font-size:var(--page-copy-size);color:var(--muted);max-width:62ch}.pricing-cycle-toggle{display:inline-flex;gap:.35rem;padding:.25rem;border-radius:999px;width:fit-content;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,white)}.pricing-cycle-toggle button{border:none;background:transparent;color:var(--muted);border-radius:999px;padding:.45rem .8rem;cursor:pointer}.pricing-cycle-toggle button.active{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.pricing-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.pricing-card{display:flex;flex-direction:column;gap:1rem;padding:1.05rem;border-radius:18px;border:1px solid var(--border);background:var(--surface)}.pricing-card--active{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 10%,transparent)}.pricing-card--band{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,var(--surface)),var(--surface))}.pricing-card-header{display:flex;gap:.75rem}.pricing-card-icon{width:2.25rem;height:2.25rem;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.pricing-card-header h2,.pricing-card-header p,.pricing-card-price{margin:0}.pricing-card-header p{color:var(--muted);font-size:.88rem;margin-top:.2rem}.pricing-card-price{display:flex;align-items:baseline;gap:.4rem}.pricing-card-price strong{font-size:2rem}.pricing-card-price span{color:var(--muted)}.pricing-feature-list,.pricing-feature-list li{display:flex}.pricing-feature-list{list-style:none;flex-direction:column;gap:.6rem}.pricing-feature-list li{align-items:center;gap:.45rem;color:var(--text)}.pricing-card-btn{width:100%;justify-content:center}.pricing-comparison,.checkout-result-card{display:flex;flex-direction:column;gap:.85rem;border-radius:18px;border:1px solid var(--border);background:var(--surface);padding:1.1rem}.pricing-comparison-header,.checkout-result-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pricing-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,white),var(--surface))}.pricing-table{width:100%;border-collapse:collapse;min-width:720px}.pricing-table th,.pricing-table td{padding:.75rem .8rem;border-bottom:1px solid var(--border);text-align:left;white-space:normal;vertical-align:top}.pricing-table th{color:var(--muted);font-weight:600;background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%)}.pricing-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface) 96%,var(--accent) 4%)}.pricing-table tbody tr:hover{background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%)}.pricing-feature-cell-label{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;min-width:180px}.pricing-feature-cell-label svg{color:var(--accent);flex-shrink:0}.pricing-table th:first-child,.pricing-table td:first-child{position:sticky;left:0;z-index:1;background:inherit}.pricing-table th:first-child{z-index:2}.profile-settings-collapsible-toggle{display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:var(--text);cursor:pointer;padding:0;width:100%;text-align:left}.profile-settings-collapsible-toggle h2{margin:0}.profile-settings-form{display:flex;flex-direction:column;gap:.75rem}.profile-settings-form--inline{flex-direction:row;align-items:flex-end;gap:.6rem}.profile-settings-form--inline .form-field{flex:1;min-width:0}.profile-settings-save-btn{flex-shrink:0;align-self:flex-end;padding:.36rem .62rem;font-size:.76rem;line-height:1.2;white-space:nowrap}.profile-settings-logout{margin-top:.2rem}.profile-settings-link{color:var(--muted);font-size:.88rem}.avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}.avatar-choice{border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);min-height:2.4rem;font-size:1.25rem;transition:border-color .15s,transform .08s,background .15s}.avatar-choice:hover{border-color:var(--accent)}.avatar-choice--active{border-color:var(--accent);background:var(--chord-bg)}.avatar-choice:disabled{opacity:.6;cursor:not-allowed}.profile-invites-page{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:.9rem}.profile-invites-header{border:1px solid var(--border);border-radius:14px;padding:.95rem 1rem;background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 90%,white),var(--surface))}.profile-invites-header h1{font-size:var(--page-title-size);line-height:1.2}.profile-invites-header p,.profile-invites-status{font-size:var(--page-copy-size);color:var(--muted)}.profile-invites-section{display:flex;flex-direction:column;gap:.6rem}.profile-invites-section h2{font-size:var(--section-title-size)}.profile-invites-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}.profile-invite-card{display:flex;justify-content:space-between;align-items:center;gap:.8rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.8rem}.profile-invite-card--accepted{border-color:color-mix(in srgb,#1f9d55 35%,var(--border));background:color-mix(in srgb,#1f9d55 10%,var(--surface))}.profile-invite-main{display:flex;flex-direction:column;gap:.2rem}.profile-invite-main span{color:var(--muted);font-size:var(--meta-copy-size)}.profile-invite-actions{display:flex;gap:.5rem}.profile-invite-confirmation{flex-shrink:0;padding:.35rem .65rem;border-radius:999px;background:color-mix(in srgb,#1f9d55 16%,var(--surface));border:1px solid color-mix(in srgb,#1f9d55 30%,var(--border));color:#17693a;font-size:.78rem;font-weight:700}.bands-page{--bands-border: color-mix(in srgb, var(--bands-hue) 24%, var(--border));--bands-soft-bg: color-mix(in srgb, var(--bands-hue-soft) 72%, var(--surface));display:flex;flex-direction:column;gap:1rem}.bands-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.bands-header:not(.bands-header--detail){border:1px solid var(--bands-border);border-radius:14px;padding:.95rem 1rem;background:linear-gradient(160deg,color-mix(in srgb,var(--bands-soft-bg) 70%,var(--surface)),var(--surface))}.bands-header:not(.bands-header--detail) h1,.bands-header:not(.bands-header--detail) .song-list-heading,.bands-header:not(.bands-header--detail) .resource-title{font-size:var(--page-title-size);line-height:1.2}.bands-header p,.bands-status,.setlist-subtitle{font-size:var(--page-copy-size);color:var(--muted)}.bands-section-kicker{margin:0;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.bands-create-card,.bands-panel{background:var(--surface);border:1px solid var(--bands-border);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.9rem}.bands-create-grid,.bands-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.bands-create-actions{display:flex;justify-content:flex-end}.bands-list,.bands-members-list,.bands-library-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.bands-member-row{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:8px}.bands-members-list .bands-member-row+.bands-member-row{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.bands-members-list{gap:0}.bands-member-row:hover{background:var(--bands-soft-bg)}.bands-member-info{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.bands-member-name{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bands-page-toolbar{display:flex;align-items:center;margin-bottom:.6rem}.bands-settings-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem;align-items:start}.bands-settings-left{display:flex;flex-direction:column;gap:1rem}.bands-section-heading{margin:0 0 .95rem;font-size:var(--section-title-size);font-weight:600;border-bottom:1px solid var(--bands-border);padding-bottom:.5rem}.bands-section-heading--spaced{margin-top:.45rem}.band-settings-name-row{display:flex;align-items:center;gap:.55rem}.band-settings-name-row input{flex:1;min-width:0}.bands-field-counter{font-weight:400;opacity:.7}.bands-description-field{resize:vertical;min-height:5rem;width:100%;border:1px solid var(--border);border-radius:7px;padding:.55rem .65rem;background:var(--bg);color:var(--text);font:inherit;line-height:1.45}.bands-color-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:.55rem}.bands-color-custom-field{flex:0 0 auto}.bands-color-custom-field input[type=color]{width:2.2rem;height:2rem;padding:0}.bands-inline-note{margin:0;font-size:.78rem;color:var(--muted)}.bands-appearance-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;margin-top:.95rem}.bands-logo-section{display:flex;flex-direction:column;gap:.6rem;padding:.85rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 50%,var(--bg))}.bands-logo-upload-area{display:flex;flex-direction:column;gap:.6rem}.bands-logo-upload-drop{position:relative;display:flex;align-items:center;justify-content:center;min-height:5rem;border:2px dashed var(--bands-hue);border-radius:10px;padding:.75rem;background:color-mix(in srgb,var(--bands-hue) 8%,var(--surface));cursor:pointer;transition:border-color .15s,background .15s}.bands-logo-upload-drop:hover{border-color:var(--bands-hue);background:color-mix(in srgb,var(--bands-hue-soft) 50%,var(--surface))}.bands-logo-upload-drop.active{border-color:var(--bands-hue);background:var(--bands-hue-soft)}.bands-logo-upload-drop input{display:none}.bands-logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem}.bands-logo-card{display:flex;flex-direction:column;gap:.35rem;background:var(--surface);border-radius:8px;border:1px solid var(--border);overflow:hidden}.bands-logo-card-image-wrap{position:relative;background:color-mix(in srgb,var(--surface) 60%,var(--bg))}.bands-logo-card-image{width:100%;aspect-ratio:1;object-fit:contain;display:block;padding:.55rem}.bands-logo-card-footer{display:flex;align-items:center;gap:.25rem;padding:0 .4rem .4rem}.bands-logo-card-title{flex:1;min-width:0;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.bands-logo-use-btn{padding:.2rem .45rem;min-height:unset;font-size:.72rem}.media-pagination{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.65rem;flex-wrap:wrap}.bands-logo-color-group{display:flex;flex-direction:column;gap:.55rem;border:1px solid var(--bands-border);border-radius:8px;padding:.7rem;background:color-mix(in srgb,var(--bands-soft-bg) 58%,var(--surface))}.bands-logo-section-title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--text)}.bands-logo-info{display:flex;flex-direction:column;gap:.4rem}.bands-logo-info-item{margin:0;font-size:.75rem;color:var(--muted);line-height:1.4}.bands-logo-remove-btn{width:100%;padding:.5rem .65rem;border-radius:6px;border:1px solid color-mix(in srgb,#d32f2f 30%,var(--border));background:color-mix(in srgb,#d32f2f 8%,var(--surface));color:#d32f2f;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.bands-logo-remove-btn:hover{background:color-mix(in srgb,#d32f2f 16%,var(--surface));border-color:color-mix(in srgb,#d32f2f 50%,var(--border))}.bands-logo-remove-btn:disabled{opacity:.5;cursor:not-allowed}.bands-subscription-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.75rem .85rem;border:1px solid var(--bands-border);border-radius:10px;background:color-mix(in srgb,var(--bands-soft-bg) 72%,var(--surface))}.bands-subscription-copy{display:flex;flex-direction:column;gap:.2rem}.bands-subscription-copy span{font-size:.84rem;color:var(--muted)}.bands-member-email{font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.band-settings-tabs{display:flex;gap:.35rem;padding:0 1.25rem .75rem;border-bottom:1px solid var(--border)}.band-settings-tab{padding:.35rem .75rem;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer;transition:background .15s,color .15s}.band-settings-tab:hover{background:var(--bands-soft-bg);color:var(--bands-hue)}.band-settings-tab.active{background:var(--bands-hue-soft);color:var(--bands-hue);border-color:color-mix(in srgb,var(--bands-hue) 28%,var(--border));font-weight:600}.bands-card,.bands-member-card,.bands-library-card{display:flex;justify-content:space-between;align-items:center;gap:.9rem;background:var(--surface);border:1px solid var(--bands-border);border-radius:14px;padding:.9rem 1rem}.bands-card:hover,.bands-member-card:hover,.bands-library-card:hover{background:var(--bands-soft-bg)}.bands-card-main{display:flex;align-items:center;gap:.8rem;color:inherit;min-width:0}.bands-card-icon{width:2.3rem;height:2.3rem;border-radius:999px;display:grid;place-items:center;background:var(--bands-hue-soft);color:var(--bands-hue)}.bands-card-copy,.bands-member-copy,.bands-library-copy{display:flex;flex-direction:column;gap:.16rem}.bands-member-card{justify-content:flex-start}.bands-card-copy span,.bands-member-copy span,.bands-library-copy span{color:var(--muted);font-size:.85rem}.bands-member-role-select{font-size:.8rem;color:var(--bands-hue);background:transparent;border:1px solid color-mix(in srgb,var(--bands-hue) 28%,var(--border));border-radius:.4rem;padding:.2rem .4rem;cursor:pointer;text-transform:capitalize}.bands-member-role-select:disabled{opacity:.5;cursor:not-allowed}.bands-card-meta,.bands-member-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.bands-member-actions{margin-left:auto}.bands-role-badge,.bands-members-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--bands-hue-soft) 72%,var(--surface));border:1px solid color-mix(in srgb,var(--bands-hue) 22%,var(--border));color:var(--bands-hue);font-size:.78rem;text-transform:capitalize}.bands-tabs{display:flex;gap:.5rem}.bands-tab{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--bands-border);border-radius:999px;background:var(--surface);color:var(--bands-hue);padding:.45rem .8rem}.bands-tab.active{background:var(--bands-hue-soft);color:var(--bands-hue);border-color:color-mix(in srgb,var(--bands-hue) 34%,var(--border))}.setlist-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;width:100%}.setlist-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--bands-hue) 30%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,var(--bands-hue-soft));color:var(--bands-hue);min-height:42px;width:100%;padding:.6rem .75rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .12s ease}.setlist-tab:hover{background:color-mix(in srgb,var(--bands-hue-soft) 70%,var(--surface));border-color:color-mix(in srgb,var(--bands-hue) 46%,var(--border))}.setlist-tab:active{transform:translateY(1px)}.setlist-tab:focus-visible{outline:2px solid color-mix(in srgb,var(--bands-hue) 60%,#fff);outline-offset:2px}.setlist-tab.active{background:linear-gradient(130deg,color-mix(in srgb,var(--bands-hue) 24%,#ffffff),color-mix(in srgb,var(--bands-hue-soft) 72%,var(--surface)));border-color:color-mix(in srgb,var(--bands-hue) 55%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bands-hue) 24%,transparent)}@media (max-width: 900px){.setlist-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.setlist-tab{min-height:40px;padding:.55rem .65rem;font-size:.92rem}}.bands-page .setlist-action-btn{background:var(--bands-hue);border-color:var(--bands-hue);color:var(--bands-hue-contrast)}.bands-page .setlist-action-btn:hover{background:color-mix(in srgb,var(--bands-hue) 84%,#000);border-color:color-mix(in srgb,var(--bands-hue) 84%,#000)}.bands-page .setlist-action-btn--secondary{background:var(--surface);color:var(--bands-hue);border-color:color-mix(in srgb,var(--bands-hue) 28%,var(--border))}.bands-page .setlist-action-btn--secondary:hover{background:var(--bands-hue-soft)}.bands-page .setlist-action-btn--accent{background:linear-gradient(120deg,color-mix(in srgb,var(--bands-hue) 86%,#0f766e),color-mix(in srgb,var(--bands-hue) 68%,#14b8a6));border-color:color-mix(in srgb,var(--bands-hue) 84%,#0f766e);color:#f4fffd}.bands-page .setlist-action-btn--accent:hover{background:linear-gradient(120deg,color-mix(in srgb,var(--bands-hue) 82%,#0d5f5a),color-mix(in srgb,var(--bands-hue) 64%,#0d9488));border-color:color-mix(in srgb,var(--bands-hue) 80%,#0d5f5a)}.bands-page .setlist-action-btn--danger,.bands-page .setlist-action-btn--danger:hover{color:#fff}.bands-invite-form{display:flex;flex-direction:column;gap:.85rem}@media (max-width: 900px){.profile-account-hero,.profile-account-grid,.pricing-card-grid,.profile-settings-grid{grid-template-columns:minmax(0,1fr)}.profile-account-hero{padding:1rem}.profile-account-hero,.profile-account-hero-main,.pricing-comparison-header,.checkout-result-actions{flex-direction:column;align-items:stretch}.profile-avatar-picker{align-self:center}.profile-avatar-popover{left:50%;transform:translate(-50%);width:min(20rem,calc(100vw - 3rem))}.profile-subscription-overview,.profile-limit-grid{grid-template-columns:minmax(0,1fr)}.profile-band-subscription-row,.profile-settings-form--inline{flex-direction:column;align-items:stretch}.profile-settings-save-btn{align-self:flex-end}.profile-settings-card--wide{grid-column:span 1}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bands-header,.bands-create-grid,.bands-detail-grid,.bands-settings-layout,.profile-invite-card,.bands-card,.bands-member-card,.bands-library-card,.share-menu-band-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.bands-card-meta,.bands-member-actions,.profile-invite-actions{justify-content:flex-start}.bands-appearance-grid{grid-template-columns:1fr}.bands-logo-section{flex-direction:column}}.trash-list{list-style:none;display:flex;flex-direction:column;gap:.7rem;padding:0;margin:.8rem 0 0}.trash-list-item{display:flex;justify-content:space-between;gap:.8rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.8rem .9rem}.trash-item-copy{min-width:0}.trash-item-title{margin:0;color:var(--text);font-weight:600}.trash-item-meta{margin:.2rem 0 0;color:var(--muted);font-size:.85rem}.trash-item-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 900px){.trash-list-item{align-items:stretch;flex-direction:column}.trash-item-actions{justify-content:flex-start}}.public-page-nav{margin-bottom:2rem}.public-page-nav-brand{text-decoration:none}.public-page-nav-brand:hover,.public-page-nav-brand:focus-visible{text-decoration:none}.public-page-nav-brand--large{display:inline-flex;align-items:center}.public-setlist-page{min-height:100dvh;max-width:640px;margin:0 auto;padding:2rem 1.25rem 4rem;font-family:inherit;color:var(--text, #1a1a1a)}.public-setlist-page--wide{max-width:980px}.public-setlist-header{margin-bottom:2rem}.public-setlist-header .public-page-nav-brand{margin-bottom:.65rem}.public-share-branding-row{display:flex;align-items:center;justify-content:center;gap:.95rem;flex-wrap:wrap;margin-bottom:.8rem}.public-share-branding-row--header{margin-bottom:1.05rem}.public-share-branding-row--footer{justify-content:center;margin-bottom:.45rem}.public-share-branding-row--footer .public-setlist-band-logo--large{width:2.8rem;height:2.8rem}.public-share-band-stack{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.35rem;min-width:3.4rem}.public-share-band-stack--header{width:100%;margin:0 auto;align-items:center}.public-share-branding-row--left{justify-content:flex-start}.public-setlist-band{font-size:.85rem;color:var(--muted, #888);margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.04em}.public-setlist-band-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.35rem}.public-setlist-band-row .public-setlist-band{margin:0}.public-setlist-band-logo{width:1.65rem;height:1.65rem;border-radius:999px;object-fit:cover;border:1px solid var(--border, #e5e5e5);background:var(--surface, #fff);flex-shrink:0}.public-setlist-band-logo--large{width:26.4rem;height:26.4rem;border-radius:0;border:none;background:transparent}.public-setlist-band--stack{margin:0;line-height:1.2;width:100%;text-align:left;font-size:clamp(2rem,8vw,3.4rem);text-transform:none;letter-spacing:0;color:var(--text, #111)}.public-setlist-title{font-size:clamp(1.45rem,1.15rem + 1.1vw,1.9rem);font-weight:700;margin:0 0 .4rem;line-height:1.2}.public-setlist-count{font-size:var(--meta-copy-size);color:var(--muted, #888);margin:0}.public-setlist-status{font-size:var(--page-copy-size);color:var(--muted, #888);padding:2rem 0}.public-setlist-songs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.public-setlist-song{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid var(--border, #e5e5e5);border-radius:8px;background:var(--surface, #fff)}.public-setlist-song-position{font-size:.8rem;color:var(--muted, #888);min-width:1.4rem;text-align:right;flex-shrink:0}.public-setlist-song-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.public-setlist-song-title{font-weight:600;font-size:var(--page-copy-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-setlist-song-artist{font-size:var(--meta-copy-size);color:var(--muted, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-setlist-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border, #e5e5e5);text-align:center}.public-setlist-footer-link{font-size:.85rem;color:var(--muted, #888);text-decoration:none}.public-setlist-footer-link:hover{color:var(--text, #1a1a1a)}.public-setlist-signoff{margin:.5rem 0 0;font-size:.78rem;color:var(--muted, #888)}.public-presskit-page,.technical-rider-public-page{max-width:980px}.public-presskit-header,.public-share-header{display:grid;gap:.4rem}.public-presskit-logo-wrap{display:flex;justify-content:center;margin-bottom:.4rem}.public-presskit-band-name,.public-share-band-name{margin:0 0 .15rem;font-size:clamp(1.8rem,1.4rem + 1.3vw,2.25rem);font-weight:700;line-height:1.2;text-align:center;color:var(--text, #1a1a1a)}.public-share-band-stack--header .public-presskit-band-name,.public-share-band-stack--header .public-share-band-name{align-self:center}.page-section-header.resource-header,.bands-header:not(.bands-header--detail),.profile-account-hero,.profile-invites-header,.pricing-hero,.checkout-result-card,.public-setlist-header,.public-share-header{border:1px solid var(--border);border-radius:14px;padding:.95rem 1rem;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 14%,transparent),transparent 30%),linear-gradient(160deg,color-mix(in srgb,var(--surface) 90%,white),var(--surface));box-shadow:var(--shadow)}@media (max-width: 640px){.profile-settings-page,.profile-invites-page,.bands-page,.pricing-page,.checkout-result-page{gap:.85rem}.profile-account-hero,.profile-invites-header,.bands-header:not(.bands-header--detail),.pricing-hero,.checkout-result-card{padding:.95rem .9rem;border-radius:14px}.profile-account-hero-copy h1,.profile-invites-header h1,.bands-header:not(.bands-header--detail) h1,.bands-header:not(.bands-header--detail) .song-list-heading,.bands-header:not(.bands-header--detail) .resource-title,.pricing-hero h1,.checkout-result-card h1{font-size:clamp(1.35rem,1.1rem + 1.3vw,1.65rem)}.profile-section-heading h2,.profile-section-heading h3,.profile-invites-section h2,.bands-section-heading,.pricing-comparison-header h2{font-size:1rem}.profile-invites-header p,.profile-invites-status,.bands-header p,.bands-status,.setlist-subtitle,.pricing-hero p,.checkout-result-card p,.public-setlist-status{font-size:.88rem;line-height:1.45}.public-setlist-page{padding:1.5rem 1rem 3rem}.public-setlist-title{font-size:clamp(1.3rem,1.05rem + 1.2vw,1.55rem)}.public-presskit-band-name,.public-share-band-name{font-size:clamp(1.45rem,1.1rem + 1.9vw,1.9rem)}.public-setlist-count,.public-setlist-song-artist{font-size:.8rem}.public-setlist-song-title{font-size:.9rem}.song-list-sticky,.list-sticky-header{--song-list-sticky-top-cover: 1rem;gap:.65rem;padding-bottom:.65rem;margin-bottom:.65rem}.song-list-sticky>.setlist-header,.song-list-sticky>.resource-header,.list-sticky-header>.setlist-header,.list-sticky-header>.resource-header{padding:.95rem .9rem;border-radius:12px;gap:.85rem}.song-list-sticky .song-list-heading,.song-list-sticky .song-list-heading.setlist-title,.song-list-sticky .resource-title,.song-list-sticky .resource-title.resource-title--setlist,.list-sticky-header .song-list-heading,.list-sticky-header .song-list-heading.setlist-title,.list-sticky-header .resource-title,.list-sticky-header .resource-title.resource-title--setlist{font-size:clamp(1.15rem,1rem + .9vw,1.35rem);padding-bottom:.35rem}.song-list-sticky .setlist-song-count,.list-sticky-header .setlist-song-count{font-size:.82rem}.song-list-sticky .setlist-header-actions,.song-list-sticky .resource-header-actions,.list-sticky-header .setlist-header-actions,.list-sticky-header .resource-header-actions{gap:.45rem}.song-list-sticky .setlist-action-btn,.list-sticky-header .setlist-action-btn{font-size:.8rem;min-height:2.35rem}.song-list-sticky .song-list-controls,.list-sticky-header .song-list-controls{gap:.5rem}.public-share-branding-row{gap:.75rem}.public-setlist-band-logo--large{width:26.4rem;height:26.4rem;max-width:100%}}.public-presskit-download-wrap{margin-top:.65rem}.public-presskit-body{display:flex;flex-direction:column;gap:2.5rem}.public-presskit-section-heading{margin:0 0 .9rem;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted, #888)}.public-presskit-text-grid,.public-presskit-images-grid{display:grid;gap:.75rem}.public-presskit-text-item{border:1px solid color-mix(in srgb,var(--bands-hue) 24%,var(--border));border-radius:12px;background:var(--surface);padding:.9rem}.public-presskit-text-block{display:flex;flex-direction:column;gap:.6rem}.public-presskit-text-standalone-title{margin:0;font-size:1.35rem;font-weight:700;color:var(--text)}.public-presskit-text-title{margin:0;font-size:.95rem;font-weight:600;color:var(--text)}.public-presskit-rich-text{color:var(--text);display:grid;gap:.55rem;line-height:1.55}.public-presskit-rich-text p,.public-presskit-rich-text ul,.public-presskit-rich-text ol,.public-presskit-rich-text h2,.public-presskit-rich-text h3{margin:0}.public-presskit-rich-text ul,.public-presskit-rich-text ol{padding-left:1.2rem}.public-presskit-rich-text a{color:var(--accent);text-decoration:underline}.public-presskit-image-card{border:1px solid color-mix(in srgb,var(--bands-hue) 24%,var(--border));border-radius:12px;background:var(--surface);padding:.6rem;display:flex;flex-direction:column}.public-presskit-image{width:100%;border-radius:9px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 86%,var(--surface));max-height:460px;object-fit:contain;display:block}.public-presskit-image-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem;padding:0 .2rem}.public-presskit-image-title{margin:0;color:var(--muted);font-size:.84rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-presskit-dl-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:7px;border:1px solid color-mix(in srgb,var(--bands-hue) 40%,var(--border));background:var(--surface);color:var(--bands-hue, var(--accent));font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s;flex-shrink:0}.public-presskit-dl-btn:hover{background:color-mix(in srgb,var(--bands-hue, var(--accent)) 10%,var(--surface));border-color:var(--bands-hue, var(--accent))}.public-presskit-dl-btn:disabled{opacity:.55;cursor:default}@media (min-width: 900px){.public-presskit-images-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.setlist-action-btn--active{color:var(--accent, #0f766e);border-color:var(--accent, #0f766e)}.stageplot-view{display:flex;flex-direction:column;gap:1rem;min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem}.tech-rider-sections{--sticky-header-content-gap: .75rem;display:grid;gap:1rem;align-items:start;scroll-margin-top:8rem}.tech-rider-section{min-width:0;display:grid;gap:.8rem}.tech-rider-page-header{margin-bottom:.1rem}.tech-rider-list-card{display:flex;flex-direction:column;gap:.6rem}.tech-rider-list-item{display:flex;align-items:center;gap:.75rem;justify-content:space-between}.tech-rider-list-item .songlist-item-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tech-rider-section .setlist-view,.tech-rider-section .stageplot-view{min-width:0}.stageplot-stage-wrap{overflow-x:auto;min-width:0;padding:0 1.5rem}.stageplot-toolbar{display:flex;flex-direction:column;gap:.8rem;align-items:stretch;padding:0 1.5rem}.stageplot-toolbar-section-heading{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.stageplot-palette{display:flex;flex-wrap:wrap;gap:.45rem;min-width:0;align-content:flex-start;width:100%}.stageplot-palette-category{display:flex;flex-direction:column;gap:.35rem;padding:.55rem;background:color-mix(in srgb,var(--surface-alt) 72%,var(--surface) 28%);border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:10px}.stageplot-palette-category-name{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;padding:0 .15rem}.stageplot-palette-category-items{display:flex;flex-wrap:wrap;gap:.35rem;width:100%}.stageplot-palette-custom-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:nowrap;width:100%}.stageplot-palette-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .62rem;font-size:.78rem;font-weight:600;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);transition:background .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s}.stageplot-palette-btn:hover{background:var(--chord-bg);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));transform:translateY(-1px);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 12%,transparent)}.stageplot-instrument-icon{width:20px;height:20px;display:block;object-fit:contain}.stageplot-instrument-icon--palette{width:18px;height:18px}.stageplot-instrument-icon--item{width:32px;height:32px}.stageplot-toolbar-input--custom{min-width:150px;width:auto;flex:1 1 auto;min-width:0}.stageplot-palette-custom-controls .notes-toolbar-btn{flex-shrink:0}.stageplot-toolbar-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-start;min-width:0}.stageplot-toolbar-sep{width:1px;height:1.4rem;background:var(--border);margin:0 .15rem;flex-shrink:0}.stageplot-shape-toggle{padding:.3rem .45rem}.stageplot-shape-toggle .stageplot-shape-glyph{display:block;width:16px;height:16px}.stageplot-toolbar-input{padding:.4rem .6rem;font-size:.8rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);transition:border-color .15s,background .15s}.stageplot-toolbar-input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.stageplot-toolbar-input::placeholder{color:var(--muted)}.stageplot-settings-grid{display:inline-flex;align-items:center;gap:.4rem}.stageplot-setting-btn{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);transition:border-color .12s,background .12s,transform .08s,color .12s}.stageplot-setting-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--chord-bg);color:var(--accent);transform:translateY(-1px)}.stageplot-setting-btn.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}.stageplot-shape-glyph{display:inline-block;border:2px solid currentColor;background:transparent}.stageplot-shape-glyph--rectangle{width:1.25rem;height:.75rem;border-radius:.12rem}.stageplot-shape-glyph--oval{width:1.25rem;height:.75rem;border-radius:999px}.stageplot-shape-glyph--circle{width:.95rem;height:.95rem;border-radius:999px}.stageplot-size-glyph{display:inline-block;height:.62rem;border:2px solid currentColor;border-radius:.12rem}.stageplot-size-glyph--small{width:.7rem}.stageplot-size-glyph--medium{width:1rem}.stageplot-size-glyph--large{width:1.28rem}.stageplot-stage{--stage-min-height: 56vh;--stage-max-width: 860px;position:relative;width:100%;max-width:min(100%,var(--stage-max-width));min-height:var(--stage-min-height);margin-inline:auto;border-radius:14px;border:1px solid var(--border);background:radial-gradient(circle at 14% 18%,color-mix(in srgb,var(--accent) 10%,transparent) 0%,transparent 48%),radial-gradient(circle at 80% 82%,color-mix(in srgb,var(--text) 7%,transparent) 0%,transparent 46%),linear-gradient(180deg,color-mix(in srgb,var(--surface) 74%,#000 26%) 0%,var(--surface) 100%);overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent)}.stageplot-stage--size-small{--stage-min-height: 42vh;--stage-max-width: 640px}.stageplot-stage--size-medium{--stage-min-height: 56vh;--stage-max-width: 860px}.stageplot-stage--size-large{--stage-min-height: 68vh;--stage-max-width: 1120px}.stageplot-stage--shape-rectangle{border-radius:14px;aspect-ratio:auto}.stageplot-stage--shape-oval{border-radius:999px/18%;aspect-ratio:auto}.stageplot-stage--shape-circle{border-radius:999px;aspect-ratio:1 / 1;min-height:0}.stageplot-stage-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--border) 35%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 35%,transparent) 1px,transparent 1px);background-size:44px 44px;opacity:.55;pointer-events:none}.stageplot-front-edge{position:absolute;left:0;right:0;bottom:0;height:22px;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--accent) 16%,transparent) 100%);border-top:1px dashed color-mix(in srgb,var(--accent) 46%,var(--border));pointer-events:none;z-index:5}.stageplot-audience-marker{position:absolute;left:50%;bottom:.35rem;transform:translate(-50%);padding:.15rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--surface) 82%,#fff 18%);color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;z-index:6}.stageplot-item{position:absolute;display:inline-grid;align-items:center;justify-items:center;gap:.28rem;transform:translate(-50%,-50%);min-width:96px;max-width:min(28vw,150px);padding:.5rem .62rem;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 90%,#fff 10%);box-shadow:0 6px 18px #0000001f;font-size:.78rem;font-weight:700;line-height:1.2;text-align:center;white-space:normal;word-break:break-word;cursor:grab;z-index:10;user-select:none;-webkit-user-select:none;touch-action:none}.stageplot-item>*{pointer-events:none}.stageplot-item .stageplot-rotation-handle{position:absolute;left:50%;top:-20px;width:14px;height:14px;border-radius:999px;border:2px solid color-mix(in srgb,var(--accent) 65%,#fff 35%);background:color-mix(in srgb,var(--surface) 60%,#fff 40%);box-shadow:0 2px 6px #0003;transform:translate(-50%);cursor:grabbing;pointer-events:auto;touch-action:none}.stageplot-item .stageplot-rotation-handle:before{content:"";position:absolute;left:50%;bottom:-12px;width:1px;height:10px;transform:translate(-50%);background:color-mix(in srgb,var(--accent) 55%,var(--border))}.stageplot-item span{max-width:100%;overflow-wrap:anywhere}.stageplot-item:active{cursor:grabbing}.stageplot-item--selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent),0 8px 20px #00000029}.stageplot-item--public{pointer-events:none;cursor:default}.stageplot-stage--public{min-height:60vh}@media (max-width: 900px){.stageplot-toolbar{grid-template-columns:1fr}.stageplot-toolbar-actions{justify-content:flex-start}}@media (max-width: 600px){.stageplot-stage{--stage-max-width: 100%}.stageplot-palette-category{width:100%}.stageplot-stage--size-small,.stageplot-stage--size-medium,.stageplot-stage--size-large{--stage-min-height: 52vh}.stageplot-stage--shape-circle{max-width:min(100%,76vw)}.stageplot-palette,.stageplot-toolbar-actions{width:100%}.stageplot-toolbar-actions .setlist-name-input{width:100%;max-width:100%}.stageplot-item{min-width:88px;max-width:min(42vw,130px);padding:.44rem .52rem;font-size:.74rem}.stageplot-instrument-icon--item{width:28px;height:28px}}.upgrade-prompt{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .75rem;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--radius-md, 8px);font-size:.8rem;color:var(--muted);flex-wrap:wrap}.upgrade-prompt__icon{flex-shrink:0;color:var(--accent)}.upgrade-prompt__text{flex:1;min-width:0}.upgrade-prompt__btn{padding:.25rem .7rem;border-radius:var(--radius-sm, 5px);border:none;background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.upgrade-prompt__btn:hover{opacity:.88}.song-toolbar-tool-btn--locked{opacity:.55;cursor:not-allowed}.sidebar-empty-hint{font-size:.75rem;color:var(--text-muted);padding:.25rem .75rem;margin:0}.press-kit-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;background:var(--surface-raised, var(--surface));border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.press-kit-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text);border-radius:5px;cursor:pointer;transition:background .12s}.press-kit-toolbar-btn:hover{background:var(--hover)}.press-kit-toolbar-btn.active{background:var(--bands-hue-soft, #e8f0ff);color:var(--bands-hue, #3b68ff)}.press-kit-toolbar-btn:disabled{opacity:.4;cursor:default}.press-kit-toolbar-sep{flex:0 0 1px;width:1px;height:20px;background:var(--border);margin:4px 2px}@media (max-width: 767px){.press-kit-toolbar{flex-wrap:nowrap;width:100%}.press-kit-toolbar-btn{flex:0 0 auto}}.press-kit-editor-wrap{border:1px solid var(--border);border-radius:8px;min-height:200px;background:var(--surface)}.press-kit-body-columns{--sticky-header-content-gap: .35rem;display:grid;gap:1rem;margin-top:1rem}@media (min-width: 768px){.press-kit-body-columns{grid-template-columns:1fr 1fr;align-items:start}}.press-kit-section-card{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.press-kit-text-section,.press-kit-images-section{display:flex;flex-direction:column;gap:0}.press-kit-section-header{padding-bottom:.45rem;margin-bottom:.6rem;border-bottom:1px solid var(--border)}.press-kit-section-title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.press-kit-section-hint{margin:.2rem 0 0;font-size:.78rem;color:var(--muted)}.press-kit-editor .ProseMirror{padding:12px 14px;min-height:160px;outline:none;color:var(--text);font-size:.9rem;line-height:1.6}.press-kit-editor .ProseMirror p{margin:0 0 .5em}.press-kit-editor .ProseMirror h2{font-size:1.1rem;font-weight:700;margin:.8em 0 .3em}.press-kit-editor .ProseMirror h3{font-size:1rem;font-weight:700;margin:.8em 0 .3em}.press-kit-editor .ProseMirror ul,.press-kit-editor .ProseMirror ol{padding-left:1.5em;margin:.3em 0}.press-kit-editor .ProseMirror hr{border:none;border-top:1px solid var(--border);margin:.75em 0}.press-kit-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;float:left;height:0}
