@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/b887d91685b8c137-s.330vchwb4izzb.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.16u3vygyjnhr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/b887d91685b8c137-s.330vchwb4izzb.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.16u3vygyjnhr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_5575fbe3-module__8vJJ5a__className{font-family:Fraunces,Fraunces Fallback}.fraunces_5575fbe3-module__8vJJ5a__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_9fa80815-module__wA9lkq__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_9fa80815-module__wA9lkq__variable{--font-ibm-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_c7d8cc32-module__U1BAtG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_c7d8cc32-module__U1BAtG__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--color-accent:#d6a445;--color-accent-hover:#e8bc66;--color-accent-light:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface));--color-accent-lighter:color-mix(in srgb, var(--color-accent) 11%, var(--color-surface));--color-accent-contrast:#16100b;--color-link:var(--color-accent);--color-logo:#d64545;--color-bg:#16100b;--color-surface:#241a12;--color-surface-hover:#2f2318;--color-border:color-mix(in srgb, var(--color-accent) 22%, transparent);--color-border-strong:color-mix(in srgb, var(--color-accent) 40%, transparent);--color-text:#f3ebdd;--color-text-muted:#c9bca7;--color-text-on-accent:var(--color-accent-contrast);--color-danger:#d9584f;--color-danger-light:#3a1a12;--color-tactics:#9b7ede;--color-endgames:#4fa187;--color-openings:#5b85c4;--color-middlegame:#c97b4a;--color-strategy:#7a8894;--font-display:var(--font-fraunces), Georgia, serif;--font-body:var(--font-ibm-plex-sans), Consolas, Menlo, monospace;--font-mono:var(--font-ibm-plex-mono), Consolas, Menlo, monospace;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-heading:1.25;--line-height-body:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-full:0;--border-width:3px;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 8px 24px #00000073;--content-width:720px;--content-width-narrow:400px;--transition-fast:.15s ease;--piece-white-fill:#f4efe4;--piece-white-border:#7a7362;--piece-black-fill:#221c15;--piece-black-border:#b9af98;--color-correct:#34d399;--color-incorrect:#f0576b;--color-hint:#a855f7;--color-nag-good:#759900;--color-nag-brilliant:#00c3c3;--color-nag-interesting:#d6499a;--color-nag-dubious:#ccb300;--color-nag-inaccuracy:#d97706;--color-mode-study:#3b82f6;--color-mode-study-text:#1e3a8a;--color-mode-train:#f59e0b;--color-mode-train-text:#78350f;--color-mode-timed:#ec4899;--color-mode-timed-text:#831843;--color-mode-cards:#14b8a6;--color-mode-cards-text:#134e4a;--color-mode-learn:#8b5cf6;--color-mode-learn-text:#3b0764}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);flex-direction:column;min-height:100dvh;margin:0;display:flex}.app-main{flex:1 0 auto}h1,h2,h3{font-family:var(--font-body);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);margin:0 0 var(--space-4)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{line-height:var(--line-height-body);margin:0 0 var(--space-3)}a{color:var(--color-link)}.page{padding:var(--space-6) var(--space-5);max-width:var(--content-width);margin:0 auto}.board-page-wrapper{margin:0 auto}@media (min-width:1025px){.board-page-wrapper{width:fit-content}}@media (max-width:1024px){.board-page-wrapper{margin-left:calc(var(--space-2) - var(--space-5));margin-right:calc(var(--space-2) - var(--space-5))}.quiz-standalone-wrapper{margin-left:calc(var(--space-2) - var(--space-5))!important;margin-right:calc(var(--space-2) - var(--space-5))!important}}.page--narrow{max-width:var(--content-width-narrow)}button{font-family:inherit;font-size:var(--font-size-base);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast)}button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.navbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:var(--border-width) solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;display:flex}.navbar__brand{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-text);text-decoration:none;display:flex}.navbar__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.navbar__user{color:var(--color-text-muted);font-size:var(--font-size-sm);align-items:center;text-decoration:none;display:inline-flex}.navbar__action{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);color:var(--color-text-muted);background:0 0;border:none;padding:8px 14px;font-size:.82rem;display:inline-flex}.navbar__action:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.navbar__user:hover{color:var(--color-text)}.navbar__action-icon,.navbar__user-icon{display:none}.navbar__action-icon svg,.navbar__user-icon svg{width:20px;height:20px}@media (max-width:640px){.navbar{gap:var(--space-2);padding:var(--space-2) var(--space-4);flex-wrap:nowrap}.navbar__actions{flex-wrap:nowrap;gap:2px}.navbar__action{padding:6px}.navbar__action-label,.navbar__user-label{display:none}.navbar__action-icon,.navbar__user-icon{align-items:center;display:inline-flex}}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{font-weight:var(--font-weight-medium);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);border:var(--border-width) solid transparent;background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;transition:background-color var(--transition-fast), opacity var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-text-on-accent)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card--accent{background:var(--color-accent-lighter);border-color:var(--color-accent-light)}.card--danger{border-color:var(--color-danger-light)}.dashboard-columns{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.dashboard-columns>.card{max-height:min(70vh,700px);overflow-y:auto}@media (max-width:900px){.dashboard-columns{display:block}.dashboard-columns>.card{max-height:none;overflow-y:visible}.dashboard-columns>*{margin-bottom:var(--space-5)}.dashboard-columns>:last-child{margin-bottom:0}}.dashboard-pomodoro-banner{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);color:var(--color-text);text-decoration:none;transition:background .15s;display:flex}.dashboard-pomodoro-banner:hover{background:var(--color-accent-light)}.dashboard-pomodoro-banner__icon{font-size:1.5rem;line-height:1}.dashboard-pomodoro-banner__text{flex-direction:column;flex:1;display:flex}.drill-scope-choice{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.drill-scope-choice__option{width:200px;padding:var(--space-4) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-mode-timed) 6%, var(--color-surface));cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;transition:border-color .15s,transform .15s;display:flex}.drill-scope-choice__option:hover{border-color:var(--color-mode-timed);transform:translateY(-2px)}.drill-scope-choice__icon{font-size:28px;line-height:1}.drill-scope-choice__label{font-weight:var(--font-weight-medium)}.drill-scope-choice__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}input,select,textarea{width:100%;font-family:inherit;font-size:var(--font-size-base);padding:var(--space-3);margin-bottom:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);display:block}input:focus,select:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.error-text{color:var(--color-danger);background:var(--color-danger-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);margin:var(--space-3) 0}.success-text{color:var(--color-correct);background:color-mix(in srgb, var(--color-correct) 14%, transparent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);margin:var(--space-3) 0}.text-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.content-breadcrumb{text-align:center;font-weight:var(--font-weight-medium);font-size:var(--font-size-base);margin:0 0 var(--space-2)}.content-breadcrumb--inline{flex:1;margin:0}.icon-btn-danger{width:34px;height:34px;color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 40%, transparent);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-btn-danger svg{width:22px;height:22px}.icon-btn-danger:hover:not(:disabled){background:var(--color-danger-light);border-color:var(--color-danger)}.icon-btn-danger--sm{width:28px;height:28px;padding:5px}.icon-btn-danger--sm svg{width:15px;height:15px}.icon-btn-neutral{width:28px;height:28px;color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-btn-neutral svg{width:15px;height:15px}.icon-btn-neutral:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-text-muted)}.row-actions--full{align-items:center;gap:var(--space-2);display:inline-flex}.row-actions--kebab{display:none}.kebab-menu{position:relative}.kebab-menu__trigger{width:36px;height:36px;color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.kebab-menu__trigger svg{width:18px;height:18px}.kebab-menu__trigger:hover,.kebab-menu__trigger[aria-expanded=true]{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-text-muted)}.kebab-menu__list{z-index:50;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);min-width:150px;box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.kebab-menu__item{width:100%;padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--font-size-sm);color:var(--color-text);background:0 0;border:none;display:block}.kebab-menu__item:hover{background:var(--color-surface-hover)}.kebab-menu__item--danger{color:var(--color-danger)}.btn-danger{height:34px;color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 40%, transparent);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.btn-danger__icon svg{width:19px;height:19px;display:block}.btn-danger__label{font-size:14px}.btn-danger:hover:not(:disabled){background:var(--color-danger-light);border-color:var(--color-danger)}.modal-overlay{padding:var(--space-4);z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:var(--border-width) solid var(--color-danger-light);border-radius:var(--radius-md);width:100%;max-width:420px;padding:var(--space-5);box-shadow:var(--shadow-md);position:relative}.modal__close{top:var(--space-2);right:var(--space-2);width:28px;height:28px;color:var(--color-danger);font-size:var(--font-size-lg);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:absolute}.modal__close:hover:not(:disabled){background:var(--color-danger-light)}.modal__message{color:var(--color-danger);font-weight:var(--font-weight-bold);margin:0 var(--space-4) var(--space-2) 0}.modal__actions{gap:var(--space-2);margin-top:var(--space-4);justify-content:flex-end;display:flex}.delete-folder-modal__option{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-sm);cursor:pointer;display:flex}.delete-folder-modal__option input{margin-top:3px}.delete-folder-modal__confirm-text{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-danger-light);border-radius:var(--radius-sm)}.link-quiet{transition:color var(--transition-fast), transform var(--transition-fast);text-decoration:none;display:inline-block}.link-quiet:hover{color:var(--color-text);transform:scale(1.02)}@media (max-width:480px){.page{padding:var(--space-4) var(--space-3)}.row-actions--full{display:none}.row-actions--kebab{display:inline-flex}}.quiz-back-link{margin:0;line-height:1.2;position:absolute;top:16px;left:24px}@media (max-width:1024px){.quiz-back-link{margin:var(--space-2) 0 0;position:static}}.quiz-title-heading{margin-top:var(--space-2)}@media (min-width:900px){.quiz-title-heading{margin-top:16px}}.board-layout{grid-template-columns:minmax(220px, 260px) var(--board-column-width,620px) minmax(300px, var(--board-side-column-width,340px));gap:var(--space-5);align-items:start;display:grid}.board-layout--study:has(.board-layout__left--collapsed){grid-template-columns:48px var(--board-column-width,620px) minmax(300px, var(--board-side-column-width,340px))}@media (min-width:1025px){.board-layout__left--collapsed .accordion__header-title{display:none}}.board-layout__left{top:var(--space-5);max-height:calc(100vh - (var(--space-5) * 2));position:sticky;overflow-y:auto}.accordion__header{margin-bottom:var(--space-3);align-items:center;display:flex}.accordion__header-title{text-align:center;font-weight:var(--font-weight-medium);flex:1}.accordion__hide-btn{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}@media (min-width:1025px){.board-layout__left-body--desktop-hidden{display:none}}.board-layout__mobile-toggle{width:100%;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);font-weight:var(--font-weight-medium);justify-content:space-between;align-items:center;display:none}.board-layout__board{justify-content:flex-start;display:flex}.board-frame,.board-frame-row{width:100%;max-width:540px}.board-with-eval{gap:var(--space-2);display:flex}.eval-bar{border-radius:var(--radius-sm);background:var(--piece-black-fill);border:var(--border-width) solid var(--color-border);flex-shrink:0;width:24px;position:relative;overflow:hidden}.eval-bar--off{background:var(--color-border-strong)}.eval-bar__white{background:var(--piece-white-fill);transition:height .3s;position:absolute;bottom:0;left:0;right:0}.eval-bar__label{text-align:center;font-size:9px;line-height:1;font-weight:var(--font-weight-medium);color:var(--piece-black-fill);position:absolute;bottom:3px;left:0;right:0}.eval-bar--flipped,.eval-bar--flipped .eval-bar__label{transform:scaleY(-1)}.board-frame{position:relative}.board-action-rail{flex-direction:column;flex-shrink:0;justify-content:space-between;align-self:stretch;align-items:center;width:36px;display:flex}.board-action-rail--resize-only{justify-content:flex-end}.board-nav__group{align-items:center;gap:var(--space-2);display:flex}@media (max-width:1024px){.quiz-advance-float{margin-top:var(--space-2);position:static!important;transform:none!important}.board-action-rail{display:none}.eval-bar{border-width:1px;width:6px}.eval-bar__label{display:none}}.board-resize-handle{border-radius:var(--radius-sm);cursor:ew-resize;touch-action:none;width:20px;height:20px;color:var(--color-text-muted);background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);justify-content:center;align-items:center;display:flex}.board-resize-handle svg{width:14px;height:14px}.board-resize-handle:hover,.board-resize-handle:focus-visible{color:var(--color-text);border-color:var(--color-accent)}.board-layout__side{min-width:0}.build-layout{grid-template-columns:minmax(220px, 260px) var(--board-column-width,620px) minmax(280px, var(--board-side-column-width,360px));gap:var(--space-5);align-items:start;display:grid}.build-header-row{grid-template-columns:minmax(220px, 260px) var(--board-column-width,620px) minmax(280px, 360px);gap:var(--space-5);display:grid}@media (max-width:1024px){.build-header-row{display:block}}.build-layout__board{flex-direction:column;align-items:flex-start;display:flex}.build-layout__side{min-width:0;top:var(--space-5);max-height:var(--board-side-max-height,calc(100vh - (var(--space-5) * 2)));flex-direction:column;display:flex;position:sticky}.build-layout__side>*{flex-shrink:0}.build-layout__side>.build-layout__moves.move-tree{flex:auto}.build-layout__notation-col{min-width:0;top:var(--space-5);max-height:var(--board-side-max-height,calc(100vh - (var(--space-5) * 2)));flex-direction:column;display:flex;position:sticky}.build-layout__notation-col>*{flex-shrink:0}.build-layout__notation-col>.build-layout__moves.move-tree{flex:auto}.build-layout__moves.move-tree{flex:auto;min-height:0;max-height:none;overflow-y:auto}@media (max-width:1024px){.build-layout{display:block}.build-layout:has(.build-layout__notation-col){flex-direction:column;display:flex}.build-layout:has(.build-layout__notation-col) .build-layout__board{order:0}.build-layout:has(.build-layout__notation-col) .build-layout__side{order:1}.build-layout:has(.build-layout__notation-col) .build-layout__notation-col{order:2}.build-layout__board{align-items:center}.build-layout__side,.build-layout__notation-col{max-height:none;display:block;position:static}.build-layout__moves.move-tree{max-height:360px;margin-top:var(--space-3);flex:none;position:static}.board-layout{display:block}.board-layout__left{max-height:none;margin-bottom:var(--space-5);position:static;overflow-y:visible}.board-layout__mobile-toggle{display:flex}.accordion__header{display:none}.board-layout__left-body{background:var(--color-surface);border-top:var(--border-width) solid var(--color-border-strong);max-height:80vh;box-shadow:var(--shadow-md);padding:0 var(--space-4) var(--space-4);visibility:hidden;transition:transform var(--transition-fast), visibility 0s linear .15s;z-index:1500;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.board-layout__left-body--open{visibility:visible;transition:transform var(--transition-fast), visibility 0s linear;transform:translateY(0)}.board-layout__sheet-backdrop{z-index:1499;background:#00000080;display:block;position:fixed;inset:0}.board-layout__sheet-header{background:var(--color-surface);padding-top:var(--space-2);margin:0 calc(var(--space-4) * -1);padding-left:var(--space-4);padding-right:var(--space-4);display:block;position:sticky;top:0}.board-layout__board{margin-bottom:var(--space-5);flex-direction:column;align-items:center}.board-layout__side{flex-direction:column;display:flex}.board-layout__side .board-nav{order:-1}}.board-layout__sheet-backdrop,.board-layout__sheet-header{display:none}.board-layout__sheet-handle{width:36px;height:4px;margin:0 auto var(--space-2);background:var(--color-border-strong);display:block}.board-layout__sheet-title-row{padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--color-border);margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);justify-content:space-between;align-items:center;display:flex}.board-layout__sheet-close{justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.piece-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.piece-dot--white{background:var(--piece-white-fill);border:1.5px solid var(--piece-white-border)}.piece-dot--black{background:var(--piece-black-fill);border:1.5px solid var(--piece-black-border)}.color-filter{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.color-filter__chip{border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.color-filter__chip:hover{background:var(--color-surface-hover);color:var(--color-text)}.color-filter__chip[aria-pressed=true]{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-text);font-weight:var(--font-weight-medium)}.checkbox-input{appearance:none;border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;width:18px;height:18px;transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:4px;flex-shrink:0;place-content:center;margin:0;display:inline-grid}.checkbox-input:hover{border-color:var(--color-accent)}.checkbox-input:checked{background:var(--color-accent);border-color:var(--color-accent)}.checkbox-input:checked:after{content:"";border:solid var(--color-text-on-accent);border-width:0 2px 2px 0;width:5px;height:9px;transform:rotate(45deg)translate(-1px,-1px)}.checkbox-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.repertoire-list__badge.category-badge--opening{background:color-mix(in srgb, var(--color-openings) 18%, var(--color-surface));color:var(--color-openings)}.repertoire-list__badge.category-badge--endgame{background:color-mix(in srgb, var(--color-endgames) 18%, var(--color-surface));color:var(--color-endgames)}.repertoire-list__badge.category-badge--middlegame{background:color-mix(in srgb, var(--color-middlegame) 18%, var(--color-surface));color:var(--color-middlegame)}.training-position-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);display:flex}.training-position-row:hover{background:var(--color-surface-hover)}.training-position-row__gutter,.training-position-row__header,.training-position-row__tags-row,.training-position-row__actions{display:contents}.training-position-row__info{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;min-width:0;display:flex}.training-position-row__title{font-weight:var(--font-weight-medium)}.training-position-row__tag-chip{font-size:var(--font-size-sm);color:var(--color-text-muted)}.training-position-row__tag-chip+.training-position-row__tag-chip:before{content:", "}.training-position-row__folder-path{font-size:var(--font-size-sm)}.training-position-row__tags-editor{align-items:flex-start;gap:var(--space-2);flex:280px;min-width:240px;display:flex}.training-position-row__tags-editor .tag-picker{flex:1;min-width:0;margin-bottom:0}@media (max-width:1024px){.training-position-row{column-gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border);border-radius:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0;display:grid}.training-position-row:hover{background:0 0}.training-position-row--flat{display:flex}.training-position-row__gutter{align-items:center;gap:var(--space-2);flex-direction:column;grid-area:1/1/span 2;align-self:center;display:flex}.training-position-row__info{align-items:stretch;gap:var(--space-2);flex-flow:column;grid-area:1/2;display:flex}.training-position-row__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.training-position-row__title{word-break:break-word;line-height:1.3}.training-position-row__header .repertoire-list__badge{flex-shrink:0}.training-position-row__tags-row{align-items:center;gap:var(--space-1) var(--space-2);padding-left:var(--space-3);flex-wrap:wrap;display:flex}.training-position-row__tag-chip{font-family:var(--font-mono);border:1px solid var(--color-border);background:var(--color-surface-hover);padding:2px 7px}.training-position-row__tag-chip+.training-position-row__tag-chip:before{content:none}.training-position-row__tags-btn{padding:2px 4px}.training-position-row__folder-path{flex-basis:100%}.training-position-row__actions{align-items:center;gap:var(--space-4);margin-top:var(--space-1);padding-left:var(--space-3);flex-wrap:wrap;grid-area:2/2;display:flex}.training-position-row__actions .row-actions--kebab{margin-left:auto}}.folder-breadcrumb{margin:0 0 var(--space-3);font-size:var(--font-size-sm);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.folder-breadcrumb__crumb{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:6px 8px}.folder-breadcrumb__crumb:hover{text-decoration:underline}.folder-breadcrumb__crumb--drop-over{background:var(--color-accent-lighter);outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--radius-sm);text-decoration:none}.folder-breadcrumb__current{color:var(--color-text);font-weight:var(--font-weight-medium);padding:2px 4px}.folder-breadcrumb__sep{color:var(--color-text-muted)}.training-folder-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);display:flex}.training-folder-row:hover{background:var(--color-surface-hover)}.training-folder-row--drop-target{outline:2px solid var(--color-accent);outline-offset:-2px;background:var(--color-accent-lighter)}.training-folder-row__icon{color:var(--color-openings);flex-shrink:0;display:inline-flex}.training-folder-row__icon svg{width:20px;height:20px}.training-folder-row__name{font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.drag-handle{width:22px;height:22px;color:var(--color-text-muted);cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;display:none}@media (pointer:coarse){.drag-handle{display:inline-flex}}.drag-handle svg{pointer-events:none;width:18px;height:18px}.drag-handle:active{cursor:grabbing}@media (pointer:fine){.training-folder-row,.training-position-row--draggable{cursor:grab}.training-folder-row:active,.training-position-row--draggable:active{cursor:grabbing}}.training-position-row--dragging,.training-folder-row--dragging{opacity:.45}.training-folder-row.drop-indicator--before,.training-position-row.drop-indicator--before{box-shadow:inset 0 2px 0 0 var(--color-accent)}.training-folder-row.drop-indicator--after,.training-position-row.drop-indicator--after{box-shadow:inset 0 -2px 0 0 var(--color-accent)}.folder-create-panel{gap:var(--space-2);margin:var(--space-3) 0;align-items:center;display:flex}.folder-create-panel input{flex:1;max-width:320px}.btn-accent-outline{height:34px;font-size:var(--font-size-sm);color:var(--color-accent);border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.btn-accent-outline:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent)}.position-editor__palette{justify-content:center;gap:var(--space-2);margin:var(--space-2) 0;display:flex}.category-pill-group{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.category-pill{border:1px solid var(--color-border);height:32px;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 14px;display:inline-flex}.category-pill:hover{border-color:var(--color-text-muted);color:var(--color-text)}.category-pill[aria-pressed=true]{font-weight:var(--font-weight-medium);color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-text-muted)}.category-pill[aria-pressed=true].category-pill--opening{background:color-mix(in srgb, var(--color-openings) 18%, var(--color-surface));border-color:var(--color-openings);color:var(--color-openings)}.category-pill[aria-pressed=true].category-pill--endgame{background:color-mix(in srgb, var(--color-endgames) 18%, var(--color-surface));border-color:var(--color-endgames);color:var(--color-endgames)}.tag-picker{margin-bottom:var(--space-3)}.tag-picker__chips{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.tag-picker__chip{background:var(--color-surface-hover);border:1px solid var(--color-border);height:28px;color:var(--color-text);font-size:var(--font-size-sm);border-radius:999px;align-items:center;gap:6px;padding:0 6px 0 12px;display:inline-flex}.tag-picker__chip-remove{width:18px;height:18px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex}.tag-picker__chip-remove:hover{background:var(--color-danger-light);color:var(--color-danger)}.tag-picker__input-wrap{position:relative}.tag-picker__input{width:100%}.tag-picker__dropdown{z-index:5;background:var(--color-surface);border:var(--border-width) solid var(--color-border-strong);max-height:220px;box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.tag-picker__option{text-align:left;width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;display:block}.tag-picker__option:hover:not(:disabled){background:var(--color-surface-hover)}.tag-picker__option--create{color:var(--color-accent);font-weight:var(--font-weight-medium);border-top:1px solid var(--color-border)}.file-upload-btn{border:1px solid var(--color-border);height:34px;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border-radius:6px;align-items:center;padding:0 14px;display:inline-flex}.file-upload-btn:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-text-muted)}.file-upload-btn__input{display:none}.search-box{align-items:center;gap:var(--space-2);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-3);display:flex}.search-box input{color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);background:0 0;border:none;outline:none;width:100%;margin-bottom:0;padding:0}.study-tree{gap:var(--space-3);flex-direction:column;display:flex}.tree-group{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2) var(--space-2)}.tree-group__label{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-2) var(--space-2) var(--space-1);display:flex}.tree-item{margin:0}.tree-item__summary{cursor:pointer;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:space-between;align-items:center;list-style:none;display:flex}.tree-item__summary::-webkit-details-marker{display:none}.tree-item__summary:hover{background:var(--color-surface-hover)}.tree-item__chevron{color:var(--color-text-muted);transition:transform var(--transition-fast);font-size:.7em}.tree-item[open]>summary .tree-item__chevron{transform:rotate(90deg)}.tree-item__chapters{padding-left:var(--space-4)}.repertoire-list{margin:0;padding:0;list-style:none}.repertoire-list__item{justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);transition:background-color var(--transition-fast), padding-left var(--transition-fast);flex-wrap:wrap;margin-bottom:6px;padding:14px 8px 14px 16px;display:flex;position:relative}.repertoire-list__item:hover{background:var(--color-surface-hover);padding-left:20px}.repertoire-list__item--summary{cursor:pointer;margin-bottom:0;list-style:none}.repertoire-list__item--summary::-webkit-details-marker{display:none}.repertoire-list__link{color:var(--color-accent);font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}.repertoire-list__item:before{content:"";background:var(--color-accent);opacity:.35;width:3px;transition:opacity var(--transition-fast), width var(--transition-fast);position:absolute;top:6px;bottom:6px;left:2px}.repertoire-list__item:hover:before{opacity:1;width:4px}.repertoire-list__badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-hover);border-radius:var(--radius-full);flex-shrink:0;padding:3px 10px;font-size:.68rem;font-weight:600}.category-badge--editable{font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;border:none}.category-badge--editable:hover{filter:brightness(1.15)}.category-pill-group--inline{gap:var(--space-1);flex-wrap:wrap;margin-bottom:0;display:inline-flex}.badge--neutral{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0;border-radius:6px;flex-shrink:0;padding:2px 9px;font-size:.68rem;font-weight:600}.review-sections{gap:var(--space-5);flex-direction:column;display:flex}.review-section__header{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-2) var(--space-1);margin-bottom:var(--space-2);font-size:.78rem;display:flex}.review-section__swatch{border-radius:3px;flex-shrink:0;width:9px;height:9px}.review-section__count{font-family:var(--font-mono);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:0;margin-left:auto}.review-section[data-kind=aperturas] .review-section__swatch{background:var(--color-openings)}.review-section[data-kind=medio_juego] .review-section__swatch{background:var(--color-middlegame)}.review-section[data-kind=finales] .review-section__swatch{background:var(--color-endgames)}.review-section[data-kind=otros] .review-section__swatch{background:var(--color-text-muted)}.review-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.review-list__item{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), background-color var(--transition-fast);padding:11px 14px;position:relative}.review-list__item:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.review-list__link{color:var(--color-accent);align-items:center;gap:10px;text-decoration:none;display:flex}.review-list__link .repertoire-list__badge{margin-left:auto}.review-list__title{font-size:.88rem;font-weight:600}.review-list__move{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.8rem}.review-list__preview{border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm);width:240px;box-shadow:var(--shadow-md);z-index:5;pointer-events:none;position:absolute;top:50%;left:100%;overflow:hidden;transform:translate(8px,-50%)}.repertoire-list__link:before{color:var(--color-text-muted);font-size:.95rem}.repertoire-list__item[data-color=blancas] .repertoire-list__link:before{content:"♞"}.repertoire-list__item[data-color=negras] .repertoire-list__link:before{content:"♘"}.accordion__chevron{font-size:var(--font-size-sm);color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0}.accordion__chevron--open{transform:rotate(90deg)}.accordion__chapter-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.accordion__chapter-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);text-decoration:none;display:block}.accordion__chapter-link:hover{background:var(--color-surface-hover);color:var(--color-text)}.accordion__chapter-link--current{font-weight:var(--font-weight-bold);color:var(--color-accent-hover);background:var(--color-accent-light)}.dashboard-chapter-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-accent);font-size:var(--font-size-sm);display:flex}.dashboard-chapter-row:hover{background:var(--color-surface-hover);color:var(--color-accent-hover)}.move-tree{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-body);overflow-wrap:anywhere;overscroll-behavior:contain;max-height:360px;overflow:hidden auto}.move-tree__move{border-radius:var(--radius-sm);font:inherit;font-weight:var(--font-weight-medium);background:0 0;border:none;padding:2px 4px}.move-tree__move--variation{font-weight:var(--font-weight-normal);opacity:.82}.move-tree__move--active{background:var(--color-accent-light)}.move-tree__nag{color:var(--nag-color,inherit);font-weight:700}.move-tree__shapes-dot{background:var(--color-accent);vertical-align:middle;border-radius:50%;width:.42em;height:.42em;margin-left:.35em;display:inline-block}.move-tree__comment{color:var(--color-text-muted);font-size:.85em;font-style:italic}.move-tree__variation{border-left:2px solid var(--color-border-strong);padding-left:var(--space-2)}.move-tree__star{color:var(--color-text-muted);background:0 0;border:none;padding:0 2px;font-size:.75em}.move-tree__star:hover{color:var(--color-accent);background:0 0}@media (max-width:1024px){.move-tree__move{padding:5px 7px}}.variant-picker{display:none}.variant-picker--desktop{gap:var(--space-2);margin-top:var(--space-3);display:flex;overflow-x:auto}.variant-picker__btn{border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);flex-shrink:0;padding:6px 10px}.variant-picker__btn--variation{font-weight:var(--font-weight-normal);opacity:.82}.variant-picker__btn:hover,.variant-picker__btn--preview{background:var(--color-surface-hover);border-color:var(--color-accent)}.variant-picker__btn--trap{opacity:.65;text-decoration:line-through}@media (max-width:1024px){.variant-picker{gap:var(--space-2);padding:var(--space-1) 0 var(--space-2);margin-top:var(--space-2);display:flex;overflow-x:auto}.variant-picker--desktop{display:none}}.board-nav{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.board-nav__btn{border-radius:var(--radius-sm);width:36px;height:34px;font-size:var(--font-size-base);justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.analysis-panel__nav{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:inline-flex}.analysis-panel__nav-btn{width:28px;height:26px;font-size:var(--font-size-sm)}.hint-btn{height:34px;color:var(--color-hint);border:1px solid color-mix(in srgb, var(--color-hint) 40%, transparent);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.hint-btn__icon{line-height:1;display:inline-flex}.hint-btn__icon svg{width:19px;height:19px;display:block}.hint-btn__label{font-size:14px;line-height:1}.hint-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-hint)}.quiz-badge{font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-surface-hover);border-radius:var(--radius-full);border:none;padding:2px 10px;font-size:12px}.ghost-link{color:var(--color-text-muted);font-size:var(--font-size-sm);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.ghost-link:hover{color:var(--color-text)}.ghost-link--action{color:var(--color-accent)}.ghost-link--action:hover{color:var(--color-accent-hover)}.mode-selector{background:var(--color-surface-hover);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.mode-selector__option{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:5px;padding:6px 12px;display:inline-flex}.mode-selector__option:hover:not([aria-selected=true]){background:var(--color-surface)}@media (max-width:1024px){.mode-selector-row{flex-wrap:wrap;min-height:44px;gap:var(--space-1)!important;width:auto!important;height:auto!important;margin-left:0!important}.mode-selector__option{gap:3px;padding:6px}}.cycle-stats{background:var(--color-surface-hover);border-radius:9px;align-items:center;gap:14px;padding:3px 12px;display:flex}.cycle-stats__item{flex-direction:column;align-items:center;line-height:1.2;display:flex}.cycle-stats__label{font-family:var(--font-mono);color:var(--color-text-muted);text-transform:lowercase;font-size:10px}.cycle-stats__value{font-family:var(--font-mono);color:var(--color-text);font-size:19px;font-weight:500}.cycle-stats__divider{background:var(--color-border);align-self:stretch;width:1px}@media (max-width:1024px){.cycle-stats{gap:10px;padding:3px 8px}}:root{--quiz-block-gap:var(--space-1)}.board-icon-row{width:100%;max-width:540px;margin-bottom:var(--quiz-block-gap);justify-content:flex-end;display:flex}.board-nav-row{width:100%;max-width:540px;margin-top:var(--quiz-block-gap);position:relative}.board-nav-row .board-nav{margin-top:0}.board-nav-row__actions{align-items:center;gap:var(--space-2);display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.board-nav .board-nav__flip,.board-nav.board-nav--mobile{display:none}@media (max-width:1024px){.board-nav .board-nav__flip{display:inline-flex}.board-nav--sidebar{display:none}.board-nav.board-nav--mobile{display:flex}.board-nav--under-board{margin-top:var(--space-2);justify-content:center;width:auto!important}.board-nav .board-nav__flip.board-nav__btn svg{width:18px;height:18px}}.turbo-btn{cursor:pointer;color:#d85a30;opacity:.75;width:34px;height:34px;transition:opacity var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #d85a3066;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.turbo-btn:hover:not(:disabled){opacity:1;background:var(--color-surface-hover)}.turbo-btn[aria-pressed=true]{opacity:1;border-color:#d85a30}.toast-stack{left:50%;bottom:var(--space-5);align-items:center;gap:var(--space-2);z-index:2500;pointer-events:none;flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--color-surface);border:var(--border-width) solid var(--color-accent);color:var(--color-text);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;animation:.2s toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.context-menu{z-index:1000;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-md);max-height:calc(100vh - 16px);position:fixed;overflow:hidden auto}.context-menu__item{width:100%;padding:var(--space-2) var(--space-4);text-align:left;font-size:var(--font-size-sm);background:0 0;border:none;border-radius:0;display:block}.notation-editor{z-index:1000;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);width:260px;max-height:calc(100vh - 16px);box-shadow:var(--shadow-md);padding:var(--space-3);position:fixed;overflow-y:auto}.notation-editor__header{justify-content:space-between;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);padding-bottom:var(--space-2);margin-bottom:var(--space-3);border-bottom:var(--border-width) solid var(--color-border);display:flex}.notation-editor__close{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:inline-flex}.notation-editor__section{margin-bottom:var(--space-3)}.notation-editor__section:last-child{margin-bottom:0}.notation-editor__section-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-1);display:block}.notation-editor__comment{resize:vertical;width:100%;min-height:60px}.nag-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.nag-picker__btn{border:1px solid color-mix(in srgb, var(--nag-color) 40%, transparent);cursor:pointer;width:34px;height:34px;color:var(--nag-color);opacity:.75;transition:opacity var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:6px;font-size:15px;font-weight:700;display:inline-flex}.nag-picker__btn:hover{opacity:1;background:var(--color-surface-hover)}.nag-picker__btn[aria-pressed=true]{opacity:1;background:color-mix(in srgb, var(--nag-color) 18%, transparent)}.nag-picker__btn--eval{--nag-color:var(--color-text-muted)}.analysis-panel{margin-top:var(--space-4)}.analysis-panel__header{align-items:center;gap:var(--space-2);display:flex}.analysis-panel__config-toggle{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:28px;height:28px;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;line-height:1;display:inline-flex}.analysis-panel__config-toggle:hover,.analysis-panel__config-toggle.is-open{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text)}.analysis-panel__config{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);gap:var(--space-2);border:var(--border-width) solid var(--color-border);background:var(--color-surface);flex-direction:column;display:flex}.analysis-panel__config-row{align-items:center;gap:var(--space-3);display:flex}.analysis-panel__engine-info{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.analysis-panel__engine-info--row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.analysis-panel__engine-label{flex-shrink:0}.analysis-panel__engine-chips{gap:var(--space-2);scrollbar-width:thin;min-width:0;margin-left:auto;display:flex;overflow-x:auto}@media (max-width:1024px){.analysis-panel__engine-chips{display:none}.analysis-panel__engine-info--row{display:block}}.analysis-panel__config-label{min-width:5.5rem;font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0}.analysis-panel__seg{gap:var(--space-1);flex-wrap:wrap;display:flex}.analysis-panel__seg-btn{min-width:2rem;padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast)}.analysis-panel__seg-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.analysis-panel__seg-btn.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent)}.engine-switch{background:var(--color-border-strong);cursor:pointer;width:40px;height:22px;transition:background-color var(--transition-fast);border:none;border-radius:999px;flex-shrink:0;padding:2px;position:relative}.engine-switch--on{background:var(--color-accent)}.engine-switch:disabled{opacity:.6;cursor:not-allowed}.engine-switch__knob{width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);background:#fff;border-radius:50%;display:block}.engine-switch--on .engine-switch__knob{transform:translate(18px)}.analysis-panel__status{font-size:var(--font-size-sm);color:var(--color-text-muted)}.analysis-panel__lines{margin:var(--space-2) 0 0;padding-left:var(--space-5);gap:var(--space-3);--pv-row:1.9rem;height:calc(var(--pv-count,3) * var(--pv-row) + (var(--pv-count,3) - 1) * var(--space-3));scrollbar-gutter:stable;flex-direction:column;list-style:none;display:flex;overflow:hidden auto}@media (max-width:1200px){.analysis-panel__lines{--pv-row:2.85rem}}.analysis-panel__line--best,.analysis-panel__line--secondary,.analysis-panel__line--pending{overflow-wrap:anywhere}.analysis-panel__line--best{font-weight:var(--font-weight-bold)}.analysis-panel__line--secondary{opacity:.8}.analysis-panel__line--pending{opacity:.5}.analysis-panel__line-score{margin-right:var(--space-3)}.analysis-panel__line-move{margin-left:var(--space-2)}.sq-badge{color:#fff;white-space:nowrap;z-index:15;border-radius:999px;justify-content:center;align-items:center;min-width:38%;height:38%;padding:0 6%;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;right:0;transform:translate(35%,-35%)}.sq-badge--correct{background:var(--color-correct);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-correct) 25%, white)}.sq-badge--incorrect{background:var(--color-incorrect);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-incorrect) 25%, white)}.sq-badge--nag,.sq-badge--nag-eval{min-width:38%;height:38%;font-size:clamp(11px, calc(var(--sq,64px) * .32), 32px);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 6%;font-weight:700;display:flex;position:absolute;top:0;right:0;transform:translate(35%,-35%)}.sq-badge--nag{color:#fff;background:var(--nag-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--nag-color) 25%, white);z-index:15}.sq-badge--nag-eval{color:var(--eval-fg,#000);background:var(--eval-bg,#fff);z-index:14;box-shadow:0 0 0 2px #00000073}.sq-badge--nag-eval--offset{right:var(--eval-offset,32%)}.practice-overlay{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-5);z-index:8;flex-direction:column;display:flex;position:absolute;inset:0}.practice-overlay__check{background:var(--color-correct);width:52px;height:52px;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-correct) 25%, white);color:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:26px;font-weight:700;display:flex}.practice-overlay h2{margin:0;font-size:1.2rem}.promotion-row__backdrop{z-index:19;position:fixed;inset:0}.promotion-row{z-index:20;background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-md);gap:0;margin-bottom:8px;padding:4px;display:flex;position:absolute;bottom:100%}.promotion-row:after{content:"";top:100%;left:var(--arrow-left,50%);border:6px solid #0000;border-top-color:var(--color-surface);position:absolute;transform:translate(-50%)}.promotion-row__btn{color:var(--color-text);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:4%;line-height:0;transition:background .12s;display:flex}.promotion-row__btn:hover{background:var(--color-accent-light)}.promotion-row__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.play-setup{gap:var(--space-4);flex-direction:column;max-width:480px;display:flex}.play-setup__field{gap:var(--space-2);flex-direction:column;display:flex}.play-setup__label{font-weight:600}.play-setup__options{gap:var(--space-2);flex-wrap:wrap;display:flex}.play-setup__options--presets{grid-template-columns:repeat(2,minmax(120px,1fr));display:grid}.play-setup__options--presets button{min-width:120px;padding:var(--space-3) var(--space-5);font-weight:var(--font-weight-medium);flex-direction:column;align-items:flex-start;display:flex}.play-setup__elo{font-size:.8em}.btn-primary .play-setup__elo{color:var(--color-text-on-accent)}.play-layout__row{gap:var(--space-5);flex-wrap:wrap;align-items:flex-start;display:flex}.play-side-panel{gap:var(--space-3);flex-direction:column;flex-shrink:0;width:320px;display:flex}.play-side-panel__actions{gap:var(--space-2);flex-direction:column;display:flex}.play-status-banner{gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-light);flex-direction:column;display:flex}.play-move-list{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:320px;font-family:var(--font-mono,monospace);margin:0;font-size:.9rem;list-style:none;overflow:hidden auto}.play-move-list li{padding:2px 0}@media (max-width:1024px){.play-layout__row{flex-direction:column}.play-side-panel{width:100%}}.games-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.games-list__row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.flashcards{gap:var(--space-4);margin-top:var(--space-3);flex-direction:column;display:flex}.flashcards__title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:1rem;display:flex}.flashcards__count{font-size:.8rem;font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.flashcards__grid{margin:0 0 var(--space-2);gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:0;list-style:none;display:grid}.flashcards__card{border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm);line-height:0;display:block;overflow:hidden}.flashcards__card:hover,.flashcards__card:focus-visible{border-color:var(--color-mode-cards);box-shadow:var(--shadow-md)}.tree-item__end{align-items:center;gap:var(--space-2);display:inline-flex}.accordion__chapter-link--with-count{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.flashcard-count{min-width:1.6em;padding:0 var(--space-2);background:color-mix(in srgb, var(--color-mode-cards) 28%, var(--color-surface));color:var(--color-text);font-size:.75rem;font-weight:var(--font-weight-medium);text-align:center;border-radius:999px;flex-shrink:0;line-height:1.6}.learn{gap:var(--space-3);flex-direction:column;max-width:540px;display:flex}.learn__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.learn__message{margin:var(--space-4) 0;font-size:1.1rem}.learn__banner{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-hover);text-align:center;font-weight:var(--font-weight-medium)}.learn__banner--ok{background:color-mix(in srgb, #16a34a 85%, var(--color-surface));color:#fff}.learn__squares{justify-content:center;gap:var(--space-2);display:flex}.learn__square{background:var(--color-border);border-radius:5px;width:28px;height:22px}.learn__square--hit{background:#4ade80}.learn__square--miss{background:#f87171}.learn__square--current{background:var(--color-border-strong)}.learn__score{text-align:center;margin:0}@media (max-width:520px){.mode-selector__option[aria-selected=false]>span:last-child{display:none}}.learn__piles{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.learn__pile{padding:var(--space-2);border-radius:var(--radius-sm);border:var(--border-width) solid transparent;background:var(--color-surface-hover);flex-direction:column;align-items:center;gap:2px;display:flex}.learn__pile-label{font-size:.7rem;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.03em}.learn__pile-count{font-size:1.35rem;font-weight:var(--font-weight-bold);line-height:1.1}.learn__pile--todo{background:color-mix(in srgb, #3b82f6 22%, var(--color-surface));border-color:#3b82f6}.learn__pile--error{background:color-mix(in srgb, #f87171 22%, var(--color-surface));border-color:#f87171}.learn__pile--unsure{background:color-mix(in srgb, #f59e0b 22%, var(--color-surface));border-color:#f59e0b}.learn__pile--correct{background:color-mix(in srgb, #4ade80 22%, var(--color-surface));border-color:#4ade80}.learn-map{--t0:#94a3b8;--t1:#3b82f6;--t2:#14b8a6;--t3:#f59e0b;--t4:#ec4899;--t5:#eab308;gap:var(--space-3);flex-direction:column;display:flex}.learn-map__head{gap:var(--space-2);background:var(--color-bg);z-index:2;padding-bottom:var(--space-2);flex-direction:column;display:flex;position:sticky;top:0}.learn-map__ranks{gap:var(--space-2);padding-bottom:var(--space-1);display:flex;overflow-x:auto}.learn-map__rank{border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.learn-map__rank[aria-selected=true]{background:var(--color-accent-light);border-color:var(--color-accent);font-weight:var(--font-weight-bold)}.learn-map__rank:disabled{opacity:.5;cursor:not-allowed}.learn-map__summary{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.learn-map__bar{background:var(--color-border);border-radius:999px;height:8px;overflow:hidden}.learn-map__bar-fill{height:100%;transition:width var(--transition-fast);border-radius:999px}.learn-map__bar-fill--t0{background:var(--t0)}.learn-map__bar-fill--t1{background:var(--t1)}.learn-map__bar-fill--t2{background:var(--t2)}.learn-map__bar-fill--t3{background:var(--t3)}.learn-map__bar-fill--t4{background:var(--t4)}.learn-map__bar-fill--t5{background:var(--t5)}.learn-map__scroll{overscroll-behavior:contain;max-height:min(60vh,560px);padding:var(--space-3) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);overflow-y:auto}.learn-map__row{margin-bottom:var(--space-3);justify-items:center;display:grid}.learn-map__node{cursor:pointer;color:#1f2937;background:#f0d9b5;border:3px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.7rem;line-height:1;display:flex;position:relative}.learn-map__node--dark{background:#b58863}.learn-map__node--completed.learn-map__node--t0{border-color:var(--t0)}.learn-map__node--completed.learn-map__node--t1{border-color:var(--t1)}.learn-map__node--completed.learn-map__node--t2{border-color:var(--t2)}.learn-map__node--completed.learn-map__node--t3{border-color:var(--t3)}.learn-map__node--completed.learn-map__node--t4{border-color:var(--t4)}.learn-map__node--completed.learn-map__node--t5{border-color:var(--t5)}.learn-map__node--unlocked{border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-accent) 30%, transparent);animation:1.6s ease-in-out infinite learn-map-pulse}.learn-map__node--locked{filter:grayscale();opacity:.45;cursor:not-allowed}.learn-map__check{color:#fff;background:#16a34a;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;display:flex;position:absolute;bottom:-6px;right:-6px}@keyframes learn-map-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 30%, transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--color-accent) 12%, transparent)}}@media (prefers-reduced-motion:reduce){.learn-map__node--unlocked{animation:none}}.learn-rankup{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;text-align:center;flex-direction:column;display:flex}.learn-rankup__logo{color:#fff;border-radius:20px;justify-content:center;align-items:center;width:112px;height:112px;font-size:4rem;display:flex}.learn-rankup__logo--t0{background:#94a3b8}.learn-rankup__logo--t1{background:#3b82f6}.learn-rankup__logo--t2{background:#14b8a6}.learn-rankup__logo--t3{background:#f59e0b}.learn-rankup__logo--t4{background:#ec4899}.learn-rankup__logo--t5{background:#eab308}.learn-rankup__title{margin:0}.learn-rankup__stats{gap:var(--space-3);grid-template-columns:repeat(3,1fr);width:100%;max-width:420px;display:grid}.learn-rankup__stat{padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);flex-direction:column;gap:2px;display:flex}.learn-rankup__num{font-size:1.8rem;font-weight:var(--font-weight-bold);line-height:1.1}.learn-rankup__stat--new{color:#15803d;background:color-mix(in srgb, #4ade80 18%, var(--color-surface))}.learn-rankup__stat--trained{color:#c2410c;background:color-mix(in srgb, #fb923c 18%, var(--color-surface))}.learn-rankup__stat--accuracy{color:#1d4ed8;background:color-mix(in srgb, #60a5fa 18%, var(--color-surface))}.learn__review{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);border:var(--border-width) solid #f59e0b;background:color-mix(in srgb, #f59e0b 14%, var(--color-surface));flex-wrap:wrap;display:flex}
