@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAaEABMAAAAADFgAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJpBmA/U1RBVIE4AFwvbBEICoJ8gkMLFAAwhCoBNgIkAyIEIAWGUAdiDAcbvgpRVHJOI/viwCYyfSFrJjFIG8raYpYj9+IeSF0s6zD+Lk/4OGrZHhHV+wvt2ffuWPwlA51lIICIosSVmyOKEs5Uzlx3NKeXIgn1ssCydUybDV0IHga+SszIyfrQe9bLTFNxjayzgs76hNsDoSYtRe32fiJ4gxBjrP8L+w//zzHjv7Yqyr9o2vOBDXhCo2jMtr4uwAK/gV1U0PxAq/EAD+yW9EoKOL1KLw8rHrFgCSgRTQRzBzpeXVhweEDlyfY8gIoOa2CQJzrTAHIIoitTMVV2dyFwpJ2iAEQTpSkhPitxD3YwuZHEagTcAhyKAcBmUyPdhTovJThOw6HYiaF2M/J7erdi2OUutor6ES6Ac88AvfZvKpb6fJoArohb524042j6Jij36NI7P8Pb7s721naN9gcTtcjXQP4l+8BKEzFVGMxxoHqlq8Ul4LGneFJBDFaOdKpLPcg8P14YSDwIcn75hdlyJLTBlZ4voL6tT46yC/njunXqpJ0/bSvmrH1o3kRlwZ+j0DBogkF3KbDRVBlbOc+fY5HVXwPoT9hfekPnyZMaEmenYLMSg5npqegFOsgXsBv1IoF9aIVfSCNHkk6+gIzILsiYuhWQCfUtZEpbkRntQxBZgw7MwFbMcRvwJrAnBlDqs7isLtL7pO84Xru1i7ah7tckH1Wreqq6K9u0amxU1bcff/s2Y1ni3rh2I8zHzqkm3PGvv3mzC6NDBz/UcOBIg+nm88rxN8MbdtypvHUL5o1c2zG0urYpRmW+VHZdiba6GXN/3v0B3i3nt4RBsbfAu8ftLqRcTIlZ4VYheFTAS5nXLS65VZrbuW3daF2Ze1ChyGXWZN6u9nUuH1LfyTERifZXEpIueMe28vF8FOoTnsONzw+1djo9P71lZGx1vM8mH/BhvSa2HDsRZ1+Ul+RmpnPOIaEuwWnZZdkgQWAAyCDDZ1wk+0sh7wseAAwA6UlHxbftCgYAAwKAgwIAEA7ACfHIRbV7J6dwF/ZzcRRmAjXUYKAGWAlDCCFmKnH+LJEQfHKEmVrfmKwSEab36AcubXQBoDYJV/aRV+funFD8wAXLSLYbwr9+DR+h/qZIKCfeqRG5ghHpdY0zcV2nuz5iJMhAFjaTDwOcoyKGG9JHrCfdp4cC+kCvUrxc7+bliIMiHj95sPIbUeWZEP/HLnN2tlr9EBeRiktHuWvErx98fRz1MuEvHO3FDRgtsSzL/P0hsDLK2n5/uHMOjvTst0HD6t+80ZN798j7j//kjqHxIOZDFPR/FxurFD6/HxGbB799RPHLx5F89MoBOub9jVuOWtmPH3o9H3r26DIuff+LqPLwff/xryDRmiAYmjxiK0GwS9XU+k8QpUrHsCTs4qH89Fv44ubWbQmOE51M7J8Pt8+h+NKt3zZpa2L9zZqcRlyEc4MaNGdfjQCxgIygn78ne4yAzcLWA3zAJ6RRGbijvHr1W+XN8ywrG0EoZSySb0/A9KsllI7Q/Pq8hLu76tfTy5cF4X8bQxTtYp2vr6/+1oI4AhgAlNYFryt62VaX9ktO6VsAeDLeWx6fff4vdV1ts7N6+gw9GCsQnqPB0QUttB9nEc7Aaf4XM0NQ90VJ+HV1rG04znGCmXcpPCA9+nxdMPgPlT7Dz83NMfZuMJaNeRqbc+tjd2QER/b0B44d7nv5Rif7VC8svYkx9SKWwb3YzN2M3cY8jSNLl+PYZqfjxNTxOLXVCmfmduDc0ty1kLbjeiGfIrDFJXWPTTMD5TKupR8cpZgJeXTofId8NoUj6E8XfAc2k4WPdbCberDYAp8Q7L5dUo8wE8cs9QINZYvwXKzvBS4v/n+fQZkGrrFysKEIuFBgjQpxiHH1XA+ZBI+C+oAoxhYKECc42rGOc8L4mYhsiThGfFjOcKmFubPpDgwnY1918Fwo8ouenDJxvGP96HFWJ28hiOy251oKjkcbGz2POMme8CTMThx6wqOPsFtPI6j6HhDyDTxFQYnL88FcXGAGHl3ZuueRbEuxbK6Hc84ZDvRrREtLzyjj8Xkd/uShR1b0sYd8Nh8/c8znxCnadxQcf2nFVWIyw1g+4StXav9j75s+CQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.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:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.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:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.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:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.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:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.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:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-O_YjL27c.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:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.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:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.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:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.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-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.9"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}@layer tokens{:root{--font-body:"Hanken Grotesk Variable", system-ui, -apple-system, sans-serif;--font-heading:var(--font-body);--font-display:"Space Grotesk Variable", system-ui, sans-serif;--font-numeric:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--type-micro:.75rem;--type-caption:.8125rem;--type-small:.9375rem;--type-body:1rem;--type-title:1.625rem;--type-hero:2.5rem;--leading-tight:1.2;--leading-ui:1.4;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:22px;--space-2xl:32px;--space-3xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--icon-pictogram:36px;--target-min:44px;--z-scene-guide:20;--linked-dim:.4;--motion-fast:.15s;--motion-medium:.28s;--motion-slow:.45s;--motion-ease-out:cubic-bezier(.22, 1, .36, 1);--motion-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--layout-panel:358px;--layout-gutter:var(--space-md);--layout-panel-gap:var(--space-md);--elevation-sm:0 1px 2px #0000004d;--elevation-md:0 2px 4px #0000003d, 0 10px 24px #0000004d;--elevation-lg:0 4px 10px #00000042, 0 20px 48px #00000061;--bevel-rim:#00000059;--bevel-sheen:#ffffff29}:root[data-theme=light]{--elevation-sm:0 1px 2px #1c16260f;--elevation-md:0 1px 2px #1c16260d, 0 6px 18px #1c162617;--elevation-lg:0 2px 6px #1c162612, 0 16px 40px #1c16261f;--bevel-rim:#0f121e24;--bevel-sheen:#ffffff4d}}@layer reset{*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{font-size:100%}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--type-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.45}::selection{background:color-mix(in srgb, var(--accent) 40%, transparent)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kx,.kxb{color:var(--ink)}.kx .katex{font-size:1.02em}}@layer primitives{.sec-t,.gtit .lab{font-family:var(--font-body);font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.app{flex-direction:row;height:100dvh;display:flex;overflow:hidden}.body{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}main{grid-template-columns:minmax(0, 1fr) var(--layout-panel);gap:var(--layout-panel-gap);padding:var(--layout-gutter);flex:1;min-height:0;display:grid}.stage{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);min-height:0;position:relative;overflow:hidden}.world{position:absolute;inset:0}.aside-toggle{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:9px var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--ink);font:500 var(--type-small) var(--font-body);cursor:pointer;display:flex}.aside-chev{border-right:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);width:7px;height:7px;transition:transform var(--motion-fast) var(--motion-ease-out);transform:rotate(45deg)translateY(-2px)}.aside-chev.up{transform:rotate(225deg)translateY(-1px)}.eq-summary{cursor:pointer;align-items:center;gap:var(--space-sm);list-style:none;display:flex}.eq-summary::-webkit-details-marker{display:none}.eq-summary .sec-h{flex:1;margin:0}.eq-chev{flex:none;transform:rotate(-45deg)}details[open]>.eq-summary .eq-chev{transform:rotate(45deg)translateY(-2px)}.world canvas,.world svg{width:100%;height:100%;display:block}.lln-strip{pointer-events:none;height:44px;position:absolute;top:14px;left:14px;right:14px}.lln-flip{pointer-events:auto;cursor:pointer;transition:opacity var(--motion-fast);background:0 0;border:none;padding:0}.lln-flip:hover:not(:disabled){opacity:.82}.lln-flip:disabled{cursor:default}@keyframes gt-pulse{0%,to{opacity:.35}50%{opacity:.95}}.gt-pulse{animation:.9s ease-in-out infinite gt-pulse}.ibtn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--muted);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.ibtn:hover{color:var(--ink);background:var(--control);transform:translateY(-1px)}.ibtn:active{transform:scale(.88)}.tb-share.ok{color:var(--mint);background:color-mix(in srgb, var(--mint) 12%, transparent)}.ibtn.on{color:var(--accent);background:var(--control);border-color:var(--border)}.ibtn:disabled{opacity:.3;cursor:default;transform:none}.ovbar{top:var(--space-md);left:var(--space-md);z-index:3;gap:var(--space-xs);border-radius:var(--radius-md);background:var(--glassStrong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--borderSoft);flex-direction:column;padding:5px;display:flex;position:absolute}.ovbar .ibtn{width:34px;height:34px}.ovbar .ibtn svg{width:19px;height:19px}.ovbar .ibtn.on{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:color-mix(in srgb, var(--accent) 50%, transparent);color:var(--accent)}.ovbar .ibtn.txt{width:auto;min-width:40px;height:auto;min-height:40px;padding:0 var(--space-md);font-family:var(--font-numeric);font-size:var(--type-caption);letter-spacing:.02em;font-weight:700;line-height:1.1}.ibtn.labeled{width:auto;height:auto;min-height:34px;font-family:var(--font-body);font-size:var(--type-caption);white-space:nowrap;justify-content:flex-start;gap:6px;padding:0 10px 0 7px;font-weight:600;line-height:1.1}.ibtn-label{color:inherit}@media (width<=720px){.ovbar .ibtn.labeled{justify-content:center;width:34px;padding:0}.ovbar .ibtn.labeled .ibtn-label{display:none}}.ovsep{height:1px;margin:2px var(--space-xs);background:var(--borderSoft)}.hud{top:var(--space-md);right:var(--space-lg);z-index:3;min-width:132px;max-width:min(220px, calc(100% - 2 * var(--space-lg)));padding:var(--space-sm) var(--space-md);border:1px solid var(--borderSoft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--glass) 88%, transparent);box-shadow:var(--elevation-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;flex-direction:column;align-items:flex-end;display:flex;position:absolute}.hud-composite{align-items:stretch;gap:var(--space-sm)}.hud-toggle{width:22px;height:22px;color:var(--faint);cursor:pointer;pointer-events:auto;transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-self:flex-end;align-items:center;margin:-2px -2px 0 0;display:inline-flex}.hud-toggle:hover{color:var(--ink);background:var(--glass)}.hud-collapsed{min-width:0;padding:var(--space-xs);gap:0}.hud-value{justify-content:space-between;align-items:baseline;gap:var(--space-md);font-family:var(--font-numeric);font-variant-numeric:tabular-nums;margin:0;display:flex}.hud-value dt,.hud-group-label,.hud-status>span{color:var(--faint);font-size:var(--type-caption)}.hud-value dd{color:var(--muted);text-align:right;margin:0;font-weight:500}.hud-value.hud-strong{flex-direction:column;align-items:flex-end;gap:0}.hud-value.hud-strong dd{color:var(--mint);font-size:var(--type-hero);letter-spacing:-.02em;line-height:1.05}.hud-value.hud-quiet dd{color:var(--faint);font-size:var(--type-caption)}.hud-value.hud-positive dd,.hud-status.hud-positive strong{color:var(--mint)}.hud-value.hud-warning dd,.hud-status.hud-warning strong{color:var(--amber)}.hud-group{gap:var(--space-xs);flex-direction:column;display:flex}.hud-group-values{gap:var(--space-md);display:flex}.hud-group-stack .hud-group-values{flex-direction:column;gap:1px}.hud-group-row .hud-value{flex-direction:column;gap:0}.hud-status{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.hud-status strong{color:var(--ink);font-family:var(--font-numeric);font-size:var(--type-small);font-weight:600}@media (width<=720px){.hud-phone-hide{display:none}}.banner{top:var(--space-md);z-index:3;gap:var(--space-sm);max-width:calc(100% - 440px);padding:7px var(--space-md);border-radius:var(--radius-pill);background:var(--glassStrong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--borderSoft);font-size:var(--type-caption);color:var(--muted);max-width:52%;animation:drop-in var(--motion-medium) var(--motion-ease-spring) both;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.banner span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.banner.ok{border-color:color-mix(in srgb, var(--mint) 50%, transparent);color:var(--ink)}.banner.ok b{color:var(--mint)}.banner.no{border-color:color-mix(in srgb, var(--amber) 45%, transparent);color:var(--ink)}.banner.no b{color:var(--amber)}.stage-task{top:var(--space-md);z-index:3;max-width:min(52%,520px);padding:7px var(--space-md);border-radius:var(--radius-pill);background:var(--glassStrong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--borderSoft);font-size:var(--type-caption);line-height:var(--leading-ui);color:var(--ink);text-align:center;text-wrap:pretty;pointer-events:none;margin:0;position:absolute;left:50%;transform:translate(-50%)}.stage:has(.banner) .stage-task{display:none}.stage-dock{top:var(--space-md);right:var(--space-lg);z-index:3;padding:var(--space-sm) var(--space-md);border:1px solid var(--borderSoft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--glass) 88%, transparent);box-shadow:var(--elevation-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;flex-direction:column;align-items:flex-end;gap:2px;display:flex;position:absolute}.stage-dock-label{font-size:var(--type-micro);letter-spacing:.04em;color:var(--muted)}.stage-dock-value{font-size:var(--type-title);font-weight:500;line-height:var(--leading-tight);color:var(--ink);font-variant-numeric:tabular-nums}.stage:has(.hud) .stage-dock{top:auto;bottom:calc(var(--space-md) + 58px)}.tbar{left:var(--space-md);right:var(--space-md);bottom:var(--space-md);z-index:3;align-items:center;gap:var(--space-sm);padding:7px var(--space-md);border-radius:var(--radius-md);background:var(--glassStrong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--borderSoft);display:flex;position:absolute}.tbar[data-transport=sim]{flex-wrap:wrap}.tbar[data-transport=sim]>button{min-width:var(--target-min);min-height:var(--target-min);flex-shrink:0}.pbtn{background:var(--accent);width:36px;height:36px;color:var(--onAccent);cursor:pointer;box-shadow:0 0 18px color-mix(in srgb, var(--accent) 40%, transparent);transition:transform var(--motion-fast) var(--motion-ease-spring), filter var(--motion-fast);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.pbtn:hover{filter:brightness(1.12);transform:scale(1.08)}.pbtn:active{transform:scale(.9)}.sbtn{min-width:38px;height:25px;font-family:var(--font-numeric);font-size:var(--type-caption);background:var(--control);color:var(--muted);border:1px solid var(--borderSoft);cursor:pointer;transition:color var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);border-radius:7px}.sbtn:hover{color:var(--ink)}.sbtn:active{transform:scale(.92)}.tclock{font-size:var(--type-caption);color:var(--faint);text-align:right;min-width:92px}.tbar[data-transport=sim] .tclock{white-space:nowrap;flex-shrink:0;margin-left:auto}.tspace{flex:1}.ibtn:disabled{opacity:.35;pointer-events:none}.stepcap{left:var(--space-md);bottom:calc(var(--space-md) + 58px);z-index:3;max-width:72%;padding:var(--space-xs) 10px;border-radius:var(--radius-sm);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--borderSoft);font-size:var(--type-caption);color:var(--muted);position:absolute}.dragpt{cursor:grab}.dragpt:active{cursor:grabbing}.dragpt:focus{outline:none}.dragpt:focus .dragpt-dot{stroke:var(--ink)}.dragpt-ring{transform-box:fill-box;transform-origin:50%}.dragpt.untouched .dragpt-ring{animation:dragpt-pulse 1.8s var(--motion-ease-out) infinite}@keyframes dragpt-pulse{0%{opacity:.7;transform:scale(.85)}to{opacity:0;transform:scale(1.9)}}input[type=range]{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--raised);border:2px solid var(--accent);width:14px;height:14px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 40%, transparent);cursor:grab;transition:transform var(--motion-fast) var(--motion-ease-spring);border-radius:50%}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.2)}input[type=range]::-moz-range-thumb{background:var(--raised);border:2px solid var(--accent);width:14px;height:14px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 40%, transparent);cursor:grab;transition:transform var(--motion-fast) var(--motion-ease-spring);border-radius:50%}input[type=range]:hover::-moz-range-thumb{transform:scale(1.2)}input[type=range]:active::-moz-range-thumb{transform:scale(1.35)}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.35)}input[type=range]:disabled::-webkit-slider-thumb{border-color:var(--faint);box-shadow:none}.scrub{flex:1}.tbar[data-transport=sim] .scrub{flex:1 1 calc(var(--target-min) * 3);min-width:var(--target-min);height:var(--target-min);background:linear-gradient(var(--border), var(--border)) center / 100% 3px no-repeat}aside{background:var(--panel);border:1px solid var(--borderSoft);border-radius:var(--radius-lg);scrollbar-width:thin;scrollbar-color:var(--border) transparent;min-height:0;overflow-y:auto}aside::-webkit-scrollbar{width:8px}aside::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.sec{padding:var(--space-lg)}.sec+.sec{border-top:1px solid var(--borderSoft)}.sec.params{background:color-mix(in srgb, var(--acc,var(--accent)) 5%, transparent)}.sec.params+.sec{border-top:none}.sec-h{margin-bottom:var(--space-md);color:var(--muted);align-items:center;gap:7px;display:flex}.sec-h svg{flex:none;width:15px;height:15px}.sec.params .sec-h{color:var(--acc,var(--accent))}.sec.graphs .sec-h,.sec.energy .sec-h{color:var(--faint)}.sec-r{background:var(--borderSoft);flex:1;height:1px}.sec-hero{font-size:var(--type-title);color:var(--ink);font-weight:500;line-height:1}.sec-hero small{font-size:var(--type-caption);color:var(--faint)}.sec.connections .sec-h{color:var(--faint)}.conn-groups{gap:var(--space-md);flex-direction:column;display:flex}.conn-row{gap:var(--space-xs);flex-direction:column;display:flex}.conn-k{align-items:center;gap:var(--space-xs);font-size:var(--type-caption);color:var(--faint);display:inline-flex}.conn-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:8px;height:8px}.conn-links{gap:var(--space-xs);flex-wrap:wrap;display:flex}.conn-chip{border-radius:var(--radius-sm);border:1px solid var(--borderSoft);background:var(--control);height:26px;color:var(--muted);font-family:var(--font-body);font-size:var(--type-caption);cursor:pointer;transition:color var(--motion-fast) var(--motion-ease-out), border-color var(--motion-fast) var(--motion-ease-out);align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.conn-chip:hover{color:var(--ink);border-color:var(--border)}@media (pointer:coarse){.conn-chip{height:auto;min-height:var(--target-min)}}.sec.misconceptions .sec-h{color:var(--faint)}.miscon-list{gap:var(--space-md);flex-direction:column;display:flex}.miscon-item{gap:var(--space-xs);flex-direction:column;display:flex}.miscon-myth,.miscon-fact{font-size:var(--type-caption);color:var(--muted);margin:0;line-height:1.5}.miscon-tag{margin-right:var(--space-sm);font-size:var(--type-caption);color:var(--acc-coral)}.miscon-fact .miscon-tag{color:var(--acc-mint)}.prow{align-items:center;column-gap:var(--space-sm);min-height:36px;padding:var(--space-xs) 0;grid-template-columns:minmax(0,1fr) 88px 14px;row-gap:2px;display:grid}.prow>.psym{grid-column:1/-1}.prow.locked{opacity:.5}.psym{align-items:baseline;gap:var(--space-sm);min-width:0;color:var(--muted);display:flex}.pname{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--type-caption);color:var(--muted);overflow:hidden}.psym .katex{font-size:1.05em}.prow input[type=range]{width:100%}.pval{font-size:var(--type-small);text-align:right;color:var(--ink)}.pval small{color:var(--faint);font-size:var(--type-micro)}.pval-edit{cursor:text;border:none;border-bottom:1px dashed var(--borderSoft);background:0 0;padding:0}.pval-edit:hover,.pval-edit:focus-visible{border-bottom-color:var(--muted)}.pval-input{background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-sm);width:64px;padding:2px var(--space-xs);color:var(--ink);font-size:var(--type-small)}.pval-input::-webkit-outer-spin-button{-webkit-appearance:none}.pval-input::-webkit-inner-spin-button{-webkit-appearance:none}.plock{color:var(--faint);display:flex}.prow-enum{grid-template-columns:minmax(0,1fr) 14px;height:auto;min-height:36px}.penum{gap:var(--space-xs);flex-wrap:wrap;display:flex}.penum .tt-wrap{flex:none}.pchip{border-radius:var(--radius-sm);border:1px solid var(--borderSoft);background:var(--control);height:26px;color:var(--muted);font-family:var(--font-body);font-size:var(--type-caption);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease-out), color var(--motion-fast) var(--motion-ease-out), border-color var(--motion-fast) var(--motion-ease-out);flex:none;padding:0 10px}.pchip:hover:not(:disabled){color:var(--ink)}.pchip.on{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:color-mix(in srgb, var(--accent) 50%, transparent);color:var(--accent)}.pchip:disabled{opacity:.5;cursor:default}.psel-wrap{min-width:0;display:block;position:relative}.psel-wrap:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:6px;height:6px;position:absolute;top:50%;right:11px;transform:translateY(-70%)rotate(45deg)}.psel{border-radius:var(--radius-sm);border:1px solid var(--borderSoft);background:var(--control);width:100%;height:30px;color:var(--ink);font-family:var(--font-body);font-size:var(--type-caption);cursor:pointer;appearance:none;text-overflow:ellipsis;transition:border-color var(--motion-fast) var(--motion-ease-out), color var(--motion-fast) var(--motion-ease-out);padding:0 26px 0 10px}.psel:hover:not(:disabled){border-color:color-mix(in srgb, var(--acc,var(--accent)) 50%, transparent)}.psel:focus-visible{border-color:var(--acc,var(--accent));outline:none}.psel:disabled{opacity:.5;cursor:default}.prow-interval .prange{align-items:center;height:14px;display:flex;position:relative}.prange-track{background:var(--border);border-radius:2px;height:3px;position:absolute;left:0;right:0}.prange-fill{background:var(--acc,var(--accent));border-radius:2px;height:3px;position:absolute}.prange-in{pointer-events:none;background:0 0;width:100%;height:14px;margin:0;position:absolute;left:0;right:0}.prange-in::-webkit-slider-thumb{pointer-events:auto}.prange-in::-moz-range-thumb{pointer-events:auto}.prange-in::-moz-range-track{background:0 0}.tfill-hint{margin:0 0 var(--space-sm);font-size:var(--type-micro);color:var(--faint);line-height:1.45}.tfill{border-collapse:collapse;width:100%}.tfill-h{font-family:var(--font-numeric);font-size:var(--type-micro);text-align:left;padding:0 0 var(--space-xs);border-bottom:1px solid var(--borderSoft);font-weight:400}.tfill-c{font-size:var(--type-caption);font-variant-numeric:tabular-nums;text-align:left;padding:3px 0}.tfill-read{color:var(--muted)}.tfill-ink{color:var(--ink)}.tfill-muted{color:var(--muted)}.tfill-violet{color:var(--accent)}.tfill-mint{color:var(--mint)}.tfill-row.lit{background:color-mix(in srgb, var(--accent) 10%, transparent)}.tfill-cyc,.tfill-num{border-radius:var(--radius-sm);border:1px solid var(--borderSoft);background:var(--control);min-width:34px;height:24px;color:inherit;font-family:var(--font-numeric);font-size:var(--type-caption);font-variant-numeric:tabular-nums;text-align:left;padding:0 6px}.tfill-cyc{align-items:center;gap:var(--space-xs);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease-out), border-color var(--motion-fast) var(--motion-ease-out);display:inline-flex}.tfill-cyc:hover:not(:disabled){background:var(--raised)}.tfill-cyc.empty{color:var(--faint)}.tfill-num{width:56px}.tfill-c.ok .tfill-cyc,.tfill-c.ok .tfill-num{color:var(--mint);border-color:#0ba06c8c}.tfill-c.bad .tfill-cyc,.tfill-c.bad .tfill-num{border-color:color-mix(in srgb, var(--amber) 60%, transparent);color:var(--amber)}.tfill-cyc:disabled,.tfill-num:disabled{opacity:.55;cursor:default}.tt-wrap{display:inline-flex;position:relative}.tt-bubble{z-index:20;width:max-content;max-width:220px;padding:var(--space-sm) 10px;border-radius:var(--radius-sm);background:var(--glassStrong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--borderSoft);color:var(--ink);font-size:var(--type-caption);text-align:left;pointer-events:none;line-height:1.35;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.set-group{gap:var(--space-md);flex-direction:column;display:flex}.set-group-h{font-family:var(--font-numeric);font-size:var(--type-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--border);padding-bottom:5px}}@layer scientist{.scientist-moment{right:var(--space-md);z-index:8;align-items:flex-end;gap:var(--space-xs);max-width:min(33rem,92%);translate:var(--keep-clear-x,0px) var(--keep-clear-y,0px);pointer-events:none;flex-direction:row-reverse;display:flex;position:absolute;bottom:3.2rem}.scientist-moment:is([data-corner=bottom-left],[data-corner=top-left]){flex-direction:row}.scientist-moment:is([data-corner=bottom-left],[data-corner=top-left]) .scientist-moment-copy{border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm)}.scientist-moment:is([data-corner=bottom-left],[data-corner=top-left]) .scientist-moment-copy:after{left:-.42rem;right:auto;rotate:180deg}.scientist-actor{aspect-ratio:1;width:6.5rem;filter:drop-shadow(0 .65rem .75rem color-mix(in srgb, var(--ink) 30%, transparent));flex:none}.scientist-actor svg{width:100%;height:100%;display:block}.scientist-motion-preview{aspect-ratio:3/5;transform-origin:50% 86%;width:12rem;display:block;overflow:visible}.scientist-motion-preview img{object-fit:contain;transform-origin:50% 86%;width:100%;height:100%;display:block}.scientist-motion-preview[data-motion=idle]>:is(img,.scientist-actor){animation:2.4s ease-in-out infinite scientist-idle}.scientist-motion-preview[data-motion=listen]>:is(img,.scientist-actor){animation:2.8s ease-in-out infinite scientist-listen}.scientist-motion-preview[data-motion=speak]>:is(img,.scientist-actor){animation:.48s ease-in-out infinite scientist-speak}.scientist-motion-preview[data-motion=point]>:is(img,.scientist-actor){animation:1.1s cubic-bezier(.22,.8,.32,1) both scientist-point}.scientist-motion-preview[data-motion=react]>:is(img,.scientist-actor){animation:.85s cubic-bezier(.2,.9,.3,1) both scientist-react}@keyframes scientist-idle{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(-1.5%)scaleY(1.012)}}@keyframes scientist-listen{0%,to{transform:rotate(-1deg)translateY(0)}50%{transform:rotate(1.8deg)translateY(-1%)}}@keyframes scientist-speak{0%,to{transform:translateY(0)rotate(-.4deg)}50%{transform:translateY(-1.2%)rotate(.7deg)}}@keyframes scientist-point{0%,to{transform:rotate(0)translate(0)}45%,70%{transform:rotate(-4deg)translate(-3%)}}@keyframes scientist-react{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-8%)scale(1.035)}58%{transform:translateY(1%)scale(.99)}}@media (prefers-reduced-motion:reduce){.scientist-motion-preview>:is(img,.scientist-actor){animation:none!important;transform:none!important}}.scientist-character{cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0;line-height:0}.scientist-character:disabled{cursor:default}.scientist-character:not(:disabled):hover{transform:translateY(-.15rem)scale(1.03)}.scientist-character:focus-visible{outline:2px solid var(--accent);outline-offset:.2rem;border-radius:var(--radius-lg)}.scientist-moment-copy{pointer-events:auto;gap:var(--space-xs);max-width:17rem;padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);background:linear-gradient(150deg, color-mix(in srgb, var(--raised) 94%, var(--accent) 6%), var(--panel));box-shadow:var(--elevation-md);margin-bottom:1.6rem;display:grid;position:relative}.scientist-moment-copy:after{content:"";border-right:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));border-top:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));background:var(--panel);width:.8rem;height:.8rem;position:absolute;bottom:1rem;right:-.42rem;transform:rotate(45deg)}.scientist-moment-copy p{color:var(--muted);font-size:var(--type-caption);margin:0;line-height:1.5}.scientist-moment-copy strong{color:var(--ink)}.scientist-speech-foot{align-items:center;gap:var(--space-sm);display:flex}.scientist-speech-dots{gap:.28rem;display:inline-flex}.scientist-speech-dots i{background:color-mix(in srgb, var(--muted) 42%, transparent);border-radius:50%;width:.34rem;height:.34rem}.scientist-speech-dots i.on{background:var(--accent)}.scientist-speech-actions{justify-content:flex-end;gap:var(--space-xs);margin-left:auto;display:flex}.scientist-speech-actions button{background:var(--control);width:2.75rem;height:2.75rem;color:var(--muted);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid}@media (width<=720px){.scientist-actor{width:5rem}.scientist-motion-preview{width:6.5rem}.scientist-moment-copy{max-width:11rem}}}@layer knowledge{.kmap{background:radial-gradient(120% 90% at 50% 40%, color-mix(in srgb, var(--raised) 45%, var(--bg)) 0%, var(--bg) 62%, color-mix(in srgb, var(--bg) 88%, black) 100%);min-height:0;animation:kmap-fade var(--motion-slow) var(--motion-ease-out) both;flex:1;position:relative;overflow:hidden}:root[data-theme=light] .kmap{background:radial-gradient(120% 90% at 50% 40%, var(--panel) 0%, var(--bg) 70%)}.kmap-svg{touch-action:none;cursor:grab;width:100%;height:100%;position:absolute;inset:0}.kmap-svg:active{cursor:grabbing}.kmap-hull{opacity:.11;transition:opacity var(--motion-slow) var(--motion-ease-out)}:root[data-theme=light] .kmap-hull{opacity:.09}.kmap-hull.dim{opacity:.04}.kmap-hull.off{opacity:.02}.kmap-terr{animation:kmap-fade var(--motion-slow) var(--motion-ease-out) both}.kmap-edge{fill:none;stroke:var(--border);opacity:.3;transition:opacity var(--motion-medium) var(--motion-ease-out)}.kmap-edge.k-prerequisite_of{opacity:.22;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:kmap-draw var(--motion-medium) var(--motion-ease-out) var(--d) both}.kmap-edge:not(.k-prerequisite_of){animation:kmap-fade var(--motion-slow) var(--motion-ease-out) var(--d) both}.kmap-edge.road{stroke:var(--acc-violet);stroke-width:1.8px;opacity:.9}.kmap-edge.next{stroke:var(--acc-violet);stroke-width:1.8px;stroke-dasharray:4 4;stroke-dashoffset:0;animation:kmap-fade var(--motion-slow) var(--motion-ease-out) var(--d) both;opacity:.7}.kmap-edge.hov{opacity:.9;stroke-width:2px}.kmap-edge.hov.k-prerequisite_of{stroke:var(--muted)}.kmap-svg.has-sel .kmap-edge{opacity:.16}.kmap-svg.has-sel .kmap-edge.far{opacity:.06}.kmap-svg.has-sel .kmap-edge.on{opacity:1;stroke-width:2.2px}.kmap-svg.has-sel .kmap-edge.on.k-prerequisite_of{stroke:var(--muted)}.kmap-edge.off{opacity:.03}.kmap-arrow{fill:var(--muted)}.kmap-part{fill:var(--faint);font-family:var(--font-numeric);letter-spacing:.12em;text-transform:uppercase;opacity:.85;pointer-events:none;transition:opacity var(--motion-medium) var(--motion-ease-out);font-size:10.5px}.kmap-part.off{opacity:.15}.kmap-parts,.kmap-labels,.kmap-hud,.kmap-zoom,.kmap-hint{animation:kmap-rise var(--motion-medium) var(--motion-ease-out) .62s both}.kmap-legend{animation:kmap-fade var(--motion-medium) var(--motion-ease-out) .62s both}.kmap-node{cursor:pointer;transform-box:fill-box;transform-origin:50%;transition:opacity var(--motion-medium) var(--motion-ease-out);animation:kmap-bloom var(--motion-slow) var(--motion-ease-spring) calc(.32s + var(--i) * 28ms) both;outline:none}.kmap-hit{fill:#0000}.kmap-dot{fill:var(--acc-c);transition:r var(--motion-fast) var(--motion-ease-out), opacity var(--motion-fast)}.kmap-node.dark .kmap-dot{opacity:.42}.kmap-node.started .kmap-dot{fill:var(--bg);stroke:var(--acc-c);stroke-width:2px}.kmap-halo{fill:var(--acc-c);opacity:.55}:root[data-theme=light] .kmap-halo{opacity:.28}.kmap-node.here .kmap-halo{opacity:.7}.kmap-node.sel .kmap-halo{opacity:.8}.kmap-ring{fill:none;stroke:var(--ink);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:kmap-ring-in var(--motion-slow) var(--motion-ease-spring) both}.kmap-beacon{fill:none;stroke:var(--acc-c);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:kmap-breathe 2.4s var(--motion-ease-out) infinite}.kmap-beacon.b2{animation-delay:1.2s}.kmap-node:hover .kmap-dot,.kmap-node:focus-visible .kmap-dot,.kmap-node.peek .kmap-dot,.kmap-node.near .kmap-dot{opacity:1}.kmap-node:focus-visible .kmap-dot{stroke:var(--ink);stroke-width:1.5px}.kmap-node.far{opacity:.12}.kmap-node.far.near{opacity:1}.kmap-node.off{opacity:.06;pointer-events:none}.kmap-label{fill:var(--faint);font-family:var(--font-body);paint-order:stroke;stroke:var(--bg);stroke-width:3.5px;pointer-events:none;font-size:11px;font-weight:600}.kmap-label.lit{fill:var(--muted)}.kmap-hud,.kmap-legend,.kmap-zoom,.kmap-hint{background:color-mix(in srgb, var(--panel) 78%, transparent);border:1px solid var(--borderSoft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:absolute}.kmap-hud{left:var(--space-lg);top:var(--space-lg);border-radius:var(--radius-pill);box-shadow:var(--elevation-md);align-items:center;gap:6px;padding:6px;display:flex}.kmap-subjects{align-items:center;gap:2px;display:flex}.kmap-subject{border-radius:var(--radius-pill);width:36px;height:36px}.kmap-subject.on{background:color-mix(in srgb, var(--acc-c,var(--accent)) 16%, transparent);border-color:#0000}.kmap-subject.physics{--acc-c:var(--acc-violet)}.kmap-subject.math{--acc-c:var(--acc-amber)}.kmap-subject.chemistry{--acc-c:var(--acc-coral)}.kmap-subject.on{color:var(--acc-c)}.kmap-hud-rule{width:1px;height:22px;margin:0 var(--space-xs);background:var(--borderSoft)}.kmap-hero{justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.kmap-hero svg{position:absolute;inset:0}.kmap-hero-track{fill:none;stroke:var(--control);stroke-width:3px}.kmap-hero-arc{fill:none;stroke:var(--acc-violet);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray var(--motion-slow) var(--motion-ease-out)}.kmap-hero-n{font-size:var(--type-caption);color:var(--ink)}.kmap-hero-of{font-size:var(--type-micro);color:var(--faint);padding-right:10px}.kmap-legend{left:50%;bottom:var(--space-lg);padding:var(--space-sm) 14px;border-radius:var(--radius-pill);color:var(--faint);font-size:var(--type-micro);align-items:center;gap:14px;margin:0;list-style:none;display:flex;transform:translate(-50%)}.kmap-legend li{align-items:center;gap:7px;display:flex}.kmap-sample{flex:none;display:block}.kmap-zoom{right:var(--space-lg);bottom:var(--space-3xl);padding:var(--space-xs);border-radius:14px;flex-direction:column;gap:2px;display:flex}.kmap-zoom .ibtn{border-radius:10px;width:36px;height:36px}.kmap-hint{padding:var(--space-sm) 14px;border-radius:var(--radius-pill);color:var(--muted);font-size:var(--type-caption);margin:0;bottom:72px;left:50%;transform:translate(-50%)}.kmap-card{left:var(--card-x,auto);top:var(--card-y,var(--space-lg));right:var(--card-r,auto);width:300px;max-height:calc(100% - 2 * var(--space-lg));box-sizing:border-box;gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-lg);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 92%, transparent);border:1px solid color-mix(in srgb, var(--acc-c) 35%, var(--border));box-shadow:var(--elevation-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:kmap-card-in var(--motion-medium) var(--motion-ease-out) both;flex-direction:column;display:flex;position:absolute;overflow:auto}.kmap-card:not([style*=--card-x]){--card-r:var(--space-lg)}.kmap-card-h{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.kmap-kick{justify-content:space-between;align-items:baseline;gap:var(--space-sm);color:var(--acc-c);flex:1;display:flex}.kmap-here{letter-spacing:0;text-transform:none;color:var(--faint)}.kmap-h2{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.25rem;font-weight:700;line-height:1.15}.kmap-card .sec{padding:var(--space-sm) 0 0}.kmap-traps{border-top:1px solid var(--borderSoft);padding-top:var(--space-sm)}.kmap-traps summary{align-items:center;gap:var(--space-sm);cursor:pointer;color:var(--muted);font-size:var(--type-caption);list-style:none;display:flex}.kmap-traps summary::-webkit-details-marker{display:none}.kmap-traps[open] summary svg:last-child{transform:rotate(90deg)}.kmap-count{color:var(--faint);margin-left:auto}.kmap-cta{min-height:var(--target-min);margin-top:var(--space-xs);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--acc-c) 68%, var(--ink));color:var(--bg);font-size:var(--type-small);justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.kmap-cta:hover{color:var(--bg);background:color-mix(in srgb, var(--acc-c) 55%, var(--ink))}@keyframes kmap-fade{0%{opacity:0}}@keyframes kmap-draw{to{stroke-dashoffset:0}}@keyframes kmap-bloom{0%{opacity:0;transform:scale(.2)}}@keyframes kmap-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes kmap-card-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes kmap-ring-in{0%{opacity:0;transform:scale(.4)}}@keyframes kmap-breathe{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.kmap,.kmap-terr,.kmap-edge,.kmap-parts,.kmap-labels,.kmap-hud,.kmap-legend,.kmap-zoom,.kmap-hint,.kmap-node,.kmap-ring,.kmap-beacon,.kmap-card{animation:none}.kmap-edge.k-prerequisite_of{stroke-dashoffset:0}.kmap-beacon{opacity:.7;transform:scale(1.5)}.kmap-beacon.b2{opacity:.35;transform:scale(2.1)}}@media (width<=720px){.kmap-legend{display:none}.kmap-hud{left:var(--space-md);top:var(--space-md)}.kmap-zoom{right:var(--space-md);bottom:auto;top:var(--space-md)}.kmap-hint{top:72px;bottom:auto}.kmap-card{width:auto;max-height:60%;animation:kmap-sheet-in var(--motion-medium) var(--motion-ease-out) both;border-width:1px 0 0;border-radius:20px 20px 0 0;inset:auto 0 0}.kmap-card:before{content:"";background:var(--border);border-radius:2px;width:36px;height:4px;margin:0 auto 2px;display:block}}@keyframes kmap-sheet-in{0%{opacity:0;transform:translateY(24px)}}}@layer instruments{.truth-table-board,.lc-stage{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-lg);flex-direction:column;display:flex;position:absolute;inset:0}.truth-table-board__formula,.lc-formula{font-size:var(--type-hero);color:var(--ink)}.truth-table-board__table{border-collapse:collapse;font-size:var(--type-body)}.truth-table-board__table th,.truth-table-board__table td{text-align:center;border:1px solid var(--borderSoft);padding:10px 20px}.truth-table-board__table th{color:var(--muted);background:var(--raised);font-weight:600}.truth-table-board__result-heading{min-width:64px}.truth-table-board__result.t{color:var(--mint);background:color-mix(in srgb, var(--mint) 10%, transparent);font-weight:700}.truth-table-board__result.f{color:var(--accent);font-weight:700}.lc-verdict{padding:var(--space-sm) 28px;border-radius:var(--radius-lg);font-family:var(--font-numeric);font-size:var(--type-hero);font-weight:700}.lc-verdict.t{color:var(--mint);background:color-mix(in srgb, var(--mint) 12%, transparent)}.lc-verdict.f{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.sf-editable{align-items:center;gap:var(--space-xs);padding:6px var(--space-md);border-radius:var(--radius-md);cursor:text;background:0 0;border:none;flex-direction:column;display:flex}.sf-editable:hover,.sf-editable:focus-visible{background:var(--raised);outline:none}.sf-editable-hint{font-size:var(--type-caption);color:var(--faint);opacity:0;transition:opacity .12s}.sf-editable:hover .sf-editable-hint,.sf-editable:focus-visible .sf-editable-hint{opacity:1}.lc-edit{align-items:center;gap:var(--space-sm);flex-direction:column;width:min(92%,520px);display:flex}.lc-edit-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--control);width:100%;color:var(--ink);font-family:var(--font-body);font-size:var(--type-title);text-align:center;padding:.5rem .75rem;line-height:1.4}.lc-edit-input::placeholder{color:var(--faint);font-size:var(--type-body)}.lc-edit-input:focus-visible{border-color:var(--action);outline:none}.lc-edit-actions{gap:var(--space-lg);justify-content:center;align-items:center;display:flex}.lc-edit-actions .ibtn{white-space:nowrap;flex-shrink:0;width:auto}.lc-edit-cancel{cursor:pointer;color:var(--muted);font:inherit;font-size:var(--type-small);background:0 0;border:none}.lc-compose-error{color:var(--danger);margin:0;font-size:.85rem}.prow-toggle .pswitch{align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-xs) 0;background:0 0;border:none;display:flex}.pswitch-track{border-radius:var(--radius-pill);background:var(--control);border:1px solid var(--border);width:44px;height:24px;transition:background .12s,border-color .12s;position:relative}.pswitch-thumb{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .12s,background .12s;position:absolute;top:2px;left:2px}.pswitch.on .pswitch-track{background:color-mix(in srgb, var(--mint) 30%, transparent);border-color:color-mix(in srgb, var(--mint) 55%, transparent)}.pswitch.on .pswitch-thumb{background:var(--mint);transform:translate(20px)}.pswitch-state{font-size:var(--type-small);color:var(--muted);text-align:left;min-width:3ch}.pswitch.on .pswitch-state{color:var(--ink)}.lprops-practice-bar{bottom:var(--space-md);z-index:3;gap:var(--space-sm);align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.lprops-practice-streak{color:var(--faint);font-size:.85rem}.truth-table-board__emphasis td{background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 45%, transparent)}.linf-ce{align-items:center;gap:var(--space-sm);padding:6px var(--space-lg);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);display:flex}.linf-ce-label{color:var(--accent);font-weight:700;font-size:var(--type-small);text-transform:uppercase;letter-spacing:.04em}.linf-ce-row{color:var(--ink);font-size:var(--type-body)}.sdim-formula{justify-content:center;align-items:baseline;gap:var(--space-sm);font-size:var(--type-hero);color:var(--ink);flex-wrap:wrap;display:flex}.sdim-eq,.sdim-plus{color:var(--muted)}.sdim-term{border-bottom:3px solid #0000;padding-bottom:3px}.sdim-brackets{width:min(440px,100%);height:132px;position:relative}.lpred-domain{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;max-width:420px;display:flex}.lpred-chip{min-width:var(--target-min);border-radius:var(--radius-md);border:1.5px solid var(--borderSoft);background:var(--control);height:44px;font-family:var(--font-numeric);font-size:var(--type-title);cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease-out), box-shadow var(--motion-fast) var(--motion-ease-out);padding:0 6px;font-weight:700}.lpred-chip:hover{transform:translateY(-1px)}.lpred-chip.t{color:var(--mint);background:color-mix(in srgb, var(--mint) 12%, transparent);border-color:color-mix(in srgb, var(--mint) 40%, transparent)}.lpred-chip.f{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.lpred-chip.sel{box-shadow:0 0 0 2.5px var(--ink)}.lpred-detail{font-family:var(--font-numeric);font-size:var(--type-body);color:var(--muted)}.lpred-detail b{color:var(--ink)}.sf-sentence{max-width:46ch;font-family:var(--font-body);font-size:var(--type-title);color:var(--ink);text-align:center;margin:0;line-height:1.5}.sf-mark{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;font-style:italic;font-weight:600;text-decoration-thickness:2px}.aregex-tree{padding:var(--space-xs) 0;flex:none;justify-content:center;display:flex;overflow-x:auto}.aregex-node{flex-direction:column;align-items:center;gap:6px;display:flex}.aregex-box{min-width:28px;height:28px;padding:0 var(--space-sm);border-radius:var(--radius-sm);background:var(--raised);border:1px solid var(--border);font-family:var(--font-numeric);font-size:var(--type-small);color:var(--muted);justify-content:center;align-items:center;display:flex}.aregex-box.lit{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:var(--accent);color:var(--accent);font-weight:700}.aregex-children{border-top:1px solid var(--borderSoft);gap:14px;padding-top:2px;display:flex}.ie-quickstart{flex-wrap:wrap;gap:6px;display:flex}.ie-hint{margin:var(--space-sm) 0 0;color:var(--faint);font-size:var(--type-micro);align-items:center;gap:6px;display:flex}.pendulum-board .scene-mark{pointer-events:none}}@layer evidence{.eqrow{padding:var(--space-sm);margin:2px calc(-1 * var(--space-sm));border-radius:var(--radius-sm);transition:background var(--motion-fast);flex-direction:column;gap:2px;display:flex}.eqrow.lit{background:color-mix(in srgb, var(--accent) 14%, transparent)}.eqrow.eqpick{background:color-mix(in srgb, var(--mint) 12%, transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--mint) 45%, transparent)}.eqrow-main{align-items:center;gap:var(--space-sm);display:flex}.eqpick-tag{align-items:center;gap:var(--space-xs);padding:1px var(--space-sm);border-radius:var(--radius-pill);font-size:var(--type-micro);color:var(--mint);background:color-mix(in srgb, var(--mint) 18%, transparent);font-weight:700;display:inline-flex}.eqrow .katex{font-size:1.02em}.eqline{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.qterm{padding:0 var(--space-xs);border-radius:var(--radius-sm);color:inherit;font:inherit;cursor:pointer;transition:background var(--motion-fast), box-shadow var(--motion-fast);background:0 0;border:0;align-items:center;display:inline-flex}.qterm.lit{background:color-mix(in srgb, var(--accent) 38%, var(--panel));box-shadow:inset 0 -3px 0 var(--accent)}.eqsub{font-size:var(--type-caption);color:var(--muted);padding-left:2px}.eqnote{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--borderSoft)}.eqnote em{font-style:normal;font-size:var(--type-caption);color:var(--amber);margin-top:var(--space-sm);line-height:1.5;display:block}.fni-field{align-items:center;gap:var(--space-sm);padding:0 var(--space-md);border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--borderSoft);height:36px;transition:border-color var(--motion-fast) var(--motion-ease-out);display:flex}.fni-embed{margin-top:var(--space-sm)}.mfield{flex:1;min-width:0}.mfield math-field{--caret-color:var(--accent);--selection-background-color:color-mix(in srgb, var(--accent) 25%, transparent);--contains-highlight-background-color:transparent;background:0 0;border:none;width:100%;font-size:15px;display:block}.mfield math-field:focus-within{outline:none}.mfield math-field::part(virtual-keyboard-toggle),.mfield math-field::part(menu-toggle){color:var(--faint)}.fni-embed.locked .fni-field{opacity:.55}.fni-embed .plock{color:var(--faint);display:inline-flex}.fni.on .fni-field{border-color:var(--mint)}.fni-field:focus-within{border-color:var(--accent)}.fni-lhs{font-size:var(--type-caption);color:var(--faint);white-space:nowrap}.fni-field input{min-width:0;color:var(--ink);font-family:var(--font-numeric);font-size:var(--type-small);background:0 0;border:none;outline:none;flex:1}.fni-field input::placeholder{color:var(--faint);opacity:.7}.fni-dot{background:var(--mint);border-radius:50%;flex:none;width:6px;height:6px}.fni-err{margin-top:var(--space-sm);font-size:var(--type-caption);color:var(--amber)}.fni-prev{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);min-height:22px;display:flex}.fni-prev .katex{color:var(--muted);font-size:.92em}.fni.on .fni-prev .katex{color:var(--ink)}.fni-use{border:1px solid var(--border);background:var(--control);color:var(--ink);font-family:var(--font-body);font-size:var(--type-caption);border-radius:var(--radius-sm);cursor:pointer;margin-left:auto;padding:2px 10px}.fni-use:hover{border-color:var(--accent)}.fni-off{color:var(--faint);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.fni-off:hover{color:var(--ink)}.fni-hint{margin-top:var(--space-sm);font-size:var(--type-micro);color:var(--faint);letter-spacing:.02em}.sec.rel .sec-h{color:var(--muted);margin-bottom:var(--space-sm)}.rel-now{font-size:var(--type-small);color:var(--mint);font-weight:500}.rel-now small{color:var(--faint)}.rel-plot svg{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--borderSoft);width:100%;height:88px;display:block}.rel-foot{font-size:var(--type-micro);color:var(--faint);margin-top:var(--space-xs);justify-content:space-between;align-items:center;padding:0 1px;display:flex}.rel-opt{color:var(--muted);font-variant-numeric:tabular-nums}.rel-link{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.rel-plot{transition:opacity var(--motion-fast)}.sec.rel.lit .rel-plot svg{border-color:var(--accent)}.sec.rel.dim .rel-plot{opacity:var(--linked-dim)}.chart+.chart{margin-top:var(--space-md)}.chart{border-radius:var(--radius-sm);transition:background var(--motion-fast), box-shadow var(--motion-fast)}.chart.lit{background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:0 0 0 var(--space-xs) color-mix(in srgb, var(--accent) 14%, transparent)}.chart .gplot,.chart .gdot{transition:opacity var(--motion-fast)}.chart.dim .gplot,.chart.dim .gdot{opacity:var(--linked-dim)}.chart.lit .gplot svg{border-color:var(--accent)}.gtit{align-items:center;gap:6px;margin-bottom:5px;display:flex}button.gtit{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.scene-marks{pointer-events:none;position:absolute;inset:0}.scene-mark{border-radius:var(--radius-sm);pointer-events:auto;cursor:pointer;background:0 0;border:0;padding:0;position:absolute}@media (prefers-reduced-motion:reduce){.qterm,.rel-plot,.chart,.chart .gplot,.chart .gdot{transition:none}}.gtit b{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-size:var(--type-small);color:var(--ink);margin-left:auto;font-weight:500}.gdot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.gplot{touch-action:none;cursor:crosshair}.gplot svg{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--borderSoft);width:100%;height:78px;display:block}.gticks{font-family:var(--font-numeric);font-size:var(--type-micro);color:var(--faint);justify-content:space-between;margin-top:3px;padding:0 1px;display:flex}.ebar{height:12px;margin:2px 0 var(--space-md);border-radius:6px;gap:2px;display:flex;overflow:hidden}.ebar span{min-width:1px;display:block}.erow{height:23px;font-size:var(--type-small);align-items:center;gap:6px;display:flex}.elab{color:var(--muted)}.erow b{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-size:var(--type-small);margin-left:auto;font-weight:500}.erow b small{color:var(--faint)}.picture-key{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.picture-key-item{align-items:flex-start;gap:var(--space-sm);font-size:var(--type-caption);line-height:var(--leading-ui);color:var(--muted);display:flex}.picture-key-swatch{width:var(--space-sm);aspect-ratio:1;margin-top:calc((1lh - var(--space-sm)) / 2);border-radius:var(--radius-pill);background:var(--swatch);flex:none}.inspector{margin-top:var(--space-sm);padding-top:var(--space-xs);border-top:1px solid var(--borderSoft)}.inspector-toggle{align-items:center;gap:var(--space-sm);min-height:var(--target-min);padding:0 var(--space-sm);margin-left:calc(-1 * var(--space-sm));border-radius:var(--radius-sm);color:var(--muted);font-family:var(--font-body);font-size:var(--type-caption);cursor:pointer;background:0 0;border:0;font-weight:600;display:inline-flex}.inspector-toggle:hover{color:var(--ink)}.inspector-list{gap:var(--space-xs);margin:0 0 var(--space-xs);display:grid}.inspector-row{justify-content:space-between;align-items:baseline;gap:var(--space-xs) var(--space-md);font-family:var(--font-body);font-size:var(--type-caption);flex-wrap:wrap;display:flex}.inspector-row dt{color:var(--muted)}.inspector-row dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:600}}@layer challenges{.ch{border-radius:var(--radius-md);border:1px solid #0000;margin:2px 0}.ch.active{background:var(--raised);border-color:var(--borderSoft);padding-bottom:var(--space-md)}.chrow{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) 9px;color:var(--muted);font-size:var(--type-body);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--motion-fast), color var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);background:0 0;border:none;display:flex}.chrow:hover{background:var(--control);color:var(--ink)}.chrow:active{transform:scale(.98)}.ch.active .chrow{color:var(--ink);font-weight:500}.chname{text-align:left;flex:1}.chdone{color:var(--mint);animation:pop-in .35s var(--motion-ease-spring) both;display:flex}.chs-cards>.sec-h{display:none}.chs-cards .ch{margin:var(--space-sm) 0;border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--panel)}.chs-cards .ch.active{background:var(--panel);border-color:var(--accent)}.chs-cards .chrow{gap:var(--space-md);padding:var(--space-md)}.chcard-icon{border-radius:var(--radius-md);background:var(--raised);width:40px;height:40px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.chs-cards .chname{font-size:var(--type-small);color:var(--ink);font-weight:700}.chbody{gap:var(--space-sm);animation:rise-in var(--motion-medium) var(--motion-ease-out) both;flex-direction:column;padding:0 11px;display:flex}.chgoal{font-size:var(--type-caption);color:var(--muted);text-wrap:pretty;margin:0;line-height:1.5}.chsaved{font-size:var(--type-caption);color:var(--mint);margin:0}.vbox{padding:var(--space-sm) 9px;border-radius:var(--radius-sm);font-size:var(--type-caption);animation:pop-in var(--motion-medium) var(--motion-ease-spring) both;flex-wrap:wrap;align-items:center;gap:7px;display:flex}.vbox.ok{background:color-mix(in srgb, var(--mint) 12%, transparent);border:1px solid color-mix(in srgb, var(--mint) 35%, transparent);color:var(--mint);animation:vbox-squash var(--motion-slow) var(--motion-ease-out) both}@keyframes vbox-squash{0%{opacity:0;transform:scale(.86,1.12)}45%{opacity:1;transform:scale(1.04,.94)}72%{transform:scale(.99,1.02)}to{transform:scale(1)}}.vbox.no{background:color-mix(in srgb, var(--amber) 8%, transparent);border:1px solid color-mix(in srgb, var(--amber) 30%, transparent);color:var(--amber)}.vbox b{font-family:var(--font-numeric);font-size:var(--type-small)}.vd{opacity:.85}.vnote{width:100%;color:var(--muted);font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.06em}.vwait{font-size:var(--type-caption);color:var(--faint);margin:0;font-style:italic}.predict{border-radius:var(--radius-sm);border:1px dashed color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 6%, transparent);flex-direction:column;gap:7px;padding:9px;display:flex}.predict-q{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.predict-btns{gap:6px;display:flex}.predict-b{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--raised);color:var(--ink);font-size:var(--type-caption);cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);flex:1;padding:7px 9px;font-weight:600}.predict-b:hover{transform:translateY(-1px)}.predict-b.yes:hover{border-color:color-mix(in srgb, var(--mint) 55%, var(--border));background:color-mix(in srgb, var(--mint) 12%, var(--raised))}.predict-b.no:hover{border-color:color-mix(in srgb, var(--amber) 55%, var(--border));background:color-mix(in srgb, var(--amber) 12%, var(--raised))}.predict-set{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0}.predict-out{font-size:var(--type-caption);color:var(--muted);margin:0}.predict-out.hit{color:var(--mint);font-weight:600}.chhint{align-items:center;gap:6px;display:flex}.tiers{gap:3px;display:flex}.tiers i{background:var(--border);border-radius:50%;width:5px;height:5px}.tiers i.on{background:var(--accent)}.hinttext{font-size:var(--type-caption);color:var(--ink);background:var(--control);padding:var(--space-sm) 9px;border-radius:var(--radius-sm);text-wrap:pretty;animation:rise-in var(--motion-fast) var(--motion-ease-out) both;margin:0;line-height:1.55}.tutor{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.tutor-cta{border:1px solid var(--borderSoft);border-radius:var(--radius-pill);min-height:30px;color:var(--muted);font-size:var(--type-caption);cursor:pointer;transition:color var(--motion-fast), border-color var(--motion-fast);background:0 0;align-items:center;gap:6px;padding:0 10px;font-weight:700;display:inline-flex}.tutor-cta:hover:not(:disabled){color:var(--ink);border-color:color-mix(in srgb, var(--acc,var(--accent)) 55%, var(--borderSoft))}.tutor-cta:disabled{cursor:default;opacity:.6}.tutor-ico{display:inline-flex}.tutor-ico.spin{animation:.9s linear infinite tutor-spin}@keyframes tutor-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tutor-ico.spin{animation:none}}.review-nudge{padding:var(--space-md);border:1px solid color-mix(in srgb, var(--acc,var(--accent)) 38%, var(--borderSoft));border-radius:var(--radius-md);background:color-mix(in srgb, var(--acc,var(--accent)) 9%, var(--panel));animation:rise-in var(--motion-medium) var(--motion-ease-out) both;flex-direction:column;align-items:flex-start;gap:5px;display:flex}.review-nudge-head{color:var(--acc,var(--accent));font-size:var(--type-micro);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;font-weight:750;display:inline-flex}.review-chain{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.review-chain-node{color:var(--ink);font-size:var(--type-body);font-weight:650;line-height:1.25}.review-chain-node.target{color:var(--acc,var(--accent))}.review-nudge>p{color:var(--muted);font-size:var(--type-caption);text-wrap:pretty;margin:0;line-height:1.45}.review-cta{min-height:40px;margin-top:var(--space-xs);border-radius:var(--radius-pill);background:var(--acc,var(--accent));color:var(--onAccent);font-size:var(--type-small);cursor:pointer;transition:filter var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);border:none;justify-content:center;align-items:center;gap:5px;padding:0 15px;font-weight:750;display:inline-flex}.review-cta:hover{filter:brightness(1.08)}.review-cta:active{transform:scale(.97)}}@layer planned{.planned{padding:var(--space-2xl);background:radial-gradient(60% 60% at 30% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%), radial-gradient(50% 50% at 85% 20%, #0ba06c12, transparent 70%);flex:1;place-items:center;min-height:0;display:grid;overflow:auto}.pl-card{text-align:center;flex-direction:column;align-items:center;max-width:460px;display:flex}.pl-part{color:var(--muted);font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:6px;font-weight:700;display:flex}.pl-title{font-family:var(--font-heading);color:var(--ink);text-wrap:balance;margin:0;font-size:1.7rem;font-weight:600;line-height:1.15}.pl-title-top{margin-top:var(--space-lg)}.pl-blurb{margin:var(--space-md) 0 0;max-width:40ch;font-size:var(--type-body);color:var(--muted);text-wrap:pretty;line-height:1.6}.pl-status{align-items:center;gap:var(--space-sm);margin-top:var(--space-xl);flex-direction:column;display:flex}.pl-chip{padding:var(--space-xs) 11px;border-radius:var(--radius-pill);background:var(--control);border:1px solid var(--borderSoft);color:var(--accent);font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:5px;font-weight:700;display:inline-flex}.pl-note{font-size:var(--type-caption);color:var(--faint)}}@layer motion{.view{min-height:0;animation:view-in var(--motion-slow) var(--motion-ease-out) both;view-transition-name:stage;flex-direction:column;flex:1;display:flex}.vt-active .view,.vt-active .view .stage,.vt-active .view .ovbar,.vt-active .view .hud,.vt-active .view .tbar,.vt-active .view .sec{animation:none}::view-transition-old(stage){animation-duration:var(--motion-medium);animation-timing-function:var(--motion-ease-out)}::view-transition-new(stage){animation-duration:var(--motion-medium);animation-timing-function:var(--motion-ease-out)}@media (prefers-reduced-motion:reduce){.view{view-transition-name:none}}.view>main{flex:1}.view .stage{animation:stage-in var(--motion-slow) var(--motion-ease-out) both}.view .ovbar{animation:slide-l var(--motion-medium) var(--motion-ease-out) .12s both}.view .hud{animation:slide-r var(--motion-medium) var(--motion-ease-out) .16s both}.view .tbar{animation:rise-in var(--motion-medium) var(--motion-ease-out) .2s both}.view .sec{animation:rise-in var(--motion-medium) var(--motion-ease-out) both}.view .sec:first-child{animation-delay:80ms}.view .sec:nth-child(2){animation-delay:.13s}.view .sec:nth-child(3){animation-delay:.18s}.view .sec:nth-child(4){animation-delay:.23s}.view .sec:nth-child(5){animation-delay:var(--motion-medium)}.view .sec:nth-child(6){animation-delay:.33s}.planned .pl-card{animation:rise-in var(--motion-slow) var(--motion-ease-out) .1s both}@keyframes view-in{0%{opacity:0;transform:translateY(10px)}}@keyframes stage-in{0%{opacity:0;transform:scale(.985)}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes drop-in{0%{opacity:0;transform:translate(-50%,-10px)}}@keyframes slide-l{0%{opacity:0;transform:translate(-8px)}}@keyframes slide-r{0%{opacity:0;transform:translate(8px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}}.celebrate{z-index:13;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}@keyframes celebrate-character-enter{0%{opacity:0;transform:translate(18px,24px)scale(.9)}55%{opacity:1;transform:translate(-4px,-5px)scale(1.025)}to{opacity:1;transform:translate(0,0)scale(1)}}.celebrate-nara{right:clamp(10px,2.8vw,40px);bottom:max(0px, env(safe-area-inset-bottom));aspect-ratio:2/3;z-index:14;pointer-events:none;isolation:isolate;filter:drop-shadow(0 18px 24px #231c162e);will-change:transform, opacity;width:clamp(190px,23vw,300px);animation:.48s cubic-bezier(.22,1,.36,1) both celebrate-character-enter;position:fixed}@media (width<=640px){.celebrate-nara{width:clamp(170px,46vw,230px);right:-14px}}@media (prefers-reduced-motion:reduce){.celebrate-nara{filter:none;animation:none}}.nara-idle-preview{left:clamp(54px,5vw,84px);bottom:max(0px, env(safe-area-inset-bottom));aspect-ratio:2/3;z-index:12;pointer-events:none;opacity:0;transform-origin:50% 100%;will-change:opacity, transform;filter:drop-shadow(0 22px 30px #231c162e);isolation:isolate;width:clamp(270px,27vw,360px);transition:opacity .42s ease-out,transform .68s cubic-bezier(.16,1,.3,1);position:fixed;transform:translate(-10px,18px)scale(.96)}.nara-idle-preview.is-ready{opacity:1;transform:translate(0,0)scale(1)}.nara-idle-preview canvas,.nara-idle-preview img{object-fit:contain;width:100%;height:100%;display:block}@media (width<=640px){.nara-idle-preview{width:clamp(190px,52vw,240px);left:42px}}@media (prefers-reduced-motion:reduce){.nara-idle-preview{opacity:1;will-change:auto;filter:none;transition:none;transform:none}}}@layer mascot{.msc{z-index:12;align-items:flex-start;gap:var(--space-xs);width:min(330px,100vw - 40px);margin-left:var(--keep-clear-x,0px);margin-bottom:calc(-1 * var(--keep-clear-y,0px));pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:88px;left:20px}.msc:is([data-corner=bottom-right],[data-corner=top-right]){align-items:flex-end}.msc:is([data-corner=bottom-right],[data-corner=top-right]) .sage-speech{border-radius:var(--radius-md) var(--radius-md) var(--radius-sm) var(--radius-md);transform-origin:100% 100%}.msc:is([data-corner=bottom-right],[data-corner=top-right]) .sage-speech:after{border-left:none;border-right:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));left:auto;right:18px;transform:skewY(35deg)}.sage-speech{box-sizing:border-box;width:max-content;max-width:100%;padding:14px var(--space-lg) var(--space-md);border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 5px;background:linear-gradient(145deg, color-mix(in srgb, var(--raised) 96%, var(--accent) 4%), var(--panel));box-shadow:var(--elevation-md), inset 0 1px #ffffff1f;font-size:var(--type-caption);color:var(--ink);transform-origin:0 100%;animation:bubble-in var(--motion-medium) var(--motion-ease-spring) both;margin-bottom:-18px;line-height:1.5;position:relative}.sage-speech:after{content:"";background:var(--panel);border-left:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));width:24px;height:18px;position:absolute;bottom:-13px;left:18px;transform:skewY(-35deg)}.sage-speech p{text-wrap:pretty;-webkit-user-select:text;user-select:text;margin:0}.sage-speech-edge{z-index:-1;border-radius:inherit;background:color-mix(in srgb, var(--accent) 18%, var(--raised));position:absolute;inset:5px -4px -5px 5px}.sage-speech-actions{margin-top:var(--space-sm);pointer-events:auto;justify-content:flex-end;gap:6px;display:flex}.sage-speech-actions button{border:1px solid var(--borderSoft);background:var(--control);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid}@keyframes bubble-in{0%{opacity:0;transform:scale(.7)translateY(4px)}}.msc-btn{pointer-events:auto;cursor:pointer;filter:drop-shadow(0 8px 11px color-mix(in srgb, var(--accent) 26%, transparent));transition:transform var(--motion-fast) var(--motion-ease-spring), filter var(--motion-fast) var(--motion-ease-out);background:0 0;border:none;border-radius:50%;padding:0;line-height:0}.msc-btn:hover{filter:drop-shadow(0 10px 14px color-mix(in srgb, var(--accent) 34%, transparent));transform:translateY(-2px)scale(1.045)}.msc-btn:active{transform:scale(.92)}.msc-svg{display:block;overflow:visible}.msc-sprite{width:var(--msc-size,148px);aspect-ratio:192/208;image-rendering:auto;background-color:#0000;max-width:100%;display:block}.msc-float{animation:5.4s ease-in-out infinite msc-float}@keyframes msc-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.owl-blink{transform-box:fill-box;transform-origin:50% 0;animation:5.2s infinite owl-blink;transform:scaleY(0)}@keyframes owl-blink{0%,92%,to{transform:scaleY(0)}94.5%{transform:scaleY(1)}97%{transform:scaleY(0)}}.av-animated{animation:.5s ease-out both av-settle}.av-animated .av-life{transform-box:view-box;transform-origin:64px 118px;animation:4.6s ease-in-out infinite av-breathe}.av-animated .avatar-eyeset{transform-box:view-box;transform-origin:64px 58px;animation:5.4s infinite av-blink}@keyframes av-settle{0%{transform:scale(.955)}62%{transform:scale(1.008)}to{transform:scale(1)}}@keyframes av-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-.5px)scale(1.008)}}@keyframes av-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.06)}}@media (prefers-reduced-motion:reduce){.av-animated,.av-animated .av-life,.av-animated .avatar-eyeset{animation:none}}.msc-core{transform-origin:50% 90%;position:relative}.msc-burst{pointer-events:none;position:absolute;top:0;left:0}.owl3d canvas{display:block}.msc[data-mood=celebrate] .msc-core{animation:msc-jump .62s var(--motion-ease-out) 2}@keyframes msc-jump{0%{transform:translateY(0)scale(1)}18%{transform:translateY(2px)scale(1.12,.84)}45%{transform:translateY(-13px)scale(.94,1.08)}75%{transform:translateY(0)scale(1.06,.92)}to{transform:translateY(0)scale(1)}}.msc[data-mood=sad] .msc-core{animation:2.4s ease-out both msc-droop}@keyframes msc-droop{0%{transform:translateY(0)rotate(0)}25%,80%{transform:translateY(3px)rotate(-5deg)}to{transform:translateY(0)rotate(0)}}.msc[data-mood=greet] .msc-core{animation:msc-hop .95s var(--motion-ease-spring)}@keyframes msc-hop{40%{transform:translateY(-7px)rotate(3deg)}}.msc[data-mood=poke] .msc-core{animation:msc-squish .55s var(--motion-ease-spring)}@keyframes msc-squish{30%{transform:scale(1.16,.82)}60%{transform:scale(.92,1.1)}}.owl-wing-wave{transform-box:view-box;transform-origin:99px 66px;animation:2.3s both msc-wave-arm}@keyframes msc-wave-arm{0%{animation-timing-function:ease-in-out;transform:rotate(10deg)}8%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:rotate(16deg)}30%{animation-timing-function:cubic-bezier(.22,.8,.3,1);transform:rotate(-90deg)}38%,82%{animation-timing-function:cubic-bezier(.45,0,.55,1);transform:rotate(-82deg)}to{transform:rotate(10deg)}}.owl-wing-wave .owl-wing-inner-r{transform-box:view-box;transform-origin:99px 66px;animation:2.3s both msc-wave-flat}@keyframes msc-wave-flat{0%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:rotate(0)scaleY(1)}30%{transform:rotate(0)scaleY(1)}42%{transform:rotate(-10deg)scaleY(.97)}52%{transform:rotate(11deg)scaleY(1.03)}62%{transform:rotate(-9deg)scaleY(.98)}72%{transform:rotate(8deg)scaleY(1.02)}80%{animation-timing-function:cubic-bezier(.2,.8,.25,1);transform:rotate(-5deg)scaleY(.99)}85%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(0)scaleY(1)}to{transform:rotate(0)scaleY(1)}}.msc[data-mood=idle] .owl-wing-inner-l,.msc[data-mood=idle] .owl-wing-inner-r{transform-box:fill-box;transform-origin:50% 18%;animation:5.6s cubic-bezier(.52,0,.26,1) infinite msc-paddle}.msc[data-mood=idle] .owl-wing-inner-r{animation-direction:reverse}@keyframes msc-paddle{0%,24%{transform:rotate(-6deg)}52%,76%{transform:rotate(7deg)}to{transform:rotate(-6deg)}}.msc[data-mood=idle] .owl-all{transform-box:fill-box;transform-origin:50% 88%;animation:5.6s cubic-bezier(.52,0,.26,1) infinite msc-load-rock}@keyframes msc-load-rock{0%,24%{transform:rotate(-1.3deg)}52%,76%{transform:rotate(1.3deg)}to{transform:rotate(-1.3deg)}}.msc[data-mood=idle] .owl-feet ellipse:first-child{animation:5.6s cubic-bezier(.52,0,.26,1) infinite msc-step-left}.msc[data-mood=idle] .owl-feet ellipse:last-child{animation:5.6s cubic-bezier(.52,0,.26,1) infinite reverse msc-step-left}@keyframes msc-step-left{0%,24%{transform:translateY(-2.5px)rotate(-4deg)}52%,76%,to{transform:translateY(0)rotate(0)}}.msc-star{transform-box:fill-box;transform-origin:50%;animation:.9s ease-out both msc-star}@keyframes msc-star{0%{opacity:0;transform:translate(64px,44px)scale(.2)rotate(0)}25%{opacity:1}to{opacity:0;transform:translate(calc(64px + var(--dx)), calc(44px + var(--dy))) scale(1) rotate(90deg)}}@media (width<=940px){.body{overflow-y:auto}main{flex-direction:column;display:flex;overflow:visible}.stage{flex:none;height:54vh;min-height:380px}main.focus .stage{height:calc(100dvh - 240px);min-height:380px}.hud:has(~.banner){top:calc(var(--space-md) + 46px)}aside{overflow:visible}.banner{max-width:44%}.msc{z-index:11;gap:3px;bottom:12px;left:12px}.msc .msc-svg{width:66px;height:66px}.msc .msc-sprite{width:66px}.msc-btn{filter:drop-shadow(0 5px 7px color-mix(in srgb, var(--accent) 22%, transparent))}.sage-speech{z-index:13;left:12px;right:12px;bottom:calc(148px + env(safe-area-inset-bottom) - var(--keep-clear-y,0px));width:auto;padding:var(--space-md) 14px;font-size:var(--type-caption);margin:0;position:fixed}.sage-speech:after,.sage-speech-edge{display:none}.sage-speech-actions{position:absolute;bottom:-52px;right:8px}.sage-speech:has(.sage-speech-actions){padding-right:14px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}}@layer shell{:root{--acc-violet:var(--accent);--acc-mint:var(--mint);--acc-amber:var(--amber);--acc-coral:var(--coral);--acc-rose:var(--rose);--rail-w:232px}.part-mechanics,.part-discrete{--acc:var(--acc-violet)}.part-waves,.part-modern{--acc:var(--acc-mint)}.part-thermo,.part-calculus{--acc:var(--acc-amber)}.part-em,.part-combinatorics{--acc:var(--acc-coral)}.part-optics,.part-statistics{--acc:var(--acc-rose)}.rail{width:var(--rail-w);padding:var(--space-md) var(--space-md) var(--space-sm);background:var(--panel);border-right:1px solid var(--borderSoft);flex-direction:column;flex:none;gap:3px;display:flex;overflow:hidden}.msc{width:calc(var(--rail-w) - 32px)}.app.imm .rail,.app.imm .topbar{z-index:60;transition:transform var(--motion-medium) var(--motion-ease-out), opacity var(--motion-medium) var(--motion-ease-out);position:absolute}.app.imm .rail{box-shadow:0 0 40px color-mix(in srgb, var(--ink) 22%, transparent);inset:0 auto 0 0}.app.imm .topbar{inset:0 0 auto}.app.imm .msc{transition:opacity var(--motion-medium) var(--motion-ease-out)}.app.imm-hide .rail{opacity:0;pointer-events:none;transform:translate(-100%)}.app.imm-hide .topbar{opacity:0;pointer-events:none;transform:translateY(-100%)}.app.imm-hide .msc{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.app.imm .rail,.app.imm .topbar,.app.imm .msc{transition:none}}.app.lfocus .rail{z-index:60;box-shadow:0 0 40px color-mix(in srgb, var(--ink) 22%, transparent);transition:transform var(--motion-medium) var(--motion-ease-out), opacity var(--motion-medium) var(--motion-ease-out);position:absolute;inset:0 auto 0 0}.app.lfocus .msc{transition:opacity var(--motion-medium) var(--motion-ease-out), visibility 0s linear var(--motion-medium)}.app.lfocus-rail-hide .rail{opacity:0;pointer-events:none;transform:translate(-100%)}.app.lfocus-rail-hide .msc:is([data-mood=idle],[data-mood=sleepy]):not(:has(.sage-speech)){opacity:0;visibility:hidden;pointer-events:none}.app.lfocus-rail-hide .nara-idle-preview{opacity:0;visibility:hidden}@media (width<=720px){.nara-idle-preview{display:none}}@media (prefers-reduced-motion:reduce){.app.lfocus .rail,.app.lfocus .msc{transition:none}}.rail-brand{padding:6px var(--space-sm) 14px;cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;gap:9px;display:flex}.rail-phi{align-items:center;line-height:1;display:flex}.rail-word{font-family:var(--font-display);letter-spacing:.005em;background:linear-gradient(95deg, var(--accent) 20%, var(--mint));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-weight:600}.rail-course-wrap{margin-bottom:var(--space-sm);position:relative}.rail-course{border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--borderSoft);width:100%;height:48px;color:var(--ink);cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast);align-items:center;gap:10px;padding:0 10px;display:flex}.rail-course:hover,.rail-course.open{border-color:var(--border)}.rail-course-chip{border-radius:var(--radius-sm);background:var(--raised);width:30px;height:30px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:flex}.rail-course-name{text-align:left;min-width:0;font-size:var(--type-body);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:700;overflow:hidden}.rail-course>svg:last-child{color:var(--faint);transition:transform var(--motion-fast) var(--motion-ease-out);flex:none}.rail-course.open>svg:last-child{color:var(--accent);transform:rotate(90deg)}.rail-course-menu{z-index:30;padding:var(--space-sm);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);animation:rise-in var(--motion-fast) var(--motion-ease-out) both;flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 42px #00000080}.rail-course-cap{padding:var(--space-xs) var(--space-sm) 6px;font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.11em;color:var(--faint);font-weight:700}.rail-course-opt{width:100%;padding:var(--space-sm);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;align-items:center;gap:10px;display:flex}.rail-course-opt:hover{background:var(--raised);color:var(--ink)}.rail-course-opt.on{color:var(--ink)}.rail-course-opt.on .rail-course-chip{background:var(--control)}.rail-course-opt>svg:last-child{color:var(--mint);flex:none}.rail-nav{margin-top:var(--space-xs);flex-direction:column;gap:3px;display:flex}.rail-item{align-items:center;gap:var(--space-md);width:100%;height:52px;padding:0 var(--space-md);border-radius:var(--radius-md);color:var(--muted);text-align:left;cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);background:0 0;border:2px solid #0000;display:flex}.rail-item:hover{background:var(--raised);color:var(--ink)}.rail-item:active{transform:scale(.98)}.rail-item.on{background:color-mix(in srgb, var(--acc,var(--accent)) 15%, transparent);border-color:color-mix(in srgb, var(--acc,var(--accent)) 55%, transparent);color:var(--ink)}.rail-ico{width:26px;color:var(--faint);transition:color var(--motion-fast);flex:none;justify-content:center;align-items:center;display:flex}.rail-item:hover .rail-ico,.rail-item.on .rail-ico{color:var(--acc,var(--accent))}.rail-illus{width:34px}.rail-illus svg{transition:transform var(--motion-fast) var(--motion-ease-spring);display:block}.rail-item:hover .rail-illus svg,.rail-item.on .rail-illus svg{transform:scale(1.06)}.rail-label{min-width:0;font-size:var(--type-small);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:800;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:var(--space-md);height:54px;padding:0 var(--space-lg);border-bottom:1px solid var(--borderSoft);background:var(--panel);flex:none;display:flex}.review-bar{align-items:center;gap:var(--space-md);min-height:60px;padding:var(--space-sm) var(--space-lg);border-bottom:1px solid color-mix(in srgb, var(--acc,var(--accent)) 28%, var(--borderSoft));background:color-mix(in srgb, var(--acc,var(--accent)) 7%, var(--panel));animation:rise-in var(--motion-medium) var(--motion-ease-out) both;flex:none;display:flex}.review-bar-mark{background:color-mix(in srgb, var(--acc,var(--accent)) 16%, var(--raised));width:36px;height:36px;color:var(--acc,var(--accent));border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.review-bar-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.review-bar-copy strong{color:var(--ink);font-size:var(--type-small);line-height:1.3}.review-bar-copy span{color:var(--muted);font-size:var(--type-caption);text-wrap:pretty;line-height:1.35}.review-bar-cta{min-height:40px;padding:0 var(--space-lg);border-radius:var(--radius-pill);background:var(--acc,var(--accent));color:var(--onAccent);font-size:var(--type-small);cursor:pointer;transition:filter var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);border:none;flex:none;justify-content:center;align-items:center;gap:5px;font-weight:750;display:inline-flex}.review-bar-cta:hover{filter:brightness(1.08)}.review-bar-cta:active{transform:scale(.97)}.review-bar-cancel{width:40px;height:40px;color:var(--faint);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.review-bar-cancel:hover{background:var(--raised);color:var(--ink)}.tb-title{flex-direction:column;gap:1px;min-width:0;display:flex}.tb-kick{font-family:var(--font-heading);font-size:var(--type-title);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;line-height:1.05;overflow:hidden}.tb-sub{font-size:var(--type-caption);color:var(--faint)}.tb-crumb{min-width:0;padding:7px var(--space-md);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;border:1px solid #0000;align-items:center;gap:9px;display:flex}.tb-crumb:hover{background:var(--raised);border-color:var(--borderSoft)}.tb-crumb>svg:first-child{color:var(--acc,var(--accent));flex:none}.tb-part{font-size:var(--type-small);color:var(--muted);white-space:nowrap;font-weight:600}.tb-crumb>svg:nth-of-type(2){color:var(--lost);flex:none}.tb-name{font-size:var(--type-small);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.tb-nav{align-items:center;gap:var(--space-xs);flex:none;display:flex}.streak{height:30px;margin-right:var(--space-xs);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--muted);background:var(--panel);align-items:center;gap:5px;padding:0 10px;display:inline-flex}.streak svg{color:var(--faint);transition:color var(--motion-medium) var(--motion-ease-out)}.streak-n{font-size:var(--type-small);font-weight:700}.streak.lit{color:var(--ink);border-color:color-mix(in srgb, var(--amber) 45%, var(--border));background:color-mix(in srgb, var(--amber) 12%, var(--panel))}.streak.lit svg{color:var(--amber)}.streak-charges{gap:3px;margin-left:2px;display:inline-flex}.streak-charges i{border-radius:var(--radius-pill);background:var(--raised);width:5px;height:5px}.streak-charges i.on{background:color-mix(in srgb, var(--amber) 70%, var(--panel))}.journey{scrollbar-width:thin;scrollbar-color:var(--control) transparent;flex:1;min-height:0;overflow-y:auto;container-type:size}.jrn-layout{justify-content:center;align-items:flex-start;gap:var(--space-sm);display:flex}.jrn-track{min-width:0;max-width:720px;padding:var(--space-xl) var(--space-lg) 40vh;flex:0 720px}.jrn-side{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--control) transparent;gap:var(--space-lg);width:300px;max-height:100cqh;padding:var(--space-xl) var(--space-lg) var(--space-xl) 0;background:0 0;border:none;border-radius:0;flex-direction:column;flex:none;display:flex;position:sticky;top:0;overflow-y:auto}.jrn-side .jrn-hero{flex-direction:column;align-items:stretch;margin-bottom:0}.jrn-side .jrn-hero-cta{align-self:flex-start}.jrn-side .jrn-review,.jrn-side .jrn-why,.jrn-side .jrn-unit{margin-bottom:0}.jrn-side .jrn-unit{grid-template-areas:"ico txt txt""bar bar prog";row-gap:10px}.jrn-side .jrn-unit-name{font-size:calc(var(--type-title) * .8);overflow-wrap:anywhere}.jrn-side .jrn-unit-blurb{white-space:normal}.jrn-side .jrn-unit-prog{align-self:center}.jrn-side-unit{gap:var(--space-sm);flex-direction:column;display:flex}.jrn-side-eyebrow{padding:0 var(--space-xs);font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700}@media (width<=1279px){.jrn-side{display:none}}.jrn-hero{--acc-c:var(--acc,var(--accent));align-items:center;gap:var(--space-lg);margin-bottom:var(--space-2xl);padding:20px var(--space-xl);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--acc-c) 18%, var(--panel)), var(--panel));border:1px solid color-mix(in srgb, var(--acc-c) 35%, var(--border));display:flex;box-shadow:0 8px 24px #0f121e1f}.jrn-hero-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.jrn-hero-kick{align-items:baseline;gap:var(--space-sm);font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.1em;color:var(--acc-c);font-weight:800;display:inline-flex}.jrn-hero-where{letter-spacing:.04em;color:var(--muted);font-weight:600}.jrn-hero-name{font-family:var(--font-heading);font-size:var(--type-hero,var(--type-title));color:var(--ink);margin:0;font-weight:700;line-height:1.1}.jrn-hero-because{font-size:var(--type-caption);color:var(--muted);margin:2px 0 0}.jrn-hero-links{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.jrn-conn{--conn:var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--conn) 12%, var(--panel));border:1px solid color-mix(in srgb, var(--conn) 40%, var(--border));cursor:pointer;max-width:100%;transition:border-color var(--motion-fast);align-items:baseline;gap:6px;padding:5px 11px;display:inline-flex}.jrn-conn:hover{border-color:color-mix(in srgb, var(--conn) 65%, var(--border))}.jrn-conn-kind{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--conn);flex:none;font-weight:700}.jrn-conn-name{min-width:0;font-size:var(--type-small);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.jrn-hero-cta{padding:var(--space-md) 20px;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--acc-c) 68%, var(--ink));color:var(--panel);font-size:var(--type-small);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease-spring);border:none;flex:none;align-items:center;gap:6px;font-weight:800;display:inline-flex}.jrn-hero-cta:hover{transform:translateY(-2px)}.jrn-hero-cta:active{transform:translateY(0)}@media (width<=720px){.jrn-hero{flex-direction:column;align-items:stretch}.jrn-hero-cta{align-self:flex-start}}.jrn-maplink{margin-bottom:var(--space-xl);padding:var(--space-sm) 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:var(--type-small);cursor:pointer;transition:border-color var(--motion-fast), color var(--motion-fast);align-items:center;gap:7px;font-weight:600;display:inline-flex}.jrn-maplink:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--ink)}.jrn-part{scroll-margin-top:var(--space-lg);margin-top:var(--space-2xl)}.jrn-part:first-child{margin-top:0}.jrn-why{margin-bottom:var(--space-2xl);padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--border)}.jrn-why-h{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.jrn-why-ico{padding:var(--space-xs);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 16%, var(--panel));color:var(--accent);justify-content:center;align-items:center;display:flex}.jrn-why-t{font-family:var(--font-heading);font-size:var(--type-body);color:var(--ink);font-weight:600}.jrn-why-group+.jrn-why-group{margin-top:var(--space-md)}.jrn-why-label{align-items:baseline;gap:var(--space-sm);margin:0 0 var(--space-sm);font-size:var(--type-small);color:var(--muted);font-weight:600;display:flex}.jrn-why-n{color:var(--ink)}.jrn-why-list{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.jrn-why-item{align-items:flex-start;gap:var(--space-sm);font-size:var(--type-small);color:var(--ink);display:flex}.jrn-why-item.is-explained{color:var(--ink)}.jrn-why-item.is-explained>svg{color:var(--mint)}.jrn-why-item.is-wondering>svg{color:var(--amber)}.jrn-review{--acc-c:var(--mint);margin-bottom:var(--space-2xl);padding:var(--space-lg) 18px;border-radius:var(--radius-lg);background:color-mix(in srgb, var(--acc-c) 8%, var(--panel));border:1px solid color-mix(in srgb, var(--acc-c) 30%, var(--border));box-shadow:0 1px 2px #0f121e0d}.jrn-review-h{margin-bottom:var(--space-md);align-items:center;gap:10px;display:flex}.jrn-review-ico{background:color-mix(in srgb, var(--acc-c) 18%, var(--panel));width:32px;height:32px;color:var(--acc-c);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.jrn-review-t{font-family:var(--font-heading);font-size:var(--type-body);color:var(--ink);flex:1;font-weight:600}.jrn-review-count{font-size:var(--type-title);color:var(--acc-c);font-weight:700}.jrn-review-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.jrn-review-chip{padding:var(--space-sm) 10px var(--space-sm) 13px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease-spring), border-color var(--motion-fast), box-shadow var(--motion-fast);align-items:center;gap:9px;display:inline-flex}.jrn-review-chip:hover{border-color:color-mix(in srgb, var(--acc-c) 45%, var(--border));transform:translateY(-2px);box-shadow:0 6px 16px #0f121e17}.jrn-review-chip:active{box-shadow:none;transform:translateY(0)}.jrn-review-chip-name{font-size:var(--type-small);color:var(--ink);font-weight:600}.jrn-review-chip-n{border-radius:var(--radius-pill);min-width:20px;font-size:var(--type-micro);text-align:center;color:var(--acc-c);background:color-mix(in srgb, var(--acc-c) 15%, var(--panel));padding:1px 6px;font-weight:700}.jrn-unit{--acc-c:var(--acc,var(--accent));align-items:center;column-gap:14px;row-gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-lg) 18px;border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--borderSoft);grid-template-columns:auto 1fr auto;grid-template-areas:"ico txt prog""bar bar bar";display:grid;box-shadow:0 1px 2px #0f121e0d}.jrn-unit-ico{background:color-mix(in srgb, var(--acc-c) 15%, var(--panel));width:44px;height:44px;color:var(--acc-c);border-radius:13px;flex:none;grid-area:ico;justify-content:center;align-items:center;display:flex}.jrn-unit-txt{flex-direction:column;grid-area:txt;gap:2px;min-width:0;display:flex}.jrn-unit-name{font-family:var(--font-heading);font-size:var(--type-title);color:var(--ink);margin:0;font-weight:600;line-height:1.1}.jrn-unit-blurb{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.jrn-unit-prog{font-size:var(--type-small);color:var(--acc-c);grid-area:prog;align-self:start;font-weight:700}.jrn-unit-prog small{color:var(--faint);font-weight:500}.jrn-unit-bar{background:var(--raised);border-radius:3px;grid-area:bar;height:6px;position:relative;overflow:hidden}.jrn-unit-fill{height:100%;transition:width var(--motion-medium) var(--motion-ease-out);border-radius:3px;position:absolute;inset:0 auto 0 0}.jrn-unit-fill.part{background:color-mix(in srgb, var(--acc-c) 40%, var(--raised))}.jrn-unit-fill.on{background:var(--acc-c)}.jrn-river{--acc-c:var(--acc,var(--accent));margin:0 auto;position:relative}.jrn-basin{box-sizing:border-box;background:color-mix(in srgb, var(--acc-c) 4%, var(--panel));border:1px solid var(--borderSoft);z-index:0;border-radius:18px;position:absolute}.jrn-actor{z-index:1;pointer-events:none;position:absolute}.jrn-actor .scientist-motion-preview{width:100%;height:100%}.jrn-basin-h{padding:var(--space-md) var(--space-lg) 0;flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.jrn-basin-kick{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.jrn-spring{align-items:center;gap:var(--space-xs);padding:2px var(--space-sm) 2px 6px;border-radius:var(--radius-pill);border:1px dashed color-mix(in srgb, var(--faint) 55%, transparent);color:var(--faint);font:inherit;background:0 0;font-size:.72rem;font-weight:600;display:inline-flex}button.jrn-spring{cursor:pointer;transition:border-color var(--motion-fast)}button.jrn-spring:hover{border-color:var(--faint)}.jrn-spring-kick{text-transform:uppercase;letter-spacing:.06em;color:var(--amber);font-size:.625rem;font-weight:800}.jrn-spring-where{color:var(--faint);opacity:.8}.jrn-spring-where:before{content:"·";margin-right:var(--space-xs)}.jrn-portals{flex-wrap:wrap;gap:6px;margin-left:auto;display:inline-flex}.jrn-portal{--acc-c:var(--acc,var(--accent));padding:3px 10px 3px var(--space-sm);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--acc-c) 30%, transparent);background:color-mix(in srgb, var(--acc-c) 7%, var(--panel));color:var(--acc-c);font:inherit;cursor:pointer;transition:border-color var(--motion-fast);align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:inline-flex}.jrn-portal:hover,.jrn-portal:focus-visible{border-color:var(--acc-c)}.jrn-portal-kick{text-transform:uppercase;letter-spacing:.06em;opacity:.85;font-size:.625rem;font-weight:800}.jrn-chan{pointer-events:none;z-index:1;position:absolute;top:0;left:0;overflow:visible}.jrn-ch,.jrn-ch-flow{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity var(--motion-fast) var(--motion-ease-out)}.jrn-ch.ch-dry{stroke:var(--border);stroke-width:2px;stroke-dasharray:2 7;opacity:.9}.jrn-ch.ch-full{stroke:color-mix(in srgb, var(--acc-c) 55%, var(--panel));stroke-width:5px}.jrn-ch.ch-flow{stroke:color-mix(in srgb, var(--acc-c) 24%, var(--panel));stroke-width:8px}.jrn-ch-flow{stroke:var(--acc-c);stroke-width:3px;stroke-dasharray:7 17;animation:1.15s linear infinite jrn-water}.jrn-ch.ch-semantic{stroke:var(--faint);stroke-width:2px;stroke-dasharray:1.5 7;opacity:.8}@keyframes jrn-water{to{stroke-dashoffset:-24px}}.jrn-river.focus .jrn-ch.off,.jrn-river.focus .jrn-ch-flow.off{opacity:.07}.jrn-river .jrn-ch.ch-portal:not(.on),.jrn-river .jrn-ch-flow.ch-portal:not(.on){opacity:0}.jrn-river.focus .jrn-ch.ch-dry.on{stroke:var(--muted);stroke-width:2.5px;stroke-dasharray:3 6;opacity:1}.jrn-river.focus .jrn-ch.ch-full.on{stroke:var(--acc-c)}.jrn-river.focus .jrn-ch.ch-semantic.on{opacity:1;stroke-width:2.5px}.jrn-slot{z-index:2;transition:opacity var(--motion-fast) var(--motion-ease-out);position:absolute}.jrn-river.focus .jrn-slot.off{opacity:.32}.jrn-legend{margin:0 0 var(--space-lg);padding:0 var(--space-xs);color:var(--faint);font-size:var(--type-micro);flex-wrap:wrap;align-items:center;gap:6px 18px;list-style:none;display:flex}.jrn-legend-item{--acc-c:var(--acc,var(--accent));align-items:center;gap:7px;display:flex}.jrn-legend-item svg{flex:none;display:block}.jrn-pop{z-index:5;box-sizing:border-box;gap:var(--space-sm);padding:14px var(--space-lg) var(--space-lg);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid color-mix(in srgb, var(--acc-c) 35%, var(--border));box-shadow:var(--elevation-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:jrn-pop-in var(--motion-medium) var(--motion-ease-out) both;flex-direction:column;display:flex;position:absolute}@keyframes jrn-pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.jrn-pop-kick{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--acc-c);font-weight:800}.jrn-pop-kick-mint{color:var(--mint)}.jrn-pop-kick-amber{color:var(--amber)}.jrn-pop-kick-faint{color:var(--faint)}.jrn-pop-name{font-family:var(--font-heading);font-size:var(--type-body);color:var(--ink);font-weight:700;line-height:1.15}.jrn-pop-sec{gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--borderSoft);flex-direction:column;display:flex}.jrn-pop-lab{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-size:.68rem;font-weight:700}.jrn-req{font-size:var(--type-caption);color:var(--faint);align-items:center;gap:7px;font-weight:600;display:flex}.jrn-req.ok{color:var(--mint)}button.jrn-req-go{border-radius:var(--radius-sm);font:inherit;font-size:var(--type-caption);text-align:left;cursor:pointer;transition:background var(--motion-fast);background:0 0;border:none;margin:0 -6px;padding:3px 6px;font-weight:600}button.jrn-req-go:hover,button.jrn-req-go:focus-visible{background:color-mix(in srgb, var(--acc-c) 10%, transparent);outline:none}button.jrn-req-go>svg:last-child{color:var(--faint);margin-left:auto}.jrn-req-txt{flex-direction:column;gap:1px;min-width:0;display:flex}.jrn-req-where{color:var(--faint);font-size:.68rem;font-weight:600}.jrn-req svg{flex:none}.jrn-req-dot{border:2px solid var(--faint);border-radius:50%;flex:none;width:10px;height:10px}.jrn-req-name{color:var(--ink)}.jrn-pop-unl{font-size:var(--type-caption);color:var(--muted)}.jrn-rel{min-width:0;font-size:var(--type-caption);align-items:baseline;gap:7px;display:flex}.jrn-rel-kind{--conn:var(--faint);text-transform:uppercase;letter-spacing:.06em;color:var(--conn);flex:none;font-size:.65rem;font-weight:700}.jrn-rel-name{min-width:0;color:var(--ink);font-weight:600}.jrn-node{--acc-c:var(--acc,var(--accent));z-index:1;text-align:center;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;width:100%;padding:0;scroll-margin:96px 0;display:flex;position:relative}.jrn-node-bubble{background:var(--raised);width:60px;height:60px;color:var(--faint);box-shadow:inset 0 -5px 0 var(--bevel-rim), inset 0 2px 0 var(--bevel-sheen), var(--elevation-sm);transition:transform var(--motion-fast) var(--motion-ease-spring), background var(--motion-fast);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.jrn-node:not(:disabled):hover .jrn-node-bubble{transform:translateY(-3px)}.jrn-node:not(:disabled):active .jrn-node-bubble{transform:translateY(0)}.jrn-node-label{align-items:center;gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.jrn-node-name{font-size:var(--type-caption);color:var(--ink);text-wrap:balance;font-weight:700;line-height:1.15}.jrn-node-flag{z-index:1;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--acc-c) 68%, var(--ink));color:var(--panel);font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;margin:-14px 0 -2px;font-weight:800;position:relative}.jrn-node-due{background:var(--amber);width:22px;height:22px;color:var(--panel);box-shadow:0 0 0 2px var(--panel);border-radius:50%;justify-content:center;align-items:center;margin-left:14px;display:flex;position:absolute;top:0;left:50%}.jrn-node.kind-available .jrn-node-bubble{background:linear-gradient(155deg, color-mix(in srgb, var(--acc-c) 28%, var(--panel)), color-mix(in srgb, var(--acc-c) 11%, var(--panel)));color:var(--acc-c)}.jrn-node.kind-mastered .jrn-node-bubble{background:var(--mint);color:var(--panel);box-shadow:inset 0 -5px 0 color-mix(in srgb, black 18%, var(--mint)), inset 0 2px 0 var(--bevel-sheen), 0 5px 10px color-mix(in srgb, var(--mint) 40%, transparent)}.jrn-node.kind-started .jrn-node-bubble{background:linear-gradient(155deg, color-mix(in srgb, var(--acc-c) 34%, var(--panel)), color-mix(in srgb, var(--acc-c) 15%, var(--panel)));color:var(--acc-c);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--acc-c) 55%, transparent), inset 0 -4px 0 var(--bevel-rim)}.jrn-node.kind-due .jrn-node-bubble{background:color-mix(in srgb, var(--amber) 20%, var(--panel));color:var(--amber)}.jrn-node.kind-current .jrn-node-bubble{background:var(--acc-c);width:72px;height:72px;color:var(--panel);box-shadow:inset 0 -6px 0 color-mix(in srgb, black 20%, var(--acc-c)), inset 0 2px 0 var(--bevel-sheen), 0 0 0 5px color-mix(in srgb, var(--acc-c) 20%, transparent), 0 8px 18px color-mix(in srgb, var(--acc-c) 35%, transparent);animation:2.2s ease-in-out infinite jrn-bob}.jrn-node.kind-current .jrn-node-name{color:var(--ink)}@keyframes jrn-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.jrn-node.kind-locked{cursor:not-allowed}.jrn-node.kind-locked .jrn-node-bubble{background:var(--bgTop);color:var(--lost);box-shadow:inset 0 -4px #0f121e14}.jrn-node.kind-locked .jrn-node-name{color:var(--faint)}.jrn-node-bubble.has-art{padding:7px;overflow:hidden}.jrn-node.kind-available .jrn-node-bubble.has-art,.jrn-node.kind-started .jrn-node-bubble.has-art,.jrn-node.kind-current .jrn-node-bubble.has-art{background:var(--panel);color:var(--ink)}.jrn-node-art{object-fit:contain;width:100%;height:100%;display:block}.jrn-node:focus-visible{outline:none}.jrn-node:focus-visible .jrn-node-bubble{outline:3px solid color-mix(in srgb, var(--acc-c) 75%, transparent);outline-offset:3px}.jrn-trophy{z-index:1;align-self:center;align-items:center;gap:var(--space-sm);flex-direction:column;margin-top:10px;display:flex;position:relative}.jrn-trophy-bubble{background:var(--panel);border:2px dashed var(--borderSoft);width:56px;height:56px;color:var(--faint);border-radius:50%;justify-content:center;align-items:center;display:flex}.jrn-trophy.done .jrn-trophy-bubble{background:var(--amber);color:var(--panel);box-shadow:inset 0 -5px 0 color-mix(in srgb, black 18%, var(--amber)), inset 0 2px 0 var(--bevel-sheen), 0 5px 12px color-mix(in srgb, var(--amber) 40%, transparent);border:none}.jrn-trophy-label{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.jrn-trophy.done .jrn-trophy-label{color:var(--amber)}@media (prefers-reduced-motion:reduce){.jrn-node-bubble,.jrn-hero-cta,.jrn-unit-fill,.jrn-ch,.jrn-ch-flow,.jrn-slot{transition:none}.jrn-node.kind-current .jrn-node-bubble,.jrn-ch-flow,.jrn-pop{animation:none}}@media (width<=940px){:root{--rail-w:60px}.rail{padding:var(--space-md) var(--space-sm) var(--space-sm);overflow:visible}.rail-word,.rail-course>.rail-course-name,.rail-label{display:none}.msc{width:auto}.rail-brand{justify-content:center;padding:6px 0 14px}.rail-course{justify-content:center;padding:0}.rail-course>svg:last-child{display:none}.rail-course-menu{width:190px;left:0;right:auto}.rail-item{justify-content:center;padding:0}.rail-ico{width:auto}}@media (width<=720px){.app{flex-direction:column}.body{order:1;min-height:0}.rail{z-index:20;align-items:center;gap:var(--space-sm);width:auto;padding:6px var(--space-sm) calc(6px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--borderSoft);flex-direction:row;order:2;overflow:visible}.rail-brand{display:none}.rail-course-wrap{padding-right:var(--space-sm);border-right:1px solid var(--borderSoft);flex:none;margin-bottom:0}.rail-course{width:46px;height:46px}.rail-course-menu{top:auto;bottom:calc(100% + 8px)}.rail-nav{justify-content:space-around;gap:var(--space-xs);flex-direction:row;flex:1;margin-top:0}.rail-item{flex:1;gap:0;min-width:0;max-width:96px;height:46px}.review-bar{gap:var(--space-sm);grid-template-columns:36px minmax(0,1fr) 40px;display:grid}.review-bar-cta{grid-column:2;justify-self:start}.review-bar-cancel{grid-area:1/3}.tb-part,.tb-crumb>svg:nth-of-type(2){display:none}.topbar{min-height:50px;padding:6px var(--space-sm) 6px var(--space-md);gap:var(--space-sm)}.tb-kick{font-size:var(--type-body);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box}.tb-crumb{min-width:0;padding:6px var(--space-xs);flex:1}main{padding:var(--space-sm);gap:var(--space-sm)}.stage{height:52vh;min-height:300px}.banner{max-width:64%}.ovbar{top:var(--space-sm);left:var(--space-sm)}.msc{left:8px;bottom:calc(66px + env(safe-area-inset-bottom))}.msc .msc-svg{width:54px;height:54px}.msc .msc-sprite{width:54px}}@media (width<=940px) and (height<=520px){.stage{height:62vh;min-height:200px}}}@layer lesson{:root{--right:var(--mint);--wrong:var(--danger);--cta:var(--action);--cta-ink:var(--onAction);--cta-sh:var(--actionShadow)}.flow{flex-direction:column;flex:1;min-height:0;display:flex}.flowrail{justify-content:center;align-items:center;gap:var(--space-lg);padding:10px var(--space-lg);border-bottom:1px solid var(--borderSoft);background:var(--panel);flex:none;display:flex}.flowrail-pips{align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.flowpip{background:var(--raised);cursor:pointer;width:20px;height:6px;transition:width var(--motion-medium) var(--motion-ease-spring), background var(--motion-fast);border:none;border-radius:3px;padding:0;display:block}.flowpip:disabled{cursor:default}.flowpip.done{background:var(--mint)}.flowpip.on{background:var(--accent);width:30px}.flowrail-now{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.flowrail-lab{font-family:var(--font-body);font-size:var(--type-small);color:var(--ink);font-weight:700}.flow-foot{padding:var(--space-md) var(--space-lg) 18px;border-top:1px solid var(--borderSoft);background:var(--panel);flex:none;justify-content:center;display:flex}.flow-foot .act-cta{max-width:640px}.flow-foot-float{z-index:40;background:linear-gradient(to top, var(--bg) 45%, transparent);padding-top:26px;padding-bottom:calc(18px + env(safe-area-inset-bottom));pointer-events:none;transition:transform var(--motion-medium) var(--motion-ease-out), opacity var(--motion-medium) var(--motion-ease-out);border-top:0;position:fixed;bottom:0;left:0;right:0}.flow-foot-float .act-cta{pointer-events:auto}@media (width<=720px){.flow{padding-bottom:64px}}@media (width<=940px){.flow:has(>.flow-foot-float){padding-bottom:calc(104px + env(safe-area-inset-bottom))}}.flow-foot-tuck{opacity:0;pointer-events:none;transform:translateY(120%)}@media (prefers-reduced-motion:reduce){.flow-foot-float{transition:opacity var(--motion-medium) var(--motion-ease-out)}}.flow-body{min-height:0;animation:view-in var(--motion-medium) var(--motion-ease-out) both;flex-direction:column;flex:1;display:flex}.flow-body>main{flex:1;min-height:0}.act{scrollbar-width:thin;scrollbar-color:var(--control) transparent;flex-direction:column;flex:1;gap:20px;width:100%;max-width:640px;min-height:0;margin:0 auto;padding:34px 24px 72px;display:flex;overflow-y:auto}.act-progress{justify-content:center;gap:6px;display:flex}.act-dot{background:var(--raised);width:34px;height:6px;transition:background var(--motion-medium) var(--motion-ease-out);border-radius:3px}.act-dot.done{background:var(--mint)}.act-dot.on{background:var(--accent)}.act-ask{font-family:var(--font-heading);font-size:var(--type-title);color:var(--ink);text-wrap:balance;margin:0;font-weight:600;line-height:1.25}.act-tex{border-radius:var(--radius-md);background:var(--raised);border:1px solid var(--borderSoft);justify-content:center;padding:14px;display:flex}.act-stem-art{padding:var(--space-sm) 0;justify-content:center;display:flex}.act-cell{flex-direction:column;align-items:center;gap:6px;display:inline-flex}.act-cell-art{border-radius:var(--radius-sm)}.act-cell-lab{font-size:var(--type-body)}.act-group{gap:var(--space-lg);display:grid}.act-group-stack,.act-group-split{grid-template-columns:1fr}@media (width>=900px){.act-group-split{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}.act-group-cell{min-width:0}.act-experience{flex-direction:column;gap:18px;display:flex}.xp-head{align-items:center;gap:var(--space-lg);display:flex}.xp-art{border-radius:var(--radius-md);flex:none}.xp-title{font-family:var(--font-heading);font-size:var(--type-title);color:var(--ink);margin:0;font-weight:600}.xp-summary{color:var(--muted);margin:2px 0 0;line-height:1.4}.kg{position:relative}.kg-edges{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.kg-edge{fill:none;stroke:var(--faint);stroke-width:1.5px;opacity:.5;transition:stroke var(--motion-fast), opacity var(--motion-fast)}.kg-port{fill:var(--faint);opacity:.5;transition:fill var(--motion-fast), opacity var(--motion-fast)}.kg-edge.on,.kg-port.on{stroke:var(--accent);fill:var(--accent);opacity:1}.kg-edge.on{stroke-width:2px}.kg-edge.dim,.kg-port.dim{opacity:.12}.kg-cols{gap:var(--space-md) 44px;grid-template-columns:1.15fr 1fr .95fr;align-items:start;display:grid;position:relative}.kg-col{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.kg-col-h{color:var(--muted);font-size:var(--type-micro,var(--type-small));letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 2px;font-weight:600;display:flex}.kg-node{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);max-width:100%;color:var(--ink);font-family:var(--font-body);font-size:var(--type-small);text-align:left;cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast), opacity var(--motion-fast);background:0 0;border:1px solid #0000;padding:7px 10px;line-height:1.35;display:flex}.kg-node-main{align-items:flex-start;gap:var(--space-xs);flex-direction:column;flex:1;min-width:0;display:flex}.kg-node-txt{flex:1;min-width:0}.kg-concept{border-color:var(--border);background:var(--raised);color:var(--accent);font-weight:600}.kg-node:hover,.kg-node:focus-visible{border-color:var(--accent);background:var(--raised)}.kg-node[aria-pressed=true]{border-color:var(--accent);background:var(--control)}.kg-node.dim{opacity:.35}.kg-node.here{border-color:var(--accent)}.kg-here{padding:2px var(--space-sm);border-radius:var(--radius-pill,var(--radius-pill));background:var(--control);color:var(--muted);font-size:var(--type-micro,var(--type-small));flex:none;font-weight:600}@media (width<=720px){.kg-cols{grid-template-columns:minmax(0,1fr);gap:18px}.kg-edges{display:none}}.act-options{flex-direction:column;gap:10px;display:flex}.act-opt{width:100%;min-height:56px;padding:var(--space-md) 18px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--raised);color:var(--ink);font-family:var(--font-body);font-size:var(--type-body);text-align:left;cursor:pointer;box-shadow:0 3px 0 var(--bg);transition:border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);justify-content:space-between;align-items:center;gap:10px;font-weight:600;display:flex}.act-opt:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px)}.act-opt:not(:disabled):active{box-shadow:0 1px 0 var(--bg);transform:translateY(2px)}.act-opt.sel{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--raised))}.act-opt.good{border-color:var(--right);background:color-mix(in srgb, var(--right) 18%, var(--raised));color:var(--ink)}.act-opt.good svg{color:var(--right)}.act-opt.bad{border-color:var(--wrong);background:color-mix(in srgb, var(--wrong) 16%, var(--raised))}.act-opt.bad svg{color:var(--wrong)}.act-opt.mute{opacity:.5}.act-opt-body{flex:1;min-width:0}.act-key{border-radius:var(--radius-sm);border:2px solid var(--border);min-width:26px;height:26px;color:var(--faint);font-family:var(--font-body);font-size:var(--type-small);flex:none;justify-content:center;align-items:center;padding:0 6px;font-weight:700;line-height:1;display:inline-flex}.act-opt.sel .act-key,.act-tile.sel .act-key{border-color:var(--accent);color:var(--accent)}.act-tile .act-key{position:absolute;top:50%;left:10px;transform:translateY(-50%)}.act-tile:has(.act-key){padding-inline:44px;position:relative}@media (hover:none){.act-key{display:none}.act-tile:has(.act-key){padding-inline:14px}}.act-actions{align-items:center;gap:var(--space-md);display:flex}.act-actions .act-cta{flex:1}.act-skip{height:52px;margin-top:var(--space-xs);padding:0 var(--space-xl);border-radius:var(--radius-pill);border:2px solid var(--border);color:var(--muted);font-family:var(--font-body);font-size:var(--type-body);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:0 3px 0 var(--bg);transition:border-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);background:0 0;flex:none;font-weight:800}.act-skip:hover{border-color:var(--accent);color:var(--ink)}.act-skip:active{box-shadow:0 1px 0 var(--bg);transform:translateY(2px)}.act-feedback{gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--borderSoft);animation:rise-in var(--motion-medium) var(--motion-ease-out) both;flex-direction:column;display:flex}.act-feedback.good{background:color-mix(in srgb, var(--right) 12%, var(--panel));border-color:color-mix(in srgb, var(--right) 40%, var(--border))}.act-feedback.bad{background:color-mix(in srgb, var(--wrong) 12%, var(--panel));border-color:color-mix(in srgb, var(--wrong) 40%, var(--border))}.act-fb-head{font-family:var(--font-heading);font-weight:600;font-size:var(--type-body);color:var(--ink)}.act-feedback.good .act-fb-head{color:var(--right)}.act-feedback.bad .act-fb-head{color:var(--wrong)}.act-fb-note{font-size:var(--type-small);color:var(--muted);line-height:1.5}.act-cta{height:52px;margin-top:var(--space-xs);border-radius:var(--radius-pill);background:var(--cta);color:var(--cta-ink);font-family:var(--font-body);font-size:var(--type-body);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:0 5px 0 var(--cta-sh);transition:transform var(--motion-fast) var(--motion-ease-spring), box-shadow var(--motion-fast), filter var(--motion-fast);border:none;justify-content:center;align-self:stretch;align-items:center;gap:6px;padding:0 24px;font-weight:800;display:inline-flex}.act-cta:not(:disabled):hover{filter:brightness(1.06)}.act-cta:not(:disabled):active{box-shadow:0 1px 0 var(--cta-sh);transform:translateY(4px)}.act-grades{gap:var(--space-sm);margin-top:var(--space-xs);grid-template-columns:repeat(3,1fr);align-self:stretch;display:grid}.act-grade{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--panel);height:48px;color:var(--ink);font-family:var(--font-body);font-size:var(--type-body);cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease-spring), background var(--motion-fast), border-color var(--motion-fast);font-weight:700}.act-grade:hover{transform:translateY(-2px)}.act-grade.bad:hover{border-color:var(--wrong);background:color-mix(in srgb, var(--wrong) 12%, transparent)}.act-grade.ok:hover{border-color:var(--amber);background:color-mix(in srgb, var(--amber) 12%, transparent)}.act-grade.good:hover{border-color:var(--mint);background:color-mix(in srgb, var(--mint) 14%, transparent)}.act-grade:active{transform:scale(.95)}.act-grade-hint{margin-top:var(--space-xs);color:var(--faint);font-size:var(--type-caption);align-self:center}.act-cta:disabled{background:var(--control);color:var(--faint);box-shadow:0 5px 0 var(--bg);cursor:not-allowed}.act-cols{align-items:stretch;gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.act-col{grid-auto-rows:1fr;gap:10px;display:grid}.act-tile{text-align:center;min-height:58px;padding:var(--space-md) 14px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--raised);color:var(--ink);font-size:var(--type-body);cursor:pointer;box-shadow:0 3px 0 var(--bg);transition:border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);justify-content:center;align-items:center;font-weight:600;display:flex}.act-tile:not(:disabled):hover{border-color:var(--accent)}.act-tile.sel{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--raised))}.act-tile.matched{opacity:0;pointer-events:none;border-color:var(--right);animation:match-vanish var(--motion-slow) var(--motion-ease-spring) both}@keyframes match-vanish{0%{opacity:1;transform:scale(1)}35%{opacity:1;border-color:var(--right);background:color-mix(in srgb, var(--right) 18%, var(--raised));transform:scale(1.06)}to{opacity:0;transform:scale(.6)}}.act-tile.wrong{border-color:var(--wrong);background:color-mix(in srgb, var(--wrong) 16%, var(--raised));animation:shake .32s var(--motion-ease-out)}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.act-tile.matched,.act-tile.wrong{animation:none}}.act-formula{align-items:center;gap:var(--space-sm);min-height:64px;padding:var(--space-lg);border-radius:var(--radius-md);border:2px dashed var(--border);background:var(--panel);flex-wrap:wrap;font-size:1.1rem;display:flex}.act-formula.good{border-style:solid;border-color:var(--right)}.act-formula.bad{border-style:solid;border-color:var(--wrong)}.act-slot{min-width:46px;min-height:42px;padding:var(--space-xs) 10px;border-radius:var(--radius-sm);justify-content:center;align-items:center;display:inline-flex}.act-slot.empty{border:2px dashed var(--borderSoft);background:var(--bg)}.act-slot.filled{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--raised));color:var(--ink);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.act-formula.drop-active{border-style:solid;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel))}.act-caret{background:var(--accent);width:3px;min-height:34px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);border-radius:2px;align-self:stretch}.act-pool{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.act-token{min-height:var(--target-min);border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--raised);color:var(--ink);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 3px 0 var(--bg);transition:transform var(--motion-fast) var(--motion-ease-spring), opacity var(--motion-fast);padding:6px 14px;font-size:1.05rem}.act-token:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px)}.act-token:disabled{opacity:.28;cursor:default}.act-token.dragging{opacity:.3}.act-ghost{z-index:50;pointer-events:none;border-radius:var(--radius-sm);border:2px solid var(--accent);background:var(--raised);color:var(--ink);padding:6px 14px;font-size:1.05rem;position:fixed;transform:translate(-50%,-50%)rotate(-2deg)scale(1.06);box-shadow:0 10px 24px #00000047}.act-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(160deg, var(--raised), var(--panel));min-height:220px;color:var(--ink);cursor:pointer;text-align:center;box-shadow:0 6px 0 var(--bg);transition:transform var(--motion-fast) var(--motion-ease-spring);flex-direction:column;gap:18px;padding:28px 24px;display:flex;position:relative}.act-card:active{transform:translateY(2px)}.act-card-face{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.act-card-back{border-top:1px solid var(--borderSoft);animation:rise-in var(--motion-medium) var(--motion-ease-out) both;padding-top:18px}.act-card-kick{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.12em;color:var(--faint);font-weight:700}.act-card-front .act-card-kick{color:var(--accent)}.act-card-back .act-card-kick{color:var(--mint)}.act-card-txt{font-family:var(--font-heading);font-size:var(--type-title);color:var(--ink);text-wrap:balance;font-weight:600;line-height:1.3}.act-card-back .act-card-txt{font-family:var(--font-body);font-size:var(--type-body);color:var(--muted);font-weight:500}.act-card-hint{font-size:var(--type-caption);color:var(--faint)}.lesson-done{justify-content:center;align-items:center;gap:var(--space-md);min-height:0;padding:var(--space-2xl);text-align:center;flex-direction:column;flex:1;display:flex}.msc.msc-inline{z-index:auto;animation:ld-pop .5s var(--motion-ease-spring) both;align-items:center;position:static;bottom:auto;left:auto}@keyframes ld-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.ld-title{margin:var(--space-sm) 0 0;font-family:var(--font-heading);font-size:var(--type-hero);color:var(--mint);font-weight:600}.ld-sub{font-size:var(--type-body);color:var(--muted);margin:0}.lesson-done .act-cta{min-width:260px;margin-top:var(--space-lg);align-self:auto}.lesson-done .connections{width:min(100%,420px);margin-top:var(--space-md);text-align:left;animation:ld-rise var(--motion-slow) var(--motion-ease-out) var(--motion-fast) both}.ld-actions{align-items:center;gap:var(--space-sm);margin-top:var(--space-md);animation:ld-rise var(--motion-slow) var(--motion-ease-out) var(--motion-medium) both;flex-direction:column;display:flex}@keyframes ld-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.lesson-done .connections,.ld-actions{animation:none}}.ld-actions .act-cta{margin-top:0}.ld-back{padding:6px var(--space-md);color:var(--muted);font-size:var(--type-small);cursor:pointer;transition:color var(--motion-fast);background:0 0;border:none;font-weight:600}.ld-back:hover{color:var(--ink)}.ghost-card{top:var(--space-md);max-width:min(520px, calc(100% - 2 * (var(--space-md) * 2 + var(--target-min))));justify-content:center;align-items:center;gap:var(--space-xs) var(--space-md);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);border:1px solid var(--borderSoft);background:var(--glassStrong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--elevation-sm);text-align:center;flex-wrap:wrap;display:flex;position:absolute;left:50%;transform:translate(-50%)}.ghost-ask{font-size:var(--type-small);line-height:var(--leading-ui);color:var(--ink);text-wrap:balance;margin:0}.ghost-status:empty{display:none}.ghost-verdict{font-size:var(--type-small);font-weight:600}.ghost-verdict.good{color:var(--right)}.ghost-verdict.bad{color:var(--wrong)}.ghost-why{font-size:var(--type-caption);color:var(--muted)}.ghost-why summary{min-height:var(--target-min);color:var(--ink);cursor:pointer;align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.ghost-why[open]{flex-basis:100%;max-width:44ch;margin-inline:auto}.ghost-why span{padding-bottom:var(--space-xs);line-height:var(--leading-ui);display:block}.ghost-btn{min-height:var(--target-min);padding:0 var(--space-lg);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--ink);font:600 var(--type-small) var(--font-body);white-space:nowrap;cursor:pointer;background:0 0}.ghost-btn.primary{background:var(--cta);color:var(--cta-ink);border-color:#0000}.ghost-btn:focus-visible,.ghost-input:focus-visible,.ghost-handle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.ghost-bar{left:var(--space-md);right:var(--space-md);bottom:var(--space-md);align-items:center;gap:var(--space-xs) var(--space-lg);padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--borderSoft);background:var(--glassStrong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-wrap:wrap;display:flex;position:absolute}.ghost-rail{min-width:140px;height:var(--target-min);touch-action:none;-webkit-user-select:none;user-select:none;flex:160px;position:relative}.ghost-rail.live,.ghost-pad.live{cursor:pointer}.ghost-track{background:var(--border);height:2px;position:absolute;top:50%;left:0;right:0}.ghost-tick{background:var(--border);pointer-events:none;width:1px;height:8px;position:absolute;top:50%;transform:translate(-50%,-50%)}.ghost-span{background:color-mix(in srgb, var(--accent) 32%, transparent);pointer-events:none;height:8px;position:absolute;top:50%;transform:translateY(-50%)}.ghost-handle{width:var(--target-min);height:var(--target-min);border-radius:var(--radius-pill);cursor:grab;place-items:center;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.ghost-pad .ghost-handle{top:auto}.ghost-handle.fixed{cursor:default}.ghost-pin{border-radius:var(--radius-pill);border:2px dashed var(--accent);background:color-mix(in srgb, var(--accent) 22%, transparent);width:20px;height:20px}.ghost-mark-label{font-size:var(--type-micro);color:var(--accent);white-space:nowrap;pointer-events:none;font-weight:600;position:absolute;bottom:88%;left:50%;transform:translate(-50%)}.ghost-truth{border-radius:var(--radius-pill);background:var(--right);pointer-events:none;width:3px;height:26px;position:absolute;top:50%;transform:translate(-50%,-50%)}.ghost-truth .ghost-mark-label{color:var(--right);top:100%;bottom:auto}.ghost-playhead{background:var(--ink);pointer-events:none;width:2px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%)}.ghost-pad{inset:22% var(--space-md) 28%;touch-action:none;position:absolute}.ghost-entry{align-items:center;gap:var(--space-sm);flex-wrap:nowrap;display:flex}.ghost-field{align-items:center;gap:var(--space-xs);font-size:var(--type-caption);color:var(--muted);display:inline-flex}.ghost-input{width:6.5em;min-height:var(--target-min);padding:0 var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--control);color:var(--ink);font-size:var(--type-small)}.ghost-input:disabled,.ghost-unit{color:var(--muted)}@media (width<=720px){.ghost-card{top:var(--space-sm);left:calc(var(--space-sm) * 2 + var(--target-min));right:var(--space-sm);border-radius:var(--radius-md);max-width:none;transform:none}.ghost-bar{left:var(--space-sm);right:var(--space-sm);bottom:var(--space-sm);gap:var(--space-xs) var(--space-md);padding:var(--space-xs) var(--space-md)}.ghost-rail{flex-basis:100px;min-width:100px}.ghost-input{width:4.5em}}.stage[data-prediction-layout=rows]{gap:var(--space-md);padding:var(--space-md);scroll-padding-block:var(--space-md);grid-template-rows:auto minmax(280px,1fr) auto;grid-template-columns:auto minmax(0,1fr);display:grid;overflow-y:auto}.stage>.stage-scene{min-width:0;min-height:0;position:relative}.stage[data-prediction-layout=rows]>.prediction-scene{grid-area:2/1/3/-1}.stage[data-prediction-layout=rows]>.ovbar{grid-area:1/1;align-self:start;position:relative;inset:auto}.stage[data-prediction-layout=rows]>.ghost-card{grid-area:1/2;place-self:start center;min-width:0;max-width:520px;position:relative;inset:auto;transform:none}.stage[data-prediction-layout=rows]>.ghost-bar{grid-area:3/1/4/-1;min-width:0;position:relative;inset:auto}.stage[data-prediction-layout=rows]>.ghost-bar .ghost-entry{flex-wrap:wrap;min-width:0}.stage[data-prediction-layout=rows]>.ghost-bar .ghost-rail{height:calc(var(--target-min) + 2 * var(--type-micro) * var(--leading-ui))}.stage[data-prediction-layout=rows]>.ghost-bar .ghost-rail .ghost-mark-label{line-height:var(--leading-ui)}.stage[data-transport-layout=row]{gap:var(--space-md);padding:var(--space-md);scroll-padding-block:var(--space-md);grid-template-rows:minmax(300px,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid;overflow-y:auto}.stage[data-transport-layout=row]>.stage-scene{grid-area:1/1}.stage[data-transport-layout=row]>.tbar{grid-area:2/1;min-width:0;position:relative;inset:auto}}@layer topics{.tb-topics{border-radius:var(--radius-pill);border:1px solid var(--borderSoft);background:var(--raised);height:36px;color:var(--muted);font-family:var(--font-body);font-size:var(--type-small);cursor:pointer;transition:border-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);align-items:center;gap:7px;padding:0 14px;font-weight:700;display:inline-flex}.tb-topics:hover{color:var(--ink);border-color:var(--border)}.tb-topics:active{transform:scale(.97)}.tb-topics svg{color:var(--accent)}.tpc-scrim{z-index:40;padding:8vh var(--space-lg) var(--space-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:scrim-in var(--motion-fast) ease both;background:#0f0a109e;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}}.tpc-scrim.closing{animation:scrim-in var(--motion-fast) ease reverse both}.tpc{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:84vh;animation:rise-in var(--motion-medium) var(--motion-ease-out) both;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000008c}.tpc-scrim.closing .tpc{animation:rise-in var(--motion-fast) var(--motion-ease-out) reverse both}.tpc-top{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);display:flex}.tpc-top h2{font-family:var(--font-heading);font-size:var(--type-title);color:var(--ink);flex:1;margin:0;font-weight:600}.tpc-search{align-items:center;gap:var(--space-sm);margin:0 var(--space-lg) var(--space-md);padding:0 var(--space-md);border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--borderSoft);height:46px;color:var(--faint);display:flex}.tpc-search input{min-width:0;color:var(--ink);font-family:var(--font-body);font-size:var(--type-body);background:0 0;border:none;outline:none;flex:1}.tpc-search input::placeholder{color:var(--faint)}.tpc-body{min-height:0;padding:0 var(--space-lg) var(--space-lg);scrollbar-width:thin;scrollbar-color:var(--control) transparent;flex:1;overflow-y:auto}.tpc-grid{gap:var(--space-sm);flex-direction:column;display:flex}.tpc-card{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) 14px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--acc,var(--accent)) 30%, var(--borderSoft));background:linear-gradient(100deg, color-mix(in srgb, var(--acc,var(--accent)) 12%, var(--raised)), var(--raised));color:var(--ink);text-align:left;cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease-spring), border-color var(--motion-fast);display:flex}.tpc-card:hover{border-color:color-mix(in srgb, var(--acc,var(--accent)) 55%, var(--border));transform:translate(2px)}.tpc-card:active{transform:translate(2px)scale(.99)}.tpc-card-ico{background:color-mix(in srgb, var(--acc,var(--accent)) 26%, var(--bg));width:40px;height:40px;color:var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.tpc-card-txt{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tpc-card-name{font-family:var(--font-heading);font-size:var(--type-body);color:var(--ink);font-weight:600}.tpc-card-blurb{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tpc-card-prog{font-size:var(--type-caption);color:var(--acc,var(--accent));flex:none;font-weight:600}.tpc-card-prog small{color:var(--faint);font-weight:500}.tpc-hits{flex-direction:column;gap:3px;display:flex}.tpc-hit{align-items:center;gap:var(--space-md);width:100%;padding:11px var(--space-md);border-radius:var(--radius-sm);color:var(--muted);text-align:left;cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;display:flex}.tpc-hit:hover{background:var(--raised);color:var(--ink)}.tpc-hit.on{background:var(--control);color:var(--ink)}.tpc-hit.locked{opacity:.5;cursor:not-allowed}.tpc-hit-name{min-width:0;font-size:var(--type-small);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.tpc-hit-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.tpc-hit-main .tpc-hit-name{flex:none}.tpc-hit-sub{font-size:var(--type-micro);color:var(--faint);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tpc-hit svg{color:var(--mint);flex:none}.tpc-hit.locked svg{color:var(--faint)}.tpc-empty{text-align:center;color:var(--faint);font-size:var(--type-small);margin-top:var(--space-xl)}}@layer profile{.prof{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--control) transparent;min-height:0;animation:view-in var(--motion-medium) var(--motion-ease-out) both;flex:1;overflow-y:auto}.prof-inner{max-width:840px;padding:var(--space-2xl) var(--space-lg) 20vh;gap:var(--space-xl);flex-direction:column;margin:0 auto;display:flex}.set-page{max-width:1180px;padding:var(--space-3xl) var(--space-xl) 20vh;gap:var(--space-2xl);flex-direction:column;margin:0 auto;display:flex}.setc-hero{align-items:center;gap:var(--space-lg);display:flex}.setc-hero-id{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.setc-hero-name{color:var(--ink);font-family:var(--font-heading);font-size:var(--type-title);font-weight:700;line-height:1.1}.setc-hero-sub{color:var(--muted);font-size:var(--type-small)}.setc-hero-actions{gap:var(--space-sm);margin-left:auto;display:flex}.setc-btn{align-items:center;gap:var(--space-sm);min-height:var(--target-min);padding:0 var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);color:var(--ink);font-family:var(--font-body);font-size:var(--type-small);cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast);font-weight:700;display:inline-flex}.setc-btn:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--raised)}.setc-btn svg{color:var(--muted)}.setc-body{gap:var(--space-3xl);grid-template-columns:216px minmax(0,1fr);align-items:start;display:grid}.setc-rail{top:var(--space-xl);flex-direction:column;gap:2px;display:flex;position:sticky}.setc-railitem{min-height:var(--target-min);padding:0 var(--space-md);border-radius:var(--radius-md);color:var(--muted);font-family:var(--font-body);font-size:var(--type-small);text-align:left;cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;align-items:center;gap:10px;font-weight:650;display:flex}.setc-railitem svg{color:var(--faint)}.setc-railitem:hover{color:var(--ink);background:var(--panel)}.setc-railitem.on{background:var(--raised);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent)}.setc-railitem.on svg{color:var(--accent)}.setc-railitem:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.setc-main{gap:var(--space-3xl);flex-direction:column;min-width:0;max-width:860px;display:flex}.setc-sec{gap:var(--space-xs);scroll-margin-top:var(--space-xl);flex-direction:column;display:flex}.setc-sech{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);color:var(--faint);font-family:var(--font-numeric);font-size:var(--type-micro);letter-spacing:.1em;text-transform:uppercase;font-weight:500;display:flex}.setc-sech svg{color:var(--accent)}.setc-sech:after{content:"";background:var(--borderSoft);flex:1;height:1px}.setc-row{justify-content:space-between;align-items:center;gap:var(--space-xl);min-height:56px;padding:var(--space-sm) 0;display:flex}.setc-row+.setc-row{border-top:1px solid var(--borderSoft)}.setc-rowtext{flex-direction:column;gap:3px;min-width:0;display:flex}.setc-rlabel{color:var(--ink);font-size:var(--type-body);font-weight:650;line-height:1.3}.setc-rdesc{color:var(--muted);font-size:var(--type-caption);line-height:1.45}.setc-rowhint{text-align:right;max-width:260px}.setc-toggle{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--control);cursor:pointer;width:46px;height:27px;transition:background var(--motion-fast), border-color var(--motion-fast);flex:none;position:relative}.setc-toggle i{border-radius:var(--radius-pill);background:var(--faint);width:21px;height:21px;transition:transform var(--motion-fast) var(--motion-ease-out), background var(--motion-fast);position:absolute;top:2px;left:3px}.setc-toggle.on{border-color:var(--accent);background:var(--accent)}.setc-toggle.on i{background:var(--onAccent);transform:translate(17px)}.setc-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.setc-toggle:disabled{opacity:.6;cursor:default}.setc-chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.setc-chip{min-width:52px;min-height:var(--target-min);padding:0 var(--space-md);border:1px solid var(--borderSoft);border-radius:var(--radius-md);background:var(--panel);color:var(--muted);font-size:var(--type-caption);cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast), color var(--motion-fast);justify-content:center;align-items:center;display:inline-flex}.setc-chip:hover{color:var(--ink);border-color:var(--border)}.setc-chip.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel));color:var(--ink)}.setc-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.setc-links{gap:var(--space-xl);padding:var(--space-sm) 0;display:flex}.setc-link{align-items:center;gap:var(--space-sm);min-height:var(--target-min);color:var(--muted);font-size:var(--type-small);font-weight:650;text-decoration:none;display:inline-flex}.setc-link svg{color:var(--faint)}.setc-link:hover,.setc-link:focus-visible,.setc-link:hover svg,.setc-link:focus-visible svg{color:var(--accent)}.set-note-ok{color:var(--mint);align-items:center;gap:6px;display:inline-flex}@media (width<=940px){.setc-body{gap:var(--space-lg);grid-template-columns:1fr}.setc-rail{z-index:2;gap:var(--space-xs);padding:var(--space-sm) 0;background:color-mix(in srgb, var(--bg) 90%, transparent);flex-direction:row;position:sticky;top:0;overflow-x:auto}.setc-railitem{border:1px solid var(--borderSoft);border-radius:var(--radius-pill);flex:none}.setc-railitem.on{box-shadow:none;border-color:var(--accent)}}@media (width<=720px){.set-page{padding:var(--space-xl) var(--space-md) 110px}.setc-hero{flex-wrap:wrap}.setc-hero-actions{width:100%;margin-left:0}.setc-row{flex-wrap:wrap}.setc-rowhint{text-align:left;max-width:none}}@media (prefers-reduced-motion:reduce){.prof{scroll-behavior:auto}.setc-btn,.setc-railitem,.setc-toggle,.setc-toggle i,.setc-chip{transition:none}}.prof-hero{align-items:center;gap:var(--space-lg);display:flex}.prof-id{flex-direction:column;gap:3px;display:flex}.prof-name{font-family:var(--font-heading);font-size:var(--type-hero);color:var(--ink);font-weight:600;line-height:1}.prof-sub{font-size:var(--type-small);color:var(--muted)}.prof-parts{gap:var(--space-sm);flex-direction:column;display:flex}.prof-part{align-items:center;gap:var(--space-md);padding:10px var(--space-md);border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--borderSoft);display:flex}.prof-part-ico{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--acc,var(--accent)) 22%, var(--raised));width:30px;height:30px;color:var(--acc,var(--accent));flex:none;justify-content:center;align-items:center;display:flex}.prof-part-name{width:140px;font-size:var(--type-small);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:none;font-weight:600;overflow:hidden}.prof-bar{background:var(--bg);border-radius:4px;flex:1;height:8px;overflow:hidden}.prof-bar-fill{background:var(--acc,var(--accent));height:100%;transition:width var(--motion-slow) var(--motion-ease-out);border-radius:4px;display:block}.prof-part-n{font-size:var(--type-caption);color:var(--muted);text-align:right;flex:none;min-width:42px;font-weight:600}.prof-part-n small{color:var(--faint)}}@layer error{.page-err{padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.pge-card{text-align:center;max-width:400px;padding:var(--space-2xl) 28px;border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--border);flex-direction:column;align-items:center;gap:10px;display:flex;box-shadow:0 1px 2px #0f121e0d}.pge-ico{background:color-mix(in srgb, var(--amber) 16%, var(--panel));width:52px;height:52px;color:var(--amber);border-radius:15px;justify-content:center;align-items:center;display:flex}.pge-title{font-family:var(--font-heading);font-size:var(--type-title);color:var(--ink);margin:6px 0 0;font-weight:600}.pge-body{font-size:var(--type-small);color:var(--muted);margin:0;line-height:1.55}.pge-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.pge-retry{height:44px;padding:0 var(--space-xl);border-radius:var(--radius-pill);background:var(--cta);color:var(--cta-ink);font-family:var(--font-body);font-size:var(--type-body);cursor:pointer;box-shadow:0 4px 0 var(--cta-sh);transition:transform var(--motion-fast) var(--motion-ease-spring), box-shadow var(--motion-fast);border:none;align-items:center;gap:6px;font-weight:800;display:inline-flex}.pge-retry:active{box-shadow:0 1px 0 var(--cta-sh);transform:translateY(3px)}.pge-reload{height:44px;color:var(--muted);font-family:var(--font-body);font-size:var(--type-small);cursor:pointer;border-radius:var(--radius-pill);transition:color var(--motion-fast);background:0 0;border:none;padding:0 14px;font-weight:700}.pge-reload:hover{color:var(--ink)}}@layer theme{:root[data-theme=light] .act-opt,:root[data-theme=light] .act-tile,:root[data-theme=light] .act-token{background:var(--panel);border-width:1.5px;box-shadow:0 1px 2px #0f121e0d}:root[data-theme=light] .act-opt:not(:disabled):hover,:root[data-theme=light] .act-tile:not(:disabled):hover{box-shadow:0 4px 12px #0f121e14}:root[data-theme=light] .act-opt:not(:disabled):active{box-shadow:0 1px 2px #0f121e0d}@media (width<=720px){.tb-topics span{display:none}.prof-part-name{width:96px}}}@layer firstrun{.fr{padding:var(--space-md);color:var(--ink);position:relative}.fr-card{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--panel)}.fr-step{gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr);justify-items:start;display:grid}.fr-h{font-size:var(--type-body);line-height:var(--leading-tight);text-wrap:balance;grid-column:2;margin:0}.fr-kick{font-size:var(--type-caption);color:var(--accent)}.fr-sage{grid-row:span 4;display:flex}.fr-cta{min-height:var(--target-min);align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);background:var(--accent);color:var(--onAccent);font-size:var(--type-small);cursor:pointer;border:none;grid-column:2;font-weight:700;display:inline-flex}.fr-browse{min-height:var(--target-min);padding:var(--space-sm);color:var(--muted);font-size:var(--type-caption);cursor:pointer;background:0 0;border:none;grid-column:2}.fr-browse:hover{color:var(--ink)}}@layer dev{.evpane{z-index:40;font-family:var(--font-numeric);flex-direction:column-reverse;align-items:flex-end;gap:6px;display:flex;position:fixed;bottom:14px;right:14px}@media (width<=720px){.evpane{bottom:calc(66px + env(safe-area-inset-bottom))}}.evpane-tab{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:var(--radius-md);font-size:var(--type-micro);letter-spacing:.04em;cursor:pointer;box-shadow:var(--elevation-md);padding:5px 11px}.evpane-tab:hover{color:var(--ink);border-color:var(--accent)}.evpane-tab .mono{color:var(--accent);margin-right:3px}.evpane-body{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-md);width:232px;padding:var(--space-md);box-shadow:var(--elevation-md)}.evpane-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.evpane-cell{flex-direction:column;gap:1px;display:flex}.evpane-v{font-size:var(--type-body);color:var(--ink);font-variant-numeric:tabular-nums}.evpane-l{font-size:var(--type-micro);color:var(--faint)}.evpane-clear{border:1px solid var(--border);background:var(--raised);width:100%;color:var(--muted);border-radius:var(--radius-sm);padding:var(--space-xs);font-family:var(--font-numeric);font-size:var(--type-micro);cursor:pointer;margin-top:10px}.evpane-clear:hover{color:var(--ink)}}@layer experiences{.expx{scrollbar-width:thin;scrollbar-color:var(--control) transparent;min-height:0;animation:view-in var(--motion-medium) var(--motion-ease-out) both;flex:1;overflow-y:auto}.expx-dock{justify-content:center;align-self:center;align-items:center;gap:12px;display:flex}.expx-dock:empty{display:none}.expx-continue{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--panel);color:var(--ink);font-size:var(--type-small);white-space:nowrap;cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease-spring), border-color var(--motion-fast) var(--motion-ease-out);align-items:center;gap:6px;padding:12px 20px;font-weight:700;display:inline-flex}.expx-continue:hover{border-color:color-mix(in srgb, var(--ink) 34%, var(--border));transform:translateY(-2px)}.expx-continue svg{width:18px;height:18px}@media (prefers-reduced-motion:reduce){.expx-continue{transition:border-color var(--motion-fast) var(--motion-ease-out)}}.expx-inner{max-width:720px;padding:var(--space-2xl) var(--space-lg) 20vh;gap:var(--space-xl);flex-direction:column;margin:0 auto;display:flex}.expx-scene-txt{gap:var(--space-xs);flex-direction:column;display:flex}.expx-h1{font-family:var(--font-heading);font-size:var(--type-hero);color:var(--ink);margin:0;font-weight:600}.expx-tag{font-size:var(--type-body);color:var(--muted);margin:0}.expx-scene{align-items:center;gap:var(--space-md);display:flex}.expx-road{border-top:2px solid var(--border);background:linear-gradient(90deg, transparent 0 8%, var(--borderSoft) 8% 18%, transparent 18% 28%) 0 62% / 180px 3px repeat-x;position:absolute;inset:62% 0 0}.expx-discovery-scene{isolation:isolate;perspective:900px;border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, var(--raised)) 0 57%, color-mix(in srgb, var(--mint) 12%, var(--panel)) 57%);min-height:330px;box-shadow:var(--elevation-md);place-items:center;display:grid;position:relative;overflow:hidden}.expx-discovery-scene:before{content:"";z-index:6;pointer-events:none;background:linear-gradient(145deg,#ffffff29,#0000 40%,#140e1821);position:absolute;inset:0}.expx-discovery-scene.has-3d{perspective:none;background:#c6e6f2}.expx-discovery-scene.has-3d:before{background:linear-gradient(160deg,#ffffff1f,#0000 46%)}.expx-discovery-scene .expx-stage,.expx-discovery-scene .expx-room-art{z-index:4;filter:drop-shadow(0 18px 10px color-mix(in srgb, var(--ink) 24%, transparent));position:relative;transform:translateY(44px)rotateX(-3deg)}.scene-grocerystore{background:linear-gradient(#dfe9dc 0 57%,#cbbda9 57%)}.scene-grocerystore .expx-stage{gap:6px;transform:translateY(48px)scale(.88)}.scene-basketballmatch .expx-stage{transform:translate(-38px,52px)scale(.88)}.scene-livingroomelectricity .expx-room-art{transform:translate(74px,36px)scale(.72)}.scene-sailingsea .expx-stage{filter:drop-shadow(10px 18px 9px #08374a52);transform:translateY(34px)scale(1.04)}.expx-room-art{justify-content:center;align-items:flex-end;gap:22px;width:250px;height:170px;display:flex}.expx-room-art i{background:var(--control);border-radius:24px 24px 10px 10px;width:48px;height:74px;display:block;position:relative}.expx-room-art i:before{content:"";background:color-mix(in srgb, var(--ink) 62%, var(--panel));width:14px;height:48px;position:absolute;top:-48px;left:17px}.expx-room-art i:after{content:"";background:#ffd66b;border-radius:50%;width:40px;height:40px;position:absolute;top:-70px;left:4px;box-shadow:0 0 30px #ffd66bb8}.expx-room-art i:nth-child(2){height:54px;transform:translateY(10px)}.expx-room-art i:nth-child(3){height:90px;transform:translateY(-8px)}.expx-room-art.active i:nth-child(2):after{animation:expx-light-switch .8s var(--motion-ease-out) both}.scene-livingroomelectricity[data-first-on=false] .expx-room-art i:after{opacity:.16;box-shadow:none}.expx-toggle{cursor:pointer;text-align:left;border:1px solid var(--border)}.expx-toggle output{background:var(--raised);color:var(--muted);border-radius:999px;justify-self:end;padding:3px 9px}.expx-toggle[aria-checked=true]{border-color:color-mix(in srgb, var(--mint) 65%, var(--border));background:color-mix(in srgb, var(--mint) 9%, var(--control))}.expx-toggle[aria-checked=true] output{color:var(--ink);background:color-mix(in srgb, var(--mint) 30%, var(--raised))}.expx-result-metric{justify-content:space-between;gap:var(--space-md);margin:4px 0 var(--space-md);border-radius:var(--radius-md);background:var(--raised);color:var(--muted);padding:12px 14px;display:flex}.expx-result-metric strong{color:var(--ink)}.expx-subject{width:fit-content;font-size:var(--type-micro);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-top:3px;padding:2px 8px;font-weight:700}.expx-subject-physics{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.expx-subject-math{color:var(--mint);background:color-mix(in srgb, var(--mint) 12%, transparent)}.expx-top-world{z-index:3;transform-origin:50%;position:absolute;inset:0;overflow:hidden;transform:rotateX(2deg)}.expx-top-world>span{display:block;position:absolute}.scene-grocerystore{--gro-size:clamp(0, calc((var(--discovery-first) - 250) / 750), 1);--gro-price:clamp(0, calc((var(--discovery-second) - 15) / 55), 1);background:radial-gradient(120% 60% at 50% 6%,#ffffff47,#0000 60%),linear-gradient(#cdb896 0 20%,#d8c7ab 20%),repeating-linear-gradient(90deg,#d8c7ab 0 46px,#d2bfa2 47px 48px)}.gro-sign{opacity:.9;background:#7a5f49;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:32px;display:flex;top:5%;left:26%;right:26%;box-shadow:0 10px 20px #3a281b47}.gro-sign i{background:#f1c85f;border-radius:3px;width:22%;height:12px}.gro-sign i:nth-child(2){background:#73a58b;width:30%}.gro-sign i:nth-child(3){background:#d86f50}.expx-shelf{background:repeating-linear-gradient(90deg,#0000 0 24%,#4c34246b 24% 26%),repeating-linear-gradient(0deg,#d86f50 0 22%,#4c342480 22% 25%,#f1c85f 25% 47%,#4c342480 47% 50%,#73a58b 50% 72%,#4c342480 72% 75%,#6f97c4 75% 97%);border:6px solid #765d49;border-radius:8px;width:20%;top:20%;bottom:27%;box-shadow:inset 0 0 0 3px #ffffff38,8px 11px #46302229}.expx-shelf i{background:#b7411f;border-radius:3px;width:22px;height:14px;position:absolute;inset:-6px auto auto -6px;box-shadow:2px 3px #41281e33}.shelf-b i{inset:-6px -6px auto auto}.shelf-a{left:5%}.shelf-b{right:5%}.expx-cart{background:repeating-linear-gradient(90deg,#0000 0 8px,#ffffff80 9px 11px);border:5px solid #65707d;border-radius:7px;width:54px;height:42px;top:30%;left:55%;transform:rotate(-8deg)}.expx-cart i{background:#434a54;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-12px}.expx-cart i:first-child{left:6px}.expx-cart i:last-child{right:6px}.expx-shopper{background:#7766b7;border-radius:50%;width:38px;height:38px;top:44%;left:47%;box-shadow:6px 8px #3224452e}.expx-shopper:before{content:"";background:#c88968;border-radius:50%;width:21px;height:21px;position:absolute;top:-15px;left:9px}.expx-shopper i{background:#9584d5;border-radius:7px;height:7px;position:absolute;top:16px;left:5px;right:5px}.scene-grocerystore .gro-compare{background:linear-gradient(#ffffff94,#ffffff38);border-radius:16px;align-items:flex-end;gap:30px;padding:18px 26px 20px;display:inline-flex;bottom:7%;left:50%;transform:translate(-50%);box-shadow:0 18px 28px #3c2a1d42,inset 0 0 0 2px #ffffff70}.gro-compare .expx-package{border-radius:8px;position:relative;box-shadow:5px 8px #41281e38}.gro-compare .expx-package b{background:#fbfbf7;border-radius:2px 5px 5px 2px;width:20px;height:14px;display:block;position:absolute;top:-11px;right:-8px;box-shadow:2px 3px #41281e38}.gro-compare .expx-package b:before{content:"";background:#9aa;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;left:4px}.package-ref{background:#ecb64f;width:52px;height:52px}.package-ref b{background:#e7ded0}.package-pick{width:calc(40px + 38px * var(--gro-size));height:calc(40px + 38px * var(--gro-size));background:#ea6a4c}.package-pick b{height:calc(12px + 12px * var(--gro-price));width:calc(18px + 9px * var(--gro-price))}.scene-grocerystore.outcome-good-value .package-pick{box-shadow:0 0 0 3px #4fb286,5px 8px #41281e38}.scene-grocerystore.outcome-pricey .package-pick b{background:#e2523d}.scene-basketballmatch{background:linear-gradient(90deg,#b66c37 0 49.6%,#dfbd79 49.7% 50.3%,#b66c37 50.4%)}.scene-basketballmatch:after{content:"";z-index:2;pointer-events:none;border:5px solid #fff4dcbf;border-radius:10px;position:absolute;inset:7%}.expx-court-key{border:5px solid #fff4dcbf;border-right:0;width:27%;height:54%;top:23%;right:7%}.expx-hoop-top{border:7px solid #e65d4f;border-radius:50%;width:48px;height:48px;top:44%;right:11%;box-shadow:10px 0 0 -3px #ffffffd9}.expx-player-top{background:#6d58b0;border-radius:50%;width:52px;height:52px;top:44%;left:20%;box-shadow:7px 9px #3a253933}.expx-player-top:before{content:"";background:#b8785c;border-radius:50%;width:23px;height:23px;position:absolute;top:-19px;left:15px}.expx-player-top i{background:#8c78cb;border-radius:9px;width:28px;height:9px;position:absolute;top:18px}.expx-player-top i:first-child{left:-18px;transform:rotate(-26deg)}.expx-player-top i:last-child{right:-18px;transform:rotate(26deg)}.expx-ball-top{background:radial-gradient(circle at 34% 28%,#ffb06c 0 12%,#e7653e 14% 100%);border-radius:50%;width:29px;height:29px;top:49%;left:31%;box-shadow:4px 5px #4a28192e}.expx-shot-path{transform-origin:0;border-top:3px dashed #fff8e4b3;height:3px;top:51%;left:34%;right:16%;transform:rotate(-2deg)}.scene-livingroomelectricity{background:repeating-linear-gradient(90deg,#b98e67 0 48px,#ae815d 49px 51px)}.lr-wall{background:linear-gradient(#8f6f52,#7f6248);height:17%;top:0;left:0;right:0;box-shadow:0 6px 12px #30201447}.lr-window{background:linear-gradient(160deg,#bfe0e8,#8bb8c6);border:4px solid #6a4f38;border-radius:6px;width:26%;height:50%;position:absolute;top:22%;left:12%;box-shadow:inset 0 0 0 3px #ffffff4d}.expx-rug-top{background:repeating-linear-gradient(45deg,#83659a 0 18px,#76598e 19px 36px);border:6px solid #e0b36c;border-radius:24px;inset:30% 24% 20%}.expx-sofa-top{background:#806d8c;border:7px solid #554660;border-radius:20px;width:20%;height:48%;top:34%;left:7%;box-shadow:9px 11px #39283a33}.expx-sofa-top i{border:3px solid #ffffff24;border-radius:12px;height:37%;position:absolute;left:12%;right:12%}.expx-sofa-top i:first-child{top:8%}.expx-sofa-top i:last-child{bottom:8%}.expx-table-top{background:#6f4c39;border-radius:50%;width:92px;height:66px;top:48%;left:43%;box-shadow:8px 10px #37221933}.lr-panel{background:#cbb48c;border:4px solid #4b3b2c;border-radius:5px;width:42px;height:26px;top:5%;left:45%;box-shadow:0 0 0 6px #ffd66b29}.lr-panel i{background:repeating-linear-gradient(90deg,#7a6650 0 5px,#cbb48c 5px 9px);border-radius:3px;position:absolute;inset:4px}.lr-branch{border:0 solid #0000;border-radius:0 9px 0 0}.lr-branch-lamp{border-top-width:4px;border-right-width:4px;height:20%;top:8%;left:51%;right:19%}.lr-branch-tv{border-top-width:4px;border-right-width:4px;inset:12% 11% 26% 53%}.scene-livingroomelectricity[data-first-on=true] .lr-branch-lamp{filter:drop-shadow(0 0 5px #ffd66bb3);border-top-color:#ffd66b;border-right-color:#ffd66b}.scene-livingroomelectricity[data-first-on=false] .lr-branch-lamp{border-style:dashed;border-top-color:#6b5c4a;border-right-color:#6b5c4a}.scene-livingroomelectricity[data-second-on=true] .lr-branch-tv{filter:drop-shadow(0 0 5px #74cfe0b3);border-top-color:#74cfe0;border-right-color:#74cfe0}.scene-livingroomelectricity[data-second-on=false] .lr-branch-tv{border-style:dashed;border-top-color:#6b5c4a;border-right-color:#6b5c4a}.expx-lamp-top{background:#ffd66b;border:8px solid #675644;border-radius:50%;width:58px;height:58px;top:26%;right:14%;box-shadow:0 0 0 16px #ffd66b33,7px 9px #3a28182b}.expx-tv-top{background:linear-gradient(135deg,#566977,#202a32);border:7px solid #4c4039;border-radius:8px;width:26%;height:15%;bottom:12%;right:7%;box-shadow:8px 10px #34251f33}.scene-livingroomelectricity[data-first-on=false] .expx-lamp-top{background:#756c60;box-shadow:7px 9px #3a28182b}.scene-livingroomelectricity[data-second-on=false] .expx-tv-top{background:#20252a}.scene-livingroomelectricity[data-second-on=true] .expx-tv-top{box-shadow:0 0 0 10px #74cfe029,8px 10px #34251f33}.scene-sailingsea{background:repeating-radial-gradient(at 30px 0,#247f9f 0 27px,#3b93af 28px 31px,#247f9f 32px 62px)}.expx-island-top{background:#61876b;border-radius:43% 58% 49% 61%;width:34%;height:34%;top:-8%;right:-4%;box-shadow:inset 15px 18px #86aa75,9px 12px #0a3e4933}.expx-boat-top{background:#efe6d6;border-radius:50% 50% 36% 36%;width:76px;height:154px;top:30%;left:35%;transform:rotate(22deg);box-shadow:10px 13px #08394940}.expx-boat-top:before{content:"";background:#b94739;border-radius:50%;position:absolute;inset:12px}.expx-boat-top i:first-child{z-index:2;background:#624b3d;width:7px;height:110px;position:absolute;top:20px;left:35px}.expx-boat-top i:last-child{z-index:2;clip-path:polygon(0 0,100% 50%,0 100%);background:#f1c864;width:62px;height:88px;position:absolute;top:23px;left:40px}.expx-wake-top{border:6px solid #e6f9f9b3;border-top:0;border-radius:0 0 50% 50%;width:132px;height:55px;top:66%;left:24%;transform:rotate(22deg)}.expx-wind-lines{width:31%;height:22%;top:15%;left:9%}.expx-wind-lines i{background:#e6f9f9a6;border-radius:5px;height:4px;margin:13px 0;display:block}.expx-wind-lines i:nth-child(2){width:72%}.expx-wind-lines i:nth-child(3){width:45%}.expx-slide-ramp{transform-origin:100% 100%;width:54%;height:14px;transform:rotate(calc(var(--discovery-first,30) * 1deg));bottom:26%;left:12%}.expx-slide-ramp:after{content:"";background:#b98a48;border-radius:0 0 6px 6px;width:15px;height:34px;position:absolute;top:11px;right:0}.expx-slide-rail{background:linear-gradient(#e7d38a,#d3b45f);border-radius:9px;position:absolute;inset:0;box-shadow:0 5px #78561852}.expx-slide-block{z-index:2;background:var(--accent);width:34px;height:32px;box-shadow:0 4px 0 color-mix(in srgb, var(--accent) 60%, var(--ink));border-radius:10px 10px 8px 8px;position:absolute;bottom:11px;left:-6px}.expx-slide-block:before{content:"";background:#bce8ef;border-radius:6px;height:12px;position:absolute;inset:5px 7px auto}.expx-swing-frame{z-index:1;width:0;height:0;top:17%;left:50%}.expx-swing-frame:before{content:"";background:#6e9bc4;border-radius:5px;width:144px;height:8px;position:absolute;top:-4px;left:-72px;box-shadow:0 3px #283c5a47}.expx-swing-frame i{transform-origin:top;background:#e1b24a;border-radius:5px;width:8px;height:220px;position:absolute;top:0;box-shadow:0 3px #78561838}.expx-swing-frame i:first-child{left:-62px;transform:rotate(16deg)}.expx-swing-frame i:last-child{left:54px;transform:rotate(-16deg)}.expx-swing-arm{transform-origin:top;z-index:2;width:6px;height:150px;margin-left:-3px;top:17%;left:50%}.expx-swing-arm:before{content:"";background:#6b5442;border-radius:3px;width:4px;height:100%;position:absolute;top:0;left:1px}.expx-swing-seat{background:#c56a54;border-radius:6px;width:48px;height:14px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%);box-shadow:0 4px #78322361}.expx-swing-seat i{background:var(--accent);width:26px;height:36px;box-shadow:0 3px 0 color-mix(in srgb, var(--accent) 60%, var(--ink));border-radius:12px 12px 8px 8px;position:absolute;bottom:11px;left:50%;transform:translate(-50%)}.expx-swing-seat i:before{content:"";background:#f3c79a;border-radius:50%;width:19px;height:19px;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.scene-playground{background:linear-gradient(#bfe3f2 0 60%,#8fca6f 60% 100%)}.expx-apparatus-a11y{gap:var(--space-xs);flex-wrap:wrap;display:flex}.expx-apparatus-btn{font-size:var(--type-caption);border-radius:var(--radius-pill);border:1.5px solid color-mix(in srgb, var(--ink) 16%, transparent);background:var(--panel);color:color-mix(in srgb, var(--ink) 68%, transparent);font:inherit;cursor:pointer;padding:4px 14px;font-weight:600}.expx-apparatus-btn.active{background:var(--accent);color:#fff;box-shadow:0 3px 0 color-mix(in srgb, var(--accent) 55%, var(--ink));border-color:#0000}.expx-apparatus-btn:disabled{opacity:.5;cursor:default}.expx-pg-bay{cursor:pointer;width:52%;transition:opacity .2s,filter .2s;position:absolute;top:0;bottom:0}.expx-pg-bay span{display:block;position:absolute}.expx-pg-swing{left:-2%}.expx-pg-slide{right:-2%}.expx-pg-bay:not(.sel){opacity:.5;filter:saturate(.68)brightness(.99)}.expx-handle-pg-swing-first{top:52%;left:24%}.expx-handle-pg-swing-second{top:32%;left:40%}.expx-handle-pg-slide-first{top:20%;left:60%}.expx-handle-pg-slide-second{top:82%;left:80%}.scene-playground.apparatus-slide.stage-running .expx-slide-block{animation:expx-slide-down 1.6s var(--slide-timing,var(--motion-ease-in)) both}.scene-playground.apparatus-swing.stage-running .expx-swing-arm{animation:1.6s linear both expx-swing-arc}.expx-handle{z-index:12;background:var(--accent);width:32px;height:32px;box-shadow:0 3px 0 color-mix(in srgb, var(--accent) 55%, var(--ink)), 0 0 0 5px color-mix(in srgb, var(--accent) 20%, transparent);cursor:grab;touch-action:none;border:0;border-radius:50%;margin:-16px 0 0 -16px;padding:0;position:absolute}.expx-handle:after{content:"";background:color-mix(in srgb, white 78%, var(--accent));border-radius:50%;position:absolute;inset:10px}.expx-handle:active,.expx-handle[data-dragging]{cursor:grabbing;box-shadow:0 2px 0 color-mix(in srgb, var(--accent) 55%, var(--ink)), 0 0 0 8px color-mix(in srgb, var(--accent) 24%, transparent)}.expx-handle:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.expx-handle:disabled{opacity:.45;cursor:default}.expx-handle-readout{white-space:nowrap;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--panel) 92%, transparent);color:var(--ink);font-size:var(--type-caption);font-variant-numeric:tabular-nums;pointer-events:none;box-shadow:0 1px 5px color-mix(in srgb, var(--ink) 22%, transparent);padding:2px 9px;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.expx-slingshot{width:36px;height:36px;margin:-18px 0 0 -18px}.expx-handle-shot{top:49%;left:31%}.expx-handle-boom{top:30%;left:42%}.expx-handle-wind{top:20%;left:15%}.expx-handle-speed{top:24%;left:16%}.expx-handle-brake{top:24%;left:84%}.scene-grocerystore.stage-running .expx-stage{animation:expx-shop-compare 1.6s var(--motion-ease-spring) both}.scene-basketballmatch.stage-running .expx-stage{animation:1.6s cubic-bezier(.32,.72,0,1) both expx-shot-swish}.scene-basketballmatch.stage-running.outcome-short .expx-stage{animation-name:expx-shot-short}.scene-basketballmatch.stage-running.outcome-long .expx-stage{animation-name:expx-shot-long}.scene-sailingsea.stage-running .expx-stage{animation:expx-sail-steady 1.6s var(--motion-ease-out) both}.scene-sailingsea.stage-running.outcome-stalled .expx-stage{animation-name:expx-sail-stalled}.scene-sailingsea.stage-running.outcome-fast .expx-stage{animation-name:expx-sail-fast}.scene-livingroomelectricity.stage-running{animation:expx-room-power 1.1s var(--motion-ease-out) both}.scene-grocerystore.stage-running .expx-cart{animation:expx-cart-roll 1.6s var(--motion-ease-out) both}.scene-grocerystore.stage-running .expx-package{animation:expx-package-compare .8s var(--motion-ease-spring) alternate 2}.scene-basketballmatch.stage-running .expx-ball-top{animation:1.6s linear both expx-ball-shot}.scene-sailingsea.stage-running .expx-boat-top,.scene-sailingsea.stage-running .expx-wake-top{animation:expx-boat-cross 1.6s var(--boat-timing,var(--motion-ease-out)) both}@keyframes expx-slide-down{to{left:calc(-6px + var(--slide-progress,0) * (100% - 28px))}}@keyframes expx-cart-roll{0%{transform:translateY(-34px)rotate(-8deg)}to{transform:translateY(52px)rotate(-8deg)}}@keyframes expx-package-compare{to{filter:brightness(1.12);transform:translateY(-9px)scale(1.14)}}@keyframes expx-boat-cross{to{transform:translate(var(--boat-dx,120px),var(--boat-dy,-58px)) rotate(22deg)}}@keyframes expx-shop-compare{0%{transform:translateY(48px)scale(.78)}48%{transform:translate(-42px,30px)scale(.96)rotate(-3deg)}to{transform:translateY(48px)scale(.88)}}@keyframes expx-shot-swish{0%{transform:translate(-90px,100px)scale(.55)}52%{transform:translate(45px,-90px)scale(.72)rotate(250deg)}to{transform:translate(180px,-4px)scale(.58)rotate(520deg)}}@keyframes expx-shot-short{0%{transform:translate(-90px,100px)scale(.55)}52%{transform:translate(24px,-64px)scale(.72)rotate(230deg)}to{transform:translate(112px,62px)scale(.62)rotate(440deg)}}@keyframes expx-shot-long{0%{transform:translate(-90px,100px)scale(.55)}52%{transform:translate(62px,-112px)scale(.72)rotate(260deg)}to{transform:translate(250px,28px)scale(.58)rotate(560deg)}}@keyframes expx-sail-steady{0%{transform:translate(-110px,38px)scale(1.04)rotate(-2deg)}to{transform:translate(70px,30px)scale(1.04)rotate(1deg)}}@keyframes expx-sail-fast{0%{transform:translate(-160px,38px)scale(1.04)rotate(-3deg)}to{transform:translate(150px,25px)scale(1.04)rotate(2deg)}}@keyframes expx-sail-stalled{0%,to{transform:translateY(34px)scale(1.04)rotate(-2deg)}35%{transform:translate(-8px,29px)scale(1.04)rotate(3deg)}70%{transform:translate(5px,38px)scale(1.04)rotate(-1deg)}}@keyframes expx-room-power{0%,26%,52%,to{filter:brightness()}13%,39%{filter:brightness(.72)}}@keyframes expx-light-switch{0%,45%{opacity:1;box-shadow:0 0 30px #ffd66bb8}46%,to{opacity:.28;box-shadow:none}}@keyframes expx-float{0%{transform:translate(-18px,4px)rotate(-2deg)}55%{transform:translate(2px,-5px)rotate(2deg)}to{transform:translate(0)rotate(0)}}@keyframes expx-pop{0%{opacity:0;transform:translateY(-24px)scale(.88)}75%{opacity:1;transform:translateY(3px)scale(1.02)}to{opacity:1;transform:none}}.expx-motion-float{animation:expx-float 1.4s var(--motion-ease-out) both}.expx-motion-pop{animation:expx-pop .7s var(--motion-ease-spring) both}.expx-motion-pop:nth-child(2){animation-delay:90ms}.expx-motion-pop:nth-child(3){animation-delay:.18s}@media (prefers-reduced-motion:reduce){.expx-motion-float,.expx-motion-pop,.expx-room-art.active i:nth-child(2):after,.expx-discovery-scene.stage-running,.expx-discovery-scene.stage-running .expx-stage,.expx-discovery-scene.stage-running .expx-top-world span{animation:none}}.expx-player{max-width:760px}.expx-inner.expx-player{padding-top:var(--space-lg);gap:var(--space-md)}.expx-returned{border-left:3px solid var(--mint);color:var(--muted);background:var(--panel);margin:0;padding:10px 14px}.expx-transfer{gap:var(--space-sm);padding:var(--space-md);border:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent) 7%, var(--panel));display:grid}.expx-transfer h2{font-size:var(--type-title);margin:0}.expx-transfer-question{margin:var(--space-xs) 0 0;color:var(--muted)}.expx-transfer-choices{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.expx-transfer-choices button{border:1px solid var(--border);border-radius:var(--radius-md);min-height:44px;color:var(--ink);background:var(--raised);text-align:left;padding:10px 12px}.expx-transfer-choices button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--raised))}.expx-transfer-cta,.expx-transfer-evidence button{border-radius:var(--radius-md);min-height:44px;color:var(--bg);background:var(--ink);border:0;justify-self:start;padding:10px 16px;font-weight:700}.expx-transfer-cta:disabled{opacity:.45}.expx-transfer-ready{border-left:3px solid var(--accent);color:var(--muted);background:var(--panel);margin:0;padding:10px 14px}.expx-transfer-evidence{gap:var(--space-xs);margin:var(--space-xs) 0;padding:var(--space-md);border-radius:var(--radius-md);background:var(--raised);display:grid}.expx-transfer-evidence.correct{border-left:3px solid var(--mint)}.expx-transfer-evidence span{color:var(--muted)}@media (width<=720px){.expx-transfer-choices{grid-template-columns:1fr}}.expx-play-scene{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--mint) 13%, var(--raised));min-height:430px;box-shadow:var(--elevation-md);position:relative;overflow:hidden}.expx-play-scene:before{content:"";z-index:12;pointer-events:none;background:linear-gradient(135deg,#ffffff1f,#0000 48%,#0f121e14);position:absolute;inset:0}.expx-road{z-index:2;background:color-mix(in srgb, var(--control) 82%, var(--ink));position:absolute}.expx-road-vertical{inset:0 28%}.expx-road-horizontal{height:32%;top:25%;left:0;right:0}.expx-lane{z-index:3;opacity:.56;position:absolute}.expx-lane-vertical{background:repeating-linear-gradient(180deg, color-mix(in srgb, white 78%, var(--panel)) 0 21px, transparent 21px 40px);width:4px;top:0;bottom:0;left:calc(50% - 2px)}.expx-lane-horizontal{background:repeating-linear-gradient(90deg, color-mix(in srgb, white 78%, var(--panel)) 0 21px, transparent 21px 40px);height:4px;top:calc(41% - 2px);left:0;right:0}.expx-city-block{z-index:1;background:color-mix(in srgb, var(--mint) 16%, var(--panel));gap:8px;padding:12px;display:grid;position:absolute}.expx-city-block-nw{grid-template-columns:1fr 1fr;inset:0 72% 75% 0}.expx-city-block-ne{grid-template-columns:1fr 1fr;inset:0 0 75% 72%}.expx-city-block-sw{grid-template-columns:1fr 1fr;inset:57% 72% 0 0}.expx-city-block-se{grid-template-columns:1fr 1fr;inset:57% 0 0 72%}.expx-city-block span{background:color-mix(in srgb, var(--accent) 15%, var(--raised));box-shadow:0 4px 0 color-mix(in srgb, var(--ink) 10%, transparent), inset 0 0 0 2px #fff3;border-radius:6px}.expx-crosswalk{z-index:4;background:repeating-linear-gradient(90deg, color-mix(in srgb, white 78%, var(--panel)) 0 11px, transparent 11px 18px);opacity:.82;width:44%;height:16px;position:absolute;left:28%}.expx-crosswalk-top{top:calc(25% + 10px)}.expx-crosswalk-bottom{top:calc(57% - 26px)}.expx-stop-line{z-index:5;background:color-mix(in srgb, white 84%, var(--panel));width:19%;height:6px;box-shadow:0 2px 0 color-mix(in srgb, var(--ink) 16%, transparent);border-radius:2px;position:absolute;top:calc(57% + 4px);left:51%}.expx-signal{z-index:8;background:color-mix(in srgb, var(--ink) 88%, black);box-shadow:0 4px 0 color-mix(in srgb, var(--ink) 20%, transparent);border-radius:7px;gap:3px;padding:4px;display:flex;position:absolute;top:calc(57% + 13px);left:calc(72% + 8px)}.expx-signal span{background:#ffffff24;border-radius:50%;width:10px;height:10px}.expx-signal .expx-signal-red{background:#ff5b61;box-shadow:0 0 8px #ff5b61}.expx-top-car{z-index:9;background:var(--accent);touch-action:none;width:48px;height:76px;box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 64%, var(--ink)), 0 10px 14px color-mix(in srgb, var(--ink) 26%, transparent);border:0;border-radius:14px 14px 11px 11px;padding:0;position:absolute}.expx-top-car:before,.expx-top-car:after{content:"";background:color-mix(in srgb, var(--ink) 82%, black);z-index:-1;border-radius:7px;width:56px;height:12px;position:absolute;left:-4px}.expx-top-car:before{top:12px}.expx-top-car:after{bottom:12px}.expx-car-glass{background:#bce8ef;border-radius:8px 8px 3px 3px;height:19px;position:absolute;inset:12px 7px auto}.expx-car-roof{background:color-mix(in srgb, var(--accent) 72%, white);border-radius:5px 5px 8px 8px;position:absolute;inset:35px 8px 8px}.expx-player-car{cursor:grab;transform:translateX(calc(var(--lane-offset) * 54px)) translateY(0);bottom:18px;left:calc(61% - 24px)}.expx-player-car:active{cursor:grabbing}.expx-player-car:focus-visible{outline-offset:4px;outline:3px solid #fff}.expx-player-car.running{animation:expx-drive-attempt 2.6s var(--attempt-timing,linear) both}.expx-player-car.at-result{transform:translateX(calc(var(--lane-offset) * 54px)) translateY(calc(var(--travel-progress) * -186px))}@keyframes expx-drive-attempt{0%{transform:translateX(calc(var(--lane-offset) * 54px)) translateY(0)}to{transform:translateX(calc(var(--lane-offset) * 54px)) translateY(calc(var(--travel-progress) * -186px))}}.expx-cross-traffic{box-shadow:0 6px 0 #a95926, 0 10px 14px color-mix(in srgb, var(--ink) 26%, transparent);background:#ed8b42;top:calc(41% - 38px);left:-60px;transform:rotate(90deg)}.expx-cross-traffic .expx-car-roof{background:#f2ad71}.expx-cross-traffic.running{animation:2.5s cubic-bezier(.35,.1,.38,1) both expx-cross-traffic}.expx-cross-traffic.at-result{left:calc(57% - 24px)}@keyframes expx-cross-traffic{0%,32%{transform:translate(0)rotate(90deg)}to{transform:translate(calc(57vw - 24px))rotate(90deg)}}.expx-play-scene.outcome-collision .expx-player-car.at-result{animation:expx-collision-settle var(--motion-medium) var(--motion-ease-spring) both}@keyframes expx-collision-settle{0%{transform:translateX(calc(var(--lane-offset) * 54px)) translateY(calc(var(--travel-progress) * -186px))}48%{transform:translateX(calc(var(--lane-offset) * 54px + 5px)) translateY(calc(var(--travel-progress) * -186px - 3px)) rotate(3deg)}to{transform:translateX(calc(var(--lane-offset) * 54px)) translateY(calc(var(--travel-progress) * -186px)) rotate(1deg)}}.expx-goal{gap:var(--space-sm);z-index:20;flex-direction:column;align-self:stretch;max-width:460px;display:flex}.expx-goal-row{align-items:center;gap:var(--space-sm);display:flex}.expx-goal-back{border-radius:var(--radius-pill);border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 94%, transparent);min-height:32px;color:var(--ink);font:inherit;font-size:var(--type-caption);cursor:pointer;align-items:center;gap:4px;padding:4px 12px 4px 8px;font-weight:600;display:inline-flex}.expx-goal-title{font-size:var(--type-caption);color:var(--muted);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--panel) 72%, transparent);padding:4px 10px;font-weight:600}.expx-goal-card{gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 94%, transparent);box-shadow:var(--elevation-sm);flex-direction:column;display:flex}.expx-goal-objective{font-family:var(--font-display);font-size:var(--type-body);font-weight:600;line-height:var(--leading-tight);color:var(--ink);text-wrap:pretty;margin:0}.expx-goal-steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.expx-goal-steps li{border-radius:var(--radius-pill);background:var(--raised);color:var(--muted);font-size:var(--type-micro);align-items:center;gap:6px;padding:3px 9px 3px 4px;font-weight:600;display:inline-flex}.expx-goal-steps li .mono{background:var(--control);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:inline-flex}.expx-goal-steps li.on{background:var(--accent);color:#fff}.expx-goal-steps li.on .mono{background:#ffffff40}.expx-goal-hint{font-size:var(--type-caption);color:var(--muted);margin:0}.app.imm .expx-goal{max-width:min(440px,100% - 32px);position:absolute;top:16px;left:16px}.expx-handle-anchored{z-index:14}.expx-handle-switch{background:var(--mint);box-shadow:0 3px 0 color-mix(in srgb, var(--mint) 55%, var(--ink)), 0 0 0 5px color-mix(in srgb, var(--mint) 20%, transparent)}.expx-handle-switch[aria-checked=false]{background:var(--muted);box-shadow:0 3px 0 color-mix(in srgb, var(--muted) 55%, var(--ink)), 0 0 0 5px color-mix(in srgb, var(--muted) 20%, transparent)}.expx-handle-pick{background:var(--panel);box-shadow:0 3px 0 color-mix(in srgb, var(--ink) 30%, transparent), 0 0 0 5px color-mix(in srgb, var(--ink) 12%, transparent)}.expx-handle-pick:after{background:var(--accent)}.expx-city-loading{z-index:11;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--panel) 92%, transparent);color:var(--ink);font-size:var(--type-small);box-shadow:var(--elevation-sm);margin:0;padding:10px 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.expx-scene-3d{z-index:1;position:absolute;inset:0}.expx-scene-3d-live{outline:none}.expx-scene-3d-live:focus-visible{outline:3px solid var(--ink);outline-offset:-3px;border-radius:var(--radius-xl)}.expx-drive-weather{z-index:10;justify-content:flex-end;gap:var(--space-2,8px);flex-wrap:wrap;max-width:calc(100% - 108px);display:flex;position:absolute;top:10px;right:12px}.expx-drive-weather label,.expx-drive-weather button,.expx-drive-distance,.expx-drive-retry{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 94%, transparent);color:var(--ink);font-size:var(--type-caption);padding:8px 10px}.expx-drive-weather label{align-items:center;gap:6px;display:flex}.expx-drive-weather select{background:var(--panel);color:var(--ink);border:0;max-width:105px;min-height:28px}.expx-drive-weather button{cursor:pointer;min-height:44px}.expx-drive-weather button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:-2px}.expx-drive-controls{z-index:10;gap:6px;display:flex;position:absolute;bottom:42px;left:50%;transform:translate(-50%)}.expx-drive-controls button{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 92%, transparent);min-width:48px;min-height:52px;color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:5px 8px;display:flex}.expx-drive-controls button:active{background:var(--control)}.expx-drive-controls small{font-size:var(--type-caption)}.expx-drive-distance{z-index:9;font-variant-numeric:tabular-nums;max-width:min(260px,80%);position:absolute;top:72px;right:12px}.expx-drive-distance small{color:var(--muted);margin-top:4px;display:block}.expx-drive-retry{z-index:11;min-height:44px;position:absolute;top:56px;left:12px}@media (width<=720px){.expx-drive-weather{gap:4px;right:6px}.expx-drive-weather label,.expx-drive-weather button{padding:5px 7px}.expx-drive-weather label{gap:0;font-size:0}.expx-drive-weather select{font-size:var(--type-caption)}.expx-drive-distance{top:112px;right:6px}.expx-drive-controls{gap:4px;bottom:66px}.expx-drive-controls button{min-width:46px;padding:5px}}.expx-drive-hud{z-index:6;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 60%, transparent);color:#fff;font-size:var(--type-caption);letter-spacing:.02em;padding:5px 12px;position:absolute;bottom:46px;left:12px}.expx-drive-hud strong{font-size:var(--type-body);margin-right:3px}.expx-player-wide{max-width:min(1320px,94vw)}.app.imm .expx{flex:1;min-height:0}.app.imm .expx-inner.expx-player{gap:0;max-width:none;height:100%;padding:0;position:relative}.app.imm .expx-play-scene,.app.imm .expx-discovery-scene{min-height:0;box-shadow:none;border:0;border-radius:0;flex:1}.app.imm .expx-dock{z-index:20;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.app.imm .expx-dock>*{box-shadow:0 6px 20px color-mix(in srgb, var(--ink) 32%, transparent)}.expx-scene-3d canvas{border-radius:var(--radius-xl);display:block;width:100%!important;height:100%!important}.app.imm .expx-scene-3d canvas{border-radius:0}.expx-play-scene.has-3d .expx-road,.expx-play-scene.has-3d .expx-lane,.expx-play-scene.has-3d .expx-crosswalk,.expx-play-scene.has-3d .expx-city-block,.expx-play-scene.has-3d .expx-stop-line,.expx-play-scene.has-3d .expx-signal{display:none}.expx-play-scene.has-3d .expx-top-car{opacity:0}.expx-play-scene.has-3d .expx-player-car:focus-visible{opacity:1}@media (prefers-reduced-motion:reduce){.expx-player-car.running,.expx-cross-traffic.running,.expx-play-scene.outcome-collision .expx-player-car.at-result{animation:none}}.expx-controls{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.expx-control{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--ink);grid-template-columns:1fr auto;gap:8px 12px;padding:14px 16px;display:grid}.expx-control output{color:var(--accent);font-size:var(--type-small)}.expx-control input{width:100%;accent-color:var(--accent);grid-column:1/-1}.expx-play{border-radius:var(--radius-pill);background:var(--accent);color:#fff;min-width:168px;min-height:54px;font-size:var(--type-body);letter-spacing:.02em;cursor:pointer;border:0;justify-content:center;align-self:center;align-items:center;gap:10px;padding:12px 28px;font-weight:800;display:inline-flex}.expx-play svg{width:22px;height:22px}.expx-play:disabled{opacity:.55;cursor:wait}.expx-play-compact{min-width:0;min-height:0;font-size:var(--type-caption);box-shadow:0 3px 0 color-mix(in srgb, var(--accent) 55%, var(--ink));gap:7px;padding:8px 20px}.expx-play-compact svg{width:18px;height:18px}.expx-result{gap:var(--space-xs);padding-top:var(--space-sm);padding-left:var(--space-md);border-left:3px solid #0000;flex-direction:column;display:flex}.expx-result h2{font-size:var(--type-title);align-items:center;gap:8px;margin:0;display:flex}.expx-result>p{color:var(--muted);margin:0}.expx-result.outcome-safe{border-left-color:var(--mint)}.expx-result.outcome-safe h2{color:var(--mint)}.expx-result.outcome-after-line{border-left-color:var(--amber)}.expx-result.outcome-after-line h2{color:var(--amber)}.expx-result.outcome-collision{border-left-color:var(--coral)}.expx-result.outcome-collision h2{color:var(--coral)}.expx-why{margin:var(--space-md) 0 0;font-size:var(--type-hero);color:var(--accent);font-weight:700}@media (width<=720px){.expx-discovery-scene{min-height:280px}.expx-controls{grid-template-columns:1fr}.expx-play-scene{min-height:360px}.expx-player-car{width:44px;height:70px;left:calc(61% - 22px)}.expx-top-car:before,.expx-top-car:after{width:52px}.expx-move-hint{font-size:10px;right:6px}.expx-inner{padding-inline:var(--space-md)}}.expx-stage{flex-direction:row-reverse;flex:none;align-items:flex-end;display:inline-flex}.expx-stage img{display:block}.expx-stage img+img{margin-right:-14px}.expx-motion-drive{animation:expx-drive 1.1s var(--motion-ease-out) both}.expx-motion-arc{animation:expx-arc .9s var(--motion-ease-out) both}@keyframes expx-drive{0%{transform:translate(-30px)}70%{transform:translate(3px)}85%{transform:translate(-2px)rotate(-2deg)}to{transform:translate(0)}}@keyframes expx-arc{0%{transform:translate(-24px,4px)}50%{transform:translate(-9px,-14px)}to{transform:translate(0)}}.expx-back{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted);font-size:var(--type-small);cursor:pointer;transition:color var(--motion-fast), border-color var(--motion-fast);align-self:flex-start;align-items:center;gap:6px;padding:6px 12px 6px 8px;display:inline-flex}.expx-back:hover{color:var(--ink);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.expx-cards{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.expx-catalog-inner{max-width:1120px;padding-top:var(--space-md);gap:var(--space-lg)}.expx-catalog{column-gap:var(--space-2xl);row-gap:var(--space-2xl);grid-template-columns:repeat(auto-fill,minmax(clamp(240px,27vw,300px),1fr));margin:0;padding:0;list-style:none;display:grid}.expx-entry{gap:var(--space-sm);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;width:100%;padding:0;display:flex}.expx-entry-plate{aspect-ratio:4/3;background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--motion-medium) var(--motion-ease-out);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.expx-entry-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.expx-entry-plate .expx-stage,.expx-entry-plate .expx-room-art{justify-content:center}.expx-entry:hover .expx-entry-plate,.expx-entry:focus-visible .expx-entry-plate{border-color:color-mix(in srgb, var(--ink) 34%, var(--border))}.expx-entry-play{z-index:2;background:color-mix(in srgb, var(--ink) 82%, transparent);width:40px;height:40px;color:var(--panel);opacity:0;transition:opacity var(--motion-medium) var(--motion-ease-out), transform var(--motion-medium) var(--motion-ease-out);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:10px;right:10px;transform:translateY(6px)scale(.9)}.expx-entry-play svg{width:18px;height:18px;margin-left:2px}.expx-entry:hover .expx-entry-play,.expx-entry:focus-visible .expx-entry-play{opacity:1;transform:translateY(0)scale(1)}.expx-entry-body{flex-direction:column;gap:3px;padding:0 2px;display:flex}.expx-entry-name{font-size:var(--type-small);color:var(--ink);font-weight:700;line-height:1.25}.expx-entry-hook{font-size:var(--type-caption);color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}@media (hover:none){.expx-entry-play{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.expx-entry-play{transition:opacity var(--motion-medium) var(--motion-ease-out);transform:none}}.expx-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel);text-align:left;cursor:pointer;width:100%;transition:transform var(--motion-fast) var(--motion-ease-spring), border-color var(--motion-fast), box-shadow var(--motion-fast);align-items:center;gap:14px;padding:13px 16px;display:flex;box-shadow:0 1px 2px #0f121e0a}.expx-card:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));transform:translateY(-2px);box-shadow:0 6px 16px #0f121e17}.expx-card:active{transform:translateY(0);box-shadow:0 1px 2px #0f121e0a}.expx-card-ico{background:var(--raised);width:46px;height:46px;color:var(--faint);border-radius:13px;flex:none;justify-content:center;align-items:center;display:flex}.expx-card-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.expx-card-name{color:var(--ink);font-weight:600}.expx-card-sub{font-size:var(--type-small);color:var(--muted)}.expx-route{padding:0;list-style:none}.expx-route-step{display:block}.expx-step-n{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--raised));font-size:var(--type-title);font-weight:700}.expx-route-why{margin:var(--space-xs) 0 0;font-size:var(--type-small);color:var(--muted)}.expx-card-kick{font-size:var(--type-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:700}.expx-card-target{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--panel))}.expx-card-target .expx-card-ico{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--raised))}.expx-route-optional-hint{margin:2px 0 var(--space-xs);font-size:var(--type-caption);color:var(--faint)}.expx-scene-3d[data-incident-kind]:not([data-incident-kind=""])~:is(.expx-drive-weather,.expx-drive-controls,.expx-drive-distance){visibility:hidden}.expx-incident-vignette{z-index:5;pointer-events:none;background:radial-gradient(ellipse at center, transparent 50%, color-mix(in srgb, var(--bg) 62%, transparent) 100%);animation:fade-in var(--motion-slow) var(--motion-ease-out) both;position:absolute;inset:0}.expx-incident{z-index:8;pointer-events:none;position:absolute;inset:0}.expx-incident-leader{position:absolute;inset:0;overflow:visible}.expx-incident-leader line{stroke:var(--ink);stroke-width:1.5px;stroke-linecap:round;opacity:.9}.expx-incident-leader circle{fill:var(--coral);stroke:var(--ink);stroke-width:2px}.expx-incident-tag,.expx-incident-card{box-sizing:border-box;pointer-events:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 94%, transparent);color:var(--ink);box-shadow:var(--elevation-md);animation:pop-in var(--motion-medium) var(--motion-ease-out) both;position:absolute}.expx-incident-tag{border-radius:var(--radius-md);text-align:left;font:inherit;flex-direction:column;gap:2px;padding:10px 14px;display:flex}button.expx-incident-tag{cursor:pointer}button.expx-incident-tag:hover,button.expx-incident-tag:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.expx-incident-tag.nudge{animation:incident-nudge var(--motion-slow) var(--motion-ease-spring) 1}@keyframes incident-nudge{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}}.expx-incident-measure{font-size:var(--type-title);font-variant-numeric:tabular-nums;font-weight:500;line-height:1.1}.expx-incident-unit{font-size:var(--type-caption);color:var(--muted)}.expx-incident-open{font-size:var(--type-caption);color:var(--accent);align-items:center;gap:4px;font-weight:600;display:inline-flex}.expx-incident-card{gap:var(--space-md);flex-direction:column;padding:14px 16px 16px;display:flex}.expx-incident-card h2{font-size:var(--type-title);outline:none;align-items:baseline;gap:10px;margin:0;display:flex}.expx-incident-card h2:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}.expx-incident-q{font-size:var(--type-small);margin:0;font-weight:600}.expx-incident-rows{flex-direction:column;gap:6px;display:flex}.expx-incident-row{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--raised);width:100%;min-height:44px;color:var(--ink);text-align:left;font:inherit;font-size:var(--type-small);cursor:pointer;align-items:center;gap:12px;padding:10px 12px;font-weight:600;line-height:1.3;display:flex}.expx-incident-row>span{flex:1;min-width:0}.expx-incident-row svg{color:var(--faint);flex:none}.expx-incident-row:hover,.expx-incident-row:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.expx-incident-action{color:var(--accent);font:inherit;font-size:var(--type-caption);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:6px 0;font-weight:600}.expx-incident-action:hover,.expx-incident-action:focus-visible{text-decoration:underline}@media (prefers-reduced-motion:reduce){.expx-incident-vignette,.expx-incident-tag,.expx-incident-card,.expx-incident-tag.nudge{animation:none}}}@layer worlds{.expx-goal{z-index:var(--z-scene-guide)}.expx-home-heading{margin-bottom:var(--space-xl)}.expx-home-heading h1{font-size:var(--type-hero);line-height:var(--leading-tight);text-wrap:balance}.expx-home-heading p{color:var(--muted);font-size:var(--type-body)}.expx-resume{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);background:var(--raised);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.expx-resume p{color:var(--accent);font-size:var(--type-caption)}.expx-resume h2{font-size:var(--type-title);text-wrap:balance}.expx-resume button{gap:var(--space-sm);min-height:var(--target-min);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-pill);background:var(--accent);color:var(--onAccent);cursor:pointer;border:none;align-items:center;display:inline-flex}.expx-mysteries{padding:var(--space-md) var(--space-lg)}.expx-mysteries summary{min-height:var(--target-min);cursor:pointer;color:var(--muted);align-content:center}.expx-mysteries ul{gap:var(--space-md);padding:0;list-style:none;display:grid}.expx-mysteries li{gap:var(--space-xs);display:grid}.expx-mystery-status{font-size:var(--type-caption);color:var(--muted)}.expx-discovery-scene.stage-running,.expx-discovery-scene.stage-running .expx-stage,.expx-discovery-scene.stage-running .expx-top-world span,.expx-player-car.running,.expx-cross-traffic.running{animation-delay:var(--mystery-playback-delay,0s)}.expx-intro{z-index:var(--z-scene-guide);isolation:isolate;pointer-events:none;justify-content:flex-start;display:flex;position:relative}.expx-intro>*{width:min(100%, var(--layout-panel));pointer-events:auto}}@layer statsintro{.chiprow{gap:var(--space-sm);padding-top:var(--space-sm);flex-wrap:wrap;display:flex}.dchip{padding:2px var(--space-xs);border-radius:var(--radius-md);background:var(--control);border:1px solid var(--borderSoft);align-items:center;gap:2px;display:inline-flex}.dchip-step,.dchip-del{width:22px;height:22px;color:var(--muted);font-size:var(--type-body);cursor:pointer;transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.dchip-step:hover:not(:disabled),.dchip-del:hover{color:var(--ink);background:var(--glass)}.dchip-step:disabled{opacity:.3;cursor:default}.dchip-val{text-align:center;min-width:20px;font-size:var(--type-caption);color:var(--ink)}.dchip-del{color:var(--faint)}.dchip-del:hover{color:var(--danger)}.dchip-add{border:1px dashed var(--border);border-radius:var(--radius-md);height:28px;color:var(--muted);font-size:var(--type-caption);cursor:pointer;transition:color var(--motion-fast), border-color var(--motion-fast);background:0 0;align-items:center;padding:0 10px;display:inline-flex}.dchip-add:hover:not(:disabled){color:var(--ink);border-color:var(--accent)}.dchip-add:disabled{opacity:.35;cursor:default}}@layer bondgeometry{.bgeo-hit:focus{outline:none}.bgeo-hit:focus-visible{stroke:var(--accent);stroke-width:3px}}@layer bigogrowth{.bigo-frame{flex-direction:column;display:flex;position:absolute;inset:0}.bigo-plot{flex:1;min-height:0;position:relative}.bigo-sentence{gap:var(--space-sm);padding:var(--space-lg) var(--space-xl) var(--space-sm);background:var(--panel);border-bottom:1px solid var(--borderSoft);flex-direction:column;flex:none;display:flex}.bigo-sentence-text{font-size:var(--type-title);color:var(--ink);text-wrap:pretty;margin:0;font-weight:600;line-height:2}.bigo-slot{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--control);height:44px;color:var(--ink);font-family:var(--font-body);font-size:var(--type-title);vertical-align:middle;box-shadow:0 3px 0 var(--border);cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast);align-items:center;margin:0 2px;padding:0 14px;font-weight:700;line-height:1;display:inline-flex}.bigo-swatch{flex:none}.bigo-slot .bigo-swatch{margin-right:var(--space-sm)}.bigo-legend{gap:var(--space-sm) var(--space-lg);font-size:var(--type-caption);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bigo-legend li{align-items:center;gap:6px;display:inline-flex}.bigo-legend b{color:var(--ink)}.bigo-slot:hover:not(:disabled){border-color:var(--accent)}.bigo-slot.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.bigo-slot:active:not(:disabled){box-shadow:0 1px 0 var(--border);transform:translateY(2px)}.bigo-slot.locked{opacity:.55;cursor:default;box-shadow:none}.bigo-slot-editor{padding:0 var(--space-xs)}.bigo-result{padding:var(--space-md) var(--space-xl) var(--space-lg);border-top:1px solid var(--borderSoft);background:var(--panel);font-size:var(--type-body);color:var(--ink);text-wrap:pretty;flex:none;margin:0;font-weight:600;line-height:1.5}.bigo-result.ok{color:var(--mint)}.bigo-result.no{color:var(--amber)}.bigo-quest-verdict{font-size:var(--type-small);text-align:center;text-wrap:pretty;margin:0;font-weight:600}.bigo-quest-verdict.ok{color:var(--mint)}.bigo-quest-verdict.no{color:var(--amber)}.bigo-more>summary{padding:var(--space-md) var(--space-lg);font-size:var(--type-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;font-weight:700;list-style:none}.bigo-more>summary::-webkit-details-marker{display:none}.bigo-more[open]>summary{color:var(--ink)}.bigo-quest{gap:var(--space-md);background:color-mix(in srgb, var(--acc,var(--accent)) 5%, transparent);flex-direction:column;display:flex}.bigo-quest-eyebrow{font-size:var(--type-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--acc,var(--accent));font-weight:700}.bigo-quest-title{font-size:var(--type-title);color:var(--ink);margin:0;font-weight:700;line-height:1.15}.bigo-quest-goal{font-size:var(--type-body);color:var(--muted);text-wrap:pretty;margin:0;line-height:1.45}.bigo-quest .prow input[type=range]{height:24px}.bigo-quest .pval{font-size:var(--type-body)}.bigo-quest-hero{padding:var(--space-sm) 0;flex-direction:column;align-items:center;gap:2px;display:flex}.bigo-quest-hero span{font-size:var(--type-caption);letter-spacing:.04em;color:var(--muted);font-weight:600}.bigo-quest-hero b{font-size:var(--type-hero);color:var(--mint);font-variant-numeric:tabular-nums;font-weight:500;line-height:1}.bigo-quest-hero.pending b{font-family:var(--font-body);font-size:var(--type-title);color:var(--muted);font-weight:600}.bigo-more .chgoal{display:none}.bigo-quest-verb{justify-content:center;align-items:center;gap:var(--space-sm);background:var(--accent);height:56px;color:var(--onAccent);font-family:var(--font-body);font-size:var(--type-body);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 0 color-mix(in srgb, var(--accent) 70%, var(--ink));cursor:pointer;transition:transform var(--motion-fast), box-shadow var(--motion-fast);border:none;border-radius:14px;font-weight:700;display:flex}.bigo-quest-verb:active{box-shadow:0 1px 0 color-mix(in srgb, var(--accent) 70%, var(--ink));transform:translateY(3px)}}@layer econsurplus{.es-frame{position:absolute;inset:0;container-type:size}.es-split{width:100%;height:100%;display:flex}.es-pane{flex:1 1 0;min-width:0;min-height:0;position:relative}.es-pane+.es-pane{border-left:1px solid var(--borderSoft)}@container (aspect-ratio<=5/4){.es-split{flex-direction:column}.es-pane:first-child{flex-grow:1.3}.es-pane+.es-pane{border-left:none;border-top:1px solid var(--borderSoft)}}.es-scene{flex-direction:column;display:flex}.es-art{flex:1 1 0;min-height:0;position:relative}.es-stick{transition:opacity var(--motion-fast) var(--motion-ease-out)}.es-stick[data-state=dim]{opacity:.35}.es-hit{touch-action:none;outline:none}.es-hit[data-hit=sacks]{cursor:ew-resize}.es-hit[data-hit=tank]{cursor:ns-resize}.es-hit:focus-visible{stroke:var(--ink);stroke-width:2px;stroke-dasharray:4 4}.es-tip{top:var(--space-md);max-width:min(64%,380px);padding:var(--space-sm) var(--space-md);border:1px solid var(--borderSoft);border-radius:var(--radius-md);background:var(--glassStrong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--elevation-sm);font-family:var(--font-body);font-size:var(--type-caption);line-height:var(--leading-ui);color:var(--ink);pointer-events:none;transition:opacity var(--motion-fast) var(--motion-ease-out);margin:0;position:absolute;left:50%;transform:translate(-50%)}.es-tip[data-open=false]{opacity:0}.es-tip ul{gap:var(--space-xs);margin:var(--space-xs) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.es-tip li{align-items:center;gap:var(--space-sm);color:var(--muted);display:flex}@media (prefers-reduced-motion:reduce){.es-stick,.es-tip{transition:none}}.es-key{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.es-verdict{font-size:var(--type-small);font-weight:600;line-height:var(--leading-ui);color:var(--muted);text-wrap:pretty;margin:0}.es-verdict[data-verdict=gain]{color:var(--seriesMint)}.es-verdict[data-verdict=loss]{color:var(--coral)}.es-legend{align-items:center;gap:var(--space-xs) var(--space-lg);font-size:var(--type-caption);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.es-legend li{align-items:center;gap:var(--space-sm);display:inline-flex}.es-legend .es-note{color:var(--faint);flex-basis:100%}.es-swatch{background:var(--rose);flex:none;width:.75em;height:.75em}.es-swatch[data-swatch=producer]{background:var(--seriesMint)}.es-swatch[data-swatch=loss]{border:1px solid var(--coral);background:repeating-linear-gradient(45deg, var(--coral) 0 2px, transparent 2px 4px)}}@layer settings{.settings{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--panel);width:min(420px,100vw - 32px);max-height:calc(100dvh - 84px);animation:slide-r var(--motion-medium) var(--motion-ease-out) both;overflow:auto;box-shadow:0 24px 54px #00000075}.seg{gap:var(--space-xs);padding:var(--space-xs);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg) 72%, transparent);border:1px solid var(--borderSoft);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.seg button{border-radius:var(--radius-sm);min-height:42px;color:var(--muted);font-size:var(--type-small);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.seg button:hover{color:var(--ink)}.seg button:active{transform:scale(.96)}.seg button.on{background:var(--raised);border-color:var(--border);color:var(--ink);box-shadow:var(--elevation-sm)}.seg-inline{flex:none;display:inline-grid}.seg-inline button{min-height:var(--target-min);padding:0 var(--space-lg);font-size:var(--type-caption)}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--faint);font-size:var(--type-caption);font-weight:700}.field input{width:100%;height:38px;padding:0 var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--borderSoft);background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--type-body);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.primary{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);background:var(--accent);width:100%;min-height:42px;color:var(--bg);font-size:var(--type-small);cursor:pointer;box-shadow:0 0 20px color-mix(in srgb, var(--accent) 25%, transparent);transition:filter var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);border:none;font-weight:800;display:inline-flex}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary:active{transform:scale(.98)}@keyframes fade-in{0%{opacity:0}}.av{border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;line-height:0;display:inline-flex;overflow:hidden}.human-av.portrait{border-radius:0;background:0 0!important}.avatar-editor{width:min(1100px,100%);padding:var(--space-xl) var(--space-lg) 20vh;margin:0 auto}.topbar.avatar-topbar{display:none}.avatar-editor-title{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.avatar-editor-title h1{color:var(--ink);font-size:var(--type-title);margin:0}.avatar-editor-title button{border-radius:var(--radius-md);width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.avatar-editor-title button:hover{color:var(--ink);background:var(--raised)}.avatar-editor-frame{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(398px,1.08fr);height:min(610px,100vh - 220px);min-height:500px;display:grid;overflow:hidden}.avatar-preview{justify-content:center;align-items:flex-end;min-width:0;min-height:0;display:flex;overflow:hidden;container-type:size}.avatar-preview .av{width:min(100%,460px)!important;height:min(100%,460px)!important}.avatar-preview .av.studio{box-sizing:border-box;aspect-ratio:1;width:min(100cqw,82cqh,420px)!important;height:auto!important}.avatar-preview .av svg{width:100%;height:100%}.avatar-customizer{background:var(--bg);border-left:1px solid var(--borderSoft);flex-direction:column;min-width:0;min-height:0;display:flex}.avatar-aspects{border-bottom:1px solid var(--borderSoft);grid-template-columns:repeat(9,minmax(44px,1fr));display:grid}.avatar-aspects button{min-width:0;min-height:68px;color:var(--faint);cursor:pointer;transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.avatar-aspect-icon{width:var(--icon-pictogram);height:var(--icon-pictogram);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;flex:none}.avatar-aspects button:after{content:"";border-radius:var(--radius-pill);background:0 0;height:3px;position:absolute;inset:auto 10px -1px}.avatar-aspects button:hover{color:var(--ink);background:var(--panel)}.avatar-aspects button.on{color:var(--accent)}.avatar-aspects button.on:after{background:var(--accent)}.avatar-aspects button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.avatar-options{min-height:0;padding:var(--space-lg);scrollbar-width:thin;flex:1;overflow-y:auto}.avatar-option-section+.avatar-option-section{margin-top:var(--space-xl)}.avatar-option-section h2{margin:0 0 var(--space-md);color:var(--ink);font-size:var(--type-body);font-weight:700}.avatar-swatches{gap:var(--space-sm) var(--space-md);grid-template-columns:repeat(6,52px);display:grid}.avatar-swatches button{border:3px solid var(--bg);border-radius:var(--radius-md);background:var(--avatar-color) content-box;width:52px;height:52px;box-shadow:0 0 0 2px var(--borderSoft);cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease-out), box-shadow var(--motion-fast);padding:5px}.avatar-swatches button:hover{transform:translateY(-2px)}.avatar-swatches button.on{box-shadow:0 0 0 3px var(--accent)}.avatar-swatches button:focus-visible,.avatar-style-grid button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-style-grid{gap:var(--space-md);grid-template-columns:repeat(3,minmax(100px,1fr));display:grid}.avatar-style-grid button{min-height:112px;padding:var(--space-sm);border-radius:var(--radius-md);border:2px solid var(--borderSoft);background:var(--panel);cursor:pointer;transition:border-color var(--motion-fast), background var(--motion-fast);place-items:center;display:grid}.avatar-style-grid button:hover{border-color:var(--border);background:var(--raised)}.avatar-style-grid button.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel));box-shadow:inset 0 0 0 1px var(--accent)}.avatar-style-grid .av{box-shadow:none}.avatar-editor-actions{padding-top:var(--space-lg);justify-content:flex-end;display:flex}.avatar-editor-actions .primary{text-transform:uppercase;width:156px;min-height:48px}.avatar-editor-actions .primary:disabled{background:var(--lost);color:var(--faint);box-shadow:none;cursor:not-allowed}.palgroups{gap:var(--space-lg);padding-top:var(--space-sm);flex-direction:column;display:flex}.palgroup{gap:var(--space-sm);flex-direction:column;display:flex}.palgroup-h{color:var(--muted);font-size:var(--type-caption);font-weight:650}.palgrid{gap:var(--space-md);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.palcard{border:1px solid var(--borderSoft);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--motion-fast) var(--motion-ease-out), box-shadow var(--motion-fast), border-color var(--motion-fast);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.palcard:hover{box-shadow:var(--elevation-md);transform:translateY(-2px)}.palcard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.palcard.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.palcard.on:before{content:"";border-radius:var(--radius-pill);background:var(--accent);width:8px;height:8px;position:absolute;top:7px;right:7px}.palcard-mini{height:34px;padding:0 var(--space-sm);border-radius:var(--radius-sm);border:1px solid;flex-direction:column;justify-content:center;gap:5px;margin:10px 10px 0;display:flex}.palcard-mini i{border-radius:var(--radius-pill);height:4px;display:block}.palcard-mini i:first-child{opacity:.85;width:62%}.palcard-mini i:last-child{width:38%}.palcard-name{padding:var(--space-sm) 10px;font-size:var(--type-caption);text-align:left;font-weight:650}.palspec{color:var(--faint);font-size:var(--type-micro);margin:0}@media (width<=940px){.settings{width:100%;max-height:none}.palgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-editor-frame{grid-template-rows:auto;grid-template-columns:1fr;height:auto;min-height:0}.avatar-preview{height:360px}.avatar-customizer{border-left:0;border-top:1px solid var(--borderSoft)}.avatar-options{max-height:520px}}@media (width<=720px){.palgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-editor{padding:var(--space-md) 0 96px}.avatar-editor-title{padding:0 var(--space-sm);margin-bottom:var(--space-md)}.avatar-editor-frame{border-left:0;border-right:0;border-radius:0}.avatar-preview{height:300px}.avatar-preview .av{width:300px!important;height:300px!important}.avatar-aspects{grid-template-columns:repeat(5,minmax(44px,1fr))}.avatar-aspects button{min-height:58px}.avatar-aspect-icon{width:32px;height:32px}.avatar-options{padding:var(--space-md)}.avatar-swatches{gap:var(--space-sm);grid-template-columns:repeat(5,48px)}.avatar-swatches button{width:48px;height:48px}.avatar-style-grid{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(82px,1fr))}.avatar-style-grid button{min-height:96px}.avatar-editor-actions{padding:var(--space-md)}.avatar-editor-actions .primary{width:100%}}.set-note{margin:var(--space-sm) 0 0;font-size:var(--type-micro);color:var(--muted);line-height:1.5}.set-backup-actions{gap:var(--space-sm);flex-wrap:wrap;flex:none;display:flex}.set-backup-btn{min-height:var(--target-min);padding:0 var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);color:var(--ink);font-size:var(--type-small);cursor:pointer;transition:border-color var(--motion-fast), transform var(--motion-fast) var(--motion-ease-spring);align-items:center;font-weight:700;display:inline-flex}.set-backup-btn:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translateY(-2px)}.set-backup-btn:active{transform:translateY(0)}.set-backup-err{color:var(--amber)}@media (prefers-reduced-motion:reduce){.set-backup-btn,.palcard{transition:none}}.set-hours{margin-top:var(--space-xs);gap:var(--space-sm);padding-bottom:var(--space-sm);flex-direction:column;display:flex}}
