@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_df331b92-module__ruOyLG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_df331b92-module__ruOyLG__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_1454aeab-module__p1w6Bq__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_1454aeab-module__p1w6Bq__variable{--font-ibm-plex:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,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(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,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(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,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:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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.0%;size-adjust:134.59%}.jetbrains_mono_7bd34b70-module__8545jq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7bd34b70-module__8545jq__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Noto Music;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d72774d76b1ea43b-s.15qa9yib1gx8h.woff2)format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:Noto Music;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2874e5d7d5aa9ae0-s.2nk8e46kwsfbi.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Music;font-style:normal;font-weight:400;font-display:swap;src:url(../media/032252a1d5659fdc-s.1f955wrm41yg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Music Fallback;src:local(Arial);ascent-override:130.64%;descent-override:37.43%;line-gap-override:0.0%;size-adjust:106.33%}.noto_music_6c2a14ea-module__jvL3-G__className{font-family:Noto Music,Noto Music Fallback;font-style:normal;font-weight:400}.noto_music_6c2a14ea-module__jvL3-G__variable{--font-noto-music:"Noto Music", "Noto Music Fallback"}
@layer preflight {
*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}
}

@layer tokens {
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f1e7;--paper-2:#efe8db;--paper-3:#e8dfcc;--ink:#14140f;--ink-80:#14140fcc;--ink-60:#14140fa8;--ink-40:#14140f7a;--ink-30:#14140f47;--ink-20:#14140f2e;--ink-15:#14140f1f;--ink-10:#14140f14;--ink-05:#14140f0a;--accent:#de4f44;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:999px;--rail-ease:cubic-bezier(.2, .9, .3, 1);--font-display:var(--font-instrument-serif), "Cormorant Garamond", Georgia, serif;--font-ui:var(--font-ibm-plex), "Helvetica Neue", system-ui, sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, "Menlo", monospace;--font-music:var(--font-noto-music), "Noto Music", var(--font-display);--dot-border:#14140f38;--card-shadow:0 1px 0 #14140f0a, 0 12px 32px -18px #14140f2e;--grain-opacity:.05;--card:#f6f1e7;--key-face:#f6f1e7;--key-face-2:#efe8db;--key-ink:#14140f;--key-ink-40:#14140f6b;--key-border:#14140f2e;--key-black:#14140f;--key-black-2:#2a2a26;--raised:#14140f;--raised-ink:#f6f1e7;--scrim:#14140f52;--pop-shadow:0 24px 60px -24px #14140f66;--wash-right:#d3edd780;--wash-wrong:#fedbd673;--good:#319751;--bad:#cf4238;--good-deep:#006829;--bad-deep:#b3241f;--rail-w:256px}@supports (color:lab(0% 0 0)){:root{--accent:lab(54.1873% 56.0062 38.114);--wash-right:lab(91.2533% -11.8417 7.5634/.5);--wash-wrong:lab(90.3695% 11.9893 7.36569/.45);--good:lab(55.358% -42.3219 27.9624);--bad:lab(49.5352% 56.1325 38.8711);--good-deep:lab(37.9176% -42.8445 28.9641);--bad-deep:lab(40.2254% 56.4251 41.3189)}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#272320;--paper-2:#2f2a26;--paper-3:#37302b;--ink:#ece7da;--ink-80:#ece7dad6;--ink-60:#ece7daa3;--ink-40:#ece7da7a;--ink-30:#ece7da57;--ink-20:#ece7da38;--ink-15:#ece7da29;--ink-10:#ece7da1c;--ink-05:#ece7da0f;--accent:#ef675a;--dot-border:#ece7da66;--card-shadow:0 1px 0 #0000004d, 0 12px 32px -18px #0009;--grain-opacity:.04;--card:#3b332d;--key-face:#efe9dc;--key-face-2:#e6ddc9;--key-border:#14140f59;--key-black:#14120d;--key-black-2:#262420;--raised:#493f37;--raised-ink:#ece7da;--scrim:#0000008c;--pop-shadow:0 24px 60px -24px #000c;--wash-right:#243f2a80;--wash-wrong:#4d262180;--good:#69ba7c;--bad:#ea6b5e;--good-deep:#94cf9f;--bad-deep:#f69c90}@supports (color:lab(0% 0 0)){[data-theme=dark]{--accent:lab(61.2669% 52.6398 34.802);--wash-right:lab(24.0848% -14.9509 9.70092/.5);--wash-wrong:lab(20.5636% 18.4242 11.7867/.5);--good:lab(69.0581% -35.9632 23.4195);--bad:lab(61.3698% 49.451 32.4046);--good-deep:lab(77.9735% -26.8126 17.2964);--bad-deep:lab(73.4778% 33.5428 21.0848)}}
}

@layer base {
*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);accent-color:var(--accent)}button{touch-action:manipulation}body{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:16px;line-height:1.55;position:relative}body:before{content:"";pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:multiply;z-index:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' /></svg>");position:fixed;inset:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:400}em{font-style:italic}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);font-size:11px}.btn{font-family:var(--font-ui);border-radius:var(--radius-pill);cursor:pointer;letter-spacing:.01em;color:inherit;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:11px 20px;font-size:14px;font-weight:500;transition:transform .12s,box-shadow .2s,background .2s,border-color .2s,filter .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--raised);color:var(--raised-ink)}.btn--primary:hover:not(:disabled){filter:brightness(1.1)}.btn--ghost{border-color:var(--ink-20)}.btn--ghost:hover:not(:disabled){border-color:var(--ink);background:var(--ink-05)}.btn--glow{transition:transform .25s,box-shadow .3s}.btn--glow:hover:not(:disabled){transform:translateY(-1px);box-shadow:-24px 8px 48px -6px #ec5542b3,0 12px 44px -8px #00a85599,24px 8px 48px -6px #7b67eab3;box-shadow:-24px 8px 48px -6px lab(57.6156% 58.5493 43.4419/.7),0 12px 44px -8px lab(60.3831% -53.0221 32.0071/.6),24px 8px 48px -6px lab(50.8267% 33.3205 -65.0042/.7)}.btn--glow:active{transform:translateY(0);box-shadow:-14px 4px 30px -8px #ec55428c,14px 4px 30px -8px #7b67ea8c;box-shadow:-14px 4px 30px -8px lab(57.6156% 58.5493 43.4419/.55),14px 4px 30px -8px lab(50.8267% 33.3205 -65.0042/.55)}@media (prefers-reduced-motion:reduce){.btn--glow{transition:box-shadow .3s}.btn--glow:hover:not(:disabled),.btn--glow:active{transform:none}}.chroma-dot{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.chroma-dot__core{background:var(--dot-fill);border:1px solid var(--dot-border);border-radius:50%;transition:box-shadow .25s,transform .25s;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff40,inset 0 -2px 8px #0000002e}.chroma-dot.is-playing .chroma-dot__core{box-shadow:inset 0 1px 0 #ffffff4d, inset 0 -2px 8px #0000002e, 0 0 0 6px var(--dot-glow), 0 0 36px 8px var(--dot-glow);animation:1.2s ease-out dot-pulse}.chroma-dot.is-muted .chroma-dot__core{filter:saturate(.1)brightness(.9);background:var(--ink-10)}.chroma-dot__ring{border:1px dashed var(--ink-30);pointer-events:none;border-radius:50%;position:absolute;inset:-6px}.chroma-dot__label{font-family:var(--font-display);color:var(--ink);z-index:2;font-size:calc(1em + 2px);font-weight:500;position:relative}.chord-glyph{flex-shrink:0;display:inline-flex;position:relative}.chord-glyph svg{transition:filter .25s;display:block}.chord-glyph.is-playing svg{filter:drop-shadow(0 0 5px var(--dot-glow)) drop-shadow(0 0 16px var(--dot-glow));animation:1.2s ease-out dot-pulse}@keyframes dot-pulse{0%{transform:scale(.92)}40%{transform:scale(1.05)}to{transform:scale(1)}}
}

@layer shell {
.shell{z-index:2;min-height:100vh;position:relative}.shell__rail{width:var(--rail-w);background:var(--paper-2);border-right:1px solid var(--ink-10);z-index:40;transition:transform .28s var(--rail-ease);position:fixed;inset:0 auto 0 0}.shell__body{margin-left:var(--rail-w);min-height:100vh;transition:margin-left .28s var(--rail-ease);flex-direction:column;display:flex}@media (min-width:921px){.shell.is-collapsed .shell__rail{transform:translate(-100%)}.shell.is-collapsed .shell__body{margin-left:0}}.shell__content{flex:1}.shell__scrim{z-index:30;background:#00000059;display:none;position:fixed;inset:0}html{scrollbar-width:thin;scrollbar-color:var(--ink-20) transparent}html::-webkit-scrollbar{width:10px;height:10px}.sidebar::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:var(--ink-20);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.sidebar::-webkit-scrollbar-thumb{background:var(--ink-20);background-clip:padding-box;border:3px solid #0000;border-radius:999px}html::-webkit-scrollbar-thumb:hover{background:var(--ink-40)}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--ink-40)}.sidebar{flex-direction:column;gap:8px;height:100%;padding:22px 16px;display:flex;overflow-y:auto}.sidebar__brandrow{align-items:center;padding:10px 2px 20px 6px;display:flex}.sidebar__brand{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sidebar__close{border-radius:var(--radius-md);width:26px;height:26px;color:var(--ink-40);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:-10px;padding:0;display:inline-flex;position:relative}.sidebar__close:hover{background:var(--ink-05);color:var(--ink)}.sidebar__close .navtip{left:auto;right:0}.sidebar__brand-mark{filter:drop-shadow(0 0 6px #f2753959);filter:drop-shadow(0 0 6px lab(63.9772% 46.3978 54.884/.35));flex-shrink:0;width:32px;height:21px}.sidebar__brand-name{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-80);white-space:nowrap;font-size:12px}.sidebar__brand:hover .sidebar__brand-name{color:var(--ink)}.sidebar__section{margin-top:10px}.sidebar__heading{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60);padding:0 10px 8px;font-size:10px}.sidebar__heading--link{justify-content:space-between;align-items:baseline;text-decoration:none;display:flex}.sidebar__heading--link:hover,.sidebar__heading--link.is-active{color:var(--ink)}.sidebar__heading-all{letter-spacing:.08em;opacity:0;transition:opacity .15s}.sidebar__heading--link:hover .sidebar__heading-all,.sidebar__heading--link:focus-visible .sidebar__heading-all{opacity:1}.sidebar__unit{letter-spacing:.04em;color:var(--ink-60);padding:8px 10px 4px;font-size:11px}.sidebar__path{border-radius:var(--radius-md);color:var(--ink-80);align-items:center;gap:10px;padding:10px;transition:background .15s,color .15s;display:flex}.sidebar__path:hover{background:var(--ink-05);color:var(--ink)}.sidebar__path-numeral{font-family:var(--font-display);text-align:center;width:24px;color:var(--pa,var(--ink-60));font-size:17px;line-height:1}.sidebar__path-title{letter-spacing:.02em;flex:1;font-size:13px;font-weight:600}.sidebar__path-count{font-family:var(--font-mono);color:var(--ink-60);font-size:10px}.sidebar__path.is-open{color:var(--ink)}.sidebar__path.is-open .sidebar__path-count{color:var(--ink-60)}.sidebar__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar__item{border-radius:var(--radius-md);color:var(--ink-80);align-items:center;gap:12px;padding:10px;transition:background .15s,color .15s;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:fixed;top:12px;left:12px;overflow:hidden}.skip-link:focus-visible{clip-path:none;background:var(--raised);width:auto;height:auto;color:var(--raised-ink);border-radius:var(--radius-md);padding:10px 16px;font-weight:500;overflow:visible}.sidebar__item:hover{background:var(--ink-05);color:var(--ink)}.sidebar__item.is-active{background:var(--raised);color:var(--raised-ink)}.sidebar__item--quiet{color:var(--ink-60)}.sidebar__num{font-family:var(--font-mono);background:var(--ink-05);min-width:30px;height:24px;color:var(--ink-60);border-left:2px solid var(--marker,transparent);border-radius:8px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.sidebar__item.is-done .sidebar__num{border-right:2px solid var(--marker,var(--ink-30));background:color-mix(in oklab, var(--marker,var(--ink-20)) 16%, transparent);color:var(--ink)}.sidebar__item.is-active .sidebar__num{color:var(--raised-ink);background:#ffffff29}.sidebar__num--icon{border-left:none;font-size:14px}.sidebar__label{font-size:14px;font-weight:500}.sidebar__spacer{flex:1}.topbar{z-index:20;background:color-mix(in oklab, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-10);align-items:center;gap:16px;padding:12px 28px;display:flex;position:sticky;top:0}.topbar__menu{border:1px solid var(--ink-15);width:38px;height:38px;color:var(--ink);cursor:pointer;transition:width .28s var(--rail-ease), margin-right .28s var(--rail-ease), opacity .2s, border-color .2s;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.topbar__menu:hover{background:var(--ink-05)}.topbar__menu[aria-expanded=true]{opacity:0;pointer-events:none;border-color:#0000;width:0;margin-right:-16px}.navtip{background:var(--raised);color:var(--raised-ink);white-space:nowrap;opacity:0;pointer-events:none;z-index:60;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:500;transition:opacity .12s;position:absolute;top:calc(100% + 8px);left:0}.topbar__menu:hover .navtip,.topbar__menu:focus-visible .navtip,.sidebar__close:hover .navtip,.sidebar__close:focus-visible .navtip{opacity:1;transition-delay:.4s}.topbar__scope{opacity:.85;flex:1;align-items:center;min-width:0;display:flex;overflow:hidden}.topbar__right{align-items:center;gap:10px;display:flex}.topbar__search{border:1px solid var(--ink-15);height:38px;color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.topbar__search:hover{background:var(--ink-05)}.topbar__search-kbd{font-family:var(--font-mono);color:var(--ink-60);border:1px solid var(--ink-15);border-radius:5px;padding:1px 5px;font-size:11px}@media (max-width:920px){.topbar__search-kbd{display:none}}.audiobtn{font-family:var(--font-ui);border-radius:var(--radius-pill);border:1px solid var(--ink-20);background:var(--raised);color:var(--raised-ink);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:500;display:inline-flex}.audiobtn:hover:not(:disabled){filter:brightness(1.1)}.audiobtn.is-loading,.audiobtn.is-ready{color:var(--ink-60);border-color:var(--ink-15);cursor:default;background:0 0}.audiobtn.is-error{background:var(--accent);color:#14140f;border-color:#0000}.audiobtn__dot{background:#3fc168;background:lab(69.6529% -51.4113 33.9912);border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #3fc168b3;box-shadow:0 0 8px lab(69.6529% -51.4113 33.9912/.7)}.audiobtn.is-ready .audiobtn__dot{background:#3fc168;background:lab(69.6529% -51.4113 33.9912)}.instdock{left:var(--rail-w);z-index:25;transition:left .28s var(--rail-ease);position:fixed;bottom:0;right:0}.shell.is-collapsed .instdock{left:0}.instdock__tray{background:var(--card);border-top:1px solid var(--ink-15);box-shadow:0 -14px 36px #00000024}.instdock__handle{cursor:pointer;width:100%;font:inherit;background:0 0;border:none;justify-content:center;align-items:center;gap:8px;padding:6px 0;display:flex}.instdock__handle,.instdock__label,.instdock__seg{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.instdock__handle,.instdock__label{color:var(--ink-60)}.instdock__bar{justify-content:center;align-items:center;gap:6px;padding:8px 0 2px;display:flex}.instdock__seg{padding:2px 12px}.instdock__body{max-width:860px;margin:0 auto;padding:0 18px 14px}.instdock__kbd .kbd__whites{height:110px}.instdock__kbd .kbd__key--white{padding-bottom:7px}.instdock__kbd .kbd__label{font-size:10px}.instdock__gtr .fretwrap{background:0 0;border:none;width:fit-content;max-width:100%;margin:0 auto;padding:0}.instdock__gtr .fretboard{width:auto;height:140px}.instdock-spacer{height:34px}.instdock-spacer[data-dock=keys]{height:214px}.instdock-spacer[data-dock=guitar]{height:244px}.latetoast{z-index:55;background:var(--card);border:1px solid var(--ink-10);border-radius:var(--radius-lg);max-width:360px;box-shadow:var(--pop-shadow);flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;display:flex;position:fixed;bottom:16px;right:16px}.latetoast__body{color:var(--ink-80);margin:0;font-size:13px;line-height:1.5}.latetoast__body strong{color:var(--ink)}
}

@layer instruments {
.kbd{-webkit-user-select:none;user-select:none;touch-action:none;width:100%;position:relative}.kbd__whites{width:100%;height:180px;display:flex}.panel>*+.kbd{margin-top:22px}.kbd__key{cursor:pointer;border:1px solid var(--key-border);font:inherit;color:inherit;flex-direction:column;justify-content:flex-end;align-items:center;transition:background 60ms,box-shadow .12s,transform 60ms;display:flex;position:relative}.kbd__key:disabled{cursor:default}.kbd__key--white{background:linear-gradient(180deg, var(--key-face), var(--key-face-2));border-radius:0 0 7px 7px;flex:1;margin-right:-1px;padding-bottom:12px}.kbd__key--white:first-child{border-radius:0 0 7px 7px}.kbd__key--white:last-child{margin-right:0}.kbd__key--white.is-marked{background:linear-gradient(180deg, color-mix(in srgb, var(--note-color) 26%, var(--key-face)), color-mix(in srgb, var(--note-color) 44%, var(--key-face-2)));border-color:color-mix(in srgb, var(--note-color) 60%, var(--key-border))}.kbd__key--white.is-marked .kbd__label{color:var(--key-ink)}.kbd__key--white.is-soft{background:linear-gradient(180deg, color-mix(in srgb, var(--note-color) 12%, var(--key-face)), color-mix(in srgb, var(--note-color) 22%, var(--key-face-2)));border-color:color-mix(in srgb, var(--note-color) 38%, var(--key-border))}.kbd__key--white.is-strong{background:linear-gradient(180deg, color-mix(in srgb, var(--note-color) 46%, var(--key-face)), color-mix(in srgb, var(--note-color) 68%, var(--key-face-2)));border-color:color-mix(in srgb, var(--note-color) 85%, var(--key-border))}.kbd__key--white.is-octave-start{background:linear-gradient(180deg, color-mix(in srgb, var(--note-color) 20%, var(--key-face)), color-mix(in srgb, var(--note-color) 38%, var(--key-face-2)));border-color:color-mix(in srgb, var(--note-color) 55%, var(--key-border))}.kbd__key--white.is-octave-start .kbd__label{color:var(--key-ink);font-weight:700}.kbd__key--white.is-lit{background:var(--note-color);border-color:color-mix(in srgb, var(--note-ink,var(--ink)) 55%, var(--note-color));box-shadow:0 0 26px 0 var(--note-glow), inset 0 0 0 2px var(--note-ink,var(--ink));transform:translateY(2px)}.kbd__blacks{pointer-events:none;position:absolute;inset:0}.kbd__key--black{width:calc(100% / var(--kbd-whites,14) * .62);background-color:var(--key-black);background-image:linear-gradient(180deg, var(--key-black-2), var(--key-black));pointer-events:auto;z-index:3;border:1px solid #000;border-radius:0 0 6px 6px;max-width:34px;height:62%;padding-bottom:8px;position:absolute;top:0;transform:translate(-50%)}.kbd__key--black.is-marked{background-image:linear-gradient(color-mix(in srgb, var(--note-color) 68%, var(--key-black-2)), color-mix(in srgb, var(--note-color) 55%, var(--key-black)));border-color:color-mix(in srgb, var(--note-color) 65%, #000);box-shadow:0 0 10px -3px var(--note-glow)}.kbd__key--black.is-soft{background-image:linear-gradient(color-mix(in srgb, var(--note-color) 40%, var(--key-black-2)), color-mix(in srgb, var(--note-color) 30%, var(--key-black)));border-color:color-mix(in srgb, var(--note-color) 45%, #000);box-shadow:none}.kbd__key--black.is-strong{background-image:linear-gradient(color-mix(in srgb, var(--note-color) 85%, var(--key-black-2)), color-mix(in srgb, var(--note-color) 72%, var(--key-black)));border-color:color-mix(in srgb, var(--note-color) 80%, #000);box-shadow:0 0 12px -2px var(--note-glow)}.kbd__key--black.is-lit{background-image:linear-gradient(var(--note-color), var(--note-color));border-color:color-mix(in srgb, var(--note-ink,#fff) 55%, var(--note-color));box-shadow:0 0 26px 0 var(--note-glow), inset 0 0 0 2px var(--note-ink,var(--ink))}.kbd__key--black.is-off{background:var(--ink-15);border-color:var(--ink-20);opacity:.55}.kbd__key--black.is-off .kbd__pip{background:var(--ink-20);box-shadow:none}.kbd__pip{background:var(--note-color);border:1px solid var(--dot-border);border-radius:50%;width:12px;height:12px;box-shadow:inset 0 1px #ffffff4d}.kbd__key--black .kbd__pip{width:9px;height:9px}.acc{position:relative}.acc--sharp{margin-left:.06em;top:-.06em}.acc--flat{margin-left:-.18em;top:-.02em}.kbd__blabel{font-family:var(--font-mono);color:#ffffffb8;flex-direction:column;align-items:center;gap:1px;margin-bottom:5px;font-size:9px;line-height:1.2;display:flex}.kbd__key--black.is-lit .kbd__blabel{color:var(--note-ink,var(--ink))}.kbd__key.is-lit .kbd__pip{background:#ffffffd9;border-color:#0000}.kbd__label{font-family:var(--font-mono);color:var(--key-ink-40);margin-top:7px;font-size:10px}.kbd--octaves .kbd__label{letter-spacing:-.02em;margin-top:5px;font-size:9px}.kbd-scroll{overflow:auto hidden}.kbd-scroll .kbd{min-width:calc(var(--kbd-whites,14) * 20px)}.kbd__degree{font-family:var(--font-mono);color:var(--key-ink);margin-bottom:6px;font-size:11px;font-weight:600;line-height:1}.kbd__key--black .kbd__degree{color:#ffffffeb;margin-bottom:5px;font-size:10px}.kbd__key.is-lit .kbd__degree,.kbd__key.is-lit .kbd__label{color:var(--note-ink,var(--ink))}.chromawheel{width:100%;margin:0 auto}.chromawheel__node:focus{outline:none}.chromawheel__node:focus-visible circle{stroke:var(--ink);stroke-width:2px}.chromawheel__lbl{font-family:var(--font-ui);font-size:12px;font-weight:600}.chromawheel__center{font-family:var(--font-mono);letter-spacing:.18em;fill:var(--ink);font-size:11px}.chromawheel__centersub{font-family:var(--font-mono);letter-spacing:.14em;fill:var(--ink-60);font-size:8.5px}.chromawheel__dirlbl{font-family:var(--font-mono);letter-spacing:.08em;fill:var(--ink-60);font-size:9.5px}
}

@layer layout {
.page{max-width:1080px;margin:0 auto;padding:40px 28px 120px}.panel{background:var(--paper-2);border:1px solid var(--ink-10);border-radius:var(--radius-lg);padding:28px}.panel__head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.panel__title{font-family:var(--font-display);font-size:26px}.panel__title--kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);font-size:12px;font-weight:600}.stack{flex-direction:column;gap:22px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}[data-density=compact] .page{padding-top:24px}[data-density=compact] .panel{padding:20px}[data-density=compact] .stack{gap:16px}.stack--roomy{gap:28px}.stack--tight{gap:16px}.stack--snug{gap:12px}.stack--hairline{gap:8px}[data-density=compact] .stack--roomy{gap:20px}[data-density=compact] .stack--tight{gap:12px}[data-density=compact] .stack--snug{gap:9px}[data-density=compact] .stack--hairline{gap:6px}.hero{border-bottom:1px solid var(--ink-10);grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;margin-bottom:48px;padding:28px 0 56px;display:grid}.hero__title{letter-spacing:-.02em;margin-bottom:22px;font-size:clamp(44px,6vw,82px);line-height:.96}.hero__lede{color:var(--ink-80);text-wrap:pretty;max-width:460px;margin-bottom:28px;font-size:19px;line-height:1.6}.hero__art{justify-content:center;display:flex}.hero .row{flex-wrap:nowrap}.hero .row .btn{white-space:nowrap}@media (max-width:920px){.hero .row{flex-wrap:wrap}.hero .row .btn{white-space:normal}}@media (max-width:760px){.hero{grid-template-columns:1fr;gap:36px;padding:12px 0 44px}}.pathhead{margin-bottom:40px}.pathhead__eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60);align-items:center;gap:10px;margin-bottom:10px;font-size:11px;display:inline-flex}.pathhead__dot{background:var(--pa);width:9px;height:9px;box-shadow:0 0 10px var(--pa);border-radius:50%}.pathhead__title{letter-spacing:-.01em;margin-bottom:10px;font-size:clamp(34px,5vw,54px);line-height:1}.pathhead__sub{color:var(--ink-60);margin-bottom:16px;font-size:17px}.pathhead__meta{max-width:420px;font-family:var(--font-mono);color:var(--ink-60);align-items:center;gap:12px;font-size:12px;display:flex}.pathhead__bar{background:var(--ink-10);border-radius:4px;flex:1;height:4px;overflow:hidden}.pathhead__bar>div{background:var(--pa);height:100%}.path-divider{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-60);align-items:center;gap:18px;margin:72px 0 36px;font-size:11px;display:flex}.path-divider:before,.path-divider:after{content:"";background:var(--ink-10);flex:1;height:1px}.pathbanners{flex-direction:column;gap:16px;display:flex}.pathbanner{background:var(--card);border:1px solid var(--ink-15);border-left:4px solid var(--pa);border-radius:var(--radius-lg);grid-template-columns:96px 1fr auto;align-items:center;gap:24px;padding:26px 30px;transition:transform .15s,box-shadow .25s,border-color .15s;display:grid;position:relative}.pathbanner:hover{border-color:var(--ink-20);transform:translateY(-2px);box-shadow:0 10px 30px #1d140d14;box-shadow:0 10px 30px lab(7.17208% 3.64868 5.4563/.08)}.pathbanner__numeral{font-family:var(--font-display);color:var(--pa);text-align:center;font-size:56px;line-height:1}.pathbanner__title{font-family:var(--font-display);margin-bottom:6px;font-size:28px;line-height:1.05;display:block}.pathbanner__tagline{color:var(--ink-60);margin-bottom:12px;font-size:15px;display:block}.pathbanner__chips{flex-wrap:wrap;gap:8px;display:flex}.pathbanner__chip{font-family:var(--font-mono);color:var(--ink-60);border:1px solid var(--ink-15);border-radius:999px;padding:3px 10px;font-size:11px}.pathbanner__side{text-align:right;font-family:var(--font-mono);color:var(--ink-60);flex-direction:column;align-items:flex-end;gap:10px;font-size:12px;display:flex}.pathbanner__go{color:var(--ink)}.pathbanner__next{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;background:var(--raised);color:var(--raised-ink);border-radius:999px;padding:3px 10px;font-size:10px;position:absolute;top:-9px;left:26px}@media (max-width:760px){.pathbanner{grid-template-columns:56px 1fr}.pathbanner__side{display:none}.pathbanner__numeral{font-size:40px}}.homeshelves{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.units{flex-direction:column;gap:64px;display:flex}.unit{grid-template-columns:264px 1fr;align-items:start;gap:40px;display:grid}.unit--right{grid-template-columns:1fr 264px}.unit--right .unit__marker{order:2}@media (max-width:760px){.unit,.unit--right{grid-template-columns:1fr;gap:20px}.unit--right .unit__marker{order:0}.unit__marker{position:static}}.unit__marker{border-radius:var(--radius-lg);background:var(--paper-2);border:1px solid var(--ink-10);padding:24px;position:sticky;top:84px}.unit__glyph{font-family:var(--font-display);margin-bottom:14px;font-size:44px;line-height:1}.unit__eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);margin-bottom:6px;font-size:11px}.unit__title{margin-bottom:6px;font-size:30px;line-height:1}.unit__sub{color:var(--ink-60);text-wrap:pretty;font-size:14px}.unit__progress{font-family:var(--font-mono);color:var(--ink-60);align-items:center;gap:10px;margin-top:18px;font-size:11px;display:flex}.unit__bar{background:var(--ink-10);border-radius:4px;flex:1;height:4px;overflow:hidden}.unit__bar>div{background:var(--ink);transform-origin:0;width:100%;height:100%;transition:transform .4s}.unit__lessons{flex-direction:column;gap:12px;display:flex}.lesson-card{background:var(--card);border:1px solid var(--ink-15);border-radius:var(--radius-lg);grid-template-columns:64px 1fr auto;align-items:center;gap:20px;padding:22px 26px;transition:transform .15s,border-color .15s,box-shadow .25s,background .15s;display:grid}.lesson-card:hover{border-color:var(--ink-40);box-shadow:var(--card-shadow);transform:translateY(-2px)}.lesson-card--done{background:var(--paper-2);border-color:var(--ink-10)}.lesson-card__num{font-family:var(--font-display);color:var(--ink-40);font-size:30px;line-height:1}.lesson-card__title{font-family:var(--font-display);margin-bottom:2px;font-size:22px;line-height:1.1}.lesson-card__brief{color:var(--ink-60);font-size:13px}.lesson-card__status{align-items:center;display:flex}.lesson-card__go{font-family:var(--font-mono);color:var(--ink-60);letter-spacing:.06em;white-space:nowrap;font-size:12px}.lesson-card:hover .lesson-card__go{color:var(--ink)}.lesson-card__check{color:var(--good);font-size:18px}.unit-pointers{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.unit-pointers__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);font-size:11px}.hero__progress{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);margin-top:12px;font-size:11px}.unit__marker--done{border-color:var(--good)}.unit__marker--done .unit__progress span{color:var(--good-deep)}.unit__marker--done .unit__bar>div{background:var(--good)}.firstrun{border:1px solid var(--ink-15);border-radius:var(--radius-lg);background:var(--paper-2);margin:-16px 0 44px;padding:22px 24px}.firstrun__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.firstrun__cards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.firstrun__card{background:var(--card);border:1px solid var(--ink-10);border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:10px;padding:18px;display:flex}.firstrun__title{font-family:var(--font-display);margin:0;font-size:20px}.firstrun__body{color:var(--ink-80);flex:1;margin:0;font-size:14px;line-height:1.55}@media (max-width:760px){.firstrun__cards{grid-template-columns:1fr}}
}

@layer lessons {
.lesson__header{margin-bottom:28px}.lesson__crumb{margin-bottom:12px}.lesson__title{letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(34px,5vw,54px);line-height:1}.lesson__lede{color:var(--ink-80);text-wrap:pretty;max-width:60ch;font-size:19px;line-height:1.6}.readout{border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--ink-15);font-variant-numeric:tabular-nums;align-items:center;gap:20px;min-height:108px;padding:22px 26px;display:flex}.readout__swatch{border:1px solid var(--dot-border);border-radius:50%;flex-shrink:0;width:56px;height:56px;box-shadow:inset 0 1px #ffffff40}.readout__note{font-family:var(--font-display);font-size:40px;line-height:1}.readout__or{color:var(--ink-60);font-size:28px}.readout__meta{line-height:1.55;font-family:var(--font-mono);color:var(--ink-60);letter-spacing:.04em;font-size:13px}.readout--empty{color:var(--ink-60);font-family:var(--font-mono);font-size:13px}.note-tag{font-family:var(--font-mono);border-radius:var(--radius-pill);border:1px solid var(--ink-15);align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:inline-flex}.note-tag .swatch{border:1px solid var(--dot-border);border-radius:50%;width:12px;height:12px;transition:transform .12s}.note-tag--mark{border-color:var(--ink-60);box-shadow:inset 0 0 0 1px var(--ink-60)}.note-tag--loop{border-style:dashed}.note-tag--loop .note-tag__hint{color:var(--ink-60)}button.note-tag{cursor:pointer}.note-tag--half{border-style:dashed}.note-tag--half.note-tag--mark{box-shadow:none;border-width:2px;padding:5px 11px}.note-tag--dim{opacity:.45}.note-tag.is-live{border-color:var(--ink-40);background:var(--paper-3)}.note-tag.is-live .swatch{transform:scale(1.3)}@media (prefers-reduced-motion:reduce){.note-tag .swatch{transition:none}.note-tag.is-live .swatch{transform:none}}.row--tight{gap:6px}.row--tight .note-tag{gap:6px;padding:5px 9px}.freqrow{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;display:grid}.freqcard{border:1px solid var(--ink-15);border-radius:var(--radius-md);background:var(--card);font-family:var(--font-mono);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;display:flex}.freqcard:hover{border-color:var(--ink-40)}.freqcard .swatch{border:1px solid var(--dot-border);border-radius:50%;width:13px;height:13px}.freqcard__note{color:var(--ink);align-items:center;gap:7px;font-size:13px;display:inline-flex}.freqcard__hz{color:var(--ink-60);white-space:nowrap;font-size:11px}.freqcard--return{border-style:dashed}.freqcard--return .freqcard__hz{color:var(--ink);font-weight:600}.namelist{flex-direction:column;gap:8px;max-width:760px;display:flex}.namelist__key,.namerow{grid-template-columns:56px 70px 52px 58px minmax(0,1fr);gap:14px;display:grid}.namelist__key{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);white-space:nowrap;padding:2px 17px 0;font-size:10.5px}.namerow{border:1px solid var(--ink-15);border-radius:var(--radius-md);background:var(--card);cursor:pointer;text-align:left;font:inherit;color:inherit;align-items:center;padding:11px 16px}.namerow:hover{border-color:var(--ink-40)}.namerow--return{border-style:dashed}.namerow .swatch{border:1px solid var(--dot-border);border-radius:50%;flex:none;width:13px;height:13px}.namerow__note{font-family:var(--font-display);white-space:nowrap;align-items:center;gap:7px;font-size:19px;line-height:1;display:inline-flex}.namerow__hz{font-family:var(--font-mono);color:var(--ink-60);white-space:nowrap;font-size:12px}.namerow__num,.namerow__sol{font-family:var(--font-mono);font-size:13px}.namelist--intervals .namelist__key,.namelist--intervals .namerow{grid-template-columns:64px 78px 52px minmax(0,1fr)}.namerow--scale{box-shadow:inset 3px 0 0 var(--accent)}.namerow__tag{border:1px solid var(--ink-20);border-radius:var(--radius-pill);letter-spacing:.06em;color:var(--ink-60);white-space:nowrap;margin-left:8px;padding:1px 7px;font-size:10px}.namerow__name{flex-direction:column;gap:2px;min-width:0;display:flex}.namerow__formal{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}.namerow__gloss{color:var(--ink-60);font-size:13px}@media (max-width:640px){.namelist__key{display:none}.namerow{grid-template-columns:52px 70px 24px minmax(0,1fr);gap:6px 12px;padding:10px 12px}.namerow__name{grid-column:1/-1}}.namelist--quality .namelist__key,.namelist--quality .namerow{grid-template-columns:56px 130px 64px minmax(0,1fr)}.namerow.is-on{background:var(--raised);border-color:var(--raised);color:var(--raised-ink)}.namerow.is-on .namerow__hz{color:inherit}@media (max-width:640px){.namelist--quality .namerow{grid-template-columns:44px 112px 52px minmax(0,1fr);gap:8px}}.jobtrack{flex-direction:column;gap:6px;max-width:760px;display:flex}.jobtrack svg{width:100%;height:auto;display:block}.jobtrack__curve{fill:none;stroke:var(--ink-20);stroke-width:2px}.jobtrack__hollow{fill:none;stroke:var(--ink-40);stroke-dasharray:3 4}.jobtrack__tick{stroke:var(--dot-border)}.jobtrack__ticklabel{font-family:var(--font-mono);letter-spacing:.06em;fill:var(--ink-60);font-size:11px}.jobtrack__caption{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-60);justify-content:space-between;font-size:11px;display:flex}.jobtrack__mover{transition:transform .55s cubic-bezier(.4,0,.2,1)}.jobtrack__mover.is-idle{opacity:.35}.jobtrack__ball{stroke:var(--dot-border);stroke-width:1.5px}.jobtrack__balllabel{font-family:var(--font-display);fill:var(--ink);font-size:15px}.jobtrack__ring{fill:none;stroke:var(--ink-40);opacity:0;transition:opacity .4s}.jobtrack__mover.is-settled .jobtrack__ring{opacity:1}.jobtrack__mover.is-hanging .jobtrack__sway{animation:1.5s ease-in-out infinite jobtrack-lean}@keyframes jobtrack-lean{0%,to{transform:translate(0)}50%{transform:translate(-7px)}}.jobtrack__status{min-height:20px}@media (prefers-reduced-motion:reduce){.jobtrack__mover,.jobtrack__ring{transition:none}.jobtrack__mover.is-hanging .jobtrack__sway{animation:none}}.namelist--jobs .namelist__key,.namelist--jobs .namerow{grid-template-columns:72px 128px minmax(0,1fr)}.namelist--jobs .namerow.is-on .namerow__gloss{color:inherit}@media (max-width:640px){.namelist--jobs .namerow{grid-template-columns:64px minmax(0,1fr);gap:6px 12px}.namelist--jobs .namerow__gloss{grid-column:1/-1}}.swatch--star.swatch--star,.kbd__pip--star.kbd__pip--star{clip-path:polygon(50% 0%,63% 34%,98% 35%,70% 57%,79% 91%,50% 71%,21% 91%,30% 57%,2% 35%,37% 34%);border-radius:0;transform:scale(1.35)}.swatch--triangle.swatch--triangle,.kbd__pip--triangle.kbd__pip--triangle{clip-path:polygon(50% 0%,100% 92%,0% 92%);border-radius:0;transform:scale(1.15)}.swatch--pentagon.swatch--pentagon,.kbd__pip--pentagon.kbd__pip--pentagon{clip-path:polygon(50% 0%,100% 38%,81% 100%,19% 100%,0% 38%);border-radius:0;transform:scale(1.1)}@media (max-width:760px){.freqrow{grid-template-columns:repeat(4,minmax(0,1fr))}}.stub{border:1px dashed var(--ink-20);border-radius:var(--radius-lg);color:var(--ink-60);background:var(--paper-2);flex-direction:column;gap:10px;padding:28px;display:flex}.stub__tag{align-self:flex-start}.setting{border-bottom:1px solid var(--ink-10);justify-content:space-between;align-items:center;gap:24px;padding:16px 0;display:flex}.setting>div:first-child{flex:1 1 0;min-width:0}@media (max-width:560px){.setting{flex-direction:column;align-items:flex-start;gap:12px}.setting>div:first-child{flex:none;width:100%}}.setting:last-child{border-bottom:none}.setting__label{font-size:15px;font-weight:500}.setting__hint{color:var(--ink-60);margin-top:2px;font-size:14px}.segmented{background:var(--ink-05);border-radius:var(--radius-pill);border:1px solid var(--ink-10);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented button{font-family:var(--font-ui);border-radius:var(--radius-pill);color:var(--ink-60);cursor:pointer;background:0 0;border:none;padding:7px 14px;font-size:13px}.segmented button.is-on{background:var(--raised);color:var(--raised-ink)}.dict__row{border-bottom:1px solid var(--ink-10);padding:16px 0}.dict__row:last-child{border-bottom:0;padding-bottom:4px}.dict__head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.dict__term{font-family:var(--font-display);font-size:22px;line-height:1.2}.dict__tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-40);font-size:11px}.dict__def{max-width:640px;margin:6px 0 0}.dict__demo{margin-top:10px}.chordgrid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:14px;display:grid}.chordcard{background:var(--card);border:1px solid var(--ink-15);border-radius:var(--radius-md);cursor:pointer;color:inherit;font:inherit;flex-direction:column;align-items:center;gap:12px;padding:20px 12px 16px;transition:transform .15s,border-color .15s,box-shadow .25s;display:flex}.chordcard:hover{border-color:var(--ink-40);box-shadow:var(--card-shadow);transform:translateY(-2px)}.chordcard--return{border-style:dashed}.chordgrid__frame{container-type:inline-size}.chordgrid--line{grid-template-columns:repeat(4,minmax(0,1fr))}.chordgrid--line .chordcard{padding-inline:6px}.chordgrid--line .chordcard__fn{letter-spacing:.04em;font-size:10px}@container (min-width:800px){.chordgrid--line{grid-template-columns:repeat(8,minmax(0,1fr))}}@container (max-width:380px){.chordgrid--line{grid-template-columns:repeat(2,minmax(0,1fr))}}.chordgrid--wide{grid-template-columns:repeat(auto-fit,minmax(186px,1fr))}.chordcard__name{font-family:var(--font-display);font-size:18px;line-height:1}.chordcard__fn{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);font-size:11.5px}.progstrip{flex-wrap:wrap;gap:22px;display:flex}.progstrip__item{font-family:var(--font-mono);color:var(--ink-60);flex-direction:column;align-items:center;gap:8px;font-size:11px;display:flex}.rhythmtag{border:1.5px solid var(--rv-border,var(--ink-30));background:var(--rv-bg,var(--paper));font:inherit;color:var(--ink);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;padding:0;display:inline-flex}button.rhythmtag{cursor:pointer;transition:transform .12s,box-shadow .2s}button.rhythmtag:hover{box-shadow:var(--card-shadow);transform:translateY(-2px)}.rhythmtag--sm{width:34px;height:44px}.rhythmtag--md{width:46px;height:58px}.rhythmtag--lg{width:60px;height:74px}.rhythmtag__symbol{font-family:var(--font-music);font-size:22px;line-height:1}.rhythmtag--sm .rhythmtag__symbol{font-size:16px}.rhythmtag--lg .rhythmtag__symbol{font-size:30px}.rhythmtag__abbrev{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-60);font-size:9px}.rhythmtag--sm .rhythmtag__abbrev{font-size:8px}.rhythmtag--whole{--rv-bg:#ece2ffbf;--rv-border:#8e6ac7}@supports (color:lab(0% 0 0)){.rhythmtag--whole{--rv-bg:lab(91.3007% 9.04176 -16.1093/.75);--rv-border:lab(51.5966% 29.3041 -43.5888)}}.rhythmtag--half{--rv-bg:#d6eaffbf;--rv-border:#3a84ca}@supports (color:lab(0% 0 0)){.rhythmtag--half{--rv-bg:lab(91.8046% -4.81725 -17.5456/.75);--rv-border:lab(53.0444% -5.47877 -43.8836)}}.rhythmtag--quarter{--rv-bg:#ccf4d3bf;--rv-border:#348f4f}@supports (color:lab(0% 0 0)){.rhythmtag--quarter{--rv-bg:lab(92.6745% -17.7943 11.3974/.75);--rv-border:lab(52.917% -39.2484 25.8739)}}.rhythmtag--eighth{--rv-bg:#ffe9bacc;--rv-border:#b3880f}@supports (color:lab(0% 0 0)){.rhythmtag--eighth{--rv-bg:lab(93.2477% 3.27221 27.7893/.8);--rv-border:lab(59.5457% 10.158 61.5802)}}.rhythmtag--sixteenth{--rv-bg:#ffdfdab3;--rv-border:#ce5247}@supports (color:lab(0% 0 0)){.rhythmtag--sixteenth{--rv-bg:lab(91.4401% 15.0165 9.24079/.7);--rv-border:lab(52.0727% 49.6449 33.1874)}}.rhythmtag--dotted{--rv-bg:#c2f3f2bf;--rv-border:#009393}@supports (color:lab(0% 0 0)){.rhythmtag--dotted{--rv-bg:lab(92.4151% -16.317 -5.02236/.75);--rv-border:lab(54.7612% -35.9997 -10.7815)}}.rhythmtag--triplet{--rv-bg:#f7defdbf;--rv-border:#a264b0}@supports (color:lab(0% 0 0)){.rhythmtag--triplet{--rv-bg:lab(91.2086% 13.1693 -11.9559/.75);--rv-border:lab(51.6801% 34.9745 -30.2962)}}.rhythmtag--rest{--rv-bg:var(--ink-05);--rv-border:var(--ink-30);border-style:dashed}.rhythmtag--rest .rhythmtag__symbol{color:var(--ink-80)}[data-theme=dark] .rhythmtag--whole{--rv-bg:#392f4b99;--rv-border:#9274c3}@supports (color:lab(0% 0 0)){[data-theme=dark] .rhythmtag--whole{--rv-bg:lab(21.6298% 9.80829 -15.7527/.6);--rv-border:lab(54.2807% 24.3463 -37.5531)}}[data-theme=dark] .rhythmtag--half{--rv-bg:#21374e99;--rv-border:#4f8ac6}@supports (color:lab(0% 0 0)){[data-theme=dark] .rhythmtag--half{--rv-bg:lab(22.1242% -3.2441 -17.0768/.6);--rv-border:lab(55.5275% -6.15969 -37.3762)}}[data-theme=dark] .rhythmtag--quarter{--rv-bg:#223d2799;--rv-border:#519962}@supports (color:lab(0% 0 0)){[data-theme=dark] .rhythmtag--quarter{--rv-bg:lab(22.9239% -14.9584 9.71358/.6);--rv-border:lab(57.3252% -33.0089 21.5408)}}[data-theme=dark] .rhythmtag--eighth{--rv-bg:#4c3a1399;--rv-border:#b18c39}@supports (color:lab(0% 0 0)){[data-theme=dark] .rhythmtag--eighth{--rv-bg:lab(25.8552% 4.2194 26.463/.6);--rv-border:lab(60.7346% 7.73555 48.5155)}}[data-theme=dark] .rhythmtag--sixteenth{--rv-bg:#4c2b2799;--rv-border:#cf6a5f}@supports (color:lab(0% 0 0)){[data-theme=dark] .rhythmtag--sixteenth{--rv-bg:lab(21.8226% 15.2716 9.63371/.6);--rv-border:lab(57.0274% 40.0068 25.7765)}}[data-theme=dark] .rhythmtag--dotted{--rv-bg:#0c3d3d99;--rv-border:#1d9999}@supports (color:lab(0% 0 0)){[data-theme=dark] .rhythmtag--dotted{--rv-bg:lab(22.8096% -16.3522 -4.92795/.6);--rv-border:lab(56.9781% -32.7114 -9.83882)}}[data-theme=dark] .rhythmtag--triplet{--rv-bg:#412d4599;--rv-border:#a36faf}@supports (color:lab(0% 0 0)){[data-theme=dark] .rhythmtag--triplet{--rv-bg:lab(21.5695% 13.3319 -11.7513/.6);--rv-border:lab(54.3329% 29.4326 -25.7595)}}.rhythmbar-wrap{flex-direction:column;align-items:flex-start;gap:6px;max-width:100%;display:inline-flex;overflow-x:auto}.rhythmbar{background:var(--card);border-left:3px solid var(--ink-60);border-right:3px solid var(--ink-60);align-items:center;gap:6px;padding:10px 12px;display:inline-flex}.rhythmbar__meter{font-family:var(--font-display);color:var(--ink-80);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;margin-right:8px;font-size:20px;line-height:.9;display:flex}.rhythmbar__counting{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-60);padding-left:15px;font-size:12px}.deeper-chip{font:inherit;border:1px solid var(--ink-20);color:var(--ink-60);cursor:pointer;vertical-align:2px;white-space:nowrap;background:0 0;border-radius:999px;padding:1px 9px;font-size:13px}.deeper-chip:hover{border-color:var(--ink-40)}.deeper-chip.is-open{background:var(--ink-05)}.deeper{border-left:3px solid var(--accent);background:var(--paper-2);border-radius:14px;gap:12px;padding:20px 26px;display:grid}.deeper__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.deeper__eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);font-size:11px}.deeper__close{padding-block:3px;font-size:12px}.deeper__cols{flex-wrap:wrap;align-items:flex-start;gap:26px;display:flex}.deeper__text{color:var(--ink-80);flex:340px;gap:10px;font-size:14.5px;line-height:1.6;display:grid}.deeper__text p{margin:0}.deeper__actions{flex:0 240px;justify-items:start;gap:8px;display:grid}.chordshape{background:var(--card);border:1px solid var(--ink-15);border-radius:var(--radius-md);cursor:pointer;color:inherit;font:inherit;flex-direction:column;align-items:center;gap:2px;padding:12px 10px 10px;transition:transform .15s,border-color .15s,box-shadow .25s;display:inline-flex}.chordshape:hover{border-color:var(--ink-40);box-shadow:var(--card-shadow);transform:translateY(-2px)}.chordshape__nut{stroke:var(--ink);stroke-width:4px;stroke-linecap:round}.chordshape__wire{stroke:var(--ink-20);stroke-width:1.4px}.chordshape__string{stroke:var(--ink-60)}.chordshape__basefret{font-family:var(--font-mono);fill:var(--ink-40);text-anchor:middle;font-size:10px}.chordshape__mute{font-family:var(--font-mono);fill:var(--ink-40);text-anchor:middle;font-size:12px}.chordshape__dot{stroke:var(--dot-border);stroke-width:1px;transition:r .12s}.chordshape__root{fill:none;stroke:var(--ink);stroke-width:1.8px}.chordshape__pc{font-family:var(--font-mono);fill:var(--ink);text-anchor:middle;pointer-events:none;font-size:9.5px;font-weight:600}.chordshape__finger{font-family:var(--font-mono);fill:var(--ink-40);text-anchor:middle;font-size:10px}.chordshape__name{font-family:var(--font-display);font-size:15px}.chordshape__sub{color:var(--ink-60);font-size:11px}.chordshape-row{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.path-finish{border:1px solid var(--good);border-radius:var(--radius-md);background:var(--wash-right);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding:20px 22px;display:flex}.path-finish__title{font-family:var(--font-display);margin-bottom:2px;font-size:26px}
}

@layer practice {
.modegrid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.modecard{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--ink-15);background:var(--card);cursor:pointer;color:inherit;font:inherit;flex-direction:column;gap:8px;padding:24px;transition:transform .15s,border-color .15s,box-shadow .25s;display:flex}.modecard:hover{border-color:var(--ink-40);box-shadow:var(--card-shadow);transform:translateY(-2px)}.modecard__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.modecard__title{font-family:var(--font-display);font-size:24px}.modecard__meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.modecard__blurb{color:var(--ink-60);font-size:15px}.modecard__due{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--paper-3);border:1px solid var(--ink-20);border-radius:var(--radius-pill);white-space:nowrap;padding:4px 9px;font-size:10px}.modecard__stats{font-family:var(--font-mono);color:var(--ink-60);margin-top:6px;font-size:11px}.modecard--custom{background:var(--paper-3);border-color:var(--ink-30);border-top:3px solid var(--accent)}.modecard--custom:hover{border-color:var(--ink-40);border-top-color:var(--accent)}.modecard__dials{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--raised-ink);background:var(--raised);border-radius:var(--radius-pill);white-space:nowrap;padding:4px 9px;font-size:10px}.roomdivider{align-items:center;gap:14px;margin:26px 0 14px;display:flex}.roomdivider--tight{margin:18px 0 12px}.roomdivider--custom{margin-top:40px}.roomdivider__line{background:var(--ink-15);flex:1;height:1px}.roomdivider--custom .roomdivider__line{background:linear-gradient(90deg, var(--accent), var(--ink-15));border-radius:2px;height:2px}.pillgroup{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:460px;display:flex}.pillgroup--start{justify-content:flex-start;max-width:none}.pill{font-family:var(--font-ui);border-radius:var(--radius-pill);border:1px solid var(--ink-20);background:var(--card);color:var(--ink-80);cursor:pointer;align-items:center;gap:7px;padding:8px 14px;font-size:13px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.pill:hover{border-color:var(--ink-40)}.pill.is-on{background:var(--raised);border-color:var(--raised);color:var(--raised-ink)}.notepicker{grid-template-columns:repeat(14,1fr);gap:8px;max-width:640px;display:grid}.notepicker .pill{justify-content:center;padding:8px 4px}.setting .notepicker{flex:3 1 0}.row .notepicker{flex:320px}.pill__swatch{border:1px solid var(--dot-border);border-radius:50%;flex-shrink:0;width:10px;height:10px}.pill.is-on .rhythmtag{background:var(--card)}.pill__sub{font-family:var(--font-mono);opacity:.7;font-size:10px}.practice-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.practice-top__meta{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--font-mono);letter-spacing:.05em;border-radius:var(--radius-pill);border:1px solid var(--ink-15);color:var(--ink-60);background:var(--card);white-space:nowrap;padding:7px 12px;font-size:11px}.roundbar{background:var(--ink-10);border-radius:var(--radius-pill);height:6px;margin-bottom:28px;overflow:hidden}.roundbar>div{background:var(--ink);border-radius:var(--radius-pill);height:100%;transition:width .3s}.qstage{background:var(--paper-2);border:1px solid var(--ink-10);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:24px;padding:40px 28px;display:flex}.qstage__prompt{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;margin:0;font-size:clamp(26px,3.6vw,38px);line-height:1.05}.qstage__controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.choices{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;width:100%;display:grid}.choice{background:var(--card);border:1px solid var(--ink-15);border-radius:var(--radius-md);cursor:pointer;font:inherit;color:inherit;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;transition:transform .15s,border-color .15s,box-shadow .25s,background .2s,opacity .2s;display:flex}.choice:hover:not(:disabled){border-color:var(--ink-40);box-shadow:var(--card-shadow);transform:translateY(-2px)}.choice:disabled{cursor:default}.choice.is-locked{opacity:.45}.choice.is-dim{opacity:.4}.choice.is-correct{border-color:var(--good);background:var(--wash-right);animation:.6s choice-right}.choice.is-wrong{border-color:var(--bad);background:var(--wash-wrong);animation:.45s choice-shake}.choice__label{font-family:var(--font-display);font-size:22px;line-height:1}.choice__sub{font-family:var(--font-mono);color:var(--ink-60);font-size:12px}.choice__dot{border:1px solid var(--dot-border);background:var(--ink-10);border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:background .25s,box-shadow .25s}.choices--wide{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.choices--wide .choice__label{font-size:18px}.choice__dotrow{gap:5px;display:flex}.buildrow{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.buildslot{border:1.5px dashed var(--ink-30);border-radius:var(--radius-md);background:var(--card);min-width:64px;min-height:72px;font:inherit;color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 12px;transition:border-color .15s,background .2s;display:inline-flex}button.buildslot.is-filled:not(:disabled){cursor:pointer}button.buildslot.is-filled:not(:disabled):hover{border-color:var(--ink)}.buildslot.is-filled{border-style:solid;border-color:var(--ink-40)}.buildslot.is-ok{border-width:2px;border-color:var(--good);background:var(--wash-right)}.buildslot.is-ok .buildslot__idx{color:var(--good-deep)}.buildslot.is-bad{border-width:2px;border-color:var(--bad);background:var(--wash-wrong)}.buildslot.is-bad .buildslot__idx{color:var(--bad-deep)}.buildslot.is-truth{border-style:solid;border-color:var(--ink-20);background:var(--paper-3)}.buildslot__idx{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-40);font-size:9px}.buildslot__label{font-family:var(--font-display);font-size:18px;line-height:1}.choices--palette{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.choices--palette .choice{padding:12px 8px}a.modecard{color:inherit;flex-direction:column;text-decoration:none;display:flex}.refrow{border-bottom:1px dashed var(--ink-10);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 0;display:flex}.refrow:last-child{border-bottom:none;padding-bottom:0}.refrow__name{font-family:var(--font-display);min-width:150px;font-size:17px}.refrow__note{font-family:var(--font-mono);color:var(--ink-60);flex:1;min-width:180px;font-size:11px}.refrow__actions{gap:8px;margin-left:auto;display:flex}.staffwrap{background:var(--card);border:1px solid var(--ink-15);border-radius:var(--radius-md);max-width:100%;padding:14px 10px;overflow-x:auto}.staff{color:var(--ink);touch-action:manipulation;display:block}.staff__line,.staff__bar,.staff__ledger{stroke:var(--ink-60);stroke-width:1.1px}.staff__bar{stroke-width:2px}.staff__slotmark{stroke:var(--ink-20);stroke-width:2px;stroke-dasharray:3 3}.staff__clef{font-family:var(--font-music);fill:var(--ink);dominant-baseline:central;font-size:52px}.staff__sig{font-family:var(--font-music);fill:var(--ink);dominant-baseline:central;font-size:22px}.staffnote{color:var(--ink)}.staffnote--ghost{color:var(--ink-30)}.staffnote--ok{color:var(--good)}.staffnote--bad{color:var(--bad)}.staffnote--truth{color:var(--good)}.staffnote__head{fill:currentColor}.staffnote__head--hollow{fill:none;stroke:currentColor;stroke-width:2px}.staffnote__stem{stroke:currentColor;stroke-width:1.6px}.staffnote__flag{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round}.staffnote__dot{fill:currentColor}.staff:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.staff__active{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:4 3}.pitchmeter{flex-direction:column;gap:8px;width:min(420px,100%);display:flex}.pitchmeter__row{font-family:var(--font-mono);color:var(--ink-60);justify-content:space-between;gap:12px;font-size:12px;display:flex}.pitchmeter__target strong{color:var(--ink);font-size:15px}.pitchmeter__scale{background:var(--card);border:1px solid var(--ink-15);border-radius:var(--radius-pill);height:26px;position:relative;overflow:hidden}.pitchmeter__center{background:var(--ink-30);width:2px;position:absolute;top:3px;bottom:3px;left:50%}.pitchmeter__needle{background:var(--bad);border-radius:2px;width:4px;margin-left:-2px;transition:left 80ms linear,background .15s;position:absolute;top:2px;bottom:2px}.pitchmeter__needle.is-in{background:var(--good)}.pitchmeter__hold{background:var(--good);height:3px;transition:width 80ms linear;position:absolute;bottom:0;left:0}.fretwrap{background:var(--card);border:1px solid var(--ink-15);border-radius:var(--radius-md);max-width:100%;padding:12px 10px;overflow-x:auto}.fretboard{display:block}.fretboard__band{fill:var(--ink-05);stroke:var(--ink-15);stroke-dasharray:4 3}.fretboard__nut{stroke:var(--ink);stroke-width:5px}.fretboard__wire{stroke:var(--ink-20);stroke-width:1.4px}.fretboard__inlay{fill:var(--ink-10)}.fretboard__string{stroke:var(--ink-60)}.fretboard__open,.fretboard__num{font-family:var(--font-mono);fill:var(--ink-40);text-anchor:middle;font-size:10px}.fretboard__pos{cursor:pointer;outline-offset:3px}.fretboard__pos:focus{outline:none}.fretboard__pos:focus-visible .fretboard__dot{stroke:var(--ink);stroke-width:2.5px}.fretboard__dot{stroke:var(--dot-border);stroke-width:1px;transition:r .12s}.fretboard__root{fill:none;stroke:var(--ink);stroke-width:1.8px}.fretboard__accent{fill:none;stroke:var(--accent);stroke-width:1.8px;stroke-dasharray:4 3}.fretboard__pc{font-family:var(--font-mono);fill:var(--ink);text-anchor:middle;pointer-events:none;font-size:9.5px;font-weight:600}.fretboard__fingerbg{fill:var(--paper);stroke:var(--ink-40);stroke-width:1px}.fretboard__finger{font-family:var(--font-mono);fill:var(--ink-80);text-anchor:middle;pointer-events:none;font-size:8px;font-weight:600}.performbars{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:14px;display:flex}.performbar{align-items:flex-end}.performtoken{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.performtoken__mark{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-40);min-height:13px;font-size:10px}.performtoken.is-hit .performtoken__mark{color:var(--good-deep);font-weight:700}.performtoken.is-early .performtoken__mark,.performtoken.is-late .performtoken__mark{color:#9e6200;color:lab(47.4747% 21.8849 64.6543)}.performtoken.is-miss .performtoken__mark{color:var(--bad-deep);font-weight:700}.beatlamp{align-items:center;gap:10px;min-height:18px;display:flex}.beatlamp__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);font-size:10px}.beatlamp__dot{background:var(--ink-10);border:1px solid var(--ink-20);border-radius:50%;width:12px;height:12px;transition:background 80ms,transform 80ms}.beatlamp__dot.is-on{background:var(--accent);border-color:var(--accent);transform:scale(1.25)}.polyhands{flex-direction:column;gap:14px;display:flex}.polyhand{flex-direction:column;gap:6px;display:flex}.polyhand__label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-60);align-items:baseline;gap:14px;font-size:11px;display:flex}.polyhand__count{text-transform:none;letter-spacing:.02em;color:var(--ink-60)}.polyhand__dots{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.polydot{background:var(--ink-10);border:1px solid var(--ink-20);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;line-height:1;transition:background 80ms,transform 80ms;display:inline-flex}.polydot--cycle{margin-left:12px}.polydot.is-on{background:var(--accent);border-color:var(--accent);transform:scale(1.2)}.polydot.is-hit{color:var(--good-deep);border-color:var(--good-deep);font-weight:700}.polydot.is-early,.polydot.is-late{color:#9e6200;color:lab(47.4747% 21.8849 64.6543);border-color:#9e6200;border-color:lab(47.4747% 21.8849 64.6543)}.polydot.is-miss{color:var(--bad-deep);border-color:var(--bad-deep);font-weight:700}@media (prefers-reduced-motion:reduce){.polydot.is-on{transform:none}}.tappad{border:2px dashed var(--ink-30);border-radius:var(--radius-lg);background:var(--card);width:min(340px,100%);min-height:96px;font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink-60);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;align-items:center;font-size:13px;display:flex}.tappad.is-live{border-style:solid;border-color:var(--ink);color:var(--ink);font-size:17px}.tappad.is-live[data-flash="1"]{background:var(--paper-3)}.polypads{gap:12px;width:min(480px,100%);display:flex}.tappad--half{flex:1;width:auto;min-width:0}@media (prefers-reduced-motion:reduce){.beatlamp__dot.is-on{transform:none}}.quiz__prompt{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(20px,2.6vw,27px);line-height:1.15}.quiz__verdict{color:var(--ink-80);text-wrap:pretty;font-size:14px}.quiz__result{text-align:center;padding:12px 0 6px}.quiz__result .lesson__lede{margin-inline:auto}.quiz__score{font-family:var(--font-display);margin-bottom:10px;font-size:54px;line-height:1}@keyframes choice-right{0%{transform:scale(1)}30%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes choice-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.practice-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.scoredots{align-items:center;gap:8px;display:flex}.scoredot{background:var(--ink-15);border-radius:50%;width:9px;height:9px;transition:background .2s,transform .2s,border-radius .2s}.scoredot.is-correct{background:var(--good)}.scoredot.is-wrong{background:var(--bad);border-radius:2px}.scoredot.is-current{background:var(--ink);transform:scale(1.35)}.results-big{border-bottom:1px solid var(--ink-10);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;padding-bottom:24px;display:flex}.results-pct{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(64px,10vw,104px);line-height:1}.results-pct span{color:var(--ink-40);font-size:40%}.verdict{font-family:var(--font-display);border-radius:var(--radius-pill);background:var(--paper-3);border:1px solid var(--ink-10);padding:8px 18px;font-size:24px}.breakdown{flex-direction:column;gap:8px;display:flex}.breakdown__row{background:var(--card);border:1px solid var(--ink-10);border-radius:var(--radius-sm);font-family:var(--font-mono);grid-template-columns:34px 1fr auto;align-items:center;gap:14px;padding:10px 14px;font-size:12px;display:grid}.breakdown__row.is-ok{border-left:3px solid var(--good)}.breakdown__row.is-bad{border-left:3px solid #d6483e;border-left:3px solid lab(51.8614% 56.0678 38.4673)}.breakdown__idx{color:var(--ink-40);letter-spacing:.08em}.breakdown__what{color:var(--ink);align-items:center;gap:8px;display:flex}.breakdown__ans{color:var(--ink-60)}.songrow{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.modecard--song{gap:3px;padding:14px 16px}.modecard--song.modecard--custom{padding-top:12px}.modecard--song .modecard__title{font-size:19px}.modecard--song .modecard__blurb{font-size:13px}.songembed{width:100%}.songembed iframe{border:0;border-radius:14px;width:100%;display:block}.flashquiz{grid-template-columns:1fr;max-width:620px;margin:8px auto 0}.flashquiz .choice{text-align:left;flex-direction:row;justify-content:flex-start;padding:14px 18px}.flashquiz .choice__label{font-family:inherit;font-size:15px;line-height:1.5}.flashcard{perspective:1200px;cursor:pointer;text-align:center;width:100%;max-width:560px;font:inherit;color:inherit;background:0 0;border:none;margin:10px auto 0;padding:0;display:block}.flashcard:disabled{cursor:default}.flashcard__inner{min-height:200px;transform-style:preserve-3d;transition:transform .45s;display:block;position:relative}.flashcard.is-flipped .flashcard__inner{transform:rotateX(180deg)}.flashcard__face{border-radius:var(--radius-lg);border:1px solid var(--ink-20);background:var(--card);box-shadow:var(--card-shadow);backface-visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:26px 30px;display:flex;position:absolute;inset:0}.flashcard:not(:disabled):hover .flashcard__face--front{border-color:var(--ink-40)}.flashcard__face--back{background:var(--paper-3);border-color:var(--ink-30);border-top:3px solid var(--accent);transform:rotateX(180deg)}.flashcard__text{font-family:var(--font-display);font-size:23px;line-height:1.35}.flashcard__face--back .flashcard__text{font-family:inherit;font-size:18px;line-height:1.55}.flashcard__hint{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);font-size:10px}.flashcard__actions,.flashcard__foot{margin-top:18px}.flashcard__foot{text-align:center;display:block}@media (prefers-reduced-motion:reduce){.flashcard__inner{transition:none}}.fretsx__spot{fill:#0000;stroke:var(--ink-15);stroke-width:1.4px;transition:stroke .15s}.fretboard__pos:hover .fretsx__spot,.fretboard__pos:focus-visible .fretsx__spot{stroke:var(--ink-40)}
}

@layer search {
.search__overlay{z-index:60;background:var(--scrim);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.search__panel{background:var(--card);border:1px solid var(--ink-15);border-radius:var(--radius-md);width:min(560px,100%);max-height:68vh;box-shadow:var(--card-shadow), var(--pop-shadow);animation:search-pop .16s var(--rail-ease);flex-direction:column;display:flex;overflow:hidden}@keyframes search-pop{0%{opacity:0;transform:translateY(-6px)}}.search__input{border:0;border-bottom:1px solid var(--ink-10);font-family:var(--font-ui);color:var(--ink);background:0 0;outline:none;padding:15px 18px;font-size:16px}.search__input::placeholder{color:var(--ink-40)}.search__results{overscroll-behavior:contain;padding:6px 8px 10px;overflow-y:auto}.search__heading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-40);padding:12px 10px 4px;font-size:11px}.search__row{border-radius:var(--radius-sm);width:100%;color:var(--ink);font-family:var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 10px;font-size:14.5px;display:flex}.search__row.is-active{background:var(--ink-10)}.search__row-main{align-items:baseline;min-width:0;display:flex}.search__num{font-family:var(--font-mono);color:var(--ink-60);margin-right:8px;font-size:12px}.search__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search__context{color:var(--ink-40);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;max-width:45%;font-size:12px;overflow:hidden}.search__empty{color:var(--ink-60);padding:16px 18px;font-size:14px}@media (prefers-reduced-motion:reduce){.search__panel{animation:none}}
}

@layer tools {
.toolslots{flex-wrap:wrap;align-items:flex-start;gap:14px;min-height:86px;display:flex}.toolslot{cursor:pointer;font:inherit;color:var(--ink);background:0 0;border:1px dashed #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;display:flex}.toolslot:hover{border-color:var(--ink-30)}.toolslot:hover .toolslot__x{opacity:1}.toolslot__name{font-family:var(--font-mono);color:var(--ink-60);font-size:12px}.toolslot__x{font-family:var(--font-mono);color:var(--ink-60);opacity:0;font-size:10px;transition:opacity .12s}.toolslots__empty{font-family:var(--font-mono);color:var(--ink-60);align-self:center;font-size:12px}.metro__bpm{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:56px;line-height:1}.metro__bpm span{color:var(--ink-60);margin-left:6px;font-size:15px}.metro__dots{align-items:center;gap:14px;min-height:34px;display:flex}.metro__dot{border:2px solid var(--ink-30);background:var(--card);border-radius:50%;width:18px;height:18px;transition:transform 80ms,background 80ms}.metro__dot--accent{width:26px;height:26px}.metro__dot.is-on{background:var(--accent);border-color:var(--accent);transform:scale(1.18)}.polycells{flex-wrap:wrap;gap:2px;display:inline-flex}.polycell{border:1px solid var(--ink-20);background:var(--card);border-radius:3px;width:10px;height:14px}.polycell.is-hit{background:var(--accent);border-color:var(--accent)}.tuner__readout{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.tuner__note{font-family:var(--font-display);align-items:center;gap:14px;font-size:64px;line-height:1;display:inline-flex}.tuner__note .swatch{border-radius:8px;width:26px;height:26px}.tuner__note--idle{color:var(--ink-30)}.tuner__octave{color:var(--ink-60);font-size:26px}.tuner__hz{font-family:var(--font-mono);color:var(--ink-60);min-width:130px;font-size:13px}.tuner__gauge{border:1px solid var(--ink-20);background:var(--card);border-radius:10px;height:44px;position:relative;overflow:hidden}.tuner__center{background:var(--ink-10);border-left:1px dashed var(--ink-30);border-right:1px dashed var(--ink-30);width:10%;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tuner__marker{background:var(--ink);border-radius:2px;width:4px;transition:left 90ms linear;position:absolute;top:4px;bottom:4px;transform:translate(-50%)}.tuner__marker.is-in-tune{background:var(--accent)}.tuner__ticks{font-family:var(--font-mono);color:var(--ink-60);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}@media (prefers-reduced-motion:reduce){.tuner__marker,.metro__dot{transition:none}}.singline{flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;display:flex}.singnote{border:1px solid var(--ink-20);background:var(--card);font-family:var(--font-mono);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:13px;display:inline-flex}.singnote:disabled{cursor:default}button.singnote:not(:disabled):hover{border-color:var(--ink)}.singnote .swatch{border-radius:4px;width:12px;height:12px}.singnote__cents{color:var(--ink-60);font-size:11px}.singnote.is-current{border-width:2px;border-color:var(--ink)}.singnote.is-ok{border-width:2px;border-color:var(--good);background:var(--wash-right)}.singnote.is-bad{border-width:2px;border-color:var(--bad);background:var(--wash-wrong)}
}

@layer overrides {
@media (max-width:920px){:root{--rail-w:0px}.shell__rail{width:280px;transform:translate(-100%)}.shell.is-drawer-open .shell__rail{transform:translate(0)}.shell.is-drawer-open .shell__scrim{display:block}.shell__body{margin-left:0}.hero{text-align:left;grid-template-columns:1fr}.hero__art{max-width:340px;margin-top:8px}.modegrid,.homeshelves{grid-template-columns:1fr}.units{gap:44px}.unit,.unit--right{grid-template-columns:1fr;gap:16px}.unit--right .unit__marker{order:0}.unit__marker{position:static}.lesson-card{grid-template-columns:48px 1fr auto;gap:14px;padding:16px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
}

@layer structure {
.structure__intro{max-width:720px;margin-bottom:24px}.structure__intro h1{margin-bottom:10px;font-size:34px}.structure__intro p{color:var(--ink-60);margin:0;font-size:14px}.structure__bar{z-index:5;background:var(--paper-2);border:1px solid var(--ink-15);border-radius:var(--radius-md);box-shadow:var(--card-shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 16px;display:flex;position:sticky;top:12px}.structure__stats{color:var(--ink-60);font-size:12px}.structure__bar-actions{flex-wrap:wrap;gap:8px;display:flex}.structure__bar .btn{padding:7px 14px;font-size:13px}.structure__note{color:var(--ink-60);margin:0 0 14px;font-size:13px}.structure__note.is-error{color:var(--accent);font-weight:500}.structure__path{background:var(--paper-2);border:1px solid var(--ink-15);border-top:3px solid var(--path-accent,var(--accent));border-radius:var(--radius-lg);margin-bottom:22px;padding:16px}.structure__row{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.structure__path-head{margin-bottom:4px}.structure__numeral{letter-spacing:.12em;color:var(--path-accent,var(--accent));border:1px solid var(--ink-15);border-radius:var(--radius-pill);background:var(--paper);padding:3px 10px;font-size:12px;font-weight:600}.structure__unit{background:var(--paper-2);border:1px solid var(--ink-10);border-radius:var(--radius-sm);margin-top:8px;padding:8px 10px}.structure__select{color:var(--ink-60);background:var(--paper);border:1px solid var(--ink-15);border-radius:var(--radius-pill);padding:2px 6px;font-size:11px}.structure__lesson{border-radius:8px;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:2px;padding:4px 6px;display:flex}.structure__lesson:hover{background:var(--ink-05)}.structure__grip{color:var(--ink-40);cursor:grab;touch-action:none;background:0 0;border:none;padding:2px 4px;font-size:13px}.structure__grip:active{cursor:grabbing}.structure__fold{color:var(--ink-60);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px}.structure__tag{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-60);background:var(--ink-05);border-radius:var(--radius-pill);white-space:nowrap;padding:3px 8px;font-size:10px;font-weight:600}.structure__tag--unit{background:var(--paper);border:1px solid var(--ink-15)}.structure__glyph{color:var(--ink-60);font-size:13px}.structure__num{color:var(--ink-60);text-align:right;min-width:34px;font-size:11px}.structure__count,.structure__slug{color:var(--ink-40);white-space:nowrap;font-size:11px}.structure__input{font:inherit;color:inherit;background:0 0;border:none;border-bottom:1px dashed #0000;border-radius:4px 4px 0 0;min-width:0;padding:2px 4px;font-size:14px}.structure__input:hover{border-bottom-color:var(--ink-20)}.structure__input:focus{background:var(--ink-05);border-bottom-color:var(--ink-40);outline:none}.structure__input--path{font-family:var(--font-display);flex:0 300px;min-width:140px;font-size:22px}.structure__input--title{flex:0 260px;min-width:120px;font-weight:600}.structure__input--lesson{flex:0 240px;min-width:120px}.structure__input--sub{color:var(--ink-60);flex:120px;min-width:80px}@media (max-width:760px){.structure__row,.structure__lesson{flex-wrap:wrap}}.structure__nudge{gap:2px;margin-left:auto;display:inline-flex}.structure__nudge button{color:var(--ink-40);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;font-size:12px;line-height:1}.structure__nudge button:hover:not(:disabled){background:var(--ink-05);color:var(--ink)}.structure__nudge button:disabled{opacity:.3;cursor:default}.structure__add{width:100%;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--ink-40);border:1px dashed var(--ink-20);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:6px 10px;font-size:10px;font-weight:600;display:block}.structure__add:hover{color:var(--ink);border-color:var(--ink-40);background:var(--ink-05)}.structure__add--path{border-radius:var(--radius-lg);margin-bottom:60px;padding:14px 18px}.is-dragging{opacity:.35}.structure__path.is-drop-before,.structure__unit.is-drop-before,.structure__lesson.is-drop-before{box-shadow:0 -3px 0 0 var(--accent)}.structure__path.is-drop-after{box-shadow:0 3px 0 0 var(--accent)}.structure__path.is-drop-into,.structure__unit.is-drop-into{outline:2px solid var(--accent);outline-offset:2px}
}

@layer copydesk {
.copydesk__tabs{gap:6px;display:flex}.copydesk__filter{min-width:160px;font:inherit;color:inherit;background:var(--paper);border:1px solid var(--ink-15);border-radius:var(--radius-pill);flex:220px;padding:6px 12px;font-size:13px}.copydesk__filter:focus{border-color:var(--ink-40);outline:none}.copydesk__jump{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--ink-15);border-radius:var(--radius-pill);max-width:220px;padding:6px 10px;font-size:13px}.copydesk__jump:focus{border-color:var(--ink-40);outline:none}.copydesk__refrow{flex:220px;align-items:center;gap:8px;display:flex}.copydesk__refrow .copydesk__filter{flex:0 180px}.copydesk__reflabel{color:var(--ink-60);font-size:11px}.copydesk .structure__bar{top:65px}.copydesk__section{scroll-margin-top:calc(65px + var(--copydesk-bar,64px) + 10px);margin:26px 0 10px}.copydesk__section-title{letter-spacing:.04em;color:var(--ink-80);border-bottom:1px solid var(--ink-15);margin-bottom:10px;padding-bottom:6px;font-size:15px;font-weight:600}.copydesk__skips{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px;display:flex}.copydesk__skips .btn{padding:5px 12px;font-size:12px}.copydesk__skips .btn:disabled{opacity:.35}.copydesk__skips-save{margin-left:auto}.copydesk__file{background:var(--paper-2);border:1px solid var(--ink-10);border-radius:var(--radius-md);margin-bottom:10px;padding:12px 14px}.copydesk__file-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 8px;font-size:14px;font-weight:600;display:flex}.copydesk__path{color:var(--ink-40);font-size:11px;font-weight:400}.copydesk__para{align-items:baseline;gap:10px;padding:3px 0;display:flex}.copydesk__context{color:var(--ink-40);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:0 0 92px;font-size:10px;overflow:hidden}.copydesk__text{flex:1;min-width:0;font-size:14px;line-height:1.55}.copydesk__field{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-40);background:var(--ink-05);border-radius:var(--radius-pill);vertical-align:1px;margin:0 4px 0 6px;padding:1px 6px;font-size:9px;font-weight:600}.copydesk__para .copydesk__field:first-child{margin-left:0}.copydesk__gap{color:var(--ink-40);-webkit-user-select:none;user-select:none;margin:0 3px;font-size:11px}.copydesk__seg{font:inherit;color:inherit;text-align:left;cursor:text;background:0 0;border:none;border-radius:4px;padding:0 1px;display:inline}.copydesk__seg:hover,.copydesk__seg:focus-visible{background:var(--ink-05);outline:1px dashed var(--ink-40);outline-offset:1px}.copydesk__seg--strong,.copydesk__seg--b{font-weight:700}.copydesk__seg--em,.copydesk__seg--i{font-style:italic}.copydesk__seg--code{font-family:var(--font-mono);font-size:13px}.copydesk__seg--sup{vertical-align:super;font-size:11px}.copydesk__seg--sub{vertical-align:sub;font-size:11px}.copydesk__seg--small{font-size:12px}.copydesk__seg.is-edited{background:var(--wash-right);color:var(--good-deep);outline:1px solid var(--good);outline-offset:1px}.copydesk__editor{width:100%;font:inherit;color:inherit;background:var(--card);border:1px solid var(--ink-40);border-radius:var(--radius-sm);resize:none;margin:2px 0;padding:6px 8px;font-size:14px;line-height:1.55;display:block}.copydesk__editor:focus{outline:none}.copydesk__diff{border-top:1px dashed var(--ink-10);grid-template-columns:92px 1fr;align-items:baseline;gap:2px 10px;padding:6px 0;font-size:14px;line-height:1.5;display:grid}.copydesk__diff:first-of-type{border-top:none}.copydesk__diff .copydesk__context{grid-column:1}.copydesk__before,.copydesk__after{grid-column:2;min-width:0}.copydesk__before{color:var(--ink-60)}.copydesk__diff--removed .copydesk__before{text-decoration:line-through;-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad)}.copydesk__del,.copydesk__add{border-radius:3px;padding:0 1px}.copydesk__del{background:var(--wash-wrong);color:var(--bad-deep);text-decoration:line-through;-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad)}.copydesk__add{background:var(--wash-right);color:var(--good-deep)}@media (max-width:700px){.copydesk__para,.copydesk__diff{display:block}.copydesk__context{text-align:left;flex:none;display:block}}
}

@layer preflight,tokens,base,shell,instruments,layout,lessons,practice,search,tools,overrides,structure,copydesk;
