@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.25ieegmnh38ts.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.10y3kupq4t663.woff)format("woff"),url(../media/KaTeX_AMS-Regular.418dr7cz3fo2x.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.06b-ya9t43ioz.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.2vmk2hva4ctha.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.40ltxhe834pns.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.2eph4dlhid_m9.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.3gxeetazf831f.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.07-7u27-nhn_r.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.2sasz-d-jtw8y.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.1alcy76__wdj2.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.19yqa_tc9d_gx.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.2d10y4xmjvzlf.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.110oo81prr9n5.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.2qhy34r6a05dn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.3-rowy8o6_4ky.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.0v1esh257kqpe.woff)format("woff"),url(../media/KaTeX_Main-Bold.0us_n0tnxlxu7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.14r2naom8mrec.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.13355ck5zr48q.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.3x_u9cepaced0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.0lig0v9j0700p.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.0afv392dj4w59.woff)format("woff"),url(../media/KaTeX_Main-Italic.2hkw3230mfwcv.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.1ryvsdzh2w1_e.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.15u8r3b2y7fv4.woff)format("woff"),url(../media/KaTeX_Main-Regular.0symfa7dqj6jd.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.1oopuu636h4il.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.12pl58orkw9rg.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.0y5w36a5aq__2.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.32405s1aq8vas.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.0w0b1ugh62cfr.woff)format("woff"),url(../media/KaTeX_Math-Italic.2vkekfblmz5nb.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.0h3wi2z_eouyg.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.1ovw5p-yjp56g.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.2d03q85pwxpti.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.0wkjc4dm2kcit.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.1qavw__2zz8gk.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.3i-q087b23-m8.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.2peiewu59z3d-.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.1i4afx8nk8n4r.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.31pbu25feko_c.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.11h14300o9pd0.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.3110jb9c-bxna.woff)format("woff"),url(../media/KaTeX_Script-Regular.28p_x7iz71ofe.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.03lhvx36ekcou.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.1slf4bh0hc6vm.woff)format("woff"),url(../media/KaTeX_Size1-Regular.1y57-ck23ey8c.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.14s5gg-puz6h-.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.0-kwyvx03omo8.woff)format("woff"),url(../media/KaTeX_Size2-Regular.2u0s-b07k2o9m.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.1n1rgzz84z8r9.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.04o9a_02gu_e8.woff)format("woff"),url(../media/KaTeX_Size3-Regular.1pkn-dge4q0fv.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.2sgotkdv3dcyv.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.3p2r1l7xmebxv.woff)format("woff"),url(../media/KaTeX_Size4-Regular.2uelkfk2yna5e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.11gr2d2wuwz77.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.12f8myjij3617.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.3nee9kjfy6nm8.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.0"}.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbf5ea;--surface:#fffcf6;--surface-2:#f5eddd;--surface-3:#ebe1cc;--border:#1a24431c;--border-strong:#1a244338;--text:#1a2443;--text-2:#454e6c;--text-3:#59617d;--on-bright:#1a2443;--cobalt:#2d4bd1;--cobalt-hover:#2340b8;--cobalt-ink:#2d4bd1;--cobalt-soft:#2d4bd11a;--cobalt-ledge:#1c3196;--coral:#ff6b4a;--coral-ink:#b23e26;--coral-soft:#ff6b4a24;--yellow:#ffc94d;--yellow-ink:#875400;--yellow-soft:#ffc94d4d;--mint:#34c08f;--mint-ink:#0f7550;--mint-soft:#34c08f29;--lavender:#a994f5;--lavender-ink:#5f3fc4;--lavender-soft:#a994f52e;--pink:#ff8fb8;--pink-ink:#ad2f67;--pink-soft:#ff8fb82e;--sky:#5ab0ff;--sky-ink:#1f60b5;--sky-soft:#5ab0ff29;--accent:var(--cobalt);--accent-hover:var(--cobalt-hover);--accent-soft:var(--cobalt-soft);--accent-ink:#fff;--focus:#2d4bd1;--good:var(--mint-ink);--good-soft:var(--mint-soft);--bad:#9e2f55;--bad-soft:#d6487a1f;--warn:var(--yellow-ink);--warn-soft:var(--yellow-soft);--xp:var(--yellow);--xp-ink:var(--yellow-ink);--st-not-started:#59617d;--st-learning:var(--lavender-ink);--st-practising:var(--yellow-ink);--st-secure:var(--mint-ink);--st-revision:var(--coral-ink);--sub-9709:#ae3b22;--sub-9709-bright:#ff7a59;--sub-9618:#0d7556;--sub-9618-bright:#3ccb9a;--sub-9702:#1f60b5;--sub-9702-bright:#5ab0ff;--sub-9701:#8a3bb5;--sub-9701-bright:#d99cf5;--shadow-sm:0 1px 2px #3c280a0f;--shadow-md:0 1px 2px #3c280a0d, 0 8px 24px #3c280a14;--shadow-lg:0 2px 6px #1a244314, 0 20px 48px #1a244324;--ledge:#1a244329;--material:#fbf5eae6;--scrim:#0e163052;--dg-ink:var(--text);--dg-muted:#686f8a;--dg-grid:#1a24431a;--dg-accent:#2d4bd1;--dg-accent-soft:#2d4bd124;--dg-accent-2:#b84a28;--dg-accent-2-soft:#ff6b4a2e;--dg-fill-muted:#1a24430f;--radius-sm:10px;--radius:14px;--radius-lg:20px;--radius-xl:28px;--font-sans:var(--font-text-face,"Figtree"), system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-display:var(--font-display-face,"Bricolage Grotesque"), var(--font-sans);--font-mono:ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.15s;--dur:.2s;--dur-slow:.25s}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1630;--surface:#152044;--surface-2:#1b2851;--surface-3:#25345f;--border:#e2e8ff1a;--border-strong:#e2e8ff33;--text:#f6f0e5;--text-2:#c5c8da;--text-3:#a3a9c2;--on-bright:#0e1630;--cobalt:#91a8ff;--cobalt-hover:#aabcff;--cobalt-ink:#91a8ff;--cobalt-soft:#91a8ff24;--cobalt-ledge:#5b74d6;--coral:#ff8c6f;--coral-ink:#ffa088;--coral-soft:#ff8c6f24;--yellow:#ffd46a;--yellow-ink:#ffd46a;--yellow-soft:#ffd46a24;--mint:#5eddb0;--mint-ink:#5eddb0;--mint-soft:#5eddb024;--lavender:#c4b4ff;--lavender-ink:#c4b4ff;--lavender-soft:#c4b4ff29;--pink:#ffa6cb;--pink-ink:#ffa6cb;--pink-soft:#ffa6cb29;--sky:#82c3ff;--sky-ink:#82c3ff;--sky-soft:#82c3ff24;--accent-ink:#0e1630;--focus:#aabcff;--bad:#ff9fbf;--bad-soft:#ff9fbf24;--st-not-started:#a3a9c2;--sub-9709:#ff9a7e;--sub-9709-bright:#ff8c6f;--sub-9618:#5eddb0;--sub-9618-bright:#4fcfa2;--sub-9702:#82c3ff;--sub-9702-bright:#6fb6ff;--sub-9701:#e2a9ff;--sub-9701-bright:#d394f5;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 2px #0000004d, 0 8px 24px #0000004d;--shadow-lg:0 2px 8px #00000059, 0 20px 56px #00000073;--ledge:#00000059;--material:#0e1630e6;--scrim:#04081499;--dg-muted:#9ea4be;--dg-grid:#e2e8ff1f;--dg-accent:#91a8ff;--dg-accent-soft:#91a8ff33;--dg-accent-2:#ff9a7e;--dg-accent-2-soft:#ff8c6f33;--dg-fill-muted:#e2e8ff12}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1630;--surface:#152044;--surface-2:#1b2851;--surface-3:#25345f;--border:#e2e8ff1a;--border-strong:#e2e8ff33;--text:#f6f0e5;--text-2:#c5c8da;--text-3:#a3a9c2;--on-bright:#0e1630;--cobalt:#91a8ff;--cobalt-hover:#aabcff;--cobalt-ink:#91a8ff;--cobalt-soft:#91a8ff24;--cobalt-ledge:#5b74d6;--coral:#ff8c6f;--coral-ink:#ffa088;--coral-soft:#ff8c6f24;--yellow:#ffd46a;--yellow-ink:#ffd46a;--yellow-soft:#ffd46a24;--mint:#5eddb0;--mint-ink:#5eddb0;--mint-soft:#5eddb024;--lavender:#c4b4ff;--lavender-ink:#c4b4ff;--lavender-soft:#c4b4ff29;--pink:#ffa6cb;--pink-ink:#ffa6cb;--pink-soft:#ffa6cb29;--sky:#82c3ff;--sky-ink:#82c3ff;--sky-soft:#82c3ff24;--accent-ink:#0e1630;--focus:#aabcff;--bad:#ff9fbf;--bad-soft:#ff9fbf24;--st-not-started:#a3a9c2;--sub-9709:#ff9a7e;--sub-9709-bright:#ff8c6f;--sub-9618:#5eddb0;--sub-9618-bright:#4fcfa2;--sub-9702:#82c3ff;--sub-9702-bright:#6fb6ff;--sub-9701:#e2a9ff;--sub-9701-bright:#d394f5;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 1px 2px #0000004d, 0 8px 24px #0000004d;--shadow-lg:0 2px 8px #00000059, 0 20px 56px #00000073;--ledge:#00000059;--material:#0e1630e6;--scrim:#04081499;--dg-muted:#9ea4be;--dg-grid:#e2e8ff1f;--dg-accent:#91a8ff;--dg-accent-soft:#91a8ff33;--dg-accent-2:#ff9a7e;--dg-accent-2-soft:#ff8c6f33;--dg-fill-muted:#e2e8ff12}}
svg.dg{width:100%;height:auto;font-family:var(--font-sans);margin-inline:auto;display:block;overflow:hidden}.dg :where(line,path,polyline,polygon,circle,rect,ellipse){fill:none}.dg .dg-line{stroke:var(--dg-ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.dg .dg-thin{stroke:var(--dg-ink);stroke-width:1.25px;stroke-linecap:round}.dg .dg-muted{stroke:var(--dg-muted);stroke-width:1.5px;stroke-linecap:round}.dg .dg-grid{stroke:var(--dg-grid);stroke-width:1px}.dg .dg-accent{stroke:var(--dg-accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.dg .dg-accent-2{stroke:var(--dg-accent-2);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.dg .dg-dashed{stroke-dasharray:6 5}.dg .dg-fill-accent{fill:var(--dg-accent-soft)}.dg .dg-fill-accent-2{fill:var(--dg-accent-2-soft)}.dg .dg-fill-muted{fill:var(--dg-fill-muted)}.dg .dg-fill-surface{fill:var(--surface)}.dg .dg-dot{fill:var(--dg-ink);stroke:none}.dg .dg-dot-accent{fill:var(--dg-accent);stroke:none}.dg .dg-dot-accent-2{fill:var(--dg-accent-2);stroke:none}.dg .dg-text{fill:var(--dg-ink);stroke:none;font-size:14px}.dg .dg-text-small{fill:var(--dg-ink);stroke:none;font-size:12px}.dg .dg-text-muted{fill:var(--dg-muted);stroke:none;font-size:13px}.dg .dg-text-accent{fill:var(--dg-accent);stroke:none;font-size:14px;font-weight:600}.dg .dg-text-accent-2{fill:var(--dg-accent-2);stroke:none;font-size:14px;font-weight:600}.dg .dg-mono{font-family:var(--font-mono)}.dg .dg-bold{font-weight:600}.dg .dg-italic{font-style:italic}.dg .dg-math{width:100%;height:100%;color:var(--dg-ink);white-space:nowrap;justify-content:center;align-items:center;font-size:12.5px;line-height:1;display:flex}.dg .dg-math-start{justify-content:flex-start}.dg .dg-math-end{justify-content:flex-end}.dg .dg-math-muted{color:var(--dg-muted)}.dg .dg-math-accent{color:var(--dg-accent)}.dg .dg-math-accent-2{color:var(--dg-accent-2)}.dg .dg-math-small{font-size:11px}.dg .dg-math-large{font-size:16px}.dg .dg-math .dg-k-accent{color:var(--dg-accent)}.dg .dg-math .dg-k-accent-2{color:var(--dg-accent-2)}.dg .dg-math .dg-k-muted{color:var(--dg-muted)}.dg .dg-math .text,.dg .dg-math .text *{font-family:var(--font-sans)}.dg .dg-math svg path{fill:currentColor}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);scroll-padding-top:132px}body{background:var(--bg);min-height:100dvh;color:var(--text);font:400 1rem/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;margin:0}img,svg{max-width:100%;display:block}a{color:var(--cobalt-ink);text-underline-offset:.2em;text-decoration:none}a:hover{text-decoration:underline;text-decoration-thickness:2px}p a:not(.btn),.notice a,.checkbox a,td a,.help a,.provenance,.prose a{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1.5px}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}::selection{background:color-mix(in srgb, var(--yellow) 55%, transparent);color:var(--text)}hr{border:0;border-top:1.5px solid var(--border);margin:24px 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--cobalt);color:var(--accent-ink);padding:12px 16px;font-weight:700;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.display,h1,.h1,h2,.h2,h3,.h3,.wordmark,.stat-value,.level-coin{font-family:var(--font-display)}.display{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,1.5rem + 3vw,3.75rem);font-weight:760;line-height:1.02}h1,.h1{letter-spacing:-.028em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,1.4rem + 1.4vw,2.375rem);font-weight:740;line-height:1.1}h2,.h2{letter-spacing:-.018em;margin:0;font-size:clamp(1.25rem,1.15rem + .4vw,1.5rem);font-weight:700;line-height:1.2}h3,.h3{letter-spacing:-.008em;margin:0;font-size:1.0625rem;font-weight:680;line-height:1.3}p{margin:0}.lede{color:var(--text-2);max-width:62ch;font-size:1.125rem;line-height:1.55}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:.9375rem;line-height:1.5}.tiny{font-size:.8125rem;line-height:1.45}.eyebrow{color:var(--text-2);letter-spacing:.01em;align-items:center;gap:8px;font-size:.8125rem;font-weight:700;display:inline-flex}.mono{font-family:var(--font-mono);font-size:.92em}.tabular{font-variant-numeric:tabular-nums}.stack{gap:var(--gap,16px);flex-direction:column;display:flex}.stack>*,.row>.grow{min-width:0}.stack-xs{--gap:4px}.stack-sm{--gap:8px}.stack-md{--gap:12px}.stack-lg{--gap:24px}.stack-xl{--gap:44px}.row{align-items:center;gap:var(--gap,12px);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between}.row-nowrap{flex-wrap:nowrap}.grow{flex:auto;min-width:0}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;display:grid}.shell{min-height:100dvh}.sidebar{display:none}.main{padding:20px 16px calc(112px + env(safe-area-inset-bottom));min-width:0}.container{width:100%;max-width:1100px;margin:0 auto}.container-narrow{width:100%;max-width:720px;margin:0 auto}.topbar{z-index:30;background:var(--bg);border-bottom:1.5px solid var(--border);align-items:center;gap:6px;height:60px;padding:0 8px 0 14px;display:flex;position:sticky;top:0}.tabbar{z-index:30;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1.5px solid var(--border);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.tab{min-height:56px;color:var(--text-2);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:.75rem;font-weight:700;display:flex;position:relative}.tab:hover{color:var(--text);text-decoration:none}.tab-icon{width:56px;height:30px;transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:999px;place-items:center;display:grid}@media (hover:hover){.tab:hover .tab-icon{background:var(--surface-2)}}.tab:active .tab-icon{transform:scale(.92)}.tab[aria-current=page]{color:var(--cobalt-ink)}.tab[aria-current=page] .tab-icon{background:var(--cobalt-soft)}.tab svg{width:24px;height:24px}.tab .count-badge{margin:0;position:absolute;top:2px;left:calc(50% + 8px)}@media (min-width:960px){.shell{grid-template-columns:264px minmax(0,1fr);display:grid}.sidebar{background:var(--surface-2);border-right:1.5px solid var(--border);flex-direction:column;gap:6px;height:100dvh;padding:18px 14px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.topbar,.tabbar{display:none}.main{padding:40px 48px 88px}}.brand{min-height:44px;color:var(--text);border-radius:14px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:inline-flex}.brand:hover{text-decoration:none}.brand:hover .logo-mark{transform:rotate(-6deg)}.logo-mark{transition:transform var(--dur) var(--ease-spring);border-radius:30%;flex:none}.wordmark{letter-spacing:-.045em;padding-bottom:2px;font-size:1.5rem;font-weight:800;line-height:1}.sidebar-brand{padding:2px 4px 10px}.nav-group{flex-direction:column;gap:2px;margin-top:10px;display:flex}.nav-label{color:var(--text-3);letter-spacing:.02em;padding:8px 12px 4px;font-size:.75rem;font-weight:700}.nav-item{min-height:44px;color:var(--text-2);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast);border-radius:12px;align-items:center;gap:12px;padding:8px 12px;font-size:.9375rem;font-weight:650;display:flex}.nav-item svg{flex:none;width:20px;height:20px}.nav-item:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.nav-item:active{background:color-mix(in srgb, var(--surface-3) 70%, var(--text) 8%)}.nav-item[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1.5px var(--border-strong), 0 2px 0 var(--ledge)}.nav-item[aria-current=page] svg{color:var(--cobalt-ink)}.nav-item .soon,.nav-item .count-badge{margin-left:auto}.nav-button{cursor:pointer;text-align:left;background:0 0;border:0;width:100%}.nav-spacer{flex:1;min-height:12px}.sidebar-guest{padding:10px 4px 4px}.count-badge{background:var(--coral);min-width:22px;height:22px;color:var(--on-bright);text-align:center;border-radius:999px;padding:0 6px;font-size:.75rem;font-weight:800;line-height:22px;display:inline-block}.btn{--btn-bg:var(--surface);--btn-fg:var(--text);--btn-border:var(--border-strong);--btn-ledge:var(--ledge);border:1.5px solid var(--btn-border);background:var(--btn-bg);min-height:44px;color:var(--btn-fg);box-shadow:0 2px 0 var(--btn-ledge);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9375rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.btn:hover{text-decoration:none}@media (hover:hover){.btn:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb, var(--btn-bg) 92%, var(--text));box-shadow:0 3px 0 var(--btn-ledge);transform:translateY(-1px)}}.btn:active:not(:disabled):not([aria-disabled=true]){box-shadow:0 0 0 var(--btn-ledge);transition-duration:60ms;transform:translateY(2px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn[aria-busy=true]{opacity:.8;cursor:progress}.btn[aria-busy=true]:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn svg{flex:none;width:18px;height:18px}.btn-primary{--btn-bg:var(--cobalt);--btn-fg:var(--accent-ink);--btn-border:var(--cobalt);--btn-ledge:var(--cobalt-ledge)}@media (hover:hover){.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--cobalt-hover)}}.btn-ghost{--btn-bg:transparent;--btn-border:transparent;--btn-fg:var(--text-2);box-shadow:none}@media (hover:hover){.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text);box-shadow:none;transform:none}}.btn-ghost:active:not(:disabled){transform:scale(.97)}.btn-danger{--btn-fg:var(--bad)}.btn-sm{border-radius:12px;min-height:40px;padding:7px 14px;font-size:.875rem}.btn-lg{border-radius:16px;min-height:54px;padding:14px 24px;font-size:1.0625rem}.btn-block{width:100%}.icon-btn{width:44px;height:44px;color:var(--text-2);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;border-radius:12px;flex:none;place-items:center;display:inline-grid}@media (hover:hover){.icon-btn:hover{background:var(--surface-3);color:var(--text)}}.icon-btn:active:not(:disabled){transform:scale(.92)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn svg{width:22px;height:22px}.icon-btn[aria-pressed=true]{color:var(--cobalt-ink)}.link-btn{min-height:44px;color:var(--cobalt-ink);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;align-items:center;padding:0 4px;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;display:inline-flex}.link-btn:hover{text-decoration-thickness:2.5px}.card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg)}.card-pad{padding:20px}@media (min-width:640px){.card-pad{padding:24px}.lesson-path:before{left:44.5px}}a.card:not(.lesson-card),.card-link{display:block}a.card,.card-link{color:inherit;transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out)}@media (hover:hover){a.card:hover,.card-link:hover{border-color:var(--border-strong);box-shadow:0 3px 0 var(--ledge);text-decoration:none;transform:translateY(-2px)}}a.card:active,.card-link:active{box-shadow:0 0 0 var(--ledge);transform:translateY(1px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:14px;display:flex}.section-head a{font-weight:700}.list{margin:0;padding:0;list-style:none}.list-rows>li+li{border-top:1.5px solid var(--border)}.list-row{min-height:52px;color:inherit;transition:background-color var(--dur-fast);border-radius:12px;align-items:center;gap:12px;padding:12px 8px;display:flex}a.list-row:hover{background:var(--surface-2);text-decoration:none}a.list-row:active{background:var(--surface-3)}.row-glyph{background:var(--hue-soft,var(--surface-2));width:36px;height:36px;color:var(--hue,var(--text-2));border-radius:11px;flex:none;place-items:center;display:grid}.row-glyph svg{width:18px;height:18px}.page-head{flex-direction:column;gap:10px;margin-bottom:28px;display:flex}.page-head-art{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-head-art .spot{flex:none;width:108px;height:auto}@media (max-width:559px){.page-head-art .spot{display:none}}.crumbs{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px;font-size:.875rem;display:flex}.crumbs a{min-height:32px;color:var(--text-2);align-items:center;font-weight:650;display:inline-flex}.crumbs svg{width:14px;height:14px}[data-subject="9709"]{--hue:var(--sub-9709);--hue-bright:var(--sub-9709-bright)}[data-subject="9618"]{--hue:var(--sub-9618);--hue-bright:var(--sub-9618-bright)}[data-subject="9702"]{--hue:var(--sub-9702);--hue-bright:var(--sub-9702-bright)}[data-subject="9701"]{--hue:var(--sub-9701);--hue-bright:var(--sub-9701-bright)}[data-subject]{--hue-soft:color-mix(in srgb, var(--hue-bright) 18%, transparent)}.subject-tile{background:var(--hue-soft,var(--cobalt-soft));width:44px;height:44px;color:var(--hue,var(--cobalt-ink));border-radius:14px;flex:none;place-items:center;display:grid}.subject-tile svg{width:24px;height:24px}.subject-tile.lg{border-radius:18px;width:56px;height:56px}.subject-tile.lg svg{width:30px;height:30px}.subject-dot{background:var(--hue-bright,var(--cobalt));border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.status{--st:var(--st-not-started);background:color-mix(in srgb, var(--st) 11%, var(--surface));color:var(--st);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px 4px 8px;font-size:.8125rem;font-weight:700;display:inline-flex}.status svg{flex:none;width:15px;height:15px}.status[data-state=learning]{--st:var(--st-learning)}.status[data-state=practising]{--st:var(--st-practising)}.status[data-state=secure]{--st:var(--st-secure)}.status[data-state=needs-revision]{--st:var(--st-revision)}.status.bare{background:0 0;padding:0}.badge{background:var(--surface-3);color:var(--text-2);letter-spacing:.01em;white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:3px 9px;font-size:.75rem;font-weight:750;display:inline-flex}.badge-accent{background:color-mix(in srgb, var(--lavender) 18%, var(--surface));color:var(--lavender-ink)}.badge-warn{background:color-mix(in srgb, var(--yellow) 30%, var(--surface));color:var(--yellow-ink)}.badge-good{background:color-mix(in srgb, var(--mint) 16%, var(--surface));color:var(--mint-ink)}.chip{border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.8125rem;font-weight:650;display:inline-flex}.meter{--value:0;background:var(--surface-3);border-radius:999px;height:10px;display:block;position:relative;overflow:hidden}.meter>span{width:calc(var(--value) * 1%);border-radius:inherit;background:var(--meter-fill,var(--cobalt));transition:width var(--dur-slow) var(--ease-out);position:absolute;inset:0 auto 0 0}.meter-thin{height:6px}.meter-xp{--meter-fill:var(--yellow-ink)}.stacked-meter{background:var(--surface-3);border-radius:999px;gap:2px;height:12px;display:flex;overflow:hidden}.stacked-meter>span{height:100%;display:block}.legend{color:var(--text-2);flex-wrap:wrap;gap:6px 16px;font-size:.8125rem;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.ring{--value:0;--size:56px;width:var(--size);height:var(--size);flex:none;position:relative}.ring>svg{width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:7px}.ring .track{stroke:var(--surface-3)}.ring .fill{stroke:var(--ring-fill,var(--cobalt));stroke-linecap:round;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.ring .ring-label{font-variant-numeric:tabular-nums;place-items:center;font-size:.8125rem;font-weight:800;display:grid;position:absolute;inset:0}.ring .ring-label svg{stroke-width:2.6px;width:45%;height:45%;color:var(--ring-fill,var(--cobalt))}.stat{flex-direction:column;gap:2px;display:flex}.stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:760;line-height:1.05}.stat-label{color:var(--text-2);font-size:.875rem}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--text);font-size:.9375rem;font-weight:700}.help{color:var(--text-2);font-size:.875rem}.input,.textarea,.select{border:1.5px solid var(--border-strong);background:var(--surface);width:100%;min-height:48px;color:var(--text);transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background-color var(--dur-fast);border-radius:14px;padding:11px 14px;font-size:1rem}.input:hover,.textarea:hover,.select:hover{border-color:color-mix(in srgb, var(--border-strong) 50%, var(--text) 35%)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.textarea:focus,.select:focus,.cloze-input:focus{border-color:var(--cobalt);box-shadow:0 0 0 4px var(--cobalt-soft);outline:none}.input:disabled,.textarea:disabled,.select:disabled,.cloze-input:disabled{background:var(--surface-2);color:var(--text-2);cursor:not-allowed}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-right:40px}.textarea{resize:vertical;min-height:120px;line-height:1.55}.input-mono{font-family:var(--font-mono);font-size:.95rem}.checkbox{cursor:pointer;align-items:flex-start;gap:12px;font-size:.9375rem;display:flex}.checkbox input{width:22px;height:22px;accent-color:var(--cobalt);cursor:pointer;flex:none;margin:1px 0 0}.form-error{background:var(--bad-soft);color:var(--bad);border-radius:12px;padding:12px 14px;font-size:.9375rem;font-weight:650}.form-ok{background:var(--mint-soft);color:var(--mint-ink);border-radius:12px;padding:12px 14px;font-size:.9375rem;font-weight:650}.segmented{background:var(--surface-3);border-radius:14px;flex-wrap:wrap;gap:4px;max-width:100%;padding:4px;display:inline-flex}.segmented button,.segmented a{min-height:36px;color:var(--text-2);cursor:pointer;transition:background-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast), transform var(--dur-fast);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:6px 14px;font-size:.875rem;font-weight:700;display:inline-flex}.segmented button:hover:not(:disabled):not([aria-disabled=true]):not([aria-pressed=true]):not([aria-selected=true]),.segmented a:hover:not([aria-current=page]){color:var(--text);background:color-mix(in srgb, var(--surface) 55%, transparent);text-decoration:none}.segmented button:active:not(:disabled):not([aria-disabled=true]),.segmented a:active{transform:scale(.96)}.segmented button:disabled{cursor:not-allowed;opacity:.6}.segmented button[aria-disabled=true]{cursor:progress;opacity:.7}.segmented [aria-pressed=true],.segmented [aria-current=page],.segmented [aria-selected=true]{background:var(--surface);color:var(--cobalt-ink);box-shadow:inset 0 0 0 1.5px var(--cobalt), 0 1px 2px color-mix(in srgb, var(--text) 12%, transparent)}.segmented [aria-pressed=true]:hover:not(:disabled):not([aria-disabled=true]),.segmented [aria-current=page]:hover,.segmented [aria-selected=true]:hover{background:var(--cobalt-soft);color:var(--cobalt-ink);text-decoration:none}.segmented-cards button{flex-direction:column;gap:1px;padding:7px 14px;line-height:1.15}.seg-sub{opacity:.85;font-size:.75rem;font-weight:650}@media (max-width:479px){.segmented-cards{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}}.switch-row{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;padding:14px 0;display:grid}.switch-row+.switch-row{border-top:1.5px solid var(--border)}.switch-row .help{grid-column:1}.switch-row .switch{grid-area:1/2/span 2}.switch{border:1.5px solid var(--text-3);background:var(--surface-3);cursor:pointer;width:56px;height:34px;transition:background-color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);border-radius:999px;flex:none;padding:0;position:relative}.switch:after{content:"";background:var(--surface);width:25px;height:25px;box-shadow:0 1px 0 var(--ledge), 0 0 0 1.5px var(--text-2);transition:transform var(--dur) var(--ease-spring);border-radius:50%;position:absolute;top:3px;left:3px}.switch:not([aria-checked=true]):hover:not(:disabled):not([aria-disabled=true]),.switch-row:hover .switch:not(:disabled):not([aria-disabled=true]):not([aria-checked=true]){border-color:var(--text-2)}.switch:active:not(:disabled):not([aria-disabled=true]):after{width:29px}.switch[aria-checked=true]{background:var(--cobalt);border-color:var(--cobalt)}.switch[aria-checked=true]:after{box-shadow:none;transform:translate(22px)}.switch[aria-checked=true]:active:not(:disabled):not([aria-disabled=true]):after{transform:translate(18px)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch[aria-disabled=true]{opacity:.7;cursor:progress}.switch-row[data-disabled]{cursor:progress}.switch-label{font-weight:700}.xp-chip{white-space:nowrap;background:var(--yellow-soft);height:40px;color:var(--text);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--yellow-ink) 30%, transparent);transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast);border-radius:999px;flex:none;align-items:center;gap:6px;margin:2px 2px 2px 0;padding:0 10px 0 5px;font-size:.9375rem;font-weight:800;display:inline-flex}.xp-chip:hover{background:color-mix(in srgb, var(--yellow) 45%, transparent);text-decoration:none}.xp-chip:active{transform:scale(.95)}.xp-chip-star{background:var(--yellow);width:30px;height:30px;color:var(--on-bright);border-radius:50%;place-items:center;display:grid}.xp-chip-star svg{width:17px;height:17px}.xp-chip-total{font-family:var(--font-display)}.xp-chip-level{color:var(--text-2);font-size:.75rem;font-weight:800}.xp-chip-combo{background:var(--coral);color:var(--on-bright);border-radius:999px;align-items:center;gap:1px;padding:1px 7px 1px 4px;font-size:.75rem;font-weight:800;display:inline-flex}.xp-chip-combo svg{width:13px;height:13px}.xp-chip[data-pulse],.xp-card[data-pulse] .level-coin{animation:pulse .65s var(--ease-spring)}@keyframes pulse{40%{transform:scale(1.12)}}.xp-card{background:var(--surface);color:var(--text);box-shadow:0 0 0 1.5px var(--border), 0 2px 0 var(--ledge);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast);border-radius:18px;flex-direction:column;gap:10px;margin:2px 0 4px;padding:14px;display:flex}@media (hover:hover){.xp-card:hover{box-shadow:0 0 0 1.5px var(--border-strong), 0 3px 0 var(--ledge);text-decoration:none;transform:translateY(-1px)}}.xp-card:active{box-shadow:0 0 0 1.5px var(--border-strong);transform:translateY(1px)}.xp-card-top{align-items:center;gap:12px;display:flex}.xp-card-text{flex-direction:column;min-width:0;display:flex}.xp-card-title{font-size:.9375rem;font-weight:800;line-height:1.25}.xp-card-total{color:var(--text-2);align-items:center;gap:5px;font-size:.875rem;font-weight:700;display:inline-flex}.xp-card-total svg{width:15px;height:15px;color:var(--yellow-ink)}.xp-card-foot{color:var(--text-2);justify-content:space-between;gap:8px;font-weight:650;display:flex}.level-coin{background:var(--yellow);width:42px;height:42px;color:var(--on-bright);font-variant-numeric:tabular-nums;box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--on-bright) 18%, transparent), 0 0 0 4px var(--yellow-soft);border-radius:50%;flex:none;place-items:center;font-size:1.125rem;font-weight:800;display:grid}.level-coin.lg{width:64px;height:64px;box-shadow:inset 0 -4px 0 color-mix(in srgb, var(--on-bright) 18%, transparent), 0 0 0 6px var(--yellow-soft);font-size:1.75rem}.level-block{align-items:center;gap:18px;display:flex}.level-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.level-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.25rem;font-weight:760;line-height:1.15}.level-name{color:var(--yellow-ink)}.level-xp{align-items:center;gap:6px;font-weight:800;display:inline-flex}.level-xp svg{width:16px;height:16px;color:var(--yellow-ink)}.xp-gain{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:2px 0 10px;display:flex}.xp-pop{background:var(--yellow);color:var(--on-bright);font:800 .9375rem/1.2 var(--font-display);box-shadow:0 2px 0 color-mix(in srgb, var(--on-bright) 25%, transparent);animation:xp-pop .52s var(--ease-spring) both;border-radius:999px;align-items:center;gap:4px;padding:4px 11px 4px 6px;display:inline-flex}.xp-pop svg{width:16px;height:16px}@keyframes xp-pop{0%{opacity:0;transform:translateY(8px)scale(.6)}60%{opacity:1;transform:translateY(-3px)scale(1.06)}}.xp-reason{color:var(--text-2);font-size:.875rem;font-weight:650}.combo-chip{background:var(--coral);color:var(--on-bright);animation:xp-pop .52s .12s var(--ease-spring) both;border-radius:999px;align-items:center;gap:3px;padding:3px 10px 3px 6px;font-size:.8125rem;font-weight:800;display:inline-flex}.combo-chip svg{width:15px;height:15px}.guest-xp{color:var(--text-2);align-items:center;gap:6px;font-size:.875rem;font-weight:650;display:inline-flex}.guest-xp svg{width:16px;height:16px;color:var(--yellow-ink)}.toaster{z-index:60;pointer-events:none;flex-direction:column-reverse;gap:8px;display:flex;position:fixed}@media (min-width:960px){.toaster{width:240px;bottom:12px;left:12px}.toaster .toast{grid-template-columns:40px minmax(0,1fr) 36px;gap:10px;padding:10px 2px 10px 10px}.toaster .toast-art .badge-art,.toaster .toast-glyph{width:40px;height:40px}.toaster .toast-close{width:36px;height:36px}.toaster .toast-body{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;display:-webkit-box;overflow:hidden}}@media (max-width:959px){.toaster{bottom:0;left:0;right:0}.toaster .toast{height:calc(69.5px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom) 12px;box-shadow:0 0 0 1.5px var(--border-strong), 0 -10px 28px -14px #00000059;border-radius:18px 18px 0 0;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;animation-name:toast-up}.toaster .toast-art .badge-art,.toaster .toast-glyph{width:44px;height:44px}.toaster .toast-title{font-size:1rem}.toaster .toast-kicker,.toaster .toast-title,.toaster .toast-body{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}@keyframes toast-up{0%{opacity:0;transform:translateY(100%)}}.toast{pointer-events:auto;background:var(--surface);color:var(--text);box-shadow:0 0 0 1.5px var(--border-strong), var(--shadow-lg);animation:toast-in var(--dur-slow) var(--ease-spring) both;border-radius:18px;grid-template-columns:48px minmax(0,1fr) 44px;align-items:center;gap:12px;padding:10px 4px 10px 12px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}.toast-text{flex-direction:column;min-width:0;display:flex}.toast-kicker{color:var(--yellow-ink);letter-spacing:.02em;font-size:.75rem;font-weight:800}.toast-title{font-family:var(--font-display);font-size:1.0625rem;font-weight:760;line-height:1.2}.toast-body{color:var(--text-2);font-size:.875rem;line-height:1.35}.toast-glyph{background:var(--yellow);width:48px;height:48px;color:var(--on-bright);border-radius:50%;place-items:center;display:grid}.toast-glyph[data-kind=goal]{background:var(--mint)}.toast-glyph svg{width:24px;height:24px}.toast-close svg{width:18px;height:18px}.confetti{z-index:70;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:8px;height:13px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.5,1);animation-fill-mode:both;position:absolute;top:-16px}.confetti i[data-round]{border-radius:50%;width:9px;height:9px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{opacity:0;transform:translate(var(--drift), 92vh) rotate(var(--spin))}}.week{flex-direction:column;gap:10px;display:flex}.week-count{color:var(--text-2);font-size:.9375rem}.week-count strong{font-family:var(--font-display);color:var(--text);font-size:1.125rem}.week-dots{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:300px;margin:0;padding:0;list-style:none;display:grid}.week-dots li{flex-direction:column;align-items:center;gap:4px;display:flex}.week-dot{background:var(--surface-3);width:30px;height:30px;color:var(--on-bright);border-radius:50%;place-items:center;display:grid}.week-dot svg{stroke-width:2.5px;width:16px;height:16px}.week-dots li[data-done] .week-dot{background:var(--mint)}.week-dots li[data-future] .week-dot{box-shadow:inset 0 0 0 1.5px var(--border-strong);background:0 0}.week-dots li[data-today] .week-dot{box-shadow:0 0 0 2.5px var(--bg), 0 0 0 4.5px var(--cobalt)}.week-label{color:var(--text-3);font-size:.75rem;font-weight:750}.week-dots li[data-today] .week-label{color:var(--cobalt-ink)}.badge-art{--tone:var(--yellow);flex:none;overflow:visible}.badge-art[data-tone=mint]{--tone:var(--mint)}.badge-art[data-tone=lavender]{--tone:var(--lavender)}.badge-art[data-tone=coral]{--tone:var(--coral)}.badge-art[data-tone=sky]{--tone:var(--sky)}.badge-art[data-tone=yellow]{--tone:var(--yellow)}.badge-art[data-tone=pink]{--tone:var(--pink)}.badge-art .b-rim{fill:var(--tone)}.badge-art .b-face{fill:color-mix(in srgb, var(--tone) 52%, #fffcf6)}.badge-art .b-ink,.badge-art .b-ink-thin,.badge-art .b-ink-thick,.badge-art .b-deep-line{fill:none;stroke:var(--on-bright);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.badge-art .b-ink-thin{stroke-width:2px}.badge-art .b-ink-thick{stroke-width:4.4px}.badge-art .b-deep-line{stroke:color-mix(in srgb, var(--tone) 45%, var(--on-bright))}.badge-art .b-pop{fill:#fffcf6}.badge-art .b-solid{fill:var(--on-bright)}.badge-art .b-deep{fill:color-mix(in srgb, var(--tone) 45%, var(--on-bright))}.badge-art .b-flame{fill:#ffc94d}.badge-art .b-flag,.badge-art .b-coral{fill:#ff7a59}.badge-art .b-mint{fill:#3ccb9a}.badge-art .b-label{fill:#fffcf6;font:800 7.5px var(--font-display);letter-spacing:.02em}.badge-art[data-locked]{filter:grayscale();opacity:.45}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.badge-tile{background:var(--surface);box-shadow:0 0 0 1.5px var(--border);border-radius:18px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.badge-tile[data-locked]{box-shadow:inset 0 0 0 1.5px var(--border);background:0 0;border:0}.badge-tile-art{position:relative}.badge-lock{background:var(--surface);width:26px;height:26px;color:var(--text-2);box-shadow:0 0 0 1.5px var(--border-strong);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.badge-lock svg{width:14px;height:14px}.badge-tile-text{flex-direction:column;gap:4px;min-width:0;display:flex}.badge-tile-name{font-family:var(--font-display);font-size:1.0625rem;font-weight:760;line-height:1.2}.badge-tile-desc{color:var(--text-2);font-size:.875rem;line-height:1.4}.badge-tile-date{color:var(--mint-ink);align-items:center;gap:4px;font-size:.8125rem;font-weight:750;display:inline-flex}.badge-tile-date svg{width:14px;height:14px}.badge-tile-progress{color:var(--text-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-weight:700;display:grid}.badge-tile-progress .meter{--meter-fill:var(--text-3)}.settings-section{border-top:1.5px solid var(--border);gap:14px;padding:24px 0;scroll-margin-top:80px;display:grid}.settings-section:first-child{border-top:0;padding-top:8px}.settings-intro h2{font-size:1.1875rem}@media (min-width:720px){.settings-section{grid-template-columns:190px minmax(0,1fr);gap:28px}}.danger-zone{border-radius:var(--radius);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--bad) 45%, var(--border));margin-top:8px;padding:16px}.badge-shelf{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:479px){.badge-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}}.badge-medal:has(details[open]){grid-column:1/-1}.badge-medal summary{text-align:center;cursor:pointer;min-height:44px;transition:background-color var(--dur-fast);border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;list-style:none;display:flex}.badge-medal summary::-webkit-details-marker{display:none}.badge-medal summary:hover{background:var(--surface-2)}.badge-medal details[open] summary{text-align:left;background:var(--surface-2);border-radius:16px 16px 0 0;flex-direction:row;justify-content:flex-start;gap:12px}.badge-medal-name{font-family:var(--font-display);font-size:.9375rem;font-weight:760;line-height:1.2}.badge-medal-date{color:var(--text-3);font-size:.75rem;font-weight:650}.badge-medal details[open] .badge-medal-date{display:none}.badge-medal-desc{background:var(--surface-2);color:var(--text-2);border-radius:0 0 16px 16px;margin:0;padding:0 14px 12px 90px;font-size:.875rem;line-height:1.45}@media (max-width:479px){.badge-medal-desc{padding-left:14px}}.art{--art-1:var(--hue-bright,var(--coral));--art-2:var(--yellow);--art-ink:var(--text);overflow:visible}.art .a-ink,.art .a-ink-thick,.art .a-ink-thin{fill:none;stroke:var(--art-ink);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.art .a-ink-thick{stroke-width:4px}.art .a-ink-thin{stroke-width:1.75px}.art .a-faint,.art .a-faint-thick{fill:none;stroke:var(--art-ink);stroke-width:1.5px;stroke-linecap:round;opacity:.22}.art .a-faint-thick{stroke-width:4px;opacity:.16}.art .a-stroke,.art .a-stroke-thin{fill:none;stroke:var(--art-1);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.art .a-stroke-thin{stroke-width:3px}.art .a-dot{fill:var(--art-ink)}.art .a-paper{fill:var(--surface)}.art .a-fill{fill:var(--art-1)}.art .a-fill-2{fill:var(--art-2)}.art .a-coral{fill:var(--coral)}.art .a-yellow{fill:var(--yellow)}.art .a-mint{fill:var(--mint)}.art .a-sky{fill:var(--sky)}.art .a-lavender{fill:var(--lavender)}.art .a-sky-soft{fill:var(--sky-soft)}.art .a-mint-soft{fill:var(--mint-soft)}.art .a-coral-soft{fill:color-mix(in srgb, var(--coral) 30%, transparent)}.spot{flex:none}.subject-motif{width:100%;height:auto}.empty{text-align:center;color:var(--text-2);border-radius:var(--radius-lg);background:var(--surface-2);flex-direction:column;align-items:center;gap:6px;padding:36px 24px;display:flex}.empty .spot{margin-bottom:8px}.empty-icon{background:var(--surface-3);width:48px;height:48px;color:var(--text-3);border-radius:14px;place-items:center;margin:0 auto 14px;display:grid}.empty-icon svg{width:24px;height:24px}.landing-hero{align-items:center;gap:32px;padding:8px 0;display:grid}@media (min-width:880px){.landing-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;padding:24px 0 12px}}.hero-copy{flex-direction:column;gap:18px;display:flex}.hero-copy .lede{max-width:46ch}.hero-kicker{background:var(--surface);box-shadow:0 0 0 1.5px var(--border);color:var(--text-2);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 12px 5px 6px;font-size:.8125rem;font-weight:750;display:inline-flex}.hero-kicker .subject-dot+.subject-dot{box-shadow:0 0 0 2px var(--surface);margin-left:-6px}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-highlight{background:linear-gradient(transparent 62%, color-mix(in srgb, var(--yellow) 70%, transparent) 62%, color-mix(in srgb, var(--yellow) 70%, transparent) 92%, transparent 92%);padding:0 .04em}.sample{background:var(--surface);width:100%;max-width:440px;box-shadow:0 0 0 1.5px var(--border-strong);border-radius:24px;margin:0 auto;padding:20px;position:relative}.sample-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.sample-q{font-family:var(--font-display);margin-bottom:12px;font-size:1.125rem;font-weight:700;line-height:1.3}.sample-opt{border:1.5px solid var(--border-strong);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;font-size:.9375rem;font-weight:650;display:flex}.sample-opt+.sample-opt{margin-top:8px}.sample-opt[data-mark=right]{border-color:var(--mint-ink);background:var(--mint-soft)}.sample-key{border:1.5px solid var(--border-strong);width:26px;height:26px;color:var(--text-2);border-radius:8px;flex:none;place-items:center;font-size:.8125rem;font-weight:800;display:grid}.sample-opt[data-mark=right] .sample-key{border-color:var(--mint-ink);background:var(--mint-ink);color:var(--surface)}.sample-foot{background:var(--mint-soft);color:var(--mint-ink);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;font-weight:800;display:flex}.sample-foot svg{width:18px;height:18px}.sample-foot .xp-pop{animation:none}.sample-badge{background:var(--surface);box-shadow:0 0 0 1.5px var(--border-strong), var(--shadow-md);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;display:inline-flex;position:absolute;bottom:-24px;right:-14px;transform:rotate(3deg)}.sample-badge-text{text-align:left;flex-direction:column;line-height:1.15;display:flex}.sample-badge-kicker{color:var(--yellow-ink);font-size:.6875rem;font-weight:800}.sample-badge-name{font-family:var(--font-display);font-size:.9375rem;font-weight:760}@media (max-width:520px){.sample-badge{right:-4px}}.subject-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;display:grid}@media (max-width:559px){.subject-row .subject-card{grid-template-rows:auto auto 1fr;grid-template-columns:96px minmax(0,1fr);gap:2px 14px;padding:12px;display:grid}.subject-row .subject-card-art{border-radius:14px;grid-row:1/span 3;place-items:center;margin:0;padding:10px 8px;display:grid}.subject-row .subject-card-art .subject-motif{width:100%;height:auto}.subject-row .subject-card .small{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.subject-card{border-radius:var(--radius-lg);background:var(--surface);color:inherit;box-shadow:0 0 0 1.5px var(--border);transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex;position:relative;overflow:hidden}@media (hover:hover){a.subject-card:hover{box-shadow:0 0 0 1.5px var(--hue), 0 3px 0 var(--hue);text-decoration:none;transform:translateY(-2px)}}a.subject-card:active{box-shadow:0 0 0 1.5px var(--hue);transform:translateY(1px)}.subject-card-art{background:var(--hue-soft);margin:-16px -18px 4px;padding:14px 18px 10px}.subject-card-art .subject-motif{width:auto;height:76px}.subject-card-code{color:var(--hue);font-size:.8125rem;font-weight:750}.how-steps{counter-reset:how;gap:0;margin:0;padding:0;list-style:none;display:grid}@media (min-width:760px){.how-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}.how-step{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:14px 0;display:grid}.how-step:first-child{padding-top:4px}@media (min-width:760px){.how-step{padding:4px 0 0}}@media (max-width:759px){.how-step+.how-step{border-top:1.5px dashed var(--border-strong)}}.how-num{width:44px;height:44px;font:800 1.25rem var(--font-display);color:var(--on-bright);border-radius:14px;place-items:center;display:grid}.how-step:first-child .how-num{background:var(--coral)}.how-step:nth-child(2) .how-num{background:var(--yellow)}.how-step:nth-child(3) .how-num{background:var(--mint)}.status-note{border-radius:var(--radius-lg);background:var(--lavender-soft);gap:8px;padding:18px 20px;display:grid}.auth-wrap{place-items:center;gap:32px;min-height:100dvh;padding:32px 16px;display:grid}.auth-side{display:none}@media (min-width:960px){.auth-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0}.auth-side{background:var(--surface-2);border-right:1.5px solid var(--border);flex-direction:column;justify-content:center;align-self:stretch;gap:28px;width:100%;padding:48px clamp(32px,6vw,96px);display:flex}}.auth-scene{width:min(100%,380px);height:auto}.auth-side-line{max-width:34ch;font-family:var(--font-display);letter-spacing:-.02em;margin-top:12px;font-size:1.375rem;font-weight:700;line-height:1.25}.auth-card{width:100%;max-width:440px}.auth-brand{align-self:center}@media (min-width:960px){.auth-card{padding:32px 24px}.auth-brand{align-self:flex-start}}.auth-form{border-color:var(--border-strong)}.welcome{flex-direction:column;gap:6px;display:flex}.welcome-line{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:1.125rem;display:inline-flex}.welcome-line strong{color:var(--text)}.home-top{gap:16px;display:grid}@media (min-width:1040px){.home-top:not([data-solo]){grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:stretch}}@media (min-width:960px){.me-panel .level-block{display:none}}.continue-card{border-radius:var(--radius-xl);background:var(--surface);box-shadow:0 0 0 1.5px var(--border-strong);gap:18px;padding:24px;display:grid;position:relative;overflow:hidden}@media (min-width:640px){.continue-card{grid-template-columns:minmax(0,1fr) minmax(160px,220px);align-items:center;padding:28px 28px 28px 36px}}.continue-card:before{content:"";background:var(--hue-bright,var(--cobalt));width:8px;position:absolute;inset:0 auto 0 0}.continue-body{flex-direction:column;gap:10px;min-width:0;display:flex}.continue-title{letter-spacing:-.025em;font-size:clamp(1.5rem,1.25rem + 1vw,2rem);font-weight:760;line-height:1.1}.continue-art{display:none}@media (min-width:640px){.continue-art{aspect-ratio:1;background:var(--hue-soft,var(--surface-2));border-radius:24px;place-items:center;padding:18px;display:grid}.continue-art .subject-motif,.continue-art .spot{width:100%;height:auto}}.continue-cta{margin-top:6px}.continue-also{margin-top:4px}.continue-also a{font-weight:700}.me-panel-quiet{align-self:start}.me-panel{border-radius:var(--radius-xl);background:var(--surface-2);flex-direction:column;gap:18px;padding:22px;display:flex}.me-panel .meter{background:var(--surface-3)}.goal-row{align-items:center;gap:12px;display:flex}.goal-row .ring{--ring-fill:var(--mint-ink)}.unlocks{flex-direction:column;gap:8px;display:flex}.unlock-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.unlock-list li{background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.875rem;font-weight:750;display:flex}.subject-strip{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px;display:grid}.subject-progress{align-items:center;gap:12px;display:flex}.subject-progress .ring{--ring-fill:var(--hue)}.home-cols{gap:32px;display:grid}@media (min-width:900px){.home-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}}.week-band{border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 0 0 1.5px var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;padding:20px 22px;display:grid}@media (min-width:720px){.week-band{grid-template-columns:repeat(4,minmax(0,1fr))}}.week-band .stat:first-child .stat-value{color:var(--cobalt-ink)}.week-band .stat:nth-child(2) .stat-value{color:var(--mint-ink)}.week-band .stat:nth-child(3) .stat-value{color:var(--coral-ink)}.week-band .stat:nth-child(4) .stat-value{color:var(--lavender-ink)}.quiet-note{border-top:1.5px dashed var(--border-strong);color:var(--text-2);align-items:flex-start;gap:12px;padding:16px 0 0;display:flex}.subject-list{flex-direction:column;gap:16px;display:flex}.subject-item{border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 0 0 1.5px var(--border);gap:16px;padding:20px;display:grid}@media (min-width:720px){.subject-item{grid-template-columns:150px minmax(0,1fr) auto;align-items:center;padding:18px 22px 18px 18px}}.subject-item-art{background:var(--hue-soft);border-radius:16px;place-items:center;padding:12px;display:grid}@media (max-width:719px){.subject-item-art{justify-items:start}.subject-item-art .subject-motif{width:120px}}.subject-item h2 a{color:inherit}.subject-item-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}@media (min-width:720px){.subject-item-actions{align-items:flex-end}}.subject-hero{border-radius:var(--radius-xl);background:var(--hue-soft);gap:18px;padding:22px;display:grid}@media (min-width:720px){.subject-hero{grid-template-columns:minmax(0,1fr) 200px;align-items:center;padding:28px 32px}}.subject-hero-art{display:none}@media (min-width:720px){.subject-hero-art{display:block}}.subject-hero .eyebrow{color:var(--hue)}.section-block+.section-block{margin-top:32px}.topic-list{border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 0 0 1.5px var(--border);overflow:hidden}.topic-row{min-height:64px;color:inherit;transition:background-color var(--dur-fast);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}a.topic-row:hover{background:var(--surface-2);text-decoration:none}a.topic-row:active{background:var(--surface-3)}a.topic-row:hover .topic-chevron{color:var(--text);transform:translate(3px)}.topic-row+.topic-row{border-top:1.5px solid var(--border)}.topic-code{background:var(--hue-soft,var(--surface-2));min-width:44px;height:32px;color:var(--hue,var(--text-2));font-variant-numeric:tabular-nums;border-radius:10px;justify-self:start;place-items:center;padding:0 6px;font-size:.875rem;font-weight:800;display:inline-grid}.topic-row[data-empty] .topic-code{background:var(--surface-2);color:var(--text-2)}.topic-meta{justify-content:flex-end;align-items:center;gap:10px;display:flex}.topic-chevron{color:var(--text-3);transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast)}@media (max-width:560px){.topic-row{grid-template-columns:52px minmax(0,1fr)}.topic-meta{grid-column:2;justify-content:flex-start}}.objective-list{counter-reset:none}.objective{grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 0;display:grid}.objective+.objective{border-top:1.5px solid var(--border)}.objective-code{font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--text-2);padding-top:2px;font-size:.875rem;font-weight:750}@media (max-width:560px){.objective{grid-template-columns:52px minmax(0,1fr)}.objective>:last-child{grid-column:2}}.lesson-path{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex;position:relative}.lesson-path:before{content:"";border-left:3px dotted var(--border-strong);position:absolute;top:36px;bottom:36px;left:40.5px}.lesson-card{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;display:grid;position:relative}.lesson-num{background:var(--surface-2);width:44px;height:44px;color:var(--text-2);font:800 1rem var(--font-display);font-variant-numeric:tabular-nums;box-shadow:0 0 0 1.5px var(--border-strong);border-radius:50%;place-items:center;display:grid;position:relative}.lesson-num[data-status=completed]{background:var(--mint);color:var(--on-bright);box-shadow:none}.lesson-num[data-status=in-progress]{background:var(--cobalt-soft);color:var(--cobalt-ink);box-shadow:0 0 0 2px var(--cobalt)}.lesson-num svg{stroke-width:2.5px;width:22px;height:22px}.lesson-card[data-status=completed]{background:color-mix(in srgb, var(--mint) 7%, var(--surface))}.lesson{font-size:1.0625rem;line-height:1.7}.lesson-top{z-index:20;background:var(--bg);border-bottom:1.5px solid var(--border);margin:-20px -16px 22px;padding:8px 8px 8px 4px;position:sticky;top:0}@media (max-width:959px){.lesson-top{top:60px}}@media (min-width:960px){.lesson-top{margin:-40px -48px 32px;padding:10px 48px}}.lesson-top-inner{align-items:center;gap:10px;max-width:720px;margin:0 auto;display:flex}.lesson-top .meter{--meter-fill:var(--hue,var(--cobalt))}.lesson-menu{position:relative}.lesson-top-title{min-width:0;max-width:100%;min-height:28px;font:inherit;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;margin:-4px -6px -2px;padding:2px 6px;font-size:.8125rem;font-weight:700;display:flex}.lesson-top-title:hover{background:var(--surface-3);color:var(--text)}.lesson-top-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.lesson-top-count{color:var(--text-3);flex:none}.lesson-top-chevron{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out);flex:none;transform:rotate(90deg)}.lesson-top-title[aria-expanded=true] .lesson-top-chevron{transform:rotate(-90deg)}.lesson-menu-panel{z-index:25;background:var(--surface);width:min(380px,100vw - 32px);box-shadow:0 0 0 1.5px var(--border-strong), var(--shadow-lg);border-radius:16px;padding:12px 10px 6px;line-height:1.4;position:absolute;top:calc(100% + 10px);left:-6px}.lesson-menu-panel>p{padding:0 8px 6px}.lesson-menu-panel ol{margin:0;padding:0;list-style:none}.lesson-menu-panel ol a{min-height:44px;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:6px 8px;font-size:.9375rem;font-weight:650;display:flex}.lesson-menu-panel ol a:hover{background:var(--surface-2);text-decoration:none}.lesson-menu-panel ol a[aria-current=page]{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--hue,var(--text))}.lesson-menu-mark{border:1.5px solid var(--border-strong);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;display:grid}.lesson-menu-panel a[data-done] .lesson-menu-mark{border-color:var(--mint-ink);background:var(--mint-ink);color:var(--surface)}.lesson-menu-mark svg{stroke-width:2.6px;width:15px;height:15px}.lesson-menu-panel>a{margin:2px 8px}.lesson-top-xp{display:none}@media (max-width:959px){.shell:has(.lesson-player)>.topbar{display:none}.shell:has(.lesson-player) .lesson-top{top:0}.lesson-top-xp{display:contents}}.lesson-top .segmented{flex-wrap:nowrap;flex:none}@media (max-width:420px){.lesson-top .segmented button{padding:6px 10px}}.lesson-head{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.lesson-head h1{font-size:clamp(1.875rem,1.5rem + 1.6vw,2.625rem)}.lesson-meta{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.lesson-meta .meta-time{color:var(--text-2);align-items:center;gap:4px;font-size:.875rem;font-weight:700;display:inline-flex}.lesson-meta svg{width:15px;height:15px}.lesson-done-flag{background:var(--mint);color:var(--on-bright);border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 6px;font-size:.8125rem;font-weight:800;display:inline-flex}.lesson-done-flag svg{stroke-width:2.5px;width:15px;height:15px}.lesson-foot-links{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.provenance{min-height:32px;color:var(--text-2);align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}.provenance svg{flex:none;width:15px;height:15px}.step{flex-direction:column;gap:22px;scroll-margin-top:132px;display:flex}.step:focus{outline:none}.step:focus-visible{outline:3px solid var(--focus);outline-offset:8px}.step+.step{border-top:2px dashed var(--border);margin-top:32px;padding-top:32px}.step-enter{animation:step-in var(--dur-slow) var(--ease-out) both}@keyframes step-in{0%{opacity:0;transform:translateY(10px)}}.prose>*+*{margin-top:.8em}.prose ul,.prose ol{margin-bottom:0;padding-left:1.3em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--hue,var(--text-3))}.prose strong{font-weight:750}.prose code{font-family:var(--font-mono);background:var(--surface-3);border-radius:6px;padding:.12em .4em;font-size:.88em}.prose pre{background:var(--surface-2);border:1.5px solid var(--border);border-radius:14px;padding:14px 16px;font-size:.9rem;line-height:1.55;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1.5px solid var(--border);text-align:left;vertical-align:top;padding:8px 12px}.prose th{color:var(--text-2);background:var(--surface-2);font-weight:750}.prose .katex-display{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--border);border-radius:14px;margin:.9em 0;padding:14px 16px;overflow:auto hidden}.callout .katex-display,.feedback .katex-display{background:color-mix(in srgb, var(--surface) 70%, transparent)}.block-title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:4px;font-size:1.375rem;font-weight:740;line-height:1.2}.callout{--c:var(--cobalt-ink);background:color-mix(in srgb, var(--c) 7%, var(--surface));border-radius:18px;padding:16px 18px 18px;position:relative}.callout-label{color:var(--c);letter-spacing:.02em;align-items:center;gap:7px;margin-bottom:8px;font-size:.8125rem;font-weight:800;display:inline-flex}.callout-label svg{width:17px;height:17px}.callout-objective{--c:var(--text-2);border:1.5px dashed var(--border-strong);background:0 0}.callout-definition{--c:var(--text-2);background:var(--surface);border:1.5px solid var(--border);border-left:6px solid var(--text);border-radius:8px 18px 18px 8px}.definition-term{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:4px;font-size:1.25rem;font-weight:760;line-height:1.25}.callout-intuition{--c:var(--lavender-ink);background:var(--lavender-soft)}.callout-exam{--c:var(--yellow-ink);background:var(--yellow-soft);border:1.5px dashed color-mix(in srgb, var(--yellow-ink) 45%, transparent)}.callout-enrichment{--c:var(--pink-ink)}.callout-takeaways{--c:var(--mint-ink);background:var(--mint-soft)}.takeaways{margin:0;padding:0;list-style:none}.takeaways li{padding-left:30px;position:relative}.takeaways li:before{content:"";background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a2443' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;border-radius:50%;width:20px;height:20px;position:absolute;top:.3em;left:0}.takeaways li+li{margin-top:10px}.mistakes-head{align-items:center;gap:8px;display:flex}.mistakes-head svg{color:var(--bad)}.misconception{box-shadow:0 0 0 1.5px var(--border);border-radius:16px;display:grid;overflow:hidden}.misconception+.misconception{margin-top:12px}.mc-line{grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px;padding:12px 16px;display:grid}.mc-line svg{stroke-width:2.5px;border-radius:50%;width:20px;height:20px;margin-top:4px;padding:2px}.mc-wrong{background:var(--bad-soft)}.mc-right{background:var(--surface)}.mc-wrong svg{color:var(--bad)}.mc-right svg{color:var(--mint-ink)}.mc-wrong .prose{color:var(--text-2)}details.disclosure{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:16px}details.disclosure>summary{cursor:pointer;min-height:52px;transition:background-color var(--dur-fast);border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-weight:750;list-style:none;display:flex}details.disclosure>summary:hover{background:var(--surface-2)}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary svg{width:18px;height:18px;transition:transform var(--dur) var(--ease-out);color:var(--text-2);flex:none}details.disclosure[open]>summary .disclosure-chevron{transform:rotate(90deg)}details.disclosure>.disclosure-body{padding:0 16px 16px}.example{background:var(--surface);box-shadow:0 0 0 1.5px var(--border-strong);border-radius:18px;overflow:hidden}.example-head{background:var(--hue-soft,var(--cobalt-soft));padding:16px 18px}.example-head .eyebrow{color:var(--hue,var(--cobalt-ink))}.example-steps{counter-reset:step;margin:0;padding:8px 18px 14px;list-style:none}.example-steps>li{counter-increment:step;padding:12px 0 12px 42px;position:relative}.example-steps>li:before{content:counter(step);background:var(--hue-bright,var(--cobalt));width:28px;height:28px;color:var(--on-bright);font:800 .875rem var(--font-display);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;left:0}.example-steps>li+li{border-top:1.5px dashed var(--border)}.example-answer{background:var(--mint-soft);border-radius:14px;margin:0 18px 16px;padding:12px 14px}.example-foot{flex-wrap:wrap;gap:8px;padding:0 18px 16px;display:flex}figure.diagram{background:var(--surface);box-shadow:0 0 0 1.5px var(--border);border-radius:18px;margin:0;padding:18px}figure.diagram figcaption{color:var(--text-2);text-align:center;margin-top:12px;font-size:.875rem}.check{flex-direction:column;gap:14px;display:flex}.check-head{background:var(--hue-soft,var(--lavender-soft));color:var(--hue,var(--lavender-ink));border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 12px 5px 8px;font-size:.875rem;font-weight:800;display:inline-flex}.check-head svg{width:18px;height:18px}.question{background:var(--surface);box-shadow:0 0 0 1.5px var(--border-strong);transition:box-shadow var(--dur) var(--ease-out);border-radius:22px;padding:18px;scroll-margin-top:132px}@media (min-width:640px){.question{padding:22px 24px}}.question[data-outcome=correct]{box-shadow:0 0 0 2px var(--mint-ink)}.question[data-outcome=incorrect]{box-shadow:0 0 0 1.5px var(--border-strong)}.question[data-outcome=partial],.question[data-outcome=self-check]{box-shadow:0 0 0 2px color-mix(in srgb, var(--yellow-ink) 70%, transparent)}.q-meta{align-items:center;gap:8px;margin:-6px -8px 10px 0;display:flex}.q-meta .grow{min-width:0;font-weight:650}.q-prompt{font-size:1.0625rem;line-height:1.6}.q-body{flex-direction:column;gap:10px;margin-top:16px;display:flex}fieldset.q-fieldset{border:0;min-width:0;margin:0;padding:0}.options{flex-direction:column;gap:10px;display:flex}.option{border:1.5px solid var(--border-strong);background:var(--surface);min-height:52px;box-shadow:0 2px 0 var(--ledge);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-fast), background-color var(--dur-fast), box-shadow var(--dur-fast), transform var(--dur-fast) var(--ease-out);border-radius:16px;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:12px;padding:11px 14px;display:grid;position:relative}@media (hover:hover){.option:hover{border-color:color-mix(in srgb, var(--cobalt) 60%, var(--border-strong));background:color-mix(in srgb, var(--cobalt) 4%, var(--surface));box-shadow:0 3px 0 var(--ledge);transform:translateY(-1px)}}.option:active{box-shadow:0 0 0 var(--ledge);transition-duration:60ms;transform:translateY(2px)}.option input{opacity:0;pointer-events:none;position:absolute}.option-key{border:1.5px solid var(--border-strong);width:30px;height:30px;font:800 .875rem var(--font-display);color:var(--text-2);background:var(--surface);transition:background-color var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);border-radius:10px;place-items:center;display:grid}.option>.prose{padding-top:2px}.option:not([data-mark]):has(input:checked){border-color:var(--cobalt);background:var(--cobalt-soft);box-shadow:0 2px 0 var(--cobalt-ledge)}.option:not([data-mark]):has(input:checked) .option-key{background:var(--cobalt);border-color:var(--cobalt);color:var(--accent-ink)}.option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.option[data-mark=right]{border-color:var(--mint-ink);background:var(--mint-soft)}.option[data-mark=right] .option-key{background:var(--mint-ink);border-color:var(--mint-ink);color:var(--surface)}.option[data-mark=wrong]{border-color:var(--text-3);background:var(--surface-2)}.option[data-mark=wrong] .option-key{background:var(--bad);border-color:var(--bad);color:var(--surface)}.option-why{color:var(--text-2);grid-column:2;font-size:.9375rem;line-height:1.5}fieldset:disabled .option{cursor:default;box-shadow:none;transform:none}fieldset:disabled .option:not([data-mark]){opacity:.75}fieldset:disabled .option:hover{border-color:var(--border-strong);background:var(--surface)}fieldset:disabled .option[data-mark=right]:hover{border-color:var(--mint-ink);background:var(--mint-soft)}fieldset:disabled .option[data-mark=wrong]:hover{border-color:var(--text-3);background:var(--surface-2)}.numeric-field{grid-template-columns:fit-content(40%) minmax(5em,260px) auto;justify-content:start;align-items:center;gap:4px 10px;display:grid}.numeric-field:not(:has(.numeric-label)){grid-template-columns:minmax(5em,260px) auto}.numeric-field .input{width:100%;min-width:0}.numeric-field>.tiny{grid-column:-3/-1}.numeric-field:not(:has(.numeric-label))>.tiny{grid-column:1/-1}.numeric-label{min-width:2.5em;font-weight:700}.unit{color:var(--text-2);font-weight:650}.cloze-input{border:1.5px solid var(--border-strong);background:var(--surface);width:9em;max-width:100%;min-height:40px;font:inherit;vertical-align:baseline;transition:border-color var(--dur-fast), box-shadow var(--dur-fast);border-radius:10px;margin:2px 4px;padding:4px 10px;font-size:.95em;display:inline-block}.cloze-input:hover:not(:disabled){border-color:var(--text-3)}.lines{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.line-option{grid-template-columns:42px minmax(0,1fr)}.line-option .option-key{width:auto;min-width:30px;padding:0 6px}.q-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.feedback{background:var(--surface-2);animation:fade-in var(--dur) var(--ease-out) both;border-radius:18px;margin-top:16px;padding:16px 18px}.feedback-head{scroll-margin:140px 0 calc(92px + env(safe-area-inset-bottom))}@media (min-width:960px){.feedback-head{scroll-margin-bottom:24px}}.feedback-title{font-family:var(--font-display);letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:1.1875rem;font-weight:760;display:flex}.feedback-cheer{font-family:var(--font-sans);color:var(--text-2);font-size:.9375rem;font-weight:650}.feedback-title svg{flex:none;width:24px;height:24px}.feedback[data-outcome=correct]{background:var(--mint-soft)}.feedback[data-outcome=correct] .feedback-title{color:var(--mint-ink)}.feedback[data-outcome=incorrect]{background:var(--lavender-soft)}.feedback[data-outcome=incorrect] .feedback-title{color:var(--bad)}.feedback[data-outcome=partial],.feedback[data-outcome=self-check]{background:var(--yellow-soft)}.feedback[data-outcome=partial] .feedback-title,.feedback[data-outcome=self-check] .feedback-title{color:var(--yellow-ink)}.feedback .prose{font-size:.9875rem}.feedback-section+.feedback-section{margin-top:14px}.feedback-label{color:var(--text-2);letter-spacing:.01em;margin-bottom:4px;font-size:.8125rem;font-weight:800}.keypoints{flex-direction:column;gap:10px;margin:10px 0;display:flex}.note-invalid{color:var(--yellow-ink);margin-top:10px;font-size:.9375rem;font-weight:650}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}.continue-bar{justify-content:center;margin-top:32px;display:flex}.lesson-end,.celebrate{border-radius:var(--radius-xl);background:var(--surface);box-shadow:0 0 0 2px var(--mint-ink);text-align:center;animation:celebrate-in .4s var(--ease-spring) both;margin-top:40px;padding:28px 22px;position:relative}@keyframes celebrate-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.celebrate{scroll-margin:140px 0 calc(84px + env(safe-area-inset-bottom))}@media (max-width:559px){.lesson-end,.celebrate{padding:18px 16px 20px}.celebrate .spot{width:96px;height:auto}.celebrate-stats{margin-top:14px}.celebrate-actions{margin-top:16px}}@media (min-width:960px){.celebrate{scroll-margin-bottom:32px}}.celebrate .spot{margin:-6px auto 4px}.celebrate h2{font-size:clamp(1.75rem,1.5rem + 1vw,2.25rem)}.celebrate-stats{flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0 4px;padding:0;list-style:none;display:flex}.celebrate-stat{background:var(--surface-2);border-radius:16px;flex-direction:column;align-items:center;gap:2px;min-width:132px;padding:12px 16px;display:flex}.celebrate-stat[data-kind=xp]{background:var(--yellow-soft)}.celebrate-stat[data-kind=accuracy]{background:var(--mint-soft)}.celebrate-num{font:800 1.75rem/1.1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.celebrate-label{color:var(--text-2);font-size:.8125rem;font-weight:750}.celebrate-actions{flex-direction:column;align-items:center;gap:10px;margin-top:22px;display:flex}.btn-next{text-align:left;border-radius:18px;max-width:100%;min-height:60px;padding:16px 28px;font-size:1.125rem}.btn-next .btn-next-text{flex-direction:column;min-width:0;display:flex}.btn-next .btn-next-kicker{opacity:.85;font-size:.8125rem;font-weight:700}.btn-next .btn-next-title{text-overflow:ellipsis;overflow:hidden}.celebrate-topic{background:var(--yellow-soft);color:var(--text);border-radius:999px;align-items:center;gap:8px;margin-top:10px;padding:6px 14px 6px 10px;font-weight:800;display:inline-flex}.celebrate-topic svg{width:20px;height:20px;color:var(--yellow-ink)}.celebrate-breakdown{flex-wrap:wrap;justify-content:center;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.celebrate-breakdown li{background:var(--surface-2);color:var(--text-2);border-radius:999px;padding:4px 10px;font-size:.8125rem;font-weight:650}.celebrate-breakdown strong{color:var(--text)}.celebrate-note{max-width:46ch;color:var(--text-2);margin:12px auto 0;font-size:.9375rem}.celebrate h2:focus{outline:none}.celebrate h2{width:fit-content;max-width:100%;margin-inline:auto;padding-inline:8px}.celebrate h2:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}.lesson-nav{border-top:1.5px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:40px;padding-top:20px;display:grid}.lesson-nav-link{border:1.5px solid var(--border-strong);background:var(--surface);min-height:60px;color:var(--text);box-shadow:0 2px 0 var(--ledge);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast), border-color var(--dur-fast);border-radius:16px;align-items:center;gap:10px;padding:10px 12px;display:flex}.lesson-nav-link[data-dir=next]{text-align:right;grid-column:2;justify-content:flex-end}.lesson-nav-link svg{width:20px;height:20px;color:var(--text-2);flex:none}@media (hover:hover){.lesson-nav-link:hover{border-color:color-mix(in srgb, var(--cobalt) 55%, var(--border-strong));box-shadow:0 3px 0 var(--ledge);text-decoration:none;transform:translateY(-1px)}}.lesson-nav-link:active{box-shadow:0 0 0 var(--ledge);transform:translateY(2px)}.lesson-nav-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.lesson-nav-kicker{color:var(--text-3);font-size:.75rem;font-weight:750}.lesson-nav-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:700;overflow:hidden}@media (max-width:479px){.lesson-nav{grid-template-columns:minmax(0,1fr)}.lesson-nav-link[data-dir=next]{grid-column:1}}.review-count:focus{outline:none}.review-count:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.review-progress{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.review-progress li{background:var(--surface-3);border-radius:999px;width:22px;height:8px}.review-progress li[data-state=current]{background:var(--cobalt)}.review-progress li[data-state=correct]{background:var(--mint)}.review-progress li[data-state=missed]{background:var(--coral)}.review-progress li[data-state=partial]{background:var(--yellow)}.review-progress li[data-state=skipped]{background:var(--border-strong)}.achieve-head{gap:20px;margin-bottom:28px;display:grid}@media (min-width:800px){.achieve-head{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);align-items:center}}.panel{border-radius:var(--radius-lg);background:var(--surface-2);padding:20px 22px}.panel-yellow{background:var(--yellow-soft)}:root[data-theme=dark] .panel-yellow{background:var(--surface);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--yellow) 55%, transparent), inset 0 4px 0 var(--yellow)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .panel-yellow{background:var(--surface);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--yellow) 55%, transparent), inset 0 4px 0 var(--yellow)}}.panel-lavender{background:var(--lavender-soft)}.profile{gap:22px;display:grid}@media (min-width:860px){.profile{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}}.profile-badges{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.profile-badges li{text-align:center;flex-direction:column;align-items:center;gap:4px;width:84px;font-size:.75rem;font-weight:750;line-height:1.2;display:flex}.xp-days{grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:4px;height:116px;margin:0;padding:20px 0 0;list-style:none;display:grid}.xp-days li{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.xp-days .bar-wrap{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.xp-days .bar{background:var(--surface-3);border-radius:6px 6px 3px 3px;width:100%;max-width:22px;min-height:3px;display:block}.xp-days li[data-active] .bar{background:var(--yellow-ink)}.xp-days li[data-goal] .bar{background:var(--mint-ink)}.xp-days .bar{position:relative}.xp-days .bar-goal{width:14px;height:14px;color:var(--mint-ink);stroke-width:3px;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.xp-days .day{color:var(--text-3);font-size:.6875rem;font-weight:750}.quiet-stats{color:var(--text-2);flex-wrap:wrap;gap:8px 24px;font-size:.9375rem;display:flex}.quiet-stats strong{color:var(--text)}.notice{background:var(--cobalt-soft);color:var(--text);border-radius:16px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.notice svg{width:20px;height:20px;color:var(--cobalt-ink);flex:none;margin-top:2px}.notice-warn{background:var(--yellow-soft)}.notice-warn svg{color:var(--yellow-ink)}.kbd{border:1.5px solid var(--border-strong);font-family:var(--font-mono);color:var(--text-2);background:var(--surface);border-bottom-width:3px;border-radius:6px;padding:1px 6px;font-size:.75rem;display:inline-block}.table{border-collapse:collapse;width:100%;font-size:.9375rem}.table th,.table td{text-align:left;border-bottom:1.5px solid var(--border);vertical-align:top;padding:11px 14px}.table th{color:var(--text-2);background:var(--surface-2);font-size:.8125rem;font-weight:750}.table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.search-box{position:relative}.search-box svg{width:20px;height:20px;color:var(--text-2);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-box .input{border-radius:18px;min-height:56px;padding-left:48px;font-size:1.125rem}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters .select{width:auto;max-width:100%;min-height:44px;font-size:.9375rem}.result-list>li+li{border-top:1.5px solid var(--border)}mark{background:color-mix(in srgb, var(--yellow) 55%, transparent);color:inherit;border-radius:3px;padding:0 2px}.skeleton{background:linear-gradient(90deg, var(--surface-3), var(--surface-2), var(--surface-3));background-size:200% 100%;border-radius:14px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.loading-mark{color:var(--text-2);align-items:center;gap:10px;font-weight:700;display:flex}.loading-mark .logo-mark{animation:bob 1.2s var(--ease-in-out) infinite}@keyframes bob{50%{transform:translateY(-4px)}}.timeline-day+.timeline-day{margin-top:28px}.timeline-day h2{margin-bottom:8px}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";border-left:2px solid var(--border);position:absolute;top:18px;bottom:18px;left:17px}.timeline-item{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid;position:relative}.timeline-icon{background:var(--surface-3);width:36px;height:36px;color:var(--text-2);border-radius:12px;place-items:center;display:grid}.timeline-icon[data-kind=completed]{background:var(--mint);color:var(--on-bright)}.timeline-icon[data-kind=answered]{background:var(--lavender-soft);color:var(--lavender-ink)}.timeline-item a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px}.timeline-icon svg{width:18px;height:18px}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.error-page{text-align:center;justify-items:center;gap:12px;max-width:520px;margin:32px auto;display:grid}.error-page .row{justify-content:center}.menu-list .list-row{min-height:56px;font-weight:700}.menu-list .row-glyph{background:var(--surface-2);color:var(--text-2)}.roadmap{gap:0;margin:0;padding:0;list-style:none;display:grid}.roadmap>li{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:16px 0;display:grid}.roadmap>li+li{border-top:1.5px dashed var(--border-strong)}.roadmap-mark{background:var(--surface-3);width:44px;height:44px;color:var(--text-2);font:800 1rem var(--font-display);border-radius:14px;place-items:center;display:grid}.roadmap>li[data-status=Available] .roadmap-mark{background:var(--mint);color:var(--on-bright)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.btn:hover:not(:disabled),.btn:active:not(:disabled),.icon-btn:active,.option:hover,.option:active,a.card:hover,a.card:active,a.subject-card:hover,a.subject-card:active,.xp-card:hover,.xp-card:active,.xp-chip:active,.tab:active .tab-icon,.brand:hover .logo-mark,a.topic-row:hover .topic-chevron{transform:none!important}.step-enter,.confetti,.loading-mark .logo-mark,.btn[aria-busy=true]:before{animation:none!important}}@media (prefers-contrast:more){:root{--border:#1a244352;--border-strong:#1a24438c;--text-2:#2e3654;--text-3:#3c4462}}@media (forced-colors:active){.switch[aria-checked=true]{background:highlight}.option:not([data-mark]):has(input:checked){outline:3px solid highlight}}@media print{.sidebar,.topbar,.tabbar,.lesson-top,.q-actions,.continue-bar,.toaster,.confetti{display:none!important}}.error-wrap{place-items:center;min-height:100dvh;padding:32px 16px;display:grid}@media (max-width:440px){.topbar .xp-chip-level,.lesson-top .xp-chip-level,.lesson-top-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar,.lesson-top-inner{gap:4px}.lesson-top .xp-chip-combo{display:none}.lesson-top-count{color:var(--text-2);flex-direction:column;align-items:flex-start;margin-top:-6px;font-size:.875rem;line-height:1.05;display:flex}.lesson-top-count-word{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);font-size:.625rem;font-weight:800}.lesson-top .xp-chip{margin:0;padding-right:12px}}@media (max-width:374px){.topbar .wordmark,.lesson-top-chevron{display:none}}@media (max-width:359px){.lesson-top-xp{display:none}}.option-main{flex-direction:column;gap:6px;min-width:0;padding-top:2px;display:flex}.option-key svg{stroke-width:2.6px;width:18px;height:18px}.option-tag{letter-spacing:.01em;color:var(--surface);border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:.75rem;font-weight:800}.option-tag[data-mark=right]{background:var(--mint-ink)}.option-tag[data-mark=wrong]{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1.5px var(--text-3)}@media (pointer:coarse),(max-width:959px){.segmented button,.segmented a,.btn-sm,.crumbs a,.provenance,.cloze-input{min-height:44px}.segmented button,.segmented a{min-width:44px}.topbar .xp-chip,.lesson-top .xp-chip{height:44px;margin-block:0}.lesson-top-title{min-width:44px;min-height:44px;margin:0 -6px;padding:0 6px 10px}.lesson-menu>.meter{pointer-events:none;position:absolute;bottom:5px;left:0;right:0}.tap-inline{padding-block:13px}.cell-link{align-items:center;min-height:44px;display:inline-flex}.section-head a,.tap-pad{align-items:center;min-height:44px;margin-block:-10px;display:inline-flex}}@media (min-width:960px) and (max-height:900px) and (pointer:fine){.sidebar{gap:2px;padding-top:12px;padding-bottom:10px}.sidebar-brand{padding-bottom:4px}.nav-group{margin-top:6px}.nav-item{min-height:38px;padding-block:6px}.nav-label{padding-top:4px}.xp-card-foot{display:none}.xp-card{gap:8px;padding:10px 12px}}@media (pointer:coarse){.nav-desktop-only{display:none}}.callout-code{--c:var(--sub-9618);background:var(--surface);border:1.5px solid var(--border);border-left:6px solid var(--sub-9618)}.code-ws{gap:16px;min-width:0;display:grid}.code-ws-split{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.code-ws-editor,.code-ws-io{flex-direction:column;gap:8px;min-width:0;display:flex}.code-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.code-toolbar-spacer{flex:1}.code-symbols{gap:4px;display:inline-flex}.code-symbol{min-width:36px;font-family:var(--font-mono);font-size:1rem}.code-editor{border:1.5px solid var(--border-strong);border-radius:12px;min-height:180px}.code-ws-split .code-editor .cm-editor{min-height:420px}.code-editor .cm-editor{min-height:180px;max-height:560px}.code-hint{margin:0}.code-hint-toggle{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.code-label{margin:4px 0 0;font-size:.875rem;font-weight:750}.code-input{border:1.5px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);font-family:var(--font-mono);resize:vertical;border-radius:10px;padding:8px 10px;font-size:.9rem}.code-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.code-terminal{background:var(--surface-2);border:1.5px solid var(--border);min-height:120px;max-height:360px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:12px;margin:0;padding:12px 14px;font-size:.88rem;line-height:1.55;overflow:auto}.term-in{color:var(--cobalt-ink);font-weight:700}.term-in.no-prompt:before{content:"> "}.term-err{color:var(--bad)}.term-ask{white-space:pre;align-items:baseline;display:flex}.term-caret{color:var(--cobalt-ink);font-weight:700}.term-ask-input{border:0;border-bottom:2px solid var(--cobalt-ink);min-width:4ch;color:var(--cobalt-ink);font:inherit;background:0 0;border-radius:0;flex:1;margin:0;padding:0 2px;font-weight:700}.term-ask-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.term-done{color:var(--text-3);font-style:italic;display:block}.code-error{background:var(--bad-soft);color:var(--text);border:1.5px solid color-mix(in srgb, var(--bad) 35%, transparent);border-radius:12px;padding:10px 12px}.code-error-head{color:var(--bad);justify-content:space-between;align-items:center;gap:8px;display:flex}.code-error-msg{white-space:pre-wrap;font-family:var(--font-mono);margin:6px 0 0;font-size:.86rem}.code-tests{border:1.5px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 12px}.code-tests-pass{color:var(--good);margin:0 0 6px}.code-tests-fail{color:var(--bad);margin:0 0 6px}.code-test-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.code-test-mark{font-weight:750}.code-test-list .pass .code-test-mark{color:var(--good)}.code-test-list .fail .code-test-mark{color:var(--bad)}.code-test-detail{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.code-test-detail pre,.code-solution-pre,.code-static{background:var(--surface-2);font-family:var(--font-mono);white-space:pre-wrap;border-radius:10px;margin:2px 0 0;padding:8px 10px;font-size:.86rem;overflow-x:auto}.code-static{border:1.5px solid var(--border);white-space:pre;padding:12px 14px}.code-files{flex-direction:column;gap:8px;margin-top:8px;display:flex}.code-file-list,.code-file-new{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.code-file-new .code-input{flex:1;width:auto}.code-file-edit{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.code-files .btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}
@font-face{font-family:displayFont;src:url(../media/BricolageGrotesque_latin_opsz_wght-s.p.2ej1fmte5yjhi.woff2)format("woff2");font-display:swap;font-weight:200 800;font-style:normal}@font-face{font-family:displayFont Fallback;src:local(Arial);ascent-override:91.48%;descent-override:26.56%;line-gap-override:0.0%;size-adjust:101.66%}.i_OOra_className{font-family:displayFont,displayFont Fallback,system-ui,Segoe UI,Roboto,Arial,sans-serif}.i_OOra_variable{--font-display-face:"displayFont", "displayFont Fallback", system-ui, Segoe UI, Roboto, Arial, sans-serif}
@font-face{font-family:textFont;src:url(../media/Figtree_latin_wght-s.p.08sr_7r2rzxl4.woff2)format("woff2");font-display:swap;font-weight:300 900;font-style:normal}@font-face{font-family:textFont;src:url(../media/Figtree_latin_wght_italic-s.p.3kbk16fqsxi10.woff2)format("woff2");font-display:swap;font-weight:300 900;font-style:italic}@font-face{font-family:textFont Fallback;src:local(Arial);ascent-override:95.06%;descent-override:25.02%;line-gap-override:0.0%;size-adjust:99.94%}.sRd4NW_className{font-family:textFont,textFont Fallback,system-ui,Segoe UI,Roboto,Arial,sans-serif}.sRd4NW_variable{--font-text-face:"textFont", "textFont Fallback", system-ui, Segoe UI, Roboto, Arial, sans-serif}
