.nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);display:flex;align-items:stretch;background:var(--white);border-top:1px solid var(--minor-grey);z-index:20;padding:0;overflow:clip}.nav__tab{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--black);padding-top:8px}.nav__tab:nth-child(1){flex:0 0 85px;padding-left:15px}.nav__tab:nth-child(2){flex:0 0 68px}.nav__tab:nth-child(3){flex:0 0 70px}.nav__tab:nth-child(4){flex:0 0 68px}.nav__tab:nth-child(5){flex:0 0 85px;padding-right:15px}button.nav__tab{border:0;background:none;padding-left:0;padding-right:0;padding-bottom:0;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.nav__mark{display:block;width:24px;height:24px}.nav__mark svg{width:100%;height:100%;display:block}.nav__label{margin-top:4px;font-family:var(--font-display);font-weight:700;font-size:9px;line-height:1;text-transform:uppercase;color:var(--black);padding:2.5px 6px;border-radius:100px;white-space:nowrap}.nav__tab[aria-current=page]{color:var(--nav-accent)}.nav__tab[aria-current=page] .nav__label{background:var(--nav-accent);color:var(--white)}.nav--picking a.nav__tab[aria-current=page]{color:var(--black)}.nav--picking a.nav__tab[aria-current=page] .nav__label{background:none;color:var(--black)}.toggle{position:relative;flex:1;height:30px;border-radius:15px;background:var(--light-grey);display:flex;isolation:isolate}.toggle__pill{position:absolute;top:2px;left:2px;width:calc(50% - 4px);height:26px;border-radius:13px;background:var(--white);box-shadow:0 1px 3px #2d2d2d1f;z-index:-1;transition:transform .26s cubic-bezier(.32,.72,0,1)}.toggle__pill--right{transform:translate(calc(100% + 4px))}@media(prefers-reduced-motion:reduce){.toggle__pill{transition:none}}.toggle__label{flex:1;border:0;background:none;padding:0;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.2px;line-height:1;color:var(--black);cursor:pointer}.bottom-bar{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));z-index:10;flex:none;min-height:50px;padding:0 15px;display:flex;align-items:center;gap:10px;background:var(--white);border-top:.5px solid var(--black)}.prog-menu{--prog-menu-ms: .25s;--prog-menu-ease: cubic-bezier(.32, .72, 0, 1);position:fixed;inset:0;z-index:15;background:#00000080;display:flex;align-items:flex-end;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));animation:prog-menu-fade var(--prog-menu-ms) var(--prog-menu-ease);transition:background-color var(--prog-menu-ms) var(--prog-menu-ease)}.prog-menu--closing{background-color:#0000;pointer-events:none}.prog-menu__panel{width:100%;padding:15px 15px 10px;display:flex;flex-direction:column;gap:15px;background:var(--white);border-top:.5px solid var(--black);animation:prog-menu-up var(--prog-menu-ms) var(--prog-menu-ease);transition:transform var(--prog-menu-ms) var(--prog-menu-ease)}.prog-menu--closing .prog-menu__panel{animation:none;transform:translateY(100%)}.prog-menu__grid{display:flex;flex-wrap:wrap;gap:9px}.prog-menu__key{width:50px;height:50px;border-radius:6px;border:1px solid var(--black);background:var(--white);color:var(--black);font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1;white-space:nowrap;display:grid;place-items:center;cursor:pointer}.prog-menu__key-label{display:inline-flex;align-items:baseline}.prog-menu__key--minor{background:var(--black);color:var(--white)}.prog-menu__acc{font-size:.6em}.prog-menu__m{font-size:.7em}.prog-menu__panel .toggle{flex:none}@keyframes prog-menu-up{0%{transform:translateY(100%)}}@keyframes prog-menu-fade{0%{background-color:#0000}}@media(prefers-reduced-motion:reduce){.prog-menu,.prog-menu--closing,.prog-menu__panel,.prog-menu--closing .prog-menu__panel{animation:none;transition:none}}.key-menu{--key-menu-ms: .25s;--key-menu-ease: cubic-bezier(.32, .72, 0, 1);position:fixed;inset:0;z-index:15;background:#00000080;display:flex;align-items:flex-end;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));animation:key-menu-fade var(--key-menu-ms) var(--key-menu-ease);transition:background-color var(--key-menu-ms) var(--key-menu-ease)}.key-menu--closing{background-color:#0000;pointer-events:none}.key-menu__panel{width:100%;padding:15px 15px 10px;display:flex;flex-direction:column;gap:15px;background:var(--white);border-top:.5px solid var(--black);animation:key-menu-up var(--key-menu-ms) var(--key-menu-ease);transition:transform var(--key-menu-ms) var(--key-menu-ease)}.key-menu--closing .key-menu__panel{animation:none;transform:translateY(100%)}.key-menu__grid{display:flex;flex-wrap:wrap;gap:9px}.key-menu__key{width:50px;height:50px;border-radius:50%;border:1px solid var(--black);background:var(--white);color:var(--black);font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1;white-space:nowrap;display:grid;place-items:center;cursor:pointer}.key-menu__key-label{display:inline-flex;align-items:baseline}.key-menu__key--minor{background:var(--black);color:var(--white)}.key-menu__acc{font-size:.6em}.key-menu__m{font-size:.7em}.key-menu__toggles{display:flex;gap:10px}.key-menu__toggles .toggle{flex:1 1 0;min-width:0}@keyframes key-menu-up{0%{transform:translateY(100%)}}@keyframes key-menu-fade{0%{background-color:#0000}}@media(prefers-reduced-motion:reduce){.key-menu,.key-menu--closing,.key-menu__panel,.key-menu--closing .key-menu__panel{animation:none;transition:none}}.header{--header-bg: var(--white);--header-fg: var(--black);--header-press: var(--super-light-grey);height:var(--header-h);flex:none;padding:0 15px 0 14px;display:flex;align-items:center;gap:8px;border-bottom:.5px solid var(--header-fg);background:var(--header-bg);color:var(--header-fg)}.header__chip{flex:none;width:40px;height:40px;border-radius:2px;border:1px solid var(--header-fg);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1;color:var(--white)}.header__chip-glyph{display:inline-flex;align-items:baseline}.header__chip-acc{font-size:.6em}.header__chip--btn{padding:0;cursor:pointer;appearance:none;-webkit-appearance:none}.header__caret{align-self:center;width:6px;height:6px;margin-left:3px;border-right:1.5px solid var(--header-fg);border-bottom:1.5px solid var(--header-fg);transform:translateY(-1px) rotate(45deg)}.header__title{margin:0;flex:1;min-width:0;font-family:var(--font-display);font-weight:700;line-height:1}.header__stack{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.header__big{display:flex;align-items:flex-start;gap:2px;font-size:24px;letter-spacing:-.24px;white-space:nowrap}.header__small{font-size:13px;letter-spacing:-.13px}.header__mark{flex:none;margin-top:2px}.header__mark--cof{margin-top:1px}.header__mark--rings{display:flex;gap:1px;margin-top:1px}.header__mark--rings>span{width:4px;height:4px;border:1px solid var(--header-fg);border-radius:50%}.header__mark--square{width:5px;height:5px;border-radius:1px;background:var(--header-fg)}.header__mark--dot{width:4px;height:4px;border-radius:50%;background:var(--header-fg)}.header__actions{display:flex;gap:8px;flex:none}.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--header-fg);background:var(--header-bg);color:var(--header-fg);padding:0;display:grid;place-items:center;cursor:pointer}.icon-btn:active{background:var(--header-press)}.header .icon-btn{width:40px;height:40px}.header .icon-btn:disabled{cursor:default}.header .icon-btn:disabled:active{background:var(--header-bg)}.icon-btn__i{font-family:var(--font-numeral);font-weight:500;font-size:20px;line-height:1;transform:translateY(-1px)}.icon-btn__search{display:block}.icon-btn__bars{display:flex;flex-direction:column;justify-content:space-between;width:18px;height:12px}.icon-btn__bars>span{display:block;height:2px;border-radius:.5px;background:var(--header-fg)}.wheel{display:block;width:100%;height:auto;touch-action:manipulation}.wheel__seg{cursor:pointer}.wheel__seg path{transition:none}.wheel__label,.wheel__center{font-family:var(--font-display);font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.wheel__seg:focus{outline:none}.wheel__seg:focus-visible path{stroke:var(--black);stroke-width:3}.chord-circle{--circle-border: var(--black);--circle-major-bg: var(--white);--circle-major-fg: var(--black);--circle-minor-bg: var(--black);--circle-minor-fg: var(--white);width:50px;height:50px;border-radius:50%;border:1px solid var(--circle-border);background:var(--circle-major-bg);color:var(--circle-major-fg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;position:relative;z-index:0}.chord-circle--minor{background:var(--circle-minor-bg);color:var(--circle-minor-fg)}.chord-circle--tonic{color:var(--white)}.chord-circle--pressed{background:var(--circle-active);border-color:var(--circle-active);color:var(--white)}.chord-circle__name{font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1}.chord-circle__name--numeral{font-family:var(--font-numeral);font-weight:500;font-size:20px}.chord-circle__suffix{font-size:14px}.chord-circle__numeral{font-family:var(--font-numeral);font-weight:500;font-size:8px;line-height:1}.pills{display:flex;flex-direction:column;align-items:center}.pills__row{display:flex}.pills__row+.pills__row{margin-top:-1px}.pills__row>*+*{margin-left:-1px}.pills:not(:has(.chord-circle__numeral)) .chord-circle--dim{background:var(--minor-grey);border-color:var(--circle-border)}.legend{display:flex;justify-content:space-between;gap:17px}.legend__fan{flex:1;min-width:0}.legend__title{font-family:var(--font-display);font-weight:700;font-size:14px;line-height:12px;height:12px;text-align:center;margin-bottom:10px}.legend svg{display:block;width:100%;height:auto;font-family:var(--font-numeral);font-weight:500}.drawer{position:fixed;inset:0;z-index:40;background:#2d2d2d59;display:flex;align-items:flex-end}.drawer__panel{width:100%;height:89%;background:var(--white);border-radius:10px 10px 0 0;overflow:hidden;animation:drawer-up .26s cubic-bezier(.32,.72,0,1)}.drawer__scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:24px 14px 40px}.drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:26px}.drawer__title{margin:0;font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-.3px;line-height:1}.drawer__close{flex:none;width:36px;height:36px;border-radius:50%;border:none;background:var(--minor-grey);color:var(--black);display:grid;place-items:center;cursor:pointer}.drawer__close svg{width:24px;height:24px;display:block}.drawer__body h3{margin:0 0 12px;font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.1}.drawer__body p{margin:0 0 18px;font-family:var(--font-display);font-weight:700;font-size:18px;line-height:1.2}@keyframes drawer-up{0%{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.drawer__panel{animation:none}}.cof{display:flex;flex-direction:column}.cof>:not(.cof__gap){flex:none}.cof__gap{flex:1 1 0;min-height:15px}.keys-grid{display:flex;flex-direction:column;align-items:center;width:max-content;margin:0 auto}.keys-grid__row{display:flex}.keys-grid__row+.keys-grid__row{margin-top:-1px}.keys-grid__cell+.keys-grid__cell{margin-left:-1px}.keys-grid__cell:first-child{position:relative;z-index:1}.keys .keys__body{flex:none;padding:15px}.keys .header{position:sticky;top:0;z-index:10}.keys .bottom-bar{flex:1}.keys--minor{background:var(--black)}.keys--minor .header{--header-bg: var(--black);--header-fg: var(--white);--header-press: #3a3a3a}.keys--minor .chord-circle{--circle-border: var(--white)}.piano-chord{display:block;flex:1;width:100%;height:auto}.piano-chord__key{stroke:var(--black)}.piano-chord__label{font-family:var(--font-display);font-weight:700;stroke:none}.guitar-chord{position:relative;width:100%;max-width:140px;aspect-ratio:140 / 175}.guitar-chord__board{--board-line: var(--black);--board-inlay: var(--light-grey);display:block;width:calc(100% + 16px);height:calc(100% + 16px);margin:-8px}.guitar-chord__line,.guitar-chord__open{stroke:var(--board-line);stroke-width:.603;fill:none}.guitar-chord__nut{fill:var(--board-line)}.guitar-chord__inlay{fill:var(--board-inlay)}.guitar-chord__mute line{stroke:var(--board-line);stroke-width:1.2}.guitar-chord__fret-number,.guitar-chord__open-label{font-family:var(--font-display);font-weight:700;fill:var(--board-line)}.guitar-chord__dot-label{font-family:var(--font-display);font-weight:700}.guitar-chord__circle{position:absolute;top:calc(125 / 175 * 100%);left:calc(var(--circle-x) / 140 * 100%)}.chord-row{display:flex;align-items:center;gap:9px}.chord-row__circle,.guitar-chord__circle{flex:none;display:block;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.chord-row__circle:focus-visible .chord-circle:not(.chord-circle--pressed),.guitar-chord__circle:focus-visible .chord-circle:not(.chord-circle--pressed){background-color:var(--white);background-image:linear-gradient(var(--circle-tint),var(--circle-tint));color:var(--black)}@media(hover:hover){.chord-row__circle:hover .chord-circle:not(.chord-circle--pressed),.guitar-chord__circle:hover .chord-circle:not(.chord-circle--pressed){background-color:var(--white);background-image:linear-gradient(var(--circle-tint),var(--circle-tint));color:var(--black)}}.chord-row__circle .chord-circle,.guitar-chord__circle .chord-circle{transition:background-color .12s ease,background-image .12s ease,border-color .12s ease,color .12s ease}.chords .chords__body{flex:none;display:grid}.chords--piano .chords__body{padding:14px 15px;gap:12px}.chords--guitar .chords__body{padding:8px 31px 8px 32px;grid-template-columns:repeat(2,1fr);column-gap:32px;row-gap:8px;justify-items:center}.chords .header{position:sticky;top:0;z-index:10}.chords--minor{background:var(--black)}.chords--minor .header{--header-bg: var(--black);--header-fg: var(--white);--header-press: #3a3a3a}.chords--minor .chord-circle{--circle-border: var(--white)}.chords--minor .guitar-chord__board{--board-line: var(--white);--board-inlay: var(--dark-grey)}.scale-diamond{--diamond-bg: var(--white);--diamond-fg: var(--black);--diamond-border: var(--black);position:relative;flex:none;width:54px;height:54px;display:grid;place-items:center;color:var(--diamond-fg)}.scale-diamond:before{content:"";position:absolute;top:50%;left:50%;box-sizing:border-box;width:38.183px;height:38.183px;transform:translate(-50%,-50%) rotate(45deg);background:var(--diamond-bg);border:1px solid var(--diamond-border)}.scale-diamond--pressed{--diamond-bg: var(--diamond-active);--diamond-border: var(--diamond-active);--diamond-fg: var(--white)}.scale-diamond__label{position:relative;font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1}.scale-diamond__suffix{font-size:14px}.guitar-scale__board{--board-line: var(--black);--board-inlay: var(--light-grey);display:block;flex:1;width:100%;height:auto}.guitar-scale__line,.guitar-scale__open{stroke:var(--board-line);stroke-width:.5;fill:none}.guitar-scale__open{fill:var(--white)}.guitar-scale__nut{fill:var(--board-line)}.guitar-scale__inlay{fill:var(--board-inlay)}.guitar-scale__fret-number{font-family:var(--font-display);font-weight:700;fill:var(--board-line);stroke:none}.guitar-scale__open-label{font-family:var(--font-display);font-weight:700;fill:var(--black);stroke:none}.guitar-scale__dot-label{font-family:var(--font-display);font-weight:700;stroke:none}.scale-row{display:flex;align-items:center;margin-left:-2px}.scale-row--piano{gap:7px}.scale-row--guitar{gap:5px}.scale-row__diamond,.scale-row__board{display:block;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.scale-row__diamond{flex:none}.scale-row__board{flex:1;min-width:0;line-height:0}.scale-row__diamond:focus-visible .scale-diamond:not(.scale-diamond--pressed){--diamond-bg: var(--white);--diamond-fg: var(--black)}@media(hover:hover){.scale-row__diamond:hover .scale-diamond:not(.scale-diamond--pressed){--diamond-bg: var(--white);--diamond-fg: var(--black)}}.scale-diamond:before,.scale-diamond{transition:background-color .12s ease,border-color .12s ease,color .12s ease}.scale-row__board:focus-visible{outline:2px solid var(--nav-accent);outline-offset:2px;border-radius:2px}.scale-detail{position:fixed;inset:0;z-index:40;overflow:clip;background:var(--white)}.scale-detail__stage{position:absolute;top:50%;left:50%;width:calc(var(--len, 812) * 1px);height:375px;transform:translate(-50%,-50%) rotate(90deg) scale(var(--fit, 1))}.scale-detail__band{position:absolute;inset:0 0 auto;height:90px}.scale-detail__title{margin:0;height:90px;padding-top:20px;display:flex;align-items:baseline;justify-content:center;gap:12px;font-family:var(--font-display);font-weight:700;font-size:48px;line-height:1;color:var(--white)}.scale-detail__small{font-size:22px}.scale-detail__close{position:absolute;top:27px;right:27px;width:36px;height:36px;padding:0;border:1px solid var(--white);border-radius:50%;background:none;color:var(--white);cursor:pointer;display:grid;place-items:center}.scale-detail__close svg{width:24px;height:24px}.scale-detail__board{position:absolute;inset:90px 0 45px;display:grid;place-items:center}.scale-detail__board>svg{width:min(715px,100%);height:auto}.scale-detail__toggles{position:absolute;left:50%;bottom:20px;transform:translate(-50%);width:344px;display:flex;gap:8px}.scale-detail--minor{background:var(--black)}.scale-detail--minor .guitar-scale__board{--board-line: var(--white);--board-inlay: var(--dark-grey)}.scales .scales__body{flex:none;display:grid;padding-left:15px;padding-right:15px}.scales--piano .scales__body{padding-top:14px;padding-bottom:14px;gap:12px}.scales--guitar .scales__body{padding-top:14px;padding-bottom:17px;gap:15px}.scales .header{position:sticky;top:0;z-index:10}.scales--minor{background:var(--black)}.scales--minor .header{--header-bg: var(--black);--header-fg: var(--white);--header-press: #3a3a3a}.scales--minor .scale-diamond{--diamond-bg: var(--black);--diamond-fg: var(--white);--diamond-border: var(--white)}.scales--minor .scale-row__diamond:focus-visible .scale-diamond:not(.scale-diamond--pressed){--diamond-bg: #3a3a3a;--diamond-fg: var(--white)}@media(hover:hover){.scales--minor .scale-row__diamond:hover .scale-diamond:not(.scale-diamond--pressed){--diamond-bg: #3a3a3a;--diamond-fg: var(--white)}}.scales--minor .guitar-scale__board{--board-line: var(--white);--board-inlay: var(--dark-grey)}.prog-header{position:sticky;top:0;z-index:10;flex:none}.prog-header__filters{height:50px;padding:0 14px;display:flex;align-items:center;gap:8px;background:var(--prog-filter-bg);border-bottom:.5px solid var(--prog-filter-border);overflow-x:auto;scrollbar-width:none}.prog-header__filters::-webkit-scrollbar{display:none}.prog-filter{flex:none;padding:10px 13px;border-radius:6px;border:1px solid var(--prog-filter-fg);background:transparent;color:var(--prog-filter-fg);font-family:var(--font-display);font-weight:700;font-size:14px;line-height:10px;white-space:nowrap;cursor:pointer}.prog-filter[aria-pressed=true]{background:var(--prog-filter-fg);color:var(--prog-filter-bg)}.prog-chord{position:relative;flex:none;width:74px;height:74px;border-radius:6px;border:1px solid var(--black);background:var(--white);color:var(--black);padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:background .25s ease,border-color .25s ease,color .25s ease}.prog-chord--minor,.prog-chord--dim{background:var(--black);border-color:var(--black);color:var(--white)}.prog-chord--pressed{background:var(--prog-chord-active);border-color:var(--prog-chord-active);color:var(--white);transition:none}.prog-chord__dot{position:absolute;top:6px;left:6px;width:8px;height:8px;border-radius:50%}.prog-chord__name{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1}.prog-chord__suffix{font-size:.68em}.prog-chord__numeral{font-family:var(--font-numeral);font-weight:500;font-size:10px;line-height:1}.progression-row{background:var(--prog-card);border-radius:4px}.progression-row__label{margin:0;padding:9px 10px 6px;font-family:var(--font-numeral);font-weight:500;font-size:20px;line-height:1;letter-spacing:-.2px;color:var(--prog-fg);border-bottom:1px solid var(--prog-divider)}.progression-row__chords{display:flex;gap:10px;padding:10px 0 10px 10px}.prog-swap{position:sticky;bottom:calc(var(--nav-h) + 50px + env(safe-area-inset-bottom,0px));z-index:10;flex:none;display:flex;justify-content:center;padding-bottom:10px;pointer-events:none}.prog-swap__btn{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid var(--black);border-radius:100px;background:var(--white);color:var(--black);font-family:var(--font-display);font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px #2d2d2d2e}.prog-swap__label{display:inline-flex;align-items:baseline;white-space:pre}.prog-swap__acc{font-size:.6em}.prog-swap__square{width:16px;height:16px;border-radius:2px;flex:none}.prog-swap__icon{width:16px;height:16px;flex:none}.progressions{--prog-filter-bg: var(--white);--prog-filter-fg: var(--black);--prog-filter-border: var(--black);--prog-card: var(--super-light-grey);--prog-divider: var(--light-grey);--prog-fg: var(--black)}.progressions .progressions__body{flex:none;display:flex;flex-direction:column;gap:15px;padding:15px}.progressions .prog-header{position:sticky;top:0;z-index:10}.progressions--minor{background:var(--black);--prog-filter-bg: var(--black);--prog-filter-fg: var(--white);--prog-filter-border: #4d4d4d;--prog-card: #3a3a3a;--prog-divider: #4d4d4d;--prog-fg: var(--white)}.progressions--minor .header{--header-bg: var(--black);--header-fg: var(--white);--header-press: #3a3a3a}.progressions--minor .prog-chord--minor,.progressions--minor .prog-chord--dim{border-color:#4d4d4d}.key-header{position:sticky;top:0;z-index:10;flex:none}.key-header .header__chip{border-radius:50%}.key-chord-row{display:flex;align-items:center;gap:9px;padding:8px 0}.key-chord-row--minor{margin:0 -14px;padding-left:14px;padding-right:14px;background:var(--black)}.key-chord-row--minor .chord-circle{--circle-border: var(--white)}.key-chord-row__circle{flex:none;display:block;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.key-chord-row__circle:focus-visible .chord-circle:not(.chord-circle--pressed){background-color:var(--white);background-image:linear-gradient(var(--circle-tint),var(--circle-tint));color:var(--black)}@media(hover:hover){.key-chord-row__circle:hover .chord-circle:not(.chord-circle--pressed){background-color:var(--white);background-image:linear-gradient(var(--circle-tint),var(--circle-tint));color:var(--black)}}.key-chord-row__circle .chord-circle{transition:background-color .12s ease,background-image .12s ease,border-color .12s ease,color .12s ease}.key-relation{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.key-relation__btn{padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.key-relation__circle{--relation-color: var(--black);display:flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;border:2px solid var(--relation-color);background:var(--white);color:var(--black);transition:background-color .12s ease,color .12s ease}.key-relation__circle--pressed{background:var(--relation-color);color:var(--white)}.key-relation__name{display:inline-flex;align-items:baseline;font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1}.key-relation__suffix{font-size:16px}.key-relation__caption{display:flex;flex-direction:column;font-family:var(--font-display);font-weight:700;font-size:10px;line-height:1.25;letter-spacing:.02em;color:var(--key-fg, var(--black))}.key-mode{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid var(--key-divider, var(--light-grey))}.key-mode__label{display:flex;align-items:baseline;gap:8px;color:var(--key-fg, var(--black))}.key-mode__num{font-family:var(--font-numeral);font-weight:500;font-size:15px}.key-mode__music{font-size:15px}.key-mode__title{font-family:var(--font-display);font-weight:700;font-size:17px}.key-mode__alt{font-family:var(--font-display);font-weight:700;font-size:12px}.key-mode__tag{font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--dark-grey)}.key-mode__circles{display:flex}.key-mode__slot{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.key-mode__circle{display:flex;align-items:baseline;justify-content:center;width:49px;height:49px;border-radius:50%;border:1px solid var(--key-fg, var(--black));background:var(--white);color:var(--black);font-family:var(--font-display);font-weight:700;font-size:17px;line-height:49px}.key-mode__circle--alt{background:var(--key-accent, #ff5d5d);border-color:var(--key-accent, #ff5d5d);color:var(--white)}.key-mode__acc{font-size:.6em}.key-mode__gap{display:grid;place-items:center;width:49px;height:49px;color:var(--dark-grey);font-size:15px}.key-mode__numeral{font-family:var(--font-numeral);font-weight:500;font-size:11px;line-height:1;color:var(--key-fg, var(--black))}.key-circle-row{display:flex;flex-wrap:wrap;gap:0;justify-content:center}.key-circle-row .chord-circle{width:49px;height:49px}.key-circle-row .chord-circle__name{font-size:17px}.key-circle-row .chord-circle__suffix{font-size:11px}.key--minor .key-circle-row .chord-circle{--circle-border: var(--white)}.key-swap{position:sticky;bottom:calc(var(--nav-h) + 50px + env(safe-area-inset-bottom,0px));z-index:10;flex:none;display:flex;justify-content:center;padding-bottom:10px;pointer-events:none}.key-swap__btn{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid var(--black);border-radius:100px;background:var(--white);color:var(--black);font-family:var(--font-display);font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px #2d2d2d2e}.key-swap__label{display:inline-flex;align-items:baseline;white-space:pre}.key-swap__acc{font-size:.6em}.key-swap__dot{width:16px;height:16px;border-radius:50%;flex:none}.key-swap__icon{width:16px;height:16px;flex:none}.key{--key-fg: var(--black);--key-divider: var(--light-grey);background:var(--white)}.key--minor{--key-fg: var(--white);--key-divider: rgba(255, 255, 255, .14);background:var(--black)}.key--minor .header{--header-bg: var(--black);--header-fg: var(--white);--header-press: #3a3a3a}.key--minor .chord-circle{--circle-border: var(--white)}.key--minor .key-chord-row--major,.key--minor .key-chord-cell--major{background:var(--white)}.key--minor .key-chord-row--major{margin:0 -14px;padding-left:14px;padding-right:14px}.key--minor .key-chord-row--major .chord-circle,.key--minor .key-chord-cell--major .chord-circle{--circle-border: var(--black)}.key--minor .key-chord-row--minor{background:none}.key--minor .guitar-chord__board,.key--minor .guitar-scale__board{--board-line: var(--white);--board-inlay: var(--dark-grey)}.key--minor .key-chord-cell--major .guitar-chord__board{--board-line: var(--black);--board-inlay: var(--light-grey)}.key-chord-cell--minor .guitar-chord__board{--board-line: var(--white);--board-inlay: var(--dark-grey)}.key .key__body{flex:none;display:flex;flex-direction:column;padding:0 14px}.key__chords{padding-top:8px}.key__chords>.key-chord-row:last-child{padding-bottom:16px}.key--guitar .key__chords{margin:0 -14px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,auto);grid-auto-flow:column;align-items:center;padding-top:0}.key-chord-cell{display:flex;justify-content:center;padding:6px 14px 10px}.key-chord-cell--minor{background:var(--black)}.key-chord-cell:nth-child(3n+1){padding-top:14px}.key-chord-cell:nth-child(3n){padding-bottom:18px}.key-chord-cell--minor .chord-circle{--circle-border: var(--white)}.key__section{padding:20px 0;border-top:1px solid var(--key-divider)}.key__display{margin:0 0 4px;font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-.02em;color:var(--key-fg)}.key__eyebrow{margin:0 0 2px;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--key-fg)}.key__h1{margin:0 0 14px;font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-.01em;color:var(--key-fg)}.key__h2{margin:22px 0 12px;font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--key-fg)}.key__h2:first-of-type{margin-top:4px}.key__scale-board{display:flex}.key__intervals-line{margin:12px 0 0;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--key-fg)}.key__intervals-line span{margin-left:8px}.key__relations{display:flex;justify-content:space-between;gap:6px}.key__interval-table{width:100%;border-collapse:collapse;font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--key-fg)}.key__interval-table td{text-align:center;padding:8px 2px}.key__interval-table tr+tr td{border-top:1px solid var(--key-divider)}.key__secondary{display:flex;align-items:flex-start;gap:4px}.key__secondary-grid{flex:1;display:flex;justify-content:flex-start;gap:0}.key__secondary-col{display:flex;flex-direction:column;align-items:center;gap:0}.key__secondary-num{margin-top:2px;font-family:var(--font-numeral);font-weight:500;font-size:11px;color:var(--key-fg)}.key__secondary-grid .chord-circle{width:42px;height:42px}.key__secondary-grid .chord-circle__name{font-size:15px}.key__secondary-grid .chord-circle__suffix{font-size:10px}.key__parallel{display:flex;align-items:center;gap:4px}.key__parallel .key-circle-row{flex:1;gap:0;flex-wrap:nowrap}.key__parallel .key-circle-row .chord-circle{width:42px;height:42px}.key__parallel .key-circle-row .chord-circle__name{font-size:15px}.key__parallel .key-circle-row .chord-circle__numeral{font-size:8px}.key__secondary .key-relation,.key__parallel .key-relation{width:49px}.key__secondary .key-relation__circle,.key__parallel .key-relation__circle{width:49px;height:49px;border-width:1px}.key__secondary .key-relation__name,.key__parallel .key-relation__name{font-size:17px}.key__secondary .key-relation__suffix,.key__parallel .key-relation__suffix{font-size:11px}.key__secondary .key-relation__caption,.key__parallel .key-relation__caption{font-size:9px}.menu__head{height:var(--header-h);padding:0 14px 14px;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--minor-grey)}.menu__spacer{width:36px;flex:none}.menu__title{flex:1;text-align:center;margin:0;font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.01em;line-height:1}.menu .page__body{padding-top:18px}.menu__search{display:flex;align-items:center;gap:8px;background:var(--super-light-grey);border:1px solid var(--minor-grey);border-radius:10px;padding:0 12px;height:40px;color:var(--dark-grey)}.menu__search svg{width:18px;height:18px;flex:none}.menu__search input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:15px;color:var(--black)}.menu__search input::placeholder{color:var(--dark-grey)}.menu__blurb{margin:14px 0 26px;font-size:15px;font-weight:700;line-height:1.25}.menu__section{margin:26px 0 6px;font-size:20px;font-weight:700}.menu__list{display:flex;flex-direction:column}.menu__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 12px;border-bottom:1px solid var(--minor-grey);background:var(--super-light-grey);color:var(--black);text-decoration:none;font-size:15px;font-weight:700}.menu__row--inert{color:var(--dark-grey)}.menu__chev{display:block;color:var(--minor-grey)}.menu__chev svg{width:20px;height:20px;display:block}.menu__row--inert .menu__chev{color:var(--minor-grey)}.stub{display:grid;place-items:center;color:var(--dark-grey);font-weight:700}@font-face{font-family:Helvetica Now Display;src:url(/fonts/HelveticaNowDisplay-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Now Display;src:url(/fonts/HelveticaNowDisplay-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Besley;src:url(/fonts/Besley-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--white: #ffffff;--black: #2d2d2d;--dark-grey: #606060;--super-light-grey: #fafafa;--minor-grey: #e4e4e4;--light-grey: #eeeeee;--desk: #ebebeb;--font-display: "Helvetica Now Display", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-text: "Helvetica Now Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-numeral: "Besley", Georgia, serif;--header-h: 70px;--nav-h: 70px;--app-w: 100dvw;--app-h: 100dvh;--nav-accent: #6764ea;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-display);color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#root{display:flex;flex-direction:column}@media(max-width:600px),(max-height:600px)and (hover:none){.device-frame,.device-frame__scroll{display:flex;flex-direction:column;flex:1}}@media(min-width:601px)and (min-height:601px),(min-width:601px)and (hover:hover){#root{flex-direction:row;justify-content:center;align-items:flex-start;padding:16px;background:var(--desk)}.device-frame{flex:none;width:375px;height:min(812px,calc(var(--app-h) - 32px));overflow:clip;transform:translateZ(0) rotate(var(--frame-turn, 0deg)) scale(var(--frame-turn-fit, 1));transition:transform .3s cubic-bezier(.77,0,.18,1);background:var(--white);box-shadow:0 0 0 1px #2d2d2d24;border-radius:24px}@media(prefers-reduced-motion:reduce){.device-frame{transition:none}}.device-frame__scroll{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.device-frame__scroll::-webkit-scrollbar{display:none}.device-frame .page{min-height:100%}body.is-turned .device-frame{--frame-turn: -90deg}body.is-turned #root{overflow-x:clip}}@media(hover:none)and (pointer:coarse)and (orientation:landscape){:root{--app-w: 100dvh;--app-h: 100dvw}body{position:fixed;top:0;left:0;width:100dvh;height:100dvw;overflow:hidden;transform-origin:0 0;transform:translate(100dvw) rotate(90deg)}body[data-lock-turn=ccw]{transform:translateY(100dvh) rotate(-90deg)}@media(max-height:600px){.device-frame{display:block;flex:none;width:100%;height:100%;overflow:clip;transform:translateZ(0)}.device-frame__scroll{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.device-frame__scroll::-webkit-scrollbar{display:none}}}.page{display:flex;flex-direction:column;flex:1;min-height:var(--app-h);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px))}.device-frame .page{min-height:100%}.page__body{flex:1;padding-left:14px;padding-right:14px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:where(button,[role=button],a):focus-visible{outline:2px solid var(--black);outline-offset:2px}
