:root{--bg:#f7f3ea;--surface:#fffdf8;--text:#1f2421;--muted:#6b6f68;--line:#e2dccd;--accent:#2f5d50;--chord:#b4441f;--bar-bg:#fffdf8f0;--lyric-size:1.125rem;--radius:10px;--gutter:16px;--font-body:ui-serif, Georgia, "Iowan Old Style", "Palatino Linotype", serif;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-chord:ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=night]){--bg:#141816;--surface:#1c211e;--text:#e9e6dd;--muted:#9aa097;--line:#2e3531;--accent:#7fc0a8;--chord:#f0a070;--bar-bg:#1c211ef0}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg:#141816;--surface:#1c211e;--text:#e9e6dd;--muted:#9aa097;--line:#2e3531;--accent:#7fc0a8;--chord:#f0a070;--bar-bg:#1c211ef0}:root[data-theme=night]{color-scheme:dark;--bg:#0a0705;--surface:#140e0a;--text:#b48a68;--muted:#7a5f49;--line:#2a1f17;--accent:#8f4e2c;--chord:#c76c3c;--bar-bg:#100b08f5}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);margin:0;line-height:1.5}a{color:var(--accent)}.wrap{max-width:720px;padding:0 var(--gutter);margin:0 auto}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header .wrap{align-items:center;gap:12px;min-height:52px;display:flex}.site-header a{color:var(--text);letter-spacing:.01em;font-weight:600;text-decoration:none}.site-header .header-end{margin-left:auto}.site-header .back{color:var(--accent);font-weight:500}.page-title{font-family:var(--font-body);margin:24px 0 4px;font-size:1.75rem}.page-sub{color:var(--muted);margin:20px 0 12px}.song-list{border-top:1px solid var(--line);margin:0 0 48px;padding:0;list-style:none}.song-list a{border-bottom:1px solid var(--line);min-height:56px;color:var(--text);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 4px;text-decoration:none;display:flex}.song-list a:active,.song-list a:hover{background:var(--surface)}.song-list .t{font-family:var(--font-body);font-size:1.15rem}.song-list .a{color:var(--muted);text-align:right;flex-shrink:0;font-size:.9rem}.song-list .tag{border:1px solid var(--line);color:var(--muted);vertical-align:2px;border-radius:4px;margin-left:6px;padding:0 6px;font-size:.75rem;display:inline-block}.song-head{padding:20px 0 8px}.song-head h1{font-family:var(--font-body);margin:0;font-size:1.75rem;line-height:1.2}.song-head .by{color:var(--muted);margin:4px 0 0}.song-head .sub{color:var(--muted);margin:2px 0 0;font-size:.9rem;font-style:italic}.song-meta{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.song-meta li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.85rem}.song-meta b{color:var(--muted);margin-right:4px;font-weight:600}.song-body{font-family:var(--font-body);font-size:var(--lyric-size);padding:8px 0 45vh}.section{margin:0 0 1.4em}.section-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .3em;font-size:.72em;font-weight:600}.section.chorus{border-left:3px solid var(--accent);padding-left:12px}.comment{font-family:var(--font-ui);color:var(--muted);margin:0 0 .3em;font-size:.85em}.comment.italic{font-style:italic}.chorus-ref{font-family:var(--font-ui);color:var(--accent);font-size:.85em;font-weight:600}.line{text-indent:-1em;margin:0 0 .15em;padding-left:1em}.w{vertical-align:bottom;text-indent:0;white-space:nowrap;align-items:flex-end;display:inline-flex}.w .seg .l{white-space:pre}.seg .c.empty{padding-right:0}.seg{text-indent:0;vertical-align:bottom;flex-direction:column;display:inline-flex}.seg .c{font-family:var(--font-chord);color:var(--chord);white-space:pre;padding-right:.45em;font-size:.85em;font-weight:700;line-height:1.3}.seg .l{white-space:pre-wrap}.line.plain .seg .c{display:none}.seg.mid .l{display:flex}.seg.mid .l:after{content:"";background:linear-gradient(var(--muted), var(--muted)) center / calc(100% - .5em) 1px no-repeat;flex:1 1 0;min-width:0}[data-chords=off] .seg.mid .l{display:inline}[data-chords=off] .seg.mid .l:after{content:none}[data-chords=off] .w,[data-chords=off] .seg{display:inline}[data-chords=off] .seg .c{display:none}[data-chords=off] .line{margin-bottom:.1em}.empty-note{font-family:var(--font-ui);color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);padding:16px;font-size:.95rem}.toolbar{z-index:10;background:var(--bar-bg);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.toolbar .wrap{align-items:center;gap:8px;padding:0;display:flex}.tb-group{align-items:center;gap:4px;display:flex}.tb-btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--text);font:600 .85rem var(--font-ui);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;min-width:44px;height:44px;padding:0 10px}.tb-btn.small{width:40px;min-width:40px;height:36px;font-size:.85rem}.tb-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.tb-btn:disabled{opacity:.4;cursor:default}.tb-btn.icon{width:44px;padding:0;font-size:1.1rem}.speed-val{text-align:center;min-width:2ch;font:600 .95rem var(--font-ui);font-variant-numeric:tabular-nums}#tb-scroll .pause,#tb-scroll[aria-pressed=true] .play{display:none}#tb-scroll[aria-pressed=true] .pause{letter-spacing:-.1em;font-size:.85rem;display:inline}.speed{flex:1;align-items:center;min-width:0;height:44px;display:flex}.speed input[type=range]{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;width:100%;height:44px;margin:0}.speed input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:3px;height:6px}.speed input[type=range]::-moz-range-track{background:var(--line);border-radius:3px;height:6px}.speed input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid var(--surface);border-radius:50%;width:26px;height:26px;margin-top:-10px;box-shadow:0 1px 3px #00000059}.speed input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid var(--surface);border-radius:50%;width:20px;height:20px}.speed input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.speed-val{text-align:right;min-width:3ch}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sheet{width:100%;max-width:520px;max-height:calc(100vh - 48px);max-height:calc(100dvh - env(safe-area-inset-top) - 16px);background:var(--surface);color:var(--text);border:none;border-radius:16px 16px 0 0;margin:auto auto 0;padding:0;overflow:hidden;box-shadow:0 -8px 32px #00000040}.sheet[open]{flex-direction:column;display:flex}.sheet::backdrop{background:#00000073}@media (width>=600px){.sheet{border-radius:16px;margin:auto}}.sheet-inner{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:0 var(--gutter) calc(20px + env(safe-area-inset-bottom));flex:auto;overflow-y:auto}.sheet-head{z-index:1;background:var(--surface);justify-content:space-between;align-items:center;padding:12px 0 8px;display:flex;position:sticky;top:0}.sheet-head h2{margin:0;font-size:1.1rem}.setting{border:none;border-top:1px solid var(--line);margin:0;padding:14px 0}.setting legend{float:left;width:100%;margin-bottom:10px;padding:0;font-weight:600}.setting legend+*{clear:both}.setting.row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.setting.row>label,.setting.row>span:first-child{font-weight:600}.setting .hint{color:var(--muted);margin:8px 0 0;font-size:.85rem}.stepper{gap:6px;display:flex}.offline-status{color:var(--muted);text-align:right;font-size:.9rem}.segmented{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented label{position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented span{border-left:1px solid var(--line);justify-content:center;align-items:center;min-height:44px;font-size:.85rem;font-weight:600;display:flex}.segmented label:first-child span{border-left:none}.segmented input:checked+span{background:var(--accent);color:var(--bg)}.segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-4px}.switch{appearance:none;background:var(--line);cursor:pointer;border-radius:999px;flex-shrink:0;width:52px;height:32px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:var(--surface);border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(20px)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row-inner{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.row-inner>label{font-weight:600}.v{display:none}.instr-strip{margin:4px 0;display:none}[data-aid=diagrams]:not([data-instrument=none]):not([data-chords=off]) .instr-strip,[data-variant=guitar-standard] .strip-block.v-guitar-standard,[data-variant=guitar-dadgad] .strip-block.v-guitar-dadgad,[data-variant=bouzouki-gdad] .strip-block.v-bouzouki-gdad,[data-variant=bouzouki-gdae] .strip-block.v-bouzouki-gdae,[data-variant=mandolin] .strip-block.v-mandolin,[data-variant=concertina] .strip-block.v-concertina{display:block}.c .aid{display:none}[data-aid=guided]:not([data-instrument=none]):not([data-chords=off]) .seg .c[data-chord]{flex-direction:column;align-items:flex-start;display:inline-flex}[data-aid=guided]:not([data-instrument=none]):not([data-chords=off]) .c .aid{margin-bottom:.15em;display:block}.c .aid .fm{display:block}[data-aid=guided][data-variant=concertina] .ag.v-concertina{flex-direction:column-reverse;align-items:flex-start;gap:.1em;display:flex}[data-chords=off] .fm,[data-chords=off] .ag,[data-chords=off] .chord-pop,[data-chords=off] .instrument-setting{display:none!important}html:not([data-instrument=none]) .seg .c[data-chord]{cursor:pointer}.fm{width:auto;height:2.6em}.fretbox .grid,.fretbox .nut{fill:none;stroke:var(--muted);stroke-linecap:square}.fretbox .nut{stroke:var(--text)}.fretbox .dot{fill:var(--chord)}.fretbox .open{fill:var(--chord);stroke:none}.fretbox .mute{fill:none;stroke:var(--muted)}.fretbox .fr{fill:var(--muted);font-family:var(--font-ui);font-weight:600}.chord-card .shape-of{color:var(--muted);font-size:.75em;font-weight:500}.string-pop{justify-content:center;align-items:center;gap:20px;display:flex}.string-pop-info p{margin:0 0 4px}.frets-code{font-family:var(--font-chord);letter-spacing:.08em;font-size:1.2rem;font-weight:700}.string-names{font-family:var(--font-chord);color:var(--muted);letter-spacing:.08em;font-size:.8rem}.pop-note{color:var(--muted);font-size:.8rem}.ag-dir{font-family:var(--font-ui);letter-spacing:.05em;color:var(--muted);font-size:.8em;font-weight:700;line-height:1}.ag svg{width:2.4em;height:auto;display:block}.ag .off{fill:none;stroke:var(--muted);stroke-width:.7px}.ag .on{fill:var(--chord);stroke:var(--chord);stroke-width:.7px}.ag.incomplete svg{opacity:.45}.concertina{margin:4px 0}.concertina-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-size:.72rem;font-weight:600}.concertina-strip{scroll-snap-type:x proximity;margin:0 calc(-1 * var(--gutter));padding-bottom:6px;padding-left:var(--gutter);padding-right:var(--gutter);scrollbar-width:thin;gap:8px;display:flex;overflow-x:auto}.chord-card{appearance:none;scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;flex-direction:column;flex:none;align-items:flex-start;gap:2px;padding:8px 10px 6px;display:flex}.chord-card .chord-name{font-family:var(--font-chord);color:var(--chord);font-size:.95rem;font-weight:700}.anglo-chord{gap:10px;display:flex}.anglo-chord.lg{justify-content:center;gap:16px}.anglo-chord.lg .anglo-dir{flex:1 1 0;min-width:0}.anglo.lg{width:100%;max-width:170px;height:auto}.anglo-dir{flex-direction:column;align-items:center;margin:0;display:flex}.anglo-dir figcaption{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:2px;font-size:.68rem;font-weight:600}.anglo-chord.lg figcaption{margin-top:6px;font-size:.78rem}.anglo-dir .missing{text-transform:none;letter-spacing:0;font-weight:500}.anglo-dir.incomplete svg{opacity:.4}.anglo .btn circle{fill:#0000;stroke:var(--muted);stroke-width:1.25px}.anglo.sm .btn circle{stroke-width:1px}.anglo .btn.on circle{fill:var(--chord);stroke:var(--chord)}.anglo .btn.root circle{stroke:var(--text);stroke-width:2.5px}.anglo.sm .btn.root circle{stroke-width:1.75px}.anglo text{font:600 10px var(--font-ui);fill:var(--muted)}.anglo .btn.on text{fill:var(--bg)}.chord-pop{left:0;right:0;bottom:calc(61px + env(safe-area-inset-bottom));z-index:11;background:var(--surface);border:1px solid var(--line);max-width:520px;padding:8px var(--gutter) 14px;border-radius:14px 14px 0 0;margin:0 auto;position:fixed;box-shadow:0 -6px 24px #0003}.chord-pop[hidden]{display:none}.chord-pop-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}#chord-pop-close{margin-left:auto}.chord-pop-name{font-family:var(--font-chord);color:var(--chord);font-size:1.3rem;font-weight:700}.chord-pop-legend{color:var(--muted);flex:1;align-items:center;gap:4px;font-size:.75rem;display:flex}.chord-pop-legend .dot{background:var(--chord);border-radius:50%;width:10px;height:10px;margin-left:6px;display:inline-block}.chord-pop-legend .dot.root{box-shadow:0 0 0 2px var(--text)}.setting-name{font-weight:600}.update-row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.link-btn{appearance:none;min-height:44px;font:500 .85rem var(--font-ui);color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:8px 0;text-decoration:underline}.link-btn:disabled{opacity:.4;cursor:default}.update-toast{top:calc(8px + env(safe-area-inset-top));z-index:20;background:var(--accent);color:var(--bg);font:600 .9rem var(--font-ui);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:6px 6px 6px 16px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.update-toast[hidden]{display:none}.update-toast .tb-btn{border-color:#0000;border-radius:999px;height:36px}.select-row{gap:8px;margin-bottom:10px;display:flex}.select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;width:100%;min-width:0;height:44px;color:var(--text);font:600 .95rem var(--font-ui);appearance:none;flex:1 1 0;padding:0 32px 0 12px}.select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tuning-guitar,.tuning-bouzouki{flex:0 0 8.5em;width:8.5em;display:none}[data-instrument=guitar] .tuning-guitar,[data-instrument=bouzouki] .tuning-bouzouki{display:block}[data-instrument=none] .aid-row{display:none}.segmented.two{grid-template-columns:repeat(2,1fr)}.cr,[data-chordnames=numerals] .cn{display:none}[data-chordnames=numerals] .cr{display:inline}.chordnames-row{margin-top:10px}[data-chords=off] .chordnames-row{display:none}.fig{vertical-align:.3em;text-align:left;flex-direction:column;margin-left:.05em;font-size:.58em;line-height:.95;display:inline-flex}.fig.one{vertical-align:.65em}
