@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/musercise/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/musercise/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/musercise/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(/musercise/assets/nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/musercise/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/musercise/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/musercise/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/musercise/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/musercise/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/musercise/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/musercise/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2)format("woff2"),url(/musercise/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/musercise/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2)format("woff2"),url(/musercise/assets/nunito-latin-ext-600-normal-BKUpuB78.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/musercise/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/musercise/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/musercise/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/musercise/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/musercise/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/musercise/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/musercise/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/musercise/assets/nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/musercise/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/musercise/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/musercise/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/musercise/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/musercise/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/musercise/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/musercise/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/musercise/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/musercise/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/musercise/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/musercise/assets/nunito-cyrillic-ext-900-normal-BLeVovcl.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-ext-900-normal-DKFql_-q.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/musercise/assets/nunito-cyrillic-900-normal-CWPcV0_V.woff2)format("woff2"),url(/musercise/assets/nunito-cyrillic-900-normal-Dr1fjxoU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/musercise/assets/nunito-vietnamese-900-normal-D6LWQAy_.woff2)format("woff2"),url(/musercise/assets/nunito-vietnamese-900-normal-WV2-fBew.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/musercise/assets/nunito-latin-ext-900-normal-Dllsvgjo.woff2)format("woff2"),url(/musercise/assets/nunito-latin-ext-900-normal-CTBZd6bf.woff)format("woff");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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/musercise/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/musercise/assets/nunito-latin-900-normal-CVn49sIn.woff)format("woff");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}:root{--ivory:#fff;--paper:#fff;--ink:#3c3c3c;--ink-soft:#6f6f6f;--line:#e5e5e5;--lip:#d4d4d4;--felt:#58cc02;--felt-tint:#d7ffb8;--felt-edge:#a5ed6e;--felt-text:#3d7a00;--green:#58cc02;--green-lip:#58a700;--orange:#ff9600;--orange-lip:#e07f00;--orange-tint:#fff4e5;--brass:#ffc800;--brass-lip:#e0a800;--brass-tint:#fff4d6;--brass-text:#8a6116;--madder:#c0272d;--madder-tint:#ffdfe0;--blue:#1cb0f6;--blue-lip:#1899d6;--blue-text:#1899d6;--blue-tint:#ddf4ff;--blue-edge:#84d8ff;--serif:"Nunito", system-ui, sans-serif;--sans:"Nunito", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ivory);color:var(--ink);font:600 1rem/1.55 var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}.shell{--page:46rem;flex:1;width:100%;display:flex}.shell.wide{--page:66rem}.app-col{flex-direction:column;flex:1;min-width:0;display:flex}main{width:100%;max-width:var(--page);flex:1;margin:0 auto;padding:1.5rem 1rem 3rem}@media (width>=48rem){main{padding:2rem 2rem 3rem}}h1,h2,h3{font-family:var(--serif);color:var(--ink);margin:0;font-weight:800;line-height:1.15}h1{font-size:clamp(1.9rem,6vw,2.6rem)}h2{margin:2.25rem 0 .75rem;font-size:1.45rem}p{margin:0 0 .75rem}a{color:var(--blue-text);text-underline-offset:.18em}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:6px}.site-header{border-bottom:2px solid var(--line);z-index:30;background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;display:flex;position:sticky;top:0}:root{--appbar-h:4.35rem}.brand{color:var(--green);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand-mark{background:var(--green);color:#fff;width:2.25rem;height:2.25rem;box-shadow:0 3px 0 var(--green-lip);border-radius:.75rem;place-items:center;display:grid}.brand-name{font:900 1.75rem/1 var(--sans);letter-spacing:-.05em}.sidenav{display:none}.side-link{min-height:3.5rem;color:var(--ink-soft);font:800 .95rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;border:2px solid #0000;border-radius:.9rem;align-items:center;gap:1.1rem;padding:0 1rem;text-decoration:none;display:flex}.side-link:hover{background:#f7f7f7}.side-link.active{color:var(--blue-text);background:var(--blue-tint);border-color:var(--blue-edge);font-weight:900}.side-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=48rem){.site-header{display:none}:root{--appbar-h:0rem}.sidenav{border-right:2px solid var(--line);flex-direction:column;flex:none;align-self:flex-start;gap:2.25rem;width:5.75rem;height:100vh;padding:2rem .75rem;display:flex;position:sticky;top:0}.sidenav nav{flex-direction:column;gap:.5rem;display:flex}.sidenav .brand{justify-content:center}.sidenav .brand-name{display:none}.side-link{justify-content:center;padding:0}}@media (width>=75rem){.sidenav{width:16rem;padding:2rem 1.1rem}.sidenav .brand{justify-content:flex-start;padding-left:.5rem}.sidenav .brand-name{display:inline}.side-link{justify-content:flex-start;padding:0 1rem}.side-label{clip:auto;white-space:normal;width:auto;height:auto;position:static;overflow:visible}}.shell.focus .site-header,.shell.focus .tabbar,.shell.focus .sidenav{display:none}.shell.focus main{max-width:none;padding:0}.lede{color:var(--ink-soft);max-width:36rem;margin-top:.75rem;font-size:1.1rem}.quiet{color:var(--ink-soft);font-size:.92rem}.hero{padding-bottom:1rem}.keyboard{width:100%;height:clamp(3.2rem,11vw,5.2rem);margin:1.5rem 0 .4rem;display:block}.key.white{fill:#fff;stroke:#c8c8c8;stroke-width:.4px}.key.black{fill:#3c3c3c}.key.out.white{fill:#ececec}.key.out.black{fill:#8a8a8a}.key.key.lit-first{fill:var(--brass);stroke:var(--brass-lip)}.key.key.lit-second{fill:var(--green);stroke:var(--green-lip)}.key.key.out.lit-first{fill:var(--brass)}.key.key.out.lit-second{fill:var(--green)}.hero-caption{color:var(--ink-soft);font-size:.85rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.25rem;display:flex}.button{font:800 .9rem/1.1 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--blue-text);border:2px solid var(--line);border-bottom:4px solid var(--lip);cursor:pointer;text-align:center;background:#fff;border-radius:1rem;justify-content:center;align-items:center;min-height:3rem;padding:.7rem 1.3rem;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:#f7f7f7}.button:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.button.primary{background:var(--green);color:#fff;border-color:var(--green);border-bottom-color:var(--green-lip)}.button.primary:hover:not(:disabled){background:#61d406}.button.blue{background:var(--blue);color:#fff;border-color:var(--blue);border-bottom-color:var(--blue-lip)}.button:disabled{background:var(--line);color:#7d7d7d;border-color:var(--line);cursor:default;border-bottom-color:#c4c4c4}.notice{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--felt);border-radius:.4rem;margin:1rem 0;padding:.7rem .9rem;font-size:.95rem}.notice.warn{border-left-color:var(--madder)}.levels{margin:1.5rem 0 0;padding:0;list-style:none}.level{position:relative}.level:before{content:"";background:var(--line);width:2px;position:absolute;top:0;bottom:0;left:1.55rem}.level:first-child:before{top:1.6rem}.level:last-child:before{bottom:calc(100% - 1.6rem)}.level-link{color:inherit;border-radius:.6rem;gap:1rem;padding:.9rem .6rem .9rem 0;text-decoration:none;display:flex}a.level-link:hover .level-title{text-decoration:underline;-webkit-text-decoration-color:var(--brass);text-decoration-color:var(--brass);text-underline-offset:.2em}.level-num{z-index:1;width:3.1rem;height:3.1rem;font:800 1.7rem/1 var(--serif);background:var(--paper);border:2px solid var(--ink);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.level.passed .level-num{background:var(--felt);border-color:var(--felt);color:var(--paper)}.level.locked .level-num{border-color:var(--line);color:#9aa0b0}.level.locked{color:#7d8397}.level-body{flex-direction:column;gap:.3rem;min-width:0;display:flex}.level-title{font:800 1.55rem/1.15 var(--serif);flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.level-blurb{color:var(--ink-soft)}.level.locked .level-blurb{color:#8b90a3}.level-status{color:var(--ink-soft);font-size:.88rem}.badge{font:600 .72rem var(--sans);border:1px solid;border-radius:999px;padding:.12rem .55rem}.badge.passed{color:var(--felt)}.badge.locked{color:#8b90a3}.chips{flex-wrap:wrap;gap:.3rem;margin:.15rem 0;display:flex}.chip{font:600 .78rem var(--sans);background:var(--paper);border:1px solid var(--line);border-radius:.3rem;padding:.08rem .4rem}.chip.mode{color:var(--ink-soft);background:0 0;border-style:dashed;font-weight:400}.level.locked .chip{color:#8b90a3}.chip.more{cursor:pointer;color:var(--ink-soft)}.practice.wide{max-width:none}.back{min-height:2.75rem;color:var(--blue-text);border:2px solid var(--line);border-bottom:4px solid var(--lip);font:800 .85rem/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;background:#fff;border-radius:.9rem;align-items:center;gap:.3rem;margin-bottom:1rem;padding:0 1rem 0 .6rem;text-decoration:none;display:inline-flex}.back:hover{background:#f7f7f7}.back:active{border-bottom-width:2px;transform:translateY(2px)}.level-tag{color:var(--brass-text);margin-bottom:.4rem;font-weight:600}.anchors{gap:.4rem;margin:1rem 0;padding:0;list-style:none;display:grid}.anchors li{background:var(--paper);border:1px solid var(--line);border-radius:.4rem;padding:.45rem .7rem}.play-row{align-items:center;gap:.75rem;margin:.6rem 0 1.25rem;display:flex}.totals{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;margin:1.5rem 0 0;display:grid}.totals div{background:var(--paper);border:1px solid var(--line);border-radius:.5rem;padding:.7rem .9rem}.totals dt{color:var(--ink-soft);font-size:.85rem}.totals dd{font:800 1.9rem/1.2 var(--serif);margin:0}.chart{width:100%;height:auto;display:block}.chart .threshold{stroke:var(--brass);stroke-dasharray:5 4;stroke-width:1.5px}.chart-label{font:400 12px var(--sans);fill:var(--ink-soft)}.interval-table{border-collapse:collapse;width:100%}.interval-table th,.interval-table td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem .4rem;font-weight:400}.interval-table thead th{color:var(--ink-soft);font-size:.85rem}.meter{background:#e3e6df;border-radius:.3rem;min-width:7rem;height:1.4rem;display:block;position:relative;overflow:hidden}.meter span{position:absolute;inset:0 auto 0 0}.meter em{font:600 .8rem/1.4rem var(--sans);padding-left:.5rem;font-style:normal;position:relative}.form{gap:1rem;margin-top:1.5rem;display:grid}.form label{gap:.3rem;font-weight:600;display:grid}.form input{font:400 1rem var(--sans);border:1.5px solid var(--line);background:var(--paper);border-radius:.5rem;min-height:2.75rem;padding:.65rem .75rem}h3{font-family:var(--serif);margin:1.5rem 0 .5rem;font-size:1.2rem;font-weight:800;line-height:1.1}.prose{max-width:36rem}.map-summary{max-width:30rem;margin-top:1.25rem}.map-meter{background:var(--line);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.map-meter span{background:var(--felt);height:100%;display:block}.route-legend{margin:.5rem 0 0}.route-mark{color:var(--brass);vertical-align:.1em;margin-right:.15rem;font-size:.7rem}.stages{margin:1.5rem 0 0;padding:0;list-style:none}.stage{padding-bottom:1.75rem;position:relative}.stage:before{content:"";background:var(--line);width:2px;position:absolute;top:3.4rem;bottom:0;left:1.55rem}.stage:last-child:before{display:none}.stage-head{align-items:flex-start;gap:1rem;display:flex}.stage-num{z-index:1;width:3.1rem;height:3.1rem;font:800 1.7rem/1 var(--serif);background:var(--paper);border:2px solid var(--ink);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.stage-name{margin:0;font-size:1.75rem}.stage-blurb{color:var(--ink-soft);max-width:34rem;margin:.25rem 0 .15rem}.stage-count{color:var(--ink-soft);margin:0;font-size:.85rem}.concepts{border-top:1px solid var(--line);margin:.9rem 0 0 4.1rem;padding:0;list-style:none}.concept{border-bottom:1px solid var(--line)}.concept-link{min-height:3.1rem;color:inherit;border-radius:.4rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.3rem 1rem;padding:.6rem .3rem;text-decoration:none;display:flex}.concept-link:hover .concept-name{text-decoration:underline;-webkit-text-decoration-color:var(--brass);text-decoration-color:var(--brass);text-underline-offset:.2em}.concept-main{flex-direction:column;min-width:0;display:flex}.concept-name{flex-wrap:wrap;align-items:baseline;gap:.1rem .45rem;font-weight:600;display:flex}.concept-kind{color:var(--ink-soft);font-size:.8rem}.concept-state{flex:none;align-items:center;gap:.6rem;display:flex}.mini-meter{background:var(--line);border-radius:3px;width:3.5rem;height:6px;overflow:hidden}.mini-meter span{background:var(--felt);height:100%;display:block}.here{font:600 .72rem var(--sans);background:var(--ink);color:var(--paper);border-radius:999px;padding:.1rem .55rem}.badge.ready{color:var(--felt)}.badge.mastered{color:var(--felt);background:var(--felt-tint)}.badge.soon{color:#5d647a;border-style:dashed}.soon-tag{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.6rem;margin:.75rem 0 0;display:flex}.notice .button{margin-top:.4rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.daily-key{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--brass);border-radius:.5rem;margin-top:1.5rem;padding:1rem 1.1rem}.daily-key .quiet{margin:0}.daily-key-name{font:800 clamp(1.8rem, 6vw, 2.5rem)/1.1 var(--serif);margin:.15rem 0 .7rem}.key-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex}.key-controls select{font:inherit;border:1.5px solid var(--ink);background:var(--paper);min-height:2.75rem;color:var(--ink);border-radius:.5rem;max-width:100%;padding:.6rem .7rem}.daily-summary{max-width:30rem;margin:1.25rem 0 .5rem}.tempo{max-width:30rem;margin:1rem 0 .5rem;display:block}.tempo-label{justify-content:space-between;gap:1rem;margin-bottom:.3rem;font-weight:600;display:flex}.tempo output{color:var(--ink-soft);font-weight:400}.tempo input{width:100%;accent-color:var(--felt);min-height:2rem}.sheet{margin:1.5rem 0;padding:0;list-style:none}.sheet-row{padding:.4rem 0 1.4rem;position:relative}.sheet-row:before{content:"";background:var(--line);width:2px;position:absolute;top:3.4rem;bottom:0;left:1.55rem}.sheet-row:last-child:before{display:none}.sheet-head{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.sheet-num{z-index:1;width:3.1rem;height:3.1rem;font:800 1.7rem/1 var(--serif);background:var(--paper);border:2px solid var(--ink);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.sheet-row.done .sheet-num{background:var(--felt);border-color:var(--felt);color:var(--paper)}.sheet-title{flex:10rem;min-width:0}.sheet-title h2{margin:0;font-size:1.55rem}.sheet-title .quiet{margin:0}.sheet-controls{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.timer{align-items:center;gap:.6rem;display:flex}.time{font-variant-numeric:tabular-nums;min-width:5.6rem;font-weight:600}.done-box{cursor:pointer;align-items:center;gap:.45rem;min-height:2.75rem;font-weight:600;display:inline-flex}.done-box input{width:1.3rem;height:1.3rem;accent-color:var(--felt)}.sheet-body{margin:.4rem 0 0 4.1rem}.sheet-body summary{cursor:pointer;color:var(--felt);min-height:2rem;padding:.35rem 0;font-weight:600}.material{border-top:1px solid var(--line);padding:.75rem 0}.material h3{margin:0 0 .4rem}.notes-line{font-variant-numeric:tabular-nums;letter-spacing:.02em;max-width:40rem;margin:0 0 .35rem}.dots{flex-wrap:wrap;gap:.35rem;margin:.5rem 0;padding:0;list-style:none;display:flex}@media (width<=44rem){.sheet-controls{margin-left:4.1rem}}@media (width<=30rem){.concepts{margin-left:3.6rem}.stage-name{font-size:1.5rem}.sheet-body,.sheet-controls{margin-left:3.6rem}}.notice{border:2px solid var(--line);border-bottom-width:4px;border-left:2px solid var(--line);border-left-color:var(--green);background:#fff;border-radius:1rem;padding:.8rem 1rem}.notice.warn{border-color:var(--madder);border-left-color:var(--madder)}.anchors li,.totals div,.daily-key,.chip{border:2px solid var(--line);background:#fff;border-bottom-width:4px;border-radius:.9rem}.anchors li{padding:.6rem .9rem}.daily-key{border-left:2px solid var(--line);padding:1rem 1.2rem}.chip{border-bottom-width:2px;border-radius:.5rem;padding:0 .45rem}.level:before,.stage:before,.sheet-row:before{background:var(--line);border-radius:2px;width:4px}.level-num,.stage-num,.sheet-num{border:2px solid var(--line);border-bottom:5px solid var(--lip);color:var(--ink);background:#fff;border-radius:50%;width:3.3rem;height:3.3rem}.level.passed .level-num,.sheet-row.done .sheet-num{background:var(--brass);border-color:var(--brass-lip);border-bottom-color:var(--brass-lip);color:var(--ink)}.level:not(.passed):not(.locked) .level-num{background:var(--green);border-color:var(--green-lip);border-bottom-color:var(--green-lip);color:#1f4d00}.level.locked .level-num{background:var(--line);color:#6f6f6f;border-color:var(--line);border-bottom-color:#cfcfcf}.level.locked,.level.locked .level-blurb{color:var(--ink-soft)}.level-link{border-radius:1rem}a.level-link:hover{background:#f7f7f7}a.level-link:hover .level-title,.concept-link:hover .concept-name{text-decoration:none}.level-title{font-size:1.2rem}.badge{font:800 .72rem var(--sans);letter-spacing:.06em;text-transform:uppercase;border-width:2px;padding:.1rem .6rem}.badge.passed,.badge.ready,.badge.mastered{color:var(--felt-text)}.badge.open,.badge.progress{color:var(--blue-text)}.badge.locked,.badge.soon{color:var(--ink-soft)}.badge.mastered{background:var(--felt-tint)}.here{background:var(--blue-text);color:#fff;font:800 .72rem var(--sans);letter-spacing:.06em;text-transform:uppercase}.concept-link{border-radius:1rem}.concept-link:hover{background:#f7f7f7}.concept.soon .concept-name{color:var(--ink-soft);font-weight:700}.concepts,.concept{border-color:var(--line)}.map-meter,.mini-meter{background:var(--line);border-radius:999px;height:12px}.mini-meter{height:8px}.map-meter span,.mini-meter span,.dots li.on,.meter span{border-radius:999px}.map-meter span,.mini-meter span{background:var(--green)}.route-mark{color:var(--brass-lip)}.dots li{border:2px solid var(--line);background:#fff;border-radius:50%;width:1.5rem;height:1.5rem}.dots li.on{background:var(--brass);border-color:var(--brass-lip)}.sheet-body summary{color:var(--blue-text);font-weight:800}.time.reached{color:var(--felt-text)}.done-box input,.tempo input{accent-color:var(--felt)}.totals dd{color:var(--ink)}.chart .threshold{stroke:var(--brass-lip);stroke-dasharray:5 4}.bar.ok{fill:var(--green)}.bar.low{fill:var(--madder);opacity:.85}.meter{background:var(--line);border-radius:999px}.meter span.ok{background:var(--felt-tint);border-right:3px solid var(--felt)}.meter span.low{background:var(--madder-tint);border-right:3px solid var(--madder)}.form input,.key-controls select{font:600 1rem var(--sans);color:var(--ink);border:2px solid var(--line);background:#f7f7f7;border-radius:.9rem;min-height:3rem;padding:.65rem .85rem}.form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint);background:#fff;outline:none}.key-controls select{border-bottom-width:4px}.level-tag{color:#8040c8;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;font-weight:800}@media (width<=47.99rem){main{padding-bottom:6.5rem}.shell:not(.focus) main{padding-bottom:8rem}}.about{border:2px solid var(--line);background:#fff;border-bottom-width:4px;border-radius:1rem;margin-top:2rem;padding:.9rem 1rem}.about-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;display:flex}.version-pill{background:var(--blue-tint);color:var(--blue-text);border-radius:999px;padding:.1rem .6rem;font-size:.85rem;font-weight:800}.about summary{cursor:pointer;color:var(--blue-text);min-height:2rem;padding:.6rem 0;font-weight:800}.changelog{margin:0;padding:0;list-style:none}.changelog>li{border-top:1px solid var(--line);padding:.6rem 0}.changelog-head{align-items:baseline;gap:.6rem;margin:0;display:flex}.changelog ul{margin:.3rem 0 0;padding-left:1.2rem}.about-credit{color:var(--ink-soft);margin:.75rem 0 0;font-size:.8rem}.chord-chart{border:2px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:.9rem;margin:.5rem 0 1rem;padding:.8rem 1rem;font:700 1.05rem/1.7 ui-monospace,Menlo,Consolas,monospace}.dash{--d-ink:#3c3c3c;--d-soft:#6f6f6f;--d-border:#e5e5e5;--d-lip:#d4d4d4;--d-grid:#ececec;--d-wash:#f7f7f7;--d-green:#58cc02;--d-green-deep:#3d7a00;--d-green-lip:#58a700;--d-gold:#ffc800;--d-gold-mark:#e0a800;--d-gold-text:#8a6116;--d-orange:#ff9600;--d-orange-lip:#e07f00;--d-red:#ff4b4b;--d-red-text:#c0272d;--d-blue:#1cb0f6;--d-grey:#7b8497;font-family:"Nunito", var(--sans);color:var(--d-ink);font-weight:600}.dash h1,.dash h2,.dash h3{font-family:"Nunito", var(--sans);letter-spacing:0;font-weight:800}.dash h1{margin:0;font-size:clamp(2rem,6vw,2.7rem);line-height:1.1}.dash h2{margin:0;font-size:1.05rem;line-height:1.2}.dash p{margin:0}.d-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:.25rem 0 1rem;display:flex}.d-sub{color:var(--d-soft);margin-top:.3rem!important}.d-btn{cursor:pointer;min-height:2.75rem;font:800 1rem/1 "Nunito", var(--sans);color:#1899d6;border:2px solid var(--d-border);border-bottom:4px solid var(--d-lip);background:#fff;border-radius:.85rem;justify-content:center;align-items:center;gap:.4rem;padding:0 1.2rem;text-decoration:none;transition:transform 60ms,border-bottom-width 60ms;display:inline-flex}.d-btn:hover{background:var(--d-wash)}.d-btn:active{border-bottom-width:2px;transform:translateY(2px)}.d-btn.primary{background:var(--d-green);border-color:var(--d-green);border-bottom-color:var(--d-green-lip);color:#fff}.d-btn.primary:hover{background:#61d406}.d-btn.big{min-height:3.25rem;padding:0 1.6rem;font-size:1.05rem}.d-row{gap:1rem;margin:1rem 0;display:grid}.d-row.top{grid-template-columns:repeat(auto-fit,minmax(16.5rem,1fr))}.d-row.mid,.d-row.bottom{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}@media (width<=56rem){.d-row.mid,.d-row.bottom{grid-template-columns:minmax(0,1fr)}}.d-card{border:2px solid var(--d-border);background:#fff;border-bottom-width:4px;border-radius:1rem;min-width:0;padding:1.1rem 1.25rem 1.2rem}.d-card-title{color:var(--d-soft);margin-bottom:.15rem!important}.d-note{color:var(--d-soft);font-size:.92rem;margin-top:.45rem!important}.d-empty{background:var(--d-wash);color:var(--d-soft);border-radius:.8rem;padding:1.1rem;margin-top:.8rem!important}.d-hero-row{align-items:center;gap:.5rem;display:flex;margin:.5rem 0 .15rem!important}.d-hero-num{font:800 clamp(3.4rem, 9vw, 4.6rem)/1 "Nunito", var(--sans);letter-spacing:-.01em}.d-hero-row.small .d-hero-num{font-size:3rem}.d-unit{font:800 1.35rem/1 "Nunito", var(--sans);color:var(--d-soft);align-self:flex-end;padding-bottom:.5rem}.d-flame{flex:none}.d-strip{justify-content:space-between;gap:.3rem;margin:.9rem 0 .5rem;padding:0;list-style:none;display:flex}.d-strip-day{justify-items:center;gap:.3rem;display:grid}.d-strip-label{color:var(--d-soft);font-size:.8rem;font-weight:800}.d-strip-dot{border:2px solid var(--d-border);background:#efefef;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;display:grid}.d-strip-day.practised .d-strip-dot{background:var(--d-orange);border-color:var(--d-orange);box-shadow:0 3px 0 var(--d-orange-lip);color:#fff}.d-strip-day.rest .d-strip-dot{border-color:var(--d-grey);background:#dfe6f1}.d-strip-day.today .d-strip-dot{border:3px solid var(--d-orange);background:#fff4e5}.d-strip-day.today .d-strip-label{color:var(--d-orange-lip)}.d-strip-day.future{opacity:.55}.d-rest-note{color:var(--d-soft);align-items:center;gap:.4rem;font-size:.86rem;display:flex;margin-top:.5rem!important}.d-delta{align-items:center;gap:.4rem;font-weight:800;display:flex;margin-top:.3rem!important}.d-delta.up{color:var(--d-green-deep)}.d-delta.down{color:var(--d-red-text)}.d-delta.flat,.d-delta.muted{color:var(--d-soft);font-weight:700}.d-chip{color:var(--d-green-deep);background:#e3f2e6;border-radius:999px;padding:.2rem .75rem;font-size:.85rem;font-weight:800;display:inline-block;margin-top:.6rem!important}.d-key{font:800 1.5rem/1.15 "Nunito", var(--sans);margin:.6rem 0 .9rem!important}.d-meter{background:var(--d-grid);border-radius:999px;height:.75rem;overflow:hidden}.d-meter span{background:var(--d-green);border-radius:999px;height:100%;display:block}.d-today .d-btn,.d-map .d-btn{margin-top:.9rem}.d-next{font-size:.92rem;margin-top:.7rem!important}.d-note.center{text-align:center}.d-stages{gap:.7rem;margin:.9rem 0 .2rem;padding:0;list-style:none;display:grid}.d-stages li{gap:.15rem;display:grid}.d-stage-name{font-size:.95rem;font-weight:800}.d-stage-count{color:var(--d-soft);font-size:.82rem}.d-stage-meter{background:var(--d-grid);border-radius:999px;height:.5rem;margin-top:.15rem;overflow:hidden}.d-stage-meter span{background:var(--d-green);border-radius:999px;height:100%;display:block}.d-rec-list{margin:.6rem 0 0;padding:0;list-style:none}.d-rec{border-top:2px solid var(--d-grid);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.85rem 0;display:grid}.d-rec:first-child{border-top:0;padding-top:.3rem}.d-rec-icon{border-radius:.9rem;place-items:center;width:2.75rem;height:2.75rem;display:grid}.d-rec-icon.weak{color:var(--d-red-text);background:#fbe4e6}.d-rec-icon.next{color:var(--d-green-deep);background:#e3f2e6}.d-rec-icon.stale{color:#0b6fa0;background:#ddf4ff}.d-rec-text{gap:.1rem;min-width:0;display:grid}.d-rec-kind{color:var(--d-soft);font-size:.8rem;font-weight:700}.d-rec-title{font-size:1.05rem;font-weight:800;line-height:1.25}.d-rec-reason{color:var(--d-soft);font-size:.9rem}.d-chart-wrap{margin-top:.5rem;position:relative}.d-chart{width:100%;height:auto;display:block}.d-chart.radar{max-width:26rem;margin:0 auto}.d-chart.radar .d-axis{font-size:14px}.d-grid{stroke:var(--d-grid);stroke-width:1px}.d-axis{font:700 12px "Nunito", var(--sans);fill:var(--d-soft)}.d-axis.muted{fill:var(--d-grey);font-weight:600}.d-pass,.d-pass-ring{stroke:var(--d-gold-mark);stroke-width:1px}.d-pass-label{font:800 11px "Nunito", var(--sans);fill:var(--d-gold-text)}.d-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.d-line.this{stroke:var(--d-blue)}.d-line.last{stroke:var(--d-grey);stroke-dasharray:6 5}.d-dot{stroke:#fff;stroke-width:2px}.d-dot.this{fill:var(--d-blue)}.d-dot.last{fill:var(--d-grey)}.d-end-label{font:800 13px "Nunito", var(--sans);fill:var(--d-ink)}.d-cross{stroke:var(--d-soft);stroke-width:1px}.d-hit,.d-hit-dot{fill:#0000;cursor:crosshair;outline:none}.d-hit:focus-visible{fill:#1899d61a;stroke:var(--d-ink);stroke-width:2px}.d-hit-dot:focus-visible{stroke:var(--d-ink);stroke-width:2px}.d-shape{fill:#1899d61f;stroke:var(--d-blue);stroke-width:2px;stroke-linejoin:round}.d-readout{text-align:center;min-height:1.6rem;color:var(--d-soft);font-weight:700;margin-top:.3rem!important}.d-tip{z-index:2;pointer-events:none;background:var(--d-ink);color:#fff;border-radius:.7rem;min-width:11.5rem;padding:.55rem .75rem;font-size:.82rem;font-weight:600;position:absolute;top:.25rem;transform:translate(-50%)}.d-tip strong{font-weight:800}.d-tip-day{font-weight:800;margin-bottom:.2rem!important}.d-tip-row{align-items:center;gap:.45rem;display:flex;margin:.1rem 0!important}.d-tip .d-key-line.this{border-color:#84d8ff}.d-tip .d-key-line.last{border-color:#c3c9d6}.d-legend{color:var(--d-soft);flex-wrap:wrap;gap:.4rem 1.2rem;margin:.7rem 0 0;padding:0;font-size:.86rem;font-weight:700;list-style:none;display:flex}.d-legend li{align-items:center;gap:.45rem;display:flex}.d-key-line{border-top:3px solid;flex:none;width:1.5rem;height:0;display:inline-block}.d-key-line.this{border-color:var(--d-blue)}.d-key-line.last{border-color:var(--d-grey);border-top-style:dashed}.d-swatch{border:2px solid;border-radius:50%;width:1.05rem;height:1.05rem;display:inline-block}.d-swatch.practised{background:var(--d-gold);border-color:var(--d-gold-mark)}.d-swatch.rest{border-color:var(--d-grey);background:#dfe6f1}.d-swatch.today{border-color:var(--d-ink);background:#fff}.d-table-twin{margin-top:.8rem;font-size:.9rem}.d-table-twin summary{cursor:pointer;color:var(--d-green-deep);align-items:center;min-height:2rem;font-weight:800;display:flex}.d-table-twin table{border-collapse:collapse;width:100%;margin-top:.4rem}.d-table-twin th,.d-table-twin td{text-align:left;border-bottom:1px solid var(--d-grid);padding:.35rem .4rem;font-weight:600}.d-table-twin thead th{color:var(--d-soft);font-weight:800}.d-cal-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.d-cal-nav{gap:.4rem;display:flex}.d-icon-btn{width:2.75rem;height:2.75rem;color:var(--d-ink);cursor:pointer;border:2px solid var(--d-border);background:#fff;border-bottom-width:4px;border-radius:.8rem;place-items:center;display:grid}.d-icon-btn:disabled{opacity:.4;cursor:default}.d-icon-btn:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.d-cal-grid{border-collapse:separate;border-spacing:.15rem;table-layout:fixed;width:100%;margin-top:.6rem}.d-cal-grid th{color:var(--d-soft);padding-bottom:.2rem;font-size:.8rem;font-weight:800}.d-cal-grid td{text-align:center;padding:0}.d-cal-day{border:2px solid #0000;border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;margin:0 auto;font-size:.9rem;font-weight:700;display:grid}.d-cal-grid td.outside .d-cal-day{opacity:.35}.d-cal-grid td.future .d-cal-day{opacity:.5}.d-cal-grid td.practised .d-cal-day{background:var(--d-gold);border-color:var(--d-gold-mark);font-weight:800}.d-cal-grid td.rest .d-cal-day{border-color:var(--d-grey);background:#dfe6f1}.d-cal-grid td.is-today .d-cal-day{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--d-ink);font-weight:800}.d-toggles{flex-wrap:wrap;gap:.6rem;margin:.7rem 0;display:flex}.d-seg{border:2px solid var(--d-border);border-radius:.85rem;display:inline-flex;overflow:hidden}.d-seg button{min-height:2.6rem;font:800 .9rem "Nunito", var(--sans);color:var(--d-ink);cursor:pointer;background:#fff;border:0;padding:0 .95rem}.d-seg button[aria-pressed=true]{color:#0b6fa0;background:#ddf4ff}.d-seg button+button{border-left:2px solid var(--d-border)}.d-select{min-width:0;min-height:2.75rem;font:800 .95rem "Nunito", var(--sans);color:var(--d-ink);border:2px solid var(--d-border);cursor:pointer;background:#fff;border-radius:.85rem;flex:12rem;padding:0 .8rem}.d-bars{gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.d-bars li{grid-template-columns:3.4rem minmax(0,1fr) 4.6rem;align-items:center;gap:.6rem;display:grid}.d-bar-label{font-weight:800}.d-bar-track{background:var(--d-grid);border-radius:999px;height:.7rem;position:relative}.d-bar-fill{background:var(--d-blue);border-radius:999px;position:absolute;inset:0 auto 0 0}.d-bar-pass{background:var(--d-gold-mark);width:2px;height:1.2rem;position:absolute;top:-.25rem;left:80%}.d-bar-value{text-align:right;color:var(--d-soft);font-size:.9rem;font-weight:700}@media (prefers-reduced-motion:reduce){.d-btn,.d-icon-btn{transition:none}}@media (width<=30rem){.d-card{padding:1rem}.d-rec{gap:.7rem}.d-cal-day{width:2.1rem;height:2.1rem}}.d-strip-check{stroke:#fff}.d-flame.off{filter:grayscale();opacity:.45}.acc-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.acc-title{color:var(--d-soft);margin:0 0 .25rem;font:800 1.05rem/1.2 Nunito,sans-serif}.acc-main{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex;margin:0!important}.acc-num{color:var(--d-ink);font:900 2.25rem/1 Nunito,sans-serif}.acc-pill{border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .65rem;font:900 .85rem/1.3 Nunito,sans-serif;display:inline-flex}.acc-pill.up{color:#3d7a00;background:#d7ffb8}.acc-pill.down{color:#b42318;background:#ffdfe0}.acc-pill.flat{color:var(--d-soft);background:#f2f2f2}.acc-icon{color:#1cb0f6;background:#ddf4ff;border-radius:.75rem;flex:none;place-items:center;width:2.75rem;height:2.75rem;display:grid}.acc-bars{gap:.5rem;margin:1rem 0 .75rem;padding:0;list-style:none;display:flex}.acc-bars li{flex-direction:column;flex:1;align-items:center;gap:.4rem;display:flex}.acc-bar-area{align-items:flex-end;width:100%;height:64px;display:flex}.acc-bar{background:#bde9ff;border-radius:6px;width:100%;display:block}.acc-bar.empty{background:#ececec}.acc-bars li.today .acc-bar{background:#1cb0f6}.acc-day{color:var(--d-soft);font:900 .75rem/1 Nunito,sans-serif}.acc-bars li.today .acc-day{color:#1899d6}.streak-page h1{margin-bottom:1rem}.streak-grid{gap:1rem;display:grid}.d-rules{gap:.6rem;margin:.6rem 0 0;padding-left:1.1rem;font-weight:600;display:grid}.acc-bars li.today .acc-bar.empty{background:#ececec}.learn{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""notice""today""rec""mistakes""accuracy""path""ear";gap:1rem;max-width:42rem;margin:0 auto;display:grid}.learn>*{min-width:0}.learn-top{grid-area:top;justify-content:flex-end;display:flex}.learn-notice{grid-area:notice}.learn-notice:empty{display:none}.learn-notice .notice{margin:0}.learn-today{grid-area:today}.learn-rec{grid-area:rec}.learn-mistakes{grid-area:mistakes}.learn-accuracy{grid-area:accuracy}.learn-path{grid-area:path}.learn-ear{grid-area:ear}.learn-side{display:contents}@media (width>=62rem){.learn{grid-template:"top top""notice notice""path side"1fr/minmax(0,1fr) 24rem;column-gap:2.5rem;max-width:none}.learn-side{overscroll-behavior:contain;flex-direction:column;grid-area:side;align-self:start;gap:1rem;max-height:calc(100vh - 2rem);padding-bottom:.5rem;display:flex;position:sticky;top:1rem;overflow-y:auto}}.streak-chip{min-height:2.75rem;color:var(--orange-lip);border:2px solid #0000;border-radius:.9rem;align-items:center;gap:.4rem;padding:0 .75rem;font:900 1.4rem/1 Nunito,sans-serif;text-decoration:none;display:inline-flex}.streak-chip:hover{background:var(--orange-tint);border-color:#ffd9a8}.streak-chip.idle{color:var(--ink-soft)}.path-view{flex-direction:column;gap:1.25rem;max-width:37.5rem;margin:0 auto;display:flex}.stage-banner{background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-lip);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.1rem 1.1rem 1.4rem;display:flex}.stage-banner h2{color:#fff;margin:0;font-size:1.45rem;font-weight:900}.stage-eyebrow{letter-spacing:.06em;text-transform:uppercase;margin:0 0 .2rem;font:800 .8rem/1.2 Nunito,sans-serif}.stage-banner .stage-eyebrow{opacity:.92}.guide-btn{color:#fff;background:var(--green);letter-spacing:.07em;text-transform:uppercase;border:2px solid #00000024;border-bottom-width:4px;border-radius:1rem;flex:none;align-items:center;gap:.5rem;min-height:3rem;padding:0 1rem;font:800 .9rem/1 Nunito,sans-serif;text-decoration:none;display:inline-flex}.guide-btn:active{border-bottom-width:2px;transform:translateY(2px)}.guide-text{display:none}@media (width>=30rem){.guide-text{display:inline}}.stage-block.open .path{margin-top:.5rem}.stage-banner{top:calc(var(--appbar-h,0rem) + .5rem);z-index:15;position:sticky}.stage-title{color:#fff;text-align:left;cursor:pointer;min-width:0;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:.1rem;padding:0;text-decoration:none;display:flex}.stage-title h2{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.stage-title:focus-visible{outline-offset:4px;border-radius:.5rem;outline:3px solid #fff}.stage-list{width:min(32rem,100vw - 2rem);max-height:70vh;color:var(--ink);top:calc(100% + .6rem);overflow-y:auto}.stage-list ol{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.stage-pick{border:2px solid var(--line);width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:#fff;border-radius:.9rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.stage-pick.active{border-color:var(--blue-text)}.stage-pick:hover{background:#f7f7f7}.stage-pick-main{flex-direction:column;min-width:0;display:flex}.stage-pick .stage-eyebrow{color:var(--ink-soft)}.stage-pick .quiet{white-space:nowrap;font-size:.85rem}.unit-divider{color:var(--ink-soft);text-align:center;align-items:center;gap:1rem;margin:1.5rem 0 .25rem;font:800 1.05rem/1.2 Nunito,sans-serif;display:flex}.unit-divider:before,.unit-divider:after{content:"";background:var(--line);flex:1;height:2px}.unit-divider span{max-width:70%}.node-badge{place-items:center;width:96px;height:96px;display:grid;position:relative}.node-badge svg{width:100%;height:100%;position:absolute;inset:0}.node-badge path{fill:var(--line);stroke:#cecece;stroke-width:3px;stroke-linejoin:round}.node-badge.current path,.node-badge.open path{fill:var(--green);stroke:var(--green-lip)}.node-badge.done path{fill:var(--brass);stroke:var(--brass-lip)}.node-badge-num{color:#fff;font:900 1.8rem/1 Nunito,sans-serif;position:relative}.node-badge.locked .node-badge-num,.node-badge.soon .node-badge-num{color:#9a9a9a}.up-next{text-align:center;border-top:2px solid var(--line);margin-top:1rem;padding:2rem 1rem}.up-next-tag{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;background:#f2f2f2;border-radius:.6rem;padding:.35rem .8rem;font:900 .85rem/1 Nunito,sans-serif;display:inline-block}.up-next h2{color:var(--ink-soft);justify-content:center;align-items:center;gap:.5rem;margin:.9rem 0 .4rem;display:flex}.up-next p{max-width:30rem;color:var(--ink-soft);margin:0 auto 1.2rem}.up-next .button{align-items:center;gap:.3rem;display:inline-flex}.path{width:100%;max-width:37.5rem;margin:0 auto;position:relative;overflow-x:clip}.path-lines{position:absolute;top:0;left:0}.path-line{fill:none;stroke:var(--line);stroke-width:10px;stroke-linecap:round}.path-line.done{stroke:#ffe27a}.path-nodes{margin:0;padding:0;list-style:none}.path-node{left:calc(50% + var(--dx,0px));width:0;height:0;position:absolute}.node-link{cursor:pointer;background:0 0;border:0;place-items:center;width:100px;height:100px;padding:0;text-decoration:none;display:grid;position:absolute;top:-50px;left:-50px}.node-link:disabled{cursor:default}.node-face{color:#fff;border-radius:50%;place-items:center;width:70px;height:64px;transition:transform 80ms,box-shadow 80ms;display:grid}.node-face.done{background:var(--brass);box-shadow:0 7px 0 var(--brass-lip)}.node-face.current,.node-face.open{background:var(--green);box-shadow:0 7px 0 var(--green-lip)}.node-face.current{width:86px;height:80px}.node-face.locked{background:var(--line);color:#9a9a9a;box-shadow:0 7px #cecece}.node-face.soon{color:#9a9a9a;background:#f2f2f2;border:2px dashed #c4c4c4;box-shadow:0 7px #dcdcdc}.node-link:not(:disabled):active .node-face{box-shadow:0 2px 0 var(--green-lip);transform:translateY(5px)}.node-link:not(:disabled):active .node-face.done{box-shadow:0 2px 0 var(--brass-lip)}.node-ring{pointer-events:none;position:absolute;top:-5px;left:-5px}.node-ring-track{fill:none;stroke:var(--line);stroke-width:7px}.node-ring-fill{fill:none;stroke:var(--green);stroke-width:7px;stroke-linecap:round}.node-caption{text-align:center;width:128px;color:var(--ink-soft);-webkit-line-clamp:2;pointer-events:none;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 6px #fff;-webkit-box-orient:vertical;font:800 .82rem/1.25 Nunito,sans-serif;display:-webkit-box;position:absolute;top:52px;left:-64px;overflow:hidden}.path-node.done .node-caption,.path-node.current .node-caption{color:var(--ink)}.path-node.current .node-caption{top:62px}.start-bubble{border:2px solid var(--line);letter-spacing:.08em;text-transform:uppercase;color:var(--green-lip);background:#fff;border-radius:.9rem;padding:.5rem 1rem;font:900 1rem/1 Nunito,sans-serif;animation:1.6s ease-in-out infinite bob;position:absolute;top:-22px}.start-bubble.right{left:62px}.start-bubble.left{right:62px}.start-bubble:after{content:"";background:#fff;width:12px;height:12px;margin-top:-6px;position:absolute;top:50%}.start-bubble.right:after{border-left:2px solid var(--line);border-bottom:2px solid var(--line);left:-8px;transform:rotate(45deg)}.start-bubble.left:after{border-right:2px solid var(--line);border-top:2px solid var(--line);right:-8px;transform:rotate(45deg)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.tabbar{z-index:20;border-top:2px solid var(--line);padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));background:#fff;justify-content:space-around;gap:.25rem;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{max-width:5.5rem;min-height:3.5rem;color:var(--ink-soft);border:2px solid #0000;border-radius:.9rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1rem;text-decoration:none;display:flex}.tab-label{letter-spacing:.04em;text-transform:uppercase;font:800 .66rem/1 Nunito,sans-serif}.tab.active{background:var(--blue-tint);border-color:var(--blue-edge);color:var(--blue-text)}@media (width>=48rem){.tabbar{display:none}}.lesson{background:#fff;flex-direction:column;min-height:100vh;display:flex}.lesson-top{align-items:center;gap:.75rem;width:100%;max-width:62rem;margin:0 auto;padding:1rem 1rem 0 .5rem;display:flex}.lesson-x{width:3rem;height:3rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:.8rem;flex:none;place-items:center;display:grid}.lesson-x:hover{background:#f7f7f7}.lesson-bar{background:var(--line);border-radius:999px;flex:1;height:1.15rem;position:relative;overflow:hidden}.lesson-bar-fill{background:var(--green);border-radius:999px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.lesson-bar-fill:after{content:"";background:#fff6;border-radius:999px;height:.3rem;position:absolute;top:.25rem;left:.6rem;right:.6rem}.lesson-combo{color:var(--orange-lip);align-items:center;gap:.2rem;font:900 1.15rem/1 Nunito,sans-serif;display:flex}.lesson-main{flex-direction:column;gap:1.5rem;width:100%;max-width:40rem;margin:1.5rem auto 0;padding:0 1rem 12rem;display:flex}.lesson-label{letter-spacing:.08em;text-transform:uppercase;color:#8040c8;align-items:center;gap:.5rem;margin:0;font:900 .85rem/1 Nunito,sans-serif;display:flex}.lesson-title{font-size:clamp(1.6rem,5vw,2.1rem)}.speak-row{justify-content:center;align-items:flex-end;gap:1rem;display:flex}.speak,.slow{color:#fff;background:var(--blue);cursor:pointer;border:0;place-items:center;display:grid}.speak{width:8.5rem;height:8rem;box-shadow:0 6px 0 var(--blue-lip);border-radius:1.6rem}.slow{width:4.4rem;height:4rem;box-shadow:0 5px 0 var(--blue-lip);letter-spacing:.08em;border-radius:1.1rem;align-content:center;gap:0;font:900 .68rem/1 Nunito,sans-serif}.speak:active:not(:disabled),.slow:active:not(:disabled){box-shadow:0 2px 0 var(--blue-lip);transform:translateY(4px)}.speak:disabled{opacity:.8;cursor:default}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.tile{min-height:5rem;color:var(--ink);cursor:pointer;border:2px solid var(--line);border-bottom:4px solid var(--lip);background:#fff;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:.5rem;font-family:inherit;display:flex;position:relative}.tile:hover:not(:disabled){background:#f7f7f7}.tile:disabled{cursor:default}.tile-short{font:900 1.5rem/1.1 Nunito,sans-serif}.tile-name{color:var(--ink-soft);text-align:center;font:700 .85rem/1.2 Nunito,sans-serif}.tile-key{border:2px solid var(--line);width:1.6rem;height:1.6rem;color:var(--ink-soft);border-radius:.5rem;place-items:center;font:800 .8rem/1 Nunito,sans-serif;display:none;position:absolute;top:.6rem;left:.6rem}.tile-mark{position:absolute;top:.6rem;right:.6rem}.tile.selected{background:var(--blue-tint);border-color:var(--blue-edge);border-bottom-color:var(--blue-edge);color:var(--blue-text)}.tile.selected .tile-name,.tile.selected .tile-key{color:var(--blue-text);border-color:var(--blue-edge)}.tile.right{background:var(--felt-tint);border-color:var(--felt-edge);border-bottom-color:var(--felt-edge);color:var(--felt-text)}.tile.right .tile-name,.tile.right .tile-key{color:var(--felt-text);border-color:var(--felt-edge)}.tile.wrong{background:var(--madder-tint);color:#b42318;border-color:#ffb3b6}.tile.wrong .tile-name,.tile.wrong .tile-key{color:#b42318;border-color:#ffb3b6}.tile.dim{opacity:.55}@media (width>=40rem){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.tile-key{display:grid}.tile{min-height:5.75rem}}@media (hover:none){.tile-key{display:none!important}}.lesson-foot{z-index:10;border-top:2px solid var(--line);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));background:#fff;position:fixed;bottom:0;left:0;right:0}.lesson-foot.right{background:var(--felt-tint);border-top-color:var(--felt-tint)}.lesson-foot.wrong{background:var(--madder-tint);border-top-color:var(--madder-tint)}.lesson-foot.slide{animation:.4s cubic-bezier(.2,.9,.3,1.1) both slideup}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.lesson-foot-in{flex-direction:column;gap:.9rem;width:100%;max-width:62rem;margin:0 auto;display:flex}.verdict-row{align-items:center;gap:.9rem;display:flex}.verdict-badge{background:#fff;border-radius:50%;flex:none;place-items:center;width:3.5rem;height:3.5rem;display:grid}.lesson-foot.right .verdict-badge{color:var(--green)}.lesson-foot.wrong .verdict-badge{color:var(--madder)}.verdict-title{margin:0;font:900 1.6rem/1.1 Nunito,sans-serif}.lesson-foot.right .verdict-title,.lesson-foot.right .verdict-detail{color:var(--felt-text)}.lesson-foot.wrong .verdict-title,.lesson-foot.wrong .verdict-detail{color:#b42318}.verdict-detail{margin:.1rem 0 0;font:800 1rem/1.35 Nunito,sans-serif}.big-btn{width:100%;min-height:3.4rem;font-size:1rem}.button.danger{color:#fff;background:#ff4b4b;border-color:#ff4b4b #ff4b4b #ea2b2b}.button.danger:hover:not(:disabled){background:#ff5d5d}@media (width>=48rem){.lesson-foot-in{flex-direction:row;justify-content:space-between;align-items:center}.lesson-foot-in.end{justify-content:flex-end}.big-btn{width:13rem}.verdict-badge{width:5rem;height:5rem}.verdict-title{font-size:1.9rem}}.lesson-keys,.lesson-intro .anchors,.lesson-intro .keyboard{margin:0}.complete{text-align:center;align-items:center;position:relative}.complete h1{font-size:clamp(1.9rem,6vw,2.5rem)}.trophy{background:var(--brass-tint);width:8rem;height:8rem;color:var(--brass-text);border-radius:50%;place-items:center;animation:.6s cubic-bezier(.2,.9,.3,1.2) both pop;display:grid}.trophy.no{background:var(--blue-tint);color:var(--blue-text)}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;width:100%;max-width:30rem;display:grid}.stat{border:2px solid var(--stat,var(--line));background:#fff;border-radius:1rem;overflow:hidden}.stat-label{background:var(--stat);color:#fff;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .4rem;font:900 .68rem/1.2 Nunito,sans-serif;display:block}.stat-value{color:var(--stat);padding:.7rem .3rem;font:900 1.5rem/1 Nunito,sans-serif;display:block}.stat.acc{--stat:var(--felt-text)}.stat.time{--stat:var(--blue-text)}.stat.qs{--stat:var(--brass-text)}.complete .anchors{text-align:left;width:100%;max-width:30rem}.complete-sub{color:var(--ink-soft);max-width:28rem;margin:0;font-weight:700}.confetti{pointer-events:none;height:14rem;position:absolute;inset:0 0 auto;overflow:hidden}.confetti i{border-radius:.15rem;width:.6rem;height:1rem;animation:2.6s ease-in infinite fall;position:absolute;top:-1rem}@keyframes fall{0%{opacity:1;transform:translateY(-1rem)rotate(0)}to{opacity:0;transform:translateY(14rem)rotate(300deg)}}@media (prefers-reduced-motion:reduce){.start-bubble,.lesson-foot.slide,.trophy{animation:none}.confetti{display:none}.node-face,.lesson-bar-fill{transition:none}}.progress-cards{gap:1rem;margin:1.5rem 0 0;display:grid}@media (width<=36rem){.stage-banner h2{font-size:1.25rem}}.parts{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.part{min-height:2.75rem;color:var(--ink-soft);cursor:pointer;border:2px solid var(--line);border-bottom:4px solid var(--lip);background:#fff;border-radius:.9rem;padding:0 1rem;font:800 .88rem/1 Nunito,sans-serif}.part:active{border-bottom-width:2px;transform:translateY(2px)}.part.on{background:var(--blue-tint);border-color:var(--blue-edge);color:var(--blue-text)}.part.answer.on{background:var(--felt-tint);border-color:var(--felt-edge);color:var(--felt-text)}.complete-speed{color:var(--ink-soft);max-width:30rem;margin:0;font-weight:700}.complete-speed strong{color:var(--ink)}.chord-steps{flex-wrap:wrap;gap:.5rem;margin:.8rem 0 .2rem;display:flex}.chord-step{min-height:2.75rem;font:800 .95rem "Nunito", var(--sans);color:var(--ink,#3c3c3c);cursor:pointer;background:#fff;border:2px solid #e5e5e5;border-bottom-width:4px;border-radius:.85rem;padding:0 .9rem}.chord-step[aria-pressed=true]{color:#0b6fa0;background:#ddf4ff;border-color:#84d8ff}.listen{gap:.9rem;display:grid}.listen>.button{justify-self:start;align-items:center;gap:.4rem;display:inline-flex}.listen>.button[aria-pressed=true]{color:#0b6fa0;background:#ddf4ff;border-color:#84d8ff}.listen-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.listen-card{background:#fff;border:2px solid #e5e5e5;border-radius:1rem;padding:.8rem}.listen-card[data-playing=true]{background:#f4fbff;border-color:#84d8ff}.listen-head{align-items:center;gap:.8rem;display:flex}.listen-head>div{flex:1;min-width:0}.speak.small{width:3.4rem;height:3.2rem;box-shadow:0 4px 0 var(--blue-lip);border-radius:.9rem;flex:none}.listen-card .lesson-keys{margin-top:.7rem}.compare{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.8rem 0 .2rem;display:flex}.compare .quiet{flex-basis:100%;margin:0}.learn-mistakes:empty{display:none}.goal-chip-wrap{min-width:0;position:relative}.goal-chip{border:2px solid var(--line);background:#fff;border-radius:.9rem;align-items:center;max-width:100%;min-height:2.75rem;display:inline-flex}.goal-chip-main{min-width:0;min-height:2.6rem;color:var(--ink);font:800 .95rem/1 var(--sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:0 .6rem 0 .7rem;display:inline-flex}.goal-chip:not(.set) .goal-chip-main{color:var(--blue-text)}.goal-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.goal-chip-clear{border:0;border-left:2px solid var(--line);width:2.4rem;min-height:2.6rem;color:var(--ink-soft);cursor:pointer;background:0 0;flex:none;place-items:center;display:inline-grid}.goal-chip-main:hover,.goal-chip-clear:hover{background:#f7f7f7}.goal-backdrop{z-index:40;background:#00000059;position:fixed;inset:0}.goal-panel{z-index:41;border:2px solid var(--line);background:#fff;border-radius:1rem;width:min(40rem,100vw - 2rem);padding:1rem;position:absolute;top:calc(100% + .6rem);left:0;box-shadow:0 10px 30px #0000002e}.goal-panel:before{content:"";border-left:2px solid var(--line);border-top:2px solid var(--line);background:#fff;width:.9rem;height:.9rem;position:absolute;top:-.55rem;left:1.4rem;transform:rotate(45deg)}.goal-tiles{gap:.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.goal-tile{width:6.5rem;color:var(--ink);font:800 .9rem/1.15 var(--sans);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:.9rem;flex-direction:column;flex:none;align-items:center;gap:.4rem;padding:.6rem .3rem;display:flex}.goal-tile-icon{background:var(--blue-tint);width:4rem;height:3.2rem;color:var(--blue-text);border-radius:.8rem;place-items:center;display:grid}.goal-tile.active{border-color:var(--blue-text)}.goal-tile:hover{background:#f7f7f7}.goal-summary{border:2px solid var(--line);border-radius:.9rem;margin-top:.75rem;padding:.8rem 1rem}.goal-summary p{margin:.25rem 0}.goal-more{color:var(--blue-text);font:800 .9rem var(--sans);letter-spacing:.04em;text-transform:uppercase;margin-top:.4rem;text-decoration:none;display:inline-block}.learn-top{justify-content:space-between;align-items:center;gap:1rem}@media (width<=47.99rem){.learn-top{display:none}}.goal-card{border:2px solid var(--line);background:#fff;border-bottom-width:4px;border-radius:1rem;margin:1rem 0;padding:1rem}.goal-card.active{border-color:var(--green)}.goal-card h2{margin:0;font-size:1.25rem}.goal-meter{background:var(--line);border-radius:999px;height:.6rem;margin:.6rem 0;overflow:hidden}.goal-meter span{background:var(--green);border-radius:999px;height:100%;display:block}.goal-lessons{gap:.3rem;margin:.4rem 0 .8rem;padding:0;list-style:none;display:grid}.goal-lessons a{color:inherit;border-bottom:1px solid var(--line);justify-content:space-between;gap:.6rem;padding:.35rem 0;text-decoration:none;display:flex}.goal-lessons .goal-state{color:var(--ink-soft);white-space:nowrap;font-size:.9rem}.goal-lessons .done .goal-state{color:#3a7d00;font-weight:800}.stage-banner .guide-btn{background:0 0;border:0;border-left:2px solid #00000026;border-radius:0 1rem 1rem 0;align-self:stretch;min-height:0;margin:-1.1rem -1.1rem -1.1rem 0;padding:0 1.3rem}.stage-banner .guide-btn:hover,.stage-title:hover{background:#ffffff1f}.stage-banner .guide-btn:active{transform:none}.fullpage{max-width:40rem;margin:0 auto;padding:0 1rem 4rem}.fullpage-top{z-index:10;border-bottom:2px solid var(--line);background:#fff;align-items:center;gap:.5rem;min-height:4rem;margin:0 -1rem 1rem;padding:0 .5rem;display:flex;position:sticky;top:0}.fullpage-top .lesson-x{text-decoration:none}.fullpage-title{text-align:center;flex:1;margin:0 2.5rem 0 0;font-size:1.25rem}.stage-cards{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.stage-card2{border:2px solid var(--line);background:#fff;border-bottom-width:4px;border-radius:1rem;padding:1rem 1.1rem}.stage-card2.current{border-color:var(--green)}.stage-card2-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.stage-card2 h2{margin:0;font-size:1.2rem}.stage-card2 p{margin:.4rem 0}.stage-card2-done{background:var(--brass);color:#fff;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;display:grid}.stage-card2-count{font-size:.9rem}.stage-card2-here{color:#3a7d00;font:900 .85rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin-top:.3rem;display:inline-block}.stage-card2-jump{color:var(--blue-text);font:900 .9rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;margin-top:.3rem;padding:0}.guide-head{text-align:center;border-bottom:2px solid var(--line);margin-bottom:1.25rem;padding:1rem 0 1.25rem}.guide-head .stage-eyebrow{color:var(--ink-soft)}.guide-head h1{margin:.3rem 0 0;font-size:clamp(1.5rem,5vw,2rem)}.guide-section{margin-bottom:1.5rem}.guide-label{color:var(--blue-text);font:900 .95rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .6rem}.guide-levels{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.guide-level{border:2px solid var(--line);border-radius:1rem;align-items:flex-start;gap:.8rem;padding:.75rem .9rem;display:flex}.guide-level p{margin:.2rem 0 0}.guide-play{background:var(--blue-tint);width:2.6rem;height:2.6rem;color:var(--blue-text);cursor:pointer;border:0;border-radius:.7rem;flex:none;place-items:center;display:grid}.guide-play[aria-busy=true]{background:var(--blue);color:#fff}.guide-start{text-align:center;background:#fff;padding:1rem 0;position:sticky;bottom:0}
