@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/46a9e2f250689b4a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/76b70a1dbe058eb5-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2fb76073e23fd9e4-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6131cbbf5549afa2-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/45462fd7b7c12654-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ba63f6a0e436df8e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07c7676b89ed2778-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.-KQRRa_className{font-family:Inter,Inter Fallback;font-style:normal}.-KQRRa_variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/258bd0ab5fdd762a-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/99a2019bdfa8519b-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/44e0cb21b0d052b7-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/f9cd5a77d065db98-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/954d21e04331b2ae-s.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/53897e768d329f66-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}._78ed6G_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}._78ed6G_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.3dqqgop8d9q74.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.3s3485bbs_y9t.woff)format("woff"),url(../media/KaTeX_AMS-Regular.06540o8ttgt08.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.0x398dszol8ix.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.0i0ys3pk95qm_.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.071y7fj7dknco.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.3ittfn7d21b9w.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.3-a7ahrnv-1p0.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.2a29kziuqmcwj.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.3rq09ohrtely_.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.1m6-2-v71aefh.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.2c272neyw5p5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.1jvgec053-2og.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.1pa447q_ni5m2.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.0_16ta522mcvb.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.22wkahef0u3fd.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.1fyzqvxw_mkks.woff)format("woff"),url(../media/KaTeX_Main-Bold.3q46h05c4j0cw.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.40drhxm0mwrzz.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.0g_mm5w89az4z.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.2r19jqj9qb5v7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.1ck6crdmp78cu.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.3h-lyz6-tj-5j.woff)format("woff"),url(../media/KaTeX_Main-Italic.07vrczmwpvimc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.29zz7337tzymc.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.0r86ux5c2_9jc.woff)format("woff"),url(../media/KaTeX_Main-Regular.0cm4nk2aib81i.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.0u_6s571--hh0.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.1-f92ydojzao_.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.0m2qm2_orz99k.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.18dmviy-uianu.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.2d-roszuwfrpn.woff)format("woff"),url(../media/KaTeX_Math-Italic.1vw7gcigzv33_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.19n5ohjzvq40z.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.1ad0dh55v7-4h.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.3ojskmd7zv_b8.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.38w085lqrghwm.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.0_21g6aey40vy.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.0abd80e_ako5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.3w8wtfek3qsk6.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.0v2olaztuqa1v.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.0xkeldfcfvj58.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.10h737unm2jp7.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.2m7-0wua2lvnq.woff)format("woff"),url(../media/KaTeX_Script-Regular.1hw1d7omwtnoy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.3xype_vsmmjgw.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.3aliq3yd-ja9b.woff)format("woff"),url(../media/KaTeX_Size1-Regular.44z_qgcc9t0a_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.2-wakugslvf3a.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.3u0df62zf5guy.woff)format("woff"),url(../media/KaTeX_Size2-Regular.3eprswoc9v3fh.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.1nfuh3l6nzhjv.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.3n7wm08wz2r2g.woff)format("woff"),url(../media/KaTeX_Size3-Regular.2kp2izz6g7r-7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.13pyt7zi482pb.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.37jvrh2wknf5u.woff)format("woff"),url(../media/KaTeX_Size4-Regular.2ltjhs9xhaefy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.2vfnlegjq9l42.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.0xi5kyeeydv4z.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.34aedpl-_o3h3.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,math,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.19.1"}.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}
:root{--font-ui:var(--font-sans), "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:var(--font-mono), "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:14px;--radius-sm:10px;--header-h:64px;--ease:cubic-bezier(.2, .7, .2, 1);--bg:#0b0c11;--bg-2:#0f1117;--panel:#13151c;--panel-2:#1a1d26;--panel-3:#222633;--border:#252935;--border-strong:#363c4d;--text:#eceef5;--muted:#a1a7b8;--faint:#6c7286;--accent:#9d8cff;--accent-ink:#120d2b;--accent-2:#f38bc4;--accent-3:#46d7e6;--ok:#5ee08f;--warn:#f5be4f;--bad:#ff7a85;--code-bg:#0d0f15;--code-text:#e3e6ef;--grad-brand:linear-gradient(100deg, #9d8cff 0%, #46d7e6 52%, #a7e36d 100%);--aurora-1:#9d8cff21;--aurora-2:#46d7e614;--shadow:0 1px 0 #ffffff09 inset, 0 18px 40px -24px #000000bf;--shadow-lg:0 30px 60px -30px #000c;--phase:var(--accent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f7f7f3;--bg-2:#fbfbf8;--panel:#fff;--panel-2:#f2f2ed;--panel-3:#e9e9e2;--border:#e3e3db;--border-strong:#cfcfc5;--text:#15171c;--muted:#525866;--faint:#858b97;--accent:#5a48d6;--accent-ink:#fff;--accent-2:#c02a78;--accent-3:#0d8fa3;--ok:#157f3e;--warn:#9a5b06;--bad:#c2303d;--code-bg:#f4f4ef;--code-text:#1d2129;--grad-brand:linear-gradient(100deg, #5a48d6 0%, #0d8fa3 52%, #4d8a12 100%);--aurora-1:#5a48d614;--aurora-2:#0d8fa30f;--shadow:0 1px 2px #14161e0a, 0 12px 30px -18px #14161e2e;--shadow-lg:0 30px 60px -30px #14161e40;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.phase-scope{--phase:var(--pc-dark,var(--accent))}:root[data-theme=light] .phase-scope{--phase:var(--pc-light,var(--accent))}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{font-family:var(--font-ui);color:var(--text);background-color:var(--bg);background-image:radial-gradient(1100px 520px at 8% -12%, var(--aurora-1), transparent 62%), radial-gradient(900px 460px at 100% -6%, var(--aurora-2), transparent 60%);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-size:16px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3,h4{letter-spacing:-.018em;margin:0 0 .5em;line-height:1.22}h1{font-size:clamp(28px,3.4vw,38px);font-weight:800}h2{font-size:23px;font-weight:700}h3{font-size:17.5px;font-weight:700}hr{border:0;border-top:1px solid var(--border);margin:24px 0}kbd{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:1px 6px;font-size:12px}mark{background:color-mix(in srgb, var(--warn) 32%, transparent);color:inherit;border-radius:3px;padding:0 2px}.skip-link{z-index:100;background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.view{max-width:1260px;min-height:calc(100vh - var(--header-h) - 120px);margin:0 auto;padding:30px 22px 72px}.site-header{z-index:50;height:var(--header-h);background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:0 22px;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;font-weight:750;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--grad-brand);width:28px;height:28px;box-shadow:0 6px 22px -8px var(--accent);border-radius:9px;place-items:center;display:grid}.brand-mark svg{width:17px;height:17px}.brand-text{font-size:18.5px}.brand-text b{background:var(--grad-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.nav{gap:2px;margin-left:8px;display:flex}.nav a{color:var(--muted);white-space:nowrap;border-radius:9px;padding:7px 12px;font-size:14.5px;font-weight:550;position:relative}.nav a:hover{color:var(--text);background:var(--panel-2);text-decoration:none}.nav a[aria-current=page]{color:var(--text);background:var(--panel-2)}.nav a[aria-current=page]:after{content:"";background:var(--grad-brand);border-radius:2px;height:2px;position:absolute;bottom:-13px;left:12px;right:12px}.badge{background:var(--accent-2);color:#fff;text-align:center;vertical-align:1px;border-radius:999px;min-width:18px;margin-left:4px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.header-search{flex:0 320px;margin-left:auto;position:relative}.header-search input{border:1px solid var(--border);background:var(--panel);border-radius:10px;width:100%;height:38px;padding:0 12px 0 34px;font-size:14px}.header-search input::placeholder{color:var(--faint)}.header-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.header-search svg{width:16px;height:16px;color:var(--faint);pointer-events:none;position:absolute;top:11px;left:11px}.header-search kbd{position:absolute;top:9px;right:9px}.icon-btn{border:1px solid var(--border);background:var(--panel);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:10px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{border-color:var(--border-strong);background:var(--panel-2)}.icon-btn svg{width:18px;height:18px}.user-menu{flex:none;position:relative}.avatar{border:1px solid var(--border-strong);background:var(--grad-brand);color:#0b0c11;cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;font-size:14px;font-weight:800;display:grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.sync-dot{border:2px solid var(--bg);background:var(--faint);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.sync-dot[data-state=synced]{background:var(--ok)}.sync-dot[data-state=saving],.sync-dot[data-state=loading],.sync-dot[data-state=connecting]{background:var(--warn)}.sync-dot[data-state=error],.sync-dot[data-state=offline]{background:var(--bad)}.menu{background:var(--panel);border:1px solid var(--border);min-width:250px;box-shadow:var(--shadow-lg);z-index:60;border-radius:14px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.menu-head{border-bottom:1px solid var(--border);margin-bottom:6px;padding:10px 12px 12px}.menu-head .name{font-weight:700}.menu-head .email{color:var(--muted);text-overflow:ellipsis;font-size:13px;overflow:hidden}.menu a,.menu button{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.menu a:hover,.menu button:hover{background:var(--panel-2);text-decoration:none}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.tight{padding:14px 16px}a.card{color:var(--text);transition:border-color .15s var(--ease), transform .15s var(--ease);display:block}a.card:hover{border-color:color-mix(in srgb, var(--phase) 60%, var(--border));text-decoration:none}.grid{gap:14px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1000px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13.5px}.tiny{font-size:12px}.mono{font-family:var(--mono)}.mt{margin-top:16px}.mt-lg{margin-top:32px}.mb{margin-bottom:16px}.lead{color:var(--muted);max-width:64ch;font-size:18px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--phase);font-size:11.5px;font-weight:750}.empty{text-align:center;color:var(--muted);padding:48px 20px}.notice{border:1px solid color-mix(in srgb, var(--warn) 40%, var(--border));background:color-mix(in srgb, var(--warn) 9%, var(--panel));border-radius:12px;padding:12px 16px;font-size:14.5px}.notice.ok{border-color:color-mix(in srgb, var(--ok) 40%, var(--border));background:color-mix(in srgb, var(--ok) 9%, var(--panel))}.notice.bad{border-color:color-mix(in srgb, var(--bad) 45%, var(--border));background:color-mix(in srgb, var(--bad) 9%, var(--panel))}.gradient-text{background:var(--grad-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.pill{background:var(--panel-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}a.pill:hover{color:var(--text);border-color:var(--border-strong);text-decoration:none}.pill.phase{background:color-mix(in srgb, var(--phase) 14%, transparent);color:var(--phase);border-color:color-mix(in srgb, var(--phase) 38%, transparent)}.pill.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 38%, transparent);background:color-mix(in srgb, var(--ok) 11%, transparent)}.pill.active{background:var(--accent);color:var(--accent-ink);border-color:#0000}.lvl-foundation{--lvl:#5ab8f0}.lvl-core{--lvl:#a78bfa}.lvl-advanced{--lvl:#f59e5b}.lvl-frontier{--lvl:#f472b6}:root[data-theme=light] .lvl-foundation{--lvl:#1272b0}:root[data-theme=light] .lvl-core{--lvl:#6a42d0}:root[data-theme=light] .lvl-advanced{--lvl:#b35a12}:root[data-theme=light] .lvl-frontier{--lvl:#b8236f}.pill.level{color:var(--lvl);border-color:color-mix(in srgb, var(--lvl) 35%, transparent);background:color-mix(in srgb, var(--lvl) 10%, transparent)}.btn{border:1px solid var(--border);background:var(--panel-2);height:38px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--border-strong);background:var(--panel-3);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--phase);color:#0b0c11;box-shadow:0 8px 22px -12px var(--phase);border-color:#0000}:root[data-theme=light] .btn.primary{color:#fff}.btn.primary:hover{filter:brightness(1.07);background:var(--phase)}.btn.brand{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.brand:hover{filter:brightness(1.08);background:var(--accent)}.btn.ghost{background:0 0}.btn.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, var(--border));background:0 0}.btn.danger:hover{background:color-mix(in srgb, var(--bad) 10%, transparent)}.btn.done{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.btn.sm{border-radius:8px;height:32px;padding:0 11px;font-size:13px}.btn.lg{border-radius:12px;height:46px;padding:0 20px;font-size:15px}.btn.block{width:100%}.btn svg{width:16px;height:16px}.input,.select,.textarea{border:1px solid var(--border);background:var(--bg-2);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-size:14.5px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:600}.progress{background:var(--panel-3);border-radius:999px;height:8px;overflow:hidden}.progress>span{background:var(--phase);height:100%;transition:width .5s var(--ease);border-radius:999px;display:block}.ring{--p:0;--size:52px;width:var(--size);height:var(--size);background:conic-gradient(var(--phase) calc(var(--p) * 1%), var(--panel-3) 0);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:750;display:grid;position:relative}.ring:before{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:5px}.ring>span{position:relative}.hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:44px;padding:34px 0 10px;display:grid}@media (max-width:920px){.hero{grid-template-columns:minmax(0,1fr);gap:26px}}.hero h1{letter-spacing:-.035em;margin-bottom:18px;font-size:clamp(36px,5vw,60px);line-height:1.03}.hero .lead{margin:0 0 26px;font-size:18px}.progress-card{padding:22px}.pc-top{align-items:center;gap:18px;display:flex}.pc-top .ring{--size:86px;font-size:18px}.pc-top .ring:before{inset:7px}.pc-title{font-size:17px;font-weight:750}.pc-figures{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:16px;display:grid}.pc-figures b{letter-spacing:-.02em;font-size:21px;font-weight:800;display:block}.pc-figures span{color:var(--muted);font-size:12.5px}.stat{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px}.stat .num{letter-spacing:-.03em;font-size:28px;font-weight:800}.stat .num small{color:var(--muted);font-size:15px;font-weight:600}.stat .lbl{color:var(--muted);font-size:12.5px}.continue-card{border-color:color-mix(in srgb, var(--phase) 45%, var(--border));background:linear-gradient(100deg, color-mix(in srgb, var(--phase) 9%, var(--panel)), var(--panel) 60%);align-items:center;gap:16px;margin-top:28px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:48px 0 18px;display:flex}.section-head h2{margin:0}.roadmap{margin:0;padding:0;list-style:none}.rm-row{grid-template-columns:44px minmax(0,1fr);gap:16px;padding-bottom:12px;display:grid;position:relative}.rm-row:before{content:"";background:linear-gradient(var(--phase), transparent);opacity:.45;width:2px;position:absolute;top:46px;bottom:0;left:21px}.rm-row:last-child:before{display:none}.rm-node{width:44px;height:44px;font-family:var(--mono);color:var(--phase);background:color-mix(in srgb, var(--phase) 13%, var(--panel));border:2px solid color-mix(in srgb, var(--phase) 55%, transparent);z-index:1;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative}.rm-row.complete .rm-node{background:var(--phase);color:#0b0c11}.rm-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;min-width:0;padding:13px 16px;transition:border-color .15s}.rm-card:hover{border-color:color-mix(in srgb, var(--phase) 40%, var(--border))}.rm-head{align-items:center;gap:14px;display:flex}.rm-title{color:var(--text);align-items:center;gap:10px;min-width:0;font-size:16.5px;font-weight:700;display:flex}.rm-title:hover{color:var(--phase);text-decoration:none}.rm-tagline{color:var(--muted);margin-top:2px;font-size:14px}.rm-stats{color:var(--muted);white-space:nowrap;align-items:center;gap:12px;margin-left:auto;font-size:13px;display:flex}.rm-bar{background:var(--panel-3);border-radius:999px;width:88px;height:6px;overflow:hidden}.rm-bar>span{background:var(--phase);border-radius:999px;height:100%;display:block}.rm-toggle{border:1px solid var(--border);background:var(--panel-2);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:9px;flex:none;place-items:center;display:grid}.rm-toggle:hover{color:var(--text);border-color:var(--border-strong)}.rm-toggle svg{transition:transform .2s}.rm-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.rm-lessons{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px;margin:12px 0 0;padding:10px 0 0;list-style:none;display:grid}.rm-lessons a{color:var(--muted);border-radius:8px;gap:10px;padding:6px 8px;font-size:14px;line-height:1.35;display:flex}.rm-lessons a:hover{background:var(--panel-2);color:var(--text);text-decoration:none}.rm-lessons .n{font-family:var(--mono);color:var(--phase);flex:none;width:36px;padding-top:2px;font-size:12px}.rm-lessons .ok-ic{flex:none;margin-top:2px;margin-left:auto}.rm-lessons a.done{color:var(--faint)}@media (max-width:760px){.rm-lessons{grid-template-columns:minmax(0,1fr)}.rm-stats .rm-bar,.rm-stats .rm-hours,.rm-tagline{display:none}}.how-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px;display:grid}@media (max-width:760px){.how-strip{grid-template-columns:minmax(0,1fr)}}.how-item{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:14px;gap:12px;padding:16px;font-size:14px;display:flex}.how-item b{color:var(--text);margin-bottom:2px;display:block}.how-item svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:2px}.phase-banner{background:linear-gradient(120deg, color-mix(in srgb, var(--phase) 15%, var(--panel)), var(--panel) 65%);border:1px solid color-mix(in srgb, var(--phase) 28%, var(--border));border-radius:18px;margin-bottom:30px;padding:30px}.phase-banner h1{margin:6px 0}.phase-head{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.banner-foot{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.banner-progress{flex:0 260px;font-size:14px}@media (max-width:920px){.phase-head{grid-template-columns:minmax(0,1fr)}}.objectives{margin:0;padding-left:20px}.objectives li{margin:6px 0}.lesson-list{border:1px solid var(--border);background:var(--panel);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.lesson-row{color:var(--text);border-top:1px solid var(--border);grid-template-columns:48px minmax(0,1fr) auto 30px;align-items:center;gap:14px;padding:14px 18px;display:grid}.lesson-row:first-child{border-top:0}.lesson-row:hover{background:var(--panel-2);text-decoration:none}.lesson-row .num{font-family:var(--mono);color:var(--phase);font-size:13px;font-weight:650}.lesson-row .title{font-weight:650;display:block}.lesson-row .sub{color:var(--muted);font-size:13.5px;display:block}.lesson-row .meta{color:var(--faint);white-space:nowrap;font-size:13px}.lesson-row.done .title{color:var(--muted)}.check{border:2px solid var(--border-strong);width:28px;height:28px;color:var(--ok);border-radius:50%;place-items:center;display:grid}.lesson-row.done .check{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}@media (max-width:640px){.lesson-row{grid-template-columns:40px minmax(0,1fr) 28px;padding:12px 14px}.lesson-row .meta{display:none}}.lesson-shell{max-width:1120px;margin:0 auto}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;font-size:14px;display:flex}.crumb-phase{color:var(--muted);align-items:center;gap:8px;font-weight:600;display:inline-flex}.crumb-phase:hover{color:var(--phase);text-decoration:none}.crumb-dot{background:var(--phase);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--phase) 22%, transparent);border-radius:50%}.crumb-sep{color:var(--faint)}.crumb-switch{position:relative}.crumb-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13.5px;font-weight:600;display:inline-flex}.crumb-btn:hover{border-color:var(--border-strong)}.crumb-nav{gap:6px;margin-left:auto;display:flex}.icon-btn.sm{border-radius:9px;width:32px;height:32px}.icon-btn.sm svg{width:16px;height:16px}.popover{z-index:70;background:var(--panel);border:1px solid var(--border-strong);min-width:300px;max-width:min(430px,92vw);max-height:min(70vh,540px);box-shadow:var(--shadow-lg);border-radius:14px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;overflow:auto}.pop-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;padding:8px 10px 10px;display:flex}.pop-item{color:var(--muted);border-radius:9px;align-items:flex-start;gap:10px;padding:8px 10px;font-size:14px;line-height:1.35;display:flex}.pop-item:hover{background:var(--panel-2);color:var(--text);text-decoration:none}.pop-item[aria-current=page]{background:color-mix(in srgb, var(--phase) 14%, transparent);color:var(--text)}.pop-item .n{font-family:var(--mono);color:var(--phase);flex:none;width:36px;padding-top:2px;font-size:12px}.pop-item .t{flex:1}.pop-item .m{color:var(--faint);white-space:nowrap;flex:none;padding-top:2px;font-size:12px}.ok-ic{color:var(--ok)}.lesson-hero{padding:4px 0 24px}.meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:12px;font-size:13px;display:flex}.meta-row .mono{color:var(--phase);font-weight:600}.lvl{text-transform:capitalize;color:var(--lvl);font-weight:600}.lvl:before{content:"";background:var(--lvl);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.lesson-hero h1{letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(30px,4vw,44px);line-height:1.1}.lesson-hero .subtitle{color:var(--muted);max-width:62ch;margin:0 0 22px;font-size:19px}.lesson-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.menu-anchor{position:relative}.ai-pop{min-width:330px}.seg{background:var(--panel-2);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:3px;margin:4px 4px 8px;padding:3px;display:grid}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 4px;font-size:12.5px;font-weight:600}.seg button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.pop-action{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:9px;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 12px;display:flex}.pop-action:hover{background:var(--panel-2)}.pop-action .t{font-size:14px;font-weight:600}.pop-action .h{color:var(--muted);font-size:12.5px}.dot-ind{background:var(--accent-2);vertical-align:2px;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.tabbar{top:var(--header-h);z-index:30;background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);margin:0 -22px;padding:0 22px;position:sticky}.tabs{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:14px 14px 13px;font-size:14.5px;font-weight:600;display:inline-flex;position:relative}.tabs button:hover,.tabs button[aria-selected=true]{color:var(--text)}.tabs button[aria-selected=true]:after{content:"";background:var(--phase);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tab-step{width:21px;height:21px;font-size:11px;font-family:var(--mono);background:var(--panel-2);color:var(--muted);border:1px solid var(--border);border-radius:50%;place-items:center;display:grid}.tabs button[aria-selected=true] .tab-step{background:var(--phase);color:#0b0c11;border-color:#0000}:root[data-theme=light] .tabs button[aria-selected=true] .tab-step{color:#fff}.tab-meta{color:var(--faint);font-size:12px;font-weight:500}.tabpanel{padding-top:32px}.panel-next{border-top:1px solid var(--border);justify-content:flex-end;margin-top:40px;padding-top:20px;display:flex}.panel-h{margin:38px 0 14px;font-size:20px}.tabpanel>.panel-h:first-child{margin-top:0}.sub-h{text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin:32px 0 12px;font-size:12.5px;font-weight:700}@media (max-width:980px){.tabbar{margin:0 -14px;padding:0 14px}.tab-meta{display:none}}.overview{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:40px;display:grid}@media (max-width:900px){.overview{grid-template-columns:minmax(0,1fr);gap:8px}}.lead-prose{font-size:18px;line-height:1.7}.lead-prose p{margin:0 0 .8em}.overview-main>.sub-h:first-of-type{margin-top:26px}.checklist{gap:10px;margin:0;padding:0;list-style:none;display:grid}.checklist li{padding-left:32px;position:relative}.checklist li:before{content:"";background:color-mix(in srgb, var(--phase) 16%, transparent);border:1px solid color-mix(in srgb, var(--phase) 45%, transparent);border-radius:6px;width:20px;height:20px;position:absolute;top:3px;left:0}.checklist li:after{content:"";border:solid var(--phase);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:7px;left:7px;transform:rotate(45deg)}.ideas{counter-reset:idea;gap:10px;margin:0;padding:0;list-style:none;display:grid}.ideas[start="4"]{counter-reset:idea 3}.ideas li{counter-increment:idea;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px 12px 50px;position:relative}.ideas li:before{content:counter(idea, decimal-leading-zero);font-family:var(--mono);color:var(--phase);font-size:13px;font-weight:700;position:absolute;top:12px;left:15px}.glance{top:calc(var(--header-h) + 72px);background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;position:sticky}@media (max-width:900px){.glance{margin-top:24px;position:static}}.glance-title{text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-bottom:10px;font-size:12px;font-weight:700}.glance dl{gap:9px;margin:0;display:grid}.glance dl div{justify-content:space-between;gap:12px;font-size:14px;display:flex}.glance dt{color:var(--muted)}.glance dd{text-align:right;margin:0;font-weight:600}.glance-links{gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.glance-tags{border-top:1px solid var(--border);color:var(--faint);margin-top:16px;padding-top:12px;font-size:12.5px}.flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:900px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.flow{grid-template-columns:minmax(0,1fr)}}.flow-step{text-align:left;background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:14px;font-size:13.5px;line-height:1.45;transition:border-color .15s,transform .15s;display:flex}.flow-step:hover{border-color:color-mix(in srgb, var(--phase) 55%, var(--border));transform:translateY(-1px)}.flow-step b{margin-bottom:3px;font-size:15px;display:block}.flow-step span span{color:var(--muted)}.flow-n{background:var(--phase);color:#0b0c11;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid}:root[data-theme=light] .flow-n{color:#fff}.learn{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:52px;display:grid}@media (max-width:1000px){.learn{grid-template-columns:minmax(0,1fr)}.learn .onpage{display:none}}.reading-col{min-width:0;max-width:740px}.onpage{top:calc(var(--header-h) + 76px);max-height:calc(100vh - var(--header-h) - 110px);font-size:13px;position:sticky;overflow:auto}.onpage a{color:var(--muted);border-left:2px solid var(--border);padding:6px 12px;line-height:1.35;display:block}.onpage a:hover{color:var(--text);text-decoration:none}.onpage a.active{color:var(--text);border-color:var(--phase)}.disclosure{border:1px solid var(--border);background:var(--panel);border-radius:12px;margin-top:16px}.disclosure>summary{cursor:pointer;align-items:center;gap:8px;padding:13px 16px;font-weight:650;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:"▸";color:var(--faint);margin-left:auto;transition:transform .15s}.disclosure[open]>summary:after{transform:rotate(90deg)}.disclosure>:not(summary){margin:0 16px 16px}.disclosure.warn>summary svg{color:var(--warn)}.disclosure.plain{background:0 0;border:0;margin-top:8px}.disclosure.plain>summary{color:var(--accent);padding:6px 0;font-size:14px;font-weight:600}.disclosure.plain>summary:after{display:none}.disclosure.plain>:not(summary){margin:10px 0 0}.prose{font-size:16.5px;line-height:1.78}.prose>:first-child{margin-top:0}.prose h2{scroll-margin-top:calc(var(--header-h) + 16px);margin-top:42px;padding-top:4px;font-size:23px}.prose h3{scroll-margin-top:calc(var(--header-h) + 16px);margin-top:28px;font-size:18px}.prose p{margin:0 0 1.05em}.prose ul,.prose ol{padding-left:24px}.prose li{margin:.32em 0}.prose li>p{margin:.25em 0}.prose strong{color:var(--text);font-weight:700}.prose blockquote{border-left:3px solid var(--accent-2);background:color-mix(in srgb, var(--accent-2) 7%, var(--panel));border-radius:0 12px 12px 0;margin:1.3em 0;padding:14px 18px}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:.87em}.prose pre{background:var(--code-bg);color:var(--code-text);border:1px solid var(--border);border-radius:12px;padding:16px 18px;font-size:13.5px;line-height:1.6;overflow:auto}.prose pre code{font-size:inherit;color:inherit;background:0 0;border:0;padding:0}.prose .table-wrap{border:1px solid var(--border);border-radius:12px;margin:1.3em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14.5px}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 13px}.prose tr:last-child td{border-bottom:0}.prose th{background:var(--panel-2);font-weight:650}.prose td+td,.prose th+th{border-left:1px solid var(--border)}.prose a[href^="/lesson/"]{color:var(--accent);border-bottom:1px dashed color-mix(in srgb, var(--accent) 50%, transparent);font-weight:600}.prose a[href^="/lesson/"]:hover{border-bottom-style:solid;text-decoration:none}.prose hr{margin:2em 0}.katex-display{margin:1em 0;padding:6px 2px;overflow:auto hidden}.katex{font-size:1.06em}.hljs-comment,.hljs-quote{color:#6f7690;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in.hljs-keyword{color:#c4a7ff}.hljs-string,.hljs-regexp,.hljs-addition{color:#9be28f}.hljs-number,.hljs-literal,.hljs-symbol{color:#f6b26b}.hljs-title,.hljs-title.function_,.hljs-section{color:#7cc7ff}.hljs-built_in,.hljs-type,.hljs-title.class_{color:#46d7e6}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable,.hljs-params{color:#f3a6d0}.hljs-meta,.hljs-doctag{color:#8a90a2}.hljs-deletion{color:#ff7a85}:root[data-theme=light] .hljs-comment,:root[data-theme=light] .hljs-quote{color:#8a8f99}:root[data-theme=light] .hljs-keyword,:root[data-theme=light] .hljs-selector-tag{color:#6a3fd1}:root[data-theme=light] .hljs-string,:root[data-theme=light] .hljs-regexp{color:#2e7d32}:root[data-theme=light] .hljs-number,:root[data-theme=light] .hljs-literal{color:#b45309}:root[data-theme=light] .hljs-title,:root[data-theme=light] .hljs-title.function_{color:#0b62b0}:root[data-theme=light] .hljs-built_in,:root[data-theme=light] .hljs-type,:root[data-theme=light] .hljs-title.class_{color:#0d7f91}:root[data-theme=light] .hljs-attr,:root[data-theme=light] .hljs-params,:root[data-theme=light] .hljs-variable{color:#b0246b}.pitfalls{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pitfalls li{background:color-mix(in srgb, var(--warn) 7%, var(--panel));border:1px solid color-mix(in srgb, var(--warn) 25%, var(--border));border-radius:10px;padding:10px 14px;font-size:15px}.player{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px;display:grid}@media (max-width:900px){.player{grid-template-columns:minmax(0,1fr)}}.stage{aspect-ratio:16/9;border:1px solid var(--border);cursor:pointer;color:#fff;background:#000;border-radius:14px;place-items:center;width:100%;padding:0;display:grid;position:relative;overflow:hidden}.stage img{object-fit:cover;opacity:.92;width:100%;height:100%;transition:opacity .2s, transform .3s var(--ease)}.stage:hover img{opacity:1;transform:scale(1.015)}.stage .play{background:#0000009e;border:2px solid #fffc;border-radius:50%;place-items:center;width:68px;height:68px;transition:transform .15s,background .15s;display:grid;position:absolute}.stage .play svg{width:26px;height:26px;margin-left:3px}.stage:hover .play{background:var(--phase);transform:scale(1.07)}.stage iframe{border:0;width:100%;height:100%}a.stage:hover{text-decoration:none}.stage-alt{color:var(--muted);font-weight:600}.stage:has(.stage-alt){background:linear-gradient(135deg, color-mix(in srgb, var(--phase) 18%, var(--panel-2)), var(--panel))}.player-info{padding:14px 2px 0}.player-info .vt{font-size:17px;font-weight:700;line-height:1.35}.player-info .vm{color:var(--muted);margin-top:4px;font-size:13.5px}.player-info .vn{margin:10px 0 0;font-size:15px}.player-list{flex-direction:column;gap:6px;max-height:540px;display:flex;overflow:auto}.pl-item{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:10px;padding:6px;display:grid}.pl-item:hover{background:var(--panel-2)}.pl-item.cur{background:var(--panel);border-color:color-mix(in srgb, var(--phase) 45%, var(--border))}.pl-thumb{aspect-ratio:16/9;background:var(--panel-3);color:var(--muted);border-radius:7px;place-items:center;display:grid;overflow:hidden}.pl-thumb img{object-fit:cover;width:100%;height:100%}.pl-text{flex-direction:column;gap:3px;min-width:0;display:flex}.pl-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.pl-meta{color:var(--muted);font-size:12px}.start-here{text-transform:uppercase;letter-spacing:.06em;color:var(--phase);margin-right:6px;font-size:10.5px;font-weight:750;display:inline-block}.res-groups{gap:24px;max-width:860px;display:grid}.res-group-title{text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-bottom:8px;font-size:12px;font-weight:700}.res{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;flex-direction:column;gap:2px;margin-bottom:8px;padding:12px 15px;transition:border-color .15s;display:flex}.res:hover{border-color:color-mix(in srgb, var(--phase) 45%, var(--border));text-decoration:none}.res-title{color:var(--accent);font-weight:650}.res-meta{color:var(--muted);font-size:13px}.res-note{margin-top:4px;font-size:14.5px}.exercises{counter-reset:ex;gap:12px;max-width:860px;margin:0;padding:0;list-style:none;display:grid}.exercise{counter-increment:ex;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px 4px 60px;position:relative}.exercise:before{content:counter(ex);background:color-mix(in srgb, var(--phase) 16%, transparent);width:28px;height:28px;color:var(--phase);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;top:15px;left:17px}.ex-title{margin-bottom:4px;font-weight:700}.exercise .prose{font-size:15px}.quiz{max-width:760px}.quiz-dots{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.qdot{background:var(--panel-3);cursor:pointer;border:0;border-radius:999px;width:32px;height:8px;padding:0;transition:background .15s}.qdot.ok{background:var(--ok)}.qdot.bad{background:var(--bad)}.qdot.cur{outline:2px solid var(--phase);outline-offset:3px}.qdot.sum{width:auto;height:auto;color:var(--faint);background:0 0;padding:0 4px;font-size:14px}.quiz-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;padding:24px}.quiz-card .qt{margin-bottom:16px;font-size:18px;font-weight:650;line-height:1.45}.opts{gap:8px;display:grid}.opt{text-align:left;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:11px;gap:12px;padding:12px 14px;font-size:15px;transition:border-color .15s,background .15s,opacity .15s;display:flex}.opt .l{font-family:var(--mono);color:var(--muted);flex:none}.opt:hover:not(:disabled){border-color:var(--accent)}.opt.correct{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 13%, transparent)}.opt.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 11%, transparent)}.opt.dim{opacity:.55}.opt:disabled{cursor:default}.explain{background:var(--panel-2);border-radius:10px;margin-top:14px;padding:12px 14px;font-size:15px}.explain.ok{background:color-mix(in srgb, var(--ok) 10%, var(--panel))}.explain.bad{background:color-mix(in srgb, var(--bad) 8%, var(--panel))}.quiz-summary{text-align:center}.big-score{letter-spacing:-.04em;color:var(--phase);font-size:58px;font-weight:800;line-height:1}.big-score small{color:var(--muted);font-size:22px}.quiz-review{text-align:left;gap:2px;margin:0 0 18px;padding:0;list-style:none;display:grid}.linklike{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;gap:10px;padding:8px 10px;font-size:14px;display:flex}.linklike:hover{background:var(--panel-2)}.mark{width:16px;color:var(--faint);flex:none;font-weight:800}.mark.ok{color:var(--ok)}.mark.bad{color:var(--bad)}.deck{gap:12px;max-width:560px;display:grid}.flash{perspective:1200px;cursor:pointer;background:0 0;border:0;width:100%;padding:0}.flash .inner{width:100%;min-height:230px;transition:transform .55s var(--ease);transform-style:preserve-3d;display:block;position:relative}.flash.flipped .inner{transform:rotateY(180deg)}.flash .face{backface-visibility:hidden;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:var(--shadow);text-align:center;border-radius:16px;place-items:center;padding:28px;font-size:18px;display:grid;position:absolute;inset:0}.flash .face.back{background:color-mix(in srgb, var(--phase) 10%, var(--panel));border-color:color-mix(in srgb, var(--phase) 35%, var(--border));transform:rotateY(180deg)}.flash .face .hint{color:var(--faint);font-size:11px;position:absolute;bottom:10px;right:14px}.deck-controls{justify-content:space-between;align-items:center;display:flex}.review-card{max-width:740px;margin:0 auto}.review-card .big{text-align:center;place-items:center;min-height:220px;padding:28px;font-size:20px;display:grid}.review-card .ans{text-align:center;background:color-mix(in srgb, var(--phase) 10%, var(--panel));place-items:center;min-height:120px;padding:22px;font-size:18px;display:grid}.grade{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.finish{background:color-mix(in srgb, var(--phase) 9%, var(--panel));border:1px solid color-mix(in srgb, var(--phase) 30%, var(--border));border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:36px;padding:18px 20px;display:flex}.finish-msg{align-items:center;gap:8px;font-weight:600;display:inline-flex}.finish-msg svg{color:var(--ok)}.fab{z-index:40;border:1px solid var(--border-strong);background:var(--panel);height:44px;color:var(--text);box-shadow:var(--shadow-lg);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-weight:650;display:inline-flex;position:fixed;bottom:22px;right:22px}.fab:hover{border-color:var(--accent)}.drawer-backdrop{z-index:80;opacity:0;pointer-events:none;background:#05060a73;transition:opacity .2s;position:fixed;inset:0}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{z-index:90;background:var(--bg-2);border-left:1px solid var(--border);width:min(440px,100vw);box-shadow:var(--shadow-lg);transition:transform .25s var(--ease);flex-direction:column;gap:10px;padding:20px;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}.drawer.open{transform:none}.drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawer-title{font-size:16px;font-weight:700}.drawer .mynotes{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex}.drawer .mynotes textarea{resize:none;flex:1;min-height:240px}.mynotes textarea{background:var(--panel);line-height:1.6}.save-state{color:var(--faint);font-size:12.5px}.pager{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:22px;display:flex}.pager-link{color:var(--text);border-radius:12px;flex-direction:column;flex:260px;gap:4px;padding:14px 16px;display:flex}.pager-link:hover{background:var(--panel);text-decoration:none}.pager-link.next{text-align:right;align-items:flex-end}.pager .dir{color:var(--faint);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.pager .pt{font-weight:650}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{cursor:pointer}.timeline{padding-left:28px;position:relative}.timeline:before{content:"";background:linear-gradient(var(--accent), var(--accent-3), transparent);opacity:.5;width:2px;position:absolute;top:6px;bottom:0;left:9px}.year{font-family:var(--mono);color:var(--accent);margin:26px 0 10px;font-weight:700;position:relative}.year:before{content:"";background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:7px;left:-24px}.paper{margin-bottom:10px;padding:13px 16px}.paper .pt{font-weight:650}.paper .pa{color:var(--muted);font-size:13.5px}.paper .pw{margin-top:4px;font-size:14.5px}.gloss{grid-template-columns:230px 1fr;gap:16px;padding:13px 16px;display:grid!important}@media (max-width:640px){.gloss{grid-template-columns:1fr}}.gloss .term{font-weight:700}.gloss .alias{color:var(--faint);font-size:12.5px}.gloss .prose{font-size:15px}.gloss .prose p:last-child{margin-bottom:0}.alpha{font-family:var(--mono);flex-wrap:wrap;gap:4px;font-size:12px;display:flex}.alpha a{background:var(--panel-2);color:var(--muted);border-radius:6px;padding:2px 7px}.result{margin-bottom:10px;padding:13px 16px}.result .rt{font-weight:650}.result .rs{color:var(--muted);font-size:14px}.pbar{border-bottom:1px solid var(--border);grid-template-columns:170px 1fr 104px;align-items:center;gap:12px;padding:10px 0;display:grid}.pbar:last-child{border-bottom:0}.plan-week{padding:12px 14px}.plan-week .wk{font-family:var(--mono);color:var(--accent);font-size:13px;font-weight:700}.plan-week ul{margin:6px 0 0;padding-left:18px;font-size:14px}.auth-wrap{grid-template-columns:1fr 420px;align-items:start;gap:34px;max-width:980px;margin:10px auto 0;display:grid}@media (max-width:900px){.auth-wrap{grid-template-columns:minmax(0,1fr)}}.auth-card{padding:26px}.auth-tabs{background:var(--panel-2);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:18px;padding:4px;display:grid}.auth-tabs button{height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:650}.auth-tabs button[aria-selected=true]{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.divider{color:var(--faint);align-items:center;gap:12px;margin:16px 0;font-size:12.5px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.benefits{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.benefits li{align-items:flex-start;gap:12px;display:flex}.benefits li svg{width:20px;height:20px;color:var(--ok);flex:none;margin-top:2px}.toasts{z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--panel);border:1px solid var(--border-strong);color:var(--text);box-shadow:var(--shadow-lg);animation:toast-in .2s var(--ease);pointer-events:auto;border-radius:12px;max-width:min(560px,92vw);padding:10px 16px;font-size:14px}.toast.error{border-color:color-mix(in srgb, var(--bad) 55%, var(--border))}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.demo{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:18px}.demo-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.demo-head h3{margin:0}.demo-desc{color:var(--muted);margin-bottom:14px;font-size:14px}.demo-body{grid-template-columns:minmax(0,1fr) 266px;align-items:start;gap:16px;display:grid}@media (max-width:760px){.demo-body{grid-template-columns:minmax(0,1fr)}}.demo-body>*{min-width:0}.demo-canvas{background:var(--bg-2);border:1px solid var(--border);touch-action:none;border-radius:10px;width:100%;height:auto;margin-bottom:10px;display:block}.demo-controls{flex-direction:column;gap:10px;font-size:13.5px;display:flex}.ctl{flex-direction:column;gap:4px;display:flex}.ctl label{color:var(--muted);justify-content:space-between;font-size:12.5px;display:flex}.ctl label b{color:var(--text);font-family:var(--mono);font-weight:600}.ctl input[type=range]{width:100%;accent-color:var(--phase)}.ctl select,.ctl input[type=text],.ctl input[type=number],.ctl textarea{border:1px solid var(--border);background:var(--bg-2);color:var(--text);border-radius:8px;padding:7px 10px;font-size:13.5px}.ctl textarea{resize:vertical;min-height:90px;font-family:var(--mono);font-size:12.5px}.ctl-row{flex-wrap:wrap;gap:8px;display:flex}.ctl-row .btn{flex:1}.demo-readout{font-family:var(--mono);background:var(--bg-2);border:1px solid var(--border);white-space:pre-wrap;max-height:280px;color:var(--text);border-radius:10px;margin:0 0 10px;padding:10px 12px;font-size:12.5px;line-height:1.5;overflow:auto}.demo-note{color:var(--faint);font-size:12.5px}.chip{background:var(--panel-2);border:1px solid var(--border);font-family:var(--mono);border-radius:6px;margin:2px;padding:2px 8px;font-size:12px;display:inline-block}.chip.hot{background:color-mix(in srgb, var(--phase) 22%, transparent);border-color:var(--phase)}.matrix{grid-template-columns:repeat(var(--cols,4), auto);font-family:var(--mono);gap:2px;font-size:12px;display:inline-grid}.matrix span{background:var(--panel-2);text-align:center;border-radius:4px;min-width:44px;padding:4px 6px}.matrix input{text-align:center;width:56px;font-family:var(--mono);border:1px solid var(--border);background:var(--bg-2);color:var(--text);border-radius:4px;padding:4px;font-size:12px}.trace{flex-direction:column;gap:8px;display:flex}.trace .step{border:1px solid var(--border);background:var(--bg-2);border-radius:10px;padding:10px 12px;font-size:14px}.trace .step.thought{border-left:3px solid #a78bfa}.trace .step.action{border-left:3px solid #60a5fa}.trace .step.observation{border-left:3px solid #fbbf24}.trace .step.answer{border-left:3px solid #4ade80}.trace .step b{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.demo-loading{min-height:220px;color:var(--muted);place-items:center;font-size:14px;display:grid}@media (max-width:980px){.site-header{--header-h:112px;flex-wrap:wrap;gap:10px;height:auto;padding:10px 14px}.nav{scrollbar-width:none;order:3;width:100%;margin-left:0;overflow-x:auto}.nav a[aria-current=page]:after{display:none}.header-search{flex:200px;order:1}.site-header>.icon-btn,.site-header>.user-menu,.site-header>.header-auth{order:2}.header-search kbd{display:none}.view{padding:20px 14px 56px}:root{--header-h:112px}}@media (max-width:520px){.brand-text{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{.site-header,.ft,.onpage,.lesson-actions,.tabbar,.fab,.pager,.crumbs{display:none!important}.tabpanel[hidden]{display:block!important}body{background:#fff}}.btn.wrap{white-space:normal;text-align:left;height:auto;min-height:46px;padding-top:10px;padding-bottom:10px}@media (max-width:520px){.header-search{flex-basis:120px}.site-header{gap:8px}}.ideas,.checklist,.res-groups,.exercises,.pitfalls,.opts,.quiz-review{grid-template-columns:minmax(0,1fr)}.exercise,.ideas li,.res,.quiz-card,.deck,.flash{min-width:0}@media (max-width:520px){.exercise{padding-left:52px}.exercise:before{left:13px}.quiz-card{padding:18px}}.ft{background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 55%, transparent), var(--bg-2));border-top:1px solid var(--border);margin-top:24px;position:relative}.ft-spectrum{height:3px;display:flex;position:absolute;top:-1px;left:0;right:0;overflow:hidden}.ft-spectrum span{background:var(--phase);flex:1}.ft-spectrum:after{content:"";width:30%;animation:ft-shimmer 6s var(--ease) infinite;background:linear-gradient(90deg,#0000,#ffffffbf,#0000);position:absolute;inset:0}@keyframes ft-shimmer{0%{transform:translate(-120%)}to{transform:translate(440%)}}.ft-inner{max-width:1260px;margin:0 auto;padding:52px 22px 28px}.ft-top{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px;display:grid}@media (max-width:980px){.ft-top{grid-template-columns:repeat(3,minmax(0,1fr))}.ft-brand{grid-column:1/-1}}@media (max-width:600px){.ft-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}.ft-brand .brand{margin-bottom:12px;display:inline-flex}.ft-tag{color:var(--muted);max-width:42ch;margin:0 0 16px;font-size:14.5px;line-height:1.6}.ft-tag a{color:var(--text);font-weight:600}.ft-continue{flex-wrap:wrap;align-items:center;gap:12px;min-height:22px;margin-bottom:18px;font-size:14px;display:flex}.ft-continue a{color:var(--text);align-items:center;gap:6px;font-weight:600;display:inline-flex}.ft-continue a:hover{color:var(--accent);text-decoration:none}.ft-meter{background:var(--panel-3);border-radius:999px;flex:none;width:70px;height:6px;overflow:hidden}.ft-meter span{background:var(--grad-brand);border-radius:999px;height:100%;display:block}.ft-done{color:var(--ok);font-weight:600}.ft-phases{flex-wrap:wrap;gap:6px;display:flex}.ft-phase{width:34px;height:26px;font-family:var(--mono);color:var(--phase);background:color-mix(in srgb, var(--phase) 12%, transparent);border:1px solid color-mix(in srgb, var(--phase) 30%, transparent);transition:transform .15s var(--ease), background .15s, box-shadow .15s;border-radius:8px;place-items:center;font-size:11.5px;font-weight:700;display:grid}.ft-phase:hover{background:var(--phase);color:#0b0c11;box-shadow:0 8px 18px -8px var(--phase);text-decoration:none;transform:translateY(-2px)}:root[data-theme=light] .ft-phase:hover{color:#fff}.ft-col{flex-direction:column;gap:10px;font-size:14px;display:flex}.ft-col h4{text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin:4px 0 6px;font-size:12px;font-weight:750}.ft-col a{color:var(--muted);width:fit-content}.ft-col a:hover{color:var(--text);text-decoration:none}.ft-col .ext{color:var(--faint);font-size:11px}.ft-term{border:1px solid var(--border);background:var(--panel);border-radius:16px;min-height:64px;margin-top:40px;padding:18px 20px;position:relative;overflow:hidden}.ft-term:before{content:"";background:var(--grad-brand);width:3px;position:absolute;inset:0 auto 0 0}.ft-term-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ft-term .eyebrow{color:var(--accent)}.ft-shuffle{border:1px solid var(--border);background:var(--panel-2);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;display:grid}.ft-shuffle:hover{color:var(--text);border-color:var(--border-strong)}.ft-term-body{animation:ft-fade .35s var(--ease);flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:6px;display:flex}@keyframes ft-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ft-term-word{letter-spacing:-.01em;font-size:18px;font-weight:800}.ft-term-def{color:var(--muted);flex:380px;font-size:14.5px}.ft-term-link{white-space:nowrap;align-items:center;gap:4px;font-size:13.5px;font-weight:600;display:inline-flex}.ft-bottom{border-top:1px solid var(--border);color:var(--faint);flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:28px;padding-top:20px;font-size:13px;display:flex}.ft-bottom a{color:var(--muted)}.ft-credit{flex:280px}.ft-social{gap:8px;margin-left:auto;display:flex}.ft-icon{border:1px solid var(--border);background:var(--panel);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;font-size:16px;transition:color .15s,border-color .15s,transform .15s;display:grid}.ft-icon:hover{color:var(--text);border-color:var(--border-strong);text-decoration:none;transform:translateY(-1px)}.ft-icon svg{width:16px;height:16px}.ft-top-btn{margin-left:6px}@media (max-width:980px){.ft-inner{padding:44px 14px 24px}}
