@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2)format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lexend-vietnamese-300-normal-BkyiKD57.woff2)format("woff2"),url(/assets/lexend-vietnamese-300-normal-Bvq1pCw4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lexend-latin-ext-300-normal-DZKhWvmP.woff2)format("woff2"),url(/assets/lexend-latin-ext-300-normal-DJx7rAFT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/lexend-latin-300-normal-pH_8eE6B.woff2)format("woff2"),url(/assets/lexend-latin-300-normal-DghY_3bB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-vietnamese-400-normal-DoLa7jNB.woff2)format("woff2"),url(/assets/lexend-vietnamese-400-normal-mPlHoWg5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-ext-400-normal-D38JI5AK.woff2)format("woff2"),url(/assets/lexend-latin-ext-400-normal-D9P7pMo-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-400-normal-CwRJVcUA.woff2)format("woff2"),url(/assets/lexend-latin-400-normal-CHypAkT3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-vietnamese-500-normal-Bos7Oy9U.woff2)format("woff2"),url(/assets/lexend-vietnamese-500-normal-EFAPmUTE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-ext-500-normal-Bo17xs96.woff2)format("woff2"),url(/assets/lexend-latin-ext-500-normal-DbCmXT_D.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-500-normal-Dl-X5nog.woff2)format("woff2"),url(/assets/lexend-latin-500-normal-D9x1QWTH.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-vietnamese-600-normal-Cr1ePs6O.woff2)format("woff2"),url(/assets/lexend-vietnamese-600-normal-BxEVPgxw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-latin-ext-600-normal-hDcqLAH9.woff2)format("woff2"),url(/assets/lexend-latin-ext-600-normal-BXtyp5LP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-latin-600-normal-DdvlkEkX.woff2)format("woff2"),url(/assets/lexend-latin-600-normal-DSBzZxpA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-vietnamese-700-normal-BrGlFDtO.woff2)format("woff2"),url(/assets/lexend-vietnamese-700-normal-NEp7hM5T.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-ext-700-normal-CcWyeg4T.woff2)format("woff2"),url(/assets/lexend-latin-ext-700-normal-iR1cPiNX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-700-normal-DqO8md6r.woff2)format("woff2"),url(/assets/lexend-latin-700-normal-DVyJlN8t.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--card-radius:20px;--font-title:"Lexend", "Space Grotesk", system-ui, sans-serif;--card-ring:4px;--bg:#0b1020;--bg-raised:#121a30;--bg-overlay:#070b16d1;--panel:#11182ceb;--border:#8ca0c829;--text:#e8ecf6;--muted:#93a0bd;--accent:#6ea8fe;--go:#22c58b;--go-edge:#178f64;--go-ink:#fff;--go-text:#22c58b;--hot:#ff6b6b;--hot-edge:#c94a4a;--edge:#263252;--cool:#3cb4dd;--radius:14px;--radius-lg:22px;--shadow:0 18px 50px #00000073;--font-display:"Lexend", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-exam:"Space Grotesk", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-display);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}::selection{background:color-mix(in srgb, var(--accent) 40%, transparent)}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.ghost-button{background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius);min-height:42px;color:var(--text);white-space:nowrap;border-bottom-width:4px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s,filter .15s,transform 80ms,border-bottom-width 80ms;display:inline-flex}.ghost-button:hover{color:var(--text);filter:brightness(1.04);border-color:color-mix(in srgb, var(--edge) 70%, var(--muted))}.ghost-button:active{border-bottom-width:1px;transform:translateY(3px)}.primary-button{background:var(--go);min-height:46px;color:var(--go-ink);letter-spacing:.01em;border:1px solid var(--go);border-bottom:4px solid var(--go-edge);border-radius:var(--radius);text-shadow:0 1px #00000029;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:.92rem;font-weight:700;transition:filter .15s,transform 80ms,border-bottom-width 80ms;display:inline-flex;position:relative}.primary-button:hover{filter:brightness(1.05)}.primary-button:active{filter:none;border-bottom-width:1px;transform:translateY(3px)}.primary-button:disabled{opacity:.5;cursor:not-allowed;border-bottom-width:4px;transform:none}.chip{border:1px solid var(--edge);min-height:30px;color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 13px;font-size:.82rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--muted)}.chip.active{background:var(--text);border-color:var(--text);color:var(--bg);font-weight:600}.page{background:var(--bg);isolation:isolate;flex-direction:column;min-height:100vh;display:flex;position:relative}.page:after{content:"";z-index:-1;background-image:radial-gradient(color-mix(in srgb, var(--text) 7%, transparent) 1px, transparent 1px);pointer-events:none;background-size:26px 26px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(720px 480px at 78% 0,#000,#0000 75%);mask-image:radial-gradient(720px 480px at 78% 0,#000,#0000 75%)}.page-main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:44px 28px 72px}.page-main.narrow{max-width:860px}.hero-accent{background:linear-gradient(100deg, var(--heat-ramp,var(--hot), var(--cool)));color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:var(--muted);align-items:center;gap:10px;margin:0 0 14px;font-size:.86rem;font-weight:600;display:inline-flex}.t-hero{letter-spacing:-.035em;margin:0 0 14px;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1.04}.t-sub{max-width:560px;color:var(--muted);margin:0;font-size:1.02rem;line-height:1.65}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin:46px 0 18px;display:flex}.section-head h2{letter-spacing:-.02em;margin:0;font-size:1.35rem}.section-head .section-hint{color:var(--muted);font-size:.85rem}.panel-card{background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius-lg);border-bottom-width:4px;position:relative;overflow:hidden}.panel-card:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text) 22%, transparent), transparent);pointer-events:none;height:1px;position:absolute;inset:0 0 auto}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;width:100%;display:grid}.map-page{height:100%;position:relative;overflow:hidden}.map-header{z-index:30;pointer-events:none;align-items:center;gap:18px;padding:14px 20px;display:flex;position:absolute;top:0;left:0;right:0}.map-header>*{pointer-events:auto}.map-title{background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius);border-bottom-width:4px;align-items:baseline;gap:10px;max-width:min(520px,100%);min-height:42px;padding:6px 16px;display:flex}.map-title h1{white-space:nowrap;margin:0;font-size:1.15rem}.map-title span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.heat-legend{background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius);min-height:42px;color:var(--muted);border-bottom-width:4px;align-items:center;gap:10px;margin-left:auto;padding:0 14px;font-size:.78rem;display:flex}.legend-bar{border-radius:3px;width:110px;height:8px}.theme-picker{margin-left:auto;position:relative}.theme-swatch{border-radius:50%;flex:none;width:24px;height:24px;box-shadow:0 0 0 1px #00000059}.theme-picker-trigger{white-space:nowrap;background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius);min-height:42px;color:var(--text);border-bottom-width:4px;flex:none;align-items:center;gap:9px;padding:0 12px 0 8px;font-size:.82rem;font-weight:600;transition:border-color .15s,filter .15s,transform 80ms,border-bottom-width 80ms;display:inline-flex}.theme-picker-trigger:hover{filter:brightness(1.04);border-color:color-mix(in srgb, var(--edge) 70%, var(--muted))}.theme-picker-trigger:active{border-bottom-width:1px;transform:translateY(3px)}.theme-picker-chevron{color:var(--muted);flex:none;transition:transform .15s}.theme-picker-chevron.open{transform:rotate(180deg)}.theme-picker-menu{z-index:60;background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius);width:240px;max-height:min(60vh,420px);box-shadow:var(--shadow);border-bottom-width:4px;margin:0;padding:6px;list-style:none;animation:.12s theme-menu-in;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}@keyframes theme-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.theme-picker-option{border-radius:calc(var(--radius) - 6px);width:100%;color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:.86rem;transition:background .12s;display:flex}.theme-picker-option:hover,.theme-picker-option:focus-visible{background:color-mix(in srgb, var(--text) 7%, transparent)}.appearance-menu{width:262px}.appearance-menu ul{margin:0;padding:0;list-style:none}.appearance-menu__head{color:var(--muted);margin:4px 0;padding:0 10px;font-size:.8rem;font-weight:600}.appearance-menu ul+.appearance-menu__head{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.appearance-picker .theme-picker-trigger .note-swatch+.theme-swatch{margin-left:-3px}.theme-picker-option.active{color:var(--text);font-weight:600}.theme-picker-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.theme-picker-check{color:var(--go-text);flex:none}.map-header .heat-legend{margin-left:0}.picker-toolbar{z-index:20;position:fixed;top:16px;right:20px}.page-message{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.terrain-map:not([data-fitted]){visibility:hidden}.terrain-map{background:var(--bg);cursor:grab;touch-action:none;position:absolute;inset:0}.terrain-map:active{cursor:grabbing}.heat-canvas,.mindmap-svg{width:100%;height:100%;position:absolute;inset:0}.heat-canvas{transition:opacity .45s}.branch-link,.branch-underlay{fill:none;stroke-linecap:round;transition:opacity .45s}.branch-link{stroke-opacity:.75;stroke-width:2px}.branch-underlay{stroke:#080c1866;stroke-width:4.5px}.branch.depth-1 .branch-link{stroke-width:7px}.branch.depth-1 .branch-underlay{stroke-width:9.5px}.branch.depth-2 .branch-link{stroke-width:3.8px}.branch.depth-2 .branch-underlay{stroke-width:6.3px}.node-glyph{cursor:pointer;transition:opacity .45s}.node-hit{fill:#0000;stroke:none}.node-halo{fill:#0000;stroke:#0000;transition:stroke .2s}.node-glyph:hover .node-halo{stroke:#e8ecf659;stroke-width:2px}.node-glyph.selected .node-halo{stroke:#fff;stroke-width:2.5px}.node-core{stroke:#080c18d9;stroke-width:1.5px}.node-glyph.stub .node-core{stroke-dasharray:3 3;opacity:.8}.node-label{fill:var(--map-ink);text-anchor:middle;paint-order:stroke;stroke:var(--map-halo);stroke-width:3px;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px}.node-glyph.major .node-label{font-size:22px;font-weight:600}.node-label.radial{stroke-width:3px;font-size:14px}.radial-label__upright .node-label.radial{text-anchor:start}.radial-label__flipped .node-label.radial{text-anchor:end}.radial-label:not(.is-flipped) .radial-label__flipped,.radial-label.is-flipped .radial-label__upright{display:none}.node-glyph.deep .node-label.radial{stroke-width:2.5px;fill:color-mix(in srgb, var(--map-ink) 82%, transparent);font-size:11px}.node-glyph.selected .node-label{fill:var(--map-ink);font-weight:600}.lod-far .node-glyph.minor .node-label,.lod-mid .node-glyph.deep .node-label{display:none}.lod-far .node-glyph.minor.selected .node-label,.lod-mid .node-glyph.deep.selected .node-label{display:block}.note-diagram{text-align:center;margin:14px 0}.note-diagram svg{max-width:100%;height:auto}.note-diagram figcaption{color:var(--muted);margin-top:6px;font-size:.8em}.diagram-missing{color:var(--muted)}.mode-reading .heat-canvas,.mode-quiz .heat-canvas{opacity:.07}.mode-reading .branch-link,.mode-quiz .branch-link,.mode-reading .branch-underlay,.mode-quiz .branch-underlay,.mode-reading .node-glyph:not(.selected),.mode-quiz .node-glyph:not(.selected){opacity:.05}.node-panel{z-index:40;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(440px,100vw - 36px);box-shadow:var(--shadow);border-bottom-width:4px;flex-direction:column;padding:22px;animation:.22s panel-in;display:flex;position:absolute;top:70px;bottom:18px;right:18px;overflow:hidden}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.panel-close{color:var(--muted);background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:10px;right:12px}.panel-close:hover{color:var(--text)}.panel-breadcrumb{color:var(--muted);margin-bottom:6px;font-size:.78rem}.panel-title{margin:0 0 6px;font-size:1.35rem;line-height:1.25}.panel-summary{color:var(--muted);margin:0 0 18px;font-size:.92rem;line-height:1.5}.mastery-bar{background:color-mix(in srgb, var(--text) 12%, transparent);border-radius:3px;height:8px;overflow:hidden}.mastery-fill{border-radius:3px;height:100%;transition:width .4s}.panel-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-button--wide{grid-column:1/-1}.mastery-dial{width:75%;margin:4px auto 14px;position:relative}.mastery-dial svg{width:100%;height:auto;display:block}.mastery-dial__track{fill:none;stroke:color-mix(in srgb, var(--text) 12%, transparent)}.mastery-dial__num{text-align:center;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2.85rem;font-weight:700;line-height:1;position:absolute;bottom:4px;left:0;right:0}.stat-block{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--edge);border-bottom-width:4px;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.stat-block b{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.3rem;line-height:1}.stat-block span{color:var(--muted);font-size:.7rem}.action-button--half{gap:10px;padding:10px 12px;font-size:.9rem;line-height:1.2}.action-button--half .nowrap{white-space:nowrap}.action-button--half small{margin-top:2px;font-size:.74rem}.action-button{text-align:left;background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius);border-bottom-width:4px;align-items:center;gap:14px;width:100%;padding:12px 16px;font-size:1rem;font-weight:600;transition:filter .15s,border-color .15s,transform 80ms,border-bottom-width 80ms;display:flex}.action-button.primary{background:var(--go);border-color:var(--go);border-bottom-color:var(--go-edge);color:var(--go-ink);text-shadow:0 1px #00000029;font-weight:700}.action-button small{color:var(--muted);font-size:.78rem;font-weight:400;display:block}.action-button.primary small{color:#ffffffd6;text-shadow:none}.action-button:hover:not(:disabled){filter:brightness(1.04)}.action-button:active:not(:disabled){filter:none;border-bottom-width:1px;transform:translateY(3px)}.action-button:disabled{opacity:.45;cursor:not-allowed}.action-icon{font-size:1.4rem}.panel-dev-tools{border-top:1px dashed var(--border);flex-direction:column;gap:8px;margin-top:18px;padding-top:14px;display:flex}.dev-tools-label{color:var(--muted);opacity:.7;font-size:.8rem;font-weight:600}.autolearn-button{background:color-mix(in srgb, var(--go) 10%, transparent);border-style:dashed}.autolearn-button:hover:not(:disabled){border-color:var(--go);background:color-mix(in srgb, var(--go) 18%, transparent)}.reading-overlay,.quiz-overlay{z-index:50;background:var(--bg-overlay);justify-content:center;padding:64px 20px 28px;animation:.25s overlay-in;display:flex;position:absolute;inset:0;overflow-y:auto}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.reading-card,.quiz-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);width:min(760px,100%);height:fit-content;box-shadow:var(--shadow);padding:30px 36px 36px}.quiz-card{border:1px solid var(--edge);border-radius:var(--radius-lg);border-bottom-width:4px}.reading-header,.quiz-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.reading-header h1{margin:4px 0 0;font-size:1.7rem}.reading-breadcrumb,.quiz-kicker{color:var(--muted);font-size:.86rem;font-weight:600}.markdown-body{font-size:1.02rem;line-height:1.7}.markdown-body h2{border-bottom:1px solid var(--border);margin-top:1.6em;padding-bottom:6px}.markdown-body h3{margin-top:1.3em}.markdown-body code{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:5px;padding:1px 6px;font-size:.92em}.markdown-body table{border-collapse:collapse;width:100%;margin:14px 0}.markdown-body th,.markdown-body td{border:1px solid var(--border);text-align:left;padding:8px 12px}.markdown-body th{background:color-mix(in srgb, var(--text) 6%, transparent)}.markdown-body blockquote{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--muted);border-radius:0 8px 8px 0;margin:14px 0;padding:6px 18px}.quiz-progress{color:var(--muted);margin-top:4px;font-size:.9rem}.quiz-prompt{margin:18px 0;font-size:1.18rem;font-weight:600;line-height:1.5}.quiz-choices{flex-direction:column;gap:10px;display:flex}.choice-button{text-align:left;background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius);border-bottom-width:4px;padding:12px 16px;font-size:1rem;transition:border-color .15s,background .15s,transform 80ms,border-bottom-width 80ms}.choice-button:hover:not(:disabled){border-color:var(--muted)}.choice-button:active:not(:disabled){border-bottom-width:1px;transform:translateY(3px)}.choice-button.correct{border-color:var(--go);background:color-mix(in srgb, var(--go) 16%, var(--bg-raised))}.choice-button.incorrect{border-color:var(--hot);background:color-mix(in srgb, var(--hot) 14%, var(--bg-raised))}.choice-button:disabled{cursor:default}.quiz-feedback{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.feedback-right{color:var(--go-text);font-weight:700}.feedback-wrong{color:var(--hot);font-weight:700}.quiz-short{flex-direction:column;gap:14px;display:flex}.short-answer-input{background:var(--bg);border:1px solid var(--edge);border-radius:var(--radius);width:100%;color:var(--text);font:inherit;resize:vertical;padding:12px 14px}.short-answer-input:focus{border-color:var(--go);box-shadow:0 0 0 3px color-mix(in srgb, var(--go) 22%, transparent);outline:none}.model-answer{background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.model-answer h3{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 8px;font-size:.85rem}.self-mark-row{gap:10px;margin-top:14px;display:flex}.quiz-summary{text-align:center;padding:28px 0 8px}.quiz-score{margin-bottom:8px;font-size:3.2rem;font-weight:800}.quiz-summary p{color:var(--muted);margin:0 0 22px}.quiz-empty{color:var(--muted);text-align:center;padding:30px 0}.auth-splash{min-height:100vh;color:var(--muted);background:var(--bg);place-items:center;display:grid}.auth-page{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.auth-top{justify-content:space-between;align-items:center;gap:16px;padding:18px 26px;display:flex}.auth-brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.auth-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:26px;padding:10px 24px 60px;display:flex}.auth-card{background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius-lg);width:min(430px,100%);box-shadow:var(--shadow);border-bottom-width:4px;padding:28px 26px 24px}.auth-title{letter-spacing:-.02em;margin:0 0 6px;font-size:1.6rem;line-height:1.2}.auth-sub{color:var(--muted);margin:0 0 20px;font-size:.92rem;line-height:1.5}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field>span{color:var(--muted);font-size:.85rem;font-weight:600}.auth-field small{color:var(--muted);font-size:.78rem}.auth-input{border-radius:var(--radius);border:1px solid var(--edge);background:color-mix(in srgb, var(--text) 5%, transparent);width:100%;min-height:44px;color:var(--text);font:inherit;padding:0 14px;font-size:.95rem}.auth-input::placeholder{color:var(--muted)}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);outline:none}.auth-submit{width:100%;margin-top:4px}.auth-warning{border-radius:var(--radius);background:color-mix(in srgb, var(--hot) 12%, transparent);color:color-mix(in srgb, var(--hot) 78%, var(--text));margin:0 0 16px;padding:10px 12px;font-size:.85rem;line-height:1.45}.auth-error{color:color-mix(in srgb, var(--hot) 82%, var(--text));margin:0;font-size:.85rem}.auth-notice{color:var(--go-text);margin:0;font-size:.85rem}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:18px 0;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--edge);flex:1;height:1px}.auth-google{width:100%}.auth-swap{text-align:center;color:var(--muted);margin:18px 0 0;font-size:.88rem}.auth-swap button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.auth-swap button:hover{text-decoration:underline}.auth-points{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.auth-points li{align-items:center;gap:8px;display:inline-flex}@media (width<=560px){.auth-top{padding:14px 18px}.auth-card{padding:22px 18px 20px}.auth-points{flex-direction:column;align-items:flex-start}}.account-title{margin:0 0 20px}.account-card{background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius);border-bottom-width:4px;margin:0 0 14px;padding:18px}.account-card__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.account-card__head .eyebrow{margin:0}.account-you{align-items:center;gap:16px;display:flex}.account-avatar{background:color-mix(in srgb, var(--go) 18%, transparent);width:54px;height:54px;color:var(--go-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:inline-flex}.account-you__text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.account-name{font-size:1.15rem;font-weight:700}.account-email{color:var(--muted);text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.account-meta{color:var(--muted);font-size:.8rem}.account-rename{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-rename .auth-input{flex:1;min-width:150px;min-height:38px}.account-line{margin:0;font-size:.98rem;font-weight:600}.account-note{margin:6px 0 0;font-size:.88rem;line-height:1.5}.account-tier{background:color-mix(in srgb, var(--text) 9%, transparent);height:26px;color:var(--text);border-radius:8px;align-items:center;padding:0 11px;font-size:.85rem;font-weight:700;display:inline-flex}.account-tier--base,.account-tier--pro{background:color-mix(in srgb, var(--go) 18%, transparent);color:var(--go-text)}.account-count{color:var(--muted);font-size:.88rem}.account-subjects{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.account-subjects a{border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);color:var(--text);align-items:center;gap:9px;padding:8px 2px;font-size:.94rem;font-weight:600;text-decoration:none;display:flex}.account-subjects li:first-child a{border-top:0}.account-subject{flex-direction:column;min-width:0;display:flex}.account-subject small{color:var(--muted);font-size:.8rem;font-weight:400}.account-subjects a:hover{color:var(--go-text)}.account-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.app-header{z-index:40;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:22px;padding:4px 26px;display:flex;position:sticky;top:0}.app-brand{letter-spacing:-.02em;align-items:center;gap:9px;font-size:1.12rem;font-weight:700;display:inline-flex}.brand-logo{width:60px;height:60px;transition:transform .15s;display:block}.app-brand:hover .brand-logo,.app-brand:focus-visible .brand-logo{transform:scale(1.06)}.app-nav{align-items:center;gap:4px;display:flex}.nav-link{color:var(--muted);border-radius:10px;padding:8px 13px;font-size:.92rem;font-weight:600;transition:color .15s,background .15s;position:relative}.nav-link:hover{color:var(--text);background:color-mix(in srgb, var(--text) 6%, transparent)}.nav-link.active{color:var(--text);background:color-mix(in srgb, var(--text) 9%, transparent)}.app-header-right{align-items:center;gap:12px;margin-left:auto;display:flex}.account-button{border:1px solid var(--edge);border-radius:var(--radius);background:var(--bg-raised);height:42px;color:var(--text);border-bottom-width:4px;align-items:center;gap:9px;padding:0 14px 0 7px;font-size:.9rem;font-weight:600;text-decoration:none;transition:filter .15s,transform 80ms,border-bottom-width 80ms;display:inline-flex}.account-button:hover{filter:brightness(1.06)}.account-button:active{border-bottom-width:1px;transform:translateY(3px)}.account-button.active{border-color:color-mix(in srgb, var(--go) 45%, var(--edge))}.account-button__mark{background:color-mix(in srgb, var(--go) 18%, transparent);width:28px;height:28px;color:var(--go-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.account-button__name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.app-footer{border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg) 80%, transparent);margin-top:auto}.app-footer-inner{max-width:1120px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;margin:0 auto;padding:26px 28px;font-size:.84rem;display:flex}.app-footer-links{gap:18px;margin-left:auto;display:flex}.app-footer-links a:hover{color:var(--text)}@media (width<=960px){.app-header{flex-wrap:wrap;gap:10px;padding:10px 16px}.app-header-right{justify-content:flex-end;width:100%;margin-left:0}}@media (width<=760px){.app-header{gap:8px 12px;padding:10px 14px}.app-brand{white-space:nowrap;min-width:0}.app-nav{overscroll-behavior-x:contain;scrollbar-width:none;flex:1 0 100%;order:1;min-width:0;margin:0 -14px;padding:0 14px;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;flex:none}.app-header-right{gap:10px;width:auto;min-width:0;margin-left:auto}}@media (width<=560px){.app-header{padding:10px 12px}.app-brand{font-size:.98rem}.app-nav{margin:0 -12px;padding:0 12px}.nav-link{padding:7px 9px}.app-header .theme-picker-label{display:none}.app-header .theme-picker-trigger{gap:6px;padding:6px 9px}.app-header .theme-picker{position:static}.app-header .theme-picker-menu{width:auto;top:calc(100% + 6px);left:12px;right:12px}.account-button__name{display:none}.account-button{padding:0 7px}.app-header .ghost-button{padding:7px 12px}}@media (width<=720px){.page-main{padding:30px 18px 56px}}.home-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.home-status{color:var(--muted)}.overview-hero{margin:0 0 34px}.overview-map{height:min(62vh,560px);position:relative}.overview-modes{z-index:2;border-radius:var(--radius);background:color-mix(in srgb, var(--bg) 78%, transparent);border:1px solid var(--edge);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:3px;padding:3px;display:inline-flex;position:absolute;top:6px;left:50%;transform:translate(-50%)}.overview-modes button{appearance:none;cursor:pointer;font:inherit;letter-spacing:.01em;white-space:nowrap;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:color .15s,background .15s}.overview-modes button:hover{color:var(--text)}.overview-modes button.active{color:var(--text);background:var(--bg-raised);box-shadow:0 1px 3px #0000002e}.overview-caption{color:var(--muted);text-align:center;margin:12px 2px 0;font-size:.92rem}@media (width<=720px){.overview-map{height:min(52vh,420px)}.overview-modes{padding:2px}.overview-modes button{padding:6px 10px;font-size:.74rem}}.terrain-map.static{cursor:default;touch-action:auto;background:0 0}.home-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:54px 20px;display:flex}.home-empty h2{color:var(--text);margin:0}.home-empty .primary-button{margin-top:8px}.create-tile{border:1.5px dashed var(--edge);border-radius:var(--radius-lg);min-height:170px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:flex}.create-tile:hover{color:var(--text);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.create-tile .plus{color:var(--go-text);font-size:1.7rem;line-height:1}.catalog-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:26px 0 22px;display:flex}.catalog-search{border-radius:var(--radius);border:1px solid var(--edge);background:var(--bg-raised);min-width:220px;max-width:360px;min-height:42px;color:var(--text);flex:1;padding:0 16px;font-family:inherit;font-size:.92rem}.catalog-search:focus{border-color:var(--go);box-shadow:0 0 0 3px color-mix(in srgb, var(--go) 22%, transparent);outline:none}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.catalog-count{color:var(--muted);margin-left:auto;font-size:.84rem}.system-switch{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:26px;display:grid}.system-tab{text-align:left;border:1px solid var(--edge);border-radius:var(--radius);background:var(--bg-raised);border-bottom-width:4px;flex-direction:column;gap:2px;padding:14px 18px;transition:border-color .18s,background .18s,transform 80ms,border-bottom-width 80ms;display:flex}.system-tab:hover{border-color:color-mix(in srgb, var(--edge) 70%, var(--muted))}.system-tab:active{border-bottom-width:1px;transform:translateY(3px)}.system-tab.active{border-color:var(--text);background:color-mix(in srgb, var(--text) 7%, var(--bg-raised))}.system-tab__label{font-size:1.02rem;font-weight:600}.system-tab__blurb{color:var(--muted);font-size:.8rem}.catalog-group{margin-top:34px}.catalog-group__heading{color:var(--muted);align-items:center;gap:10px;margin:0 0 14px;font-size:.9rem;font-weight:600;display:flex}.catalog-group__count{border:1px solid var(--border);letter-spacing:0;border-radius:6px;padding:1px 8px;font-size:.72rem}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:24px 20px;display:grid}.catalog-tile{aspect-ratio:3/4;border-radius:var(--card-radius);background:var(--bg-raised);text-align:left;width:100%;box-shadow:inset 0 0 0 var(--card-ring) #ffffffe0,  0 0 0 5px hsla(var(--card-hue,215), 62%, 52%, .1), 0 2px 4px #080c1838, 0 10px 22px -10px #080c1880;border:0;padding:0;transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s;display:block;position:relative;overflow:hidden;container-type:inline-size}@media (hover:hover){.catalog-tile:hover{box-shadow:inset 0 0 0 var(--card-ring) #fff, 0 0 0 7px hsla(var(--card-hue,215), 62%, 52%, .18), 0 4px 8px #080c183d, 0 20px 36px -12px hsla(var(--card-hue,215), 55%, 14%, .62);transform:translateY(-4px)}}.catalog-tile:active{box-shadow:inset 0 0 0 var(--card-ring) #ffffffe0, 0 0 0 4px hsla(var(--card-hue,215), 62%, 52%, .12), 0 1px 2px #080c184d;transition-duration:80ms;transform:translateY(0)scale(.975)}.catalog-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.terrain-art{background:repeating-radial-gradient(circle at var(--blob-1x,30%) var(--blob-1y,26%), #ffffff1c 0 1px, transparent 1px 13px), repeating-radial-gradient(circle at var(--blob-2x,68%) var(--blob-2y,32%), #ffffff0f 0 1px, transparent 1px 17px), radial-gradient(54% 44% at var(--blob-1x,30%) var(--blob-1y,26%), hsla(var(--card-hue,215), calc(88% - var(--sat-drop,0) * 1%), calc(60% + var(--tone,0) * 1%), .8), transparent 68%), radial-gradient(46% 38% at var(--blob-2x,68%) var(--blob-2y,32%), hsla(calc(var(--card-hue,215) + var(--hue-shift,20)), calc(84% - var(--sat-drop,0) * 1%), calc(52% + var(--tone,0) * 1%), .55), transparent 70%), radial-gradient(60% 40% at var(--blob-3x,46%) var(--blob-3y,56%), hsla(var(--card-hue,215), calc(68% - var(--sat-drop,0) * 0.7%), calc(28% + var(--tone,0) * 0.6%), .75), transparent 76%), linear-gradient(160deg, hsl(var(--card-hue,215), calc(56% - var(--sat-drop,0) * 0.7%), calc(24% + var(--tone,0) * 1%)), hsl(var(--card-hue,215), calc(62% - var(--sat-drop,0) * 0.7%), calc(10% + var(--tone,0) * 0.4%)));transition:transform .35s,filter .2s;position:absolute;inset:-1px}@media (hover:hover){.catalog-tile:hover .terrain-art{transform:scale(1.035)}}.catalog-tile:has(.card-art){background:hsl(var(--card-hue,215) 26% 13%)}.card-art{object-fit:cover;object-position:center center;width:calc(100% + 2px);height:calc(100% + 2px);transition:transform .35s;position:absolute;inset:-1px}@media (hover:hover){.catalog-tile:hover .card-art{transform:scale(1.035)}}.catalog-tile--icon{background:hsl(var(--card-hue,215) var(--card-ground-s,40%) var(--card-ground-l,17%));box-shadow:inset 0 0 0 var(--card-ring) rgba(var(--card-ink,255, 255, 255), .16), 0 0 0 5px hsla(var(--card-hue,215), 62%, 52%, .1), 0 2px 4px #080c182e, 0 10px 22px -10px #080c1866}.card-icon{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 5px 7px #080c1847);width:76%;transition:transform .35s cubic-bezier(.2,.7,.3,1);position:absolute;top:7%;left:12%}@media (hover:hover){.catalog-tile--icon:hover{box-shadow:inset 0 0 0 var(--card-ring) rgba(var(--card-ink,255, 255, 255), .22), 0 0 0 7px hsla(var(--card-hue,215), 62%, 52%, .18), 0 4px 8px #080c1833, 0 20px 36px -12px hsla(var(--card-hue,215), 55%, 14%, .5)}.catalog-tile--icon:hover .card-icon{transform:translateY(-4px)scale(1.05)}}.catalog-tile--icon .catalog-tile__body{background:0 0;padding-top:0}.catalog-tile--icon .catalog-tile__title,.catalog-tile--icon .catalog-tile__system{-webkit-text-stroke:0;text-shadow:none}.catalog-tile--icon .catalog-tile__system{opacity:.72}.catalog-tile--icon.is-added{box-shadow:inset 0 0 0 var(--card-ring) var(--go), 0 0 0 5px color-mix(in srgb, var(--go) 22%, transparent), 0 2px 4px #080c182e, 0 10px 22px -10px #080c1866}.catalog-tile__system{z-index:1;font-family:var(--font-title);letter-spacing:.04em;color:rgb(var(--card-ink,255, 255, 255));paint-order:stroke fill;-webkit-text-stroke:2.5px rgba(var(--card-scrim-rgb,4, 7, 16), .55);text-shadow:0 1px 2px rgba(var(--card-scrim-rgb,4, 7, 16), .4);font-size:.72rem;font-weight:700;line-height:1;position:absolute;top:10px;left:12px}.catalog-tile__body{text-align:center;background:linear-gradient(to top, rgba(var(--card-scrim-rgb,4, 7, 16), .86) 0%, rgba(var(--card-scrim-rgb,4, 7, 16), .66) 46%, rgba(var(--card-scrim-rgb,4, 7, 16), 0) 100%);flex-direction:column;align-items:center;gap:2px;padding:14px 14px 15px;display:flex;position:absolute;inset:auto 0 0}.catalog-tile__title{font-family:var(--font-title);font-size:min(1.5rem, calc((100cqw - 28px) / (var(--title-len,8) * .66)));letter-spacing:-.01em;color:rgb(var(--card-ink,255, 255, 255));text-wrap:balance;paint-order:stroke fill;-webkit-text-stroke:3px rgba(var(--card-scrim-rgb,4, 7, 16), .62);text-shadow:0 1px 2px rgba(var(--card-scrim-rgb,4, 7, 16), .45);font-weight:700;line-height:1.08}.catalog-tile__flag{color:#16203a;min-width:42px;height:42px;font-family:var(--font-title);opacity:1;background:#fffffff0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:3px;padding:0;font-size:1.45rem;font-weight:400;line-height:1;transition:transform .16s cubic-bezier(.2,.7,.3,1),background .16s,box-shadow .16s;display:flex;position:absolute;top:12px;right:12px;transform:scale(1);box-shadow:inset 0 0 0 1px #080c180f,0 2px 6px #080c1859}@media (hover:hover){.catalog-tile:hover .catalog-tile__flag{background:#fff;transform:scale(1.08);box-shadow:inset 0 0 0 1px #080c180f,0 4px 12px #080c1866}}.catalog-tile:active .catalog-tile__flag{transition-duration:80ms;transform:scale(.92)}.catalog-tile.is-added .catalog-tile__flag{background:var(--go);color:#fff;padding:0 12px;font-size:1.05rem;font-weight:700;box-shadow:0 2px 6px #080c1859,0 0 0 2px #fffc}.catalog-tile.is-added{box-shadow:inset 0 0 0 var(--card-ring) var(--go), 0 0 0 5px color-mix(in srgb, var(--go) 22%, transparent), 0 2px 4px #080c1838, 0 10px 22px -10px #080c1880}@media (hover:hover){.catalog-tile.is-added:hover{box-shadow:inset 0 0 0 var(--card-ring) var(--go), 0 0 0 7px color-mix(in srgb, var(--go) 30%, transparent), 0 4px 8px #080c183d, 0 20px 36px -12px hsla(var(--card-hue,215), 55%, 14%, .62)}}.catalog-tile.is-locked{filter:grayscale(.6)brightness(.82)}.catalog-tile.is-locked .catalog-tile__flag{font-family:var(--font-mono);letter-spacing:.06em;color:#16203a;background:#ffffffeb;padding:0 13px;font-size:.64rem;font-weight:500}.catalog-tile.is-unready{filter:grayscale(.9)brightness(.92);opacity:.72}.catalog-tile.is-unready:hover,.catalog-tile.is-unready:focus-visible{filter:grayscale(.55)brightness(.98);opacity:.92}.catalog-tile.is-unready .catalog-tile__flag{font-family:var(--font-mono);letter-spacing:.06em;color:#16203a;background:#ffffffe6;padding:0 11px;font-size:.62rem;font-weight:500}.variant-row.is-unready .variant-row__label{color:var(--muted)}.variant-row__soon{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);margin-top:2px;font-size:.62rem;display:block}.subject-tile{aspect-ratio:4/5}.subject-tile__mastery{align-items:center;gap:8px;margin-top:3px;display:flex}.subject-tile__mastery .mastery-bar{background:rgba(var(--card-ink,255, 255, 255), .18);border-radius:3px;flex:1;height:5px;overflow:hidden}.subject-tile__mastery .mastery-fill{border-radius:3px;height:100%;transition:width .3s;display:block}.subject-tile__pct{font-family:var(--font-mono);color:rgba(var(--card-ink,255, 255, 255), .78);font-size:.68rem}.variant-backdrop{z-index:60;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.variant-panel{width:min(420px,100%);padding:22px 22px 18px}.variant-panel:focus{outline:none}.variant-panel__head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.variant-panel__title{letter-spacing:-.02em;margin:0;font-size:1.3rem}.variant-panel__board{color:var(--muted);margin:2px 0 0;font-size:.86rem}.variant-group+.variant-group{margin-top:20px}.variant-group__board{font-family:var(--font-display);color:var(--muted);align-items:center;gap:12px;margin:0 0 10px;font-size:.86rem;font-weight:600;display:flex}.variant-group__board:after{content:"";background:var(--edge);flex:1;height:1px}.variant-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.variant-row{border:1px solid var(--edge);border-radius:var(--radius);background:var(--bg-raised);text-align:left;border-bottom-width:4px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:border-color .15s,background .15s,transform 80ms,border-bottom-width 80ms;display:flex}.variant-row:hover{border-color:color-mix(in srgb, var(--edge) 70%, var(--muted))}.variant-row:active{border-bottom-width:1px;transform:translateY(3px)}.variant-row.is-added{border-color:var(--go);border-bottom-color:var(--go-edge);background:color-mix(in srgb, var(--go) 12%, var(--bg-raised))}.variant-row__label{font-weight:600}.variant-row__state{font-family:var(--font-mono);color:var(--muted);font-size:.74rem}.variant-row.is-added .variant-row__state{color:var(--go-text)}.variant-panel__hint{color:var(--muted);margin:14px 0 0;font-size:.8rem;line-height:1.5}.catalog-empty{color:var(--muted);margin:40px 0}.link-button{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=560px){.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:12px}}.pro-badge{background:linear-gradient(100deg, var(--heat-ramp,var(--hot), var(--cool)));color:#1a1205;font-family:var(--font-mono);letter-spacing:.1em;vertical-align:middle;border-radius:6px;margin-left:8px;padding:1px 7px;font-size:.6rem;font-weight:700;display:inline-block}.pro-badge.tier-pro{color:#0a1228;background:linear-gradient(100deg,#b06bff,#6ea8fe)}.header-pro{text-decoration:none}.upgrade-link{border-color:#f2a93b80}.pricing-hero{text-align:center;margin-bottom:36px}.pricing-hero .eyebrow{justify-content:center}.interval-toggle{background:color-mix(in srgb, var(--text) 7%, transparent);border:1px solid var(--edge);border-radius:var(--radius);gap:4px;margin-top:20px;padding:4px;display:inline-flex}.interval-toggle button{color:var(--muted);background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 18px;font-weight:600;display:inline-flex}.interval-toggle button.active{background:var(--bg-raised);color:var(--text);box-shadow:0 1px 3px #0000002e}.save-pill{background:color-mix(in srgb, var(--go) 16%, transparent);color:var(--go-text);border-radius:6px;padding:1px 6px;font-size:.66rem;font-weight:700}.plan-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:20px;display:grid}.plan-card{background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius-lg);border-bottom-width:4px;flex-direction:column;gap:8px;padding:28px 26px;display:flex;position:relative}.plan-card.featured{border-color:var(--go);border-bottom-color:var(--go-edge);box-shadow:0 24px 60px color-mix(in srgb, var(--go) 18%, transparent)}.plan-card.current{border-color:var(--go);border-bottom-color:var(--go-edge)}.plan-ribbon{background:var(--go);color:#fff;border-radius:6px;padding:3px 12px;font-size:.74rem;font-weight:700;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.plan-name{letter-spacing:-.02em;margin:4px 0 0;font-size:1.5rem}.plan-tagline{color:var(--muted);min-height:2.7em;margin:0;font-size:.9rem;line-height:1.5}.plan-price{align-items:baseline;gap:6px;margin-top:6px;display:flex}.plan-amount{letter-spacing:-.03em;font-size:2.3rem;font-weight:700}.plan-suffix{color:var(--muted);font-size:.9rem}.plan-saving{color:var(--go-text);margin-top:-2px;font-size:.8rem;font-weight:600}.plan-cta{text-align:center;justify-content:center;width:100%;margin:14px 0 6px}.plan-cta-note{text-align:center;color:var(--muted);margin:18px 0 8px;font-size:.85rem;display:block}.plan-feature-list{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.plan-feature-list li{align-items:flex-start;gap:9px;font-size:.9rem;line-height:1.4;display:flex}.feature-tick{color:var(--go-text);flex-shrink:0;font-weight:700}.soon-tag{color:var(--muted);background:#8ca0c82e;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-weight:600}.manage-billing-row{text-align:center;margin-top:26px}.pricing-fineprint{text-align:center;color:var(--muted);margin-top:22px;font-size:.82rem}.upgrade-note{color:var(--muted);margin-bottom:12px}.help-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:26px;display:grid}.help-card{padding:22px 22px 20px}.help-card .help-icon{background:color-mix(in srgb, var(--text) 8%, transparent);width:32px;height:32px;color:var(--muted);border-radius:10px;place-items:center;margin-bottom:12px;display:grid}.help-card h3{letter-spacing:-.01em;margin:0 0 8px;font-size:1.05rem}.help-card p{color:var(--muted);margin:0;font-size:.89rem;line-height:1.6}.faq-list{gap:10px;margin-top:8px;display:grid}.faq-item{border:1px solid var(--edge);border-radius:var(--radius);background:var(--bg-raised);border-bottom-width:4px;overflow:hidden}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;font-size:.95rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--accent);font-size:1.2rem;transition:transform .18s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item .faq-body{color:var(--muted);padding:0 18px 16px;font-size:.9rem;line-height:1.65}.help-contact{flex-wrap:wrap;align-items:center;gap:18px;margin-top:40px;padding:26px;display:flex}.help-contact>div{flex:1;min-width:0}.help-contact h3{margin:0 0 4px}.help-contact p{color:var(--muted);margin:0;font-size:.9rem}.help-contact .primary-button{margin-left:auto}.terrain-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.terrain-tile{background:linear-gradient(165deg, hsla(var(--card-hue,215), 60%, 55%, .13), transparent 52%), var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius-lg);border-bottom-width:4px;flex-direction:column;gap:8px;padding:22px;transition:border-color .18s,transform .18s;display:flex}.terrain-tile:hover{border-color:hsla(var(--card-hue,215), 70%, 65%, .5);transform:translateY(-2px)}.terrain-tile h3{letter-spacing:-.01em;margin:0;font-size:1.2rem}.terrain-tile .terrain-meta{color:var(--muted);font-size:.82rem}.terrain-tile-actions{gap:8px;margin-top:10px;display:flex}.create-form{flex-direction:column;gap:16px;max-width:460px;padding:26px;display:flex}.create-form label{flex-direction:column;gap:7px;font-size:.85rem;font-weight:600;display:flex}.hue-row{flex-wrap:wrap;gap:9px;display:flex}.hue-swatch{background:hsl(var(--swatch-hue,215), 62%, 55%);border:2px solid #0000;border-radius:50%;width:30px;height:30px;transition:transform .12s,border-color .12s}.hue-swatch:hover{transform:scale(1.12)}.hue-swatch.active{border-color:var(--text);transform:scale(1.12)}.editor-field{color:var(--muted);flex-direction:column;gap:6px;margin-bottom:12px;font-size:.8rem;font-weight:600;display:flex}.editor-field input,.editor-field textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:400}.editor-field textarea{resize:vertical;min-height:130px;line-height:1.5}.editor-field input:focus,.editor-field textarea:focus{border-color:var(--accent);outline:none}.editor-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.danger-button{background:var(--hot);border:1px solid var(--hot);border-bottom:4px solid var(--hot-edge);color:#fff;border-radius:var(--radius);text-shadow:0 1px #00000029;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:700;transition:filter .15s,transform 80ms,border-bottom-width 80ms;display:inline-flex}.danger-button:hover{filter:brightness(1.05)}.danger-button:active{filter:none;border-bottom-width:1px;transform:translateY(3px)}.editor-hint{color:var(--muted);margin:10px 0 0;font-size:.8rem;line-height:1.5}.exam-card{max-width:780px}.exam-subhead{color:var(--muted);margin:6px 0 0;font-size:.85rem}.exam-question{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);margin-top:30px;padding:22px 24px}.exam-question__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.exam-question__head h2{letter-spacing:-.01em;margin:0;font-size:1.1rem}.exam-question__meta{color:var(--muted);font-family:var(--font-mono);font-size:.72rem}.exam-part{border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);grid-template-columns:52px 1fr 44px;gap:4px 10px;padding:10px 0;display:grid}.exam-part:first-of-type{border-top:none}.exam-part__label{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;padding-top:2px;font-size:.8rem}.exam-part__body p:first-child{margin-top:0}.exam-part__body p:last-child{margin-bottom:0}.exam-part__marks{font-family:var(--font-mono);color:var(--muted);text-align:right;align-self:end;font-size:.8rem}.exam-reveal{margin-top:14px}.exam-markscheme{border-radius:var(--radius);border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 6%, transparent);margin-top:14px;padding:16px 18px}.exam-markscheme__part{grid-template-columns:52px 1fr;gap:2px 10px;padding:6px 0;display:grid}.exam-markscheme__part ul{margin:0;padding-left:16px}.exam-markscheme__part li{margin:3px 0;font-size:.9rem;line-height:1.5}.exam-guidance{color:var(--muted);grid-column:2;margin:6px 0 0;font-size:.82rem;font-style:italic}.exam-empty{color:var(--muted);margin:40px 0}@media (width<=560px){.exam-part{grid-template-columns:40px 1fr 36px}}.exam-answer{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:.92rem;display:block}.exam-answer:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.exam-part-score{font-family:var(--font-mono);margin-top:6px;font-size:.8rem;font-weight:700}.exam-part-score.is-full{color:#57d9a3}.exam-part-score.is-partial{color:#f0a830}.exam-part-score.is-zero{color:#e0653a}.exam-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.exam-total-score{color:var(--muted);font-size:.92rem}.exam-total-score strong{color:var(--text);font-size:1.05rem}.exam-markscheme__part li.ms-hit{color:#57d9a3}.exam-markscheme__part li.ms-miss{color:color-mix(in srgb, #e0653a 80%, var(--text))}.exam-markscheme__part .ms-tick{font-weight:700}.strictness{align-items:center;gap:8px;margin-top:18px;display:flex}.strictness__label{color:var(--muted);font-size:.82rem}.strictness__option{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:999px;padding:5px 14px;font-size:.82rem;transition:color .15s,border-color .15s,background .15s}.strictness__option:hover{color:var(--text);border-color:var(--accent)}.strictness__option:disabled{opacity:.4;cursor:default}.strictness__option:disabled:hover{color:var(--muted);border-color:var(--border)}.strictness__option.active{background:var(--text);border-color:var(--text);color:var(--bg);font-weight:600}.note-diagram__raster{background:#fff;border-radius:10px;width:100%;max-width:520px;height:auto;margin:0 auto;display:block}.qp-overlay{background:var(--bg);padding:24px 18px 70px}.qp-panel{--card:var(--qp-card,#0e1526);--good:var(--qp-good,#48c78e);--warn:var(--qp-warn,#f0a830);--bad:var(--qp-bad,#e26d6d);--raise:var(--qp-raise,#ffffff0b);--sink:var(--qp-sink,#00000047);--ink:var(--qp-ink,#08111f);--radius:16px;--r-sm:10px;--font-num:"Inter", "Space Grotesk", system-ui, sans-serif;width:min(820px,100%);height:fit-content;color:var(--text);font-family:var(--font-exam);-webkit-font-smoothing:antialiased}:where(.qp-panel) button{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0}.qp-panel .markdown-body>p:first-child{margin-top:0}.qp-panel .markdown-body>p:last-child{margin-bottom:0}.qp-panel .markdown-body img{max-width:100%;height:auto}.qp-n{font-family:var(--font-num)}.qp-answer{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--sink);width:100%;color:var(--text);font:inherit;resize:vertical;box-sizing:border-box;margin-top:8px;padding:11px 14px;font-size:.94rem;line-height:1.5;display:block;overflow:auto}.qp-answer:focus{border-color:var(--accent);outline:none}.qp-top{padding:0 4px 18px;position:relative}.qp-crumbs{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.qp-crumbs button{color:var(--muted);font-size:inherit;cursor:pointer;font:inherit;background:0 0;border:none;padding:2px 0;transition:color .15s}.qp-crumb--home{border-bottom:1px solid #0000;align-items:center;padding-bottom:2px;display:inline-flex}.qp-crumb--home svg{flex:none;width:15px;height:15px;display:block}.qp-crumb--home:hover{color:var(--text);border-bottom-color:currentColor}.qp-crumbs button:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.qp-crumbs [aria-current]{color:var(--text)}.qp-top h1{letter-spacing:-.025em;margin:14px 0 8px;font-size:2.73rem;font-weight:700}.qp-sub{color:var(--muted);margin:0;font-size:1.235rem}.qp-tabs{border-bottom:1px solid var(--border);margin-bottom:20px;display:flex}.qp-tab{color:var(--muted);text-align:center;flex:1;padding:14px 8px;font-size:.98rem;font-weight:600;transition:color .16s;position:relative}.qp-tab:hover{color:var(--text)}.qp-tab[aria-selected=true]{color:var(--accent)}.qp-tab[aria-selected=true]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.qp-bar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;display:flex}.qp-nums{flex-wrap:wrap;flex:1;gap:10px;display:flex}.qp-num{font-family:var(--font-num);border:2px solid var(--border);background:var(--raise);width:46px;height:46px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;font-size:1rem;font-weight:600;line-height:1;transition:all 75ms;display:flex;position:relative}.qp-num:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.qp-num[data-state=typed]{color:var(--text);background:color-mix(in srgb,var(--text) 9%,transparent)}.qp-num[data-state=full]{color:var(--good);border-color:var(--good);background:color-mix(in srgb,var(--good) 18%,transparent)}.qp-num[data-state=partial]{color:var(--warn);border-color:var(--warn);background:color-mix(in srgb,var(--warn) 18%,transparent)}.qp-num[data-state=zero]{color:var(--bad);border-color:var(--bad);background:color-mix(in srgb,var(--bad) 16%,transparent)}.qp-num[aria-current=true]{background:var(--accent);border-color:var(--accent);color:var(--ink)}.qp-num[data-state=full]:hover{background:var(--good);border-color:var(--good);color:color-mix(in srgb,var(--good) 18%,var(--bg))}.qp-num[data-state=partial]:hover{background:var(--warn);border-color:var(--warn);color:color-mix(in srgb,var(--warn) 18%,var(--bg))}.qp-num[data-state=zero]:hover{background:var(--bad);border-color:var(--bad);color:color-mix(in srgb,var(--bad) 16%,var(--bg))}.qp-mark{flex-direction:column;align-items:center;gap:6px;display:flex}.qp-mark__label{opacity:.92;width:140px;height:auto;filter:invert(var(--qp-art-invert,0));display:block}.qp-pill{touch-action:none;cursor:grab;outline:none;flex:none;align-items:center;width:257px;height:38px;display:flex;position:relative}.qp-pill.qp-grabbing{cursor:grabbing}.qp-pill:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 60%,transparent);border-radius:24px}.qp-track{opacity:0;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:100%;position:absolute;inset:0}.qp-pill[data-level=lenient] .qp-track[data-lv=lenient],.qp-pill[data-level=exam] .qp-track[data-lv=exam],.qp-pill[data-level=strict] .qp-track[data-lv=strict]{opacity:1}.qp-track[data-lv=lenient],.qp-track[data-lv=exam],.qp-track[data-lv=strict]{background-image:none}.qp-stop{z-index:1;height:100%;cursor:inherit;flex:1;position:relative}.qp-thumb{z-index:2;opacity:0;pointer-events:none;transform:translate(var(--x,0px),-50%);transition:transform .12s cubic-bezier(0,.75,.08,1);position:absolute;top:50%;left:0}.qp-pill[data-level=lenient] .qp-thumb[data-lv=lenient],.qp-pill[data-level=exam] .qp-thumb[data-lv=exam],.qp-pill[data-level=strict] .qp-thumb[data-lv=strict]{opacity:1;z-index:3}.qp-thumbimg{transform-origin:50%;filter:drop-shadow(0 2px 3px #00000073);height:38px;display:block}@keyframes qp-grow{0%{scale:1}to{scale:1.0518}}@keyframes qp-shrink{0%{scale:var(--s0,1.0518)}to{scale:1}}.qp-thumbimg.qp-grow-move{animation:.12s cubic-bezier(0,.75,.08,1) forwards qp-grow}.qp-thumbimg.qp-grow-tap{animation:40ms cubic-bezier(0,.75,.08,1) forwards qp-grow}.qp-thumbimg.qp-release{animation:50ms cubic-bezier(0,.7,.12,1) forwards qp-shrink}.qp-thumbimg[data-lv=lenient]{width:95px}.qp-thumbimg[data-lv=exam]{width:112px}.qp-thumbimg[data-lv=strict]{width:108px}.qp-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.qp-card__head{align-items:center;gap:12px;padding:16px 20px;display:flex}.qp-badge{font-family:var(--font-num);background:var(--raise);border:1px solid var(--border);border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:.86rem;font-weight:600;line-height:1;display:flex}.qp-card[data-r=full] .qp-badge{border-color:var(--good);color:var(--good)}.qp-card[data-r=partial] .qp-badge{border-color:var(--warn);color:var(--warn)}.qp-card[data-r=zero] .qp-badge{border-color:var(--bad);color:var(--bad)}.qp-grow{flex:1}.qp-marks{color:var(--muted);font-size:.86rem}.qp-card__body{border-top:1px solid var(--border);padding:18px 20px 20px}.qp-prompt{margin:0;font-size:1rem;line-height:1.6}.qp-fig{border-radius:var(--r-sm);text-align:center;background:#fff;margin:14px 0 4px;padding:12px}.qp-fig svg{max-width:260px;height:auto}.qp-fig figcaption{color:#5b6478;margin-top:8px;font-size:.72rem}.qp-item{border-top:1px solid color-mix(in srgb,var(--border) 55%,transparent);grid-template-columns:1fr 32px;align-items:baseline;gap:0 10px;margin-top:14px;padding:14px 0 4px;display:grid}.qp-item:first-of-type{border-top:none}.qp-roman{font-family:var(--font-num);color:var(--muted);font-variant-numeric:tabular-nums;margin-right:2px}.qp-itemtext{grid-column:1;margin:0;font-size:.96rem;line-height:1.5}.qp-itemmarks{font-family:var(--font-num);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;grid-column:2;font-size:.96rem;line-height:1.5}.qp-itembody{grid-column:1/-1}.qp-gridwrap{margin:16px 0 4px;overflow-x:auto}.qp-grid{border-collapse:collapse;width:100%;font-size:.88rem}.qp-grid th{border:1px solid var(--border);background:var(--raise);text-align:center;vertical-align:bottom;padding:10px 12px;font-weight:600}.qp-grid th:first-child{background:0 0;border:none}.qp-grid td{border:1px solid var(--border);text-align:center;padding:0}.qp-rowname{text-align:left;font-weight:500;padding:10px 14px!important}.qp-cell--badrow{background:color-mix(in srgb,var(--bad) 9%,transparent)}.qp-tick{width:100%;height:46px;color:var(--accent);justify-content:center;align-items:center;font-size:1.05rem;transition:background .12s;display:flex}.qp-tick:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,transparent)}.qp-tick:disabled{color:var(--muted);cursor:default}.qp-tick.is-right{color:var(--good)}.qp-tick.is-wrong{color:var(--bad)}.qp-tick.is-wrong[aria-checked=false]:after{content:"—";opacity:.55}.qp-item textarea{margin-top:8px}.qp-ms{margin-top:12px;padding:0}.qp-ms--bare{margin-top:6px;padding:0}.qp-ms h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 9px;font-size:.64rem;font-weight:500}.qp-ms ul{margin:0;padding:0;list-style:none}.qp-ms li{color:var(--muted);padding:2px 0;font-size:.87rem;line-height:1.55}.qp-ms li[data-h="1"]{color:var(--good)}.qp-ms li[data-h="0"]{color:var(--bad);opacity:.9}.qp-self{align-items:center;gap:12px;margin-top:16px;display:flex}.qp-self__t{color:var(--muted);-webkit-user-select:none;user-select:none;cursor:default;font-size:.87rem}.qp-self__box{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--sink);font-family:var(--font-num);cursor:text;align-items:baseline;gap:3px;padding:8px 11px;transition:border-color .15s,background .15s;display:inline-flex}.qp-self__box:focus-within{border-color:var(--accent)}.qp-self__box[data-r]{border-color:#0000}.qp-self__box[data-r]:hover{border-color:color-mix(in srgb,currentColor 55%,transparent)}.qp-self__box[data-r=full]{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}.qp-self__box[data-r=partial]{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.qp-self__box[data-r=zero]{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}.qp-self input{color:var(--text);font:inherit;text-align:center;background:0 0;border:0;padding:0;font-size:1rem;font-weight:600}.qp-self input::placeholder{color:var(--muted);opacity:.7}.qp-self input:focus{outline:none}.qp-self__box[data-r] input{color:currentColor}.qp-self__of{color:var(--muted);-webkit-user-select:none;user-select:none;font-size:1rem;font-weight:600}.qp-self__box[data-r] .qp-self__of{color:color-mix(in srgb,currentColor 62%,transparent)}.qp-self__or{color:var(--muted);-webkit-user-select:none;user-select:none;cursor:default;font-size:.87rem}.qp-msbtn{color:var(--muted);text-underline-offset:3px;padding:4px 2px;font-size:.84rem;text-decoration:underline}.qp-msbtn:hover{color:var(--text)}.qp-automark{cursor:pointer;background:0 0;border:0;padding:2px;transition:transform .12s cubic-bezier(0,.75,.08,1);display:inline-flex;transform:scale(1)}.qp-automark img{width:99px;height:auto;filter:invert(var(--qp-art-invert,0));display:block}.qp-automark:hover{transform:scale(1.07)}.qp-automark.qp-nohover:hover{transform:scale(1)}.qp-automark.qp-pressed,.qp-automark.qp-pressed:hover{transform:scale(.93)}.qp-automark:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.qp-actions{border-top:1px solid var(--border);align-items:center;gap:14px;margin-top:22px;padding-top:18px;display:flex}.qp-step{border-radius:var(--r-sm);color:var(--muted);align-items:center;gap:6px;padding:10px 13px;font-size:.88rem;display:flex}.qp-step:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}.qp-step:disabled{opacity:.28;cursor:default}.qp-spacer{flex:1}.qp-note{color:var(--muted);margin:20px 4px 0;font-size:.79rem;line-height:1.65}.scope-badge{border:1px solid color-mix(in srgb, var(--hot) 45%, transparent);background:color-mix(in srgb, var(--hot) 14%, transparent);color:color-mix(in srgb, var(--hot) 78%, var(--text));font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;cursor:help;border-radius:7px;align-items:center;gap:7px;margin:6px 0 2px;padding:3px 11px 3px 9px;font-size:.66rem;display:inline-flex}.scope-badge__dot{background:var(--hot);border-radius:50%;flex:none;width:6px;height:6px}.scope-badge.full{white-space:normal;flex-wrap:wrap}.scope-badge.full small{letter-spacing:.04em;text-transform:none;opacity:.75;font-size:.9em}.node-panel .scope-badge{background:color-mix(in srgb, var(--hot) 16%, transparent);min-height:24px;font-family:var(--font-display);letter-spacing:0;text-transform:none;border:0;margin:2px 0 8px;padding:3px 9px 3px 8px;font-size:.75rem;font-weight:600}.node-panel .scope-badge small{letter-spacing:0;opacity:.8;font-size:.72rem;font-weight:500}.node-panel .scope-badge.extended{background:color-mix(in srgb, var(--cool) 16%, transparent)}.scope-badge.extended{border-color:color-mix(in srgb, var(--cool) 45%, transparent);background:color-mix(in srgb, var(--cool) 14%, transparent);color:color-mix(in srgb, var(--cool) 78%, var(--text))}.scope-badge.extended .scope-badge__dot{background:var(--cool)}.reading-stack{width:min(58.4em,100%);height:fit-content;font-size:17px}.reading-stack>.qp-crumbs{color:var(--note-muted);flex-wrap:wrap;justify-content:flex-start;margin:0 0 .9em .2em}.reading-stack>.qp-crumbs button{color:var(--note-muted)}.reading-stack>.qp-crumbs button:hover,.reading-stack>.qp-crumbs [aria-current]{color:var(--note-text)}.reading-stack .reading-card{background:var(--note-surface);border-color:var(--note-border);width:100%;box-shadow:var(--note-shadow);color:var(--note-text);padding:2em 2.55em 3.6em}.reading-stack .reading-card .reading-header{text-align:center;margin-bottom:0;display:block}.reading-stack .reading-card .reading-header h1{display:none}.reading-stack .reading-card .scope-badge{margin:.6em auto 0}.reading-stack .reading-card .markdown-body .scope-badge--inline{vertical-align:middle;gap:5px;margin:0;padding:2px 8px 2px 7px;font-size:.58rem;font-weight:400;position:relative;top:-.08em}.reading-stack .reading-card .markdown-body .scope-badge--inline .scope-badge__dot{width:5px;height:5px}.reading-stack .reading-card .markdown-body :is(h1,h2,h3,h4,h5,h6) .scope-badge--inline{margin-left:.15em;top:-.16em}.reading-stack .reading-card .markdown-body{color:var(--note-text);font-family:Lexend,Seravek,Avenir Next,Segoe UI,system-ui,sans-serif;font-size:1em;font-weight:300;line-height:1.45}.reading-stack .reading-card .markdown-body strong{font-weight:700}.reading-stack .reading-card .markdown-body h2,.reading-stack .reading-card .markdown-body h3{border-bottom:none;padding-bottom:0;font-family:inherit;font-weight:700}.reading-stack .reading-card .markdown-body h2{letter-spacing:-.015em;text-align:center;margin:.1em 0 .6em;font-size:2.3em;line-height:1.15}.reading-stack .reading-card .markdown-body h3{letter-spacing:-.01em;margin:4.4em 0 .2em;font-size:1.5em;line-height:1.25}.reading-stack .reading-card .markdown-body h2+h3{margin-top:1.4em}.reading-stack .reading-card .markdown-body figure+h3,.reading-stack .reading-card .markdown-body table+h3{margin-top:2.6em}.reading-stack .reading-card .markdown-body p{margin:0 0 1em}.reading-stack .reading-card .markdown-body ul,.reading-stack .reading-card .markdown-body ol{margin:0 0 1em;padding-left:2.1em}.reading-stack .reading-card .markdown-body li{margin:0 0 .4em}.reading-stack .reading-card .markdown-body li>p{margin:0}.reading-stack .reading-card .markdown-body li>ul,.reading-stack .reading-card .markdown-body li>ol{margin:0 0 1.3em;padding-left:2.1em}.reading-stack .reading-card .markdown-body li>ul>li,.reading-stack .reading-card .markdown-body li>ol>li{margin-bottom:.15em}.reading-stack .reading-card .markdown-body ul ul{list-style:circle}.reading-stack .reading-card .markdown-body ul ul ul{list-style:square}.reading-stack .reading-card .markdown-body li::marker{color:var(--note-muted)}.reading-stack .reading-card .markdown-body code{background:color-mix(in srgb, var(--note-accent) 10%, transparent);color:inherit}@property --note-eq-size{syntax:"<length>";inherits:true;initial-value:16px}.reading-stack[data-notation=maths] .markdown-body{--note-eq-size:1em}.reading-stack[data-notation=maths] .markdown-body code{font-family:inherit;font-size:var(--note-eq-size);font-variant-numeric:tabular-nums;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px;padding:.06em .5em}.reading-stack[data-notation=maths] .markdown-body pre code{font-family:var(--font-mono);background:0 0;padding:0;font-size:.92em}.reading-stack[data-notation=maths] .markdown-body .note-eq-line{margin-top:1.25em;margin-bottom:1.25em;list-style:none}.reading-stack[data-notation=maths] .markdown-body .note-eq-line code{text-align:center;width:fit-content;max-width:100%;margin:0 auto;line-height:1.38;display:block}.reading-stack[data-notation=maths] .markdown-body .note-eq-line code sub,.reading-stack[data-notation=maths] .markdown-body .note-eq-line code sup{font-size:.72em;line-height:0}.reading-stack .reading-card .markdown-body th,.reading-stack .reading-card .markdown-body td{border-color:var(--note-border)}.reading-stack .reading-card .markdown-body th{background:color-mix(in srgb, var(--note-accent) 8%, transparent);font-weight:700}.reading-stack .reading-card .markdown-body figcaption{text-align:center;color:var(--note-text);margin-top:8px;font-size:.9em;font-style:italic;font-weight:600}.reading-stack .reading-card .exam-tip{background:var(--note-bg);border:1px solid var(--note-border);border-left:5px solid var(--note-accent);border-bottom:5px solid var(--note-accent);border-radius:14px;margin:4.4em 0 0;padding:1.7em 1.9em 1.8em;position:relative;box-shadow:0 6px 22px #00000029}.reading-stack .reading-card .exam-tip-badge{background:var(--note-accent);border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:1.1em;display:grid}.reading-stack .reading-card .exam-tip-badge svg{fill:#fff;width:22px;height:22px}.reading-stack .reading-card .exam-tip-label{letter-spacing:-.01em;margin:0 0 .75em;font-size:1.15em;font-weight:700}.reading-stack .reading-card .exam-tip p{margin:0}.reading-stack .reading-card .exam-tip p+p{margin-top:.7em}.note-swatch{width:18px;height:18px;font-size:9px;font-weight:700;line-height:1;font-family:var(--font-reading,"Lexend", system-ui, sans-serif);border:2px solid;border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0000002e}.feedback{z-index:55;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}body:has(.node-panel) .feedback{right:calc(min(440px,100vw - 36px) + 38px)}.feedback__fab{border:1px solid var(--edge);border-radius:var(--radius);background:var(--bg-raised);min-height:42px;color:var(--text);font:inherit;cursor:pointer;border-bottom-width:4px;align-items:center;gap:8px;padding:0 14px;font-size:.84rem;font-weight:600;transition:filter .15s,transform 80ms,border-bottom-width 80ms;display:inline-flex;box-shadow:0 6px 20px #00000038}.feedback__fab:hover{filter:brightness(1.04)}.feedback__fab:active{border-bottom-width:1px;transform:translateY(3px)}.feedback__fab svg{flex:none}.feedback__panel{border:1px solid var(--edge);border-radius:var(--radius);background:var(--bg-raised);width:min(360px,100vw - 40px);box-shadow:var(--shadow);border-bottom-width:4px;padding:16px}.feedback__head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.feedback__head h2{margin:0;font-size:1rem;font-weight:700}.feedback__close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:1.3rem;line-height:1}.feedback__close:hover{color:var(--text)}.feedback__where{color:var(--muted);margin:0 0 10px;font-size:.76rem}.feedback__where code{font-family:var(--font-mono);color:var(--text);font-size:.72rem}.feedback__text{border:1px solid var(--border);background:color-mix(in srgb, var(--text) 4%, transparent);width:100%;color:var(--text);font:inherit;resize:vertical;box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:.88rem;line-height:1.45;display:block}.feedback__text:focus{border-color:var(--accent);outline:none}.feedback__attach{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:10px 0 0;font-size:.78rem;display:flex}.feedback__attach input{accent-color:var(--accent)}.feedback__preview{border:1px solid var(--border);border-radius:8px;width:100%;margin-top:10px;display:block}.feedback__error{color:var(--qp-bad,#e26d6d);margin:10px 0 0;font-size:.78rem}.feedback__actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}@media (width<=560px){.feedback{bottom:12px;right:12px}.feedback__fab span{display:none}}.feedback__tabs{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:9px;gap:2px;margin:6px 0 12px;padding:3px;display:flex}.feedback__tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:6px 10px;font-size:.78rem}.feedback__tabs button.active{background:var(--bg-raised);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0003}.feedback__list{flex-direction:column;gap:8px;max-height:320px;display:flex;overflow-y:auto}.feedback__muted{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}.feedback__item{border:1px solid var(--border);border-radius:8px;padding:9px 11px}.feedback__item-msg{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 6px;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}.feedback__item-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:.7rem;display:flex}.feedback__item-meta code{font-family:var(--font-mono);font-size:.68rem}.feedback__status{background:color-mix(in srgb, var(--muted) 22%, transparent);color:var(--text);border-radius:5px;padding:2px 7px;font-weight:600}.feedback__status.is-in_progress{background:color-mix(in srgb, var(--qp-warn,#f0a830) 22%, transparent);color:var(--qp-warn,#f0a830)}.feedback__status.is-fixed{background:color-mix(in srgb, var(--qp-good,#48c78e) 22%, transparent);color:var(--qp-good,#48c78e)}.fbadmin__gate{text-align:center;max-width:340px;margin:60px auto}.fbadmin__gate input{border:1px solid var(--border);background:var(--bg-raised);width:100%;color:var(--text);font:inherit;text-align:center;box-sizing:border-box;border-radius:8px;margin:14px 0 10px;padding:10px 12px}.fbadmin__row{border:1px solid var(--border);background:var(--bg-raised);border-radius:10px;grid-template-columns:1fr auto;gap:12px;margin-bottom:10px;padding:14px 16px;display:grid}.fbadmin__msg{white-space:pre-wrap;margin:0 0 8px;font-size:.95rem;line-height:1.5}.fbadmin__meta{color:var(--muted);font-size:.72rem;font-family:var(--font-mono);flex-wrap:wrap;gap:10px;margin:0;display:flex}.fbadmin__side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.fbadmin__side select{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:7px;padding:6px 8px;font-size:.78rem}.fbadmin__shot{border:1px solid var(--border);cursor:zoom-in;border-radius:8px;max-width:260px}.fbadmin__filters{gap:8px;margin-bottom:16px;display:flex}.home-card{background:var(--bg-raised);border:1px solid var(--edge);border-radius:var(--radius-lg);border-bottom-width:4px;position:relative}.home-title{letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:700;line-height:1.05}.home-subjects-head{align-items:flex-end;margin:34px 0 18px}.home-subjects-head .section-hint{font-size:.95rem}.resume-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px 26px;display:grid}.resume-card--empty{padding:22px 26px;display:block}.resume-card__face{background:hsl(var(--card-hue,215) var(--card-ground-s,40%) var(--card-ground-l,17%));border-radius:22px;width:110px;height:110px;display:block;position:relative}.resume-card__face img{filter:drop-shadow(0 4px 6px #080c1847);width:80%;position:absolute;top:6%;left:10%}.resume-card .eyebrow,.learn-card .eyebrow{margin-bottom:6px}.resume-card__title{letter-spacing:-.02em;margin:0 0 6px;font-size:1.5rem;font-weight:700;line-height:1.1}.resume-card__meta{color:var(--muted);margin:0 0 10px;font-size:.95rem}.resume-card__bar{width:min(460px,100%);height:8px;display:block}.resume-card__bar .mastery-fill{display:block}.resume-card__actions{flex-wrap:wrap;gap:10px;display:flex}.learn-card{flex-direction:column;gap:12px;margin-top:34px;padding:20px 24px;display:flex}.learn-card__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.learn-card__title{letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:700}.learn-card__theme{color:var(--muted);margin:4px 0 0;font-size:.9rem}.learn-card__count{background:color-mix(in srgb, var(--go) 16%, transparent);height:24px;color:var(--go-text);border-radius:7px;align-items:center;padding:0 9px;font-size:.78rem;font-weight:600;display:inline-flex}.learn-card__map{height:150px;position:relative}.learn-card__map svg{width:100%;height:100%;position:absolute;inset:0}.learn-card__path{fill:none;stroke:var(--edge);stroke-width:4px;stroke-dasharray:8 8;stroke-linecap:round}.learn-card__path--done{stroke:var(--go);stroke-width:5px;stroke-dasharray:none}.learn-card__dot{background:var(--bg-raised);width:26px;height:26px;color:var(--text);border:3px solid var(--go);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;text-decoration:none;transition:transform .15s;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.learn-card__dot:hover{transform:translate(-50%,-50%)scale(1.12)}.learn-card__dot--done,.learn-card__dot--current{background:var(--go);color:var(--go-ink)}.learn-card__dot--current{box-shadow:0 0 0 5px color-mix(in srgb, var(--go) 30%, transparent)}.learn-card__dot--todo{color:var(--muted);border-style:dashed}.learn-card__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.learn-card__foot .primary-button{white-space:normal;text-align:left;max-width:100%}.learn-card__reward{align-items:center;gap:10px;font-size:.85rem;line-height:1.3;display:inline-flex}.learn-card__reward .muted,.learn-card__done{color:var(--muted)}@media (width<=720px){.resume-card{grid-template-columns:auto minmax(0,1fr)}.resume-card__actions{grid-column:1/-1}}.learn-card__head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.learn-card__thumb{background:hsl(var(--card-hue,215) var(--card-ground-s,40%) var(--card-ground-l,17%));border-radius:14px;width:60px;height:60px;display:block;position:relative}.learn-card__thumb img{width:80%;position:absolute;top:6%;left:10%}.learn-card__sub{color:var(--muted);margin:4px 0 0;font-size:.9rem}.learn-card__side{align-items:center;gap:8px;display:flex;position:relative}.learn-card__tag{background:color-mix(in srgb, var(--go) 16%, transparent);height:26px;color:var(--go-text);white-space:nowrap;border-radius:7px;align-items:center;padding:0 9px;font-size:.78rem;font-weight:600;display:inline-flex}.learn-card__dot--topic{border-width:4px;width:30px;height:30px}.learn-card__actions{flex-wrap:wrap;gap:10px;display:flex}.learn-card__actions .primary-button,.learn-card__actions .ghost-button{align-items:center;gap:8px;display:inline-flex}.learn-card__badge{flex:none;align-items:center;gap:10px;max-width:100%;font-size:.85rem;line-height:1.3;display:inline-flex}.learn-card__badge-text{flex-direction:column;min-width:0;display:flex}.learn-card__badge-text b,.learn-card__badge-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.learn-card__badge-text small{color:var(--muted);font-size:.82rem}.learn-card__foot{align-items:center}.learn-card__badge-icon{background:var(--go);width:32px;height:32px;color:var(--go-ink);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.learn-card__next{align-items:center;gap:12px;display:inline-flex}.learn-card__next .eyebrow{margin-bottom:2px;display:block}.learn-card .muted{color:var(--muted)}.learn-picker{z-index:30;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius-lg);width:min(460px,100vw - 40px);max-height:70vh;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:left;border-bottom-width:4px;flex-direction:column;gap:10px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.learn-picker__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.learn-picker__head .muted{color:var(--muted);margin:4px 0 0;font-size:.85rem}.learn-picker__head .panel-close{position:static}.learn-picker__subject{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 0;display:flex}.learn-picker__name{align-items:baseline;gap:8px;display:flex}.learn-picker__name small{color:var(--muted)}.learn-picker__chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--edge);background:var(--bg-raised);height:26px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:600;display:inline-flex}.chip:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.learn-picker__topics{flex-direction:column;display:flex}.learn-picker__stop{align-self:flex-start}.learn-pill{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--edge);border-bottom-width:4px;align-items:center;gap:12px;max-width:min(560px,100%);padding:6px 6px 6px 14px;display:inline-flex}.learn-pill__text{flex-direction:column;gap:2px;min-width:0;display:flex}.learn-pill__text .eyebrow{white-space:nowrap;text-overflow:ellipsis;max-width:340px;margin:0;overflow:hidden}.learn-pill__progress{white-space:nowrap;align-items:center;gap:8px;font-size:.82rem;font-weight:600;display:flex}.learn-pill__progress .mastery-bar{width:90px;height:6px}.learn-pill__progress .mastery-fill{background:var(--go);display:block}.seg{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:12px;padding:3px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:6px 12px;font-size:.82rem;font-weight:600}.seg button.active{background:var(--bg-raised);color:var(--text);box-shadow:0 1px 3px #0000002e}.primary-button.small,.ghost-button.small{white-space:normal;text-align:left;align-items:center;gap:6px;max-width:100%;height:auto;min-height:34px;padding:6px 12px;font-size:.85rem;display:inline-flex}.node-panel .panel-close--corner{z-index:2;border:1px solid var(--edge);background:var(--bg-raised);width:34px;height:34px;color:var(--text);cursor:pointer;border-bottom-width:3px;border-radius:10px;justify-content:center;align-items:center;margin:0;padding:0;transition:transform 80ms,border-bottom-width 80ms,filter .15s;display:flex;position:absolute;top:12px;right:12px}.node-panel .panel-title{margin-bottom:4px;padding-right:44px}.panel-close--corner:hover{filter:brightness(1.06)}.panel-close--corner:active{border-bottom-width:1px;transform:translateY(2px)}.panel-body{flex:auto;min-height:0;margin:-22px;padding:22px;overflow-y:auto}.panel-body:has(+.next-row){margin-bottom:0;padding-bottom:18px}.next-row{border:1px solid var(--edge);border-radius:var(--radius);background:var(--bg-raised);width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;border-bottom-width:4px;flex:none;align-items:center;gap:12px;margin-top:0;padding:12px 12px 12px 14px;transition:transform 80ms,border-bottom-width 80ms;display:flex}.next-row:active{border-bottom-width:1px;transform:translateY(3px)}.next-row__chip{background:color-mix(in srgb, var(--hot) 16%, transparent);height:26px;color:color-mix(in srgb, var(--hot) 78%, var(--text));border-radius:8px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:.85rem;font-weight:700;display:inline-flex}.next-row__text{flex-direction:column;flex:1;min-width:0;display:flex}.next-row__text b{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.98rem;line-height:1.25;display:-webkit-box;overflow:hidden}.next-row__text small{color:var(--muted);font-size:.82rem}.next-row__go{border:1px solid var(--edge);border-bottom-width:3px;border-radius:10px;flex:none;justify-content:center;align-items:center;width:38px;height:34px;display:inline-flex}.panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-crumb{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem}.panel-crumb:hover{color:var(--text);text-decoration:underline}.panel-crumb--here{cursor:default}.panel-crumb--here:hover{color:var(--muted);text-decoration:none}.panel-kind{margin:0 0 8px}.panel-kind--learn{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-kind--learn .eyebrow{margin:0}.panel-tag{background:color-mix(in srgb, var(--text) 8%, transparent);height:24px;color:var(--muted);border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:.75rem;font-weight:600;display:inline-flex}.panel-tag--done,.panel-tag--next{background:color-mix(in srgb, var(--go) 18%, transparent);color:var(--go-text)}.node-panel .panel-title{margin-bottom:8px;font-size:1.45rem}.node-panel .panel-summary{margin-bottom:14px}.action-button>span:last-child{flex-direction:column;display:flex}.learn-box{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--edge);border-left:4px solid var(--go);border-bottom-width:4px;flex-direction:column;gap:8px;margin-top:16px;padding:14px;display:flex}.learn-box p{margin:0;font-size:.85rem;line-height:1.4}.learn-box .muted{color:var(--muted)}.learn-box__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.learn-box__head .eyebrow{margin:0}.learn-box__topic{font-size:.95rem}.learn-box__bar .mastery-fill{background:var(--go);display:block}.learn-box__actions{flex-wrap:wrap;gap:8px;display:flex}.part-list{flex-direction:column;margin-top:18px;display:flex}.part-list .eyebrow{margin-bottom:4px}.part-row{border:0;border-top:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;align-items:center;gap:10px;padding:9px 4px;display:flex}.part-list .part-row:first-of-type{border-top:0}.part-row:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.part-row--current{background:color-mix(in srgb, var(--go) 12%, transparent)}.part-row--then{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:14px}.part-row__dot{border-radius:50%;flex:none;width:10px;height:10px}.part-row__title{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:.9rem;line-height:1.25;display:-webkit-box;overflow:hidden}.part-row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.part-row__text b{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.25;display:-webkit-box;overflow:hidden}.part-row__text small,.part-row__text .eyebrow{color:var(--muted);margin:0;font-size:.78rem}.part-row__bar{flex:none;width:84px;height:6px;display:block}.part-row__bar .mastery-fill{display:block}.part-row__pct{text-align:right;width:38px;color:var(--muted);flex:none;font-size:.8rem}.thread-seg{fill:none;stroke-linecap:round}.thread-seg--done{stroke:var(--go);stroke-width:4px}.thread-seg--next{stroke:var(--go);stroke-width:3px;stroke-dasharray:8 6}.thread-seg--later{stroke:var(--go);stroke-width:2.5px;stroke-dasharray:2.5 6;opacity:.7}.thread-bead{cursor:pointer}.thread-disc{fill:var(--bg);stroke:var(--go);stroke-width:2.5px}.thread-num{fill:var(--go-text);font-family:var(--font-display);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:11px;font-weight:700}.thread-bead--done .thread-disc{fill:var(--go);stroke:var(--go)}.thread-bead--done .thread-num{fill:#1f2530}.thread-bead--next .thread-disc{stroke-width:3.5px}.thread-halo{fill:none;stroke:var(--go);stroke-width:6px;opacity:.3}.terrain-map.lod-far .thread-num{display:none}.step-chain-wrap{margin:2px 0 4px}.step-chain{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step-chain__row{flex-direction:column;align-items:flex-start;display:flex}.step-chain__row--back{align-items:flex-end}.step-chain__beads{align-items:center;display:flex}.step-chain__row--back .step-chain__beads{flex-direction:row-reverse}.step-chain__turn{background:var(--go);width:4px;height:12px;margin:0 0 0 13px;display:block}.step-chain__row--back .step-chain__turn{margin:0 13px 0 0}.step-chain__item{align-items:center;display:flex}.step-chain__row--back .step-chain__item{flex-direction:row-reverse}.step-chain__item+.step-chain__item:before{content:"";background:var(--go);width:14px;height:4px}.step-chain__bead{border:2.5px solid var(--go);background:var(--bg-raised);width:30px;height:30px;color:var(--go-text);font:inherit;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.82rem;font-weight:700;transition:transform .12s;display:inline-flex}.step-chain__bead:hover{transform:scale(1.1)}.step-chain__item--done .step-chain__bead{background:var(--go);border-color:var(--go);color:#1f2530}.step-chain__item--current .step-chain__bead{border-width:3px}.step-chain__item--here .step-chain__bead{box-shadow:0 0 0 4px color-mix(in srgb, var(--go) 30%, transparent);transform:scale(1.14)}.step-chain__item--here .step-chain__bead:hover{transform:scale(1.22)}.jump-button{border:1px solid var(--edge);background:var(--bg-raised);height:38px;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:11px;align-items:center;gap:8px;padding:0 12px;font-size:.88rem;display:inline-flex}.jump-button:hover{color:var(--text);border-color:var(--text)}.jump-button kbd{font-family:var(--font-mono);border:1px solid var(--edge);border-radius:5px;padding:1px 6px;font-size:.7rem}.jump-button--compact{justify-content:center;width:38px;padding:0}.jump-overlay{z-index:200;background:var(--bg-overlay);justify-content:center;align-items:flex-start;padding:8vh 16px 16px;display:flex;position:fixed;inset:0}.jump-palette{background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius-lg);width:min(680px,100%);max-height:80vh;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-width:4px;flex-direction:column;display:flex;overflow:hidden}.jump-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:14px 16px;display:flex}.jump-input input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:1.05rem}.jump-input kbd,.jump-foot kbd{font-family:var(--font-mono);border:1px solid var(--edge);color:var(--muted);border-radius:6px;padding:2px 7px;font-size:.7rem}.jump-list{padding:6px 8px;overflow:auto}.jump-group{color:var(--muted);padding:10px 8px 4px;font-size:.8rem;font-weight:600}.jump-row{width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:9px 8px;display:flex}.jump-row--hi{background:color-mix(in srgb, var(--text) 8%, transparent)}.jump-dot{border-radius:50%;flex:none;width:10px;height:10px}.jump-text{flex-direction:column;flex:1;min-width:0;display:flex}.jump-text b{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.25;display:-webkit-box;overflow:hidden}.jump-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.jump-bar{flex:none;width:100px;height:6px;display:block}.jump-bar .mastery-fill{display:block}.jump-pct{text-align:right;width:38px;color:var(--muted);font-size:.8rem}.jump-empty{color:var(--muted);text-align:center;margin:0;padding:24px 12px}.jump-foot{border-top:1px solid var(--border);color:var(--muted);gap:16px;padding:10px 16px;font-size:.8rem;display:flex}.jump-foot__hint{margin-left:auto}@media (width<=900px){.app-header .jump-button span,.app-header .jump-button kbd{display:none}.app-header .jump-button{justify-content:center;width:38px;padding:0}}.soon-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.soon-card{align-items:center;gap:14px;padding:20px 24px;display:flex}.soon-mark{background:color-mix(in srgb, var(--text) 8%, transparent);width:32px;height:32px;color:var(--muted);border-radius:10px;flex:none;place-items:center;display:grid}.soon-text{flex:1;min-width:0}.soon-text h3{font-family:var(--font-title);letter-spacing:-.01em;margin:0 0 3px;font-size:1.02rem}.soon-text p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.45}.soon-pill{background:color-mix(in srgb, var(--text) 9%, transparent);height:26px;color:var(--text);white-space:nowrap;border-radius:8px;flex:none;align-items:center;padding:0 11px;font-size:.85rem;font-weight:700;display:inline-flex}@media (width<=560px){.soon-card{flex-wrap:wrap;align-items:flex-start;row-gap:12px}.soon-text{flex:calc(100% - 46px)}.soon-pill{margin-left:46px}}.lab-shell{flex-direction:column;gap:28px;display:flex}.lab-hero{flex-direction:column;gap:6px;display:flex}.lab-hero h1{margin:0}.lab-hero p{color:var(--muted);max-width:62ch}.lab-back{align-self:flex-start}.lab-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px 0 2px;font-size:.78rem}.lab-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.lab-module-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-align:left;flex-direction:column;gap:8px;padding:18px;transition:border-color .15s,transform .15s;display:flex}.lab-module-tile:hover{border-color:var(--accent);transform:translateY(-2px)}.lab-module-icon{font-size:1.4rem;line-height:1}.lab-module-tile h3{margin:0;font-size:1.02rem}.lab-module-tile p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.lab-module-meta{color:var(--accent);margin-top:auto;padding-top:6px;font-size:.76rem;font-weight:600}.lab-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.lab-card+.lab-card{margin-top:14px}.lab-card h2,.lab-card h3{margin-top:0}.lab-empty{color:var(--muted);font-size:.92rem}.lab-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.lab-field label{color:var(--muted);font-size:.82rem}.lab-option-row{flex-wrap:wrap;gap:8px;display:flex}.lab-option-row .chip{cursor:pointer}.lab-option-row .chip.active{color:var(--bg);background:var(--accent);border-color:var(--accent)}.lab-option-row .chip.correct{color:var(--text);background:#2eb8732e;border-color:#33cc80}.lab-option-row .chip.incorrect{border-color:var(--hot);color:var(--text);background:#ee452b29}.confidence-slider{flex-direction:column;gap:10px;display:flex}.confidence-slider input[type=range]{width:100%;accent-color:var(--accent)}.confidence-slider-value{font-family:var(--font-mono);font-size:1.4rem;font-weight:600}.confidence-slider-labels{color:var(--muted);justify-content:space-between;font-size:.74rem;display:flex}.lab-chart{width:100%;height:auto;overflow:visible}.lab-chart-bar{fill:var(--accent)}.lab-chart-bar.dim{fill:color-mix(in srgb, var(--muted) 55%, transparent)}.lab-chart-axis{stroke:var(--border);stroke-width:1px}.lab-chart-label{fill:var(--muted);font-size:9px;font-family:var(--font-mono)}.lab-chart-value{fill:var(--text);font-size:10px;font-family:var(--font-mono)}.lab-chart-line{fill:none;stroke:var(--accent);stroke-width:2px}.lab-chart-line.secondary{stroke:var(--muted);stroke-dasharray:4 3}.lab-chart-ref{stroke:var(--border);stroke-dasharray:3 3}.meter-track{background:color-mix(in srgb, var(--border) 70%, transparent);border-radius:3px;height:10px;overflow:hidden}.meter-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s,background .3s}.energy-meter{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;display:flex}.energy-meter .meter-track{width:80px}.energy-meter.low .meter-fill{background:var(--hot)}.lab-stat-row{flex-wrap:wrap;gap:14px;margin:10px 0 4px;display:flex}.lab-stat{border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);min-width:110px;padding:12px 16px}.lab-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;display:block}.lab-stat-value{font-size:1.6rem;font-weight:700;font-family:var(--font-mono)}.lab-insight-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.lab-insight{border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:color-mix(in srgb, var(--bg-raised) 60%, transparent);gap:10px;padding:12px 14px;font-size:.88rem;line-height:1.5;display:flex}.lab-insight-icon{flex:none;font-size:1rem}.lab-insight.good{border-color:color-mix(in srgb, var(--cool,var(--accent)) 45%, var(--border))}.protocol-list,.review-checklist{color:var(--text);flex-direction:column;gap:8px;margin:14px 0 20px;padding-left:22px;display:flex}.review-checklist{list-style:"☐  "}.exam-runner{flex-direction:column;gap:16px;display:flex}.exam-topbar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.exam-progress-strip{flex-wrap:wrap;flex:1;gap:6px;display:flex}.exam-pill{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);font-size:.76rem;font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:50%;transition:all .15s}.exam-pill:hover{border-color:var(--accent)}.exam-pill.answered{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--text);border-color:var(--accent)}.exam-pill.skipped{border-color:var(--hot);color:var(--hot)}.exam-pill.current{outline:2px solid var(--accent);outline-offset:2px}.panic-button{flex:none}.panic-overlay{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.breathing-circle{background:radial-gradient(circle, var(--accent), transparent 70%);opacity:.7;border-radius:50%;width:90px;height:90px;margin-bottom:16px;animation:8s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.4;transform:scale(.7)}50%{opacity:.85;transform:scale(1.15)}}.exam-question{transition:box-shadow .2s}.exam-question.urgent{box-shadow:0 0 0 1px var(--hot)}.exam-question.shake{animation:.5s ease-in-out infinite exam-shake}@keyframes exam-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.exam-question-meta{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:.78rem;display:flex}.exam-timer{font-family:var(--font-mono)}.exam-question.urgent .exam-timer{color:var(--hot);font-weight:700}.exam-actions{gap:10px;margin-top:14px;display:flex}.choice-button.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent)}.replay-timeline{flex-direction:column;margin:10px 0 0;padding:0;list-style:none;display:flex}.replay-event{border-top:1px solid var(--border);padding:12px 0}.replay-event:first-child{border-top:none}.replay-event-head{align-items:baseline;gap:10px;font-size:.9rem;display:flex}.replay-event-order{font-family:var(--font-mono);color:var(--muted)}.replay-event-node{flex:1;font-weight:600}.replay-event-time{font-family:var(--font-mono);color:var(--muted);font-size:.82rem}.replay-event-body{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:.84rem;display:flex}.replay-tag{border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:.74rem}.lab-actions-row{flex-wrap:wrap;gap:12px;display:flex}.trap-row{border-top:1px solid var(--border)}.trap-row.first{border-top:none}.trap-header{text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:14px;padding:18px 22px;display:flex}.trap-quote{color:var(--muted);flex:1;font-style:italic}.trap-name{font-weight:600}.trap-chevron{color:var(--muted);transition:transform .15s}.trap-chevron.open{transform:rotate(180deg)}.trap-body{flex-direction:column;gap:10px;padding:0 22px 22px;display:flex}.trap-check{border-top:1px dashed var(--border);margin-top:6px;padding-top:14px}.decision-facts{color:var(--muted);flex-direction:column;gap:6px;margin:14px 0 20px;padding:0;font-size:.92rem;list-style:none;display:flex}.decision-facts li:before{content:"— "}.construction-list{flex-direction:column;gap:8px;margin:10px 0 18px;padding-left:22px;list-style:decimal;display:flex}.construction-list li button{text-align:left;background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;padding:10px 12px}.construction-list li button:hover:not(:disabled){border-color:var(--accent)}.construction-list li span{color:var(--muted);padding:10px 12px;display:block}.construction-pool{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.language-preview{background:color-mix(in srgb, var(--bg-raised) 60%, transparent);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 16px;padding:16px 18px;font-size:1rem;line-height:1.7}.language-flag{background:color-mix(in srgb, var(--hot) 30%, transparent);color:var(--text);cursor:help;border-radius:3px;padding:0 2px}
