@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:300;src:url(./nunito-sans-latin-300-normal-CsNJZAKg.woff2)format("woff2"),url(./nunito-sans-latin-300-normal-BiOXx06f.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-sans-latin-400-normal-AkRraKH2.woff2)format("woff2"),url(./nunito-sans-latin-400-normal-DY9yCUyQ.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./nunito-sans-latin-500-normal-DlmaWqTx.woff2)format("woff2"),url(./nunito-sans-latin-500-normal-BkymD7ni.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-sans-latin-700-normal-CICRJDmU.woff2)format("woff2"),url(./nunito-sans-latin-700-normal-CLVG92B9.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:300;src:url(./nunito-sans-latin-ext-300-normal-DXwB7Q_M.woff2)format("woff2"),url(./nunito-sans-latin-ext-300-normal-BZdQ5CiC.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-sans-latin-ext-400-normal-BoHsJHPR.woff2)format("woff2"),url(./nunito-sans-latin-ext-400-normal-CHwj-NZB.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./nunito-sans-latin-ext-500-normal-CMHVwiWL.woff2)format("woff2"),url(./nunito-sans-latin-ext-500-normal-C7oBUWiw.woff)format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-sans-latin-ext-700-normal-DBq_Pukt.woff2)format("woff2"),url(./nunito-sans-latin-ext-700-normal-jHN8vCOt.woff)format("woff")}@font-face{font-family:Barkentina;src:url(../fonts/Barkentina.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-body:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Barkentina", Georgia, serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--motion:.15s ease;--bg:#fff;--surface:#fff;--soft:#dbeefa;--cream:#fffaeb;--text:#073763;--muted:#527599;--link:#1d65c3;--link-hover:#2981c8;--eyebrow:#1d65c3;--chord:#1d65c3;--border:#cfe4f7;--strong:#073763;--on-strong:#fff;--gold:#eec03f;--gold-hover:#e6b12a;--gold-pressed:#d9a521;--on-gold:#073763;--highlight:#2981c8;--backdrop:#07376359;--shadow-button:0 3px 10px #07376326;--shadow-card:0 12px 30px #07376329;--shadow-panel:0 -8px 24px #0737631a;--focus:#2981c8}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121212;--surface:#1c1c1e;--soft:#2a2a2d;--cream:#1c1c1e;--text:#ece8e1;--muted:#a8a49c;--link:#a4d4fa;--link-hover:#dbeefa;--eyebrow:#a4d4fa;--chord:#a4d4fa;--border:#38383b;--strong:#ece8e1;--on-strong:#121212;--highlight:#eec03f;--backdrop:#0009;--shadow-button:0 3px 10px #0000004d;--shadow-card:0 12px 30px #0006;--shadow-panel:0 -8px 24px #0000004d;--focus:#a4d4fa}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121212;--surface:#1c1c1e;--soft:#2a2a2d;--cream:#1c1c1e;--text:#ece8e1;--muted:#a8a49c;--link:#a4d4fa;--link-hover:#dbeefa;--eyebrow:#a4d4fa;--chord:#a4d4fa;--border:#38383b;--strong:#ece8e1;--on-strong:#121212;--highlight:#eec03f;--backdrop:#0009;--shadow-button:0 3px 10px #0000004d;--shadow-card:0 12px 30px #0006;--shadow-panel:0 -8px 24px #0000004d;--focus:#a4d4fa}*,:before,:after{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:400;line-height:1.5}button,input,select,textarea{font-family:inherit}a{color:var(--link);transition:color var(--motion)}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2{font-weight:400}h1{font-family:var(--font-display);margin:.5rem 0 .75rem;font-size:2.125rem;line-height:1.08}.muted{color:var(--muted)}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);font-size:13px;font-weight:500}.btn,.actions button,.button,.pl-row button,.pl-controls button,.atp-panel button{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:2.75rem;color:var(--text);cursor:pointer;transition:background var(--motion), border-color var(--motion), color var(--motion);justify-content:center;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.95rem;text-decoration:none;display:inline-flex}.btn:hover,.actions button:hover,.button:hover,.pl-row button:hover,.pl-controls button:hover,.atp-panel button:hover{border-color:var(--link-hover);color:var(--text)}button:disabled{opacity:.45;cursor:default}.btn-gold,.update-banner button{font:inherit;border-radius:var(--radius-sm);background:var(--gold);min-height:3rem;color:var(--on-gold);box-shadow:var(--shadow-button);cursor:pointer;transition:background var(--motion);border:0;padding:.5rem 1.25rem;font-weight:700}.btn-gold:hover,.update-banner button:hover{background:var(--gold-hover)}.btn-gold:active,.update-banner button:active{background:var(--gold-pressed)}input[type=text],input[type=search],.search{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}input::placeholder{color:var(--muted);opacity:1}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.topbar a{color:var(--text);text-decoration:none}.topbar .brand{font-family:var(--font-display);font-size:1.5rem;line-height:1.1}.topbar .nav{letter-spacing:.2em;text-transform:uppercase;color:var(--link);font-size:13px;font-weight:500}main{overflow-wrap:anywhere;max-width:48rem;margin:0 auto;padding:1rem}.search{width:100%;min-height:3rem;padding:.6rem .9rem}.search:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--soft);outline:none}.tabs{border:1.5px solid var(--strong);border-radius:var(--radius-sm);gap:0;margin:.9rem 0;display:flex;overflow:hidden}.tab{min-height:2.75rem;font:inherit;background:var(--surface);color:var(--text);cursor:pointer;transition:background var(--motion), color var(--motion);border:0;flex:1;padding:.5rem;font-weight:500}.tab.on{background:var(--strong);color:var(--on-strong);font-weight:700}.songlist{margin:0;padding:0;list-style:none}.songlist a{border-bottom:1px solid var(--border);min-height:3rem;color:var(--text);transition:background var(--motion);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .25rem;text-decoration:none;display:flex}.songlist a:hover{background:var(--cream);color:var(--text)}.badge{background:var(--soft);color:var(--text);border-radius:999px;flex:none;padding:.15rem .6rem;font-size:.75rem}.kc-row,.actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.chord-sheet-wrap{margin-top:1.25rem}.chord-sheet .row{flex-wrap:wrap;align-items:flex-end;margin-bottom:.4rem;display:flex}.chord-sheet .column{flex-direction:column;min-width:0;max-width:100%;display:flex}.chord-sheet .lyrics{white-space:pre-wrap}.chord-sheet .label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:.75rem 0 .25rem;font-size:.8em;font-weight:500}.chord-sheet .comment{color:var(--muted);font-style:italic}.chord-sheet .paragraph{margin-bottom:1rem}button.chord{font:inherit;color:var(--chord);text-align:left;cursor:pointer;background:0 0;border:0;min-height:1.4em;padding:0 .5em 0 0;font-size:.9em;font-weight:700}button.chord:hover{color:var(--link-hover)}.chord-popover{left:50%;bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:40;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);max-width:calc(100vw - 2rem);padding:1rem 1.25rem;position:fixed;transform:translate(-50%)}.chord-popover svg{max-width:12rem;height:auto}.chord-popover .close{border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;top:.25rem;right:.25rem}.score{width:100%;margin-top:1rem;overflow-x:hidden}.score svg{max-width:100%;height:auto;color:var(--text);fill:currentColor;display:block}.score g.playing{color:var(--highlight);fill:var(--highlight)}.pl-row{align-items:center;gap:.5rem;display:flex}.pl-row a{flex:1}.pl-items{padding-left:1.5rem}.pl-items li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;min-height:3rem;display:flex}.pl-items li.missing{opacity:.6}.pl-items .badge{margin-left:.5rem}.pl-controls{flex:none;gap:.25rem;display:flex}.pl-controls button{min-height:2.75rem;padding:.3rem .6rem}.pl-items+.button{margin-top:1rem}.add-to-playlist,.atp-panel{flex-direction:column;gap:.5rem;display:flex}.atp-lists{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.atp-panel form{flex-wrap:wrap;gap:.5rem;display:flex}.atp-panel input[type=text]{flex:10rem;min-width:0;min-height:2.75rem;padding:.3rem .6rem}.chords-view .chord-sheet-wrap{font-size:calc(1.125rem * var(--font-scale,1))}.update-banner{z-index:60;background:var(--cream);border-bottom:1px solid var(--border);box-shadow:var(--shadow-card);justify-content:center;padding:.75rem;display:flex;position:fixed;top:0;left:0;right:0}@media print{.update-banner{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.song-view{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.song-view.with-tempo{padding-bottom:calc(11rem + env(safe-area-inset-bottom))}main:has(.song-view){padding-top:.5rem}.song-header{padding:0 .5rem}.song-back{align-items:center;gap:.5rem;margin-left:-.75rem;display:flex}.song-back a{width:44px;height:44px;color:var(--text);border-radius:var(--radius-sm);justify-content:center;align-items:center;display:flex}.song-back a:hover{background:var(--soft);color:var(--text)}.song-header h1{margin:.5rem 0 0}.subtitle{color:var(--muted);margin:.4rem 0 0;font-size:1rem;font-weight:300}.chips-row{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;display:flex}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip-reset{min-height:36px;font:inherit;color:var(--text);border:1.5px solid var(--text);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.chip-reset:hover{background:var(--soft)}.chip{background:var(--soft);color:var(--text);border-radius:999px;padding:4px 10px;font-size:13px}.chip-strong{background:var(--strong);color:var(--on-strong);font-weight:700}.song-panel{z-index:30;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-panel);position:fixed;bottom:0;left:0;right:0}.sp-row{justify-content:space-between;align-items:center;gap:2px;max-width:30rem;margin:0 auto;display:flex;position:relative}.sp-btn{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text);font:inherit;cursor:pointer;transition:background var(--motion), color var(--motion), border-color var(--motion);background:0 0;border:0;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.sp-plain:hover,.sp-plain[aria-expanded=true],.sp-plain[aria-pressed=true],.sp-soft{background:var(--soft)}.sp-soft:hover{background:var(--border)}.sp-chip,.sp-on{border:1.5px solid var(--strong);background:var(--surface);width:52px}.sp-chip:hover,.sp-chip:focus-within{background:var(--soft)}.sp-on{background:var(--strong);color:var(--on-strong)}.sp-on .chip-label{color:var(--on-strong)}.sp-gold{background:var(--gold);width:52px;color:var(--on-gold);box-shadow:var(--shadow-button)}.sp-gold:hover{background:var(--gold-hover)}.sp-gold:active{background:var(--gold-pressed)}.sp-gold:disabled{opacity:.6}.chip-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500;line-height:1.3}.chip-value{font-size:17px;font-weight:700;line-height:1}.sp-on .chip-value,.sp-chip .chip-value:only-child{font-size:13px}.key-chip select{opacity:0;cursor:pointer;width:calc(100% + 3px);height:calc(100% + 3px);font-size:16px;position:absolute;inset:-1.5px}.sp-divider{background:var(--border);flex:none;width:1px;height:28px}.sp-menu{display:contents}.sp-pop{background:var(--surface);width:min(20rem,100vw - 24px);max-height:70vh;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:.75rem;padding:.75rem;display:flex;position:absolute;bottom:calc(100% + 12px);right:0;overflow-y:auto}.menu-item{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:.5rem .75rem;font-weight:500;text-decoration:none;display:flex}.menu-item:hover{background:var(--soft);color:var(--text)}.sp-pop .add-to-playlist [role=status],.sp-pop .add-to-playlist [role=alert]{padding:0 .75rem;font-size:.9rem}.sp-pop .atp-panel{padding:0 .25rem}.pop-field{flex-direction:column;gap:.4rem;padding:0 .25rem;display:flex}.pop-label{letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);font-size:13px;font-weight:500}.pop-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pop-value{text-align:center;min-width:3.5rem;font-weight:700}.icon-btn{width:44px;height:44px;padding:0}.segmented{border:1.5px solid var(--strong);border-radius:var(--radius-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.segmented.two{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented>button,.segmented>label{background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;transition:background var(--motion), color var(--motion);border:0;font-size:14px}.segmented>button[aria-checked=true],.segmented>label.on{background:var(--strong);color:var(--on-strong);font-weight:700}.segmented>label span{font-weight:400}.segmented>label{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:52px;padding:4px 6px;line-height:1.25;display:flex;position:relative}.segmented>label:focus-within{outline:2px solid var(--focus);outline-offset:-4px}.segmented input{opacity:0;width:1px;height:1px;position:absolute}.tempo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);max-width:30rem;box-shadow:var(--shadow-card);align-items:center;gap:12px;margin:0 auto;padding:6px 8px 6px 14px;display:flex;position:absolute;bottom:calc(100% + 12px);left:12px;right:12px}.tempo-card label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:500}.tempo-card input{min-width:0;accent-color:var(--strong);flex:auto}.tempo-value{text-align:right;width:44px;font-size:15px;font-weight:700}.tempo-stop{border-radius:var(--radius-sm);background:var(--soft);width:44px;height:44px;color:var(--text);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;display:flex}.sheet-layer{z-index:50;position:fixed;inset:0}.sheet-backdrop{background:var(--backdrop);position:absolute;inset:0}.capo-sheet{max-width:30rem;max-height:92vh;padding:12px 20px calc(20px + env(safe-area-inset-bottom));background:var(--surface);color:var(--text);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-card);flex-direction:column;gap:16px;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet-grip{background:var(--border);border-radius:999px;align-self:center;width:40px;height:4px}.capo-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.capo-head h2{font-family:var(--font-body);margin:0;font-size:20px;font-weight:500}.capo-sounds{color:var(--muted);font-size:15px}.capo-sounds strong{color:var(--text)}.capo-help{margin:0;font-size:15px;line-height:1.5}.capo-frets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.fret{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:60px;color:var(--text);font:inherit;cursor:pointer;transition:background var(--motion), border-color var(--motion);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:flex}.fret:hover{border-color:var(--link-hover)}.fret-n{font-size:16px;font-weight:700;line-height:1}.fret-shape{color:var(--muted);font-size:12px;line-height:1}.fret.on{border-color:var(--strong);background:var(--strong);color:var(--on-strong)}.fret.on .fret-shape{color:var(--on-strong)}.capo-options{border-top:1px solid var(--border);flex-direction:column;display:flex}.capo-mode{border:0;border-bottom:1px solid var(--border);flex-direction:column;gap:8px;min-width:0;margin:0;padding:12px 0;display:flex}.capo-mode legend{padding:0 0 8px;font-size:15px}.capo-example{color:var(--muted);font-size:13px}.concert-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 0;font-size:15px;line-height:1.35;display:flex}.concert-row input{width:22px;height:22px;accent-color:var(--strong);flex:none}.capo-sheet .btn-gold{width:100%}.perf-exit{z-index:35;border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);opacity:.85;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:.5rem;right:.5rem}body.performance .song-back,body.performance .subtitle,body.performance .chips-row{display:none}body.performance .song-header h1{padding-right:3rem}@media (width<=380px){.song-panel{padding-left:8px;padding-right:8px}}@media print{.topbar,.no-print,.chord-popover,.actions,.song-panel,.tempo-card,.sheet-backdrop,.capo-sheet,.song-back{display:none!important}html,body{color:#000!important;background:#fff!important}main{max-width:none;padding:0!important}h1,.subtitle,.chip,.eyebrow{color:#000!important}.chip{border:1px solid #000;background:0 0!important}button.chord{color:#000!important}.score svg,.score g.playing{color:#000!important;fill:#000!important}.score svg,.chord-sheet .paragraph{break-inside:avoid}}
