:root{--color-bg:#111317;--color-surface-1:#171a1f;--color-surface-2:#1d2128;--color-surface-3:#242a32;--color-overlay:#06080ab8;--color-border:#262c34;--color-border-strong:#353d48;--color-border-control:#6e7884;--color-text:#e7e9ec;--color-text-muted:#a1a9b3;--color-text-subtle:#8a939e;--color-accent:#3fae9f;--color-accent-hover:#52bdaf;--color-accent-active:#36998c;--color-accent-soft:#3fae9f1f;--color-accent-line:#3fae9f59;--color-on-accent:#08130f;--color-status-online:#4fb98a;--color-status-pending:#c9a54a;--color-status-offline:#cc6f68;--focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);--font-sans:"Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-display:"Inter Display", "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.75rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.55;--tracking-tight:-.02em;--tracking-label:.08em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--content-max:82rem;--gutter:clamp(1rem, .4rem + 2.6vw, 3rem);--header-height:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--border-width:1px;--shadow-modal:0 24px 64px #00000073;--duration-fast:.12s;--duration-base:.18s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s}}*,:before,:after{box-sizing:border-box}*{margin:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}p{text-wrap:pretty}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}svg{flex-shrink:0;display:block}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);outline:none}main:focus{box-shadow:none}::selection{background:var(--color-accent-line)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle)}.skip-link{top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);font-weight:var(--weight-semibold);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-md);font-weight:var(--weight-medium);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);line-height:1;text-decoration:none;display:inline-flex}.btn--sm{min-height:2rem;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn--md{min-height:2.5rem;padding:0 var(--space-4);font-size:var(--text-sm)}.btn--lg{min-height:3rem;padding:0 var(--space-6);font-size:var(--text-base);font-weight:var(--weight-semibold)}.btn--primary{background:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-accent-hover)}.btn--primary:active{background:var(--color-accent-active)}.btn--secondary{background:var(--color-surface-2);border-color:var(--color-border-control);color:var(--color-text)}.btn--secondary:hover{background:var(--color-surface-3)}.btn--ghost{color:var(--color-text-muted);background:0 0}.btn--ghost:hover{background:var(--color-surface-2);color:var(--color-text)}.btn--danger-ghost{color:var(--color-text-muted);background:0 0}.btn--danger-ghost:hover{background:var(--color-surface-2);color:var(--color-status-offline)}.btn--danger{background:var(--color-status-offline);color:var(--color-bg)}.btn--danger:hover{filter:brightness(1.08)}.btn--icon.btn--sm{width:2rem;padding:0}.btn--icon.btn--md{width:2.5rem;padding:0}.btn--sm{position:relative}.btn--sm:after{content:"";position:absolute;inset:-.25rem}@media (pointer:coarse){.btn--sm:after{inset:-.375rem}}.connection{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-subtle);white-space:nowrap;display:inline-flex}.connection__dot{border-radius:var(--radius-full);background:currentColor;width:.4375rem;height:.4375rem}.connection--online .connection__dot{background:var(--color-status-online)}.connection--pending .connection__dot{background:var(--color-status-pending)}.connection--offline .connection__dot{background:var(--color-status-offline)}.connection__tag{padding:0 var(--space-1);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--color-text-muted)}.app-header{z-index:10;background:var(--color-bg);border-bottom:var(--border-width) solid var(--color-border);position:sticky;top:0}.app-header__inner{justify-content:space-between;align-items:center;gap:var(--space-4);max-width:var(--content-max);height:var(--header-height);padding:0 var(--gutter);margin:0 auto;display:flex}.app-header__brand{align-items:center;gap:var(--space-3);margin-left:calc(-1 * var(--space-2));padding:var(--space-2);border-radius:var(--radius-md);background:0 0;border:0;display:inline-flex}.app-header__mark{border:var(--border-width) solid var(--color-accent-line);border-radius:var(--radius-sm);background:var(--color-accent-soft);width:2rem;height:2rem;color:var(--color-accent);place-items:center;display:grid}.app-header__name{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.app-header__actions{align-items:center;gap:var(--space-4);display:flex}.app-header__actions .btn[aria-current=page]{background:var(--color-surface-2);color:var(--color-text)}.app-header__divider{width:var(--border-width);background:var(--color-border-strong);height:1.25rem}@media (width<=46rem){.app-header__inner{gap:var(--space-2)}.app-header__actions{gap:var(--space-1)}.app-header__divider{display:none}.app-header__actions .btn{gap:0;width:2.75rem;min-height:2.75rem;padding:0;font-size:0}.app-header__actions .connection{margin-right:var(--space-1)}}@media (width<=30rem){.app-header__actions .connection__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header__brand{gap:var(--space-2);min-width:0}.app-header__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (width<=22rem){.app-header__mark{display:none}}.card{background:var(--color-surface-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);text-align:left;width:100%;display:block}.card--interactive{transition:background-color var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard)}.card--interactive:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}.page{max-width:var(--content-max);padding:var(--space-12) var(--gutter) var(--space-16);margin:0 auto}.page--content{--page-title-gap:var(--space-3);--page-section-gap:var(--space-6);padding-top:var(--space-4);padding-bottom:var(--space-12)}@media (width<=40rem){.page{padding-top:var(--space-8)}.page.page--content{padding-top:var(--space-3)}}.help{--help-inset:var(--space-6);gap:var(--space-10);flex-direction:column;display:flex}.help__back{margin-left:calc(-1 * var(--space-4))}.help__title{margin-top:var(--space-6);font-size:var(--text-2xl)}.help__lede{margin-top:var(--space-3);max-width:64ch;font-size:var(--text-md);color:var(--color-text-muted)}.help-steps{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.help-steps__item{display:flex}.help-step{gap:var(--space-2);padding:var(--space-6) var(--help-inset);flex-direction:column;display:flex}.help-step__number{width:2rem;height:2rem;margin-bottom:var(--space-2);border:var(--border-width) solid var(--color-accent-line);border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;place-items:center;display:grid}.help-step__title{font-size:var(--text-base);letter-spacing:-.005em;line-height:var(--leading-snug)}.help-step__text{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.help__subtitle{font-size:var(--text-lg)}.help-sections{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.help-section{background:var(--color-surface-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--duration-base) var(--ease-standard)}.help-section[open]{border-color:var(--color-border-strong)}.help-section__summary{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--help-inset);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);list-style:none;display:flex}.help-section__summary::-webkit-details-marker{display:none}.help-section__summary:hover{background:var(--color-surface-2)}.help-section[open] .help-section__summary{border-bottom-right-radius:0;border-bottom-left-radius:0}.help-section__icon{border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);width:2.25rem;height:2.25rem;color:var(--color-accent);flex-shrink:0;place-items:center;display:grid}.help-section__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:-.005em}.help-section__chevron{color:var(--color-text-subtle);transition:transform var(--duration-base) var(--ease-standard);margin-left:auto}.help-section[open] .help-section__chevron{transform:rotate(180deg)}.help-section__body{padding:var(--space-2) var(--help-inset) var(--space-6) calc(var(--help-inset) + 2.25rem + var(--space-4))}.help-section__list{gap:var(--space-2);flex-direction:column;max-width:72ch;display:flex}.help-section__list li{padding-left:var(--space-5);color:var(--color-text-muted);position:relative}.help-section__list li:before{content:"";border-radius:var(--radius-full);background:var(--color-text-subtle);width:.375rem;height:.375rem;position:absolute;top:.68em;left:0}.help-shortcuts{width:100%;max-width:40rem;margin-top:var(--space-5);border-collapse:collapse;font-size:var(--text-sm)}.help-shortcuts__caption{margin-bottom:var(--space-2);font-weight:var(--weight-semibold);text-align:left;color:var(--color-text)}.help-shortcuts th,.help-shortcuts td{padding:var(--space-2) 0;border-top:var(--border-width) solid var(--color-border);text-align:left;vertical-align:middle}.help-shortcuts__keys{width:45%;padding-right:var(--space-4);font-weight:var(--weight-regular)}.help-shortcuts td{color:var(--color-text-muted)}.help-shortcuts__or{color:var(--color-text-subtle)}.help-shortcuts kbd{min-width:1.75rem;padding:.125rem var(--space-2);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface-2);font-family:inherit;font-size:var(--text-xs);text-align:center;color:var(--color-text);display:inline-block}@media (width<=64rem){.help-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=40rem){.help{--help-inset:var(--space-5);gap:var(--space-8)}.help-steps{gap:var(--space-3);grid-template-columns:1fr}.help-section__body{padding-left:var(--help-inset)}}.avatar{border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-3);color:var(--color-text);font-weight:var(--weight-semibold);letter-spacing:.02em;flex-shrink:0;place-items:center;display:inline-grid}.avatar--sm{width:2.25rem;height:2.25rem;font-size:var(--text-xs)}.avatar--md{width:2.75rem;height:2.75rem;font-size:var(--text-sm)}.avatar--lg{width:3.5rem;height:3.5rem;font-size:var(--text-md)}.badge{height:1.375rem;padding:0 var(--space-2);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);white-space:nowrap;align-items:center;display:inline-flex}.badge--filled{background:var(--color-surface-3);color:var(--color-text);border-color:#0000}.modal{width:min(34rem, calc(100vw - 2 * var(--space-4)));max-height:min(44rem, calc(100vh - 2 * var(--space-8)));border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-1);color:var(--color-text);box-shadow:var(--shadow-modal);margin:auto;padding:0}.modal::backdrop{background:var(--color-overlay)}.modal[open]{animation:modal-in var(--duration-base) var(--ease-standard)}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)}}.modal__panel{max-height:inherit;flex-direction:column;display:flex}.modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-4);display:flex}.modal__title{font-size:var(--text-lg)}.modal__description{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.modal__close{width:2.25rem;height:2.25rem;margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2)) 0 0;border-radius:var(--radius-sm);color:var(--color-text-muted);background:0 0;border:0;place-items:center;display:grid}.modal__close:hover{background:var(--color-surface-2);color:var(--color-text)}.modal__body{padding:0 var(--space-3) var(--space-3);overflow-y:auto}.home{--home-inset:var(--space-8);gap:var(--space-8);flex-direction:column;display:flex}.home__content{gap:var(--space-4);flex-direction:column;display:flex}.musician-identity{align-items:center;gap:var(--space-3);display:flex}.musician-identity__text{flex-direction:column;gap:.125rem;min-width:0;display:flex}.musician-identity__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.01em}.musician-identity__meta{align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.musician-identity__switch{margin-left:auto}.musician-identity__avatar,.musician-identity__profile{font:inherit;color:inherit;letter-spacing:inherit;background:0 0;border:0;padding:0}.musician-identity__avatar{border-radius:var(--radius-full);display:inline-flex}.musician-identity__avatar .avatar{transition:border-color var(--duration-fast) var(--ease-standard)}.musician-identity__avatar:hover .avatar{border-color:var(--color-accent)}.musician-identity__profile{border-radius:var(--radius-sm);text-align:left;text-underline-offset:4px;transition:color var(--duration-fast) var(--ease-standard), text-decoration-color var(--duration-fast) var(--ease-standard);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.musician-identity__profile:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}.permission-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.concert-panel{align-items:center;gap:var(--space-6) var(--space-10);padding:var(--space-8) var(--home-inset);background:var(--color-surface-2);border-color:var(--color-border-strong);grid-template-columns:minmax(0,1fr) auto;display:grid}.concert-panel__info{min-width:0}.concert-panel__status{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-accent);display:inline-flex}.concert-panel__status-dot{border-radius:var(--radius-full);background:currentColor;width:.4375rem;height:.4375rem}.concert-panel__status--idle{color:var(--color-text-subtle)}.concert-panel__status--idle .concert-panel__status-dot{background:0 0;border:1.5px solid}.concert-panel__title{margin-top:var(--space-2);font-size:var(--text-2xl)}.concert-panel__meta{align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.concert-panel__meta svg,.concert-panel__separator,.concert-panel__count{color:var(--color-text-subtle)}.concert-panel__hint{margin-top:var(--space-2);max-width:60ch;color:var(--color-text-muted)}.concert-panel__actions{align-items:center;gap:var(--space-2);display:flex}.concert-panel--empty{background:0 0;border-style:dashed}.concert-panel--empty .concert-panel__title{color:var(--color-text-muted)}.nav-cards{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.nav-cards>li{display:flex}.nav-card{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-5) var(--home-inset);color:var(--color-text);display:flex}.nav-card__icon{border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);width:2.5rem;height:2.5rem;color:var(--color-accent);flex-shrink:0;place-items:center;display:grid}.nav-card__text{flex-direction:column;gap:.125rem;min-width:0;display:flex}.nav-card__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:-.005em}.nav-card__description{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--color-text-muted)}.nav-card__arrow{color:var(--color-text-subtle);transition:transform var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard);margin-left:auto}.nav-card:hover .nav-card__arrow,.nav-card:focus-visible .nav-card__arrow{color:var(--color-accent);transform:translate(3px)}.musician-options{gap:var(--space-1);flex-direction:column;display:flex}.musician-option{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:var(--border-width) solid transparent;border-radius:var(--radius-md);text-align:left;background:0 0;display:flex}.musician-option:hover{background:var(--color-surface-2)}.musician-option[aria-current=true]{border-color:var(--color-accent-line);background:var(--color-accent-soft)}.musician-option__text{flex-direction:column;flex:1;min-width:0;display:flex}.musician-option__name{font-weight:var(--weight-medium)}.musician-option__instrument{font-size:var(--text-sm);color:var(--color-text-muted)}.musician-option__check{width:1.25rem;color:var(--color-accent);place-items:center;display:grid}@media (width<=64rem){.nav-cards{gap:var(--space-3);grid-template-columns:1fr}}@media (width<=60rem){.home{--home-inset:var(--space-6)}.concert-panel{padding-block:var(--space-6);grid-template-columns:1fr}}@media (width<=40rem){.home{--home-inset:var(--space-5);gap:var(--space-6)}.musician-identity{flex-wrap:wrap}.musician-identity__switch{width:100%;margin-left:0}.concert-panel__actions{flex-direction:column;align-items:stretch}.musician-option{flex-wrap:wrap}.musician-option__permissions{width:100%;padding-left:calc(2.25rem + var(--space-3));order:1}}.placeholder__back{margin-left:calc(-1 * var(--space-4))}.placeholder__title{margin-top:var(--page-title-gap,var(--space-6));font-size:var(--text-2xl)}.placeholder__description{margin-top:var(--space-2);color:var(--color-text-muted)}.placeholder__notice{margin-top:var(--page-section-gap,var(--space-8));padding:var(--space-10) var(--space-8);color:var(--color-text-subtle);text-align:center;background:0 0;border-style:dashed}.prototype-dialog{padding:0 var(--space-3) var(--space-3)}.prototype-dialog__intent{color:var(--color-text-muted)}.prototype-dialog__details{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle);overflow-wrap:anywhere}.prototype-dialog__notice{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-3) var(--space-4);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.prototype-dialog__notice svg{color:var(--color-status-pending);margin-top:1px}.prototype-dialog__notice strong{font-weight:var(--weight-semibold);color:var(--color-text)}.prototype-dialog__actions{margin-top:var(--space-6);justify-content:flex-end;display:flex}.search-field{align-items:center;display:flex;position:relative}.search-field__icon{left:var(--space-3);color:var(--color-text-subtle);pointer-events:none;position:absolute}.search-field__input{width:100%;height:2.5rem;padding:0 var(--space-3) 0 calc(var(--space-3) + 18px + var(--space-2));border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface-1);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard)}.search-field__input::placeholder{color:var(--color-text-subtle)}.search-field__input:hover{border-color:var(--color-text-subtle)}.search-field__input:focus-visible{border-color:var(--color-accent)}.segmented{border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface-1);gap:2px;min-width:0;padding:3px;display:inline-flex}.segmented__option{display:flex;position:relative}.segmented__input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented__label{height:2rem;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);align-items:center;display:inline-flex}.segmented__option:hover .segmented__label{color:var(--color-text)}.segmented__input:checked+.segmented__label{background:var(--color-surface-3);color:var(--color-text)}.segmented__input:focus-visible+.segmented__label{box-shadow:0 0 0 2px var(--color-accent)}.sheet-dialog{padding:0 var(--space-3) var(--space-3)}.sheet-dialog__meta{align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.sheet-dialog__text{overflow-wrap:anywhere}.sheet-dialog__text strong{font-weight:var(--weight-semibold)}.sheet-dialog__text--muted{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.sheet-dialog__note{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-2) var(--space-3);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.sheet-dialog__note svg{color:var(--color-status-pending);margin-top:2px}.sheet-dialog__note strong{font-weight:var(--weight-semibold);color:var(--color-text)}.sheet-dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.sheet-preview__page{aspect-ratio:1/1.414;width:min(100%,19rem,30vh);margin:var(--space-5) auto 0;padding:var(--space-5) var(--space-4) var(--space-8);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-3);flex-direction:column;align-items:center;display:flex;position:relative}.sheet-preview__heading{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:center}.sheet-preview__subheading{font-size:var(--text-xs);color:var(--color-text-subtle)}.sheet-preview__staves{width:100%;margin-top:var(--space-4);background-image:repeating-linear-gradient(to bottom, var(--color-border-strong) 0 1px, transparent 1px 6px, var(--color-border-strong) 6px 7px, transparent 7px 12px, var(--color-border-strong) 12px 13px, transparent 13px 18px, var(--color-border-strong) 18px 19px, transparent 19px 24px, var(--color-border-strong) 24px 25px, transparent 25px 48px);flex:1}.sheet-preview__number{bottom:var(--space-2);font-size:var(--text-xs);color:var(--color-text-subtle);font-variant-numeric:tabular-nums;position:absolute}.sheet-preview__pager{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.sheet-preview__position{min-width:6rem;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;font-variant-numeric:tabular-nums}.sheet-details{gap:var(--space-2) var(--space-6);font-size:var(--text-sm);grid-template-columns:max-content minmax(0,1fr);display:grid}.sheet-details dt{color:var(--color-text-subtle)}.sheet-details dd{color:var(--color-text);margin:0}.sheet-details__file{overflow-wrap:anywhere;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.my-sheets{--my-sheet-cols:minmax(0, 1fr) minmax(0, 17rem) 7.5rem 9rem}.my-sheets__back{margin-left:calc(-1 * var(--space-4))}.my-sheets__title{margin-top:var(--page-title-gap,var(--space-6));font-size:var(--text-2xl)}.my-sheets__musician{gap:var(--space-2);margin-top:var(--space-2);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.my-sheets__name{font-weight:var(--weight-medium);color:var(--color-text)}.my-sheets__description{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-subtle)}.my-sheets__toolbar{align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--page-section-gap,var(--space-8));flex-wrap:wrap;display:flex}.my-sheets__search{flex:16rem;max-width:24rem}.my-sheets__meta{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle);flex-wrap:wrap;display:flex}.my-sheets__count{font-variant-numeric:tabular-nums}.my-sheets__flash{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);font-size:var(--text-sm);display:flex}.my-sheets__flash svg{color:var(--color-status-online);margin-top:3px}.my-sheets__flash-note{color:var(--color-text-subtle)}.my-sheets__list{overflow:hidden}.my-sheets__head,.my-sheet{grid-template-columns:var(--my-sheet-cols);align-items:center;column-gap:var(--space-4);padding:0 var(--space-2) 0 var(--space-4);display:grid}.my-sheets__head{border-bottom:var(--border-width) solid var(--color-border);height:2.25rem;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle)}.my-sheet{min-height:3rem;padding-block:var(--space-1);border-bottom:var(--border-width) solid var(--color-border);transition:background-color var(--duration-fast) var(--ease-standard)}.my-sheet:last-child{border-bottom:0}.my-sheet:hover{background:var(--color-surface-2)}.my-sheets .song-line{align-items:baseline;column-gap:var(--space-3);white-space:nowrap;min-width:0;display:flex}.my-sheets .song-line__title,.my-sheets .song-line__artist{text-overflow:ellipsis;overflow:hidden}.my-sheets .song-line__title{max-width:100%;font-weight:var(--weight-medium);flex:none}.my-sheets .song-line__artist{min-width:0;font-size:var(--text-sm);color:var(--color-text-subtle);flex-shrink:1}.my-sheet__meta{display:contents}.my-sheet__in-use{align-items:baseline;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;display:flex}.my-sheet__in-use-name{text-overflow:ellipsis;overflow:hidden}.my-sheet__in-use--none{color:var(--color-text-subtle)}.my-sheet__default{font-size:var(--text-xs);color:var(--color-text-subtle);flex-shrink:0}.my-sheet__upload{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-subtle);white-space:nowrap;display:inline-flex}.my-sheet__upload--yes{color:var(--color-text-muted)}.my-sheet__upload--yes svg{color:var(--color-accent)}.my-sheet__manage{justify-self:end}.my-sheets__empty{align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center;background:0 0;border-style:dashed;flex-direction:column;display:flex}.my-sheets__empty-icon{margin-bottom:var(--space-2);color:var(--color-text-subtle)}.my-sheets__empty-title{font-size:var(--text-lg)}.my-sheets__empty-text{max-width:48ch;margin-bottom:var(--space-4);color:var(--color-text-muted)}.chooser{padding:0 var(--space-3) var(--space-3)}.chooser strong{font-weight:var(--weight-semibold)}.chooser__intro,.chooser__muted{font-size:var(--text-sm);color:var(--color-text-muted)}.chooser__muted{margin-top:var(--space-2)}.chooser__options{margin:var(--space-3) calc(-1 * var(--space-3)) 0;border:0;padding:0}.option{align-items:center;gap:var(--space-2);padding-right:var(--space-3);border-top:var(--border-width) solid var(--color-border);transition:background-color var(--duration-fast) var(--ease-standard);display:flex}.option:last-child{border-bottom:var(--border-width) solid var(--color-border)}.option:hover{background:var(--color-surface-2)}.option--checked,.option--checked:hover{background:var(--color-accent-soft);box-shadow:inset 2px 0 0 var(--color-accent)}.option__label{align-items:flex-start;gap:var(--space-3);min-width:0;padding:var(--space-3);cursor:pointer;flex:1;display:flex}.option__radio{width:1rem;height:1rem;accent-color:var(--color-accent);flex-shrink:0;margin-top:2px}.option__radio:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-full)}.option__text{gap:var(--space-1);min-width:0;display:grid}.option__name{align-items:baseline;gap:var(--space-1) var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);flex-wrap:wrap;display:flex}.option__in-use{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-accent-hover)}.option__meta{align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--color-text-subtle);flex-wrap:wrap;display:flex}.option__actions{flex-shrink:0;gap:2px;display:flex}.chooser__empty{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-subtle)}.chooser__status{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.chooser__status:empty{margin:0}.chooser__status:focus-visible{border-radius:var(--radius-sm)}.chooser__note,.chooser__warning{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.chooser__warning{color:var(--color-text)}.chooser__note svg,.chooser__warning svg{color:var(--color-status-pending);flex-shrink:0;margin-top:2px}.chooser__footer{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.chooser__footer-end{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.chooser__sheet-action{margin-left:calc(-1 * var(--space-3))}.chooser__form{display:grid}.chooser__form-title{font-size:var(--text-md)}.chooser__label{margin-top:var(--space-4)}.chooser__check{align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-sm);cursor:pointer;display:inline-flex}.chooser__check input{width:1rem;height:1rem;accent-color:var(--color-accent)}.chooser__form .chooser__footer{margin-top:var(--space-5);justify-content:flex-end}.file-pick{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.file-pick__button{cursor:pointer}.file-pick__input:focus-visible+.file-pick__button{box-shadow:var(--focus-ring)}.file-pick__input[aria-invalid=true]+.file-pick__button{border-color:var(--color-status-offline)}.file-pick__name{min-width:0;font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.file-pick__name strong{font-weight:var(--weight-medium);color:var(--color-text)}.file-pick__name--empty{color:var(--color-text-subtle)}.file-pick__hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-subtle)}.file-pick__error{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-status-offline)}.chooser .chooser__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.chooser .btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.chooser .btn--primary[aria-disabled=true]:hover{background:var(--color-accent)}@media (width<=52rem){.my-sheets__head{display:none}.my-sheet{padding-block:var(--space-2);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"song manage""meta manage";row-gap:2px}.my-sheet>.song-line{grid-area:song}.my-sheet__manage{grid-area:manage}.my-sheet__meta{align-items:baseline;gap:0 var(--space-4);flex-wrap:wrap;grid-area:meta;min-width:0;display:flex}}@media (width<=40rem){.my-sheets__search{width:100%;max-width:none}.my-sheets__filters{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.my-sheets__filters .segmented__label{justify-content:center;width:100%}.my-sheet{padding-left:var(--space-3)}.option__label{padding:var(--space-3) var(--space-2) var(--space-3) var(--space-3)}.chooser__sheet-action{margin-left:0}}.perf{z-index:20;background:var(--color-bg);touch-action:pan-y pinch-zoom;position:fixed;inset:0;overflow:hidden}.perf__stage{inset:var(--space-2);place-items:center;display:grid;position:absolute}.perf--fit.perf--controls .perf__stage{top:6rem;bottom:6.5rem}@media (width<=40rem){.perf--fit.perf--controls .perf__stage{top:8.5rem;bottom:9.5rem}}.mock-sheet{width:100%;height:100%;display:block}.mock-sheet__paper{fill:#fbfaf7}.mock-sheet__ink{fill:#1c1d20;stroke:#1c1d20}.mock-sheet__ink text{stroke:none;font-family:var(--font-display)}.mock-sheet__title{font-size:8px;font-weight:var(--weight-semibold)}.mock-sheet__artist{font-size:4px}.mock-sheet__version,.mock-sheet__tempo{font-size:3.4px}.mock-sheet__footer{fill:#6b6e75;font-size:2.8px}.perf__empty{max-width:32ch;color:var(--color-text-muted);text-align:center}.perf-bar{left:var(--space-4);right:var(--space-4);z-index:1;align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-surface-1) 90%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-modal);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);flex-wrap:wrap;display:flex;position:absolute}.perf-bar--top{top:var(--space-4);transform:translateY(-6px)}.perf-bar--bottom{bottom:var(--space-4);transform:translateY(6px)}.perf--controls .perf-bar,.perf-bar:focus-within{opacity:1;pointer-events:auto;transform:none}@media (prefers-reduced-motion:reduce){.perf-bar,.perf-bar--top,.perf-bar--bottom{transform:none}}.perf-bar .btn--md{min-height:2.75rem}.perf-bar .btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.perf-bar .btn--secondary[aria-disabled=true]:hover{background:var(--color-surface-2)}.perf-bar__song{flex:16rem;min-width:0}.perf-bar__setlist{font-size:var(--text-xs);color:var(--color-text-subtle);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.perf-bar__title{font-size:var(--text-xl);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.perf-bar__status{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin-left:auto;display:flex}.perf-bar__musician{font-size:var(--text-sm);font-weight:var(--weight-medium)}.perf-bar__permission{font-size:var(--text-xs);color:var(--color-text-subtle);white-space:nowrap}.perf-bar__permission--yes{color:var(--color-accent-hover)}.perf-bar__nav{align-items:center;gap:var(--space-3);display:flex}.perf-bar__position{min-width:4.5rem;font-size:var(--text-md);font-weight:var(--weight-semibold);text-align:center;font-variant-numeric:tabular-nums}.perf-bar__next{min-width:0;font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;flex:14rem;overflow:hidden}.perf-bar__next-label{color:var(--color-text-muted)}.perf-bar__next strong{font-weight:var(--weight-semibold)}.perf-bar__sos{margin-left:auto}.perf__feedback{z-index:2;pointer-events:none;position:absolute;bottom:7rem;left:50%;transform:translate(-50%)}.perf__feedback span{max-width:min(36rem, calc(100vw - 2 * var(--space-4)));padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-2);box-shadow:var(--shadow-modal);font-size:var(--text-sm);text-align:center;animation:perf-feedback-in var(--duration-base) var(--ease-standard);display:block}@keyframes perf-feedback-in{0%{opacity:0}}@media (width<=40rem){.perf-bar{left:var(--space-2);right:var(--space-2);padding:var(--space-2) var(--space-3);gap:var(--space-2) var(--space-3)}.perf-bar__title{font-size:var(--text-lg)}.perf-bar__status{margin-left:0}.perf-bar__next{flex-basis:100%;order:-1}.perf__feedback{bottom:9.5rem}}.profile-screen__back{margin-left:calc(-1 * var(--space-4))}.profile-screen__title{margin-top:var(--page-title-gap,var(--space-6));font-size:var(--text-2xl)}.profile-screen__description{margin-top:var(--space-2);color:var(--color-text-muted)}.profile{max-width:40rem;margin-top:var(--page-section-gap,var(--space-8))}.profile__identity{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}.profile__identity-text{min-width:0}.profile__preview-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile__preview-role{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:.125rem}.profile__dirty{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-left:auto;display:inline-flex}.profile__dirty-dot{border-radius:var(--radius-full);background:var(--color-status-pending);width:.5rem;height:.5rem}.profile__form{padding:var(--space-5) var(--space-6) var(--space-5)}.profile__fields{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-field__label{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);display:block}.profile-field__required{font-weight:var(--weight-regular);color:var(--color-text-subtle)}.profile-field__input{width:100%;height:2.5rem;padding:0 var(--space-3);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-bg);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard)}.profile-field__input::placeholder{color:var(--color-text-subtle)}.profile-field__input:hover{border-color:var(--color-text-subtle)}.profile-field__input:focus-visible{border-color:var(--color-accent)}.profile-field__input[aria-invalid=true]{border-color:var(--color-status-offline)}.profile-field__error{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-status-offline)}.profile__permissions{margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.profile__none{font-size:var(--text-sm);color:var(--color-text-muted)}.profile__hint{align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-subtle);display:flex}.profile__footer{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.profile__status{min-height:1.25rem;font-size:var(--text-sm);color:var(--color-text-muted)}.profile__actions{gap:var(--space-2);margin-left:auto;display:flex}.profile .btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.profile .btn--primary[aria-disabled=true]:hover{background:var(--color-accent)}.profile .btn--secondary[aria-disabled=true]:hover{background:var(--color-surface-2)}.profile-dialog{padding:0 var(--space-3) var(--space-3);color:var(--color-text-muted)}.profile-dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}@media (width<=40rem){.profile__identity,.profile__form{padding-inline:var(--space-4)}.profile__fields{grid-template-columns:minmax(0,1fr)}.profile__dirty{width:100%;margin-left:0}}.switch{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);min-height:2rem;font-size:var(--text-sm);color:var(--color-text-muted);background:0 0;border:0;padding:0;display:inline-flex}.switch__track{border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-full);background:var(--color-surface-3);width:2.25rem;height:1.25rem;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);flex-shrink:0;position:relative}.switch__thumb{border-radius:var(--radius-full);background:var(--color-text-muted);width:.875rem;height:.875rem;transition:transform var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);position:absolute;top:50%;left:2px;transform:translateY(-50%)}.switch--on .switch__track{border-color:var(--color-accent);background:var(--color-accent)}.switch--on .switch__thumb{background:var(--color-on-accent);transform:translate(1rem,-50%)}.switch--on .switch__text{color:var(--color-text)}.switch:hover:not([aria-disabled=true]) .switch__track{border-color:var(--color-text-subtle)}.switch--on:hover:not([aria-disabled=true]) .switch__track{border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.switch[aria-disabled=true]{cursor:not-allowed;opacity:.45}.diagnostics{padding-top:var(--space-2)}.diagnostics__grid{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diagnostics__grid>.diag-group:last-child{grid-column:1/-1}.diag-group,.diag-log{padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.diag-group__title{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle);display:flex}.diag-tag{padding:0 var(--space-1);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:var(--weight-medium);letter-spacing:0;text-transform:none;color:var(--color-text-subtle)}.diag-tag--inline{margin-left:var(--space-2)}.diag-tag--simulated{border-color:color-mix(in srgb, var(--color-status-pending) 55%, transparent);color:var(--color-status-pending)}.diag-list{display:grid}.diag-item{gap:var(--space-1) var(--space-4);padding:var(--space-1) 0;border-bottom:var(--border-width) solid var(--color-border);font-size:var(--text-sm);grid-template-columns:minmax(9rem,13rem) minmax(0,1fr);display:grid}.diag-item:last-of-type{border-bottom:0}.diag-item dt{color:var(--color-text-subtle)}.diag-item dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;min-width:0;margin:0}.diag-muted{color:var(--color-text-subtle)}.diag-dot{width:.4375rem;height:.4375rem;margin-right:var(--space-2);border-radius:var(--radius-full);vertical-align:.1em;background:var(--color-text-subtle);display:inline-block}.diag-dot--online{background:var(--color-status-online)}.diag-dot--pending{background:var(--color-status-pending)}.diag-dot--offline{background:var(--color-status-offline)}.diag-tools{gap:2px;display:grid}.diag-tools strong{font-weight:var(--weight-medium)}.diag-actions{align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-2);margin-left:calc(-1 * var(--space-3));font-size:var(--text-xs);flex-wrap:wrap;display:flex}.diag-log{margin-top:var(--space-3)}.diag-log__intro{font-size:var(--text-xs)}.diag-log__list{margin-top:var(--space-2);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--text-xs);gap:2px;display:grid}.diag-log__list--full{max-height:16rem;padding-right:var(--space-2);overflow-y:auto}.diag-log__line{gap:var(--space-2);grid-template-columns:4.5rem 8.5rem minmax(0,1fr);padding:2px 0;display:grid}.diag-log__time{color:var(--color-text-subtle)}.diag-log__level{font-weight:var(--weight-semibold);color:var(--color-text-muted)}.diag-log__line--warning .diag-log__level{color:var(--color-status-pending)}.diag-log__line--error .diag-log__level{color:var(--color-status-offline)}.diag-log__message{overflow-wrap:anywhere;min-width:0;color:var(--color-text)}.diag-log__more{margin-top:var(--space-2)}.diag-log__more summary{border-radius:var(--radius-sm);min-height:2rem;font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;align-items:center;display:inline-flex}.diag-log__more summary:hover,.diag-log__more[open] summary{color:var(--color-text)}@media (width<=52rem){.diagnostics__grid{grid-template-columns:minmax(0,1fr)}}@media (width<=40rem){.diag-item{grid-template-columns:minmax(0,1fr);gap:0}.diag-log__line{grid-template-columns:auto minmax(0,1fr)}.diag-log__message{grid-column:1/-1}}.settings__back{margin-left:calc(-1 * var(--space-4))}.settings__title{margin-top:var(--page-title-gap,var(--space-6));font-size:var(--text-2xl)}.settings__description{margin-top:var(--space-2);color:var(--color-text-muted)}.settings__sections{gap:var(--space-3);max-width:58rem;margin-top:var(--page-section-gap,var(--space-8));display:grid}.settings-section{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-1)}.settings-section__summary{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);list-style:none;display:flex}.settings-section__summary::-webkit-details-marker{display:none}.settings-section__summary:hover{background:var(--color-surface-2)}.settings-section[open]>.settings-section__summary{border-bottom:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.settings-section__heading{flex:1;gap:2px;min-width:0;display:grid}.settings-section__title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold)}.settings-section__summary-text{font-size:var(--text-sm);color:var(--color-text-subtle)}.settings-section__chevron{color:var(--color-text-subtle);transition:transform var(--duration-fast) var(--ease-standard)}.settings-section[open] .settings-section__chevron{transform:rotate(180deg)}.settings-section__body{padding:var(--space-2) var(--space-5) var(--space-5)}.settings-section__text{font-size:var(--text-sm);color:var(--color-text-muted)}.settings-section__local{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-subtle);display:flex}.settings-section__local svg{flex-shrink:0;margin-top:1px}.settings-section__footer{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.settings-section__footer .settings-section__local{flex:22rem}.settings-section__notice{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.settings-section__notice svg{color:var(--color-status-pending);flex-shrink:0;margin-top:2px}.settings-section__notice strong{font-weight:var(--weight-semibold);color:var(--color-text)}.settings-section__status{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.settings-section__status:empty{margin:0}.setting{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-6);padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}.setting__text{flex:22rem;min-width:0}.setting__title{font-size:var(--text-sm);font-weight:var(--weight-medium)}.setting__description{font-size:var(--text-sm);color:var(--color-text-subtle);margin-top:2px}.setting__control{justify-items:end;gap:var(--space-1);display:grid}.setting__number{align-items:center;gap:var(--space-2);display:inline-flex}.setting__number-input{text-align:right;font-variant-numeric:tabular-nums;width:4.5rem}.setting__number-input:disabled{opacity:.45;cursor:not-allowed}.setting__unit{font-size:var(--text-sm);color:var(--color-text-muted)}.setting__error{text-align:right;max-width:18rem}.settings-field+.settings-field{margin-top:var(--space-4)}.settings-field--group{border:0;margin-inline:0;padding:0}.settings-field__label{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:0;display:block}.settings-field__required{font-weight:var(--weight-regular);color:var(--color-text-subtle)}.settings-field__input{width:100%;height:2.5rem;padding:0 var(--space-3);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-bg);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard)}.settings-field__input::placeholder{color:var(--color-text-subtle)}.settings-field__input:hover:not(:disabled){border-color:var(--color-text-subtle)}.settings-field__input:focus-visible{border-color:var(--color-accent)}.settings-field__input[aria-invalid=true]{border-color:var(--color-status-offline)}.settings-field__error{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-status-offline)}.settings-check{align-items:center;gap:var(--space-2);min-height:2rem;font-size:var(--text-sm);cursor:pointer;display:flex}.settings-check input{width:1rem;height:1rem;accent-color:var(--color-accent)}.permissions__intro{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-6);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.permissions__intro .settings-section__text{flex:26rem}.permissions{width:100%;margin-top:var(--space-4);border-collapse:collapse;font-size:var(--text-sm)}.permissions th,.permissions td{padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--color-border);text-align:left;vertical-align:middle}.permissions thead th{padding-block:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle)}.permissions th:first-child,.permissions td:first-child{padding-left:0}.permissions tbody tr:last-child>*{border-bottom:0}.permissions__musician{font-weight:var(--weight-medium)}.permissions__person{align-items:center;gap:var(--space-3);display:flex}.permissions__you{font-weight:var(--weight-regular);color:var(--color-text-subtle)}.permissions__role{color:var(--color-text-muted)}.permissions__value{align-items:center;gap:var(--space-1);color:var(--color-text-subtle);display:inline-flex}.permissions__value--yes{color:var(--color-text)}.permissions__value--yes svg{color:var(--color-accent)}.settings-dialog{padding:0 var(--space-3) var(--space-3);font-size:var(--text-sm)}.settings-dialog strong{font-weight:var(--weight-semibold)}.settings-dialog__warning{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);display:flex}.settings-dialog__warning svg{color:var(--color-status-pending);flex-shrink:0;margin-top:2px}.settings-dialog__note{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-text-subtle)}.settings-dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}@media (width<=44rem){.permissions thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.permissions,.permissions tbody,.permissions tr,.permissions th,.permissions td{display:block}.permissions tr{padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--color-border)}.permissions tbody tr:last-child{border-bottom:0}.permissions th,.permissions td{border-bottom:0;padding:2px 0}.permissions td[data-label]{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.permissions td[data-label]:before{content:attr(data-label);color:var(--color-text-subtle)}.permissions__musician{margin-bottom:var(--space-1)}.setting__control{justify-items:start}.setting__error{text-align:left}}@media (width<=40rem){.settings-section__summary{padding:var(--space-3) var(--space-4)}.settings-section__body{padding:var(--space-2) var(--space-4) var(--space-4)}}.action-menu{display:inline-flex}.action-menu__list{z-index:50;min-width:11rem;padding:var(--space-1);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-1);box-shadow:var(--shadow-modal);position:fixed}.action-menu__item{align-items:center;gap:var(--space-2);width:100%;min-height:2rem;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:left;white-space:nowrap;color:var(--color-text);background:0 0;border:0;display:flex}.action-menu__item svg{color:var(--color-text-subtle)}.action-menu__item:hover,.action-menu__item:focus-visible{background:var(--color-surface-3);box-shadow:none}.action-menu__item--danger,.action-menu__item--danger svg{color:var(--color-status-offline)}.action-menu__separator{height:var(--border-width);margin:var(--space-1) calc(-1 * var(--space-1));background:var(--color-border);display:block}.repertoire{--row-inset:var(--space-4);--toggle-size:2rem;--marker-size:.5rem;--col-gap:var(--space-3);--song-cols:var(--toggle-size) var(--marker-size) minmax(0, 1fr) 5.5rem 7.5rem;--title-offset:calc(var(--row-inset) + var(--toggle-size) + var(--marker-size) + 2 * var(--col-gap))}.repertoire__header{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.repertoire__back{margin-left:calc(-1 * var(--space-4))}.repertoire__title{margin-top:var(--page-title-gap);font-size:var(--text-2xl)}.repertoire__description{margin-top:var(--space-2);color:var(--color-text-muted)}.repertoire__toolbar{align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--page-section-gap);flex-wrap:wrap;display:flex}.repertoire__search{flex:16rem;max-width:24rem}.repertoire__filters{flex-wrap:wrap;max-width:100%}.repertoire__divider{width:var(--border-width);background:var(--color-border-strong);height:1.5rem}.repertoire__missing{border-color:var(--color-border-strong)}.repertoire__missing svg{color:var(--color-text-subtle)}.repertoire__missing--on,.repertoire__missing--on:hover{border-color:var(--color-accent-line);background:var(--color-accent-soft);color:var(--color-text)}.repertoire__missing--on svg{color:var(--color-accent)}.repertoire__missing-clear{margin-left:var(--space-1)}.repertoire__missing--on .repertoire__missing-clear{color:var(--color-text-muted)}.repertoire__legend{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);margin-left:auto;display:inline-flex}.repertoire__meta{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle);flex-wrap:wrap;display:flex}.repertoire__musician strong{font-weight:var(--weight-medium);color:var(--color-text-muted)}.repertoire__flash{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);font-size:var(--text-sm);color:var(--color-text);display:flex}.repertoire__flash svg{color:var(--color-status-online);margin-top:3px}.repertoire__flash-note{color:var(--color-text-subtle)}.repertoire__count{font-variant-numeric:tabular-nums}.song-dot{width:var(--marker-size,.5rem);height:var(--marker-size,.5rem);border-radius:var(--radius-full);background:var(--color-accent);display:inline-block}.song-list{overflow:hidden}.song-list__head,.song__row{grid-template-columns:var(--song-cols);align-items:center;column-gap:var(--col-gap);padding:0 var(--row-inset);display:grid}.song-list__head{border-bottom:var(--border-width) solid var(--color-border);height:2.25rem;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle)}.song{border-bottom:var(--border-width) solid var(--color-border)}.song:last-child{border-bottom:0}.song__row{min-height:3rem;padding-block:var(--space-1);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.song__row:hover,.song--expanded>.song__row{background:var(--color-surface-2)}.song__marker{align-items:center;display:flex}.song__heading{align-items:baseline;column-gap:var(--space-3);white-space:nowrap;min-width:0;display:flex}.song__title,.song__artist{text-overflow:ellipsis;overflow:hidden}.song__title{font-weight:var(--weight-medium);color:var(--color-text);flex-shrink:1}.song__artist{min-width:0;font-size:var(--text-sm);color:var(--color-text-subtle);flex-shrink:1000}.song__count{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.song__count--none{color:var(--color-text-subtle)}.song__own{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-subtle);white-space:nowrap;display:inline-flex}.song__own--yes{color:var(--color-text-muted)}.song__own--yes svg{color:var(--color-accent)}.song__versions{margin:0 var(--row-inset) var(--space-3) var(--title-offset);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.song__versions[hidden]{display:none}.song--expanded>.song__versions{margin-top:var(--space-1)}.version{align-items:center;column-gap:var(--space-3);min-height:2.5rem;padding:2px var(--space-1) 2px var(--space-3);border-bottom:var(--border-width) solid var(--color-border);grid-template-columns:1rem minmax(0,1fr) 7.5rem minmax(0,13rem) auto;display:grid;position:relative}.version--own:before{content:"";inset:var(--space-2) auto var(--space-2) 0;border-radius:var(--radius-full);background:var(--color-accent);width:2px;position:absolute}.version__icon{color:var(--color-text-subtle)}.version__name{align-items:center;gap:var(--space-2);white-space:nowrap;min-width:0;display:flex}.version__description{min-width:0;font-size:var(--text-sm);color:var(--color-text-subtle);text-overflow:ellipsis;overflow:hidden}.version__title{max-width:100%;padding:2px var(--space-1);margin-left:calc(-1 * var(--space-1));border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);text-align:left;text-overflow:ellipsis;white-space:nowrap;text-underline-offset:3px;transition:text-decoration-color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex-shrink:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;overflow:hidden}.version__title:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}.version__meta{display:contents}.version__musicians{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;display:flex}.version__musician-name{text-overflow:ellipsis;overflow:hidden}.version__mine{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-accent-soft);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-accent-hover);flex-shrink:0}.version__actions{gap:2px;display:flex}.versions__empty{padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-subtle)}.versions__footer{padding:var(--space-1) var(--space-2)}.repertoire__empty{align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center;background:0 0;border-style:dashed;flex-direction:column;display:flex}.repertoire__empty-icon{margin-bottom:var(--space-2);color:var(--color-text-subtle)}.repertoire__empty-title{font-size:var(--text-lg)}.repertoire__empty-text{max-width:48ch;margin-bottom:var(--space-4);color:var(--color-text-muted)}@media (width<=64rem){.repertoire__divider{display:none}.repertoire__legend{width:100%;margin-left:0}}@media (width<=52rem){.repertoire{--song-cols:var(--toggle-size) var(--marker-size) minmax(0, 1fr) auto auto}.version{padding-block:var(--space-1);grid-template-columns:1rem minmax(0,1fr) auto;grid-template-areas:"icon title actions"".meta actions";row-gap:2px}.version__icon{grid-area:icon}.version__name{grid-area:title}.version__actions{grid-area:actions}.version__meta{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;grid-area:meta;min-width:0;display:flex}}@media (width<=40rem){.repertoire{--row-inset:var(--space-3)}.repertoire__header .btn--primary,.repertoire__search{width:100%;max-width:none}.repertoire__filters{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.repertoire__missing{width:100%}.repertoire__filters .segmented__label{width:100%;height:auto;min-height:2rem;padding-block:var(--space-1);white-space:normal;text-align:center;line-height:var(--leading-snug);justify-content:center}.song__count-unit,.song__own-long{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.song-list__head{letter-spacing:.04em}.song__versions{margin-left:var(--row-inset)}}.setlist-editor{--list-max-height:max(16rem, calc(100vh - 25rem))}.page--content.setlist-editor{padding-bottom:var(--space-6)}.setlist-editor__back{margin-left:calc(-1 * var(--space-4))}.setlist-editor__header{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.setlist-editor__eyebrow{margin-top:var(--page-title-gap)}.setlist-editor__title{margin-top:var(--space-2);font-size:var(--text-2xl)}.setlist-editor__meta{align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.setlist-editor__meta svg{color:var(--color-text-subtle)}.setlist-editor__active{align-items:center;gap:var(--space-2);color:var(--color-accent-hover);display:inline-flex}.setlist-editor__save{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.setlist-editor__state{align-items:center;gap:var(--space-2);margin-right:var(--space-1);font-size:var(--text-sm);color:var(--color-text-subtle);display:inline-flex}.setlist-editor__state--dirty{font-weight:var(--weight-medium);color:var(--color-text)}.setlist-editor__state-dot{border-radius:var(--radius-full);background:var(--color-status-pending);width:.5rem;height:.5rem}.setlist-editor .btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.setlist-editor .btn--primary[aria-disabled=true]:hover{background:var(--color-accent)}.setlist-editor .btn--ghost[aria-disabled=true]:hover,.setlist-editor .btn--danger-ghost[aria-disabled=true]:hover{color:var(--color-text-muted);background:0 0}.setlist-editor__status{min-height:1.25rem;margin:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-text-muted)}.setlist-editor__status-text{animation:status-in var(--duration-base) var(--ease-standard)}@keyframes status-in{0%{opacity:0}}.setlist-editor__readonly{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-text-subtle);display:flex}.setlist-editor__columns{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.setlist-editor__columns--single{grid-template-columns:minmax(0,40rem)}.editor-column{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-1);flex-direction:column;min-width:0;display:flex;overflow:hidden}.editor-column__head{gap:var(--space-3);padding:var(--space-4);border-bottom:var(--border-width) solid var(--color-border);display:grid}.editor-column__heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.editor-column__title{font-size:var(--text-md)}.editor-column__title:focus-visible{border-radius:var(--radius-sm)}.editor-column__count{font-size:var(--text-sm);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.editor-column__hint{align-items:center;gap:var(--space-2);min-height:2.5rem;font-size:var(--text-sm);color:var(--color-text-subtle);display:flex}.editor-column__hint-narrow{display:none}.editor-column__list{max-height:var(--list-max-height);overscroll-behavior:contain;position:relative;overflow-y:auto}.editor-column__empty{padding:var(--space-8) var(--space-4);font-size:var(--text-sm);color:var(--color-text-subtle);text-align:center}.editor-column__empty--programme{gap:var(--space-2);min-height:12rem;margin:var(--space-3);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);align-content:center;display:grid}.editor-column__empty-hint svg{vertical-align:-2px;color:var(--color-text-muted);display:inline-block}.song-line{align-items:baseline;column-gap:var(--space-3);white-space:nowrap;min-width:0;display:flex}.song-line__title,.song-line__artist{text-overflow:ellipsis;overflow:hidden}.song-line__title{max-width:100%;font-weight:var(--weight-medium);flex:none}.song-line__artist{min-width:0;font-size:var(--text-sm);color:var(--color-text-subtle);flex-shrink:1000}.pick{align-items:center;column-gap:var(--space-3);min-height:2.75rem;padding:2px var(--space-2) 2px var(--space-4);border-bottom:var(--border-width) solid var(--color-border);grid-template-columns:minmax(0,1fr) auto 2rem;display:grid}.pick:last-child{border-bottom:0}.pick:hover{background:var(--color-surface-2)}.pick--added .song-line__title{color:var(--color-text-muted)}.pick__status{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-accent-hover);white-space:nowrap;font-variant-numeric:tabular-nums;display:inline-flex}.pick__add:not([aria-disabled=true]){color:var(--color-text)}.pick__add:not([aria-disabled=true]):hover{color:var(--color-accent-hover)}.programme__row{align-items:center;column-gap:var(--space-2);min-height:2.75rem;padding:2px var(--space-2) 2px var(--space-3);border-bottom:var(--border-width) solid var(--color-border);background:var(--color-surface-1);transition:background-color var(--duration-fast) var(--ease-standard);grid-template-columns:1rem 1.75rem minmax(0,1fr) auto;display:grid}.programme__row:last-child{border-bottom:0}.programme__row:hover{background:var(--color-surface-2)}.programme__row[draggable=true]{cursor:grab}.programme__row--dragged{opacity:.45}.programme__row--drop-before{box-shadow:inset 0 2px 0 var(--color-accent)}.programme__row--drop-after{box-shadow:inset 0 -2px 0 var(--color-accent)}.programme__row--new{animation:row-added 1.2s var(--ease-standard)}@keyframes row-added{0%{background:var(--color-accent-soft)}}.programme__grip{color:var(--color-text-subtle);display:flex}.programme__number{font-size:var(--text-sm);color:var(--color-text-subtle);text-align:right;font-variant-numeric:tabular-nums}.programme__actions{gap:2px;display:flex}.programme__row:not([draggable=true]){grid-template-columns:1.75rem minmax(0,1fr)}.editor-dialog{padding:0 var(--space-3) var(--space-3)}.editor-dialog strong{font-weight:var(--weight-semibold)}.editor-dialog__note{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-2) var(--space-3);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.editor-dialog__note svg{color:var(--color-status-pending);margin-top:2px}.editor-dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}@media (width<=56rem){.setlist-editor{--list-max-height:22rem}.setlist-editor__columns{grid-template-columns:minmax(0,1fr)}.pick__add svg{transform:rotate(90deg)}}@media (width<=40rem){.setlist-editor__save{width:100%}.setlist-editor__save-button{margin-left:auto}.editor-column__head{padding:var(--space-3)}.pick{padding-left:var(--space-3)}.programme__row{padding-left:var(--space-2);grid-template-columns:1.5rem minmax(0,1fr) auto}.programme__grip,.editor-column__hint-wide,.editor-column__hint svg{display:none}.editor-column__hint-narrow{display:inline}}.setlist-dialog{padding:0 var(--space-3) var(--space-3)}.setlist-dialog__text{overflow-wrap:anywhere}.setlist-dialog__text strong{font-weight:var(--weight-semibold)}.setlist-dialog__text--muted{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.setlist-dialog__warning{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text);display:flex}.setlist-dialog__warning svg{color:var(--color-status-pending);margin-top:2px}.setlist-dialog__note{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-2) var(--space-3);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.setlist-dialog__note svg{color:var(--color-status-pending);margin-top:2px}.setlist-dialog__note strong{font-weight:var(--weight-semibold);color:var(--color-text)}.setlist-dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.field+.field{margin-top:var(--space-4)}.field__label{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);display:block}.field__required{font-weight:var(--weight-regular);color:var(--color-text-subtle)}.field__input{width:100%;height:2.5rem;padding:0 var(--space-3);border:var(--border-width) solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-bg);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard)}.field__input::placeholder{color:var(--color-text-subtle)}.field__input:hover{border-color:var(--color-text-subtle)}.field__input:focus-visible{border-color:var(--color-accent)}.field__input[aria-invalid=true]{border-color:var(--color-status-offline)}.field__input--date{max-width:14rem}.field__error{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-status-offline)}.field__hint{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle)}.setlists{--row-inset:var(--space-4);--marker-size:.5rem;--col-gap:var(--space-3);--setlist-cols:var(--marker-size) minmax(0, 1fr) 9rem 7rem 2rem}.setlists__header{justify-content:space-between;align-items:flex-end;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.setlists__back{margin-left:calc(-1 * var(--space-4))}.setlists__title{margin-top:var(--page-title-gap);font-size:var(--text-2xl)}.setlists__description{margin-top:var(--space-2);color:var(--color-text-muted)}.setlists__readonly{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle);display:inline-flex}.setlists__toolbar{align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--page-section-gap);flex-wrap:wrap;display:flex}.setlists__search{flex:16rem;max-width:24rem}.setlists__sort{align-items:center;gap:var(--space-2);display:inline-flex}.setlists__sort-label{font-size:var(--text-sm);color:var(--color-text-subtle)}.select{align-items:center;display:inline-flex;position:relative}.select select{height:2.5rem;padding:0 calc(var(--space-3) + 16px + var(--space-2)) 0 var(--space-3);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-1);font-size:var(--text-sm);appearance:none;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard)}.select select:hover{border-color:var(--color-text-subtle)}.select select:focus-visible{border-color:var(--color-accent)}.select__icon{right:var(--space-3);color:var(--color-text-subtle);pointer-events:none;position:absolute}.setlists__legend{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);margin-left:auto;display:inline-flex}.setlist-dot{width:var(--marker-size,.5rem);height:var(--marker-size,.5rem);border-radius:var(--radius-full);background:var(--color-accent);display:inline-block}.setlists__meta{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-subtle);flex-wrap:wrap;display:flex}.setlists__count{font-variant-numeric:tabular-nums}.setlists__flash{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);font-size:var(--text-sm);display:flex}.setlists__flash>svg{color:var(--color-status-online);align-self:flex-start;margin-top:3px}.setlists__flash p{align-items:center;column-gap:var(--space-1);flex-wrap:wrap;flex:1;min-height:2rem;display:flex}.setlists__flash-note{color:var(--color-text-subtle)}.setlists__groups{gap:var(--space-8);margin-top:var(--space-4);display:grid}.setlist-group__title{margin-bottom:var(--space-2);font-family:var(--font-sans);letter-spacing:var(--tracking-label)}.setlist-group__count{margin-left:var(--space-1);font-variant-numeric:tabular-nums;color:var(--color-text-subtle);opacity:.8}.setlist-list{overflow:hidden}.setlist-list__head,.setlist{grid-template-columns:var(--setlist-cols);align-items:center;column-gap:var(--col-gap);padding:0 var(--space-2) 0 var(--row-inset);display:grid}.setlist-list__head{border-bottom:var(--border-width) solid var(--color-border);height:2.25rem;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle)}.setlist{min-height:3rem;padding-block:var(--space-1);border-bottom:var(--border-width) solid var(--color-border);transition:background-color var(--duration-fast) var(--ease-standard)}.setlist:last-child{border-bottom:0}.setlist:hover{background:var(--color-surface-2)}.setlist__marker{align-items:center;display:flex}.setlist__name{align-items:center;gap:var(--space-2);min-width:0;max-width:100%;margin-left:calc(-1 * var(--space-1));padding:2px var(--space-1);border-radius:var(--radius-sm);font-weight:var(--weight-medium);color:var(--color-text);text-align:left;transition:color var(--duration-fast) var(--ease-standard);background:0 0;border:0;justify-self:start;display:inline-flex}.setlist__name-text{text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);text-underline-offset:4px;transition:text-decoration-color var(--duration-fast) var(--ease-standard);overflow:hidden}.setlist__name-arrow{color:var(--color-accent);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);transform:translate(-4px)}.setlist__name:hover,.setlist__name:focus-visible{color:var(--color-accent-hover)}.setlist__name:hover .setlist__name-text,.setlist__name:focus-visible .setlist__name-text{text-decoration-color:currentColor}.setlist__name:hover .setlist__name-arrow,.setlist__name:focus-visible .setlist__name-arrow{opacity:1;transform:none}.setlist__meta{display:contents}.setlist__when{align-items:baseline;gap:var(--space-2);white-space:nowrap;display:inline-flex}.setlist__date,.setlist__count{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.setlist--past .setlist__date{color:var(--color-text-subtle)}.setlist__past-tag,.setlist__count--empty{font-size:var(--text-sm);color:var(--color-text-subtle)}.setlist__past-tag{font-size:var(--text-xs)}.setlist__actions{justify-content:flex-end;display:flex}.setlists__empty{align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center;background:0 0;border-style:dashed;flex-direction:column;display:flex}.setlists__empty-icon{margin-bottom:var(--space-2);color:var(--color-text-subtle)}.setlists__empty-title{font-size:var(--text-lg)}.setlists__empty-text{max-width:48ch;margin-bottom:var(--space-4);color:var(--color-text-muted)}@media (width<=64rem){.setlists__legend{width:100%;margin-left:0}}@media (width<=44rem){.setlist-list__head{display:none}.setlist{grid-template-columns:var(--marker-size) minmax(0, 1fr) 2rem;padding-block:var(--space-2);grid-template-areas:"marker name actions"".meta actions";row-gap:2px}.setlist__marker{grid-area:marker}.setlist__name{grid-area:name}.setlist__actions{grid-area:actions}.setlist__meta{align-items:baseline;gap:0 var(--space-3);flex-wrap:wrap;grid-area:meta;min-width:0;display:flex}}@media (width<=40rem){.setlists{--row-inset:var(--space-3)}.setlists__header .btn--primary,.setlists__search{width:100%;max-width:none}}
