@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;0,700;1,600&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--surface:#f4f3ec;--surface-hover:#e5e4e7;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#9947a6;--accent-bg:#9947a61a;--accent-bg-strong:#9947a633;--accent-border:#9947a680;--presentation:#d59b3b;--presentation-hover:#e4ad55;--danger:#c62828;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--brand:"Cormorant Garamond", Georgia, serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}.app-brand{font-family:var(--brand);letter-spacing:-.04em;margin:1.5rem 0;font-size:clamp(2.5rem,4vw,3.25rem);font-weight:600;line-height:1}.app-header{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem 2rem;padding:1rem 2rem;display:grid}.app-header .app-brand{white-space:nowrap;margin:0}.app-navigation,.app-navigation-primary,.app-navigation-actions{align-items:center;gap:.25rem;display:flex}.app-navigation{justify-content:space-between;gap:1rem;min-width:0}.app-navigation-actions{border-left:1px solid var(--border);padding-left:1rem}.app-brand-area{text-align:left;gap:.375rem;display:grid}.app-user-context{text-align:left;min-width:0;color:var(--text);overflow-wrap:anywhere;grid-column:1/-1;font-size:.75rem;line-height:1.2}.app-navigation button{min-height:2.75rem;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;padding:.625rem .75rem;font-size:.875rem;font-weight:600}.app-navigation button:hover,.app-navigation button:focus-visible{color:var(--text-h);border-color:var(--accent-border);background:var(--surface-hover);outline:none}.app-navigation button.is-active{color:var(--accent);background:var(--accent-bg)}.app-navigation .app-navigation-presentations{color:var(--bg);border-color:var(--presentation);background:var(--presentation)}.app-navigation .app-navigation-presentations:hover,.app-navigation .app-navigation-presentations:focus-visible{color:var(--bg);border-color:var(--presentation-hover);background:var(--presentation-hover)}.app-account-menu{position:relative}.app-account-menu summary{min-height:2.75rem;color:var(--text);cursor:pointer;border:1px solid #0000;border-radius:.5rem;align-items:center;padding:.625rem .75rem;font-size:.875rem;font-weight:600;list-style:none;display:flex}.app-account-menu summary::-webkit-details-marker{display:none}.app-account-menu summary:hover,.app-account-menu summary:focus-visible,.app-account-menu[open] summary{color:var(--text-h);border-color:var(--accent-border);background:var(--surface-hover);outline:none}.app-account-menu-items{z-index:1;border:1px solid var(--border);min-width:10rem;box-shadow:var(--shadow);background:var(--surface);border-radius:.5rem;padding:.375rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.app-account-menu-items button{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.app-navigation-badge{min-width:1.25rem;height:1.25rem;color:var(--bg);background:var(--accent);border-radius:999px;place-items:center;margin-left:.375rem;padding:0 .25rem;font-size:.75rem;line-height:1;display:inline-grid}.app-navigation .app-navigation-logout:hover,.app-navigation .app-navigation-logout:focus-visible{color:var(--danger)}@media (width<=850px){.app-header .app-brand{font-size:2rem}.app-header{column-gap:1rem}}@media (width<=790px){.app-header .app-brand{font-size:1.75rem}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--surface:#1f2028;--surface-hover:#2e303a;--border:#2e303a;--code-bg:#1f2028;--accent:#9947a6;--accent-bg:#9947a626;--accent-bg-strong:#9947a640;--accent-border:#9947a680;--presentation:#d59b3b;--presentation-hover:#e4ad55;--danger:#ef5350;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-page{box-sizing:border-box;text-align:left;width:min(100%,44rem);margin:0 auto;padding:3rem 2rem}.app-page-heading{margin-bottom:1.5rem}.app-page-heading h2{margin-bottom:.5rem}.app-page-heading p,.app-card-heading p{color:var(--text)}.app-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:.75rem;padding:1.5rem}.app-card+.app-card{margin-top:1rem}.app-card-heading{margin-bottom:1.25rem}.app-card-heading h3{color:var(--text-h);margin:0 0 .375rem;font-size:1.125rem}.app-form{gap:1rem;display:grid}.app-form label{color:var(--text-h);gap:.5rem;font-size:.875rem;font-weight:600;display:grid}.app-form input{box-sizing:border-box;width:100%;min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);font:inherit;border-radius:.5rem;outline:none;padding:.625rem .75rem}.app-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.app-form select,.app-list-row select{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);font:inherit;border-radius:.5rem;outline:none;padding:.625rem 2rem .625rem .75rem}.app-form select:focus,.app-list-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.app-form-actions{align-items:center;gap:.75rem;display:flex}.app-form button,.app-list-row button{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);cursor:pointer;font:inherit;background:0 0;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.app-list-row-actions .button-secondary{color:var(--text-h);border-color:var(--border);background:var(--bg)}.app-list-row-actions .button-secondary:hover,.app-list-row-actions .button-secondary:focus-visible{color:var(--text-h);border-color:var(--accent-border);background:var(--surface-hover);outline:none}.app-form .button-primary{color:var(--bg);border-color:var(--accent);background:var(--accent)}.groups-create .button-primary,.artists-create .button-primary{min-height:2.75rem;color:var(--bg);border:1px solid var(--accent);background:var(--accent);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.artists-create .button-primary:hover,.artists-create .button-primary:focus-visible,.groups-create .button-primary:hover,.groups-create .button-primary:focus-visible{filter:brightness(1.1);outline:none}.groups-members-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.groups-members-heading .app-card-heading{margin-bottom:1.25rem}.groups-members-heading .button-secondary{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.groups-members-heading .button-secondary:hover,.groups-members-heading .button-secondary:focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.groups-editor-section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.groups-invite-form{gap:1rem;display:grid}.app-list-row .button-primary{color:var(--bg);border-color:var(--accent);background:var(--accent)}.app-form .button-primary:hover,.app-form .button-primary:focus-visible,.app-list-row .button-primary:hover,.app-list-row .button-primary:focus-visible{border-color:var(--accent);background:var(--accent);filter:brightness(1.1);outline:none}.app-form button:disabled,.app-list-row button:disabled{cursor:not-allowed;opacity:.55}.app-form-message{color:var(--text-h);font-size:.875rem}.app-save-message{color:var(--accent);margin:.75rem 0 0;font-size:.9rem}.app-empty-state{color:var(--text)}.app-list{margin:0;padding:0;list-style:none;display:grid}.app-list-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.app-list-row:last-child{padding-bottom:0}.app-list-row-content{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.app-list-row-content strong{color:var(--text-h);font-size:.875rem}.set-list-editing-badge{color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-bg);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:700}.app-list-row-active{background:var(--surface-hover);border-radius:.5rem;margin-left:-.75rem;margin-right:-.75rem;padding-left:.75rem;padding-right:.75rem}.artists-name-input{box-sizing:border-box;min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);font:inherit;border-radius:.5rem;outline:none;padding:.625rem .75rem;font-weight:600}.artists-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.artists-error{margin-bottom:1rem}.artists-error-text{white-space:pre-line;color:var(--danger);margin-bottom:.75rem;font-size:.875rem}.artists-error-close{border:1px solid var(--danger);min-height:2.75rem;color:var(--danger);cursor:pointer;font:inherit;background:0 0;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.artists-error-close:hover,.artists-error-close:focus-visible{background:var(--danger);color:var(--bg);outline:none}.app-list-detail{color:var(--text);flex-basis:100%;font-size:.875rem}.app-badge{color:var(--accent);letter-spacing:.03em;align-items:center;padding:0;font-size:.75rem;font-weight:600;display:inline-flex}.groups-current-badge{color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-bg);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.app-list-row-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.app-form .button-danger,.app-list-row .button-danger{min-height:2.75rem;color:var(--danger);border-color:var(--danger);background:0 0;padding:.4375rem .625rem;font-size:.8125rem;font-weight:500}.app-form .button-danger:hover,.app-form .button-danger:focus-visible,.app-list-row .button-danger:hover,.app-list-row .button-danger:focus-visible{color:var(--bg);background:var(--danger);outline:none}@media (width<=765px){.app-header{grid-template-columns:1fr;gap:1rem;padding:1rem}.app-navigation,.app-navigation-primary,.app-navigation-actions{flex-wrap:wrap}.app-navigation{gap:.5rem}.app-navigation button,.app-account-menu summary{min-height:2.25rem;padding:.5rem .625rem;font-size:.8125rem}}@media (width<=565px){.app-header{gap:.5rem;padding:.625rem}.app-navigation,.app-navigation-primary,.app-navigation-actions{gap:.125rem}.app-navigation-actions{gap:.25rem}.app-navigation button,.app-account-menu summary{min-height:2rem;padding:.3125rem .375rem;font-size:.75rem}.app-account-menu summary{justify-content:center}}@media (width<=480px){.app-brand{text-align:center}.app-navigation,.app-navigation-primary,.app-navigation-actions{width:100%}.app-navigation-primary,.app-navigation-actions{justify-content:center}.app-brand-area,.app-user-context{text-align:center;justify-content:center}.app-navigation-actions{border-top:1px solid var(--border);border-left:0;padding-top:.5rem;padding-left:0}.app-navigation button,.app-account-menu{flex:auto}}@media (width<=565px){.app-page{padding:2rem 1rem}.app-card{padding:1.25rem}.app-form-actions,.app-form-actions button{width:100%}.app-list-row{flex-direction:column;align-items:stretch}.app-list-row-actions{justify-content:stretch}.app-list-row-actions button,.app-list-row-actions select{flex:auto}.groups-members-heading{flex-direction:column;align-items:stretch}.groups-members-heading .button-secondary{width:100%}}.entry-page{box-sizing:border-box;place-items:center;min-height:100svh;padding:2rem;display:grid}.entry-container{border:1px solid var(--border);width:min(100%,20rem);box-shadow:var(--shadow);background:var(--bg);border-radius:.75rem;gap:.875rem;padding:2rem;display:grid}.entry-container h1{margin:0 0 .5rem}.entry-container .entry-brand{font-family:var(--brand);letter-spacing:-.04em;font-size:clamp(2.5rem,12vw,3.5rem);font-weight:600;line-height:.9}.entry-container button{font:inherit;cursor:pointer;border:1px solid var(--accent);color:#fff;background:var(--accent);border-radius:.5rem;padding:.75rem 1rem}.entry-container button+button{color:var(--text-h);border-color:var(--border);background:0 0}.create-account-page{box-sizing:border-box;place-items:center;min-height:100svh;padding:2rem;display:grid}.create-account-container{text-align:left;border:1px solid var(--border);width:min(100%,24rem);box-shadow:var(--shadow);background:var(--bg);border-radius:.75rem;gap:1rem;padding:2rem;display:grid}.create-account-container h1{text-align:center;margin:0 0 .5rem}.create-account-container label{color:var(--text-h);gap:.375rem;display:grid}.create-account-container input{box-sizing:border-box;width:100%;font:inherit;color:var(--text-h);border:1px solid var(--border);background:0 0;border-radius:.5rem;padding:.75rem}.create-account-error{color:#c62828;margin:0}.create-account-container button{font:inherit;cursor:pointer;border:1px solid var(--accent);color:#fff;background:var(--accent);border-radius:.5rem;padding:.75rem 1rem}.create-account-container button+button{color:var(--text-h);border-color:var(--border);background:0 0}.song-editor{gap:1rem;margin-top:1rem;display:grid}.song-editor-field{color:var(--text-h);gap:.5rem;font-size:.875rem;font-weight:600;display:grid}.song-editor-field input{box-sizing:border-box;width:100%;min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);font:inherit;border-radius:.5rem;outline:none;padding:.625rem .75rem}.song-editor-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.song-editor-actions,.song-arrangements-heading{border-top:1px solid var(--border);padding-top:1rem}.song-editor-actions{flex-wrap:wrap;justify-content:space-between}.song-editor-actions-primary{align-items:center;gap:.75rem;display:flex}.song-editor-actions button,.song-arrangements-heading .button-secondary{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;white-space:nowrap;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.song-editor-actions .button-primary{color:var(--bg);border-color:var(--accent);background:var(--accent)}.song-editor-actions .button-danger{color:var(--danger);border-color:var(--danger)}.song-editor-actions .button-primary:hover,.song-editor-actions .button-primary:focus-visible{filter:brightness(1.1);outline:none}.song-editor-actions button:not(.button-primary):not(.button-danger):hover,.song-editor-actions button:not(.button-primary):not(.button-danger):focus-visible,.song-arrangements-heading .button-secondary:hover,.song-arrangements-heading .button-secondary:focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.song-editor-actions .button-danger:hover,.song-editor-actions .button-danger:focus-visible{color:var(--bg);background:var(--danger);outline:none}.song-editor-actions button:disabled{cursor:not-allowed;opacity:.55}.song-arrangements{gap:1rem;display:grid}.song-arrangements-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.song-arrangements-heading h3{color:var(--text-h);margin:0 0 .375rem;font-size:1.125rem}.song-arrangements-heading p{color:var(--text)}.song-create-form{margin-top:1rem}.songs-create .button-primary{min-height:2.75rem;color:var(--bg);border:1px solid var(--accent);background:var(--accent);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.songs-create .button-primary:hover,.songs-create .button-primary:focus-visible{filter:brightness(1.1);outline:none}@media (width<=560px){.song-editor-actions,.song-editor-actions-primary,.song-editor-actions button,.song-arrangements-heading .button-secondary{width:100%}.song-editor-actions,.song-editor-actions-primary{flex-direction:column}.song-arrangements-heading{flex-direction:column;align-items:stretch}}.arrangement-editor{gap:1rem;display:grid}.arrangement-field{color:var(--text-h);gap:.5rem;font-size:.875rem;font-weight:600;display:grid}.arrangement-field input,.arrangement-field select,.arrangement-content{box-sizing:border-box;width:100%;color:var(--text-h);border:1px solid var(--border);background:var(--bg);font:inherit;border-radius:.5rem;outline:none;padding:.625rem .75rem}.arrangement-field input,.arrangement-field select{min-height:2.75rem}.arrangement-field select{padding-right:2rem}.arrangement-content{resize:vertical;min-height:18rem;line-height:1.45}.arrangement-field input:focus,.arrangement-field select:focus,.arrangement-content:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.arrangement-field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.arrangement-new-artist{align-items:center;gap:.5rem;margin-top:-.5rem;display:flex}.arrangement-new-artist input{box-sizing:border-box;min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);font:inherit;border-radius:.5rem;outline:none;flex:1;padding:.625rem .75rem}.arrangement-new-artist input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.arrangement-new-artist button{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;white-space:nowrap;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.arrangement-new-artist .button-primary{color:var(--bg);border-color:var(--accent);background:var(--accent)}.arrangement-new-artist .button-primary:hover,.arrangement-new-artist .button-primary:focus-visible{filter:brightness(1.1);outline:none}.arrangement-new-artist .button-primary:disabled{opacity:.6;cursor:not-allowed;filter:none}.arrangement-new-artist .button-secondary:hover,.arrangement-new-artist .button-secondary:focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.save-message{color:var(--accent);font-size:.9rem}.arrangement-editor-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-top:1rem;display:flex}.arrangement-editor-actions-primary{align-items:center;gap:.75rem;display:flex}.arrangement-editor-actions button{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.arrangement-editor-actions .button-primary{color:var(--bg);border-color:var(--accent);background:var(--accent)}.arrangement-editor-actions .button-primary:hover,.arrangement-editor-actions .button-primary:focus-visible{filter:brightness(1.1);outline:none}.arrangement-editor-actions button:not(.button-primary):not(.button-danger):hover,.arrangement-editor-actions button:not(.button-primary):not(.button-danger):focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.arrangement-editor-actions .button-danger{color:var(--danger);border-color:var(--danger)}.arrangement-editor-actions .button-danger:hover,.arrangement-editor-actions .button-danger:focus-visible{color:var(--bg);background:var(--danger);outline:none}.arrangement-editor-actions button:disabled{cursor:not-allowed;opacity:.55}@media (width<=560px){.arrangement-field-row{grid-template-columns:1fr}.arrangement-editor-actions,.arrangement-editor-actions-primary,.arrangement-editor-actions button{width:100%}.arrangement-editor-actions,.arrangement-editor-actions-primary{flex-direction:column}}.setlist-edit-form,.setlist-create{gap:1rem;display:grid}.setlist-edit-form .app-form-actions button,.set-lists-unsaved .app-form-actions button{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.set-lists-create .button-primary,.setlist-edit-form .button-primary,.setlist-edit-form .app-form-actions .button-primary,.set-lists-unsaved .app-form-actions .button-primary{min-height:2.75rem;color:var(--bg);border:1px solid var(--accent);background:var(--accent);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.set-lists-create .button-primary:hover,.set-lists-create .button-primary:focus-visible,.setlist-edit-form .button-primary:hover,.setlist-edit-form .button-primary:focus-visible,.setlist-edit-form .app-form-actions .button-primary:hover,.setlist-edit-form .app-form-actions .button-primary:focus-visible,.set-lists-unsaved .app-form-actions .button-primary:hover,.set-lists-unsaved .app-form-actions .button-primary:focus-visible{filter:brightness(1.1);outline:none}.setlist-edit-form .app-form-actions button:not(.button-primary):not(.button-danger),.set-lists-unsaved .app-form-actions button:not(.button-danger){color:var(--text-h);border-color:var(--border);background:var(--bg)}.setlist-edit-form .app-form-actions button:not(.button-primary):not(.button-danger):hover,.setlist-edit-form .app-form-actions button:not(.button-primary):not(.button-danger):focus-visible,.set-lists-unsaved .app-form-actions button:not(.button-danger):hover,.set-lists-unsaved .app-form-actions button:not(.button-danger):focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.setlist-edit-form .app-form-actions .button-danger,.set-lists-unsaved .app-form-actions .button-danger{color:var(--danger);border-color:var(--danger);background:0 0}.setlist-edit-form .app-form-actions .button-danger:hover,.setlist-edit-form .app-form-actions .button-danger:focus-visible,.set-lists-unsaved .app-form-actions .button-danger:hover,.set-lists-unsaved .app-form-actions .button-danger:focus-visible{color:var(--bg);background:var(--danger)}.setlist-edit-form .app-form-actions button:disabled{cursor:not-allowed;opacity:.55}.setlist-field{color:var(--text-h);gap:.5rem;font-size:.875rem;font-weight:600;display:grid}.setlist-field input,.setlist-field select{box-sizing:border-box;width:100%;min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);font:inherit;border-radius:.5rem;outline:none;padding:.625rem .75rem}.setlist-field select{padding-right:2rem}.setlist-field input:focus,.setlist-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.setlist-arrangements,.setlist-add-arrangement,.setlist-copy{border-top:1px solid var(--border);gap:1rem;padding-top:1rem;display:grid}.setlist-arrangements-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.setlist-arrangements-note{color:var(--text-h);border-left:3px solid var(--accent);background:var(--accent-bg);margin:.5rem 0 0;padding:.625rem .75rem;font-size:.875rem}.setlist-arrangements-heading h4{color:var(--text-h);margin:0 0 .375rem;font-size:1rem}.setlist-arrangements-heading p{color:var(--text)}.setlist-arrangements-heading .button-secondary{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;white-space:nowrap;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.setlist-arrangements-heading .button-secondary:hover,.setlist-arrangements-heading .button-secondary:focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.setlist-add-arrangement h4,.setlist-copy h4{color:var(--text-h);margin:0;font-size:1rem}.arrangement-summary-list{gap:.5rem;display:grid}.arrangement-summary{color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;text-align:left;border-radius:.5rem;padding:.75rem}.arrangement-summary:hover,.arrangement-summary:focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.arrangement-summary.selected{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}.setlist-save-status{min-height:1.25rem;color:var(--text);font-size:.875rem}.setlist-error{color:var(--danger)}.setlist-editor-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;padding-top:1rem}.setlist-editor-actions-primary,.setlist-editor-actions-secondary{align-items:center;gap:.75rem;display:flex}.setlist-copy-message{color:var(--text-h);font-size:.875rem}.set-lists-unsaved{gap:1rem;display:grid}.set-lists-unsaved+.setlist-edit-form{margin-top:1rem}@media (width<=560px){.setlist-editor-actions,.setlist-editor-actions-primary,.setlist-editor-actions-secondary,.setlist-editor-actions button{width:100%}.setlist-editor-actions,.setlist-editor-actions-primary,.setlist-editor-actions-secondary{flex-direction:column}.setlist-arrangements-heading{flex-direction:column;align-items:stretch}.setlist-arrangements-heading .button-secondary{width:100%}}.presentations-exit-actions{margin-bottom:1.5rem}.presentation-brand{font-family:var(--brand);font-size:1.1em}.presentations-exit-actions .button-secondary{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.presentations-exit-actions .button-secondary:hover,.presentations-exit-actions .button-secondary:focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.presentation-accent{color:var(--bg);border-color:var(--presentation)!important;background:var(--presentation)!important}.presentation-accent:hover,.presentation-accent:focus-visible{outline:none;border-color:var(--presentation-hover)!important;background:var(--presentation-hover)!important;filter:none!important}.presentation-view{min-height:100vh;color:var(--text-h);background:var(--bg)}.presentation-header{background:var(--bg);border-bottom:1px solid var(--border);z-index:100;padding:.8rem 1rem;position:fixed;top:0;left:0;right:0}.presentation-breadcrumb{height:1.2rem;color:var(--text);align-items:center;gap:.4rem;font-size:.9rem;display:flex}.presentation-breadcrumb-sep{color:var(--border)}.presentation-breadcrumb-current{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.presentation-breadcrumb-link{color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.presentation-breadcrumb-link:hover,.presentation-breadcrumb-link:focus-visible{color:var(--text-h);outline:none}.presentation-breadcrumb-compact{height:1.2rem;color:var(--text);align-items:center;gap:.6rem;font-size:.9rem;display:none}.presentation-breadcrumb-back{width:1.75rem;height:1.75rem;color:var(--presentation);border:1px solid var(--presentation);background:var(--bg);cursor:pointer;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.presentation-breadcrumb-back .presentation-nav-arrow{font-size:1.1rem}.presentation-mobile-controls-toggle{width:1.75rem;height:1.75rem;color:var(--presentation);border:1px solid var(--presentation);background:var(--bg);cursor:pointer;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:1.2rem;line-height:1;display:none}.presentation-mobile-controls-panel{display:none}.presentation-body{justify-content:center;align-items:flex-start;gap:1.5rem;display:flex}.presentation-rail{z-index:100;flex-direction:column;flex-shrink:0;align-items:center;gap:.75rem;display:flex;position:sticky;top:86px}.presentation-rail .button-secondary,.presentation-mobile-controls-panel .button-secondary{width:3.25rem;height:3.25rem;color:var(--presentation);border:1px solid var(--presentation);background:var(--bg);cursor:pointer;font:inherit;border-radius:.5rem;justify-content:center;align-items:center;padding:0;font-size:.875rem;font-weight:600;display:flex}@media (hover:hover){.presentation-rail .button-secondary:hover,.presentation-mobile-controls-panel .button-secondary:hover{color:var(--bg);border-color:var(--presentation);background:var(--presentation);outline:none}}.presentation-rail .button-secondary:focus-visible,.presentation-mobile-controls-panel .button-secondary:focus-visible{color:var(--bg);border-color:var(--presentation);background:var(--presentation);outline:none}.presentation-nav-button{width:3.25rem;height:3.25rem;color:var(--presentation);border:1px solid var(--presentation);background:var(--surface);cursor:pointer;font:inherit;border-radius:.5rem;justify-content:center;align-items:center;padding:0;font-size:.875rem;font-weight:600;display:flex}@media (hover:hover){.presentation-nav-button:not(:disabled):hover{color:var(--bg);border-color:var(--presentation);background:var(--presentation);outline:none}}.presentation-nav-button:not(:disabled):focus-visible{color:var(--bg);border-color:var(--presentation);background:var(--presentation);outline:none}.presentation-nav-button:disabled{cursor:not-allowed;opacity:.4}.presentation-nav-arrow{font-size:1.75rem;line-height:1}.presentation-nav-arrow-up{transform-origin:50%;display:inline-block;transform:translate(3px)rotate(90deg)translateY(-1px)}.presentation-nav-arrow-down{transform-origin:50%;display:inline-block;transform:translate(0)rotate(-90deg)translateY(-1px)}.scroll-control{flex-direction:column;align-items:center;gap:.75rem;display:flex}.scroll-control input[type=range]{writing-mode:vertical-lr;accent-color:var(--presentation);direction:rtl}.scroll-control span{width:3rem;color:var(--text);text-align:center}.scroll-control button{box-sizing:border-box;cursor:pointer;width:3.25rem;min-height:2.75rem;font:inherit;border-radius:.5rem;padding:.4rem .75rem;font-size:.875rem;font-weight:600}.arrangement-container{width:fit-content;max-width:60vw;margin:4.5rem 0 3rem}.arrangement-title{color:var(--text-h);text-align:left;margin:0 0 .5rem}.arrangement-content{color:var(--text-h);text-align:left;white-space:pre-wrap}.presentation-menu-panel{color:var(--text-h);background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow);z-index:101;padding:1rem 1.5rem 1.5rem;position:fixed;bottom:0;left:0;right:0}.presentation-menu-panel-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.presentation-menu-panel-heading h3{color:var(--text-h);margin:0}.presentation-menu-panel-heading button{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.presentation-menu-panel-heading button:hover,.presentation-menu-panel-heading button:focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.presentation-preference{align-items:center;gap:1rem;width:fit-content;margin:0 auto;display:flex}.presentation-preference>span{color:var(--text-h);font-weight:600}.presentation-preference-error{color:var(--danger);text-align:center;margin:.75rem 0 0}.presentation-preference button{min-height:2.75rem;color:var(--text-h);border:1px solid var(--border);background:var(--bg);cursor:pointer;font:inherit;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600}.presentation-preference button:hover,.presentation-preference button:focus-visible{border-color:var(--accent-border);background:var(--surface-hover);outline:none}.colour-palette{gap:.5rem;display:flex}.colour-option{border:2px solid var(--border);cursor:pointer;border-radius:50%;width:28px;height:28px;padding:0}.colour-option.selected{border-color:var(--presentation);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--presentation)}@media (width<=480px){.presentation-breadcrumb{display:none}.presentation-breadcrumb-compact,.presentation-mobile-controls-toggle{display:flex}.presentation-mobile-controls-panel{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.6rem;padding-top:.6rem;display:flex}.presentation-mobile-controls-panel .button-secondary,.presentation-mobile-controls-panel .presentation-nav-button{flex-shrink:0;width:2.75rem;height:2.75rem}.presentation-header{padding:.6rem .75rem}.presentation-body{padding-bottom:5rem;display:block}.arrangement-container{max-width:100%;margin:4rem 0 3rem;padding:0 .75rem}.presentation-rail-left{display:none}.presentation-rail-right{background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;padding:.4rem;position:fixed;inset:auto .5rem .5rem;box-shadow:0 2px 10px #00000059}.presentation-rail-right .scroll-control{flex-direction:row;width:100%}.scroll-control input[type=range]{writing-mode:horizontal-tb;direction:ltr;flex:1;min-width:0}.scroll-control span{width:auto}}
