@font-face{font-family:Newsreader;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/665e920483964785-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/5611c55482296524-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/665e920483964785-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5611c55482296524-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader Fallback;src:local("Times New Roman");ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.00%;size-adjust:105.48%}.__className_d3630b{font-family:Newsreader,Newsreader Fallback}.__variable_d3630b{--font-newsreader:"Newsreader","Newsreader Fallback"}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/313510e2713fb214-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a6c19694cd327cd4-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/851c4691abdf3def-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a8a8dd7277bab4cf-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/313510e2713fb214-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Hanken Grotesk Fallback;src:local("Arial");ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.00%;size-adjust:100.94%}.__className_2a03db{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.__variable_2a03db{--font-hanken:"Hanken Grotesk","Hanken Grotesk Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/2f186ab49059fbbb-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7be269dd6123b082-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db5568a2cfd831e2-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6760c1b492207d80-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f424c9580f97313-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/427e4a37d3642943-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_5c096b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-weight:400;font-style:normal}.__variable_5c096b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fc5c32c9608afd8c-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ce2102fd461916ce-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0ee602a2fd0f859b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne Fallback;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_65143c{font-family:Syne,Syne Fallback;font-weight:600;font-style:normal}.__variable_65143c{--font-syne:"Syne","Syne Fallback"}:root{--bg:#121114;--surface:#1c1b20;--surface2:#25232a;--line:#2c2a31;--line2:#3d3a43;--fg:#f1ede6;--muted:#aaa5b0;--faint:#6d6975;--accent:#d8b06a;--accent2:#f2d396;--rose:#ef8a7a;--late:#d9a64a;--good:#8fd6a8;--ease:cubic-bezier(.2,.8,.2,1);--tension:#86c4ac;--other:#6f6a76;--ink:#121114;--key:#1d1c20;--key-b:#0d0c0f;--danger:#e07a6f;--f-mark:var(--font-syne),"Avenir Next",sans-serif;--f-symbols:"Apple Symbols","Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans";--f-display:var(--font-newsreader),var(--f-symbols),"Iowan Old Style",Georgia,serif;--f-body:var(--font-hanken),"Helvetica Neue",system-ui,sans-serif;--f-mono:var(--font-mono),var(--f-symbols),ui-monospace,Menlo,monospace;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f4f1;--surface2:#f3f1ed;--line2:#cfcbc4;--accent2:#b88a35;--rose:#b8473c;--good:#2f7d4f;--late:#a8731f;--surface:#fcfbfa;--line:#dedcd7;--fg:#19181b;--muted:#6c6971;--faint:#b3b0aa;--accent:#8d6521;--tension:#2e7a65;--other:#9a96a0;--ink:#fbfbfa;--key:#fbfbfa;--key-b:#2a282d;--danger:#b8473c;color-scheme:light}}:root[data-theme=light]{--bg:#f5f4f1;--surface2:#f3f1ed;--line2:#cfcbc4;--accent2:#b88a35;--rose:#b8473c;--good:#2f7d4f;--late:#a8731f;--surface:#fcfbfa;--line:#dedcd7;--fg:#19181b;--muted:#6c6971;--faint:#b3b0aa;--accent:#8d6521;--tension:#2e7a65;--other:#9a96a0;--ink:#fbfbfa;--key:#fbfbfa;--key-b:#2a282d;--danger:#b8473c;color-scheme:light}*{box-sizing:border-box}body,html{margin:0}body{background:radial-gradient(1100px 520px at 78% -8%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 62%) no-repeat,var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;min-height:100dvh}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}a{color:inherit}.mono{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:var(--f-mono)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{max-width:960px;margin:0 auto;padding-inline:24px;padding-block:28px 96px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.mark{font-family:var(--f-mark);font-weight:600;font-size:17px;letter-spacing:-.01em;text-decoration:none}.mark span{color:var(--accent)}.nav{display:flex;gap:22px;font-size:13px;flex-wrap:wrap}.nav a{color:var(--muted);text-decoration:none;padding-block:4px;border-bottom:1px solid transparent}.nav a[aria-current=page]{color:var(--fg);border-bottom-color:var(--fg)}.util{display:flex;gap:16px;font-size:12px}.util,.util button{color:var(--muted)}.util button[aria-pressed=true]{color:var(--accent)}.lede{margin:72px 0 56px;font-family:var(--f-display);font-weight:300;font-size:clamp(26px,4.4vw,40px);line-height:1.3;letter-spacing:-.01em;max-width:22ch;text-wrap:balance}.caption,.lede em{color:var(--muted)}.caption{margin:20px 0 0;font-size:13px;max-width:64ch}.caption b{color:var(--fg);font-weight:400;font-family:var(--f-mono)}.prog{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:4px 0 10px;font-family:var(--f-display);font-size:clamp(28px,5vw,44px);font-weight:300;letter-spacing:.02em}.prog:focus{outline:none;border-bottom-color:var(--accent)}.examples{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px;font-size:12px;color:var(--faint);align-items:baseline}.examples button{color:var(--muted);font-family:var(--f-mono);font-size:12px}.examples button:hover{color:var(--fg)}.hint{margin:10px 0 0;font-size:13px;color:var(--danger)}.sentence{margin:28px 0 0;color:var(--muted);font-size:15px;line-height:2.2}.sentence select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:0;border-bottom:1px solid var(--faint);color:var(--fg);padding:0 2px;margin:0 4px;cursor:pointer;border-radius:0;field-sizing:content;max-width:100%}.sentence select:hover{border-bottom-color:var(--accent)}.sentence select option{background:var(--surface);color:var(--fg)}.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:64px;border-top:1px solid var(--line)}.chord{text-align:left;padding:18px 16px 18px 0;border-top:2px solid transparent;margin-top:-1px;display:grid;grid-gap:2px;gap:2px;min-width:0}.chord .o{font-family:var(--f-mono);font-size:12px;color:var(--faint)}.chord .t{font-family:var(--f-display);font-size:26px;line-height:1.2;overflow-wrap:anywhere;color:var(--muted);transition:color .2s}.chord:hover .t,.chord[aria-pressed=true] .t{color:var(--fg)}.chord[aria-pressed=true]{border-top-color:var(--accent)}.chord.now .o{color:var(--accent)}.stage-wrap{position:relative}.aura{position:absolute;left:0;top:-40px;width:100%;height:300px;pointer-events:none;z-index:0}.stage{position:relative;z-index:1;margin-top:40px;display:grid;grid-gap:28px;gap:28px}.stage-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}.stage h2{margin:0;font-family:var(--f-display);font-weight:300;font-size:clamp(44px,8vw,72px);line-height:1;letter-spacing:-.01em;animation:rise .6s ease both;overflow-wrap:anywhere}.stage p{margin:10px 0 0;color:var(--muted);max-width:48ch}.morph{font-family:var(--f-display);font-size:18px;color:var(--faint);align-items:baseline;margin-bottom:6px}.actions,.morph{display:flex;gap:10px}.actions{flex-wrap:wrap}.pill{font-size:13px;color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:8px 16px}.pill:hover{border-color:var(--accent)}.pill.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.pill.primary:hover{background:var(--accent);border-color:var(--accent)}.diagram{overflow-x:auto}.diagram svg{display:block}.kbd{min-width:640px}.kbd,.roll{width:100%;height:auto}.roll{min-width:560px}.frets{display:flex;gap:40px;flex-wrap:wrap}.fret{grid-gap:8px;gap:8px;justify-items:start;font-size:12px;color:var(--muted)}.fret,.pads{display:grid}.pads{grid-template-columns:repeat(8,40px);grid-gap:5px;gap:5px}.pad{width:40px;height:40px;border-radius:5px;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--f-mono);font-size:10px;color:var(--faint)}.pad.root{background:var(--fg);color:var(--ink);border-color:var(--fg)}.pad.tone{background:var(--accent);color:var(--ink);border-color:var(--accent)}.pad.tension{background:var(--tension);color:var(--ink);border-color:var(--tension)}.inst-note{margin:0;max-width:60ch}.inst-note,.key-legend{font-size:12px;color:var(--muted)}.key-legend{display:flex;gap:20px;flex-wrap:wrap}.key-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px}details.deep{border-top:1px solid var(--line)}details.deep>summary{list-style:none;cursor:pointer;padding:18px 0;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}details.deep>summary::-webkit-details-marker{display:none}details.deep>summary:after{content:"+";font-family:var(--f-mono)}details.deep[open]>summary:after{content:"−"}details.deep>summary:hover{color:var(--fg)}.deep-body{padding-bottom:28px;display:grid;grid-gap:28px;gap:28px}.ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.ladder li{position:relative}.ladder li:before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--line)}.ladder button{position:relative;text-align:left;padding-top:20px;padding-right:12px;display:grid;grid-gap:2px;gap:2px;width:100%}.ladder button:before{content:"";position:absolute;left:0;top:0;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--faint)}.ladder .lv{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;color:var(--faint);text-transform:uppercase}.ladder .nm{font-family:var(--f-display);font-size:20px;color:var(--muted);overflow-wrap:anywhere}.ladder .df{font-family:var(--f-mono);font-size:11px;color:var(--faint);overflow-wrap:anywhere}.ladder .known .nm{text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.ladder .goal:before{border-color:var(--accent)}.ladder button[aria-pressed=true]:before{background:var(--accent);border-color:var(--accent)}.ladder button[aria-pressed=true] .nm{color:var(--fg)}.ladder button[aria-pressed=true] .df{color:var(--tension)}.facts{display:grid;grid-template-columns:9em minmax(0,1fr);grid-gap:8px 20px;gap:8px 20px;margin:0;font-size:13px}.facts dt{color:var(--muted)}.facts dd{margin:0;font-family:var(--f-mono);font-size:12px;overflow-wrap:anywhere}.transport{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.play{width:56px;height:56px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}.play:hover{border-color:var(--accent)}.play svg{fill:var(--fg)}.tabs{display:flex;gap:20px;font-size:13px;flex-wrap:wrap}.tabs button{color:var(--muted)}.tabs button[aria-pressed=true]{color:var(--fg)}.tabs button[aria-pressed=true]:before{content:"● ";color:var(--accent);font-size:8px;vertical-align:2px}.bpm{font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:center}.bpm input{width:90px}.macro{margin-top:44px;display:grid;grid-gap:8px;gap:8px;max-width:520px}.macro .ends{display:flex;justify-content:space-between;font-size:12px;color:var(--faint)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;width:100%;height:20px}input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--faint)}input[type=range]::-moz-range-track{height:1px;background:var(--faint)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--fg);margin-top:-6px}input[type=range]::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:var(--fg)}.groove{margin-top:48px;overflow-x:auto}.ggrid{display:grid;grid-template-columns:64px repeat(16,minmax(26px,1fr));min-width:560px}.ggrid .bars{grid-column:2/-1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);font-family:var(--f-display);font-size:15px;color:var(--faint);padding-bottom:14px}.ggrid .bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ggrid .bars .on{color:var(--fg)}.ggrid .lane{font-size:12px;color:var(--muted);align-self:center}.cell{position:relative;height:44px}.cell:after{content:"";position:absolute;left:50%;top:14px;bottom:14px;width:1px;background:var(--line)}.cell.beat:after{background:var(--faint);top:10px;bottom:10px}.cell .hit{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:var(--fg);transition:left .25s ease;z-index:1}.cell .hit.late{background:var(--accent)}.cell .hit.early{background:var(--tension)}.cell.ph:after{background:var(--accent);top:4px;bottom:4px}.axis{grid-column:2/-1;display:grid;grid-template-columns:repeat(16,minmax(0,1fr));font-family:var(--f-mono);font-size:10px;color:var(--faint);text-align:center;padding-top:6px}.knobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:18px 36px;gap:18px 36px}.knob{display:grid;grid-gap:2px;gap:2px;font-size:12px;color:var(--muted)}.knob .row{display:flex;justify-content:space-between}.knob output{font-family:var(--f-mono);color:var(--fg)}.toggle{font-size:12px;color:var(--muted);text-align:left}.toggle[aria-pressed=true]{color:var(--accent)}.v-sec{margin-top:72px;display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:24px;gap:24px}.v-sec:first-of-type{margin-top:0}.v-sec h3{margin:4px 0 0;font-size:12px;font-weight:400;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-family:var(--f-mono)}.loop{list-style:none;margin:0;padding:0;display:grid;grid-gap:14px;gap:14px;counter-reset:s}.loop li{display:grid;grid-template-columns:2.4em minmax(0,1fr);grid-gap:4px 12px;gap:4px 12px;counter-increment:s}.loop li:before{content:counter(s,decimal-leading-zero);font-family:var(--f-mono);font-size:12px;color:var(--faint);padding-top:6px}.loop b{font-family:var(--f-display);font-weight:400;font-size:22px;display:block;line-height:1.3}.loop span{color:var(--muted);font-size:14px}.loop li:last-child:before{content:"↺";color:var(--accent)}.prose p{margin:0 0 14px;max-width:60ch;color:var(--muted)}.prose p strong{color:var(--fg);font-weight:500}.rows{margin:0;padding:0;list-style:none}.rows li{display:grid;grid-template-columns:7em minmax(0,1fr);grid-gap:16px;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}.rows li:last-child{border-bottom:1px solid var(--line)}.rows .k{font-family:var(--f-mono);font-size:12px;color:var(--faint);padding-top:2px}.rows .k.cur{color:var(--accent)}.rows .v b{font-weight:500}.rows .v span{color:var(--muted)}.ways-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0 32px;gap:0 32px;margin-top:8px}.way{display:grid;grid-gap:6px;gap:6px;padding:22px 0;border-top:1px solid var(--line);text-decoration:none}.way b{font-family:var(--f-display);font-weight:400;font-size:26px}.way span{color:var(--muted);font-size:14px}.way:hover b{color:var(--accent)}button.way{text-align:left;width:100%}.loops{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:0 32px;gap:0 32px}.loop-card{display:grid;grid-gap:6px;gap:6px;padding:20px 0 24px;border-top:1px solid var(--line);align-content:start}.loop-card b{font-family:var(--f-display);font-weight:400;font-size:24px}.loop-card .mono{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.loop-card p{margin:0 0 6px;color:var(--muted);font-size:14px}.loop-card .pill{justify-self:start}.loop-card.suggested{border-top:2px solid var(--accent)}.jam-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:48px}.jam-chart{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:8px;gap:8px;margin-top:40px;font-family:var(--f-display);font-size:clamp(20px,3.4vw,30px);color:var(--faint)}.jam-chart span{border-top:2px solid var(--line);padding-top:10px;overflow-wrap:anywhere;transition:color .15s}.jam-chart .on{color:var(--fg);border-top-color:var(--accent)}.jam-challenge{margin:56px 0 0;font-weight:300;font-size:clamp(28px,5vw,46px);line-height:1.15;text-wrap:balance;max-width:24ch}.jam-challenge,.jam-line{font-family:var(--f-display)}.jam-line{margin:20px 0 0;font-style:italic;font-size:20px;color:var(--muted);max-width:40ch}.dotstrip{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));margin-top:48px;overflow:hidden}.dotstrip .cell{position:relative;height:36px;display:block}.dotstrip .hit.miss{background:transparent;border:1px solid var(--muted)}@media (prefers-reduced-motion:reduce){.jam-chart span{transition:none}}@media (max-width:700px){.wrap{padding-inline:16px}.lede{margin:48px 0 40px}.ladder{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.v-sec{gap:12px}.facts,.v-sec{grid-template-columns:minmax(0,1fr)}.facts{gap:2px}.facts dd{margin-bottom:10px}.nav{order:3;width:100%}.strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ways-in{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.cell .hit,.chord .t{transition:none}.stage h2{animation:none}}.foot{margin-top:120px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--faint)}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--fg)}.flow{max-width:600px;margin:0 auto;padding:36px 0 24px;display:grid;grid-gap:22px;gap:22px;align-content:start;animation:rise .4s var(--ease) both}.flow h1,.flow h2,.flow h3,.flow p{margin:0;text-wrap:balance}.flow .scr-title{font:300 clamp(32px,6vw,46px)/1.08 var(--f-display);letter-spacing:-.015em}.flow .scr-title em{color:var(--accent)}.flow .small{font-size:14px}.flow .muted,.flow .small{color:var(--muted)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.flow .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:999px;border:1px solid var(--line2);font-weight:600;font-size:16px;text-decoration:none;color:var(--fg);transition:transform .12s,background .2s,box-shadow .2s,border-color .2s}.flow .btn:active{transform:scale(.98)}.flow .btn:hover{border-color:var(--fg)}.flow .btn[disabled]{opacity:.45;cursor:default}.flow .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--ink)}.flow .btn.primary:hover{box-shadow:0 0 34px color-mix(in srgb,var(--accent) 50%,transparent)}.flow .btn.ghost{height:44px;font-size:14.5px;font-weight:500;color:var(--muted)}.flow .btn.sm{height:38px;font-size:14px;padding:0 16px}.flow .btns{gap:10px;align-items:center}.flow .btns,.flow .chips{display:flex;flex-wrap:wrap}.flow .chips{gap:8px}.flow .chip{display:inline-flex;align-items:center;gap:6px;font-size:14px;border:1px solid var(--line2);border-radius:999px;padding:6px 14px;color:var(--fg);transition:border-color .15s,background .15s}.flow button.chip:hover{border-color:var(--fg)}.flow .chip.on,.flow .chip[aria-pressed=true]{background:var(--fg);color:var(--ink);border-color:var(--fg)}.flow .chip.dim{color:var(--muted);border-color:var(--line)}.flow .say{width:100%;min-height:120px;resize:none;padding:18px 20px;border-radius:22px;border:1px solid var(--line2);background:var(--surface);font:300 22px/1.35 var(--f-display);color:var(--fg)}.flow .say::placeholder{color:var(--faint)}.flow .field:focus,.flow .say:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.flow .field{width:100%;height:48px;padding:0 18px;border-radius:999px;border:1px solid var(--line2);background:var(--surface);font:16px var(--f-body);color:var(--fg)}.flow .sentence{font-size:17px;line-height:2.2;color:var(--muted)}.flow .sentence input,.flow .sentence select{background:transparent;border:0;border-bottom:1px solid var(--faint);color:var(--fg);font:inherit;border-radius:0;padding:0 4px}.flow .card,.flow .sentence select option{background:var(--surface)}.flow .card{border:1px solid var(--line);border-radius:22px;padding:18px;display:grid;grid-gap:8px;gap:8px}.flow .card b,.flow .opt b{font:400 22px/1.15 var(--f-display)}.flow .card .sub,.flow .opt .sub{font-size:13.5px;color:var(--muted)}.flow .opts{display:grid;grid-gap:10px;gap:10px}.flow .opts.two{grid-template-columns:1fr 1fr}.flow .opt{text-align:left;display:grid;grid-gap:3px;gap:3px;padding:15px 18px;border:1px solid var(--line);border-radius:20px;background:var(--surface);width:100%;text-decoration:none;color:var(--fg);transition:transform .15s var(--ease),border-color .2s,background .2s}.flow .opt:hover{border-color:var(--line2);background:var(--surface2);transform:translateY(-2px)}.flow .opt[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.flow .opt .tag{font:600 10.5px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.flow .hero{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-radius:26px;padding:22px;display:grid;grid-gap:12px;gap:12px}.flow .hero h2{font:400 clamp(28px,5vw,36px)/1.1 var(--f-display)}.flow .hero ul{margin:0;padding-left:18px;color:var(--muted);font-size:15px;display:grid;grid-gap:4px;gap:4px}.flow .hero details{border-top:1px solid var(--line);padding-top:10px}.flow .hero summary{cursor:pointer;font-size:14px;color:var(--muted)}.flow .hero dl{display:grid;grid-template-columns:9em 1fr;grid-gap:6px 16px;gap:6px 16px;margin:12px 0 0;font-size:13px}.flow .hero dt{color:var(--muted)}.hero dd{margin:0;font-family:var(--f-mono);font-size:12px;overflow-wrap:anywhere}.flow .moves{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.flow .move{text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);display:grid;grid-gap:2px;gap:2px;text-decoration:none;color:var(--fg);transition:transform .15s var(--ease),border-color .2s}.flow a.move:hover{border-color:var(--line2);transform:translateY(-2px)}.flow .move b{font:400 19px/1.15 var(--f-display)}.flow .move span{font-size:13px;color:var(--muted)}.flow .move.soon{opacity:.5}.flow .move .k{font:600 10px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.flow .move.soon .k{color:var(--faint)}.flow .evid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.flow .evid .e{font-size:13px;border-radius:999px;padding:4px 12px;border:1px solid var(--line2);color:var(--faint)}.flow .evid .e.on{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.flow .evid .e.check{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.flow .section-label{font:600 11px/1.4 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.flow .rowlist{list-style:none;margin:0;padding:0}.flow .rowlist li{display:grid;grid-template-columns:6.5em 1fr;grid-gap:14px;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}.flow .rowlist li:last-child{border-bottom:1px solid var(--line)}.flow .rowlist .k{font:12px var(--f-mono);color:var(--faint);padding-top:3px}.flow .rowlist .v span{color:var(--muted)}.flow .songhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.flow .bigchord{font:400 clamp(72px,22vw,116px)/.95 var(--f-display);letter-spacing:-.03em;text-align:center;padding:8px 0 0;min-height:1em;overflow-wrap:anywhere;transition:color .15s}.flow .bigchord.dim{color:var(--faint);font-size:clamp(34px,9vw,48px);line-height:1.4}.flow .bigchord.hit{color:var(--accent2);text-shadow:0 0 40px color-mix(in srgb,var(--accent) 60%,transparent)}.flow .nextchord{text-align:center;font-size:18px;color:var(--muted);min-height:1.6em}.flow .bars{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}.flow .bars i{width:14px;height:14px;border-radius:5px;background:var(--line2);transition:background .2s,transform .2s}.flow .bars i.good{background:var(--accent)}.flow .bars i.late{background:var(--late);opacity:.8}.flow .bars i.wrong{background:var(--rose)}.flow .bars i.missed{background:transparent;box-shadow:inset 0 0 0 1.5px var(--faint)}.flow .pocket{position:relative;height:46px;border-radius:14px;background:var(--surface);border:1px solid var(--line);overflow:hidden}.flow .pocket .zone{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 14%,transparent);border-left:1px dashed color-mix(in srgb,var(--accent) 50%,transparent);border-right:1px dashed color-mix(in srgb,var(--accent) 50%,transparent)}.flow .pocket .mid{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--line2)}.flow .pocket .d{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent);animation:pop .35s var(--ease);transition:left .15s}.flow .pocket .d.late{background:var(--late);box-shadow:none;opacity:.8}.flow .pocket .d.wrong{background:var(--rose);box-shadow:none;opacity:.8}.flow .pocket .l{position:absolute;top:4px;font-size:10.5px;color:var(--faint);letter-spacing:.06em;text-transform:uppercase}.flow .pocket .l.a{left:10px}.pocket .l.b{right:10px}.pocket .l.c{left:0;right:0;text-align:center;color:var(--accent)}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.flow .streak{text-align:center;font-size:15px;color:var(--muted);min-height:1.6em}.flow .streak b{color:var(--accent2);font:400 22px var(--f-display)}.flow .tappads{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));grid-gap:10px;gap:10px}.flow .tappad{height:100px;border-radius:24px;background:linear-gradient(var(--surface2),var(--surface));border:1px solid var(--line2);display:grid;place-items:center;align-content:center;grid-gap:2px;gap:2px;transition:transform .08s,background .15s,border-color .15s;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:manipulation;color:var(--fg)}.flow .tappad b{font:400 clamp(24px,7vw,36px) var(--f-display)}.flow .tappad span{font:11px var(--f-mono);color:var(--faint)}.flow .tappad.down,.flow .tappad:active{transform:scale(.95);background:var(--accent);border-color:var(--accent);color:var(--ink)}.flow .tappad:active span{color:var(--ink)}.flow .stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.flow .stat{border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--surface)}.flow .stat b{display:block;font:400 clamp(22px,5vw,30px) var(--f-display)}.flow .stat span{font-size:12px;color:var(--muted)}.flow .focus{border:1px solid color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-radius:22px;padding:18px;display:grid;grid-gap:6px;gap:6px}.flow .focus b{font:400 clamp(22px,4.5vw,28px)/1.2 var(--f-display)}.flow .meter{height:8px;border-radius:8px;background:var(--line2);overflow:hidden}.flow .meter i{display:block;height:100%;background:var(--accent);border-radius:8px;transition:width .8s var(--ease)}.flow .layers{display:flex;gap:8px}.flow .layer{flex:1 1;text-align:center;padding:12px 6px;border-radius:18px;border:1px solid var(--line);background:var(--surface);font-size:13px;color:var(--muted)}.flow .layer b{display:block;font:400 17px var(--f-display);color:var(--fg)}.flow .layer[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.flow .chordrow{display:flex;flex-wrap:wrap;gap:8px}.flow .chordrow .c{font:400 22px var(--f-display);border:1px solid var(--line2);border-radius:14px;padding:2px 14px;background:var(--surface)}@media (max-width:480px){.flow .moves,.flow .opts.two{grid-template-columns:1fr}.flow .stats{gap:8px}.flow .stat{padding:12px 10px}}@media (prefers-reduced-motion:reduce){.flow,.flow .bars i,.flow .btn,.flow .move,.flow .opt,.flow .tappad{animation:none;transition:none}.flow .pocket .d{animation:none}.flow .tappad:active{transform:none}}.flow .readout{border:1px solid var(--line);border-radius:26px;background:var(--surface);padding:14px 18px;text-align:center;display:grid;grid-gap:2px;gap:2px;min-height:128px;align-content:center;transition:border-color .2s,background .2s,box-shadow .2s}.flow .readout.matched{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:0 0 40px color-mix(in srgb,var(--accent) 22%,transparent)}.flow .chordname{font:300 clamp(52px,12vw,84px)/1 var(--f-display);letter-spacing:-.02em;min-height:1em}.flow .readout.matched .chordname{color:var(--accent2);text-shadow:0 0 40px color-mix(in srgb,var(--accent) 55%,transparent)}.flow .chordsub{font-size:15px;color:var(--muted);min-height:1.6em}.flow .stage-keys{display:grid;grid-gap:12px;gap:12px}.flow .piano-scroll{overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.flow .piano{position:relative;display:flex;height:clamp(170px,30vh,260px);min-width:calc(var(--whites, 8) * 40px);padding:10px 10px 14px;border-radius:18px;border:1px solid var(--line2);background:var(--surface);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.flow .bk,.flow .wk{display:flex;align-items:flex-end;justify-content:center}.flow .wk{position:relative;flex:1 1;margin:0 1px;padding-bottom:12px;border-radius:0 0 11px 11px;border:1px solid #b9b2a3;background:linear-gradient(#f6f2e9,#ddd7c9);color:#7a7466;transition:background .06s,transform .06s,box-shadow .1s}.flow .wk.on{background:linear-gradient(var(--accent2),var(--accent));border-color:var(--accent);transform:translateY(2px);box-shadow:0 0 26px color-mix(in srgb,var(--accent) 55%,transparent);color:#3d2f12}.flow .bk{position:absolute;top:10px;height:60%;z-index:2;padding-bottom:9px;border-radius:0 0 9px 9px;border:1px solid #000;background:linear-gradient(#2e2b34,#0e0d11);color:#b8b1c2;transition:background .06s,box-shadow .1s}.flow .bk.on{background:linear-gradient(var(--accent),#8f6a2a);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 60%,transparent);color:#1c1608}.flow .piano kbd{font:11px var(--f-mono);letter-spacing:.02em;pointer-events:none}.flow .piano .oct{bottom:36px;left:0;right:0;text-align:center;font:10px var(--f-mono);color:#9a9484}.flow .piano .dot,.flow .piano .oct{position:absolute;pointer-events:none}.flow .piano .dot{left:50%;bottom:58px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent);opacity:0;transform:scale(.4);transition:opacity .15s,transform .15s}.flow .bk .dot{bottom:34px;background:var(--accent2)}.flow .piano .guide .dot{opacity:1;transform:scale(1)}.flow .piano .on.guide .dot{background:#3d2f12;box-shadow:none}.flow .rotate-hint{display:none}.flow .inputs{display:flex;flex-wrap:wrap;gap:8px}.flow .hint{font:11px var(--f-mono);color:var(--faint);margin-left:4px}@media (max-width:700px) and (orientation:portrait){.flow .rotate-hint{display:block}}@media (prefers-reduced-motion:reduce){.flow .bk,.flow .piano .dot,.flow .readout,.flow .wk{transition:none}}