@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Music;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-music-music-400-normal-CksxHXl6.woff2) format("woff2"),url(/assets/noto-music-music-400-normal-BOLtuVsm.woff) format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kalam-latin-400-normal-BthBl_aR.woff2) format("woff2"),url(/assets/kalam-latin-400-normal-Bl-H2BUA.woff) format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/kalam-latin-700-normal-D2H-9ISU.woff2) format("woff2"),url(/assets/kalam-latin-700-normal-7TSuSrjP.woff) format("woff")}:root{--bg: #0a0a0b;--panel: #0f0f10;--popover: #121214;--scrim: rgba(0, 0, 0, .6);--control: #1e1e20;--border: #2e2e31;--hairline: #1c1c1f;--ring: #1f1f22;--hover-wash: rgba(255, 255, 255, .06);--text: #f4f4f2;--text-2: #a9a9ad;--text-3: #8c8c90;--text-4: #77777a;--ghost: #5e5e62;--disabled: #3a3a3d;--waiting-ghost: #2e2e31;--accent: #c6f432;--accent-ink: #0a0a0b;--accent-fg: #c6f432;--tension: #5ccbff;--avoid: #ff6a4d;--danger: #ff6a4d;--danger-ink: #1a0805;--danger-fg: #ff6a4d;--focus-ring: #5ccbff;--kb-bg: #000;--white-key: #1e1e20;--key-shadow: #161618;--black-key: #000;--black-key-border: #2e2e31;--key-pressed: #c6f432;--key-pressed-black: #c6f432;--key-pressed-ink: #0a0a0b;--key-label: #8c8c90;--mark-chord: #c6f432;--mark-tension: #5ccbff;--mark-avoid: #ff6a4d;--scale-dot: #6e6e73;--mark-chord-on-black: #c6f432;--mark-tension-on-black: #5ccbff;--mark-avoid-on-black: #ff6a4d;--scale-dot-on-black: #55555a;--fn-tonic: #4fd1a5;--fn-subdominant: #f5b13d;--fn-dominant: #ff7a59;--fn-secondary: #c08cff;--fn-borrowed: #6ea8ff;--fn-chromatic: #9a9aa0;--font-ui: "Archivo Variable", "Archivo", "Noto Music", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Noto Music", ui-monospace, monospace;--gutter: 40px;color-scheme:dark}[data-theme=light]{--bg: #f6f6f3;--panel: #ededea;--popover: #ffffff;--scrim: rgba(20, 20, 22, .35);--control: #e6e6e2;--border: #c6c6c0;--hairline: #e1e1dc;--ring: #d6d6d1;--hover-wash: rgba(0, 0, 0, .05);--text: #111113;--text-2: #3f3f44;--text-3: #55555b;--text-4: #5e5e64;--ghost: #7c7c82;--disabled: #b3b3ad;--waiting-ghost: #d6d6d0;--accent: #c6f432;--accent-ink: #0a0a0b;--accent-fg: #467000;--tension: #0a6aa8;--avoid: #b93a1b;--danger: #e0533a;--danger-ink: #1a0805;--danger-fg: #b93a1b;--focus-ring: #0a6aa8;--kb-bg: #c4c4bf;--white-key: #fdfdfb;--key-shadow: #e4e4df;--black-key: #1c1c1f;--black-key-border: #1c1c1f;--key-pressed: #66a000;--key-pressed-black: #66a000;--key-pressed-ink: #0a0a0b;--key-label: #6c6c72;--mark-chord: #467000;--mark-tension: #0a6aa8;--mark-avoid: #b93a1b;--scale-dot: #86868c;--mark-chord-on-black: #c6f432;--mark-tension-on-black: #5ccbff;--mark-avoid-on-black: #ff6a4d;--scale-dot-on-black: #77777c;--fn-tonic: #0a7353;--fn-subdominant: #8f5a00;--fn-dominant: #c2401f;--fn-secondary: #7a3fc2;--fn-borrowed: #2459c2;--fn-chromatic: #66666c;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}.screen{height:100%;min-height:600px;display:flex;flex-direction:column}.btn{font:600 15px var(--font-ui);color:var(--text);background:transparent;border:1px solid var(--border);border-radius:2px;padding:10px 18px;cursor:pointer;text-decoration:none}.btn:hover:not(:disabled){border-color:var(--text-3)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--primary:hover:not(:disabled){border-color:var(--text)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}.acc{font-family:"Noto Music",var(--font-ui);font-weight:400;line-height:0;position:relative;margin:0 .02em;-webkit-text-stroke:.05em currentColor}.acc--sharp{font-size:.9em;top:-.26em}.acc--flat{font-size:1em;top:-.08em}.chord__root .acc--sharp,.target__root .acc--sharp,.fchord__root .acc--sharp{font-size:.45em;top:-1.01em}.chord__root .acc--flat,.target__root .acc--flat,.fchord__root .acc--flat{font-size:.52em;top:-.73em}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cg{display:flex;flex-direction:column;gap:0;outline:none}.cg:focus-visible{outline:2px solid var(--focus-ring);outline-offset:6px}.cg__section{align-self:flex-start;margin:18px 0 6px;padding:2px 10px;border:1.5px solid var(--text-2);border-radius:2px;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--text)}.cg__section:first-child{margin-top:0}.cg__text{margin:6px 0;font-size:15px;font-style:italic;color:var(--text-3)}.cg__gap{height:10px}.cg__row{display:grid;grid-template-columns:repeat(var(--per-row, 4),minmax(0,1fr))}.cg__bar{position:relative;display:flex;flex-direction:column;min-height:82px;padding:0 6px 6px 10px;border-left:1px solid var(--text-4);cursor:default;-webkit-user-select:none;user-select:none}.cg__bar--last{border-right:1px solid var(--text-4)}.cg__bar--playing{background:var(--hover-wash);box-shadow:inset 0 4px 0 var(--accent-fg)}.cg__bar--sel{background:var(--hover-wash);box-shadow:inset 0 0 0 2px var(--accent-fg)}.cg__bar--rs{border-left:4px double var(--text-2)}.cg__bar--rs:before,.cg__bar--re:after{content:":";position:absolute;top:50%;transform:translateY(-58%);font-size:22px;font-weight:800;line-height:1;color:var(--text-2)}.cg__bar--rs:before{left:2px}.cg__bar--re{border-right:4px double var(--text-2)}.cg__bar--re:after{right:2px}.cg__bar--dbl{border-right:4px double var(--text-2)}.cg__times{position:absolute;right:10px;bottom:4px;font:600 12px var(--font-mono);color:var(--text-3)}.cg__top{display:flex;align-items:center;gap:8px;min-height:20px;font-size:12px;color:var(--text-3)}.cg__bar--ending .cg__top{border-top:1.5px solid var(--text-2);margin-left:-10px;padding-left:6px}.cg__bar--ending-first .cg__top{border-left:1.5px solid var(--text-2)}.cg__ending{font-weight:700;color:var(--text)}.cg__glyph{font-family:"Noto Music",var(--font-ui);font-size:18px;line-height:1;color:var(--text)}.cg__key{padding:0 5px;border:1px solid var(--accent-fg);border-radius:2px;font-weight:700;color:var(--accent-fg)}.cg__marks{margin-left:auto;font-weight:700;font-style:italic;color:var(--text);white-space:nowrap}.cg__slots{flex:1;display:flex;align-items:stretch;gap:6px;min-width:0}.cg__slot{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding-bottom:4px;border-bottom:3px solid transparent}.cg--colors .cg__slot[data-fn]{border-bottom-color:var(--fn, transparent)}.cg__slot[data-fn=tonic],.cg__legend [data-fn=tonic]{--fn: var(--fn-tonic)}.cg__slot[data-fn=subdominant],.cg__legend [data-fn=subdominant]{--fn: var(--fn-subdominant)}.cg__slot[data-fn=dominant],.cg__legend [data-fn=dominant]{--fn: var(--fn-dominant)}.cg__slot[data-fn=secondary],.cg__legend [data-fn=secondary]{--fn: var(--fn-secondary)}.cg__slot[data-fn=borrowed],.cg__legend [data-fn=borrowed]{--fn: var(--fn-borrowed)}.cg__slot[data-fn=chromatic],.cg__legend [data-fn=chromatic]{--fn: var(--fn-chromatic)}.cg__sym{display:flex;align-items:flex-start;min-width:0;font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;color:var(--text)}.cg__root{font-size:26px;letter-spacing:-.02em}.cg__qual{font-size:15px;margin:1px 0 0 1px}.cg__bass{align-self:flex-end;font-size:17px;color:var(--text-3)}.cg__sym--numeral{font-size:22px;font-weight:500}.cg--colors .cg__sym--numeral{color:var(--fn, var(--text))}.cg__sym--small .cg__root{font-size:14px}.cg__sym--small .cg__qual,.cg__sym--small .cg__bass{font-size:11px}.cg__sym--small{color:var(--text-3)}.cg__num{font:500 13px var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-3)}.cg__second{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg--colors .cg__num{color:var(--fn, var(--text-3))}.cg__note{font-size:12px;font-style:italic;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg__slash{font-size:24px;font-weight:300;color:var(--text-4)}.cg__nc{font-size:18px;font-weight:700}.cg__unknown{font:600 16px var(--font-mono);color:var(--danger-fg);text-decoration:wavy underline var(--danger-fg)}.cg__simile{align-self:center;margin:auto;font-size:30px;font-weight:300;color:var(--text-2)}.cg__simile--two{position:absolute;top:50%;right:0;transform:translate(50%,-40%);margin:0}.cg__editor{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3}.cg__legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;padding:0;list-style:none;font-size:12px;color:var(--text-3)}.cg__legend li{display:flex;align-items:center;gap:6px}.cg__swatch{width:16px;height:4px;background:var(--fn)}@media(max-width:700px){.cg__root{font-size:20px}.cg__qual{font-size:12px}.cg__bar{min-height:68px;padding-left:6px}}.chartsheet__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin-bottom:14px}.chartsheet__title{margin:0;font-size:34px;font-weight:800;font-stretch:112%;letter-spacing:-.02em}.chartsheet__artist{font-size:18px;color:var(--text-3)}.chartsheet__meta{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 24px;margin:2px 0 0}.chartsheet__fact{display:flex;align-items:baseline;gap:8px}.chartsheet__fact dt{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.chartsheet__fact dd{display:flex;align-items:baseline;gap:8px;margin:0;font-size:15px;color:var(--text-3)}.chartsheet__fact strong{font-weight:700;color:var(--text)}.chartsheet__note{font-family:"Noto Music",var(--font-ui);font-weight:400;font-size:1.2em;line-height:0;-webkit-text-stroke:.04em currentColor}.chartsheet__src{font-size:13px;color:var(--text-4)}.ls{--ink: var(--text);--ink-soft: var(--text-3);--ls-font: var(--font-ui);--ls-chord: 24px;--ls-h: 34px;--ls-gap: 12px;--ls-top: calc(var(--ls-chord) * .75);--ls-rule: 1.5px;color:var(--ink);font-family:var(--ls-font)}.ls--compact{--ls-chord: 20px;--ls-h: 29px;--ls-gap: 6px}.ls--small{--ls-chord: 17px;--ls-h: 25px;--ls-gap: 4px}.ls--realbook{--ls-font: "Kalam", "Noto Music", cursive;--ls-rule: 2px;--ls-top: calc(var(--ls-chord) * .9)}.ls__head{margin-bottom:calc(var(--ls-gap) + 6px);padding-bottom:6px;border-bottom:1px solid var(--ink);break-after:avoid}.ls__title{margin:0;font-size:30px;font-weight:800;font-stretch:112%;letter-spacing:-.01em;line-height:1.1}.ls__info{display:flex;justify-content:space-between;align-items:baseline;gap:4px 18px;margin-top:4px;font-size:13px}.ls__left{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;color:var(--ink-soft)}.ls__music{font-family:"Noto Music",var(--font-ui);font-size:1.15em;line-height:0}.ls__setnote{font-style:italic}.ls__artist{font-size:15px;font-weight:600}.ls--realbook .ls__head{border-bottom:0;text-align:center}.ls--realbook .ls__title{font-size:42px;font-weight:700;font-stretch:100%;letter-spacing:.01em}.ls--realbook .ls__info{font-size:17px}.ls--compact .ls__title{font-size:26px}.ls--small .ls__title{font-size:22px}.ls--realbook.ls--compact .ls__title{font-size:34px}.ls--realbook.ls--small .ls__title{font-size:28px}.ls--compact .ls__head,.ls--small .ls__head{margin-bottom:var(--ls-gap);padding-bottom:3px}.ls--realbook .ls__artist{font-size:19px;font-weight:400}.ls__line{margin-top:var(--ls-gap);break-inside:avoid}.ls__line--top{padding-top:var(--ls-top)}.ls__section{flex:none;padding:0 5px;font-size:11px;font-weight:700;line-height:1.25;border:1px solid var(--ink);border-radius:2px}.ls__section--alone{display:inline-block}.ls--realbook .ls__section{font-size:14px;line-height:1.15;font-weight:700;border-width:1.5px;border-radius:3px}.ls__text{margin:calc(var(--ls-gap) / 2) 0 0;font-size:13px;font-style:italic;color:var(--ink-soft)}.ls__bars{display:flex;align-items:flex-end}.ls__bar{position:relative;flex:0 1 calc(100% / var(--units) * var(--w));min-width:0;display:flex;flex-direction:column}.ls__main{display:flex;align-items:center;height:var(--ls-h);border-right:var(--ls-rule) solid var(--ink)}.ls__bar--first .ls__main{border-left:var(--ls-rule) solid var(--ink)}.ls__bar--dbl .ls__main{border-right:calc(var(--ls-rule) * 3) double var(--ink)}.ls__bar--rs .ls__main,.ls__bar--first.ls__bar--rs .ls__main{border-left:0}.ls__bar--re .ls__main,.ls__bar--before-rs .ls__main{border-right:0}.ls__rep{flex:none;display:flex;align-items:stretch;gap:2px;height:100%}.ls__thick{border-left:calc(var(--ls-rule) * 2.2) solid var(--ink)}.ls__thin{border-left:var(--ls-rule) solid var(--ink)}.ls__dots{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 1px}.ls__dots:before,.ls__dots:after{content:"";border:2px solid var(--ink);border-radius:50%}.ls__slots{flex:1;min-width:0;display:flex;align-items:center;padding:0 4px 0 7px}.ls__slot{flex:1 1 0;min-width:0;display:flex;flex-direction:column;white-space:nowrap}.ls__chord{font-size:var(--ls-chord);font-weight:700;line-height:1}.ls--realbook .ls__chord{font-size:calc(var(--ls-chord) * 1.1);font-weight:700}.ls__bar--dense .ls__chord{font-size:calc(var(--ls-chord) * .78)}.ls--realbook .ls__bar--dense .ls__chord{font-size:calc(var(--ls-chord) * .88)}.ls__qual{font-size:.62em;vertical-align:.55em;line-height:0;margin-left:.04em}.ls__bass{font-size:.7em;margin-left:.05em}.ls__nc{font-size:calc(var(--ls-chord) * .75);font-weight:700}.ls__unknown{font-size:calc(var(--ls-chord) * .7);text-decoration:underline wavy}.ls__note{overflow:hidden;text-overflow:ellipsis;font-size:11px;font-style:italic;color:var(--ink-soft)}.ls__simile{flex:1;text-align:center;font-family:"Noto Music",var(--font-ui);font-size:calc(var(--ls-chord) * 1.5);line-height:1}.ls__simile--two{transform:translate(50%)}.ls__time{flex:none;display:flex;flex-direction:column;align-items:center;margin-left:6px;font-size:calc(var(--ls-h) * .5);font-weight:800;line-height:.92}.ls--realbook .ls__time{font-weight:700;line-height:.8}.ls__above{position:absolute;bottom:100%;left:0;right:3px;display:flex;justify-content:space-between;gap:4px;align-items:flex-end;padding-bottom:3px;font-size:11px;line-height:1.2;white-space:nowrap}.ls__glyph{font-family:"Noto Music",var(--font-ui);font-size:15px}.ls__marks{margin-left:auto;font-style:italic;font-weight:600}.ls__times{margin-left:auto;font-weight:700}.ls--realbook .ls__above{font-size:15px}.ls__ending{position:absolute;bottom:calc(100% + 1px);left:0;right:0;height:calc(var(--ls-top) - 3px);padding-left:3px;font-size:11px;font-weight:700;line-height:calc(var(--ls-top) - 3px);border-top:1px solid var(--ink)}.ls__ending--open{border-left:1px solid var(--ink)}.ls--realbook .ls__ending{font-size:14px;font-weight:400;border-width:1.5px}.ls__num{margin-top:1px;font-family:var(--font-mono);font-size:10px;line-height:1;color:var(--ink-soft)}.ls--study .ls__main{height:calc(var(--ls-h) + 10px)}.ls__slot[data-fn=tonic] .ls__num{color:var(--fn-tonic)}.ls__slot[data-fn=subdominant] .ls__num{color:var(--fn-subdominant)}.ls__slot[data-fn=dominant] .ls__num{color:var(--fn-dominant)}.ls__slot[data-fn=secondary] .ls__num{color:var(--fn-secondary)}.ls__slot[data-fn=borrowed] .ls__num{color:var(--fn-borrowed)}.ls__slot[data-fn=chromatic] .ls__num{color:var(--fn-chromatic)}.ls__key{padding:0 3px;font-weight:700;border:1px solid var(--ink-soft);border-radius:2px}.paperpreview{padding-bottom:16px}.paperpreview__page{--page-w: 210mm;box-sizing:border-box;width:var(--page-w);min-height:calc(var(--page-w) * 1.414);margin:0 auto;padding:12mm;color:var(--text);background:var(--bg);border:1px solid var(--border)}.paperpreview__page[data-paper=letter]{--page-w: 215.9mm}.paperpreview__page[data-orientation=landscape]{--page-w: 297mm;min-height:210mm}.paperpreview__page[data-paper=letter][data-orientation=landscape]{--page-w: 279.4mm;min-height:215.9mm}.charted__print{position:relative}.printpanel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 140px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--popover);border:1px solid var(--border)}.printopts{display:flex;gap:10px 22px;font-size:14px}.printopts--panel{flex-direction:column}.printopts--bar{flex-wrap:wrap;align-items:center}.printopts__field{display:flex;align-items:center;gap:8px}.printopts--panel .printopts__field{justify-content:space-between}.printopts__label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.printopts__local{display:flex;align-items:center;gap:8px;cursor:pointer}.printopts__local input{accent-color:var(--accent)}.printopts__actions{display:flex;align-items:center;gap:8px}.printopts--bar .printopts__actions{margin-left:auto}.printopts__help{font-size:13px;color:var(--text-3)}.ct{position:relative;flex:1;min-height:0;border:1px solid var(--border);border-radius:2px;background:var(--panel)}.ct__backdrop,.ct__input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:12px 14px;border:0;font:400 15px/1.6 var(--font-mono);letter-spacing:0;-moz-tab-size:4;tab-size:4;white-space:pre;overflow-wrap:normal}.ct__backdrop{overflow:hidden;color:transparent;pointer-events:none}.ct__backdrop mark{color:transparent;background:none;border-radius:2px}.ct__sel{background:var(--hover-wash)!important;box-shadow:inset 0 -2px 0 var(--accent-fg)}.ct__err{text-decoration:wavy underline var(--danger-fg);text-decoration-skip-ink:none}.ct__warn{text-decoration:wavy underline var(--text-4);text-decoration-skip-ink:none}.ct__input{width:100%;height:100%;resize:none;overflow:auto;color:var(--text);caret-color:var(--accent-fg);background:transparent;outline:none}.ct:focus-within{border-color:var(--text-4)}.rh{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:2px 4px 20px 0}.rh__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.rh__title{margin:0;font-size:22px;font-weight:800}.rh__span{font-size:14px;color:var(--text-3)}.rh__close{margin-left:auto}.rh__empty,.rh__help{margin:0;font-size:14px;color:var(--text-3)}.rh__group{margin:0;padding:0;border:0}.rh__group .eyebrow{margin-bottom:6px}.rh__strategies{display:flex;flex-wrap:wrap;gap:6px}.rh__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.rh__variants{display:flex;flex-direction:column;gap:10px}.rh__label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.rh__bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--hairline)}.rh__bar{display:flex;gap:4px;min-height:46px;padding:4px 4px 4px 6px;border-left:1px solid var(--text-4);border-bottom:1px solid var(--hairline)}.rh__bar:nth-child(2n){border-right:1px solid var(--text-4)}.rh__slot{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:1px;border-bottom:2px solid var(--fn, transparent)}.rh__slot[data-fn=tonic]{--fn: var(--fn-tonic)}.rh__slot[data-fn=subdominant]{--fn: var(--fn-subdominant)}.rh__slot[data-fn=dominant]{--fn: var(--fn-dominant)}.rh__slot[data-fn=secondary]{--fn: var(--fn-secondary)}.rh__slot[data-fn=borrowed]{--fn: var(--fn-borrowed)}.rh__slot[data-fn=chromatic]{--fn: var(--fn-chromatic)}.rh__chord{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rh__slot--new .rh__chord{font-weight:800;color:var(--text);text-decoration:underline;text-decoration-color:var(--accent-fg);text-underline-offset:3px}.rh__num{font:500 11px var(--font-mono);color:var(--fn, var(--text-3));white-space:nowrap;overflow:hidden}.rh__why{font-size:10px;font-style:italic;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rh__card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--panel);border:1px solid var(--hairline)}.rh__card--preview{border-color:var(--accent-fg);box-shadow:inset 3px 0 0 var(--accent-fg)}.rh__cardhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:13px}.rh__names{font-weight:600}.rh__risk{display:flex;align-items:center;gap:4px;color:var(--text-3)}.rh__risk--high{color:var(--danger-fg)}.rh__riskmark{font-size:11px}.rh__count{margin-left:auto;color:var(--text-4)}.rh__actions{display:flex;justify-content:flex-end;gap:8px}.rh__single{display:flex;flex-direction:column;gap:6px}.rh__single .eyebrow{margin:6px 0 0}.rh__alts{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.rh__alt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:2px;cursor:pointer}.rh__alt:hover{border-color:var(--accent-fg)}.charted__preview{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px;padding:8px 12px;font-size:14px;border:1px solid var(--accent-fg);background:var(--hover-wash)}.rh__beforehead{display:flex;align-items:center;justify-content:space-between;gap:8px}.betatag{margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700;font-stretch:100%;letter-spacing:.12em;text-transform:uppercase;vertical-align:2px;color:var(--accent-fg);border:1px solid var(--accent-fg);border-radius:2px}.betalinks{display:flex;flex-wrap:wrap;gap:8px}.shortcuts{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:var(--scrim)}.shortcuts__box{width:min(860px,100%);max-height:calc(100vh - 48px);overflow-y:auto;padding:24px 28px;background:var(--popover);border:1px solid var(--border)}.shortcuts__head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.shortcuts__head h2{margin:0;font-size:28px;font-weight:800;font-stretch:112%}.shortcuts__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 36px}.shortcuts__groups h3{margin:0 0 8px}.shortcuts__groups dl{margin:0}.shortcuts__item{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;border-top:1px solid var(--hairline);font-size:14px}.shortcuts__item dt{display:flex;flex-wrap:wrap;gap:4px}.shortcuts__item dd{margin:0;text-align:right;color:var(--text-2)}.shortcuts kbd{min-width:22px;padding:1px 6px;font:600 12px var(--font-mono);text-align:center;color:var(--text);background:var(--control);border:1px solid var(--border);border-bottom-width:2px;border-radius:3px}.shortcutsbtn{width:24px;height:24px;padding:0;font:700 13px var(--font-ui);color:var(--text-2);background:none;border:1px solid var(--border);border-radius:50%;cursor:pointer}.shortcutsbtn:hover{color:var(--text);border-color:var(--text-3)}.mobilenotice{display:none}@media(max-width:760px){.shortcuts__groups{grid-template-columns:minmax(0,1fr)}.mobilenotice{flex:none;display:flex;align-items:center;gap:12px;padding:10px var(--gutter);font-size:14px;color:var(--text-2);background:var(--panel);border-bottom:1px solid var(--hairline)}}.soundtoggle{display:flex;align-items:center;gap:8px;font:inherit;color:var(--text-4);background:none;border:none;padding:4px 0;cursor:pointer;white-space:nowrap}.soundtoggle--on{color:var(--text-2)}.speaker{flex:none}.speaker__waves{fill:none;stroke:var(--accent-fg);stroke-width:1.6;stroke-linecap:round}.speaker__cross{fill:none;stroke:var(--avoid);stroke-width:1.8;stroke-linecap:round}.notice{flex:none;display:flex;align-items:center;gap:16px;margin:0 var(--gutter) 8px;padding:10px 14px;border:1px solid var(--border);background:var(--panel);color:var(--text-3)}.notice__text{flex:1;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.4}.notice__text strong{color:var(--text);font-size:15px}.notice__actions{display:flex;flex-wrap:wrap;gap:8px}.volume{display:flex;align-items:center;gap:10px;font:500 13px var(--font-mono);color:var(--text-2)}.volume input[type=range]{width:180px;accent-color:var(--accent-fg)}.themetoggle{display:flex;align-items:center;gap:8px;font:inherit;color:var(--text-2);background:none;border:none;padding:4px 0;cursor:pointer;white-space:nowrap}.themetoggle:hover{color:var(--text)}.themetoggle__icon{flex:none;fill:none;stroke:var(--accent-fg);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.topbar{height:60px;flex:none;display:flex;align-items:center;gap:24px;padding:0 var(--gutter)}.topbar__left{display:flex;align-items:center;gap:28px}.topbar__center{flex:1;min-width:0;display:flex;justify-content:center}.topbar__right{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--text-2)}.wordmark{color:inherit;text-decoration:none;font-weight:800;font-size:15px;font-stretch:115%;letter-spacing:.02em;white-space:nowrap}.nav{display:flex;gap:18px;font-size:14px;font-weight:500}.nav__item{color:var(--text-4);text-decoration:none;white-space:nowrap;padding:4px 0;border-bottom:2px solid transparent}.nav__item:hover{color:var(--text-2)}.nav__item--active{color:var(--text);border-bottom-color:var(--accent-fg)}.device{display:flex;align-items:center;gap:8px;white-space:nowrap;font:inherit;color:inherit;background:none;border:none;padding:4px 0;cursor:pointer}.device__dot{width:7px;height:7px;border-radius:50%;background:var(--text-4)}.device--on .device__dot{background:var(--accent-fg)}.device--lost{color:var(--danger-fg)}.device--lost .device__dot{background:var(--danger-fg)}.charted__toolbar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:4px var(--gutter) 12px;border-bottom:1px solid var(--hairline)}.charted__back{font-size:14px;color:var(--text-3);text-decoration:none}.charted__back:hover{color:var(--text)}.charted__group{display:flex;align-items:center;gap:8px}.charted__group--end{margin-left:auto}.charted__label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.charted__select{font:600 14px var(--font-ui);color:var(--text);background:var(--control);border:1px solid var(--border);border-radius:2px;padding:5px 8px}.charted__tempo{display:flex;align-items:center;gap:4px;font:600 13px var(--font-mono);color:var(--text-3)}.charted__tempo input{width:4.2em;font:600 13px var(--font-mono);color:var(--text);background:var(--control);border:1px solid var(--border);border-radius:2px;padding:4px 6px}.btn--playing{border-color:var(--accent-fg);color:var(--accent-fg)}.charted__value{min-width:2.5em;text-align:center;font:600 14px var(--font-mono)}.seg--small .seg__opt{font-size:13px;padding:5px 10px}.chip{display:flex;align-items:center;gap:6px;font:600 13px var(--font-ui);color:var(--text-3);background:none;border:1px solid var(--border);border-radius:2px;padding:4px 9px;cursor:pointer}.chip__box{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1.5px solid var(--text-4);border-radius:2px;font-size:11px;line-height:1}.chip--on{color:var(--text)}.chip--on .chip__box{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.charted__tabs{display:none;gap:4px;padding:8px var(--gutter) 0}.charted__tab{font:600 14px var(--font-ui);color:var(--text-3);background:none;border:none;border-bottom:2px solid transparent;padding:6px 4px;cursor:pointer}.charted__tab--on{color:var(--text);border-bottom-color:var(--accent-fg)}.charted{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.6fr);gap:28px;padding:16px var(--gutter) 20px}.charted--reharm{grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr) minmax(320px,.9fr);gap:22px}.charted__reharm{min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--hairline);padding-left:18px}.charted--missing{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:18px}.charted__text{min-height:0;display:flex;flex-direction:column;gap:10px}.charted__problems{flex:none;max-height:30%;overflow-y:auto;font-size:13px}.charted__problems ul{margin:6px 0 0;padding:0;list-style:none}.charted__ok{color:var(--text-4)}.charted__count{font-weight:700;color:var(--danger-fg)}.charted__problem{display:flex;gap:10px;width:100%;padding:3px 0;font:inherit;text-align:left;color:var(--text-2);background:none;border:none;cursor:pointer}.charted__problem:hover{color:var(--text)}.charted__problem--error .charted__line{color:var(--danger-fg)}.charted__line{flex:none;font-family:var(--font-mono);color:var(--text-4)}.charted__help{flex:none;font-size:13px;color:var(--text-3)}.charted__help summary{cursor:pointer;font-weight:600}.charted__help ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.charted__help code{font:12px var(--font-mono);white-space:pre-wrap}.charted__sheet{min-height:0;overflow-y:auto;padding-right:6px}.charted__record{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;color:var(--text-2)}.charted__dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--danger-fg)}.charted__hint{margin:0 0 12px;font-size:13px;color:var(--text-4)}.barinput{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px 8px;background:var(--popover);box-shadow:inset 0 0 0 2px var(--accent-fg)}.barinput__field{width:100%;font:600 16px var(--font-mono);color:var(--text);background:var(--control);border:1px solid var(--border);border-radius:2px;padding:4px 6px}.barinput__help{font-size:11px;line-height:1.2;color:var(--text-3)}.barinput__help--error{color:var(--danger-fg)}@media(max-width:1000px){.charted__tabs{display:flex}.charted,.charted--reharm{grid-template-columns:minmax(0,1fr)}.charted-screen--sheet .charted__text,.charted-screen--text .charted__sheet,.charted-screen--sheet .charted__reharm,.charted-screen--text .charted__reharm,.charted-screen--reharm .charted__text,.charted-screen--reharm .charted__sheet{display:none}.charted__reharm{border-left:0;padding-left:0}.charted__group--end{margin-left:0}}.paper,.charted__sheet--off{display:none!important}@media print{.charted__sheet{display:none!important}.paper{display:block!important}.charted__paper,.topbar,.notice,.charted__toolbar,.charted__tabs,.charted__text,.charted__reharm,.charted__preview,.charted__record,.charted__hint{display:none!important}html,body,#root,.screen,.charted,.charted__sheet{height:auto!important;min-height:0!important;overflow:visible!important}body{background:#fff}.charted{display:block;padding:0}}.chartlist{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:22px;padding:8px var(--gutter) 40px}.chartlist__heading{margin:0;font-size:72px;font-weight:800;font-stretch:112%;line-height:.95;letter-spacing:-.03em}.chartlist__lead{margin:-8px 0 0;font-size:18px;color:var(--text-3)}.chartlist__section{display:flex;flex-direction:column;gap:10px}.chartlist__section .eyebrow{margin:0}.chartlist__templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.chartlist__template{min-height:56px;padding:12px 16px;font:600 16px var(--font-ui);text-align:left;color:var(--text);background:var(--panel);border:1px solid var(--hairline);border-radius:2px;cursor:pointer}.chartlist__template:hover{border-color:var(--border)}.chartlist__template--import{color:var(--text-3);border-style:dashed;border-color:var(--border)}.chartlist__error{margin:0;color:var(--danger-fg)}.chartlist__empty{margin:0;font-size:16px;color:var(--text-3)}.chartlist__items{margin:0;padding:0;list-style:none;border-top:1px solid var(--hairline)}.chartlist__item{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--hairline)}.chartlist__open{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;color:inherit;text-decoration:none}.chartlist__open:hover .chartlist__title{text-decoration:underline;text-decoration-color:var(--accent-fg);text-underline-offset:4px}.chartlist__title{font-size:20px;font-weight:700}.chartlist__meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--text-3)}.chartlist__actions{display:flex;flex-wrap:wrap;gap:6px}.chartlist__sectionhead{display:flex;align-items:center;gap:14px}.chartlist__sub{margin:-4px 0 0;font-size:15px;color:var(--text-3)}@media(max-width:760px){.chartlist__heading{font-size:48px}.chartlist__item{flex-direction:column;align-items:flex-start}}.setlist{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:8px var(--gutter) 40px}.setlist--missing{align-items:flex-start;font-size:18px}.setlist__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.setlist__back{font-size:14px;color:var(--text-3);text-decoration:none}.setlist__back:hover{color:var(--text)}.setlist__name{flex:1;min-width:220px;padding:4px 0;font:800 48px var(--font-ui);font-stretch:112%;letter-spacing:-.02em;color:var(--text);background:none;border:0;border-bottom:1px solid var(--hairline)}.setlist__name:focus{outline:none;border-bottom-color:var(--accent-fg)}.setlist__empty{margin:0;font-size:16px;color:var(--text-3)}.setlist__items{margin:0;padding:0;list-style:none;border-top:1px solid var(--hairline)}.setlist__item{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--hairline)}.setlist__num{flex:none;width:2ch;font-size:24px;font-weight:800;color:var(--text-4);text-align:right}.setlist__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.setlist__title{font-size:20px;font-weight:700;color:inherit;text-decoration:none}a.setlist__title:hover{text-decoration:underline;text-decoration-color:var(--accent-fg);text-underline-offset:4px}.setlist__title--missing{color:var(--text-4);font-style:italic}.setlist__fields{display:flex;flex-wrap:wrap;gap:8px 18px}.setlist__field{display:flex;align-items:center;gap:8px}.setlist__field--note{flex:1;min-width:200px}.setlist__label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.setlist__noteinput{flex:1;min-width:0;padding:5px 8px;font:500 14px var(--font-ui);color:var(--text);background:var(--control);border:1px solid var(--border);border-radius:2px}.setlist__actions{display:flex;gap:6px}.setlist__add{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.setprint{display:none}@media(max-width:760px){.setlist__name{font-size:32px}.setlist__item{flex-wrap:wrap}}@media print{.topbar,.notice,.setlist{display:none!important}html,body,#root,.screen{height:auto!important;min-height:0!important;overflow:visible!important}body{background:#fff}.setprint{display:block}.setprint__name{margin:0 0 6px;font-size:40px;font-weight:800;font-stretch:112%;letter-spacing:-.02em}.setprint__eyebrow{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.setprint__list{margin:0;padding-left:2.2em;font-size:16px}.setprint__list li{padding:6px 0;border-bottom:1px solid var(--hairline)}.setprint__title{font-weight:700}.setprint__key{margin-left:14px;color:var(--text-3)}.setprint__note{margin-left:14px;font-style:italic;color:var(--text-3)}.setprint__chart{break-before:page}.setprint--realbook .setprint__toc{font-family:Kalam,Noto Music,cursive}.setprint--realbook .setprint__name{font-weight:700;font-stretch:100%;text-align:center}}.piano{position:relative;container-type:inline-size;height:230px;background:var(--kb-bg);touch-action:none;user-select:none;-webkit-user-select:none}.key{position:absolute;top:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;--kw: calc(100cqw / var(--whites, 29));gap:clamp(2px,calc(var(--kw) * .12),5px);border-radius:0 0 2px 2px;cursor:pointer;transition:background 60ms linear}.key--white{height:100%;margin-left:1px;padding-bottom:clamp(6px,calc(var(--kw) * .25),12px);background:var(--white-key);box-shadow:inset 0 -6px 0 var(--key-shadow);z-index:1}.key--black{height:61%;padding-bottom:9px;background:var(--black-key);border:1px solid var(--black-key-border);border-top:none;z-index:2}.key--pressed{background:var(--key-pressed);box-shadow:inset 0 -3px #00000047}.key--black.key--pressed{background:var(--key-pressed-black);border-color:var(--key-pressed-black)}.key__mark{display:block;box-sizing:border-box;line-height:1}.key__mark--chord{width:clamp(6px,calc(var(--kw) * .36),10px);height:clamp(6px,calc(var(--kw) * .36),10px);border-radius:50%;border:2px solid var(--mark-chord)}.key--black .key__mark--chord{border-color:var(--mark-chord-on-black)}.key__mark--scale{width:clamp(4px,calc(var(--kw) * .24),7px);height:clamp(4px,calc(var(--kw) * .24),7px);border-radius:50%;background:var(--scale-dot)}.key--black .key__mark--scale{background:var(--scale-dot-on-black)}.key__mark--tension{width:clamp(5px,calc(var(--kw) * .3),9px);height:clamp(5px,calc(var(--kw) * .3),9px);margin:2px 0;border:2px solid var(--mark-tension);transform:rotate(45deg)}.key--black .key__mark--tension{border-color:var(--mark-tension-on-black)}.key__mark--avoid{color:var(--mark-avoid);font-weight:800;font-size:clamp(9px,calc(var(--kw) * .5),14px);line-height:1}.key__tag,.key__oct{font-family:var(--font-mono);font-weight:600;font-size:clamp(7px,calc(var(--kw) * .4),12px);line-height:1;white-space:nowrap}.key--black .key__tag{font-size:clamp(6px,calc(var(--kw) * .34),10px)}.key__oct{font-weight:500;color:var(--key-label)}@container (max-width: 1150px){.piano[data-keys="88"] .key--black .key__tag{display:none}}.piano__off{position:absolute;top:8px;z-index:3;padding:3px 7px;border-radius:2px;background:var(--accent);color:var(--accent-ink);font:700 12px var(--font-mono);pointer-events:none}.piano__off--low{left:4px}.piano__off--high{right:4px}.key__tag--pressed{font-weight:700;color:var(--key-pressed-ink)}.key__tag--tension{color:var(--mark-tension)}.key__tag--avoid{color:var(--mark-avoid)}.key--black .key__tag--tension{color:var(--mark-tension-on-black)}.key--black .key__mark--avoid,.key--black .key__tag--avoid{color:var(--mark-avoid-on-black)}.kbsize{display:flex;align-items:center;gap:2px;font:500 12px var(--font-mono);color:var(--text-4)}.kbsize__icon{display:flex;margin-right:6px}.kbsize__opt{font:inherit;color:var(--text-3);background:none;border:1px solid transparent;border-radius:2px;padding:3px 6px;cursor:pointer}.kbsize__opt:hover{border-color:var(--border)}.kbsize__opt--on{background:var(--accent);color:var(--accent-ink);font-weight:700}.startover{display:flex;align-items:center;gap:6px;flex:none;font:inherit;font-size:13px;color:var(--text-4);background:none;border:1px solid transparent;border-radius:2px;padding:3px 8px;cursor:pointer;white-space:nowrap}.startover:hover{color:var(--text);border-color:var(--border)}.startover__icon{flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.focusview{position:relative;background:var(--bg)}.focusview--idle{cursor:none}.focusview__bar{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px var(--gutter)}.focusview__controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;transition:opacity .4s ease}.focusview--idle .focusview__controls:not(:focus-within){opacity:0;pointer-events:none}.focusview__shortcut{font:500 12px var(--font-mono);color:var(--text-4)}.fkey{font-size:clamp(16px,2.2vh,24px);font-weight:600;color:var(--text-2);white-space:nowrap}.fkey__locked{font-weight:500;color:var(--text-4)}.focusview__stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:72px var(--gutter) 24px;overflow:hidden}.focusview__block{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.ftrail{display:flex;align-items:baseline;gap:.6em;min-height:1.2em;margin:0 0 .4em;padding:0;list-style:none;font-size:clamp(22px,4.5vh,56px);font-weight:600;color:var(--text-3);white-space:nowrap}.ftrail__item--age3{opacity:.4}.ftrail__item--age2{opacity:.65}.ftrail__arrow{color:var(--disabled)}.fchord{display:flex;align-items:flex-start;font-weight:800;font-stretch:112%;line-height:.82;letter-spacing:-.035em;white-space:nowrap}.fchord__qual,.fchord__bass{font-size:.5em;margin-top:.07em}.fchord__bass{color:var(--text-4)}.fchord--waiting{font-size:clamp(48px,14vh,160px);line-height:1;letter-spacing:-.03em;color:var(--waiting-ghost)}.ffunc{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2em .6em;margin-top:.35em;font-size:clamp(24px,5.5vh,64px)}.ffunc__numeral{font-weight:300;color:var(--accent-fg)}.ffunc__name{font-weight:600;color:var(--text-2)}.ffunc__name--empty{color:var(--text-4)}.ffunc__alt{margin-left:.6em;font-size:.6em;font-weight:600;color:var(--ghost)}.focusview .focusview__piano{flex:none;height:clamp(120px,24vh,260px)}.home{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:26px;padding:8px var(--gutter) 40px}.home__title{margin:0;font-size:72px;font-weight:800;font-stretch:112%;line-height:.95;letter-spacing:-.03em}.home__lead{margin:10px 0 0;font-size:18px;color:var(--text-3)}.home__beta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding:10px 14px;font-size:14px;color:var(--text-3);border:1px solid var(--hairline);border-left:3px solid var(--accent)}.home__beta strong{color:var(--text)}.home__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home__action{display:flex;flex-direction:column;gap:8px;min-height:132px;padding:20px 22px;font:inherit;text-align:left;text-decoration:none;color:var(--text);background:var(--panel);border:1px solid var(--hairline);border-radius:2px;cursor:pointer}.home__action:hover{border-color:var(--border)}.home__action--primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.home__action--primary:hover{border-color:var(--accent);filter:brightness(1.05)}.home__actiontitle{font-size:26px;font-weight:800;font-stretch:112%;letter-spacing:-.01em}.home__actionbody{font-size:15px;line-height:1.4;opacity:.85}.home__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}.home__side{display:flex;flex-direction:column;gap:14px}.home__card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px;background:var(--panel);border:1px solid var(--hairline)}.home__card .eyebrow{margin:0}.home__cardhead{align-self:stretch;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.home__more{font-size:14px;color:var(--text-3);text-decoration:none}.home__more:hover{color:var(--text)}.home__sub{margin-top:6px!important}.home__list{align-self:stretch;margin:0;padding:0;list-style:none}.home__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;color:inherit;text-decoration:none;border-top:1px solid var(--hairline)}.home__row:hover .home__rowtitle{text-decoration:underline;text-decoration-color:var(--accent-fg);text-underline-offset:4px}.home__rowtitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700}.home__rowmeta{flex:none;display:flex;gap:14px;font-size:14px;color:var(--text-3)}.home__empty{margin:0;font-size:15px;color:var(--text-3)}.home__stats{display:flex;gap:28px;margin:0}.home__stats dt{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}.home__stats dd{margin:4px 0 0;font-size:28px;font-weight:800;font-stretch:112%}.home__focus{display:flex;flex-direction:column;gap:2px;margin:0;font-size:17px}.home__device{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;color:var(--text-2)}.home__dot{flex:none;width:9px;height:9px;border-radius:50%;border:2px solid var(--text-4)}.home__device--on .home__dot{background:var(--accent-fg);border-color:var(--accent-fg)}.home__tip{margin:0;font-size:13px;line-height:1.5;color:var(--text-4)}.home__foot{display:flex;gap:20px;font-size:14px}.home__foot a{color:var(--text-3)}@media(max-width:900px){.home__title{font-size:48px}.home__actions,.home__grid{grid-template-columns:minmax(0,1fr)}.home__action{min-height:0}}.chartdemo{display:flex;flex-direction:column;gap:14px;margin:0;padding:16px 18px 12px;background:var(--panel);border:1px solid var(--hairline)}.chartdemo__steps{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;font-size:14px;font-weight:600;color:var(--text-4)}.chartdemo__steps li{display:flex;align-items:center;gap:8px;transition:color .2s}.chartdemo__num{display:inline-grid;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;border:1px solid var(--border);border-radius:50%}.chartdemo__step--on{color:var(--text)}.chartdemo__step--on .chartdemo__num{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.chartdemo__panes{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,10fr);gap:14px;height:430px}.chartdemo__text{margin:0;padding:12px 14px;overflow:hidden;font:12px/1.7 var(--font-mono);white-space:pre-wrap;color:var(--text-2);background:var(--bg);border:1px solid var(--hairline)}.chartdemo__caret{display:inline-block;width:7px;height:1.1em;margin-left:1px;vertical-align:text-bottom;background:var(--accent);animation:chartdemo-blink 1s steps(1) infinite}@keyframes chartdemo-blink{50%{opacity:0}}.chartdemo__grid{position:relative;min-width:0;overflow:hidden;font-size:.85em}.chartdemo__grid .cg__root{font-size:22px}.chartdemo__grid .cg__bar{min-height:64px}.chartdemo__grid .cg__bar:has(.cg__slot+.cg__slot) .cg__root{font-size:17px}.chartdemo__grid .cg__bar:has(.cg__slot+.cg__slot) .cg__qual{font-size:11px}.chartdemo__grid .cg__bar:has(.cg__slot+.cg__slot) .cg__num{font-size:10px}.chartdemo__grid .cg__slots{gap:4px}.chartdemo__grid .cg__section{margin-top:10px}.chartdemo__badge{position:absolute;right:0;top:0;margin:0;padding:4px 10px;font-size:13px;font-weight:700;color:var(--accent-ink);background:var(--accent)}.chartdemo__paper{height:430px;overflow:hidden;padding:18px 24px;color:var(--text);background:var(--bg);border:1px solid var(--border)}.chartdemo__caption{font-size:13px;color:var(--text-4)}@media(prefers-reduced-motion:reduce){.chartdemo__caret{animation:none}}@media(max-width:760px){.chartdemo__panes{grid-template-columns:minmax(0,1fr);height:auto}.chartdemo__text{max-height:150px}}.live{--root: 300px;--qual: 150px;--alt: 56px;--numeral: 72px;--right: 420px;--chord-zone: 250px}.live__main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--right);grid-template-rows:minmax(0,1fr);gap:40px;padding:0 var(--gutter)}.live__left{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:safe center;gap:12px;container-type:size}@container (max-height: 440px){.live--full.live--advanced .chord,.live--full.live--advanced .func{--root: 210px;--qual: 105px;--alt: 40px;--chord-zone: 174px}}@container (max-height: 380px){.live--full.live--advanced .chord,.live--full.live--advanced .func{--root: 170px;--qual: 86px;--alt: 34px;--chord-zone: 140px;--numeral: 56px}}@container (max-height: 350px){.live--full .chord,.live--full .func{--root: 210px;--qual: 105px;--alt: 40px;--chord-zone: 174px}}@container (max-height: 300px){.live--full .chord,.live--full .func{--root: 170px;--qual: 86px;--alt: 34px;--chord-zone: 140px;--numeral: 56px}}.live__right{display:flex;flex-direction:column;justify-content:safe center;gap:14px;min-height:0}.cof-slot{flex:0 1 270px;min-height:0;display:flex;justify-content:center;container-type:size}@container (max-height: 130px){.cof{display:none}}.status{display:flex;align-items:center;justify-content:space-between;gap:16px}.status__label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}.status__glyph{color:var(--accent-fg)}.chord{flex:none;height:var(--chord-zone);display:flex;align-items:flex-start;font-weight:800;font-stretch:112%;line-height:.82;letter-spacing:-.035em;white-space:nowrap;overflow:hidden}.chord__root{font-size:var(--root)}.chord__qual,.chord__bass{font-size:var(--qual);margin-top:10px}.chord__bass{color:var(--text-4)}.chord__alt{align-self:flex-end;margin:0 0 18px 40px;font-size:var(--alt);font-weight:600;letter-spacing:-.01em;color:var(--ghost)}.chord--waiting{font-size:calc(var(--root) * .4);line-height:.9;letter-spacing:-.03em;color:var(--waiting-ghost)}.func{display:flex;align-items:baseline;gap:22px;margin-top:8px;min-height:calc(var(--numeral) + 4px)}.func__numeral{font-size:var(--numeral);font-weight:300;line-height:1;color:var(--accent-fg);white-space:nowrap}.func__text{display:flex;flex-direction:column;gap:2px}.func__name{font-size:24px;font-weight:600}.func__hint{max-width:460px;font-size:18px;color:var(--text-3);text-wrap:pretty}.cof{position:relative;height:100%;aspect-ratio:1;flex:none}.cof__ring{position:absolute;border-radius:50%;border:1px solid var(--ring)}.cof__ring--outer{top:4.444%;right:4.444%;bottom:4.444%;left:4.444%}.cof__ring--inner{top:22.222%;right:22.222%;bottom:22.222%;left:22.222%}.cof__item{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid transparent;font-weight:600;white-space:nowrap}.cof__item--outer{font-size:max(9px,calc(100cqh * 15 / 270))}.cof__item--inner{font-size:max(8px,calc(100cqh * 12 / 270))}.cof__item--near{color:var(--text)}.cof__item--far{color:var(--disabled)}.cof__item--tonic{border-color:var(--text-3)}.cof__item--alt{border:2px dashed var(--accent-fg)}.cof__item--current{background:var(--accent);color:var(--accent-ink);font-weight:800}.cof__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:max(12px,calc(100cqh * 20 / 270));font-weight:700;color:var(--text-4)}.next{display:flex;flex-direction:column;gap:2px}.next .eyebrow{margin-bottom:6px}.next__rows{list-style:none;margin:0;padding:0}.next__row{display:grid;grid-template-columns:120px 92px minmax(0,1fr);align-items:baseline;min-height:42px;padding:4px 0;border-top:1px solid var(--hairline)}.next__row--empty{display:block;font-size:16px;color:var(--ghost)}.next__chord{font-size:28px;font-weight:700;white-space:nowrap}.next__numeral{font:500 14px var(--font-mono);color:var(--accent-fg)}.next__why{font-size:14px;color:var(--text-3)}.scalebar{flex:none;min-height:64px;display:flex;align-items:center;flex-wrap:wrap;gap:10px 36px;padding:8px var(--gutter);border-top:1px solid var(--hairline)}.scalebar__name{display:flex;align-items:baseline;gap:12px}.scalebar__scale{font-size:26px;font-weight:700}.scalebar__alt{font-size:14px;color:var(--text-3)}.scalebar__notes{display:flex;align-items:center;gap:26px;margin:0;padding:0;list-style:none;font-size:20px;font-weight:600}.tone{display:flex;align-items:center;gap:10px}.tone--tension .tone__label{color:var(--tension)}.tone--avoid .tone__label{color:var(--avoid)}.tone--avoid s{text-decoration-color:var(--avoid)}.legend{margin:0 0 0 auto;padding:0;list-style:none;display:flex;gap:18px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.legend li{display:flex;align-items:center;gap:6px}.mark{display:inline-block;box-sizing:border-box;flex:none}.mark--pressed{width:12px;height:9px;border-radius:2px;background:var(--key-pressed)}.mark--chord{width:7px;height:7px;border-radius:50%;border:2px solid var(--accent-fg)}.mark--scale{width:6px;height:6px;border-radius:50%;background:var(--scale-dot)}.mark--tension{width:6px;height:6px;border:2px solid var(--tension);transform:rotate(45deg)}.scalebar__notes .mark--tension{width:10px;height:10px}.mark--avoid{color:var(--avoid);font-weight:800}.live__center{display:flex;align-items:baseline;gap:14px;min-width:0}.history{display:flex;align-items:baseline;gap:14px;font-size:17px;font-weight:500;color:var(--text-4);white-space:nowrap;overflow:hidden}.history__item--age3{opacity:.45}.history__item--age2{opacity:.7}.history__arrow{color:var(--disabled)}.history__current{color:var(--accent-fg);font-weight:700;border-bottom:2px solid var(--accent-fg)}.history__current--waiting{border-bottom:none}.keyind{position:relative}.keyind__btn{display:flex;gap:6px;font:inherit;background:none;border:none;padding:4px 0;cursor:pointer;color:inherit}.keyind__name{color:var(--text);font-weight:600}.keyind__source{color:var(--text-4)}.keypick{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:360px;display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--popover);border:1px solid var(--border)}.keypick__group{display:flex;flex-direction:column;gap:6px}.keypick__label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}.keypick__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.keypick__key,.keypick__auto{font:600 14px var(--font-ui);color:var(--text-2);background:var(--control);border:1px solid transparent;border-radius:2px;padding:6px 0;cursor:pointer}.keypick__auto{padding:8px 12px;text-align:left}.keypick__key:hover,.keypick__auto:hover{border-color:var(--text-4)}.keypick__on{background:var(--accent);color:var(--accent-ink)}.btn--small{font-size:13px;padding:6px 12px}@media(max-width:1360px){.live{--root: 260px;--qual: 130px;--alt: 48px;--right: 380px;--chord-zone: 216px}}.live--compact{--root: 150px;--qual: 76px;--alt: 30px;--numeral: 44px;--chord-zone: 128px;--gutter: 24px}.live--compact .live__main{grid-template-columns:minmax(0,1fr)}.live--compact .func__name{font-size:18px}.live--compact .func__hint{font-size:15px}.live--compact .next__rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;min-height:var(--chord-zone)}.live--compact .scalebar__scale{font-size:20px}.live--compact .scalebar__notes{font-size:16px;gap:18px}.live--compact .piano{height:170px}.details{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:4px 0 0;min-height:44px;font:500 13px var(--font-mono)}.details dt{color:var(--text-4);letter-spacing:.1em;text-transform:uppercase}.details dd{margin:0;color:var(--text-2)}.reharm .next__row{grid-template-columns:212px minmax(0,1fr);min-height:36px}.reharm .next__chord{font-size:20px}.focusbtn{display:flex;align-items:center;gap:8px;font:inherit;color:var(--text-2);background:none;border:none;padding:4px 0;cursor:pointer;white-space:nowrap}.focusbtn:hover{color:var(--text)}.focusbtn__icon{fill:none;stroke:var(--accent-fg);stroke-width:1.8}.live--compact .focusbtn__text,.live--compact .themetoggle__text,.live--compact .soundtoggle__text,.live--compact .startover__text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.live--compact .topbar__right{gap:14px}.live--compact .topbar__right button{white-space:nowrap}.landing{height:100%;overflow-y:auto;display:block}.landing__bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:28px;height:60px;padding:0 var(--gutter);background:var(--bg);border-bottom:1px solid var(--hairline)}.landing__links{display:flex;gap:20px}.landing__links button,.landing__footlink{padding:4px 0;font:500 14px var(--font-ui);color:var(--text-3);background:none;border:0;cursor:pointer}.landing__links button:hover,.landing__footlink:hover{color:var(--text)}.landing__barright{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:14px}.landing__main{display:flex;flex-direction:column;gap:96px;max-width:1320px;margin:0 auto;padding:48px var(--gutter) 80px}.landing__hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center}.landing__copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.landing__copy .eyebrow{color:var(--accent-fg)}.landing__title{margin:0;font-size:clamp(44px,5.6vw,80px);font-weight:800;font-stretch:112%;line-height:.95;letter-spacing:-.035em}.landing__lead{margin:0;max-width:560px;font-size:19px;line-height:1.5;color:var(--text-2)}.landing__ctas{display:flex;flex-wrap:wrap;gap:12px}.landing__cta{padding:12px 22px;font-size:16px}.landing__note{margin:0;font-size:14px;color:var(--text-4)}.demo{--root: 128px;--qual: 64px;--alt: 26px;--numeral: 44px;--chord-zone: 112px;display:flex;flex-direction:column;gap:10px;margin:0;padding:16px 18px 12px;background:var(--panel);border:1px solid var(--hairline)}.demo__top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px}.demo__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:20px;min-height:250px}.demo__left{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}.demo .func__name{font-size:18px}.demo .func__hint{font-size:14px}.demo__right{min-width:0;font-size:14px}.demo .next__row{grid-template-columns:auto minmax(0,1fr);column-gap:14px}.demo .next__why{grid-column:1 / -1}.demo .piano{pointer-events:none}.demo__caption{font-size:13px;color:var(--text-4)}.landing__section{display:flex;flex-direction:column;align-items:flex-start;gap:28px;scroll-margin-top:80px}.landing__h2{margin:0;font-size:clamp(32px,3.6vw,48px);font-weight:800;font-stretch:112%;letter-spacing:-.025em}.landing__cards{align-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.landing__card{padding:24px;background:var(--panel);border:1px solid var(--hairline);border-top:3px solid var(--accent)}.landing__card h3,.landing__whoitem h3,.landing__steps h3{margin:0 0 8px;font-size:22px;font-weight:800;font-stretch:112%}.landing__card p,.landing__whoitem p,.landing__steps p{margin:0;font-size:16px;line-height:1.5;color:var(--text-2)}.landing__card ul{margin:16px 0 0;padding:0;list-style:none;font-size:15px;color:var(--text-3)}.landing__card li{padding:7px 0;border-top:1px solid var(--hairline)}.landing__who{align-self:stretch;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.landing__steps{align-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none}.landing__stepnum{display:inline-grid;place-items:center;width:36px;height:36px;margin-bottom:14px;font-weight:800;color:var(--accent-ink);background:var(--accent);border-radius:50%}.landing__faq{align-self:stretch;max-width:860px;border-top:1px solid var(--hairline)}.landing__faq details{border-bottom:1px solid var(--hairline)}.landing__faq summary{padding:16px 0;font-size:18px;font-weight:600;cursor:pointer}.landing__faq p{margin:0 0 18px;font-size:16px;line-height:1.55;color:var(--text-2)}.landing__foot{display:flex;justify-content:space-between;gap:16px;padding:24px var(--gutter);font-size:14px;color:var(--text-4);border-top:1px solid var(--hairline)}@media(max-width:1100px){.landing__hero{grid-template-columns:minmax(0,1fr)}.landing__who{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.landing__links,.landing__barright .themetoggle{display:none}.landing__main{gap:64px;padding-top:28px}.landing__cards,.landing__who,.landing__steps,.demo__body{grid-template-columns:minmax(0,1fr)}.demo__right{display:none}.demo{--root: 96px;--qual: 48px;--chord-zone: 84px}}.demo .next__chord{font-size:22px}.demo .next__why{font-size:13px}.landing__bar .btn,.demo__top .btn{flex:none;white-space:nowrap}.demo__top>:first-child{min-width:0;overflow:hidden}@media(max-width:480px){.landing__bar{gap:12px}.landing__barright{gap:10px}}.landing__split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px;align-items:center}.landing__points{margin:0;padding:0;list-style:none;font-size:16px;color:var(--text-2)}.landing__points li{padding:8px 0 8px 22px;border-top:1px solid var(--hairline);position:relative}.landing__points li:before{content:"";position:absolute;left:2px;top:15px;width:8px;height:8px;background:var(--accent)}.landing__beta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;padding:32px;background:var(--panel);border:1px solid var(--hairline);border-left:4px solid var(--accent)}.landing__beta .landing__lead{margin-top:10px}@media(max-width:1100px){.landing__split{grid-template-columns:minmax(0,1fr)}}.landing__footlinks{display:flex;gap:20px}.privacy{max-width:760px;margin:0 auto;padding:48px var(--gutter) 72px}.privacy__title{margin:0;font-size:clamp(40px,5vw,64px);font-weight:800;font-stretch:112%;letter-spacing:-.03em}.privacy__updated{margin:8px 0 0;font-size:14px;color:var(--text-4)}.privacy__intro{margin:24px 0 8px;font-size:20px;line-height:1.5;color:var(--text)}.privacy__section{padding:18px 0;border-top:1px solid var(--hairline)}.privacy__section h2{margin:0 0 6px;font-size:19px;font-weight:700}.privacy__section p{margin:0;font-size:16px;line-height:1.6;color:var(--text-2)}.privacy__section a,.landing__foot a{color:var(--accent-fg)}a.landing__footlink{text-decoration:none}.kbhelp{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:10px var(--gutter);border-top:1px solid var(--hairline);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--text-3)}.kbhelp__title{font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}.kbhelp__octave{margin-left:auto;font-family:var(--font-mono);color:var(--accent-fg)}.onboarding__main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:40px;align-items:safe center;align-content:safe center;overflow-y:auto;padding:16px var(--gutter) 24px}.onboarding__left{display:flex;flex-direction:column;gap:24px;max-width:720px}.onboarding__title{margin:0;font-size:96px;font-weight:800;font-stretch:112%;line-height:.9;letter-spacing:-.035em}.conn{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid var(--hairline)}.conn__status{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}.conn__glyph{color:var(--accent-fg)}.conn__status--bad .conn__glyph{color:var(--danger-fg)}.conn__body{margin:0;max-width:560px;font-size:18px;line-height:1.45;color:var(--text-3);text-wrap:pretty}.conn__actions,.onboarding__cta{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.conn__select{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}.conn__select select{font:500 15px var(--font-ui);color:var(--text);background:var(--control);border:1px solid var(--border);border-radius:2px;padding:8px 10px;min-width:240px}.tryit{display:flex;flex-direction:column;gap:10px;min-width:0}.tryit__chord{min-height:130px;font-size:120px;font-weight:800;font-stretch:112%;line-height:1;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tryit__chord--empty{font-size:32px;line-height:130px;font-weight:600;letter-spacing:0;color:var(--ghost)}.tryit__notes{min-height:20px;font:500 14px var(--font-mono);color:var(--text-3)}.lang{display:flex;gap:2px}.lang__btn{font:600 12px var(--font-mono);color:var(--text-4);background:none;border:none;padding:4px 6px;cursor:pointer}.lang__btn--on{color:var(--text)}@media(max-width:1100px){.onboarding__main{grid-template-columns:1fr;gap:24px}.onboarding__title{font-size:64px}.tryit__chord{min-height:88px;font-size:80px}.tryit__chord--empty{font-size:24px;line-height:88px}}@media(max-height:760px){.onboarding__title{font-size:56px}.onboarding .piano{height:170px}}.progress{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:28px;padding:8px var(--gutter) 40px}.progress__title{margin:0;font-size:72px;font-weight:800;font-stretch:112%;line-height:.95;letter-spacing:-.03em}.progress__empty{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:18px;color:var(--text-3)}.progress__empty p{margin:0}.progress__h{display:block;margin:0 0 8px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:0}.kpi{padding:16px 18px;background:var(--panel);border:1px solid var(--hairline)}.kpi dt{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}.kpi dd{margin:6px 0 0;font-size:48px;font-weight:800;font-stretch:112%;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}.focus{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid var(--accent-fg)}.focus__name{margin:4px 0 2px;font-size:32px;font-weight:800}.focus__why{font-size:15px;color:var(--text-3)}.bydrill{list-style:none;margin:0;padding:0}.bydrill__row{display:grid;grid-template-columns:minmax(0,1fr) 120px 220px 140px;align-items:center;gap:16px;min-height:48px;border-top:1px solid var(--hairline)}.bydrill__name{font-size:20px;font-weight:700}.bydrill__count,.bydrill__score{font:500 13px var(--font-mono);color:var(--text-3)}.spark__base{stroke:var(--border);stroke-width:1}.spark__bar{fill:var(--ghost)}.spark__bar--last{fill:var(--accent-fg)}.spark__hit{fill:transparent}.spark__hit:hover{fill:var(--hover-wash)}.recent{width:100%;border-collapse:collapse;font-size:15px}.recent th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);padding:6px 12px 6px 0}.recent td{padding:10px 12px 10px 0;border-top:1px solid var(--hairline);font-variant-numeric:tabular-nums}.recent td:first-child,.recent td:nth-child(3),.recent td:nth-child(4){font-family:var(--font-mono);font-size:13px;color:var(--text-2)}@media(max-width:1100px){.bydrill__row{grid-template-columns:minmax(0,1fr) 140px}.bydrill__count{display:none}.bydrill__score{grid-column:1}.progress__title{font-size:48px}}.settings{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:28px;padding:8px var(--gutter) 40px;max-width:980px}.settings__title{margin:0;font-size:72px;font-weight:800;font-stretch:112%;line-height:.95;letter-spacing:-.03em}.settings__section{display:flex;flex-direction:column}.settings__section .eyebrow{margin:0 0 6px}.setting{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:10px 0;border-top:1px solid var(--hairline)}.setting__text{display:flex;flex-direction:column;gap:2px}.setting__label{font-size:18px;font-weight:600}.setting__help,.setting__muted{font-size:14px;color:var(--text-3)}.setting__control{display:flex;align-items:center;gap:10px;flex:none}.setting__control select{font:500 15px var(--font-ui);color:var(--text);background:var(--control);border:1px solid var(--border);border-radius:2px;padding:8px 10px;min-width:220px}.seg{display:flex;border:1px solid var(--border);border-radius:2px}.seg__opt{font:600 14px var(--font-ui);color:var(--text-3);background:none;border:none;padding:8px 14px;cursor:pointer}.seg__opt+.seg__opt{border-left:1px solid var(--border)}.seg__opt--on{background:var(--accent);color:var(--accent-ink)}.switch{display:flex;align-items:center;gap:10px;font:600 14px var(--font-ui);color:var(--text-3);background:none;border:none;padding:0;cursor:pointer}.switch__thumb{position:relative;width:40px;height:22px;border-radius:11px;background:var(--control);border:1px solid var(--border)}.switch__thumb:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--text-3);transition:transform .12s ease}.switch--on{color:var(--text)}.switch--on .switch__thumb{background:var(--accent);border-color:var(--accent)}.switch--on .switch__thumb:after{transform:translate(18px);background:var(--accent-ink)}.btn--danger{background:var(--danger);border-color:var(--danger);color:var(--danger-ink)}@media(max-width:900px){.setting{flex-direction:column;align-items:flex-start}.settings__title{font-size:48px}}.setting__status{margin:10px 0 0;font-size:13px;color:var(--text-3)}.setting__credit{color:var(--text-4)}.settings__foot{margin:0;font-size:14px}.settings__foot a{color:var(--text-3)}.train{flex:1;min-height:0;padding:8px var(--gutter) 24px;overflow-y:auto}.train--library{display:flex;flex-direction:column;gap:10px}.train__title{margin:0;font-size:72px;font-weight:800;font-stretch:112%;line-height:.95;letter-spacing:-.03em}.train__lead{margin:0 0 14px;font-size:18px;color:var(--text-3)}.drills{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.drill{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px;border:1px solid var(--hairline);background:var(--panel)}.drill:hover{border-color:var(--border)}.drill__level{font-size:10px;letter-spacing:.2em;color:var(--accent-fg)}.drill__level-off{color:var(--disabled)}.drill__name{margin:0;font-size:24px;font-weight:700}.drill__desc{margin:0;flex:1;font-size:15px;line-height:1.4;color:var(--text-3)}.drill__stats{font:500 12px var(--font-mono);color:var(--text-4)}.train--active,.train--results{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:center}.train__left{min-width:0;display:flex;flex-direction:column;gap:12px}.train__meta{display:flex;align-items:baseline;gap:16px}.train__counter{font:500 13px var(--font-mono);color:var(--text-3)}.train__prompt{font-size:24px;font-weight:600;color:var(--text-2)}.target{display:flex;flex-direction:column;gap:8px;min-height:200px;justify-content:center}.target__chord{display:flex;align-items:flex-start;font-weight:800;font-stretch:112%;line-height:.82;letter-spacing:-.035em;white-space:nowrap}.target__root{font-size:220px}.target__qual,.target__bass{font-size:110px;margin-top:8px}.target__bass{color:var(--text-4)}.target__numeral{font-size:160px;font-weight:300;line-height:1;color:var(--accent-fg)}.target__reveal{font-size:20px;font-weight:600;color:var(--text-2)}.target__reveal--hidden{visibility:hidden}.feedback{display:flex;align-items:center;gap:10px;min-height:28px;margin:0;font-size:20px;font-weight:600}.feedback--idle{color:var(--text-4)}.feedback--ok{color:var(--accent-fg)}.feedback--partial{color:var(--text-2)}.feedback--bad{color:var(--avoid)}.train__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.train__hint{font:500 15px var(--font-mono);color:var(--accent-fg)}.btn--ghost{border-color:transparent;color:var(--text-4)}.lane,.results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.lane__step,.results__row{display:flex;align-items:baseline;gap:12px;padding:6px 0;border-top:1px solid var(--hairline);font-size:18px;font-weight:600;color:var(--text-4)}.lane__glyph{width:16px;font-size:14px}.lane__step--current{color:var(--text)}.lane__step--current .lane__glyph,.lane__step--ok .lane__glyph,.results__row--ok .lane__glyph{color:var(--accent-fg)}.lane__step--ok,.lane__step--retry{color:var(--text-2)}.lane__step--skipped .lane__glyph,.results__row--skipped .lane__glyph{color:var(--avoid)}.results__chord{min-width:110px;color:var(--text)}.results__what{font-size:14px;font-weight:500;color:var(--text-3)}.score{display:flex;align-items:baseline;gap:20px}.score__value{font-size:200px;font-weight:800;font-stretch:112%;line-height:.85;letter-spacing:-.035em}.score__label{font-size:24px;font-weight:600;color:var(--accent-fg)}.metrics{display:flex;gap:36px;margin:0}.metrics dt{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}.metrics dd{margin:4px 0 0;font-size:28px;font-weight:700}@media(max-width:1100px),(max-height:700px){.train--active,.train--results{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.target__root{font-size:140px}.target__qual,.target__bass{font-size:70px}.target__numeral{font-size:100px}.target{min-height:130px}.score__value{font-size:120px}.train__title{font-size:48px}.screen .piano{height:170px}}
