:root{--bg:var(--ab-bg);--panel:var(--ab-surface);--ink:var(--ab-text);--muted:var(--ab-muted);--line:var(--ab-line);--accent:var(--ab-chordline);--accent-ink:var(--ab-on-accent);--field:var(--ab-surface);--chip:var(--ab-line-2);--err:var(--ab-chordline);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px);height:100%}*,:before,:after{box-sizing:border-box}body{background:var(--bg);height:100%;color:var(--ink);font:15px/1.45 var(--ab-font-sans);flex-direction:column;margin:0;display:flex;overflow:hidden}button{font:inherit;color:inherit}button:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--ab-focus);outline-offset:2px}.top{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.songname{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:32vw;font:600 17px/1.1 Barlow Condensed,Arial Narrow,sans-serif;overflow:hidden}.spacer{flex:1}.btn{border:1px solid var(--line);background:var(--field);cursor:pointer;min-height:var(--ab-touch);min-width:var(--ab-touch);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.btn:hover{border-color:var(--muted)}.sel{appearance:none;font:inherit;color:var(--ink);background-color:var(--field);background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);border:1px solid var(--line);height:var(--ab-touch);box-sizing:border-box;cursor:pointer;background-position:right 15px center,right 10px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:8px;padding:0 30px 0 12px;font-size:15px;line-height:1.2}.sel:hover{border-color:var(--muted)}.sel:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn[disabled]{opacity:.55;cursor:default}.seg{border:1px solid var(--line);background:var(--field);border-radius:9px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;min-height:var(--ab-touch);background:0 0;border:0;padding:7px 12px}.seg button[aria-pressed=true]{background:var(--ink);color:var(--panel)}.toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:14px;display:inline-flex}.toggle input{accent-color:var(--accent);width:18px;height:18px}.only-narrow{display:none}main{flex:1;grid-template-columns:minmax(340px,42%) 1fr;min-height:0;display:grid}.pane{flex-direction:column;min-height:0;display:flex}.ed{border-right:1px solid var(--line);background:var(--panel)}.keys{border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;gap:6px 14px;padding:8px 10px;display:flex}.kgrp{flex-wrap:wrap;gap:6px;display:inline-flex}.keys button{border:1px solid var(--line);background:var(--field);cursor:pointer;min-height:var(--ab-touch);min-width:var(--ab-touch);border-radius:7px;flex:none;padding:5px 10px;font-size:14px}.keys button.k-mono{font-family:JetBrains Mono,Menlo,monospace;font-weight:600}textarea#src{resize:none;background:var(--field);width:100%;color:var(--ink);tab-size:2;white-space:pre;border:0;flex:1;padding:14px 16px 40px;font:14px/1.6 JetBrains Mono,Menlo,Consolas,monospace;overflow:auto}textarea#src:focus{outline:none}.status{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:10px;min-height:36px;padding:8px 12px;font-size:13px;display:flex}.status .errs{color:var(--err);flex:1}.status .errs div+div{margin-top:2px}.status .saved{white-space:nowrap}.pv{-webkit-overflow-scrolling:touch;padding:18px 12px 60px;overflow:auto}.pages{flex-direction:column;align-items:center;gap:18px;display:flex}.pagewrap{box-shadow:0 1px 2px #0000002e,0 6px 22px #0000001f}.help{z-index:60;padding:calc(env(safe-area-inset-top,0px) + 24px) 12px 24px;background:#0a0e1473;justify-content:center;align-items:flex-start;display:none;position:fixed;inset:0;overflow:auto}.help.open{display:flex}.help-card{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;width:100%;max-width:720px;padding:22px 24px 26px}.help-card h2{margin:0 0 4px;font:700 26px/1.1 Barlow Condensed,sans-serif}.help-card h3{color:var(--accent);margin:20px 0 6px;font:600 18px/1.2 Barlow Condensed,sans-serif}.help-card p{max-width:66ch;margin:6px 0}.help-card code,.help-card pre{background:var(--field);border:1px solid var(--line);border-radius:6px;font-family:JetBrains Mono,Menlo,monospace;font-size:13px}.help-card code{padding:1px 5px}.help-card pre{margin:8px 0;padding:10px 12px;overflow-x:auto}.help-card table{border-collapse:collapse;width:100%;font-size:14px}.help-card td{border-top:1px solid var(--line);vertical-align:top;padding:6px 8px 6px 0}.help-card td:first-child{white-space:nowrap;font-family:JetBrains Mono,Menlo,monospace;font-size:13px}.tablewrap{overflow-x:auto}.lib{z-index:55;display:none;position:fixed;inset:0}.lib.open{display:block}.lib-bg{background:#0a0e1466;position:absolute;inset:0}.lib-panel{background:var(--panel);border-right:1px solid var(--line);width:min(380px,92vw);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0}.lib-head{align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.lib-head h2{flex:1;margin:0;font:700 24px/1 Barlow Condensed,sans-serif}.lib-search{padding:0 14px 8px}.lib-search input{box-sizing:border-box;width:100%;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);min-height:var(--ab-touch);border-radius:10px;padding:9px 12px;font-size:16px}.lib-search input:focus{outline:2px solid var(--accent);outline-offset:1px}.lib-count{color:var(--muted);min-height:1em;margin-top:6px;font-size:12.5px}.lib-empty{color:var(--muted);padding:12px 8px;font-size:14px}.lib-list{flex:1;padding:0 8px 12px;overflow:auto}.song{border-radius:9px;align-items:center;gap:6px;padding:2px;display:flex}.song.cur{background:var(--chip)}.song .open{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:9px 10px}.song .open b{font:600 17px/1.15 Barlow Condensed,sans-serif;display:block}.song .open span{color:var(--muted);font-size:13px}.song .del{color:var(--muted);cursor:pointer;min-height:var(--ab-touch);background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:13px}.song .del.confirm{color:var(--accent-ink);background:var(--err)}.lib-tools{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:10px 14px 0;display:flex}.lib-note{color:var(--muted);padding:8px 16px 14px;font-size:12.5px}.lib-foot{border-top:1px solid var(--line)}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);background:var(--ink);color:var(--panel);z-index:80;opacity:0;pointer-events:none;border-radius:10px;max-width:90vw;padding:10px 16px;font-size:14px;transition:opacity .2s;position:fixed;transform:translate(-50%)}.toast.show{opacity:1}.chk{min-height:var(--ab-touch);cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:0 4px;font-size:14px;display:inline-flex}.chk input{width:18px;height:18px;accent-color:var(--accent);margin:0}.chk:has(input:disabled){opacity:.45}@media (width<=900px){main{grid-template-columns:1fr}.only-narrow{display:inline-flex}body[data-view=sheet] .ed,body[data-view=edit] .pv{display:none}.ed{border-right:0}.songname{display:none}}@media (width<=560px){.top{gap:6px;padding:8px}.btn .lbl-long,.toggle span{display:none}}@media print{body{background:#fff;height:auto;overflow:visible}astrobass-bar,.top,.ed,.help,.lib,.toast{display:none!important}main{display:block}.pv{padding:0;overflow:visible}.pages{gap:0}.pagewrap{box-shadow:none;zoom:1!important}.page{page-break-after:always}@page{size:A4;margin:0}}@media (prefers-reduced-motion:reduce){.toast{transition:none}}[hidden]{display:none!important}.dlg{z-index:70;background:#0a0e1473;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.dlg.open{display:flex}.dlg-card{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;width:min(420px,100%);padding:18px 18px 14px;box-shadow:0 12px 40px #00000040}.dlg-card h2{margin:0 0 6px;font:700 22px/1.1 Barlow Condensed,sans-serif}.dlg-file{color:var(--muted);word-break:break-word;margin:0 0 14px;font-size:14px}.dlg-actions{flex-wrap:wrap;gap:8px;display:flex}.dlg-note{color:var(--muted);margin:10px 0 0;font-size:12.5px}.dlg-wide{width:min(640px,100%)}.dlg-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.dlg-head h2{flex:1;margin:0}.sc-list{border:1px solid var(--line);background:var(--field);border-radius:10px;max-height:min(58vh,520px);margin-bottom:12px;overflow:auto}.sc-sec{background:var(--chip);border-bottom:1px solid var(--line);z-index:1;min-height:var(--ab-touch);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;font:700 15px/1 Barlow Condensed,sans-serif;display:flex;position:sticky;top:0}.sc-row{border-bottom:1px solid var(--line);min-height:var(--ab-touch);grid-template-columns:22px 54px minmax(64px,90px) minmax(120px,1fr);align-items:center;gap:4px 8px;padding:6px 10px;font-size:14px;display:grid}.sc-row:last-child{border-bottom:0}.sc-row input[type=checkbox],.sc-sec input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:0}.sc-bar{color:var(--muted);font-size:12.5px}.sc-chord{font:700 16px/1 Barlow Condensed,sans-serif}.sc-row .sel{height:var(--ab-touch);width:100%;font-size:14px}.sc-why{color:var(--muted);grid-column:3/-1;margin-top:-2px;font-size:12.5px}.sc-row.off{opacity:.55}.toast button{font:inherit;color:inherit;min-height:var(--ab-touch);cursor:pointer;background:0 0;border:1px solid;border-radius:6px;margin-left:12px;padding:2px 10px;font-weight:600}.toast.act{pointer-events:auto}@media (width<=560px){.sc-row{grid-template-columns:22px 48px 1fr}.sc-row .sel{grid-column:2/-1}}astrobass-footer a{color:inherit;min-height:var(--ab-touch);align-items:center;display:inline-flex}@font-face{font-family:Chordline Music;src:url(/fonts/NotoMusic-Regular.ttf)format("truetype");unicode-range:U+2669-266C;size-adjust:160%;font-display:swap}@font-face{font-family:Chordline Music;src:url(/fonts/NotoMusic-Regular.ttf)format("truetype");unicode-range:U+266D-266F,U+1D1??;size-adjust:130%;font-display:swap}.page{color:#18202c;background:#fff;width:794px;height:1123px;padding:46px 46px 0;font-family:Barlow,Chordline Music,Helvetica Neue,Arial,sans-serif;position:relative;overflow:hidden}.pg-foot{color:#7b8491;border-top:1px solid #e3e6ea;justify-content:space-between;padding-top:8px;font:500 11px/1 Barlow,Chordline Music,sans-serif;display:flex;position:absolute;bottom:22px;left:46px;right:46px}.blk{margin-bottom:12px}.sh-head{border-bottom:2.5px solid #18202c;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:10px;display:flex}.sh-head h1{letter-spacing:.005em;margin:0;font:700 34px/1 Barlow Condensed,Chordline Music,Arial Narrow,sans-serif}.sh-a{color:#5a6473;margin-top:4px;font:500 15px/1.3 Barlow,Chordline Music,sans-serif}.sh-f{gap:16px;margin:0;display:flex}.sh-f div{text-align:right}.sh-f dt{color:#7b8491;margin-bottom:3px;font:500 10.5px/1 Barlow,Chordline Music,sans-serif}.sh-f dd .orig{color:#7b8491;font:500 11px/1 Barlow,Chordline Music,sans-serif}.sh-f dd{white-space:nowrap;margin:0;font:600 16px/1 Barlow Condensed,Chordline Music,sans-serif}.road{flex-wrap:wrap;align-items:center;gap:5px;margin-top:9px;font-size:12.5px;display:flex}.road-l{color:#7b8491;margin-right:4px}.chip{border:1px solid #c9ced5;border-radius:4px;padding:2px 7px;font:600 13px/1.25 Barlow Condensed,Chordline Music,sans-serif}.chip i{color:#8e3b2c;font-style:normal}.sec{align-items:baseline;gap:8px;margin:8px 0 4px;display:flex}.sec-n{color:#fff;background:#18202c;border-radius:3px;padding:4px 8px 3px;font:700 15px/1 Barlow Condensed,Chordline Music,sans-serif}.sec-x{color:#8e3b2c;font:600 13px/1 Barlow Condensed,Chordline Music,sans-serif}.row{border-bottom:1px solid #d5d9df;display:grid}.cell{border-left:1.4px solid #18202c;flex-direction:column;justify-content:flex-end;min-width:0;min-height:64px;padding:15px 6px 4px 8px;display:flex;position:relative}.cell.last{border-right:1.4px solid #18202c}.cell.dbl.last{border-right:4px double #18202c}.cell.rs{border-left:4px solid #18202c;padding-left:16px}.cell.re{padding-right:16px;border-right:4px solid #18202c!important}.rep{background:#18202c;width:1.4px;position:absolute;top:0;bottom:0}.rep-l{left:2px}.rep-r{right:2px}.rdots{width:5px;height:14px;line-height:0;position:absolute;top:26px}.rdots svg{display:block}.rdots-l{left:6px}.rdots-r{right:6px}.volta{color:#8e3b2c;border-top:1.4px solid #8e3b2c;border-left:1.4px solid #8e3b2c;height:13px;padding:2px 0 0 4px;font:600 11px/1 Barlow Condensed,Chordline Music,sans-serif;position:absolute;top:0;left:-1px;right:10%}.volta.cont{border-left:0;left:0;right:10%}.mk{gap:2px;display:flex;position:absolute;top:1px;left:6px}.mk svg{width:13px;height:14px}.cell.rs .mk{left:14px}.tail{color:#8e3b2c;align-items:center;gap:6px;font:italic 600 12px/1 Barlow,Chordline Music,sans-serif;display:flex;position:absolute;top:1px;right:6px}.cell.re .tail{right:14px}.tail span{align-items:center;gap:2px;display:inline-flex}.tail svg{width:14px;height:16px}.btxt{color:#5a6473;margin-bottom:2px;font:italic 11.5px/1.2 Barlow,Chordline Music,sans-serif}.chords{justify-content:space-between;align-items:baseline;gap:6px;min-height:30px;display:flex;position:static}.chords.beats{height:30px;display:block;position:relative}.cpos{white-space:nowrap;position:absolute;bottom:0}.cslot{color:#b8bfc8;font:500 17px/1 Barlow Condensed,sans-serif;bottom:3px}.push{color:#8e3b2c;font:600 11px/1 Barlow Condensed,sans-serif;position:absolute;top:-13px;left:0}.chord{white-space:nowrap;font-family:Barlow Condensed,Chordline Music,Arial Narrow,sans-serif}.cr{font-size:27px;font-weight:700;line-height:1}.cq{margin-left:1px;font-size:16px;font-weight:600;position:relative;top:-9px}.cb{margin-left:1px;font-size:19px;font-weight:600}.acc{margin-left:1px;font-size:.55em;position:relative;top:-.5em}.slashbeat{color:#7b8491;font:500 24px/1 Barlow Condensed,Chordline Music,sans-serif}.simile{justify-content:center;width:100%;padding-bottom:3px;display:flex}.rh{max-width:100%;margin-top:2px;display:block}.rh-empty{height:48px}.bly{border-top:1px dotted #d5d9df;margin-top:3px;padding-top:2px;font:13.5px/1.3 Barlow,Chordline Music,sans-serif}.bly div+div{color:#5a6473}.ly{margin:6px 0 2px;font:14px/1.45 Barlow,Chordline Music,sans-serif}.ly p{margin:0 0 2px}.vn{color:#8e3b2c;min-width:16px;font:700 12px/1 Barlow Condensed,Chordline Music,sans-serif;display:inline-block}.scale{margin:8px 0 2px}.sc-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:3px;display:flex}.sc-head b{font:700 16px/1.2 Barlow Condensed,Chordline Music,sans-serif}.sc-notes{flex-wrap:wrap;gap:8px;font:600 15px/1.2 Barlow Condensed,Chordline Music,sans-serif;display:flex}.sc-notes .rt{color:#8e3b2c}.sc-notes sub{color:#7b8491;margin-left:1px;font:500 10px/1 Barlow,Chordline Music,sans-serif}.lickwrap{margin:8px 0 2px}.lickwrap svg{display:block}.ascii{white-space:pre;color:#18202c;margin:8px 0 2px;font:600 12.5px/1.3 JetBrains Mono,Menlo,monospace;overflow:hidden}.rhrow{border-bottom:1px solid #d5d9df;margin:6px 0 2px;display:grid}.rhcell{border-left:1.4px solid #18202c;padding:0 4px}.rhcell:last-child{border-right:1.4px solid #18202c}.bsc{color:#8e3b2c;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font:600 12.5px/1.2 Barlow Condensed,Chordline Music,sans-serif;overflow:hidden}.sec.appx{margin-top:18px}.note{color:#5a6473;border-left:2px solid #8e3b2c;margin:6px 0 2px;padding-left:10px;font:italic 13.5px/1.4 Barlow,Chordline Music,sans-serif}.measure{visibility:hidden;width:702px;position:absolute;top:0;left:-10000px}.pdfstage{position:absolute;top:0;left:-12000px}
