:root{
  --gp-navy:#071525;
  --gp-navy-2:#0d2136;
  --gp-teal:#087f83;
  --gp-teal-dark:#05666a;
  --gp-teal-soft:#e7f5f4;
  --gp-gold:#d8a84e;
  --gp-gold-dark:#b6832d;
  --gp-ivory:#fbf8f1;
  --gp-paper:#fffdf9;
  --gp-ink:#17212b;
  --gp-muted:#65717c;
  --gp-coral:#d65f53;
  --gp-border:#e5ded2;
  --gp-shadow:0 12px 32px rgba(7,21,37,.10);
}
html,body{min-height:100%;background:var(--gp-ivory);color:var(--gp-ink)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--gp-teal-dark)}
a:hover{color:var(--gp-teal)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:320px minmax(0,1fr);background:var(--gp-ivory)}
.app-sidebar{position:sticky;top:0;height:100vh;overflow:hidden;padding:1.35rem 1rem;display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 20% 0%,rgba(216,168,78,.12),transparent 28%),linear-gradient(165deg,var(--gp-navy),#020a13 80%);border-right:1px solid rgba(216,168,78,.48);z-index:1030}
.brand-block{display:flex;align-items:center;gap:.65rem;padding:.2rem .45rem 1.45rem;border-bottom:1px solid rgba(255,255,255,.1)}
.brand-clef{font-family:Georgia,serif;font-size:3.2rem;line-height:1;color:var(--gp-gold);filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
.brand-heading{display:flex;align-items:center;gap:.5rem}.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;letter-spacing:-.04em;color:#fff}.brand-name span{color:var(--gp-gold)}.brand-about-link{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;color:var(--gp-gold);font-size:1.15rem;line-height:1;text-decoration:none;border-radius:50%}.brand-about-link:hover,.brand-about-link:focus-visible,.brand-about-link.active{color:#fff;background:rgba(255,255,255,.12);outline:none}
.brand-tagline{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#65c7c4;white-space:nowrap}
.app-nav{gap:.4rem;margin-top:1.25rem}.app-nav .nav-link{display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.78);padding:.78rem .85rem;border-radius:.7rem;font-weight:600;transition:.18s ease}.app-nav .nav-link:hover{color:#fff;background:rgba(255,255,255,.07)}.app-nav .nav-link.active{color:#fff;background:linear-gradient(135deg,var(--gp-teal),var(--gp-teal-dark));box-shadow:0 8px 20px rgba(8,127,131,.25)}
.nav-icon{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;font-size:1.25rem;color:var(--gp-gold)}.app-nav .active .nav-icon{color:#fff}
.nav-notes-separator{width:100%;height:1px;margin:.35rem 0;background:linear-gradient(90deg,transparent,rgba(216,168,78,.65),transparent)}
.sidebar-staff{position:relative;height:145px;margin-top:auto;opacity:.55;color:var(--gp-gold)}.sidebar-staff span{position:absolute;left:12px;bottom:19px;font-family:Georgia,serif;font-size:4.2rem;z-index:2}.sidebar-staff i{display:block;position:relative;top:70px;height:1px;margin:10px -1rem;background:linear-gradient(90deg,transparent,rgba(216,168,78,.4),transparent);transform:rotate(-8deg)}
.app-main{min-width:0;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff 0,var(--gp-ivory) 180px)}.app-topbar{position:sticky;top:0;z-index:1020;min-height:4rem;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;padding:.7rem clamp(1rem,3vw,3rem);background:rgba(255,253,249,.94);border-bottom:1px solid var(--gp-border);backdrop-filter:blur(12px)}.beta-warning{flex:1;min-width:0;color:#c1121f;font-size:.82rem;font-weight:800;line-height:1.35;text-align:left}.topbar-account{display:flex;align-items:center;justify-content:flex-end;gap:1rem;min-width:0;flex:0 0 auto}.topbar-identity{display:flex;align-items:baseline;gap:.45rem;min-width:0}.topbar-identity strong{overflow-wrap:anywhere}.content-wrap{width:100%;max-width:1500px;margin:0 auto;padding:2rem clamp(1rem,3vw,3rem) 3rem;flex:1}.app-footer{padding:0 clamp(1rem,3vw,3rem) 1.25rem;text-align:center;color:var(--gp-muted);font-size:.78rem}
.card{border:1px solid var(--gp-border);border-radius:1rem;background:rgba(255,253,249,.96);box-shadow:var(--gp-shadow)!important}.card-body{padding:clamp(1.1rem,2.3vw,1.8rem)}
h1,h2,h3,.card-title{letter-spacing:-.025em;color:var(--gp-ink)}h1:before{content:"♪";display:inline-block;margin-right:.55rem;color:var(--gp-gold);font-family:Georgia,serif}
.text-secondary{color:var(--gp-muted)!important}
.btn{border-radius:.58rem;font-weight:650;letter-spacing:.005em;box-shadow:none!important}.btn-primary{--bs-btn-bg:var(--gp-teal);--bs-btn-border-color:var(--gp-teal);--bs-btn-hover-bg:var(--gp-teal-dark);--bs-btn-hover-border-color:var(--gp-teal-dark);--bs-btn-active-bg:var(--gp-teal-dark);--bs-btn-active-border-color:var(--gp-teal-dark)}.btn-success{--bs-btn-bg:var(--gp-gold);--bs-btn-border-color:var(--gp-gold);--bs-btn-color:#17212b;--bs-btn-hover-bg:var(--gp-gold-dark);--bs-btn-hover-border-color:var(--gp-gold-dark);--bs-btn-hover-color:#fff}.btn-outline-success{--bs-btn-color:var(--gp-gold-dark);--bs-btn-border-color:var(--gp-gold);--bs-btn-hover-bg:var(--gp-gold);--bs-btn-hover-border-color:var(--gp-gold);--bs-btn-hover-color:#17212b}.btn-outline-primary{--bs-btn-color:var(--gp-teal-dark);--bs-btn-border-color:rgba(8,127,131,.55);--bs-btn-hover-bg:var(--gp-teal);--bs-btn-hover-border-color:var(--gp-teal)}.btn-outline-danger{--bs-btn-color:var(--gp-coral);--bs-btn-border-color:rgba(214,95,83,.5);--bs-btn-hover-bg:var(--gp-coral);--bs-btn-hover-border-color:var(--gp-coral)}
.icon-action{display:inline-grid;place-items:center;min-width:2.35rem;padding-inline:.5rem;line-height:1}.form-control,.form-select{border-color:#d8d2c8;border-radius:.58rem;background:#fff}.form-control:focus,.form-select:focus{border-color:var(--gp-teal);box-shadow:0 0 0 .22rem rgba(8,127,131,.15)}
.table-responsive{border:1px solid var(--gp-border);border-radius:.78rem}.table{--bs-table-bg:transparent;--bs-table-striped-bg:rgba(8,127,131,.035);--bs-table-hover-bg:rgba(216,168,78,.08);font-size:.94rem}.table>:not(caption)>*>*{padding:.8rem .72rem;border-bottom-color:#ece6dc}.table thead th{background:#f4f0e8!important;color:#45515c;text-transform:uppercase;letter-spacing:.055em;font-size:.7rem;white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}
.alert{border:0;border-radius:.75rem}.alert-info{color:#174c4e;background:var(--gp-teal-soft);border-left:4px solid var(--gp-teal)}.alert-warning{color:#674d14;background:#fff4d8;border-left:4px solid var(--gp-gold)}.alert-success{color:#17584e;background:#e9f7f1;border-left:4px solid #3a9f82}
.badge{font-weight:650;border-radius:999px}.text-bg-info{background:var(--gp-teal-soft)!important;color:var(--gp-teal-dark)!important}.text-bg-secondary{background:#e9e5de!important;color:#4e5963!important}
code{color:var(--gp-teal-dark);background:#edf4f3;padding:.1rem .3rem;border-radius:.25rem}
.page-kicker{color:var(--gp-teal);font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.beta-notes-warning{color:#ef2636;font-size:1.05rem;font-weight:600;line-height:1.5}
/* Five-line musical stave used behind the principal title on every page. */
.music-header{position:relative;display:inline-flex;align-items:center;min-height:3.35rem;padding:.25rem 1.35rem .25rem .15rem;isolation:isolate}
.music-header::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:50%;height:25px;transform:translateY(-50%);background:repeating-linear-gradient(to bottom,rgba(8,127,131,.28) 0,rgba(8,127,131,.28) 1px,transparent 1px,transparent 6px);border-radius:.2rem;mask-image:linear-gradient(90deg,#000 0,#000 82%,transparent 100%)}
.music-header .card-title,.music-header h1{position:relative;z-index:1;margin:0!important;padding:.05rem .45rem .08rem .12rem;color:var(--gp-ink);text-shadow:0 1px 0 var(--gp-paper),1px 0 0 var(--gp-paper),-1px 0 0 var(--gp-paper),0 -1px 0 var(--gp-paper),0 0 8px var(--gp-paper)}
.music-header .card-title::before,.music-header h1::before{filter:drop-shadow(0 1px 0 var(--gp-paper))}
.music-divider{display:none}
.upload-message-list{margin:-.25rem 0 1rem;padding:.65rem .8rem;border-left:3px solid var(--gp-teal);border-radius:.35rem;background:rgba(8,127,131,.08);color:var(--gp-ink)}.upload-message-list>div+div{margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(8,127,131,.16)}
.setlist-builder-grid,.sheet-library-grid{display:grid;grid-template-columns:minmax(19rem,.8fr) minmax(0,1.35fr);align-items:start;gap:clamp(1rem,2vw,1.75rem)}.setlist-builder-tools,.setlist-running-order,.sheet-library-controls,.sheet-library-list{min-width:0}.setlist-builder-tools .card:last-child,.sheet-library-controls .card:last-child{margin-bottom:0!important}
@media(max-width:1199.98px){.setlist-builder-grid,.sheet-library-grid{grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr);gap:1rem}.setlist-running-order .card-body,.sheet-library-list .card-body{padding:1rem}.setlist-running-order .table,.sheet-library-list .table{font-size:.84rem}.setlist-running-order .table>:not(caption)>*>*,.sheet-library-list .table>:not(caption)>*>*{padding:.65rem .45rem}}
@media(max-width:767.98px){.setlist-builder-grid,.sheet-library-grid{display:block}.setlist-builder-tools,.sheet-library-controls{margin-bottom:1.5rem}}
@media(max-width:991.98px){.app-shell{display:block}.app-sidebar{position:sticky;height:auto;padding:.7rem .85rem;overflow:visible}.brand-block{padding:0 0 .55rem;border-bottom:0;justify-content:center}.brand-clef{font-size:2.25rem}.brand-name{font-size:1.25rem}.brand-tagline{display:block;font-size:.62rem;letter-spacing:.055em;white-space:nowrap}.sidebar-staff{display:none}.app-nav{margin:0;gap:.35rem;justify-content:center}.app-nav .nav-link{padding:.55rem .8rem}.app-topbar{min-height:3.4rem;padding:.5rem .75rem}.content-wrap{padding:1rem .75rem 2rem}.card-body{padding:1rem}.table{font-size:.88rem}}
@media(max-width:575.98px){.brand-block{justify-content:center}.brand-tagline{font-size:.56rem;letter-spacing:.035em}.app-nav{justify-content:center}.app-nav .nav-link{flex:1 1 30%;justify-content:center}.app-topbar{align-items:stretch;flex-direction:column;gap:.55rem}.beta-warning{font-size:.75rem}.topbar-account{width:100%;justify-content:space-between;gap:.6rem}.topbar-identity{display:block;font-size:.78rem}.topbar-identity span{display:block}.content-wrap{padding:.75rem .5rem 1.5rem}.card{border-radius:.75rem}.card-body{padding:.85rem}.table>:not(caption)>*>*{padding:.65rem .5rem}.btn{min-height:42px}.btn-sm{min-height:36px}}

/* Perform navigation: left/right changes sheets; top/bottom changes pages. */
.perform-nav-zone{position:fixed;z-index:1060;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.perform-nav-zone:disabled{pointer-events:none}
.perform-nav-left,.perform-nav-right{top:14%;bottom:14%;width:min(12vw,84px)}
.perform-nav-left{left:0;justify-content:flex-start}.perform-nav-right{right:0;justify-content:flex-end}
.perform-nav-top,.perform-nav-bottom{left:14%;right:14%;height:min(12vh,84px)}
.perform-nav-top{top:0;align-items:flex-start}.perform-nav-bottom{bottom:0;align-items:flex-end}
.perform-nav-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;margin:.3rem;padding:.25rem .45rem;border:1px solid rgba(101,199,196,.68);border-radius:999px;color:#89e4df;background:rgba(5,24,34,.82);box-shadow:0 6px 18px rgba(0,0,0,.4);font-size:1.55rem;line-height:.85;opacity:0;transform:scale(.94);transition:opacity .16s ease,transform .16s ease;pointer-events:none}
.perform-nav-indicator small{margin-top:.22rem;font-size:.52rem;line-height:1;text-transform:uppercase;letter-spacing:.08em}
.perform-nav-zone:hover .perform-nav-indicator,.perform-nav-zone:focus-visible .perform-nav-indicator,.perform-nav-indicator.visible{opacity:.9;transform:scale(1)}
@media(max-width:575.98px){.perform-nav-left,.perform-nav-right{width:min(15vw,64px)}.perform-nav-top,.perform-nav-bottom{height:min(14vh,64px)}.perform-nav-indicator{min-width:2.2rem;min-height:2.2rem;font-size:1.3rem}}

/* About page */
.about-identity-panel{color:#fff;background:radial-gradient(circle at 20% 0%,rgba(216,168,78,.2),transparent 32%),linear-gradient(145deg,var(--gp-navy-2),var(--gp-navy));border:1px solid rgba(216,168,78,.45);box-shadow:0 18px 38px rgba(7,21,37,.2)}
.about-clef{font-family:Georgia,serif;font-size:5rem;line-height:1;color:var(--gp-gold);filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.about-brand{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.045em}.about-brand span{color:var(--gp-gold)}
.about-tagline{color:#65c7c4;font-size:.72rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.about-inspiration{background:linear-gradient(145deg,#fff,var(--gp-teal-soft))}.about-inspiration-copy{font-size:1.02rem;line-height:1.7}.about-inspiration-copy p{max-width:76ch}.about-inspiration-question{font-weight:700;font-style:italic;color:var(--gp-navy-2)}.about-inspiration-reveal{color:var(--gp-teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:700}
.about-feature-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;color:var(--gp-gold-dark);background:linear-gradient(145deg,#fff8e8,#f4e5bd);border:1px solid rgba(216,168,78,.35);font-family:Georgia,serif;font-size:1.55rem}
.about-workflow{display:grid;gap:1rem}.about-workflow li{display:flex;align-items:flex-start;gap:1rem}.about-workflow li>span{flex:0 0 2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--gp-teal),var(--gp-teal-dark));font-weight:800;box-shadow:0 6px 15px rgba(8,127,131,.22)}.about-workflow strong{display:block;font-size:1.02rem}.about-workflow small{display:block;color:var(--gp-muted);margin-top:.15rem}
.about-not-list{background:linear-gradient(145deg,#fff9ec,#f8f0de);border:1px solid rgba(216,168,78,.42)}.about-not-list ul{padding-left:1.15rem;color:var(--gp-muted)}.about-not-list li+li{margin-top:.65rem}
.about-cta{background:radial-gradient(circle at 50% -40%,rgba(101,199,196,.25),transparent 52%),linear-gradient(180deg,#fff,var(--gp-teal-soft))}
@media(max-width:575.98px){.about-tagline{white-space:normal}.about-identity-panel{padding:1.25rem!important}.about-clef{font-size:4rem}}

/* Optional support page. */
.support-card{background:radial-gradient(circle at 100% 0,rgba(216,168,78,.12),transparent 32%),var(--gp-paper)}
.support-note{color:#fff;background:radial-gradient(circle at 20% 0,rgba(216,168,78,.2),transparent 34%),linear-gradient(145deg,var(--gp-navy-2),var(--gp-navy));border:1px solid rgba(216,168,78,.45);box-shadow:0 18px 38px rgba(7,21,37,.2)}
.support-note-icon{display:grid;place-items:center;width:5rem;height:5rem;margin-inline:auto;border:2px solid var(--gp-gold);border-radius:50%;color:var(--gp-gold);font-family:Georgia,serif;font-size:3rem;background:rgba(255,255,255,.04)}

/* Standalone WebAssembly loading state. */
.loading-screen {
    min-height: 100vh;
    display: grid;
    place-content: center;
    gap: 1rem;
    text-align: center;
    color: #fff;
    background: #071525;
}
/* Developer's Notes */
.developer-notes-title{max-width:21ch;font-family:Georgia,"Times New Roman",serif;line-height:1.08;color:var(--gp-ink)}
.developer-notes-hero-panel{color:#fff;background:radial-gradient(circle at 15% 0,rgba(216,168,78,.24),transparent 36%),linear-gradient(145deg,var(--gp-navy-2),var(--gp-navy));border:1px solid rgba(216,168,78,.45);box-shadow:0 18px 38px rgba(7,21,37,.2)}
.developer-notes-code{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-inline:auto;border:1px solid rgba(216,168,78,.65);border-radius:50%;color:var(--gp-gold);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.2rem;font-weight:800;background:rgba(255,255,255,.05)}
.developer-notes-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.developer-notes-stats .card-body{height:100%;display:flex;flex-direction:column;gap:.4rem}.developer-notes-stats strong{color:var(--gp-teal-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,2.4vw,2.2rem);line-height:1}.developer-notes-stats span{color:var(--gp-muted);font-size:.88rem;line-height:1.35}
.developer-notes-copy{font-size:1.02rem;line-height:1.72}.developer-notes-copy p{max-width:76ch}.developer-notes-copy h2{margin-top:2.25rem;margin-bottom:1rem}.developer-notes-copy h2:first-child{margin-top:0}.developer-notes-quote{max-width:68ch;margin:2rem 0;padding:1.2rem 1.35rem;border-left:4px solid var(--gp-gold);border-radius:.35rem;color:var(--gp-navy-2);background:linear-gradient(90deg,#fff7e5,rgba(255,247,229,.25));font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;line-height:1.5}
.developer-notes-detail{background:linear-gradient(155deg,#edf8f7,var(--gp-paper) 70%)}.developer-notes-list{padding-left:1.2rem;color:var(--gp-muted)}.developer-notes-list li+li{margin-top:.8rem}.developer-notes-ai{background:radial-gradient(circle at 100% 0,rgba(101,199,196,.2),transparent 36%),var(--gp-paper)}.developer-notes-closing{background:radial-gradient(circle at 50% -50%,rgba(216,168,78,.22),transparent 48%),linear-gradient(180deg,#fff,var(--gp-teal-soft))}.developer-notes-closing p{max-width:58rem}
.gig-import-control{width:min(100%,32rem);flex:0 0 auto}
.developer-notes-section-grid{display:grid;grid-template-columns:minmax(14rem,31%) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}.developer-notes-section-reverse .developer-notes-section-grid{grid-template-columns:minmax(0,1fr) minmax(14rem,31%)}.developer-notes-heading{padding-top:.15rem;text-align:left}.developer-notes-heading h2{max-width:13ch;font-family:Georgia,"Times New Roman",serif;line-height:1.12;color:var(--gp-ink)}.developer-notes-section-reverse .developer-notes-heading{grid-column:2;grid-row:1;text-align:right}.developer-notes-section-reverse .developer-notes-heading h2{margin-left:auto}.developer-notes-section-reverse .developer-notes-copy{grid-column:1;grid-row:1}.developer-notes-section-reverse{background:linear-gradient(145deg,#fff,var(--gp-teal-soft))}.developer-notes-question{font-weight:700;font-style:italic}.developer-notes-list-columns{columns:2;column-gap:2.5rem}.developer-notes-list-columns li{break-inside:avoid}.developer-notes-list-columns li+li{margin-top:.65rem}
@media(max-width:991.98px){.developer-notes-title{max-width:none}.developer-notes-copy{font-size:1rem}}
@media(max-width:767.98px){.developer-notes-section-grid,.developer-notes-section-reverse .developer-notes-section-grid{grid-template-columns:1fr;gap:1.4rem}.developer-notes-section-reverse .developer-notes-heading,.developer-notes-section-reverse .developer-notes-copy{grid-column:1}.developer-notes-section-reverse .developer-notes-heading{grid-row:1;text-align:left}.developer-notes-section-reverse .developer-notes-copy{grid-row:2}.developer-notes-heading h2{max-width:none}.developer-notes-section-reverse .developer-notes-heading h2{margin-left:0}.developer-notes-list-columns{columns:1}}
@media(max-width:767.98px){.developer-notes-stats{grid-template-columns:1fr}.developer-notes-stats .card-body{padding:1.1rem}.developer-notes-copy{line-height:1.62}.developer-notes-quote{margin:1.5rem 0;padding:1rem;font-size:1.08rem}}
