.fd{--card:var(--color-card);--ink:var(--foreground);--muted:var(--muted-foreground);--muted-bg:var(--color-muted);--line:var(--border);--teal:var(--primary);--teal-deep:var(--accent-foreground);--teal-pale:var(--accent);--dark:#0a0a0a;--dark-card:#171717;--dark-line:#2a2a2a;--dark-ink:#fafafa;--dark-muted:#8a9096;--dark-dot:#539b90;--good:#43b581;--radius-hero:1.25rem;--radius-chip:.5rem;--ease:cubic-bezier(.22,1,.36,1);--shadow-card:0 2px 8px #1a20240f}.fd .car{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-hero);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.fd .track{transition:transform .42s var(--ease);will-change:transform;display:flex}.fd .slide{flex:0 0 100%;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);display:grid}.fd .art{background:var(--muted-bg);justify-content:center;align-items:center;min-height:300px;padding:28px;display:flex}.fd .art.dark{background:var(--dark)}.fd .art svg{width:100%;max-width:520px;height:auto;display:block}.fd .copy{flex-direction:column;justify-content:center;gap:10px;padding:32px;display:flex}.fd .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);font-size:.72rem;font-weight:600}.fd .copy h2{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.6rem;font-weight:600;line-height:1.2}.fd .copy p{color:var(--muted);max-width:42ch;margin:0}.fd .ctl{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.fd .dots{flex-wrap:wrap;gap:6px;display:flex}.fd .dot{background:var(--line);cursor:pointer;width:8px;height:8px;transition:background-color .16s var(--ease), transform .16s var(--ease);border:0;border-radius:50%;padding:0}.fd .dot[aria-current=true]{background:var(--teal);transform:scale(1.25)}.fd .dot:focus-visible{outline:none;box-shadow:0 0 0 3px #3f786f47}.fd .nav{gap:6px;display:flex}.fd .nav button{border:1px solid var(--line);background:var(--card);width:36px;height:36px;color:var(--ink);cursor:pointer;transition:background-color .16s var(--ease);border-radius:50%;place-items:center;display:grid}.fd .nav button:hover{background:var(--muted-bg)}.fd .nav button:focus-visible{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #3f786f47}.fd .counter{font-family:var(--font-mono),ui-monospace,monospace;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}@media (max-width:760px){.fd .slide{grid-template-columns:1fr}.fd .art{min-height:0;padding:20px}.fd .copy{padding:22px 20px 26px}}.fd .cat{gap:14px;margin-top:44px;display:grid}.fd .cat:first-of-type{margin-top:8px}.fd .cat-title{letter-spacing:-.015em;margin:0;font-size:1.25rem;font-weight:600}.fd .tags{flex-wrap:wrap;gap:8px;display:flex}.fd .tags:empty{display:none}.fd .tag{border-radius:var(--radius-chip);background:var(--teal-pale);color:var(--teal-deep);white-space:nowrap;padding:6px 10px;font-size:.8125rem;font-weight:500}.fd .mono,.fd .tabnum,.fd .pad text,.fd .cname,.fd .cnum,.fd .cx,.fd .bpm,.fd .lbl,.fd .enslbl,.fd .deg{font-family:var(--font-mono),ui-monospace,monospace}.fd .str{stroke:var(--dark-line);stroke-width:1.2px}.fd .fret{stroke:var(--dark-line);stroke-width:1.6px}.fd .nut{stroke-width:4px}.fd .lstr{stroke:#c9ccc6;stroke-width:1.2px}.fd .lfret{stroke:#c9ccc6;stroke-width:1.6px}.fd .lbl{fill:var(--dark-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.fd .lbl.light{fill:var(--muted)}.fd .tabnum{fill:var(--dark-ink);opacity:.5;animation:blip var(--dur,6s) linear infinite;animation-delay:calc(var(--i) * var(--dur,6s) / 12 - var(--dur,6s));font-size:13px;font-weight:500}.fd .head{stroke:var(--dark-dot);stroke-width:2px;animation:sweep var(--dur,6s) linear infinite}.fd .headglow{fill:var(--dark-dot);opacity:.1;animation:sweep var(--dur,6s) linear infinite}.fd .tempo{fill:var(--dark-ink);font-size:20px;font-weight:500}.fd .tempo.dim{fill:var(--dark-muted);text-decoration:line-through}.fd .half{fill:var(--dark-card);stroke:var(--dark-dot)}.fd .enslbl{fill:var(--dark-muted);font-size:11px;font-weight:500}.fd .ens .head,.fd .ens .headglow{animation-duration:7s}.fd .ens .tabnum{animation-duration:7s;animation-delay:calc(var(--i) * 7s / 12 - 7s)}.fd .qdot{fill:var(--dark-dot);animation:qdot 7s var(--ease) infinite;transform-box:fill-box;transform-origin:50%}.fd .pad rect{fill:var(--dark-card);stroke:var(--dark-line);stroke-width:1px}.fd .pad text{fill:var(--dark-ink);font-size:14px;font-weight:500}.fd .pad .ok rect{animation:padok 7s var(--ease) infinite}.fd .pad .ok text{animation:padoktext 7s var(--ease) infinite}.fd .pad .off{opacity:.22}.fd .sdot{fill:var(--dark-ink);animation:dotin 8s var(--ease) infinite;animation-delay:calc(var(--n) * .28s);transform-box:fill-box;transform-origin:50%}.fd .sdot.root,.fd .pill{fill:var(--dark-dot)}.fd .pill.ghost{fill:var(--dark-card);stroke:var(--dark-line)}.fd .pilltxt{font-family:var(--font-sans),sans-serif;fill:#06231b;font-size:13px;font-weight:700}.fd .pilltxt.ghost{fill:var(--dark-ink)}.fd .ring{fill:none;stroke:var(--dark-dot);stroke-width:2px;animation:ring 7s var(--ease) infinite;transform-box:fill-box;transform-origin:50%}.fd .rbox{fill:var(--dark-card);stroke:var(--dark-line);stroke-width:1px}.fd .rcur{fill:none;stroke:var(--dark-dot);stroke-width:2.5px;animation:2.4s step-end infinite rcur}.fd .glyph{fill:var(--dark-ink);stroke:var(--dark-ink);stroke-width:2px;stroke-linecap:round}.fd .rbeat{fill:var(--dark-muted);font-size:12px}.fd .cb{animation:cbin 8s var(--ease) infinite;animation-delay:calc(var(--k) * 1.1s)}.fd .cb .grid{stroke-dasharray:400;stroke-dashoffset:400px;animation:draw 8s var(--ease) infinite;animation-delay:calc(var(--k) * 1.1s)}.fd .cb .cdot,.fd .cb .barre{fill:var(--teal);animation:dotin 8s var(--ease) infinite;animation-delay:calc(var(--k) * 1.1s + .5s);transform-box:fill-box;transform-origin:50%}.fd .cname{fill:var(--ink);font-size:13px;font-weight:500}.fd .cnum{fill:var(--teal);font-size:15px;font-weight:500}.fd .cx{fill:var(--muted);font-size:9px}.fd .pend{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round;transform-origin:150px 128px;animation:1.5s ease-in-out infinite swing}.fd .bob{fill:var(--teal);transform-origin:150px 128px;animation:1.5s ease-in-out infinite swing}.fd .mbody{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round}.fd .tick{fill:var(--teal);animation:1.5s step-end infinite tick}.fd .tick.b{animation-delay:.75s}.fd .bpm{fill:var(--muted);animation:8s step-end infinite rung;animation-delay:calc(var(--r) * 1.6s);font-size:26px;font-weight:500}.fd .rungbar{fill:var(--muted-bg)}.fd .rungfill{fill:var(--teal);transform-origin:0;animation:rungfill 8s var(--ease) infinite;animation-delay:calc(var(--r) * 1.6s)}.fd .arrow{stroke:#c9ccc6;stroke-width:1.5px;fill:none}.fd .wave{fill:none;stroke:var(--teal);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:700;stroke-dashoffset:700px;animation:wave 8s var(--ease) infinite}.fd .wcur{stroke:var(--ink);stroke-width:1.5px;animation:8s linear infinite wsweep}.fd .kcard{fill:var(--card);stroke:var(--line)}.fd .ktxt{font-family:var(--font-sans),sans-serif;fill:var(--ink);font-size:13px;font-weight:600}.fd .kmeta{fill:var(--muted);letter-spacing:.06em;font-size:11px}.fd .tnote{font-family:var(--font-sans),sans-serif;fill:var(--ink);font-size:34px;font-weight:700}.fd .needle{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round;transform-origin:0 8px;animation:needle 6s var(--ease) infinite}.fd .tmark{fill:#c9ccc6;animation:6s step-end infinite tuned}.fd .tstate{font-family:var(--font-sans),sans-serif;fill:var(--good);opacity:0;font-size:13px;font-weight:600;animation:6s step-end infinite tstate}.fd .tstr text{font-family:var(--font-mono),ui-monospace,monospace;fill:var(--muted);text-anchor:middle;font-size:13px}.fd .tstr .on{fill:var(--teal);font-weight:500}.fd .vplay{fill:var(--dark-dot)}.fd .vprog{fill:var(--dark-dot);transform-origin:34px 0;animation:8s linear infinite vprog}.fd .vrow text{font-family:var(--font-sans),sans-serif;fill:var(--ink);font-size:14px;font-weight:500}.fd .vtick{opacity:0;animation:8s step-end infinite vtick;animation-delay:calc(var(--v) * 2s);fill:var(--good)!important}.fd .deck.back,.fd .deck.front rect{fill:var(--card);stroke:var(--line)}.fd .deck.front{animation:deckin 4.5s var(--ease) infinite;transform-origin:50%}.fd .dtitle{font-family:var(--font-sans),sans-serif;fill:var(--ink);font-size:15px;font-weight:600}.fd .dbody{font-family:var(--font-sans),sans-serif;fill:var(--muted);font-size:13px}.fd .ddots circle{fill:var(--line)}.fd .ddots circle:first-child{fill:var(--teal)}.fd .qopt rect{fill:var(--card);stroke:var(--line)}.fd .qopt text{font-family:var(--font-sans),sans-serif;fill:var(--ink);font-size:14px;font-weight:500}.fd .qopt.ok rect{animation:qok 6s var(--ease) infinite}.fd .qscore{font-family:var(--font-mono),ui-monospace,monospace;fill:var(--teal-deep);opacity:0;font-size:12px;animation:6s step-end infinite tstate}@media (prefers-reduced-motion:reduce){.fd *,.fd :before,.fd :after{transition:none!important;animation:none!important}.fd .tabnum,.fd .sdot,.fd .cb,.fd .cb .cdot,.fd .cb .barre{opacity:1}.fd .cb .grid{stroke-dashoffset:0}.fd .qdot{opacity:1;fill:var(--good)}.fd .pad .ok rect{fill:var(--good);stroke:var(--good)}.fd .pad .ok text{fill:#06231b}.fd .bpm{fill:var(--teal)}.fd .rungfill{transform:scaleX(1)}.fd .wave{stroke-dashoffset:0}.fd .ring{opacity:0}.fd .needle{transform:rotate(0)}.fd .tmark{fill:var(--good)}.fd .tstate,.fd .qscore,.fd .vtick{opacity:1}.fd .vprog{transform:scaleX(.6)}.fd .deck.front{opacity:1}.fd .qopt.ok rect{fill:var(--teal-pale);stroke:var(--teal)}}.fd [data-copy].can{cursor:text;outline-offset:4px;transition:outline-color .16s var(--ease);border-radius:4px;outline:1px dashed #0000}.fd [data-copy].can:hover{outline-color:#3f786f80}.fd [data-copy].can:focus{outline:2px solid var(--teal);outline-offset:4px;background:var(--card)}.fd [data-copy].mine{box-shadow:inset 3px 0 0 var(--teal);margin-left:-11px;padding-left:8px}@keyframes blip{0%{opacity:.5}2%{opacity:1;fill:var(--dark-dot)}10%{opacity:1;fill:var(--dark-dot)}20%{opacity:.5;fill:var(--dark-ink)}to{opacity:.5}}@keyframes sweep{0%{transform:translate(0)}to{transform:translate(480px)}}@keyframes qdot{0%{opacity:0;transform:scale(.6)}8%{opacity:1;transform:scale(1)}34%{opacity:1}40%{fill:var(--good)}78%{opacity:1;fill:var(--good)}86%{opacity:0}to{opacity:0}}@keyframes padok{0%,34%{fill:var(--dark-card);stroke:var(--dark-line)}40%,78%{fill:var(--good);stroke:var(--good)}86%,to{fill:var(--dark-card);stroke:var(--dark-line)}}@keyframes padoktext{0%,34%{fill:var(--dark-ink)}40%,78%{fill:#06231b}86%,to{fill:var(--dark-ink)}}@keyframes dotin{0%{opacity:0;transform:scale(.5)}6%{opacity:1;transform:scale(1)}78%{opacity:1}88%{opacity:0}to{opacity:0}}@keyframes ring{0%{opacity:0;transform:scale(.8)}4%{opacity:1;transform:scale(1)}16%{opacity:1;transform:scale(1.25)}24%{opacity:0}to{opacity:0}}@keyframes rcur{0%{transform:translate(0)}25%{transform:translate(112px)}50%{transform:translate(224px)}75%{transform:translate(336px)}to{transform:translate(0)}}@keyframes cbin{0%{opacity:0}6%{opacity:1}80%{opacity:1}90%{opacity:0}to{opacity:0}}@keyframes draw{0%{stroke-dashoffset:400px}10%{stroke-dashoffset:0}82%{stroke-dashoffset:0}92%{stroke-dashoffset:400px}to{stroke-dashoffset:400px}}@keyframes swing{0%{transform:rotate(-22deg)}50%{transform:rotate(22deg)}to{transform:rotate(-22deg)}}@keyframes tick{0%{opacity:1}50%{opacity:.25}to{opacity:1}}@keyframes rung{0%{fill:var(--muted)}1%,to{fill:var(--teal)}}@keyframes rungfill{0%{transform:scaleX(0)}12%{transform:scaleX(1)}to{transform:scaleX(1)}}@keyframes wave{0%{stroke-dashoffset:700px}35%{stroke-dashoffset:0}85%{stroke-dashoffset:0}95%{stroke-dashoffset:700px}to{stroke-dashoffset:700px}}@keyframes wsweep{0%{transform:translate(0)}to{transform:translate(360px)}}@keyframes needle{0%{transform:rotate(24deg)}28%{transform:rotate(-7deg)}46%{transform:rotate(3deg)}58%{transform:rotate(0)}84%{transform:rotate(0)}to{transform:rotate(24deg)}}@keyframes tuned{0%{fill:#c9ccc6}58%{fill:var(--good)}84%{fill:#c9ccc6}to{fill:#c9ccc6}}@keyframes tstate{0%{opacity:0}58%{opacity:1}84%{opacity:0}to{opacity:0}}@keyframes vprog{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes vtick{0%{opacity:0}25%{opacity:1}to{opacity:1}}@keyframes deckin{0%{opacity:0;transform:translate(24px)}10%{opacity:1;transform:translate(0)}88%{opacity:1;transform:translate(0)}96%{opacity:0;transform:translate(-24px)}to{opacity:0}}@keyframes qok{0%,40%{fill:var(--card);stroke:var(--line)}48%,88%{fill:var(--teal-pale);stroke:var(--teal)}96%,to{fill:var(--card);stroke:var(--line)}}
