:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ab-bg:#f6f1e7;--ab-surface:#fffdf8;--ab-text:#18202c;--ab-text-2:#3b4350;--ab-muted:#5a6473;--ab-line:#ddd5c6;--ab-line-2:#e6dfd1;--ab-surface-raised:#fffdf8;--ab-hover:#efe8d8;--ab-selected:#e3d9c1;--ab-border-strong:#857e70;--ab-shadow-pop:0 10px 28px #18202c2e, 0 2px 6px #18202c1f;--ab-bar:#18202c;--ab-bar-text:#f6f1e7;--ab-bar-muted:#b8bfc9;--ab-bar-line:#3b4558;--ab-brand:#a3402b;--ab-on-brand:#fff;--ab-chordline:#a3402b;--ab-eartraining:#2d5b78;--ab-on-accent:#fff;--ab-eartraining-soft:#e3ecf2;--ab-chordline-primary:#18202c;--ab-chordline-primary-hover:#a3402b;--ab-eartraining-primary:#18202c;--ab-eartraining-primary-hover:#2d5b78;--ab-groove:#6b4a86;--ab-groove-soft:#eee6f4;--ab-groove-primary:#18202c;--ab-groove-primary-hover:#6b4a86;--ab-on-primary:#fff;--ab-star:#e58a6f;--ab-focus:#2d5b78;--ab-ok:#1f6b4f;--ab-ok-soft:#e1f0e8;--ab-error:#a32a24;--ab-error-soft:#f9e6e3;--ab-warn:#7a5410;--ab-warn-soft:#f8ebc8;--ab-sheet:#fff;--ab-sheet-ink:#18202c;--ab-font-sans:"Barlow", "Helvetica Neue", Arial, sans-serif;--ab-font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--ab-font-mono:"JetBrains Mono", Menlo, Consolas, monospace;--ab-bar-height:44px;--ab-touch:44px;--ab-radius:10px;--ab-radius-card:14px;--ab-radius-small:8px;--ab-accent:var(--ab-brand);--ab-primary:var(--ab-chordline-primary);--ab-primary-hover:var(--ab-chordline-primary-hover)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ab-bg:#141a24;--ab-surface:#1c2431;--ab-text:#efe9dd;--ab-text-2:#c9ced6;--ab-muted:#aeb5c0;--ab-line:#2e3848;--ab-line-2:#262f3d;--ab-surface-raised:#243044;--ab-hover:#2d394d;--ab-selected:#3a4a62;--ab-border-strong:#76829a;--ab-shadow-pop:0 10px 28px #0000008c, 0 2px 6px #0006;--ab-bar:#0e131b;--ab-bar-text:#efe9dd;--ab-bar-muted:#aeb5c0;--ab-bar-line:#2e3848;--ab-brand:#e07a5f;--ab-on-brand:#141a24;--ab-chordline:#e07a5f;--ab-eartraining:#7fb3d5;--ab-on-accent:#141a24;--ab-eartraining-soft:#1e3446;--ab-chordline-primary:#a3402b;--ab-chordline-primary-hover:#b24a33;--ab-eartraining-primary:#2d5b78;--ab-eartraining-primary-hover:#386b8b;--ab-groove:#b8a0d8;--ab-groove-soft:#2e2540;--ab-groove-primary:#6b4a86;--ab-groove-primary-hover:#7a5896;--ab-on-primary:#f6f1e7;--ab-star:#e58a6f;--ab-focus:#7fb3d5;--ab-ok:#7ccba2;--ab-ok-soft:#1b3a2e;--ab-error:#f0928a;--ab-error-soft:#4a2220;--ab-warn:#e6bf6a;--ab-warn-soft:#433618;--ab-sheet:#fff;--ab-sheet-ink:#18202c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ab-bg:#141a24;--ab-surface:#1c2431;--ab-text:#efe9dd;--ab-text-2:#c9ced6;--ab-muted:#aeb5c0;--ab-line:#2e3848;--ab-line-2:#262f3d;--ab-surface-raised:#243044;--ab-hover:#2d394d;--ab-selected:#3a4a62;--ab-border-strong:#76829a;--ab-shadow-pop:0 10px 28px #0000008c, 0 2px 6px #0006;--ab-bar:#0e131b;--ab-bar-text:#efe9dd;--ab-bar-muted:#aeb5c0;--ab-bar-line:#2e3848;--ab-brand:#e07a5f;--ab-on-brand:#141a24;--ab-chordline:#e07a5f;--ab-eartraining:#7fb3d5;--ab-on-accent:#141a24;--ab-eartraining-soft:#1e3446;--ab-chordline-primary:#a3402b;--ab-chordline-primary-hover:#b24a33;--ab-eartraining-primary:#2d5b78;--ab-eartraining-primary-hover:#386b8b;--ab-groove:#b8a0d8;--ab-groove-soft:#2e2540;--ab-groove-primary:#6b4a86;--ab-groove-primary-hover:#7a5896;--ab-on-primary:#f6f1e7;--ab-star:#e58a6f;--ab-focus:#7fb3d5;--ab-ok:#7ccba2;--ab-ok-soft:#1b3a2e;--ab-error:#f0928a;--ab-error-soft:#4a2220;--ab-warn:#e6bf6a;--ab-warn-soft:#433618;--ab-sheet:#fff;--ab-sheet-ink:#18202c}[data-tool=chordline]{--ab-accent:var(--ab-chordline);--ab-primary:var(--ab-chordline-primary);--ab-primary-hover:var(--ab-chordline-primary-hover)}[data-tool=eartraining]{--ab-accent:var(--ab-eartraining);--ab-primary:var(--ab-eartraining-primary);--ab-primary-hover:var(--ab-eartraining-primary-hover)}[data-tool=groove]{--ab-accent:var(--ab-groove);--ab-primary:var(--ab-groove-primary);--ab-primary-hover:var(--ab-groove-primary-hover)}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}select:not([multiple]):not([size]){appearance:none;box-sizing:border-box;height:var(--ab-touch,44px);min-height:var(--ab-touch,44px);border:1px solid var(--ab-line);border-radius:var(--ab-radius,10px);background-color:var(--ab-surface);background-image:linear-gradient(45deg, transparent 50%, var(--ab-text-2) 50%), linear-gradient(135deg, var(--ab-text-2) 50%, transparent 50%);color:var(--ab-text);font:inherit;cursor:pointer;background-position:right 17px center,right 12px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:0 34px 0 12px;line-height:1.2}select:not([multiple]):not([size]):hover{border-color:var(--ab-text-2)}select:not([multiple]):not([size]):focus-visible{outline:2px solid var(--ab-focus);outline-offset:2px}select:not([multiple]):not([size]):disabled{opacity:.6;cursor:default}*,:before,:after{box-sizing:border-box}html{min-height:100%}body{background:var(--ab-bg);min-height:100dvh;color:var(--ab-text);font:16px/1.45 var(--ab-font-sans);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;margin:0;display:flex}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--ab-focus);outline-offset:2px}[hidden],[data-pro][hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[data-i18n-pending] body{visibility:hidden}.bar-about{color:var(--ab-bar-text);min-height:var(--ab-touch);align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.bar-about:hover{text-decoration:underline}@media (width<=520px){.bar-about{display:none}}main{flex-direction:column;flex:1;gap:16px;width:100%;max-width:720px;margin:0 auto;padding:24px 24px 32px;display:flex}@media (width<=520px){main{gap:12px;padding:16px 16px 24px}}.card{background:var(--ab-surface);border:1px solid var(--ab-line);border-radius:var(--ab-radius-card);flex-direction:column;gap:12px;padding:20px 24px;display:flex}@media (width<=520px){.card{padding:16px}}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--ab-muted);margin:0;font-size:13px;font-weight:600}.tempo{align-items:center;gap:16px;padding-top:28px;padding-bottom:24px}.tempo-row{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.step{border:1px solid var(--ab-line);background:var(--ab-surface);width:64px;height:64px;color:var(--ab-text);font-family:var(--ab-font-display);cursor:pointer;border-radius:14px;flex:none;font-size:24px;font-weight:600;transition:border-color .12s,background-color .12s}.step:hover{border-color:var(--ab-accent);background:var(--ab-groove-soft)}.step:active{background:var(--ab-groove-soft)}.bpm-box{flex-direction:column;align-items:center;min-width:0;display:flex}#bpm{text-align:center;width:4ch;min-width:0;font-family:var(--ab-font-display);font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0;font-size:112px;font-weight:600;line-height:1}#bpm::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#bpm::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.count-num{text-align:center;width:4ch;font-family:var(--ab-font-display);font-variant-numeric:tabular-nums;color:var(--ab-accent);border-bottom:2px solid #0000;font-size:112px;font-weight:600;line-height:1}#bpm:hover,#bpm:focus{border-bottom-color:var(--ab-accent)}.bpm-unit{color:var(--ab-muted);font-size:17px;font-weight:600}.tap-box{flex-direction:column;align-items:center;gap:6px;display:flex}.tap{border:1.5px solid var(--ab-accent);background:var(--ab-surface);min-width:200px;min-height:48px;color:var(--ab-text);cursor:pointer;border-radius:24px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:17px;font-weight:600;transition:background-color 80ms;display:inline-flex}.tap svg{color:var(--ab-accent)}.tap:hover,.tap.tapped{background:var(--ab-groove-soft)}.tap-hint{min-height:22px;color:var(--ab-muted);text-align:center;margin:0;font-size:15px}@media (width<=520px){.tempo-row{gap:6px}.step{width:48px;height:48px;font-size:18px}#bpm,.count-num{font-size:76px}}.fields{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:12px;display:grid}html[data-tier=free] .fields{grid-auto-columns:minmax(0,260px)}.pro-wrap{display:contents}.fields .fld astrobass-select{font-size:17px}@media (width<=560px){.fields{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:8px}html[data-tier=free] .fields{grid-template-columns:minmax(0,1fr)}}.swing{flex-direction:column;gap:2px;display:flex}.swing-line{justify-content:space-between;gap:8px;font-size:16px;display:flex}.swing-name{font-weight:600}.swing-val{font-variant-numeric:tabular-nums;color:var(--ab-text-2);font-weight:600}.bpm-note{font-size:1.15em}.beats{flex-wrap:wrap;gap:10px;display:flex}.beat{border:1px solid var(--ab-line);background:var(--ab-surface);min-width:0;min-height:88px;font-family:var(--ab-font-display);border-radius:999px;flex:64px;justify-content:center;align-items:center;font-size:28px;font-weight:600;transition:background-color 40ms linear;display:flex}.beat[data-layer=one]{border:3px solid var(--ab-text);border-radius:12px}.beat.on{background:var(--ab-accent);border-color:var(--ab-accent);color:var(--ab-on-accent)}button.beat{min-height:120px;color:var(--ab-text);font-size:inherit;cursor:pointer;border-radius:12px;flex-direction:column;gap:8px;padding:8px 4px}button.beat .n{font-family:var(--ab-font-display);font-size:28px;font-weight:600;line-height:1}button.beat .bars{align-items:flex-end;gap:4px;height:26px;display:flex}button.beat .bars i{background:var(--ab-line);border-radius:2px;width:7px;display:block}button.beat .bars i:first-child{height:10px}button.beat .bars i:nth-child(2){height:18px}button.beat .bars i:nth-child(3){height:26px}button.beat .bars i.f{background:currentColor}button.beat .lbl{font-family:var(--ab-font-sans);font-size:13px;font-weight:600;line-height:1}button.beat .dots{font-family:var(--ab-font-sans);letter-spacing:3px;font-size:12px;line-height:1}button.beat[data-level=accent]{border:3px solid var(--ab-text)}button.beat[data-level=mute]{border:2px dashed var(--ab-muted);background:0 0}button.beat:hover{border-color:var(--ab-accent)}button.beat.on{background:var(--ab-accent);border-color:var(--ab-accent);color:var(--ab-on-accent)}button.beat.on .bars i:not(.f){opacity:.35;background:currentColor}button.beat.on[data-level=mute]{border-style:solid}@media (width<=520px){button.beat{min-height:88px}}@media (prefers-reduced-motion:reduce){.beat{transition:none}}.go{flex-direction:column;align-items:center;gap:12px;padding-top:4px;display:flex}.start{background:var(--ab-primary);width:100%;max-width:420px;min-height:72px;color:var(--ab-on-primary);cursor:pointer;border:0;border-radius:36px;justify-content:center;align-items:center;gap:12px;font-size:24px;font-weight:700;display:flex}.start:hover{background:var(--ab-primary-hover)}.start .i-stop,.start.playing .i-play{display:none}.start.playing .i-stop{display:inline}.status{min-height:24px;color:var(--ab-text-2);text-align:center;margin:0;font-size:17px;font-weight:600}.status.live{color:var(--ab-accent)}.status.error{color:var(--ab-error)}.modes-line{text-align:center;max-width:420px;color:var(--ab-text-2);overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:600}.notice{max-width:420px;color:var(--ab-text);text-align:center;margin:0;font-size:16px;font-weight:600}.notice:empty{height:0;margin:-6px 0}.paused{border-radius:var(--ab-radius);background:var(--ab-warn-soft);color:var(--ab-text);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:12px 16px;display:flex}.paused[hidden]{display:none}.paused p{margin:0;font-weight:600}.btn{min-height:var(--ab-touch);border-radius:var(--ab-radius-small);border:1px solid var(--ab-line);background:var(--ab-surface);cursor:pointer;padding:0 18px;font-weight:600}.keys-hint{color:var(--ab-muted);text-align:center;margin:0;font-size:14px}@media (hover:none){.keys-hint{display:none}}.sq{width:var(--ab-touch);height:var(--ab-touch);border-radius:var(--ab-radius-small);border:1px solid var(--ab-line);background:var(--ab-surface);color:var(--ab-text);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.sq:hover{border-color:var(--ab-accent)}.sq.on,.sq[aria-pressed=true]{border:2px solid var(--ab-accent);background:var(--ab-groove-soft)}.sq.gear[aria-expanded=true]{background:var(--ab-accent);border-color:var(--ab-accent);color:var(--ab-on-accent)}.sound.muted #master{opacity:.75}.sound.muted .vol-val{color:var(--ab-text-2)}.layer-desc{color:var(--ab-text-2);margin:-4px 0 0;font-size:15px}.sq .i-muted,.sq[aria-pressed=true] .i-sound{display:none}.sq[aria-pressed=true] .i-muted{display:inline}input[type=range]{accent-color:var(--ab-accent);width:100%;height:var(--ab-touch);margin:0}.sound{gap:10px;padding-top:12px;padding-bottom:12px}.sound-row{flex-wrap:nowrap;align-items:center;gap:12px;display:flex}.sound-row input[type=range]{flex:auto;width:auto;min-width:0}.vol-val{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:3.6em;font-weight:600}.sound-more{border-top:1px solid var(--ab-line-2);flex-direction:column;gap:14px;padding-top:12px;display:flex}.set-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 12px;display:grid}.set-row label,.fld label{color:var(--ab-text);font-size:15px;font-weight:600}.set-row .restore{min-width:var(--ab-touch)}.layers{flex-direction:column;gap:12px;display:flex}.layer{border:1px solid var(--ab-line-2);border-radius:var(--ab-radius);flex-direction:column;gap:8px;padding:12px;display:flex}.layer-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.layer-name{margin:0;font-size:17px}.layer-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px;display:grid}.fld{flex-direction:column;gap:4px;min-width:0;display:flex}.fld astrobass-select{display:block}.sound-hint{color:var(--ab-text-2);margin:0;font-size:15px}@media (width<=560px){.sound-row{gap:8px}.set-row{grid-template-columns:minmax(0,1fr)}.set-row .restore{width:100%}.set-row label{grid-column:1/-1}.layer-fields{grid-template-columns:1fr}}astrobass-select .ab-select-group-label{text-transform:none}.panel{gap:0;padding:0;overflow:hidden}.tabs{border-bottom:1px solid var(--ab-line);display:flex}.tab{min-width:0;min-height:48px;color:var(--ab-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:0 6px;font-size:16px;font-weight:500;display:flex;position:relative}.tab:hover{color:var(--ab-text)}.tab[aria-selected=true]{color:var(--ab-text);border-bottom-color:var(--ab-accent);font-weight:700}.tab .dot{background:var(--ab-accent);border-radius:4px;flex:none;width:8px;height:8px}.tab:focus-visible{outline-offset:-3px}.tabpanel{flex-direction:column;gap:12px;padding:16px 24px 24px;display:flex}.chips{flex-wrap:wrap;gap:8px;width:100%;display:flex}.chip{min-height:var(--ab-touch);border-radius:var(--ab-radius-small);border:1px solid var(--ab-line);background:var(--ab-surface);color:var(--ab-text);cursor:pointer;justify-content:center;align-items:center;padding:0 14px;font-size:16px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--ab-accent)}.chip[aria-pressed=true]{border-color:var(--ab-accent);background:var(--ab-groove-soft);box-shadow:inset 0 0 0 1px var(--ab-accent);font-weight:700}.hint{color:var(--ab-text-2);margin:4px 0 0;font-size:15px;line-height:1.45}.sw-row{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.sw-name{font-size:16px;font-weight:600}.switch{min-width:72px;min-height:var(--ab-touch);border-radius:var(--ab-radius-small);border:2px solid var(--ab-line);background:var(--ab-surface);color:var(--ab-text);cursor:pointer;padding:0 14px;font-size:16px;font-weight:700}.switch[aria-checked=true]{background:var(--ab-accent);border-color:var(--ab-accent);color:var(--ab-on-accent)}.stepper-row{border-bottom:1px solid var(--ab-line-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-height:56px;padding:6px 0;font-size:16px;display:flex}.stepper{align-items:center;gap:6px;display:flex}.stepper-val{text-align:center;min-width:64px;font-family:var(--ab-font-display);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.sq[aria-disabled=true]{opacity:.45;cursor:default}.sq[aria-disabled=true]:hover{border-color:var(--ab-line)}@media (width<=520px){.tab{font-size:14px}.tab .dot{margin-left:-4px;position:absolute;top:4px;left:50%}.tabpanel{padding:12px 14px 16px}}
