:root{--bg: #0b0b0c;--panel: #0f1115;--surface: #1c1c1e;--ink: #f1f2f4;--ink-warm: #e7e0d8;--ink-chorus: #e8c878;--muted: #b1b6c0;--line: #222732;--red: #e8524e;--red-hover: #c23a37;--ink-chord: var(--ink-chorus);--green: #1a7f4b;--green-subtle: #e6f4ea;--shell-max-width: 1100px;--reading-max-width: 720px;--shell-outside: #050506}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;overscroll-behavior-y:none}html{font-size:16px;background:var(--panel);height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;overflow:hidden;overscroll-behavior:none}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}@media(min-width:760px){body{background:var(--shell-outside)}#root{max-width:var(--shell-max-width);margin:0 auto;background:var(--bg);border-left:1px solid var(--line);border-right:1px solid var(--line)}}.app-scroll{flex:1;overflow-y:auto;overscroll-behavior-y:none;position:relative;z-index:1}.app-scroll,.lightbox-panel{scrollbar-width:none}.app-scroll::-webkit-scrollbar,.lightbox-panel::-webkit-scrollbar{display:none}img{-webkit-user-drag:none}.text-muted{color:var(--muted)}.text-warm{color:var(--ink-warm)}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.25rem;border:none;border-radius:12px;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:.9375rem;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,opacity .15s;-webkit-tap-highlight-color:transparent}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover:not(:disabled){background:var(--red-hover)}.btn-secondary{background:var(--line);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:#2d3340}.btn-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.125rem;padding:4px;line-height:1;-webkit-tap-highlight-color:transparent}.input{display:block;width:100%;min-height:48px;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:1rem;outline:none;transition:border-color .15s}.input::placeholder{color:var(--muted);opacity:.6}.input:focus{border-color:var(--red)}.bottom-nav{flex-shrink:0;height:calc(60px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--panel);border-top:1px solid var(--line);display:flex;align-items:stretch}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;gap:3px;text-decoration:none;color:var(--muted);font-size:.625rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:color .15s;-webkit-tap-highlight-color:transparent}.bottom-nav__item.active,.bottom-nav__item:hover{color:var(--red)}.bottom-nav__icon{width:22px;height:22px;flex-shrink:0}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--red);color:#fff;font-size:.6875rem;font-weight:700;border-radius:10px;line-height:1}.page{min-height:100%}.page-header{padding:1.25rem 1rem .75rem;padding-top:calc(1.25rem + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:var(--bg)}.page-brand{font-family:Oswald,sans-serif;font-size:1.125rem;font-weight:700;color:var(--ink-warm);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.page-app-name{font-family:Oswald,sans-serif;font-size:.6875rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.125rem}.page-description{font-size:.8125rem;color:var(--muted);line-height:1.5}.page-title{font-family:Oswald,sans-serif;font-size:1.375rem;font-weight:700;color:var(--ink-warm);letter-spacing:.08em;text-transform:uppercase}.page-body{padding:1.25rem 1rem 1rem}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;display:flex;align-items:center;justify-content:center;z-index:200;padding:1.5rem;animation:backdropIn .2s ease both}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.lightbox-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;padding:1.5rem 1.25rem;animation:panelIn .2s cubic-bezier(.22,1,.36,1) both}@keyframes panelIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.record-pulse{animation:recordPulse 1.2s ease-in-out infinite}@keyframes recordPulse{0%,to{box-shadow:0 0 #b23a3780}50%{box-shadow:0 0 0 16px #b23a3700}}.page-section-heading{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}.folder-section-heading{font-size:.8125rem;font-weight:700;color:var(--red);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.875rem}.audio-file-row{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.625rem .75rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem;transition:border-color .15s}.audio-file-row--prominent{border-color:#b23a3759;background:#b23a370f}.audio-file-row__play{width:44px;height:44px;border-radius:50%;background:var(--red);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;-webkit-tap-highlight-color:transparent}.audio-file-row__play:hover{background:var(--red-hover)}.record-workspace{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.record-timer{font-size:3rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1}.record-stop-btn{width:88px;height:88px;border-radius:50%;background:var(--red);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;-webkit-tap-highlight-color:transparent}.record-stop-btn:hover{background:var(--red-hover)}.record-review{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.25rem}select.learning-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b1b6c0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.lyrics-chorus{color:var(--ink-chorus)}.lyrics-section-header{font-weight:700}input[type=checkbox].checkbox-outline{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;background:transparent;border:1px solid var(--ink);border-radius:3px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}input[type=checkbox].checkbox-outline:disabled{cursor:default;opacity:.6}input[type=checkbox].checkbox-outline:checked:after{content:"";width:10px;height:6px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg) translate(1px,-1px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .3s ease both}.stagger-1{animation-delay:.08s}.stagger-2{animation-delay:.16s}.stagger-3{animation-delay:.24s}:root{--vote-yes: #2a7a3b;--vote-maybe: #7a6a20;--vote-no: #8a2020;--vote-yes-bg: rgba(42, 122, 59, .18);--vote-maybe-bg: rgba(122, 106, 32, .18);--vote-no-bg: rgba(138, 32, 32, .18)}.discover-search{display:flex;gap:.5rem;margin-bottom:.75rem}.discover-search .input{flex:1}.discover-result{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:.5rem;transition:border-color .15s}.discover-result:last-child{margin-bottom:0}.discover-result__header{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.discover-result__thumb{width:72px;height:54px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--line)}.discover-result__meta{flex:1;min-width:0}.discover-result__title{font-size:.875rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.discover-result__sub{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discover-result__add{flex-shrink:0;background:var(--line);border:none;border-radius:8px;color:var(--ink);cursor:pointer;font-size:.75rem;font-weight:600;padding:.5rem .75rem;white-space:nowrap;transition:background .15s}.discover-result__add:hover{background:var(--red);color:#fff}.discover-yt-embed{position:relative;width:100%;max-width:var(--reading-max-width);margin-left:auto;margin-right:auto;aspect-ratio:16 / 9;border-top:1px solid var(--line)}.discover-yt-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.discover-yt-embed__cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:transparent;border:0;padding:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-end;-webkit-tap-highlight-color:transparent}.discover-yt-embed__cover-hint{background:#000000b3;color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.02em;padding:.25rem .5rem;margin:.5rem;border-radius:4px;opacity:0;transition:opacity .15s ease;pointer-events:none}.discover-yt-embed__cover:hover .discover-yt-embed__cover-hint{opacity:1}.song-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:.5rem;transition:border-color .15s}.song-card__header{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.song-card__thumb{width:64px;height:48px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted)}.song-card__meta{flex:1;min-width:0}.song-card__title{font-size:.9375rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.song-card__sub{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card__badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.vote-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;background:var(--red);color:#fff;font-size:.5625rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:6px}.tally-mini{display:flex;gap:4px;font-size:.625rem;font-weight:700}.tally-mini__yes{color:#4ade80}.tally-mini__maybe{color:#fbbf24}.tally-mini__no{color:#f87171}.song-card__expanded{border-top:1px solid var(--line);padding:.875rem}.vote-buttons{display:flex;gap:.5rem;margin:.875rem 0 .5rem}.vote-btn{flex:1;min-height:52px;border:2px solid transparent;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:Inter,system-ui,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:border-color .15s,background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.vote-btn:active{transform:scale(.96)}.vote-btn--yes{background:var(--vote-yes-bg);color:#4ade80}.vote-btn--yes:hover{background:#2a7a3b47}.vote-btn--yes.active{border-color:#4ade80;background:#2a7a3b52;box-shadow:0 0 0 3px #4ade802e}.vote-btn--maybe{background:var(--vote-maybe-bg);color:#fbbf24}.vote-btn--maybe:hover{background:#7a6a2047}.vote-btn--maybe.active{border-color:#fbbf24;background:#7a6a2052;box-shadow:0 0 0 3px #fbbf242e}.vote-btn--no{background:var(--vote-no-bg);color:#f87171}.vote-btn--no:hover{background:#8a202047}.vote-btn--no.active{border-color:#f87171;background:#8a202052;box-shadow:0 0 0 3px #f871712e}.vote-btn__icon{font-size:1.25rem;line-height:1}.vote-breakdown{margin-top:.75rem;display:flex;flex-direction:column;gap:4px}.vote-breakdown__row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.vote-breakdown__name{flex:1;color:var(--muted)}.vote-breakdown__vote{font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.vote-breakdown__vote--yes{color:#4ade80}.vote-breakdown__vote--maybe{color:#fbbf24}.vote-breakdown__vote--no{color:#f87171}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.approved-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#4ade8026;border:1px solid rgba(74,222,128,.3);border-radius:20px;color:#4ade80;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.voting-closed-badge{display:inline-flex;align-items:center;padding:3px 10px;background:#b1b6c01f;border:1px solid rgba(177,182,192,.2);border-radius:20px;color:var(--muted);font-size:.6875rem;font-weight:600;letter-spacing:.04em}.cs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.cs-head-actions{display:flex;align-items:center;gap:.75rem}.cs-status{min-width:6.5rem;text-align:right;font-size:.75rem;color:var(--muted)}.cs-status--error{color:var(--red)}.cs-head-btn{background:var(--line);border:none;color:var(--ink);cursor:pointer;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:6px;font-family:inherit}.cs-card{padding:.875rem;background:var(--surface);border:1px solid var(--line);border-radius:10px}.cs-empty{font-size:.875rem;color:var(--muted)}.cs-toolbar{display:flex;align-items:center;gap:.5rem;min-height:2rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.cs-toolbar-note{flex:1;font-size:.75rem;color:var(--muted)}.cs-chord-inline{color:var(--ink-chord)}.cs-tool-btn{background:var(--line);border:none;color:var(--ink);cursor:pointer;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:6px;font-family:inherit;white-space:nowrap}.cs-section+.cs-section{margin-top:1.25rem}.cs-section-name{display:block;margin-bottom:.375rem;font-size:.6875rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.cs-section-name--edit{background:none;border:none;border-bottom:1px dashed var(--muted);padding:0;cursor:pointer;font-family:inherit}.cs-line{position:relative;margin-bottom:.25rem;font-size:.9375rem;line-height:1.5;color:var(--ink);white-space:pre-wrap;overflow-wrap:break-word}.cs-line--chords{line-height:2.75}.cs-line--blank{height:.75rem}.cs-seg{position:relative}.cs-chord{position:absolute;left:0;bottom:100%;margin-bottom:-.15em;line-height:1.2;font-size:.8125rem;font-weight:700;color:var(--ink-chord);white-space:nowrap}.cs-chord-label{display:inline-block}.cs-line--chordsonly{line-height:1.8}.cs-line--chordsonly .cs-seg{display:inline-block;margin-right:.75em}.cs-line--chordsonly .cs-chord{position:static}.cs-chord--btn{color:inherit;font-size:inherit;font-weight:inherit;background:none;border:none;padding:0 .5em 0 0;line-height:inherit;font-family:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.cs-chord--moving{color:var(--red)}.cs-text{white-space:pre-wrap}.cs-letter{cursor:pointer;border-radius:2px}.cs-letter:hover{background:var(--line)}.cs-line--placing .cs-letter{background:#e8524e14}.cs-line--placing .cs-letter:hover{background:#e8524e59}.cs-letter--end{min-width:1.25rem}.cs-line-edit{margin-left:.5rem;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.875rem;padding:0 .25rem}.cs-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.cs-dialog-title{font-size:1rem;font-weight:700;color:var(--ink-warm)}.cs-dialog-full{width:100%;margin-top:1rem}.cs-dialog-row{display:flex;gap:.5rem;margin-top:1rem}.cs-dialog-half{flex:1}.cs-danger-text{color:var(--red)}.cs-danger-bg{background:var(--red)}.cs-suggest{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.625rem}.cs-suggest-chip{background:var(--line);border:none;border-radius:6px;padding:.25rem .5rem;color:var(--ink-chord);font-family:inherit;font-size:.8125rem;font-weight:700;cursor:pointer}.cs-line-input{font-family:inherit;resize:vertical}.cs-hint{margin-top:.5rem;font-size:.75rem;color:var(--muted)}.cs-error{margin-top:.5rem;font-size:.875rem;color:var(--red)}.cs-confirm p{font-size:.875rem;color:var(--ink)}.cs-confirm p+p{margin-top:.625rem}.cs-link-danger{display:block;margin:1rem auto 0;background:none;border:none;color:var(--muted);font-family:inherit;font-size:.75rem;text-decoration:underline;cursor:pointer}.cs-file input{display:none}.cs-file .btn{margin-top:0;cursor:pointer}.cs-file-list{margin-top:.75rem;padding-left:1.25rem;font-size:.8125rem;color:var(--ink)}.cs-tools{display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"key capo style tuning";align-items:center;column-gap:1.25rem;row-gap:.625rem;margin-bottom:.75rem}@media(max-width:759px){.cs-tools{grid-template-columns:1fr auto;grid-template-areas:"key tuning" "capo capo" "style style"}.cs-area-capo .cs-tools-label{min-width:5.625rem}}.cs-area-key{grid-area:key}.cs-area-capo{grid-area:capo}.cs-area-style{grid-area:style}.cs-area-tuning{grid-area:tuning}.cs-key{display:flex;align-items:center;gap:.375rem}.cs-tools-label{font-size:.6875rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-right:.25rem;min-width:2.5rem}.cs-key-name{min-width:2.75rem;text-align:center;font-size:.9375rem;font-weight:700;color:var(--ink-chord)}.cs-step{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;background:var(--line);border:none;border-radius:6px;color:var(--ink);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer}.cs-step:disabled{opacity:.35;cursor:default}.cs-step--lg{width:2.5rem;height:2.5rem;border-radius:10px}.cs-capo-name{min-width:2.75rem;text-align:center;font-size:.875rem;font-weight:700;color:var(--ink)}.cs-pills{display:flex;align-items:center;gap:.375rem}.cs-pills-gap{width:.5rem}.cs-pill{height:1.75rem;padding:0 .75rem;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-family:inherit;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.cs-pill.on{background:var(--line);border-color:var(--ink-chord);color:var(--ink)}.cs-pill:disabled{cursor:default;opacity:.6}.cs-pill--hint{margin-left:.25rem;border-style:dashed;color:var(--ink-chord)}.cs-tuning{position:relative;justify-self:end;min-width:0}.cs-actions{position:relative}.cs-kebab{width:1.75rem;height:1.625rem;background:var(--line);border:none;border-radius:6px;color:var(--ink);font-size:1rem;line-height:1;cursor:pointer}.cs-tuning-btn{height:1.75rem;max-width:100%;padding:0 1.75rem 0 .75rem;background:transparent;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - .9rem) 55%,calc(100% - .6rem) 55%;background-size:.3rem .3rem;background-repeat:no-repeat;border:1px solid var(--muted);border-radius:8px;color:var(--muted);font-family:inherit;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.cs-tuning-btn:focus-visible{outline:2px solid var(--ink-chord);outline-offset:2px}.cs-menu{position:absolute;top:calc(100% + .375rem);right:0;z-index:50;min-width:13rem;padding:.25rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #00000073}.cs-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .625rem;background:none;border:none;border-radius:8px;color:var(--ink);font-family:inherit;font-size:.8125rem;font-weight:600;text-align:left;cursor:pointer}.cs-menu-item:hover,.cs-menu-item.on{background:var(--line)}.cs-menu-check{width:1rem;color:var(--ink-chord)}.cs-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cs-carousel{display:flex;align-items:center;gap:.375rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.cs-carousel-arrow{flex:0 0 auto;width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;background:var(--line);border:none;border-radius:50%;color:var(--ink);font-family:inherit;font-size:1.125rem;line-height:1;cursor:pointer}.cs-carousel-arrow:disabled{opacity:.25;cursor:default}.cs-carousel-track>:first-child{margin-left:auto}.cs-carousel-track>:last-child{margin-right:auto}.cs-carousel-track{flex:1;min-width:0;display:flex;gap:.5rem;overflow-x:auto;padding:.25rem .5rem;scroll-snap-type:x proximity;scroll-padding:0 .5rem;scrollbar-width:none;--fade: 1.5rem}.cs-carousel-track::-webkit-scrollbar{display:none}.cs-carousel-track>*{scroll-snap-align:start}.cs-carousel-track.cs-fade-start{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade));mask-image:linear-gradient(to right,transparent,#000 var(--fade))}.cs-carousel-track.cs-fade-end{-webkit-mask-image:linear-gradient(to left,transparent,#000 var(--fade));mask-image:linear-gradient(to left,transparent,#000 var(--fade))}.cs-carousel-track.cs-fade-start.cs-fade-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent)}.cs-diagram{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem .25rem .25rem;background:var(--bg);border:1px solid var(--line);border-radius:8px;cursor:pointer;font-family:inherit}.cs-diagram-name{font-size:.75rem;font-weight:700;color:var(--ink-chord)}.cs-diagram{position:relative}.cs-diagram-play{display:flex;flex-direction:column;align-items:center;gap:.125rem;background:none;border:none;padding:0;font-family:inherit;cursor:pointer}.cs-diagram-more{position:absolute;top:.125rem;right:.125rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:var(--muted);font-size:.875rem;line-height:1;cursor:pointer}.cs-diagram-more:hover{background:var(--line);color:var(--ink)}.cs-diagram-play:focus{outline:none}.cs-diagram-play:focus-visible{outline:2px solid var(--ink-chord);outline-offset:2px;border-radius:6px}.cs-voicing-play{background:none;border:none;padding:0;cursor:pointer}.fp{margin-top:.25rem}.fp-row{display:grid;grid-template-columns:1.5rem repeat(6,1fr)}.fp-gutter{display:flex;align-items:center;justify-content:flex-end;padding-right:.375rem;font-size:.6875rem;color:var(--muted)}.fp-headcell{height:1.75rem;background:none;border:none;color:var(--muted);font-family:inherit;font-size:.9375rem;cursor:pointer}.fp-cell{position:relative;height:2.5rem;background:none;border:none;border-top:1px solid var(--muted);cursor:pointer}.fp-cell:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--muted)}.fp-cell--nut{border-top:3px solid var(--ink)}.fp-cell:hover{background:#ffffff0a}.fp-dot{position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-.5rem 0 0 -.5rem;border-radius:50%;background:var(--ink-chord)}.fp-shift{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.625rem}.fp-shift-label{font-size:.75rem;color:var(--muted);min-width:5rem;text-align:center}.fp-result{margin-top:1rem;min-height:4.5rem;text-align:center}.fp-name{display:block;font-size:1.75rem;font-weight:700;color:var(--ink-chord)}.fp-written{display:block;margin-top:.125rem;font-size:.8125rem;color:var(--muted)}.fp-result .cs-suggest{justify-content:center}.cs-suggest-chip.on{outline:1px solid var(--ink-chord)}.cd-line{stroke:var(--muted);stroke-width:1;opacity:.6}.cd-nut,.cd-dot{fill:var(--ink)}.cd-open{fill:none;stroke:var(--ink);stroke-width:1.2}.cd-mute{stroke:var(--muted);stroke-width:1.2}.cd-fretnum,.cd-none{fill:var(--muted);font-family:Inter,system-ui,sans-serif}.cd-capo{fill:var(--ink-chord)}.cd-capo-num{fill:var(--ink-chord);font-weight:700;font-family:Inter,system-ui,sans-serif}.cs-diagram-sound{align-self:stretch;text-align:center;font-size:.625rem;font-weight:600;color:var(--muted);white-space:nowrap}.cs-voicing{display:flex;align-items:center;justify-content:center;gap:1rem}.cs-voicing-arrow{width:2.75rem;height:2.75rem;background:var(--line);border:none;border-radius:50%;color:var(--ink);font-size:1.5rem;cursor:pointer}.cs-voicing-arrow:disabled{opacity:.3;cursor:default}.cs-voicing-count{margin-top:.5rem;text-align:center;font-size:.8125rem;color:var(--muted)}.cs-field+.cs-field{margin-top:1rem}.cs-field-label{display:block;margin-bottom:.375rem;font-size:.75rem;font-weight:600;color:var(--muted)}.cs-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.25rem) 50%,calc(100% - .875rem) 50%;background-size:.375rem .375rem;background-repeat:no-repeat;padding-right:2.5rem;color-scheme:dark}.cs-capo{display:flex;align-items:center;gap:.5rem}.cs-capo-value{min-width:4rem;text-align:center;font-weight:700;color:var(--ink)}.cs-capo-suggest{margin-left:auto;white-space:nowrap}.cs-segmented{display:flex;gap:.25rem;padding:.25rem;background:var(--bg);border:1px solid var(--line);border-radius:12px;margin-bottom:.75rem}.cs-field .cs-segmented{margin-bottom:0}.cs-segmented button{flex:1;min-height:2.5rem;background:none;border:none;border-radius:9px;color:var(--muted);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.cs-segmented button.on{background:var(--line);color:var(--ink)}.cs-toggles{display:flex;gap:.5rem}.cs-toggles button{flex:1;min-height:2.75rem;padding:0 .5rem;background:var(--bg);border:1px solid var(--line);border-radius:12px;color:var(--muted);font-family:inherit;font-size:.8125rem;font-weight:600;white-space:nowrap;cursor:pointer}.cs-toggles button.on{background:var(--line);border-color:var(--ink-chord);color:var(--ink)}.cs-toggles button:disabled{cursor:default;opacity:.6}.cs-segmented button:disabled{cursor:default}.cs-check{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.875rem;color:var(--ink);cursor:pointer}.cs-setup-result{margin-top:1rem;font-size:.875rem;color:var(--muted)}.cs-setup-result b{color:var(--ink)}.cs-paste{font-family:ui-monospace,Menlo,monospace;font-size:.8125rem;resize:vertical;white-space:pre}.cs-perform .cs-line{font-size:inherit;color:#fff;margin-bottom:.35em}.cs-perform .cs-chord{font-size:.72em}.cs-perform .cs-section+.cs-section{margin-top:1.1em}.cs-perform .cs-section-name{font-size:.5em}.cs-card>.cs-carousel:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
