@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B47rxz3jWuZEC.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B47rxz3bWuQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B45L0z3jWuZEC.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B45L0z3bWuQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}#legacy-browser-notice{display:none}@supports not (background: color-mix(in srgb,red,blue)){#legacy-browser-notice{display:block;position:fixed;top:0;left:0;right:0;z-index:2147483647;background:#1a1a1a;color:#fff;font:15px/1.5 -apple-system,Segoe UI,Roboto,sans-serif;padding:14px 18px;text-align:center;border-bottom:3px solid #1a6fc4}#legacy-browser-notice a{color:#7cc0ff}}: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: #1565c0;--bands-hue-soft: #dde9f8;--bands-hue-contrast: #ffffff;--danger: #c0392b;--danger-strong: #a5342a;--danger-contrast: #ffffff;--notes-draw: #27ae60;--chord: #1a6fc4;--chord-bg: #e6f0fb;--sidebar-accent: var(--text);--sidebar-hover-bg: #f0ede9;--sidebar-hover-bg: color-mix(in srgb, var(--surface) 45%, var(--bg));--sidebar-active-bg: #ebe7e3;--sidebar-active-bg: color-mix(in srgb, var(--surface) 20%, var(--bg));--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--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);--shadow-xl: 0 18px 44px rgba(0,0,0,.18), 0 4px 14px rgba(0,0,0,.12);--fw-heading: 700;--fw-emphasis: 600;--fw-label: 500;--fw-body: 400;--text-2xs: .75rem;--text-xs: .8125rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.25rem;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .375rem;--space-sm: .5rem;--space-md: .625rem;--space-lg: .75rem;--space-xl: 1rem;--space-2xl: 1.5rem;--space-3xl: 2rem;--space-4xl: 3rem;--page-title-size: clamp(1.5rem, 1.2rem + 1.1vw, 1.95rem);--section-title-size: clamp(1rem, .92rem + .35vw, 1.15rem);--page-copy-size: var(--text-base);--meta-copy-size: var(--text-xs);--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: #4fa3e0;--bands-hue-soft: #152640;--bands-hue-contrast: #ffffff;--danger: #e05c4e;--danger-strong: #ef7468;--danger-contrast: #1c1a18;--notes-draw: #5be39a;--chord: #6aadff;--chord-bg: #1a2e45;--sidebar-accent: var(--text);--sidebar-hover-bg: #2e2c29;--sidebar-hover-bg: color-mix(in srgb, var(--surface) 42%, var(--bg));--sidebar-active-bg: #2a2825;--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);--shadow-xl: 0 18px 44px rgba(0,0,0,.5), 0 4px 14px rgba(0,0,0,.36)}[data-theme=stage]{--bg: #000000;--surface: #0a0a0a;--border: #565656;--text: #ffffff;--muted: #c9c9c9;--accent: #ffd60a;--accent-h: #ffe066;--accent-contrast: #000000;--bands-hue: #ffd60a;--bands-hue-soft: #332b00;--bands-hue-contrast: #000000;--danger: #ff453a;--danger-strong: #ff6b61;--danger-contrast: #000000;--notes-draw: #32ff7e;--chord: #ffd60a;--chord-bg: #332b00;--sidebar-accent: var(--text);--sidebar-hover-bg: #1a1a1a;--sidebar-active-bg: #262626;--shadow: 0 1px 3px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.45);--shadow-md: 0 4px 16px rgba(0,0,0,.6), 0 1px 4px rgba(0,0,0,.5);--shadow-lg: 0 8px 32px rgba(0,0,0,.7), 0 2px 8px rgba(0,0,0,.55);--shadow-xl: 0 18px 44px rgba(0,0,0,.8), 0 4px 14px rgba(0,0,0,.62)}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 var(--accent);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,.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,.tab-loop-btn,.tab-edit-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}input,select,textarea{font-size:var(--text-base)}}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)}.demo-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);background:var(--accent);color:#fff;font-size:var(--text-xs);padding:0 var(--space-xl);text-align:center;flex-wrap:wrap}.demo-banner-link{display:inline-flex;align-items:center;gap:var(--space-2xs);color:#fff;font-weight:600;white-space:nowrap}.demo-banner-link:hover{text-decoration:underline}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:clip}.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:var(--surface);background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);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:var(--space-2xl);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:var(--space-2xs);border-radius:var(--radius-sm);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:var(--space-sm);font-weight:700;font-size:var(--text-md);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}.brand-name-mirror-g{font-weight:900;color:var(--accent);transform:scaleX(-1);display:inline-block}.topbar-nav{display:flex;gap:var(--space-xl);margin-left:auto;align-items:center}.topbar-storage{display:flex;align-items:center;gap:var(--space-sm);min-width:220px;max-width:320px;padding:var(--space-2xs) var(--space-md);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:var(--radius);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:var(--text-2xs);letter-spacing:.01em;color:var(--muted)}.topbar-storage-text span{display:block;font-size:var(--text-xs);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:var(--radius-pill);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;inset:0;display:flex;align-items:center;justify-content:center;padding:0 var(--space-sm);font-size:var(--text-2xs);font-weight:var(--fw-label);color:color-mix(in srgb,var(--text) 86%,var(--surface));white-space:nowrap;pointer-events:none}.topbar-storage-meter-label-fill{color:#fff}.topbar-storage-percent{min-width:2.2rem;text-align:right;font-size:var(--text-2xs);font-weight:700;color:var(--muted)}.topbar-nav>a,.topbar-invites-trigger,.topbar-coffee-trigger{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-lg);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);transition:background .15s,color .15s;border:none;background:transparent;cursor:pointer}.topbar-invites,.topbar-coffee,.topbar-link--has-notification{position:relative}.topbar-link-notice{min-width:1.15rem;height:1.15rem;padding:0 var(--space-2xs);border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-2xs);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,.topbar-coffee-trigger:hover,.topbar-coffee-trigger.active{background:var(--chord-bg);color:var(--accent);text-decoration:none}.topbar-invites-popover,.topbar-coffee-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:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:470;overflow:hidden}.topbar-invites-popover-header,.topbar-coffee-popover-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border)}.topbar-invites-popover-header h2,.topbar-coffee-popover-header h2{margin:0;font-size:var(--text-base)}.topbar-invites-popover-header span{color:var(--muted);font-size:var(--text-xs)}.topbar-invites-popover-content,.topbar-coffee-popover-content{max-height:min(70vh,560px);overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.topbar-coffee-popover{width:min(340px,calc(100vw - 1.5rem));background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,#b9752f 16%,transparent),transparent 60%),var(--surface);border-color:color-mix(in srgb,#b9752f 30%,var(--border))}.topbar-coffee-popover-header{align-items:flex-start;justify-content:flex-start;gap:var(--space-md);border-bottom-color:color-mix(in srgb,#b9752f 20%,var(--border))}.topbar-coffee-popover-avatar{flex:none;width:2.6rem;height:2.6rem;border-radius:var(--radius-pill);object-fit:cover;box-shadow:0 4px 10px #8a532259;border:2px solid color-mix(in srgb,#b9752f 55%,transparent)}.topbar-coffee-popover-header p{margin:var(--space-3xs) 0 0;color:var(--muted);font-size:var(--text-xs)}.topbar-coffee-popover-content p{margin:0;color:var(--muted);font-size:var(--text-sm)}.topbar-coffee-options{display:flex;gap:var(--space-md)}.topbar-coffee-option{flex:1;justify-content:center;gap:var(--space-xs);min-height:3rem;padding:var(--space-lg) var(--space-xl);font-size:var(--text-sm);font-weight:600}.topbar-coffee-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-coffee-popover-content .btn.topbar-coffee-option.btn--accent{background:linear-gradient(120deg,#ff5b24,#d6421c);border-color:#d6421c;color:#fff5ef}.topbar-coffee-popover-content .btn.topbar-coffee-option.btn--accent:hover{background:linear-gradient(120deg,#ff6a37,#e14e28)}.topbar-invites-group{display:flex;flex-direction:column;gap:var(--space-sm)}.topbar-invites-group-header{display:flex;align-items:center;justify-content:space-between}.topbar-invites-group h3{margin:0;font-size:var(--text-xs);letter-spacing:.01em;color:var(--muted)}.topbar-invites-clear-btn{background:none;border:none;padding:0;cursor:pointer;font-size:var(--text-2xs);color:var(--muted);text-decoration:underline;text-underline-offset:2px}.topbar-invites-clear-btn:hover{color:var(--fg)}.topbar-invites-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.topbar-invite-item{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);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:var(--space-2xs)}.topbar-invite-main strong{font-size:var(--text-sm)}.topbar-invite-main span{font-size:var(--text-xs);color:var(--muted);line-height:1.3}.topbar-invite-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.topbar-invite-actions .btn{min-height:2rem;padding:var(--space-xs) var(--space-lg);font-size:var(--text-xs)}.topbar-invites-empty{margin:0;color:var(--muted);font-size:var(--text-sm);padding:var(--space-2xs) var(--space-3xs)}.topbar-icon-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:var(--space-2xs);border-radius:var(--radius-sm);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:var(--space-sm);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill)}.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);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:var(--text-xs)}.user-avatar--md{width:2rem;height:2rem;font-size:var(--text-base)}.user-avatar--lg{width:3rem;height:3rem;font-size:var(--text-lg)}.topbar-profile-link .user-avatar{background:none;border:none;width:auto;height:auto;font-size:var(--text-lg)}.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:var(--space-sm)}.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;overflow:hidden}.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,[data-theme=stage] [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,[data-theme=stage] .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:#1a1a1a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:89}.app-status{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:var(--space-4xl);padding:var(--space-xl) var(--space-xl);text-align:center;color:var(--muted)}.footer{text-align:center;padding:var(--space-xl);font-size:var(--text-xs);color:var(--muted);border-top:1px solid var(--border)}.footer-links{display:inline-flex;gap:var(--space-md);margin-left:var(--space-md)}.footer-links a{color:var(--muted);text-decoration:underline}.back-link{display:inline-flex;align-items:center;gap:var(--space-2xs);margin-bottom:var(--space-xl);color:var(--muted);font-size:var(--text-sm)}.back-link:hover{color:var(--accent);text-decoration:none}.lang-badge{display:inline-flex;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-pill);background:var(--chord-bg);color:var(--accent);font-size:var(--text-xs);font-weight:600;padding:var(--space-3xs) var(--space-md)}.lang-badge--sm{font-size:var(--text-2xs);padding:var(--space-3xs) var(--space-sm)}.tag{display:inline-block;background:var(--border);color:var(--muted);border-radius:var(--radius-pill);padding:var(--space-3xs) var(--space-sm);font-size:var(--text-2xs)}.song-meta-badge{display:inline-flex;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-pill);background:var(--chord-bg);color:var(--accent);font-size:var(--text-2xs);font-weight:600;padding:var(--space-3xs) var(--space-sm)}.tempo-pulse-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#3b82f6;opacity:.25;animation-name:tempo-pulse;animation-timing-function:ease-out;animation-iteration-count:infinite}.song-meta-badge--pulse{position:relative}.tempo-pulse-ring{display:block;position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px currentColor;opacity:.25;animation-name:tempo-ring-pulse;animation-timing-function:ease-out;animation-iteration-count:infinite;pointer-events:none}@keyframes tempo-pulse{0%,to{opacity:.25;transform:scale(1)}12%{opacity:1;transform:scale(1.4)}}@keyframes tempo-ring-pulse{0%,to{opacity:.25;box-shadow:inset 0 0 0 1px currentColor}12%{opacity:1;box-shadow:inset 0 0 0 2.5px currentColor}}@media(prefers-reduced-motion:reduce){.tempo-pulse-dot,.tempo-pulse-ring{animation:none;opacity:1}}.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:var(--space-2xs);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{flex-wrap:wrap}.song-list-heading,.resource-title{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-2xl);line-height:1.2;cursor:default;padding:0}.song-list-heading.setlist-title,.resource-title.resource-title--setlist{font-size:var(--text-xl)}.song-list-heading:hover,.resource-title:hover{background:transparent}.song-list-heading-icon,.resource-title-icon{font-size:var(--text-md);line-height:1}.song-list-title-row{display:inline-flex;align-items:center;gap:var(--space-sm)}.title-rename-btn{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:var(--radius-pill);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:var(--text-base);font-weight:700;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);min-width:220px;max-width:min(100%,420px);background:var(--surface)}.song-list-summary{margin-top:var(--space-2xs);color:var(--muted);font-size:var(--text-sm)}.view-toggle{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow)}.view-toggle-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);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 var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xl);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>.resource-header,.list-sticky-header>.resource-header{margin:0 var(--space-2xl);width:auto}.song-list-sticky>.page-section-header.resource-header:not(.bands-header),.list-sticky-header>.page-section-header.resource-header:not(.bands-header){box-shadow:none}.song-list-sticky>.press-kit-toolbar,.list-sticky-header>.press-kit-toolbar{margin:0 var(--space-2xl)}:where(.song-list-sticky,.list-sticky-header)+:where(.tech-rider-panels,.press-kit-body-columns){padding-top:var(--sticky-header-content-gap, .75rem)}.song-list-controls{display:flex;gap:var(--space-lg);flex-wrap:wrap;padding:0 var(--space-2xl)}.color-swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3xs)}.color-swatch-grid--compact{grid-template-columns:repeat(4,1fr)}.color-swatch-btn{width:1.5rem;height:1.5rem;border-radius:var(--radius-pill);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:var(--space-3xs)}.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:var(--radius-sm);background:var(--surface);font-size:var(--text-base)}.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:var(--space-3xs);cursor:pointer;line-height:1;border-radius:var(--radius);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:var(--space-lg);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--surface) 96%,#fff);box-shadow:var(--shadow-xl);box-shadow:0 12px 32px color-mix(in srgb,#000 14%,transparent);display:flex;flex-direction:column;gap:var(--space-sm)}.icon-picker-reset-btn{font-size:var(--text-2xs);color:var(--muted);background:none;border:none;cursor:pointer;padding:var(--space-2xs) 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:var(--space-sm) var(--space-lg) var(--space-sm) var(--space-3xl);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:var(--space-sm) var(--space-lg);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:var(--space-3xl);min-width:150px}.song-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-2xs)}.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:var(--radius-pill);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:var(--space-sm);padding:var(--space-xl) var(--space-xl);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-card.is-dragging,.song-preview-card.is-dragging{opacity:.45;transform:scale(.97);box-shadow:none;pointer-events:none}.song-card-link{display:flex;flex-direction:column;gap:var(--space-2xs);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:var(--space-3xs)}.song-card-title{font-weight:600;font-size:var(--text-base);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:var(--text-sm);color:var(--song-item-muted)}.song-card-meta{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.song-card .lang-badge,.song-preview-card .lang-badge,.song-view-header .lang-badge,.song-card .song-meta-badge,.song-preview-card .song-meta-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:var(--text-2xs);font-weight:600;padding:var(--space-3xs) var(--space-sm)}.song-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl);margin-top:var(--space-2xs)}.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:var(--space-xl);min-height:240px;padding:var(--space-xl);background:var(--song-item-bg);border:1px solid var(--song-item-border);border-radius:var(--radius-lg);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:var(--radius-pill);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:var(--space-lg);min-height:0;padding-top:var(--space-2xl);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:var(--space-3xs)}.song-preview-text{color:var(--song-item-muted);font-size:var(--text-base);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:var(--space-xs);flex-wrap:wrap}.song-reorder-dropzone.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.song-actions--stacked{padding-top:var(--space-2xs);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:var(--radius-sm);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:var(--space-xs);padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);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--import{color:#0f6b66;border-color:#8ecfc9;background:#e8fbf8}.song-action-btn--import:hover{color:#0b5651;border-color:#67bdb6;background:#d8f5f1}.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-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--import,.song-list-page .song-action-btn--remove,.song-list-page .song-action-btn--delete{background:transparent}.song-list-page .song-action-btn--import{border-color:transparent}.song-list-page .song-action-btn--import:hover{border-color:#0f6b6657;border-color:color-mix(in srgb,#0f6b66 34%,transparent);background:#0f6b661a;background:color-mix(in srgb,#0f6b66 10%,transparent)}.song-list-page .song-action-btn--edit{border-color:transparent}.song-list-page .song-action-btn--edit:hover{border-color:#1f5ea852;border-color:color-mix(in srgb,#1f5ea8 32%,transparent);background:#1f5ea81a;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:#8d4d1357;border-color:color-mix(in srgb,#8d4d13 34%,transparent);background:#8d4d131a;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:var(--space-lg);padding:var(--space-4xl);color:var(--muted);margin-top:var(--space-2xs)}.empty-state-hint{font-size:var(--text-sm);text-align:center;max-width:320px}.chordpro-example{font-family:monospace;background:var(--surface-alt, var(--border));border-radius:var(--radius-xs);padding:1px 5px;color:var(--text);white-space:nowrap}.profile-welcome-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-sm)}.profile-welcome-card--highlight{position:relative;padding:var(--space-2xl) var(--space-2xl);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),var(--surface) 65%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent),0 8px 24px -12px color-mix(in srgb,var(--accent) 45%,transparent)}.profile-welcome-card-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);margin-bottom:var(--space-3xs)}.profile-welcome-card h2{font-size:var(--section-title-size, 1rem);margin:0}.profile-welcome-card--highlight h2{font-size:var(--text-md)}.profile-welcome-card p{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:1.5}.profile-welcome-card-cta{color:var(--text)!important;font-weight:600;font-size:var(--text-base)!important}.profile-welcome-card-form{display:flex;gap:var(--space-md);margin-top:var(--space-xs)}.profile-welcome-card-form input{flex:1;min-width:0;padding:var(--space-lg) var(--space-xl);border-radius:var(--radius);border:1.5px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--bg);color:var(--text);font-size:var(--text-base)}.profile-welcome-card-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.profile-welcome-card-form button{padding:var(--space-lg) var(--space-xl);border-radius:var(--radius);border:none;background:var(--accent);color:var(--accent-contrast);font-size:var(--text-base);font-weight:700;white-space:nowrap;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease}.profile-welcome-card-form button:not(:disabled):hover{box-shadow:0 4px 12px -4px color-mix(in srgb,var(--accent) 60%,transparent);transform:translateY(-1px)}.profile-welcome-card-form button:disabled{opacity:.6;cursor:default}.song-view{display:flex;flex-direction:column;gap:var(--space-2xl);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--import{color:#0f6b66;border-color:transparent;background:transparent}.song-view .song-action-btn--import:hover{color:#0b5651;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}.song-view .song-action-btn--download,.song-view .song-action-btn--download:hover,.song-view .song-action-btn--history{border-color:transparent;background:transparent}.song-view .song-action-btn--history:hover,.song-view .song-action-btn--history.song-action-btn--active{color:var(--accent);border-color:transparent;background:color-mix(in srgb,var(--accent) 12%,transparent)}@media(min-width:901px)and (max-width:1200px){:root{--sidebar-width: 240px}.topbar{gap:var(--space-xl);padding:var(--safe-top) calc(1.1rem + var(--safe-right)) 0 calc(1.1rem + var(--safe-left))}.topbar-nav{gap:var(--space-md)}.topbar-nav>a,.topbar-invites-trigger,.topbar-coffee-trigger{padding:var(--space-xs) var(--space-md)}.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>.press-kit-toolbar,.song-list-controls{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);box-shadow:var(--shadow);padding:var(--space-xl);display:flex;flex-wrap:wrap;gap:var(--space-xl);align-items:flex-start;justify-content:space-between}.song-view-title{font-size:var(--text-xl);font-weight:700;line-height:1.2;color:var(--song-item-text)}.song-view-title-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.song-view-artist{color:var(--song-item-muted);margin-top:var(--space-2xs)}.song-view-badges{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.song-view-toolbar{display:flex;flex-direction:column;gap:var(--space-md);align-items:stretch;width:100%}.song-toolbar-section{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-xs) 0 0;border:0;border-radius:0;background:transparent}.song-toolbar-section+.song-toolbar-section,.song-toolbar-section+.song-toolbar-row--actions{margin-top:var(--space-xs);padding-top:var(--space-lg);border-top:1px solid color-mix(in srgb,var(--song-item-border) 60%,transparent)}.song-toolbar-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap}.song-toolbar-section-title{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-2xs);font-weight:var(--fw-label);letter-spacing:.01em;color:var(--song-item-muted)}.song-toolbar-section-subtitle{font-size:var(--text-2xs);color:var(--song-toolbar-elevated-text)}.song-toolbar-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.song-toolbar-row--tool-switches{gap:var(--space-sm);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:var(--space-sm)}.song-toolbar-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-sm)}.song-toolbar-tools-grid--floating{position:fixed;bottom:1.25rem;right:1.25rem;z-index:150;display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none;width:auto}.song-toolbar-tools-grid--floating .song-toolbar-tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg) var(--space-lg);box-shadow:0 4px 24px #0000002e;pointer-events:all;min-width:220px;max-width:360px;grid-column:unset}.concert-mode .song-toolbar-tools-grid--floating{bottom:5rem}.song-toolbar-tool-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm)}.song-toolbar-tool-card{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);border:1px solid color-mix(in srgb,var(--song-header-accent) 26%,var(--song-item-border));border-radius:var(--radius);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:var(--space-xs);font-size:var(--text-2xs);letter-spacing:.01em;color:var(--song-toolbar-elevated-text);font-weight:var(--fw-label)}.song-toolbar-tool-card--media,.song-toolbar-tool-card--history{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:var(--space-xs);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs)}.transpose-btn{display:flex;align-items:center;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-xs);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:var(--text-xs);color:var(--muted);min-width:72px;text-align:center}.transpose-scope-tag{color:var(--accent);font-weight:600}.toggle-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);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:var(--radius-pill);padding:var(--space-3xs) var(--space-md);font-size:var(--text-xs);font-weight:600}.visual-metronome{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-pill);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:var(--radius-pill);padding:var(--space-2xs);width:1.85rem;height:1.85rem;font-size:var(--text-2xs);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:var(--space-2xs);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-2xs);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:var(--radius-pill);padding:var(--space-2xs) var(--space-xs);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:var(--space-xs)}.visual-metronome-light{width:1.1rem;height:1.1rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 45%,transparent);opacity:.45;flex-shrink:0}.visual-metronome-light.is-running{background:color-mix(in srgb,var(--accent) 85%,white);opacity:1;animation-name:metronome-flash;animation-duration:.3s;animation-timing-function:ease-out;animation-fill-mode:forwards}.visual-metronome-light.is-running.is-downbeat{width:1.3rem;height:1.3rem;animation-name:metronome-flash-downbeat;animation-duration:.36s}.visual-metronome-tempo-controls{display:inline-flex;align-items:center;gap:var(--space-2xs)}.visual-metronome-tempo-btn{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;padding:0;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius-sm);background:transparent;color:var(--accent);cursor:pointer;transition:background .12s,border-color .12s;flex-shrink:0}.visual-metronome-tempo-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}.visual-metronome-tempo-display{font-size:var(--text-2xs);font-weight:700;color:var(--accent);letter-spacing:.02em;background:transparent;border:none;padding:0;cursor:pointer;transition:opacity .15s}.visual-metronome-tempo-display:hover{opacity:.8}.visual-metronome-tempo-input{width:3rem;font-size:var(--text-2xs);font-weight:700;color:var(--accent);letter-spacing:.02em;border:1px solid var(--accent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,var(--surface));padding:var(--space-2xs) var(--space-2xs);text-align:center;outline:none}.visual-metronome-tempo-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.visual-metronome-beats{display:inline-flex;align-items:center;gap:var(--space-2xs)}.visual-metronome-beat{width:.46rem;height:.46rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 35%,transparent);transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.visual-metronome-beat.is-active{transform:scale(1.35);background:color-mix(in srgb,var(--accent) 85%,white);box-shadow:0 0 0 .12rem color-mix(in srgb,var(--accent) 30%,transparent)}.visual-metronome-beat.is-downbeat{width:.62rem;height:.62rem}.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{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);flex:0 0 auto;white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-pill);min-height:2.5rem;padding:var(--space-xs) var(--space-lg);font-size:var(--text-xs);font-weight:600;color:var(--muted);background:var(--surface);transition:background .15s,color .15s,border-color .15s}.song-toolbar-tool-btn--has-content:after{content:"";display:inline-block;width:.4rem;height:.4rem;border-radius:50%;background:var(--accent)}.song-toolbar-tool-btn--active.song-toolbar-tool-btn--has-content:after{background:var(--accent-contrast)}.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-draw-toggle{display:inline-flex;align-items:center;justify-content:flex-start;font-size:var(--text-2xs);font-weight:600;padding:var(--space-2xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);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:var(--space-xs);min-width:0;width:100%;padding:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius);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:var(--space-sm)}.song-view-header .song-toolbar-row--controls .transpose-control{border:1px solid color-mix(in srgb,var(--song-header-accent) 28%,var(--song-item-border));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--song-header-accent) 14%,var(--song-item-bg));padding:var(--space-3xs);overflow:hidden;gap:var(--space-3xs)}.song-view-header .song-toolbar-row--controls .transpose-btn{border-radius:var(--radius-pill);background:transparent;border-color:transparent}.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:var(--radius-pill);background:color-mix(in srgb,var(--song-header-accent) 14%,var(--song-item-bg));overflow:hidden;padding:var(--space-3xs);gap:var(--space-3xs)}.song-view-header .song-toolbar-row--controls .transpose-btn,.song-view-header .song-toolbar-row--controls .instrument-toggle-btn{padding:var(--space-xs) var(--space-lg);min-height:2.5rem}.song-view-header .song-toolbar-row--controls .instrument-toggle-btn,.concert-tool-row .instrument-toggle-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;border-radius:var(--radius-pill);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 #ffffff29;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:5rem;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:#f9eded;color:color-mix(in srgb,#fff 92%,var(--danger-strong));border-color:color-mix(in srgb,var(--danger-strong) 45%,var(--song-item-border));background:#871919;background:color-mix(in srgb,var(--danger-strong) 70%,#111)}.concert-tool-row .transpose-control{border:1px solid color-mix(in srgb,var(--song-header-accent) 28%,var(--song-item-border));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--song-header-accent) 14%,var(--song-item-bg));padding:var(--space-3xs);overflow:hidden;gap:var(--space-3xs)}.concert-tool-row .transpose-btn{border-radius:var(--radius-pill);background:transparent;border-color:transparent}.concert-tool-row .transpose-btn--pin{margin-left:var(--space-3xs);padding-left:var(--space-sm);border-left:1px solid color-mix(in srgb,var(--song-header-accent) 28%,var(--song-item-border));border-radius:0}.concert-tool-row .instrument-toggle{border:1px solid color-mix(in srgb,var(--song-header-accent) 28%,var(--song-item-border));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--song-header-accent) 14%,var(--song-item-bg));overflow:hidden;padding:var(--space-3xs);gap:var(--space-3xs)}.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:var(--radius);background:color-mix(in srgb,var(--surface) 82%,var(--bg));padding:var(--space-sm) var(--space-md)}.technical-rider-view{display:flex;flex-direction:column;gap:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:var(--space-xl)}.technical-rider-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:var(--space-xl)}.technical-rider-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.technical-rider-section h2{font-size:var(--text-base)}.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:var(--space-sm) var(--space-sm);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:var(--radius-sm);padding:var(--space-xs) var(--space-sm);background:var(--surface);color:var(--text)}.technical-rider-empty-cell,.technical-rider-empty{color:var(--muted)}.technical-rider-notes-input{width:100%;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);background:var(--surface);color:var(--text);font:inherit}.technical-rider-notes-view{white-space:pre-wrap;color:var(--text);margin:0}.technical-rider-public-section{margin-top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.technical-rider-public-section h2{margin:0}.song-media-player--spotify{display:flex;flex-direction:column;gap:var(--space-sm)}.song-media-external-link{display:inline-flex;align-items:center;gap:var(--space-2xs);width:fit-content;font-size:var(--text-2xs);color:var(--muted)}.song-media-external-link:hover{color:var(--accent)}.song-media-player--youtube{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-sm)}.song-media-embed-shell{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);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:var(--space-xs);padding:var(--space-sm) var(--space-md);min-width:10.75rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,var(--bg))}.visual-tuner.is-collapsed{min-width:0;padding:var(--space-xs) var(--space-xs);gap:0}.visual-tuner-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-2xs);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:var(--space-3xs);line-height:1}.visual-tuner-label{font-size:var(--text-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-label)}.visual-tuner-status{font-size:var(--text-2xl);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:var(--space-2xs)}.visual-tuner-side{font-size:var(--text-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.visual-tuner-cue{font-size:var(--text-2xs);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:var(--radius-pill);background:linear-gradient(to right,#c0392b6b,#cb8d2e66 36%,#1f8b4c99,#cb8d2e66 64%,#c0392b6b);background:linear-gradient(to right,color-mix(in srgb,var(--danger) 42%,transparent),color-mix(in srgb,#cb8d2e 40%,transparent) 36%,color-mix(in srgb,#1f8b4c 60%,transparent),color-mix(in srgb,#cb8d2e 40%,transparent) 64%,color-mix(in srgb,var(--danger) 42%,transparent));overflow:hidden}.visual-tuner-gauge.is-in-tune{box-shadow:inset 0 0 0 1px #1f8b4c73;box-shadow:inset 0 0 0 1px color-mix(in srgb,#1f8b4c 45%,transparent)}.visual-tuner-center{position:absolute;inset: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:var(--text-2xs);color:var(--muted)}.visual-tuner-hz{text-align:center;font-size:var(--text-2xs);color:var(--muted)}.visual-tuner-error{text-align:center;font-size:var(--text-2xs);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))}:root{--metronome-dot-glow: .5rem;--metronome-dot-glow-opacity: 40%;--metronome-dot-glow-downbeat: .75rem;--metronome-dot-glow-opacity-downbeat: 45%}[data-theme=stage]{--metronome-dot-glow: .9rem;--metronome-dot-glow-opacity: 70%;--metronome-dot-glow-downbeat: 1.3rem;--metronome-dot-glow-opacity-downbeat: 85%}@keyframes metronome-flash{0%{transform:scale(1.35);opacity:1;box-shadow:0 0 0 var(--metronome-dot-glow) color-mix(in srgb,var(--accent) var(--metronome-dot-glow-opacity),transparent)}to{transform:scale(1);opacity:.55;box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes metronome-flash-downbeat{0%{transform:scale(1.55);opacity:1;box-shadow:0 0 0 var(--metronome-dot-glow-downbeat) color-mix(in srgb,var(--accent) var(--metronome-dot-glow-opacity-downbeat),transparent)}to{transform:scale(1);opacity:.55;box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}:root{--metronome-flash-blur: 4rem;--metronome-flash-spread: .5rem;--metronome-flash-opacity: 65%;--metronome-flash-blur-downbeat: 6rem;--metronome-flash-spread-downbeat: .8rem;--metronome-flash-opacity-downbeat: 80%}[data-theme=stage]{--metronome-flash-blur: 7rem;--metronome-flash-spread: 1rem;--metronome-flash-opacity: 85%;--metronome-flash-blur-downbeat: 10rem;--metronome-flash-spread-downbeat: 1.4rem;--metronome-flash-opacity-downbeat: 95%}.concert-metronome-flash{position:fixed;inset:0;z-index:9000;pointer-events:none;animation-name:concert-edge-flash;animation-duration:.32s;animation-timing-function:ease-out;animation-fill-mode:forwards}.concert-metronome-flash.is-downbeat{animation-name:concert-edge-flash-downbeat;animation-duration:.4s}@keyframes concert-edge-flash{0%{box-shadow:inset 0 0 var(--metronome-flash-blur) var(--metronome-flash-spread) color-mix(in srgb,var(--accent) var(--metronome-flash-opacity),transparent)}to{box-shadow:inset 0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes concert-edge-flash-downbeat{0%{box-shadow:inset 0 0 var(--metronome-flash-blur-downbeat) var(--metronome-flash-spread-downbeat) color-mix(in srgb,var(--accent) var(--metronome-flash-opacity-downbeat),transparent)}to{box-shadow:inset 0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.concert-metronome-flash{animation:none;display:none}}.instrument-toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg)}.instrument-toggle-btn{padding:var(--space-2xs) var(--space-md);font-size:var(--text-xs);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:var(--space-xs)}}.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:var(--space-lg) var(--space-lg) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.chord-diagram-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.chord-diagram-name{font-weight:700;font-size:var(--text-base);color:var(--chord);font-family:var(--font-mono)}.chord-diagram-close{display:flex;align-items:center;padding:var(--space-3xs);border-radius:var(--radius-xs);color:var(--muted);transition:background .12s,color .12s}.chord-diagram-close:hover{background:var(--bg);color:var(--text)}.chord-diagram-unavailable{font-size:var(--text-xs);color:var(--muted);padding:var(--space-2xs) 0}.piano-diagram-controls{display:flex;flex-direction:column;gap:var(--space-sm)}.piano-diagram-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);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:var(--space-2xs);flex-wrap:wrap}.piano-inversion-btn{padding:var(--space-2xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--muted);font-size:var(--text-2xs);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:var(--text-2xs);color:var(--muted)}.chord-diagram-voicing-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.voicing-editor{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}.voicing-editor-string{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs)}.voicing-editor-label{font-size:var(--text-2xs);color:var(--muted)}.voicing-editor-string button{width:1.5rem;height:1.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);line-height:1}.voicing-editor-value{font-size:var(--text-xs);font-weight:600;min-width:1.2rem;text-align:center}.song-history-empty{font-size:var(--text-sm);color:var(--muted);padding:var(--space-sm) 0}.song-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2xs);max-height:420px;overflow-y:auto}.song-history-item{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left}.song-history-item--active{border-color:var(--accent)}.song-history-item-main{display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}.song-history-item-changed{font-size:var(--text-xs);color:var(--muted)}.song-history-item-time{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap}.song-history-detail{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.song-history-fields{border-collapse:collapse;font-size:var(--text-xs)}.song-history-fields th{text-align:left;padding:var(--space-2xs) var(--space-sm) var(--space-2xs) 0;color:var(--muted);font-weight:600}.song-history-fields td{padding:var(--space-2xs) var(--space-sm)}.song-history-before{color:#b23b3b;text-decoration:line-through}.song-history-after{color:#2f8a4c}.song-history-diff{margin:0;padding:var(--space-sm);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:1.5;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word}.song-history-diff-line--add{background:color-mix(in srgb,#2f8a4c 16%,transparent);display:block}.song-history-diff-line--del{background:color-mix(in srgb,#b23b3b 16%,transparent);display:block}.song-history-diff-line--same{color:var(--muted);display:block}.chord-display{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xl) var(--space-2xl);font-family:var(--font-mono);font-size:var(--text-base);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:var(--space-xs)}.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:var(--text-sm);line-height:1.2;min-width:1ch}.chord-name-btn{color:var(--chord);font-weight:700;font-size:var(--text-sm);font-family:inherit;line-height:1.2;padding:0;border-radius:var(--radius-xs);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:var(--space-2xs)}.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-view-body .chord-line.chord-line--pinned{flex-wrap:nowrap;white-space:pre;overflow-x:auto;max-width:100%}.song-view-body .chord-line.chord-line--pinned .chord-segment{white-space:pre;flex:none}.song-view-body .chord-line.chord-line--pinned .lyric-text{overflow-wrap:normal;word-break:normal}.song-title-directive{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2xs);font-family:inherit}.song-subtitle-directive{color:var(--muted);margin-bottom:var(--space-sm);font-family:inherit}.section-label{display:inline-block;background:var(--chord-bg);color:var(--accent);font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-xs);padding:var(--space-3xs) var(--space-sm);margin:var(--space-lg) 0 var(--space-2xs);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:var(--space-2xs)}.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-view .chord-line.chord-line--pinned{flex-wrap:nowrap;white-space:pre;overflow-x:auto;max-width:100%}.song-view .chord-line.chord-line--pinned .chord-segment{white-space:pre;flex:none}.song-view .chord-line.chord-line--pinned .lyric-text{overflow-wrap:normal;word-break:normal}}.song-notes-stage{position:relative;isolation:isolate}.song-hand-notes-overlay{position:absolute;inset: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;inset:0;z-index:1;width:100%;height:100%}.notes-toolbar-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:2.35rem;padding:var(--space-xs) var(--space-lg);font-size:var(--text-xs);font-weight:600;border:1px solid var(--border);border-radius:var(--radius-sm);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:var(--text-xs);font-weight:600;border-radius:var(--radius-pill);padding:var(--space-3xs) var(--space-sm)}.notes-save-status--saving{color:var(--muted)}.notes-save-status--saved{color:#27ae60}.notes-save-status--error{color:var(--danger)}.song-text-notes-overlay{position:absolute;inset:0;z-index:11;pointer-events:none}.song-text-notes-overlay--active{pointer-events:all;cursor:crosshair}.song-text-bubble{position:absolute;transform:translate(-50%);max-width:220px;min-width:80px;border:1.5px solid var(--bubble-color, var(--accent));border-radius:var(--radius);background:color-mix(in srgb,var(--bubble-color, var(--accent)) 10%,var(--surface));color:var(--bubble-color, var(--accent));font-size:var(--text-xs);line-height:1.5;pointer-events:none}.song-text-bubble--mine{pointer-events:none}.song-text-notes-overlay--active .song-text-bubble--mine{pointer-events:all;cursor:grab}.song-text-notes-overlay--active .song-text-bubble--mine.song-text-bubble--editing{cursor:default}.song-text-bubble--editing{box-shadow:0 2px 12px color-mix(in srgb,var(--bubble-color, var(--accent)) 35%,transparent)}.song-text-bubble--dragging{cursor:grabbing!important;opacity:.85;box-shadow:0 6px 20px color-mix(in srgb,var(--bubble-color, var(--accent)) 40%,transparent);z-index:2;-webkit-user-select:none;user-select:none}.song-text-bubble-content{padding:var(--space-xs) var(--space-sm);white-space:pre-wrap;word-break:break-word;cursor:text}.song-text-bubble-input{display:block;width:100%;min-width:130px;min-height:3.2rem;padding:var(--space-xs) var(--space-sm);border:none;background:transparent;color:var(--bubble-color, var(--accent));font-size:var(--text-xs);font-family:inherit;line-height:1.5;resize:both;outline:none}.song-text-bubble-input::placeholder{color:var(--bubble-color, var(--accent));opacity:.5}.song-text-bubble-delete{position:absolute;top:-7px;right:-7px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--bubble-color, var(--accent));background:var(--surface);color:var(--bubble-color, var(--accent));opacity:.7;transition:opacity .12s}.song-text-bubble-delete:hover{opacity:1}.notes-author-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.notes-author-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:2.2rem;padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);font-weight:600;border:1px solid var(--border);border-radius:var(--radius-pill);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}.notes-author-chip-group{display:inline-flex;align-items:center;position:relative}.notes-author-chip-delete{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;margin-left:var(--space-2xs);padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.notes-author-chip-delete:hover{background:var(--danger, #e74c3c);color:#fff}.chord-section{margin:var(--space-sm) 0 var(--space-xl)}.tab-block{margin:var(--space-lg) 0;display:block;width:fit-content;max-width:100%}.tab-content{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.55;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:var(--space-md) var(--space-xl);margin:0;overflow-x:auto;white-space:pre;color:var(--text);display:block}.tab-playback-controls{display:flex;align-items:stretch;border:1px solid #d8d2f0;border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);overflow:hidden}.tab-play-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-lg);font-size:var(--text-xs);font-weight:600;background:var(--chord-bg);color:var(--accent);border:none;flex:1;transition:background .15s,color .15s;cursor:pointer}.tab-play-btn:hover{background:var(--accent);color:#fff}.tab-play-btn--playing{background:#fde8e8;color:var(--danger)}.tab-play-btn--playing:hover{background:var(--danger);color:#fff}.tab-loop-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2xs) var(--space-md);background:var(--chord-bg);color:var(--muted);border:none;border-left:1px solid #d8d2f0;transition:background .15s,color .15s;cursor:pointer}.tab-loop-btn:hover{background:var(--bg);color:var(--text)}.tab-loop-btn--active{color:var(--accent)}.tab-loop-btn--active:hover{background:var(--accent);color:#fff}.tab-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2xs) var(--space-md);background:var(--chord-bg);color:var(--muted);border:none;border-left:1px solid #d8d2f0;transition:background .15s,color .15s;cursor:pointer}.tab-edit-btn:hover{background:var(--bg);color:var(--text)}.tab-editor-guides{margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.tab-guide-hint{margin:0}.recordings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xl)}.recordings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.recordings-header h2{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-base)}.recordings-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.no-recordings{color:var(--muted);font-size:var(--text-sm)}.audio-player{display:flex;align-items:center;gap:var(--space-lg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-lg) var(--space-xl);flex-wrap:wrap}.audio-player--saved{flex-direction:column;align-items:stretch;gap:var(--space-md)}.recording-rename-row{display:flex;align-items:center;gap:var(--space-sm);width:100%}.recording-rename-input{flex:1;min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:var(--space-sm) var(--space-md)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius);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:var(--danger-strong)}.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:var(--text-sm);font-weight:600}.player-name-input{width:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:600;padding:var(--space-2xs) var(--space-sm)}.player-date{font-size:var(--text-2xs);color:var(--muted)}.waveform-progress{flex:1;min-width:0;height:58px;display:flex;align-items:center;cursor:pointer;border-radius:var(--radius);padding:var(--space-2xs) var(--space-xs);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-width:1.5px;min-height:12%;align-self:center;border-radius:var(--radius-pill);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:var(--space-xl);margin-bottom:var(--space-lg)}.recorder-title{font-size:var(--text-sm);font-weight:700;margin-bottom:var(--space-lg)}.song-recorder{display:flex;flex-direction:column;gap:var(--space-lg);width:100%}.recorder-controls{display:flex;flex-direction:column;gap:var(--space-lg)}.recorder-status{color:var(--muted);font-size:var(--text-sm)}.recorder-indicator{color:var(--danger);font-weight:700;font-size:var(--text-sm);animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:.4}}.recorder-preview{width:100%}.recorder-name-input{width:100%;padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none}.recorder-name-input:focus{border-color:var(--accent)}.recorder-save-form{display:flex;flex-direction:column;gap:var(--space-sm)}.recorder-save-actions{display:flex;gap:var(--space-sm)}.recorder-error{color:var(--danger);font-size:var(--text-sm)}.recorder-recording-row{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.recorder-elapsed{font-variant-numeric:tabular-nums;font-size:var(--text-base);font-weight:600;color:var(--text);min-width:2.5rem}.recorder-preview-section{display:flex;flex-direction:column;gap:var(--space-md)}.recorder-preview-playback{display:flex;align-items:center;gap:var(--space-lg);width:100%}.recorder-preview-bar{height:58px}.recorder-waveform-wrap{position:relative;flex:1;min-width:0}.recording-comment-marker{position:absolute;top:-3px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--accent);border:1px solid var(--surface)}.recording-comments-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--muted)}.recording-comments-toggle--open{color:var(--accent)}.recording-comments{margin-top:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.recording-comments-empty{font-size:var(--text-xs);color:var(--muted);margin:0}.recording-comments-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.recording-comment{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);background:var(--surface)}.recording-comment-head{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-xs)}.recording-comment-timestamp{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.recording-comment-delete{margin-left:auto;color:var(--muted)}.recording-comment-body{margin:var(--space-2xs) 0 0;font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word}.recording-comment-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.recording-comment-form textarea{flex:1 1 100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-sm);background:var(--bg);font:inherit;resize:vertical}.recording-comment-pin{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--muted)}.song-toolbar-tool-card--recorder,.song-toolbar-tool-card--attachments{grid-column:1 / -1}.song-attachments{display:flex;flex-direction:column;gap:var(--space-lg);width:100%}.attachments-controls{display:flex;flex-direction:column;gap:var(--space-xs)}.attachments-file-input{display:none}.attachments-hint{color:var(--muted);font-size:var(--text-xs);margin:0}.attachments-section{padding:var(--space-xl)}.attachments-list{gap:var(--space-sm)}.attachment-row{display:flex;align-items:center;gap:var(--space-lg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg)}.attachment-row-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 75%,var(--accent));color:var(--accent);flex-shrink:0}.attachment-rename-row{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.attachment-row-name{color:var(--text);text-decoration:none}.attachment-row-name:hover{text-decoration:underline}.song-toolbar-tool-card--chord-finder{min-width:0}.chord-finder{display:flex;flex-direction:column;gap:var(--space-md)}.chord-finder-instrument-toggle{display:flex;gap:var(--space-2xs)}.chord-finder-diagram{display:flex;gap:var(--space-sm);align-items:flex-start;overflow-x:auto}.chord-finder-fret-nav{display:flex;flex-direction:column;gap:var(--space-2xs);padding-top:var(--space-sm)}.chord-finder-nav-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-xs);padding:var(--space-2xs) var(--space-xs);font-size:var(--text-2xs);color:var(--text);cursor:pointer;line-height:1}.chord-finder-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.chord-finder-nav-btn:disabled{opacity:.35;cursor:not-allowed}.chord-finder-result-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;min-height:2rem}.chord-finder-matches{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.chord-finder-match{font-size:var(--text-xs);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-xs);padding:var(--space-3xs) var(--space-xs)}.chord-finder-match--primary{font-size:var(--text-base);font-weight:700;color:var(--accent);border-color:var(--accent);padding:var(--space-3xs) var(--space-sm)}.chord-finder-no-match,.chord-finder-hint{font-size:var(--text-xs);color:var(--muted)}.chord-finder-reset{margin-left:auto;background:none;border:1px solid var(--border);border-radius:var(--radius-xs);padding:var(--space-3xs) var(--space-sm);font-size:var(--text-xs);color:var(--muted);cursor:pointer}.chord-finder-reset:hover{border-color:var(--accent);color:var(--accent)}.rec-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex-shrink:0;font-size:var(--text-sm);line-height:1;cursor:default}.rec-avatar--emoji{background:var(--chord-bg)}.rec-avatar--initials{background:var(--accent);color:#fff;font-size:var(--text-2xs);font-weight:700}.rec-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);font-size:var(--text-sm);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}.rec-btn--upload{background:var(--bg);color:var(--muted);border-color:var(--border)}.rec-btn--upload:hover{color:var(--text);border-color:var(--accent)}.recorder-idle-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.song-picker-add-btn,.concert-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.25rem;padding:var(--space-sm) var(--space-xl);border:1px solid transparent;border-radius:var(--radius);background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 80%,#003d99));color:var(--accent-contrast);font-size:var(--text-sm);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}.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)}.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)}.song-picker-add-btn:disabled,.concert-nav-btn:disabled{cursor:not-allowed;opacity:.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.25rem;padding:var(--space-sm) var(--space-xl);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:600;line-height:1;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .08s}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.6}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn--secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--bg)}.btn--primary{border-color:transparent;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 80%,#003d99));color:var(--accent-contrast);box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 40%,transparent)}.btn--primary:hover:not(:disabled){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--danger{background:var(--danger);color:var(--danger-contrast);border-color:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong)}.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)}.btn--accent:hover:not(:disabled){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))}.btn--concert{border-color:transparent;background:linear-gradient(120deg,#0f766e,#0b8f84);color:#f4fffd}.btn--concert:hover:not(:disabled){background:linear-gradient(120deg,#0a645e,#0a7a71)}.btn--concert:disabled{cursor:not-allowed;opacity:.6}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,transparent)}.btn--sm{min-height:1.9rem;padding:var(--space-xs) var(--space-lg);font-size:var(--text-xs)}.btn--block{width:100%}.btn--icon{padding:var(--space-sm);min-height:0}.add-song-page h1{margin-bottom:var(--space-xl)}.add-song-form{display:flex;flex-direction:column;gap:var(--space-xl);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2xl)}.form-row{display:flex;gap:var(--space-xl);flex-wrap:wrap}.form-field{display:flex;flex-direction:column;gap:var(--space-2xs);flex:1;min-width:160px}.form-field--full{flex-basis:100%}.form-field label{font-size:var(--text-sm);font-weight:var(--fw-label);color:var(--muted)}.form-field input,.form-field select,.form-field textarea{padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);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:var(--text-sm);min-height:280px}.form-metadata-section{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.form-metadata-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-md) var(--space-lg);background:color-mix(in srgb,var(--border) 30%,transparent);border:none;cursor:pointer;color:var(--text);font-size:var(--text-sm);font-weight:600;text-align:left;gap:var(--space-sm)}.form-metadata-toggle:hover{background:color-mix(in srgb,var(--border) 50%,transparent)}.form-metadata-toggle-label{display:flex;align-items:baseline;gap:var(--space-md);min-width:0}.form-metadata-summary{font-weight:400;font-size:var(--text-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-metadata-chevron{flex-shrink:0;transition:transform .2s ease;color:var(--muted)}.form-metadata-chevron--open{transform:rotate(180deg)}.form-metadata-body{display:flex;flex-direction:column;gap:var(--space-xl);padding:var(--space-xl) var(--space-lg)}.paste-import-warnings{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--border) 36%,transparent);color:var(--muted);font-size:var(--text-sm);padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:var(--space-2xs)}.chordpro-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xs)}.chordpro-label-actions{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end}.preview-toggle{font-size:var(--text-xs);color:var(--accent);font-weight:600;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-xs);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:var(--space-2xs) var(--space-md);font-size:var(--text-xs)}.chordpro-preview{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-lg);min-height:280px;background:var(--bg);overflow-x:hidden}.chordpro-preview .chord-display{overflow-x:hidden}.chordpro-preview .chord-line{flex-wrap:wrap;white-space:normal;align-items:flex-start;row-gap:var(--space-2xs)}.chordpro-preview .chord-segment{white-space:pre-wrap;min-width:0;max-width:100%}.chordpro-preview .lyric-text{overflow-wrap:anywhere;word-break:break-word}.chordpro-preview .chord-name-btn{white-space:normal}.chordpro-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:var(--space-sm) var(--space-lg);border-bottom:none}.toolbar-group{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.toolbar-label{font-size:var(--text-2xs);font-weight:var(--fw-label);letter-spacing:.01em;color:var(--muted);margin-right:var(--space-3xs)}.toolbar-divider{width:1px;height:20px;background:var(--border);margin:0 var(--space-2xs)}.toolbar-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-xs);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:var(--border);color:var(--accent)}.toolbar-btn--section:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.toolbar-btn--chord{background:var(--chord-bg);border-color:var(--border);color:var(--accent);padding:var(--space-2xs) var(--space-lg)}.toolbar-btn--chord:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.section-intro{border-color:#f5d8b2;background:#fff5e8;color:#aa5b14}.section-intro:hover{background:#aa5b14;border-color:#aa5b14;color:#fff}.section-verse{border-color:#bfe8e0;background:#eaf7f5;color:#1a7a6a}.section-verse:hover{background:#1a7a6a;border-color:#1a7a6a;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-solo{border-color:#fcd34d;background:#fffbeb;color:#92400e}.section-solo:hover{background:#92400e;border-color:#92400e;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}[data-theme=dark] .section-intro{border-color:#6b4a22;background:#3a2a16;color:#e8b978}[data-theme=dark] .section-verse{border-color:#275c50;background:#14302c;color:#6adfc7}[data-theme=dark] .section-chorus{border-color:#2f5940;background:#1c2f22;color:#7ad9a0}[data-theme=dark] .section-bridge{border-color:#6b4626;background:#3a2818;color:#f0a868}[data-theme=dark] .section-prechorus{border-color:#2a4a6b;background:#16283a;color:#7ec2f0}[data-theme=dark] .section-interlude{border-color:#453a6b;background:#241f3a;color:#b7a8f5}[data-theme=dark] .section-solo{border-color:#63501f;background:#362c14;color:#f0cf6a}[data-theme=dark] .section-outro{border-color:#6b3245;background:#3a1e26;color:#f28aa8}[data-theme=dark] .section-tab{border-color:#2a5566;background:#16303a;color:#7ed4f0}[data-theme=stage] .section-intro{border-color:#7a5218;background:#1f1508;color:#ffb84d}[data-theme=stage] .section-verse{border-color:#1f6b5c;background:#071f1a;color:#4de8cc}[data-theme=stage] .section-chorus{border-color:#1f6b3e;background:#08210f;color:#6dffa0}[data-theme=stage] .section-bridge{border-color:#7a4318;background:#1f1006;color:#ff9d52}[data-theme=stage] .section-prechorus{border-color:#1d5580;background:#071522;color:#6ec8ff}[data-theme=stage] .section-interlude{border-color:#4a3980;background:#150f22;color:#c9b3ff}[data-theme=stage] .section-solo{border-color:#806b1a;background:#221c07;color:#ffe066}[data-theme=stage] .section-outro{border-color:#802f47;background:#220b12;color:#ff8fb0}[data-theme=stage] .section-tab{border-color:#1d5f70;background:#06181c;color:#7fe0ff}.toolbar-chord-bracket{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;line-height:1}.chordpro-toolbar+textarea,.chordpro-toolbar+.chordpro-preview{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.add-song-form textarea{display:block;width:100%;box-sizing:border-box}.toolbar-btn--chord{display:inline-flex;align-items:center;gap:var(--space-2xs)}.toolbar-chord-btn-wrap{position:relative;display:inline-flex}.toolbar-chord-popover-anchor{position:absolute;top:calc(100% + 6px);left:0;z-index:20}.chord-finder-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-xl)}.chord-finder-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(96vw,420px);max-height:90vh;overflow-y:auto}.chord-finder-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border)}.chord-finder-modal-title{font-size:var(--text-base);font-weight:700;color:var(--text)}.chord-finder-modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.chord-finder-modal-close:hover{color:var(--text);border-color:var(--border);background:var(--bg)}.chord-finder-modal-body{padding:var(--space-xl)}.chord-finder-match--selectable{cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s}.chord-finder-match--selectable:hover{background:var(--accent);border-color:var(--accent);color:#fff}.tab-seq-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-xl)}.tab-seq-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(98vw,780px);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.tab-seq-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border);flex-shrink:0}.tab-seq-title{font-size:var(--text-base);font-weight:700;color:var(--text)}.tab-seq-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.tab-seq-close:hover{color:var(--text);border-color:var(--border);background:var(--bg)}.tab-seq-body{padding:var(--space-lg) var(--space-xl);overflow-x:auto;flex:1 1 auto}.tab-seq-bar-row{display:flex;align-items:center;gap:2px;margin-bottom:3px}.tab-seq-bar-cell{flex:1;min-width:28px;text-align:center;font-size:var(--text-2xs);font-weight:600;color:var(--muted);-webkit-user-select:none;user-select:none}.tab-seq-bar-cell--beat{color:var(--text)}.tab-seq-string-row{display:flex;align-items:center;gap:2px;margin-bottom:3px}.tab-seq-string-label{width:20px;flex-shrink:0;text-align:center;font-size:var(--text-xs);font-weight:700;font-family:var(--font-mono);color:var(--muted);-webkit-user-select:none;user-select:none}.tab-seq-cell{flex:1;min-width:28px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:var(--text-2xs);font-family:var(--font-mono);font-weight:700;cursor:pointer;transition:background .1s,border-color .1s,color .1s,transform .1s;-webkit-user-select:none;user-select:none}.tab-seq-cell:hover{background:var(--chord-bg);border-color:var(--accent);color:var(--accent)}.tab-seq-cell--barstart{border-color:color-mix(in srgb,var(--border) 60%,var(--muted))}.tab-seq-cell--active{background:var(--chord-bg);border-color:var(--accent);color:var(--accent)}.tab-seq-cell--active:hover{background:var(--accent);color:var(--accent-contrast)}.tab-seq-cell--selected{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);transform:scale(1.12);z-index:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.tab-seq-cell--selected:hover{background:var(--accent)}.tab-seq-cell-dash{opacity:.25}.tab-seq-cell--muted{background:color-mix(in srgb,var(--muted) 12%,transparent);border-color:var(--muted);color:var(--muted);font-style:italic}.tab-seq-cell--muted:hover{background:var(--muted);color:#fff;border-color:var(--muted)}.tab-seq-bar-controls{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) 0 var(--space-2xs);margin-left:20px}.tab-seq-bar-ctrl-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-2xs);font-weight:600;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tab-seq-bar-ctrl-btn:hover:not(:disabled){background:var(--bg);color:var(--text);border-color:var(--muted)}.tab-seq-bar-ctrl-btn:disabled{opacity:.35;cursor:default}.tab-seq-bar-count{font-size:var(--text-xs);color:var(--muted);min-width:3.5rem;text-align:center}.tab-seq-hint{padding:0 var(--space-xl) var(--space-sm);font-size:var(--text-2xs);color:var(--muted);flex-shrink:0}.tab-seq-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);border-top:1px solid var(--border);flex-shrink:0;gap:var(--space-sm)}.tab-seq-footer-actions{display:flex;gap:var(--space-sm)}.tab-seq-btn{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tab-seq-btn--ghost{background:transparent;color:var(--muted)}.tab-seq-btn--ghost:hover{background:var(--bg);color:var(--text);border-color:var(--muted)}.tab-seq-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.tab-seq-btn--primary:hover{background:var(--accent-h);border-color:var(--accent-h)}.tab-seq-btn--primary:disabled{opacity:.4;cursor:default}.tab-seq-btn--primary:disabled:hover{background:var(--accent);border-color:var(--accent)}.tab-seq-playback{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.tab-seq-btn--play{background:var(--chord-bg);color:var(--accent);border:none;border-radius:0;gap:var(--space-2xs)}.tab-seq-btn--play:hover:not(:disabled){background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.tab-seq-btn--play:disabled{opacity:.4;cursor:default}.tab-seq-btn--playing{background:#fde8e8;color:var(--danger)}.tab-seq-btn--playing:hover{background:var(--danger);color:#fff}.tab-seq-btn--loop{background:var(--chord-bg);color:var(--muted);border:none;border-left:1px solid var(--border);border-radius:0}.tab-seq-btn--loop:hover{background:var(--bg);color:var(--text)}.tab-seq-btn--loop-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--chord-bg));border-left-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.tab-seq-btn--loop-active:hover{background:var(--accent);color:var(--accent-contrast)}.tab-seq-btn--metronome{background:var(--chord-bg);color:var(--muted);border:none;border-left:1px solid var(--border);border-radius:0}.tab-seq-btn--metronome:hover{background:var(--bg);color:var(--text)}.tab-seq-btn--metronome-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--chord-bg));border-left-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.tab-seq-btn--metronome-active:hover{background:var(--accent);color:var(--accent-contrast)}.tab-seq-footer-sep{width:1px;align-self:stretch;background:var(--border);margin:0 var(--space-3xs)}.tab-seq-metronome-panel{border-top:1px solid var(--border);padding:var(--space-md) var(--space-xl);background:var(--chord-bg)}.form-hint{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-2xs)}.form-hint code{background:var(--chord-bg);color:var(--accent);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-xs);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:var(--radius-sm);padding:var(--space-lg) var(--space-xl);color:var(--danger);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-2xs)}.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;inset: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-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:var(--radius-xl);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:var(--space-xl)}.login-brand.login-brand--hero{justify-content:flex-start;gap:var(--space-md);font-size:var(--text-md)}.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:var(--text-base)}.login-feature-list{margin:var(--space-xs) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.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:var(--radius-lg);padding:var(--space-lg) var(--space-lg)}.login-feature-icon{color:var(--accent, #6366f1);margin-bottom:var(--space-2xs);display:block}.login-feature-item h2{margin:0;font-size:var(--text-sm);font-weight:700;color:var(--text)}.login-feature-item p{margin:var(--space-2xs) 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.4}.login-hero-source{margin-top:var(--space-xs);align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--muted);font-size:var(--text-xs);font-weight:600;text-decoration:none}.login-hero-source:hover{color:var(--text)}.login-card{background:color-mix(in srgb,var(--surface) 96%,#ffffff);border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:clamp(1.4rem,2.3vw,2.4rem);width:100%;display:flex;flex-direction:column;gap:var(--space-xl)}.login-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--accent);font-size:var(--text-lg);font-weight:700}.login-title{margin:0;font-size:var(--text-lg);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:var(--text-base);line-height:1.45}.login-demo-note{margin:0;padding:var(--space-sm) var(--space-lg);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--muted);font-size:var(--text-xs);line-height:1.4}.login-form{display:flex;flex-direction:column;gap:var(--space-xl)}.login-error{font-size:var(--text-sm);color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid var(--danger);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg)}.login-submit{width:100%;justify-content:center;margin-top:var(--space-2xs)}.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}.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;inset:0;z-index:1200;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.image-lightbox{position:relative;width:min(92vw,920px);max-height:90vh;border-radius:var(--radius-lg);padding:var(--space-md);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:var(--space-sm)}.image-lightbox-close{position:absolute;top:.45rem;right:.45rem;width:2rem;height:2rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,white 25%,transparent);background:#00000073;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.image-lightbox-close:hover{background:#0000009e}.image-lightbox-image{width:100%;height:auto;max-height:calc(90vh - 5rem);object-fit:contain;border-radius:var(--radius);display:block}.image-lightbox-caption{margin:0;font-size:var(--text-sm);color:var(--text);text-align:center}@media(max-width:980px){.login-shell{grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:var(--space-lg)}}@media(max-width:640px){.login-screen{padding:var(--space-sm)}.login-shell{grid-template-columns:1fr;gap:var(--space-lg);align-items:start}.login-hero,.login-card{width:100%}.login-hero{border-radius:var(--radius-xl);padding:var(--space-lg)}.login-feature-list{grid-template-columns:1fr;gap:var(--space-sm)}.login-feature-item{padding:var(--space-sm) var(--space-md)}.login-card{border-radius:var(--radius-xl);padding:var(--space-xl);gap:var(--space-lg)}.login-title{font-size:var(--text-md)}.login-description{font-size:var(--text-sm)}}.not-found{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);padding:var(--space-4xl);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:var(--space-xl);font-family:inherit;font-size:var(--text-base)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl) var(--space-sm);position:sticky;top:0;background:var(--surface);z-index:1}.sidebar-header-actions{display:flex;align-items:center;gap:var(--space-2xs)}.sidebar-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);background:var(--surface)}.sidebar-mode-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--text-sm);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:var(--text-base);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:var(--space-2xs);border-radius:var(--radius-xs);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:var(--space-2xs) 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:var(--space-2xs)}.sidebar-nested-group{display:flex;flex-direction:column;padding-left:var(--space-xl)}.sidebar-folder{display:flex;flex-direction:column}.sidebar-folder-header{display:flex;align-items:center;padding:var(--space-2xs) var(--space-sm) var(--space-2xs) var(--space-lg);gap:var(--space-2xs)}.sidebar-folder-label{display:flex;align-items:center;gap:var(--space-2xs);color:var(--text)}.sidebar-folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-folder-actions{display:none;gap:var(--space-3xs)}.sidebar-folder-header:hover .sidebar-folder-actions{display:flex}.sidebar-folder-actions button{display:flex;align-items:center;padding:var(--space-2xs) var(--space-2xs);border-radius:var(--radius-xs);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:var(--radius-sm)}.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:var(--space-3xs) var(--space-sm) var(--space-3xs) var(--space-lg);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:var(--radius-pill);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 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:var(--space-xs);flex:1;padding:var(--space-2xs) var(--space-xs);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-base);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:var(--text-2xs);color:var(--muted);background:var(--bg);border-radius:var(--radius-pill);padding:0 var(--space-xs);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:var(--space-2xs);border-radius:var(--radius-xs);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:var(--space-xs) var(--space-lg)}.sidebar-inline-input.indented{padding-left:var(--space-2xl)}.sidebar-inline-input input{width:100%;padding:var(--space-2xs) var(--space-sm);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg);font-size:var(--text-base);outline:none}.sidebar-new-list-btn{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-lg);font-size:var(--text-base);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:var(--space-xs);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 var(--space-lg);margin-top:var(--space-2xs);margin-bottom:var(--space-2xs)}.sidebar-section-toggle{display:inline-flex;align-items:center;gap:var(--space-2xs);flex:1;min-width:0;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-base);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:var(--text-base);font-weight:var(--fw-label);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:var(--space-xs);min-height:2rem;padding:var(--space-xs) var(--space-2xs) var(--space-xs) 0}.sidebar-setlists{display:flex;flex-direction:column;gap:var(--space-2xs)}.sidebar-setlists.drop-active{background:color-mix(in srgb,var(--chord-bg) 68%,transparent);border-radius:var(--radius);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 32%,transparent);padding:var(--space-2xs)}.sidebar-setlist-item{display:flex;align-items:center;padding:var(--space-3xs) var(--space-sm) var(--space-3xs) var(--space-lg);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:var(--space-xs);flex:1;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-base);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:var(--space-2xs);display:inline-flex;align-items:center;font-size:var(--text-2xs);font-weight:var(--fw-label);letter-spacing:.01em;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);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:var(--text-2xs);color:var(--muted);margin-left:auto;padding:0 var(--space-xs);background:var(--bg);border-radius:var(--radius-pill);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:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-lg);font-size:var(--text-base);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:var(--space-sm);border-top:none;padding-bottom:var(--space-sm)}.sidebar-bands-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);margin-bottom:var(--space-sm);position:relative}.sidebar-storage{position:relative;padding:0 var(--space-lg) var(--space-xs)}.sidebar-storage .topbar-storage{width:100%;min-width:0;max-width:none;padding:var(--space-2xs) var(--space-xs)}.sidebar-storage-btn{display:flex;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left}.sidebar-storage-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.sidebar-storage .topbar-storage-meter{min-width:0;width:100%;height:1.08rem}.sidebar-storage-popup{position:absolute;left:.75rem;right:.75rem;top:calc(100% - .4rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000024;z-index:500;padding:var(--space-lg) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar-storage-popup-title{font-size:var(--text-2xs);font-weight:var(--fw-label);letter-spacing:.01em;color:var(--muted);margin-bottom:var(--space-3xs)}.sidebar-storage-popup-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.sidebar-storage-popup-row--total{margin-top:var(--space-3xs)}.sidebar-storage-popup-label{font-size:var(--text-xs);color:var(--text)}.sidebar-storage-popup-row--total .sidebar-storage-popup-label{font-weight:600}.sidebar-storage-popup-value{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.sidebar-storage-popup-row--total .sidebar-storage-popup-value{color:var(--text);font-weight:600}.sidebar-storage-popup-bar{height:.32rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 45%,var(--bg));overflow:hidden}.sidebar-storage-popup-bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f9d55,var(--accent));transition:width .2s ease}.sidebar-storage-popup-bar-fill--images{background:linear-gradient(90deg,#4a90d9,#6c5ce7)}.sidebar-storage-popup-bar-fill--attachments{background:linear-gradient(90deg,#d97706,#e0a12e)}.sidebar-storage-popup-divider{height:1px;background:var(--border);margin:var(--space-3xs) 0}.sidebar-mode-switcher{position:relative;display:flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-lg);margin-bottom:var(--space-sm);min-width:0}.sidebar-band-switcher{position:relative;flex:1;min-width:0}.sidebar-band-switcher-btn{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-base);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 1 auto;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:var(--radius-sm);box-shadow:0 4px 16px #00000026;padding:var(--space-2xs);display:flex;flex-direction:column;gap:1px}.sidebar-band-switcher-option{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-base);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:var(--radius-sm);overflow:hidden;margin:0 var(--space-2xs)}.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:var(--space-sm);flex:1;min-width:0;padding:var(--space-sm) var(--space-sm);font-size:var(--text-base);color:inherit;text-align:left;border-radius:var(--radius-sm);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)}.resource-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2xl);width:100%}.page-section-header.resource-header .resource-title{font-size:var(--page-title-size);line-height:1.2}.page-section-header.resource-header .setlist-song-count,.page-section-header.resource-header .song-list-summary{font-size:var(--page-copy-size)}.setlist-song-count{font-size:var(--text-sm);color:var(--muted);margin:0}.resource-header-actions{display:flex;align-items:center;gap:var(--space-md)}.profile-logout-btn{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.profile-logout-btn:hover{color:var(--accent-h, var(--accent))}.setlist-info{padding:var(--space-lg) var(--space-2xl);background:var(--chord-bg);border-bottom:1px solid var(--border);font-size:var(--text-sm);color:var(--muted)}.setlist-hint{margin:0;font-style:italic}.setlist-songs{flex:1;overflow-y:auto;list-style:none;padding:var(--space-2xs) 0 0;margin:0}.setlist-songs.is-reordering .setlist-song-card{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.setlist-drop-slot{list-style:none;margin:0;height:0;border-radius:var(--radius-pill);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:var(--space-lg)}.setlist-song-item{position:relative;padding:var(--space-sm) 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:var(--radius-pill);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:var(--radius-pill);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:var(--space-lg);padding:var(--space-sm);border-radius:var(--radius-sm);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-reorder-btns{flex-shrink:0;display:flex;flex-direction:column;gap:0}.setlist-reorder-btn{flex-shrink:0;width:2rem;height:1.625rem;padding:var(--space-3xs);color:var(--song-item-accent);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s,opacity .12s;touch-action:manipulation}.setlist-reorder-btn:hover:not(:disabled){background:var(--song-item-chip-bg)}.setlist-reorder-btn:disabled{opacity:.25;cursor:default}.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:var(--text-2xs);font-weight:700;color:var(--song-item-chip-text)}.setlist-song-link{flex:1;display:flex;flex-direction:column;gap:var(--space-2xs);color:inherit;text-decoration:none;min-width:0}.setlist-song-info{display:flex;flex-direction:column;gap:var(--space-3xs);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:var(--text-sm);color:var(--song-item-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setlist-song-note-preview{font-size:var(--text-xs);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:var(--space-sm);font-size:var(--text-2xs);flex-wrap:wrap}.setlist-song-meta .lang-badge,.setlist-song-meta .tag,.setlist-song-meta .song-meta-badge{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:var(--space-2xs);color:var(--danger);opacity:1;transition:color .12s,background .12s;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center}.setlist-note-btn{flex-shrink:0;width:2rem;height:2rem;padding:var(--space-2xs);color:var(--song-item-accent);opacity:1;transition:color .12s,background .12s;border-radius:var(--radius-xs);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:var(--space-xs) 0 0 var(--space-4xl);padding:var(--space-sm);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 6%,var(--surface));display:flex;flex-direction:column;gap:var(--space-sm)}.setlist-song-note-label{font-size:var(--text-2xs);font-weight:var(--fw-label);letter-spacing:.01em;color:var(--song-item-muted)}.setlist-song-note-input{width:100%;resize:vertical;min-height:3.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-sm);background:var(--surface);color:var(--text)}.setlist-song-note-actions{display:flex;gap:var(--space-xs);justify-content:flex-end}.song-picker-overlay{position:fixed;inset:0;z-index:120;background:#00000073;display:grid;place-items:center;padding:var(--space-xl)}.song-picker-panel{width:min(680px,100%);max-height:min(80vh,780px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.song-picker-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-xl) var(--space-xl) var(--space-lg);border-bottom:1px solid var(--border)}.song-picker-header h2{margin:0;font-size:var(--text-base);color:var(--text)}.song-picker-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);color:var(--muted)}.song-picker-close:hover{background:var(--bg);color:var(--text)}.song-picker-search-wrap{position:relative;padding:var(--space-lg) var(--space-xl);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:var(--space-md) var(--space-lg) var(--space-md) var(--space-3xl);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.song-picker-results{overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-lg) var(--space-xl)}.song-picker-section-title{margin:var(--space-sm) 0 var(--space-2xs);font-size:var(--text-base);font-weight:var(--fw-label);letter-spacing:.01em;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:var(--space-lg);border:1px solid var(--song-item-border);border-radius:var(--radius);padding:var(--space-md) var(--space-lg);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:var(--text-xs);color:var(--song-item-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-picker-add-btn{flex-shrink:0;font-size:var(--text-xs);padding:var(--space-sm) var(--space-lg)}.song-picker-empty{margin:var(--space-xl) 0;text-align:center;color:var(--muted)}.song-picker-source-note{margin:0;padding:var(--space-sm) var(--space-xl) var(--space-2xs);font-size:var(--text-xs);color:var(--muted);font-style:italic}.song-picker-footer{border-top:1px solid var(--border);padding:var(--space-lg) var(--space-xl);display:flex;justify-content:flex-end}.concert-mode{display:flex;flex-direction:column;gap:var(--space-xl);height:100%}.concert-topbar-toggle-row{display:flex;justify-content:flex-start;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md)}.concert-topbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-xl);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-lg)}.concert-back-link{margin:0}.concert-topbar-main{display:flex;flex-direction:column;gap:var(--space-2xs)}.concert-topbar-main h1{font-size:var(--text-md);line-height:1.2}.concert-topbar-main p{font-size:var(--text-xs);color:var(--muted);display:flex;gap:var(--space-md);flex-wrap:wrap}.concert-shortcut-hint{color:color-mix(in srgb,var(--accent) 65%,var(--muted))}.floating-tools{position:fixed;bottom:1.25rem;right:1.25rem;z-index:150;display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none}.concert-mode .floating-tools{bottom:5rem}.floating-tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg) var(--space-lg);box-shadow:0 4px 24px #0000002e;pointer-events:all;min-width:220px;max-width:360px}.floating-tool-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--text-2xs);font-weight:600;letter-spacing:.02em;color:var(--muted)}.floating-tool-card-header>span{display:flex;align-items:center;gap:var(--space-2xs)}.floating-tool-close{background:none;border:none;cursor:pointer;color:var(--muted);padding:2px 4px;border-radius:var(--radius-sm);display:flex;align-items:center;line-height:1;flex-shrink:0}.floating-tool-close:hover{color:var(--text);background:var(--border)}.concert-chords-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs)}.concert-chords-stack .concert-notation-toggle{margin-left:var(--space-sm)}.concert-chip-btn{display:inline-flex;align-items:center;gap:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-lg);font-size:var(--text-xs);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-session-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-pill);overflow:hidden}.concert-session-toggle button{padding:var(--space-xs) var(--space-lg);font-size:var(--text-xs);color:var(--muted);background:var(--surface)}.concert-session-toggle button.is-active{background:var(--accent);color:#fff}.concert-session-error{margin:var(--space-2xs) 0 0;font-size:var(--text-xs);color:var(--danger);text-align:center}.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:var(--space-xs) 0}.concert-teleprompter{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs);border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 75%,var(--bg))}.concert-teleprompter-speed{font-size:var(--text-2xs);color:var(--muted);padding:0 var(--space-xs);min-width:3.7rem;text-align:right}.concert-content-wrap{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 290px;grid-template-rows:minmax(0,1fr);gap:var(--space-lg)}.concert-content-wrap--full{grid-template-columns:minmax(0,1fr)}.concert-song-surface{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0}.concert-song-header{padding:var(--space-xl) var(--space-xl) var(--space-lg);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-sm)}.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:var(--text-base)}.concert-song-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.concert-song-note{margin:var(--space-xs) 0 0;padding:var(--space-xs) var(--space-md);background:color-mix(in srgb,var(--accent, #6366f1) 10%,transparent);border-left:3px solid var(--accent, #6366f1);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-sm);color:var(--text);white-space:pre-wrap}.concert-song-surface .chord-display{border:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-2xl);font-size:var(--text-md);line-height:1.55;flex:1;overflow-x:hidden}.concert-song-surface .chord-line{flex-wrap:wrap;white-space:normal;align-items:flex-start;row-gap:var(--space-2xs)}.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-song-surface .chord-line.chord-line--pinned{flex-wrap:nowrap;white-space:pre;overflow-x:auto;max-width:100%}.concert-song-surface .chord-line.chord-line--pinned .chord-segment{white-space:pre;flex:none}.concert-song-surface .chord-line.chord-line--pinned .lyric-text{overflow-wrap:normal;word-break:normal}.concert-page-viewport{flex:1;min-height:0;overflow:hidden;position:relative}.concert-page-content{width:100%;transition:transform .28s ease;will-change:transform}.concert-page-indicator{display:flex;justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg) var(--space-md);border-top:1px solid var(--border)}.concert-page-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--border);border:none;padding:0;cursor:pointer;transition:background .15s,transform .15s;flex-shrink:0}.concert-page-dot:hover{background:var(--muted)}.concert-page-dot--active{background:var(--accent);transform:scale(1.3)}.concert-song-navigator{border:1px solid var(--border);border-radius:var(--radius-lg);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:var(--space-xs);padding:var(--space-lg) var(--space-lg) var(--space-md);border-bottom:1px solid var(--border)}.concert-song-navigator-header h3{font-size:var(--text-sm);color:var(--muted)}.concert-song-nav-close{width:1.8rem;height:1.8rem;border-radius:var(--radius-sm);color:var(--muted)}.concert-song-nav-close:hover{background:var(--bg);color:var(--text)}.concert-song-navigator ol{list-style:none;margin:0;padding:var(--space-sm);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-xs)}.concert-song-jump{width:100%;display:grid;grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:var(--space-md);text-align:left;border-radius:var(--radius);border:1px solid transparent;padding:var(--space-xs) var(--space-sm);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:var(--radius-pill);background:var(--chord-bg);color:var(--accent);font-size:var(--text-2xs);font-weight:700}.concert-song-jump-main{min-width:0;display:flex;flex-direction:column}.concert-song-jump-main strong{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.concert-song-jump-main small{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .concert-song-jump.active,[data-theme=stage] .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,[data-theme=stage] .concert-song-jump.played{opacity:.8}[data-theme=dark] .concert-song-jump-main small,[data-theme=stage] .concert-song-jump-main small{color:color-mix(in srgb,var(--text) 72%,var(--muted))}.concert-nav-footer{position:fixed;left:1rem;right:1rem;bottom:.95rem;z-index:12;margin:0;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);pointer-events:none}.concert-nav-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-pill);padding:var(--space-sm) var(--space-xl);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:var(--radius-pill);background:var(--danger);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:var(--radius-xl);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-xl);z-index:13;padding:var(--space-lg);display:grid;gap:var(--space-md)}.concert-pedal-mapper-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md)}.concert-pedal-mapper-head h3{margin:0;font-size:var(--text-base)}.concert-pedal-mapper-head p{margin:0;color:var(--muted);font-size:var(--text-xs)}.concert-pedal-mapper-actions,.concert-pedal-mode-toggle{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.concert-pedal-map-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);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:var(--space-sm) var(--space-lg);color:var(--muted);font-size:var(--text-2xs)}.concert-nav-btn:disabled{opacity:.55;cursor:not-allowed}.song-list-heading,.resource-title{font-size:var(--text-md);font-weight:700;color:var(--accent);padding-bottom:var(--space-sm);border-bottom:2px solid var(--chord-bg)}.page-section-header.resource-header .resource-title.resource-title--setlist{border-bottom-width:1px}.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:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);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:var(--space-lg) var(--space-lg);font-size:var(--text-sm);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:var(--space-lg)}.topbar-nav{gap:var(--space-sm)}.topbar-storage{min-width:170px;max-width:220px}.topbar-storage-text span{font-size:var(--text-2xs)}.topbar-nav>a,.topbar-invites-trigger,.topbar-coffee-trigger{padding:var(--space-2xs) var(--space-sm)}.topbar-invites-popover,.topbar-coffee-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;overflow:hidden}.app-shell:has(.main-content--concert){height:100vh;height:100dvh;overflow:hidden}.app-body:has(.main-content--concert){height:calc(100vh - var(--topbar-height) - var(--safe-top));height:calc(100dvh - var(--topbar-height) - var(--safe-top))}.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 var(--space-lg);top:calc(var(--topbar-height) + var(--safe-top))}.song-list-sticky>.resource-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))}.song-list-controls>*{flex:1 1 220px}.resource-header{flex-direction:column;align-items:stretch}.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:var(--shadow-xl);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:var(--space-sm)}.topbar-link-label{display:none}.topbar>.topbar-storage{display:none}.topbar-brand{gap:0;flex:1 1 auto;min-width:0;overflow:hidden}.topbar-brand .brand-name{font-size:clamp(1.45rem,7.4vw,2.2rem)!important;transform:none;letter-spacing:.02em;white-space:nowrap;max-width:100%}.sidebar-storage .topbar-storage{display:flex;padding:var(--space-2xs) var(--space-xs)}.sidebar-storage .topbar-storage-meter{height:.95rem}.sidebar-storage .topbar-storage-meter-label{font-size:var(--text-2xs);padding:0 var(--space-xs)}.topbar-nav{gap:var(--space-xs)}.topbar-nav>a,.topbar-invites-trigger,.topbar-coffee-trigger,.topbar-icon-btn,.topbar-sidebar-toggle{width:2.6rem;height:2.6rem;padding:var(--space-2xs)}.topbar-invites-trigger,.topbar-coffee-trigger{justify-content:center;gap:0;position:relative}.topbar-invites-trigger .topbar-link-notice{position:absolute;top:.18rem;right:.18rem}.topbar-invites-popover,.topbar-coffee-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 .btn{width:100%;justify-content:center}.topbar-profile-link{min-width:2.6rem;min-height:2.6rem;justify-content:center;padding:var(--space-2xs)}.song-view-header{flex-direction:column}.song-view-toolbar{align-items:flex-start}.page-section-header{align-items:stretch}.resource-header-actions{width:100%}.resource-header-actions .btn{flex:1}.concert-mode{gap:var(--space-lg)}.concert-topbar-toggle-row{margin-top:var(--space-sm)}.concert-topbar{padding:var(--space-lg)}.concert-topbar-main p{gap:var(--space-2xs);flex-direction:column}.concert-tool-row{align-items:stretch}.concert-teleprompter{width:100%;border-radius:var(--radius-lg);justify-content:space-between;flex-wrap:wrap}.concert-teleprompter-speed{width:100%;text-align:left}.visual-metronome{width:100%;border-radius:var(--radius-lg);justify-content:space-between;flex-wrap:wrap}.visual-metronome-beats{width:100%}.visual-tuner{width:100%;border-radius:var(--radius-lg);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:var(--space-xl) var(--space-lg);font-size:var(--text-base)}.concert-nav-footer{bottom:.7rem;padding:0 var(--space-lg);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:none}.concert-nav-btn{flex:0 0 auto;min-width:110px;padding:var(--space-md) var(--space-lg)}.song-list-controls{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--space-sm)}.song-list-sticky{margin-bottom:var(--space-md);gap:var(--space-lg)}.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:var(--text-base);line-height:1.2;padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.search-input{padding-left:var(--space-3xl);padding-right:var(--space-md)}.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{align-items:flex-start}.song-actions{width:100%}.song-action-btn{width:2.4rem;height:2.4rem}.song-toolbar-row--actions .song-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.song-toolbar-row--actions .add-to-list-wrap,.song-toolbar-row--actions .song-action-btn--labeled{width:auto}.song-toolbar-row--actions .add-to-list-wrap>.rec-btn{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:var(--space-lg);font-size:var(--text-sm)}.song-view-title{font-size:var(--text-lg)}}@media(max-width:640px){.song-toolbar-row--actions .add-to-list-wrap>.rec-btn,.song-toolbar-row--actions .song-action-btn--labeled{width:2.4rem;height:2.4rem;min-height:2.4rem;padding:0;justify-content:center;gap:0}.song-toolbar-row--actions .song-action-label{display:none}}@media(pointer:coarse){.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:var(--radius-xl) var(--radius-xl) 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:var(--radius-pill);background:var(--border);margin:.65rem auto .25rem;flex-shrink:0}.song-picker-header{padding-top:var(--space-md)}.song-picker-item,.list-dropdown-item{padding:var(--space-lg) var(--space-lg)}}@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:#fff;color:#000}.song-view{gap:var(--space-lg)}.song-view-title{font-size:var(--text-lg)}.song-view-artist{color:#555}.chord-display{padding:0}.chord-token--chord{color:#1a56db}.setlist-print-toolbar{display:none!important}.setlist-print-sheet{max-width:none!important;margin:0!important;box-shadow:none!important;border:none!important;padding:0!important}.setlist-print-chart{break-inside:avoid}.setlist-print-chart+.setlist-print-chart{break-before:page}}.setlist-print{display:flex;flex-direction:column;gap:var(--space-xl);padding:var(--space-xl)}.setlist-print-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-lg)}.setlist-print-toolbar-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.setlist-print-layout-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.setlist-print-layout-toggle button{padding:var(--space-xs) var(--space-lg);font-size:var(--text-sm);background:var(--surface);color:var(--muted)}.setlist-print-layout-toggle button.is-active{background:var(--accent);color:#fff}.setlist-print-sheet{max-width:800px;width:100%;margin:0 auto;background:#fff;color:#111;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3xl)}.setlist-print-header{text-align:center;margin-bottom:var(--space-3xl)}.setlist-print-band{text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-sm);color:#555;margin:0}.setlist-print-header h1{font-size:var(--text-2xl);margin:var(--space-2xs) 0}.setlist-print-count{color:#555;margin:0}.setlist-print-list{list-style:decimal;padding-left:var(--space-3xl);display:flex;flex-direction:column;gap:var(--space-md);font-size:clamp(1rem,2.4vw,1.5rem);line-height:1.35}.setlist-print-song-title{font-weight:700}.setlist-print-song-artist{font-weight:400;color:#444}.setlist-print-song-meta{color:#666;font-size:.8em}.setlist-print-song-note{display:block;font-size:.72em;color:#666;font-style:italic}.setlist-print-charts{display:flex;flex-direction:column;gap:var(--space-4xl)}.setlist-print-chart-header{margin-bottom:var(--space-lg);border-bottom:1px solid #ddd;padding-bottom:var(--space-sm)}.setlist-print-chart-header h2{font-size:var(--text-xl);margin:0}.setlist-print-chart-number{color:#888}.setlist-print-chart-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);color:#555;font-size:var(--text-sm);margin:var(--space-2xs) 0 0}.setlist-print-chart-note{font-style:italic;color:#555;margin:var(--space-2xs) 0 0}.setlist-print-chart .chord-display{font-size:var(--text-base)}@page{margin:1.5cm}.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:var(--radius);box-shadow:var(--shadow-xl);padding:var(--space-lg);z-index:250;display:flex;flex-direction:column;gap:var(--space-md)}.share-menu-title{font-weight:700;color:var(--text)}.share-menu-field{display:flex;flex-direction:column;gap:var(--space-xs)}.share-menu-field span{font-size:var(--text-xs);color:var(--muted)}.share-menu-input-wrap{display:flex;align-items:center;gap:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-sm);background:var(--bg);color:var(--muted)}.share-menu-input-wrap input{border:none;width:100%;min-width:0;background:transparent}.share-menu-input-action{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.9rem;height:1.9rem;border-radius:var(--radius-sm);color:var(--muted);transition:background .15s,color .15s}.share-menu-input-action:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.share-menu-field select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-sm);background:var(--bg)}.share-menu-field input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);background:var(--bg)}.share-menu-search-status{margin:0;font-size:var(--text-xs);color:var(--muted)}.share-menu-recipient-results{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs);max-height:180px;overflow:auto}.share-menu-recipient-btn{width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:var(--space-sm) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-2xs)}.share-menu-recipient-btn:hover{border-color:var(--accent)}.share-menu-recipient-btn span{color:var(--muted);font-size:var(--text-2xs)}.share-menu-actions{display:grid;grid-template-columns:1fr;gap:var(--space-sm)}.share-menu-extra{border-top:1px solid var(--border);padding-top:var(--space-sm)}.share-menu-subtitle{font-size:var(--text-xs);font-weight:var(--fw-label);color:var(--muted);letter-spacing:.01em;margin-bottom:var(--space-sm)}.share-menu-band-list{display:flex;flex-direction:column;gap:var(--space-sm)}.share-menu-band-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.share-menu-band-copy{display:flex;flex-direction:column;gap:var(--space-3xs)}.share-menu-band-copy span{color:var(--muted);font-size:var(--text-xs)}.profile-settings-page{display:flex;flex-direction:column;gap:var(--space-xl);max-width:980px;margin:0 auto}.profile-settings-page--account{gap:var(--space-xl)}.profile-settings-status{color:var(--muted)}.profile-account-hero{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-xl);padding:var(--space-xl) var(--space-xl);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface)}.profile-account-hero-main{display:flex;align-items:center;gap:var(--space-xl)}.profile-account-hero-copy{display:flex;flex-direction:column;gap:var(--space-xs)}.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-subscription-actions,.profile-danger-actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}.profile-account-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-xl)}.profile-settings-header{display:flex;align-items:center;gap:var(--space-lg)}.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:var(--space-xl)}.profile-settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.profile-settings-card--wide{grid-column:1 / -1}.profile-settings-card h2{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--section-title-size)}.profile-settings-avatar-header{display:flex;align-items:center;gap:var(--space-lg)}.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:var(--space-lg)}.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:var(--space-lg)}.profile-stat-card,.profile-limit-card{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);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:var(--text-base)}.profile-stat-card small,.profile-limit-card span,.profile-stat-label{color:var(--muted);font-size:var(--text-xs)}.profile-band-subscriptions{display:flex;flex-direction:column;gap:var(--space-lg)}.profile-band-subscriptions-list{display:flex;flex-direction:column;gap:var(--space-md)}.profile-band-subscription-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg) var(--space-lg);border-radius:var(--radius-lg);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:var(--space-2xs)}.profile-band-subscription-copy span{color:var(--muted);font-size:var(--text-xs)}.profile-avatar-section,.profile-bands-stack,.profile-band-shell,.profile-band-management-panel{display:flex;flex-direction:column;gap:var(--space-lg)}.profile-danger-card{border-color:color-mix(in srgb,var(--danger-strong) 22%,var(--border))}.profile-account-danger-zone{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg);border:1px solid color-mix(in srgb,var(--danger-strong) 26%,var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--danger-strong) 7%,var(--surface))}.profile-account-danger-zone-header{display:flex;flex-direction:column;gap:var(--space-2xs)}.profile-account-danger-zone-header h3{margin:0;display:inline-flex;align-items:center;gap:var(--space-xs);color:color-mix(in srgb,var(--danger-strong) 74%,var(--text))}.profile-account-delete-confirm{display:flex;flex-direction:column;gap:var(--space-lg)}.profile-account-delete-check{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--text-sm)}.profile-account-delete-check input{margin-top:var(--space-3xs)}.bands-create-card,.bands-panel,.profile-settings-card,.profile-invite-card{box-shadow:var(--shadow)}.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:var(--space-lg)}.profile-settings-form--inline{flex-direction:row;align-items:flex-end;gap:var(--space-md)}.profile-settings-form--inline .form-field{flex:1;min-width:0}.profile-settings-save-btn{flex-shrink:0;align-self:flex-end;padding:var(--space-xs) var(--space-md);font-size:var(--text-2xs);line-height:1.2;white-space:nowrap}.profile-settings-logout{margin-top:var(--space-2xs)}.profile-settings-link{color:var(--muted);font-size:var(--text-sm)}.profile-invites-page{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-xl)}.admin-tabs{display:flex;gap:var(--space-xs)}.admin-tabs a{padding:var(--space-xs) var(--space-lg);border-radius:var(--radius);font-size:var(--text-sm);color:var(--muted);border:1px solid var(--border);background:var(--surface)}.admin-tabs a.active{color:var(--accent);border-color:var(--accent)}.admin-user-quota{display:flex;align-items:center;gap:var(--space-xs)}.admin-user-quota input{width:5.5rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--fg);font:inherit}.profile-invite-card--stacked{flex-direction:column;align-items:stretch}.admin-user-delete-confirm{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.admin-user-delete-confirm-actions{display:flex;gap:var(--space-sm)}.profile-invites-header{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-xl);background: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:var(--space-md)}.profile-invites-section h2{font-size:var(--section-title-size)}.profile-invites-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-md)}.profile-invite-card{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg)}.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:var(--space-2xs)}.profile-invite-main span{color:var(--muted);font-size:var(--meta-copy-size)}.profile-invite-actions{display:flex;gap:var(--space-sm)}.profile-invite-confirmation{flex-shrink:0;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:color-mix(in srgb,#1f9d55 16%,var(--surface));border:1px solid color-mix(in srgb,#1f9d55 30%,var(--border));color:#17693a;font-size:var(--text-xs);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:var(--space-xl)}.bands-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl)}.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-create-card,.bands-panel{background:var(--surface);border:1px solid var(--bands-border);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xl)}.bands-create-grid,.bands-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}.bands-create-actions{display:flex;justify-content:flex-end}.bands-delete-confirm{display:flex;flex-direction:column;gap:var(--space-lg)}.bands-delete-confirm-actions{display:flex;gap:var(--space-md)}.bands-list,.bands-members-list,.bands-library-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-lg)}.bands-member-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-sm);border-radius:var(--radius)}.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:var(--space-3xs);min-width:0;flex:1}.bands-member-name{font-size:var(--text-sm);font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bands-page-toolbar{display:flex;align-items:center;margin-bottom:var(--space-md)}.bands-settings-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-xl);align-items:start}.bands-settings-left{display:flex;flex-direction:column;gap:var(--space-xl)}.bands-section-heading{margin:0 0 var(--space-xl);font-size:var(--section-title-size);font-weight:600;border-bottom:1px solid var(--bands-border);padding-bottom:var(--space-sm)}.bands-section-heading--spaced{margin-top:var(--space-sm)}.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:var(--radius-sm);padding:var(--space-sm) var(--space-md);background:var(--bg);color:var(--text);font:inherit;line-height:1.45}.bands-color-controls{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-sm)}.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:var(--text-xs);color:var(--muted)}.bands-appearance-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-xl);margin-top:var(--space-xl)}.bands-logo-section{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 50%,var(--bg))}.bands-logo-upload-area{display:flex;flex-direction:column;gap:var(--space-md)}.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:var(--radius);padding:var(--space-lg);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:var(--space-md)}.bands-logo-card{display:flex;flex-direction:column;gap:var(--space-xs);background:var(--surface);border-radius:var(--radius);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:var(--space-sm)}.bands-logo-card-footer{display:flex;align-items:center;gap:var(--space-2xs);padding:0 var(--space-xs) var(--space-xs)}.bands-logo-card-title{flex:1;min-width:0;font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.bands-logo-use-btn{padding:var(--space-2xs) var(--space-sm);min-height:unset;font-size:var(--text-2xs)}.media-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-top:var(--space-md);flex-wrap:wrap}.bands-logo-color-group{display:flex;flex-direction:column;gap:var(--space-sm);border:1px solid var(--bands-border);border-radius:var(--radius);padding:var(--space-lg);background:color-mix(in srgb,var(--bands-soft-bg) 58%,var(--surface))}.bands-logo-section-title{margin:0 0 var(--space-sm);font-size:var(--text-sm);font-weight:var(--fw-label);color:var(--text)}.bands-logo-info{display:flex;flex-direction:column;gap:var(--space-xs)}.bands-logo-info-item{margin:0;font-size:var(--text-2xs);color:var(--muted);line-height:1.4}.bands-logo-remove-btn{width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.bands-logo-remove-btn:hover{background:color-mix(in srgb,var(--danger) 16%,var(--surface));border-color:color-mix(in srgb,var(--danger) 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:var(--space-lg);flex-wrap:wrap;padding:var(--space-lg) var(--space-lg);border:1px solid var(--bands-border);border-radius:var(--radius);background:color-mix(in srgb,var(--bands-soft-bg) 72%,var(--surface))}.bands-subscription-copy{display:flex;flex-direction:column;gap:var(--space-2xs)}.bands-subscription-copy span{font-size:var(--text-xs);color:var(--muted)}.bands-member-email{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bands-card,.bands-member-card,.bands-library-card{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xl);background:var(--surface);border:1px solid var(--bands-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-xl) var(--space-xl)}.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:var(--space-lg);color:inherit;min-width:0}.bands-card-icon{width:2.3rem;height:2.3rem;border-radius:var(--radius-pill);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:var(--space-3xs)}.bands-member-card{justify-content:flex-start}.bands-card-copy span,.bands-member-copy span,.bands-library-copy span{color:var(--muted);font-size:var(--text-sm)}.bands-member-role-select{font-size:var(--text-xs);color:var(--bands-hue);background:transparent;border:1px solid color-mix(in srgb,var(--bands-hue) 28%,var(--border));border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);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:var(--space-sm);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:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);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:var(--text-xs);text-transform:capitalize}.bands-tabs{display:flex;gap:var(--space-sm)}.bands-tab{display:inline-flex;align-items:center;gap:var(--space-sm);border:1px solid var(--bands-border);border-radius:var(--radius-pill);background:var(--surface);color:var(--bands-hue);padding:var(--space-sm) var(--space-lg)}.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:var(--space-sm);width:100%}.setlist-tab{appearance:none;border:1px solid color-mix(in srgb,var(--bands-hue) 30%,var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 92%,var(--bands-hue-soft));color:var(--bands-hue);min-height:42px;width:100%;padding:var(--space-md) var(--space-lg);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);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:var(--space-sm) var(--space-md);font-size:var(--text-base)}}.bands-page .btn--primary{border-color:var(--bands-hue);background:var(--bands-hue);color:var(--bands-hue-contrast)}.bands-page .btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--bands-hue) 84%,#000);border-color:color-mix(in srgb,var(--bands-hue) 84%,#000)}.bands-page .btn--secondary{background:var(--surface);color:var(--bands-hue);border-color:color-mix(in srgb,var(--bands-hue) 28%,var(--border))}.bands-page .btn--secondary:hover:not(:disabled){background:var(--bands-hue-soft)}.bands-page .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 .btn--accent:hover:not(:disabled){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 .btn--concert{border-color:#0f766e}.bands-page .btn--danger,.bands-page .btn--danger:hover:not(:disabled){color:#fff}.bands-invite-form{display:flex;flex-direction:column;gap:var(--space-lg)}@media(max-width:900px){.profile-account-hero,.profile-account-grid,.profile-settings-grid{grid-template-columns:minmax(0,1fr)}.profile-account-hero{padding:var(--space-xl)}.profile-account-hero,.profile-account-hero-main{flex-direction:column;align-items:stretch}.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}.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:var(--space-lg);padding:0;margin:var(--space-lg) 0 0}.trash-list-item{display:flex;justify-content:space-between;gap:var(--space-lg);align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl)}.trash-item-copy{min-width:0}.trash-item-title{margin:0;color:var(--text);font-weight:600}.trash-item-meta{margin:var(--space-2xs) 0 0;color:var(--muted);font-size:var(--text-sm)}.trash-item-actions{display:flex;align-items:center;gap:var(--space-sm);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:var(--space-3xl)}.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:var(--space-3xl) var(--space-xl) var(--space-4xl);font-family:inherit;color:var(--text, #1a1a1a)}.public-setlist-page--wide{max-width:980px}.public-setlist-header{margin-bottom:var(--space-3xl)}.public-setlist-header .public-page-nav-brand{margin-bottom:var(--space-md)}.public-share-branding-row{display:flex;align-items:center;justify-content:center;gap:var(--space-xl);flex-wrap:wrap;margin-bottom:var(--space-lg)}.public-share-branding-row--header{margin-bottom:var(--space-xl)}.public-share-branding-row--footer{justify-content:center;margin-bottom:var(--space-sm)}.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:var(--space-xs);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:var(--text-sm);color:var(--muted, #888);margin:0 0 var(--space-xs);text-transform:uppercase;letter-spacing:.04em}.public-setlist-band-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.public-setlist-band-row .public-setlist-band{margin:0}.public-setlist-band-logo{width:1.65rem;height:1.65rem;border-radius:var(--radius-pill);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 var(--space-xs);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:var(--space-3xl) 0}.public-setlist-songs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.public-setlist-song{display:flex;align-items:center;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl);border:1px solid var(--border, #e5e5e5);border-radius:var(--radius);background:var(--surface, #fff)}.public-setlist-song-position{font-size:var(--text-xs);color:var(--muted, #888);min-width:1.4rem;text-align:right;flex-shrink:0}.public-setlist-song-info{display:flex;flex-direction:column;gap:var(--space-3xs);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:var(--space-4xl);padding-top:var(--space-2xl);border-top:1px solid var(--border, #e5e5e5);text-align:center}.public-setlist-footer-link{font-size:var(--text-sm);color:var(--muted, #888);text-decoration:none}.public-setlist-footer-link:hover{color:var(--text, #1a1a1a)}.public-setlist-signoff{margin:var(--space-sm) 0 0;font-size:var(--text-xs);color:var(--muted, #888)}.public-presskit-page{max-width:980px;position:relative}.public-presskit-page:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.035}[data-theme=dark] .public-presskit-page:before{opacity:.06}.technical-rider-public-page{max-width:980px}.public-presskit-header,.public-share-header{display:grid;gap:var(--space-xs)}.public-presskit-logo-wrap{display:flex;justify-content:center;margin-bottom:var(--space-xs)}.public-presskit-band-name,.public-share-band-name{margin:0 0 var(--space-3xs);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,.public-setlist-header,.public-share-header{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-xl);background:var(--surface);box-shadow:var(--shadow)}@media(max-width:640px){.profile-settings-page,.profile-invites-page,.bands-page{gap:var(--space-lg)}.profile-account-hero,.profile-invites-header,.bands-header:not(.bands-header--detail){padding:var(--space-xl) var(--space-xl);border-radius:var(--radius-lg)}.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{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{font-size:var(--text-base)}.profile-invites-header p,.profile-invites-status,.bands-header p,.bands-status,.setlist-subtitle,.public-setlist-status{font-size:var(--text-sm);line-height:1.45}.public-setlist-page{padding:var(--space-2xl) var(--space-xl) var(--space-4xl)}.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:var(--text-xs)}.public-setlist-song-title{font-size:var(--text-sm)}.song-list-sticky,.list-sticky-header{--song-list-sticky-top-cover: 1rem;gap:var(--space-md);padding-bottom:var(--space-md);margin-bottom:var(--space-md)}.song-list-sticky>.resource-header,.list-sticky-header>.resource-header{padding:var(--space-xl) var(--space-xl);border-radius:var(--radius-lg);gap:var(--space-lg)}.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:var(--space-xs)}.song-list-sticky .setlist-song-count,.list-sticky-header .setlist-song-count{font-size:var(--text-xs)}.song-list-sticky .resource-header-actions,.list-sticky-header .resource-header-actions{gap:var(--space-sm)}.song-list-sticky .btn,.list-sticky-header .btn{font-size:var(--text-xs);min-height:2.35rem}.song-list-sticky .song-list-controls,.list-sticky-header .song-list-controls{gap:var(--space-sm)}.public-share-branding-row{gap:var(--space-lg)}.public-setlist-band-logo--large{width:26.4rem;height:26.4rem;max-width:100%}}.public-presskit-download-wrap{margin-top:var(--space-md)}.public-presskit-body{display:flex;flex-direction:column;gap:var(--space-3xl)}.public-presskit-section-heading{margin:0 0 var(--space-xl);font-size:var(--text-base);font-weight:600;letter-spacing:.01em;color:var(--muted, #888)}.public-presskit-text-grid,.public-presskit-images-grid{display:grid;gap:var(--space-lg)}.public-presskit-text-item{border:1px solid color-mix(in srgb,var(--bands-hue) 24%,var(--border));border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-xl)}.public-presskit-text-block{display:flex;flex-direction:column;gap:var(--space-md)}.public-presskit-text-standalone-title{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--text)}.public-presskit-text-title{margin:0;font-size:var(--text-base);font-weight:600;color:var(--text)}.public-presskit-rich-text{color:var(--text);display:grid;gap:var(--space-sm);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:var(--space-xl)}.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:var(--radius-lg);background:var(--surface);padding:var(--space-md);display:flex;flex-direction:column}.public-presskit-image{width:100%;border-radius:var(--radius);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:var(--space-sm);margin-top:var(--space-sm);padding:0 var(--space-2xs)}.public-presskit-image-title{margin:0;color:var(--muted);font-size:var(--text-xs);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-presskit-dl-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-md);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--bands-hue) 40%,var(--border));background:var(--surface);color:var(--bands-hue, var(--accent));font-size:var(--text-xs);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}.public-presskit-videos-grid{display:grid;gap:var(--space-lg)}.public-presskit-video-card{gap:var(--space-sm)}.public-presskit-video-shell{width:100%;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--bands-hue) 30%,var(--border));overflow:hidden;background:color-mix(in srgb,var(--bands-hue) 6%,var(--surface))}.public-presskit-video-shell--widescreen{aspect-ratio:4 / 3}.public-presskit-video-shell--spotify{aspect-ratio:auto}.public-presskit-video-embed{display:block;width:100%;border:0}.public-presskit-video-shell--widescreen .public-presskit-video-embed{height:100%}.public-presskit-video-footer{display:flex;align-items:center;gap:var(--space-sm)}.public-presskit-video-url{flex:1;min-width:0;padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none}.public-presskit-video-url:focus{border-color:var(--accent)}.public-presskit-presave-list{list-style:none;margin:var(--space-lg) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.public-presskit-presave-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.public-presskit-presave-link{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--space-sm);color:var(--text);text-decoration:none}.public-presskit-presave-link:hover{text-decoration:underline}.public-presskit-presave-platform{flex-shrink:0;font-weight:600;font-size:var(--text-xs);color:var(--accent)}.public-presskit-presave-url{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--muted)}@media(min-width:900px){.public-presskit-images-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-presskit-images-grid>.public-presskit-image-card:last-child:nth-child(odd){grid-column:1 / -1}.public-presskit-videos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-presskit-videos-grid>.public-presskit-video-card:last-child:nth-child(odd){grid-column:1 / -1}}.tech-rider-panels{--sticky-header-content-gap: var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xl);scroll-margin-top:var(--space-4xl)}.tech-rider-panel{width:100%;min-width:0;display:flex;flex-direction:column;gap:var(--space-lg)}.stageplot-content-row{display:flex;flex-direction:column;gap:var(--space-xl);width:100%;min-width:0}.stageplot-legend-section{display:flex;gap:var(--space-xl);width:100%;min-width:0;padding:var(--space-lg);border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--surface-alt) 72%,var(--surface) 28%)}.stageplot-legend-section .stageplot-legend-group{flex:1 1 0;min-width:0;margin-top:0}.stageplot-legend-divider{align-self:stretch;width:1px;flex-shrink:0;background:color-mix(in srgb,var(--border) 90%,transparent)}@media(max-width:720px){.stageplot-legend-section{flex-direction:column}.stageplot-legend-divider{width:auto;height:1px}}.stageplot-toolbar{display:flex;flex-direction:column;gap:var(--space-lg);align-items:stretch}.stageplot-palette{display:flex;flex-direction:column;gap:var(--space-lg);min-width:0;width:100%}.stageplot-palette-category{display:flex;flex-direction:column;gap:var(--space-xs);width:100%}.stageplot-palette-category-name{font-size:var(--text-2xs);font-weight:var(--fw-label);color:var(--muted);letter-spacing:.01em;padding:0 var(--space-3xs)}.stageplot-palette-category-items{display:flex;flex-wrap:wrap;gap:var(--space-xs);width:100%}.stageplot-palette-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);font-weight:600;border:1px solid var(--border);border-radius:var(--radius);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-palette-btn--custom{align-self:flex-start;border-style:dashed;color:var(--muted)}.stageplot-palette-btn--custom:hover{color:var(--accent)}.stageplot-instrument-icon{width:30px;height:30px;display:block;object-fit:contain}.stageplot-instrument-icon--palette{width:30px;height:30px}.stageplot-instrument-icon--item{width:calc(clamp(22px,5.6cqw,48px) * var(--item-scale, 1));height:calc(clamp(22px,5.6cqw,48px) * var(--item-scale, 1))}.stageplot-instrument-icon--legend{width:28px;height:28px;flex-shrink:0}.stageplot-stage{container-type:inline-size;position:relative;width:100%;max-width:100%;aspect-ratio:16 / 9;min-width:0;flex:none;margin-inline:0;border-radius:var(--radius-lg);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-grid{position:absolute;inset: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:var(--space-3xs) var(--space-sm);border-radius:var(--radius-pill);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:var(--text-2xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;z-index:6}.stageplot-item{position:absolute;display:inline-flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);width:calc(clamp(28px,7cqw,60px) * var(--item-scale, 1));height:calc(clamp(28px,7cqw,60px) * var(--item-scale, 1));padding:0;border:none;background:none;box-shadow:none;cursor:grab;z-index:10;user-select:none;-webkit-user-select:none;touch-action:none}.stageplot-item>*{pointer-events:none}.stageplot-item-icon-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.stageplot-item .stageplot-rotation-handle,.stageplot-item .stageplot-resize-handle{position:absolute;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid color-mix(in srgb,var(--accent) 65%,#fff 35%);background:color-mix(in srgb,var(--surface) 60%,#fff 40%);color:var(--accent);box-shadow:0 2px 6px #0003;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent}.stageplot-item .stageplot-rotation-handle{left:50%;top:-38px;border-radius:var(--radius-pill);transform:translate(-50%);cursor:grab}.stageplot-item .stageplot-rotation-handle:active{cursor:grabbing}.stageplot-item .stageplot-rotation-handle:before{content:"";position:absolute;left:50%;bottom:-14px;width:1px;height:12px;transform:translate(-50%);background:color-mix(in srgb,var(--accent) 55%,var(--border))}.stageplot-item .stageplot-resize-handle{left:-12px;bottom:-12px;border-radius:var(--radius);cursor:nesw-resize;z-index:2}.stageplot-item-number{position:absolute;min-width:19px;height:19px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:1.5px solid var(--surface);background:var(--muted);color:#fff;font-size:var(--text-2xs);font-weight:800;line-height:1;z-index:1}.stageplot-item-number--br{right:-4px;bottom:-4px}.stageplot-item-number--bl{left:-4px;bottom:-4px}.stageplot-item-number--tr{right:-4px;top:-4px}.stageplot-item-number--tl{left:-4px;top:-4px}.stageplot-item-number--index{border:1.5px dashed color-mix(in srgb,var(--muted) 70%,var(--border));background:var(--surface);color:var(--muted);font-weight:700}.stageplot-item-number--input{border-color:var(--surface);background:var(--accent);color:#fff}.stageplot-item-number--output{border-color:var(--surface);background:var(--danger);color:#fff}.stageplot-item:active{cursor:grabbing}.stageplot-item--selected .stageplot-instrument-icon--item{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:4px;border-radius:var(--radius-pill)}.stageplot-item--public{pointer-events:none;cursor:default}.stageplot-legend-group,.stageplot-reference-group{margin-top:var(--space-lg)}.stageplot-reference-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0;padding:0}.stageplot-reference-row{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);border:1px dashed color-mix(in srgb,var(--border) 85%,transparent);font-size:var(--text-xs);font-weight:600}.stageplot-legend-heading{font-size:var(--text-2xs);font-weight:800;letter-spacing:.01em;color:var(--muted);margin:0 0 var(--space-xs)}.stageplot-legend{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs);margin:0;padding:0;min-width:0}.stageplot-legend-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-sm);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:left;transition:border-color .15s ease,background .15s ease}.stageplot-legend-row-main{display:flex;align-items:center;gap:var(--space-xs);width:100%}.stageplot-legend-meta{font-size:var(--text-2xs);font-weight:500;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stageplot-legend-row--static{cursor:default}.stageplot-legend-row--selected{border-color:color-mix(in srgb,var(--accent) 70%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--surface) 90%)}.stageplot-legend-select{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs);border:1px solid transparent;border-radius:var(--radius-sm);background:none;cursor:pointer;flex-shrink:0;transition:border-color .15s,background .15s}.stageplot-legend-select:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--chord-bg)}.stageplot-legend-input{min-width:0;width:100%;padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);transition:border-color .15s,background .15s}.stageplot-legend-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-legend-input::placeholder{color:var(--muted)}.stageplot-legend-input--label{flex:1 1 auto;width:auto;font-weight:var(--fw-label)}.stageplot-legend-remove{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;flex-shrink:0;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--muted);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.stageplot-legend-remove:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.stageplot-legend-add-details{align-self:flex-start;padding:0;border:none;background:none;font-size:var(--text-2xs);font-weight:600;color:var(--muted);cursor:pointer}.stageplot-legend-add-details:hover{color:var(--accent);text-decoration:underline}.stageplot-legend-number{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:1.5rem;padding:0 3px;border-radius:var(--radius-pill);border:1.5px solid transparent;background:var(--muted);color:#fff;font-size:var(--text-2xs);font-weight:800;flex-shrink:0}input.stageplot-legend-number{width:2.3rem;text-align:center;font-family:inherit;cursor:text;transition:border-color .15s,background .15s}input.stageplot-legend-number::placeholder{color:inherit;opacity:.75}input.stageplot-legend-number:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.stageplot-legend-number--index{border:1.5px dashed color-mix(in srgb,var(--muted) 70%,var(--border));background:transparent;color:var(--muted);font-weight:700}.stageplot-legend-number--input{border-color:transparent;background:var(--accent);color:#fff}.stageplot-legend-number--output{border-color:transparent;background:var(--danger);color:#fff}.stageplot-legend-number--none{border:1.5px solid color-mix(in srgb,var(--muted) 50%,var(--border));background:transparent;color:var(--muted);font-weight:700}.stageplot-channel-switch{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1.5px solid color-mix(in srgb,var(--muted) 50%,var(--border));border-radius:var(--radius-pill);background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent}.stageplot-channel-switch-track{padding:var(--space-3xs) var(--space-sm);font-size:var(--text-2xs);font-weight:700;letter-spacing:.01em;white-space:nowrap;color:var(--muted);transition:color .15s ease}.stageplot-channel-switch--active{background:var(--accent);border-color:var(--accent)}.stageplot-channel-switch--active .stageplot-channel-switch-track{color:var(--accent-contrast)}.stageplot-channel-switch:hover{border-color:var(--accent)}.stageplot-legend-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:var(--fw-label);color:var(--text)}@media(max-width:600px){.stageplot-stage{--stage-max-width: 100%}.stageplot-palette-category,.stageplot-palette{width:100%}.stageplot-item{width:calc(50px * var(--item-scale, 1));height:calc(50px * var(--item-scale, 1))}.stageplot-instrument-icon--item{width:calc(40px * var(--item-scale, 1));height:calc(40px * var(--item-scale, 1))}}.song-toolbar-tool-btn--locked{opacity:.55;cursor:not-allowed}.sidebar-empty-hint{font-size:var(--text-2xs);color:var(--muted);padding:var(--space-2xs) var(--space-lg);margin:0}.footer-version{display:block;margin-top:var(--space-xs);font-size:var(--text-2xs);letter-spacing:.02em;color:color-mix(in srgb,var(--muted) 65%,transparent);text-decoration:none}.footer-version:hover{color:var(--muted)}.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:var(--radius);margin-bottom:var(--space-lg);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:var(--radius-sm);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:var(--radius);min-height:200px;background:var(--surface)}.press-kit-body-columns{--sticky-header-content-gap: var(--space-xs);display:grid;gap:var(--space-xl);margin-top:var(--space-xl)}@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:var(--radius);background:var(--surface);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.press-kit-column-stack{display:flex;flex-direction:column;gap:var(--space-xl)}.press-kit-text-section,.press-kit-images-section{display:flex;flex-direction:column;gap:0}.press-kit-section-header{padding-bottom:var(--space-sm);margin-bottom:var(--space-md);border-bottom:1px solid var(--border)}.press-kit-section-title{margin:0;font-size:var(--text-base);font-weight:700;color:var(--text)}.press-kit-section-hint{margin:var(--space-2xs) 0 0;font-size:var(--text-xs);color:var(--muted)}.press-kit-video-url-input{flex:1;min-width:0;padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.press-kit-video-url-input::placeholder{color:var(--muted)}.press-kit-video-url-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.press-kit-editor .ProseMirror{padding:12px 14px;min-height:160px;outline:none;color:var(--text);font-size:var(--text-sm);line-height:1.6}.press-kit-editor .ProseMirror p{margin:0 0 .5em}.press-kit-editor .ProseMirror h2{font-size:var(--text-md);font-weight:700;margin:.8em 0 .3em}.press-kit-editor .ProseMirror h3{font-size:var(--text-base);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}.chord-search-panel{width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.chord-caret-popover-search{display:flex;align-items:center;gap:var(--space-3xs);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs)}.chord-caret-popover-search:focus-within{border-color:var(--accent)}.chord-caret-popover-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);padding:var(--space-3xs) var(--space-2xs)}.chord-caret-popover-finder-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-xs);border:none;background:none;color:var(--muted);cursor:pointer;flex-shrink:0}.chord-caret-popover-finder-btn:hover{color:var(--accent);background:var(--chord-bg)}.chord-caret-popover-body{display:flex;flex-direction:column;gap:var(--space-sm);max-height:14rem;overflow-y:auto}.chord-caret-popover-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.chord-caret-popover-list button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-xs);padding:var(--space-2xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);cursor:pointer}.chord-caret-popover-list button:hover,.chord-caret-popover-list button:focus-visible{background:var(--chord-bg);color:var(--accent)}.chord-caret-popover-row{display:flex;flex-direction:column;gap:var(--space-2xs)}.chord-caret-popover-row-label{font-size:var(--text-2xs);font-weight:var(--fw-label);letter-spacing:.01em;color:var(--muted)}.chord-caret-popover-chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.chord-caret-popover-chips button{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xs);padding:var(--space-3xs) var(--space-sm);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.chord-caret-popover-chips button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.chord-caret-popover-empty{font-size:var(--text-xs);color:var(--muted);padding:var(--space-2xs) var(--space-2xs)}
