@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{--page-max:1280px;--page-gutter:32px;--bg:#fbfaf7;--bg-elev:#fff;--bg-sunk:#f3f1ec;--ink:#1d1b18;--ink-2:#4a463f;--ink-3:#7b766c;--line:#e4e0d7;--line-2:#d4cfc3;--accent:#4f46e5;--accent-ink:#fff;--accent-soft:#eef0ff;--good:#15803d;--good-soft:#e8f6ec;--bad:#b91c1c;--bad-soft:#fdecec;--warn:#a16207;--warn-soft:#fdf5e1;--violet:#7c3aed;--code-bg:#fff;--shadow:0 1px 2px #1410080d, 0 4px 16px #1410080f;--serif:"Source Serif 4", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--radius:10px;--c1:#4f46e5;--c2:#db2777;--c3:#059669;--c4:#d97706;--c5:#0891b2;--c6:#7c3aed}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14130f;--bg-elev:#1c1b17;--bg-sunk:#22211c;--ink:#ece9e1;--ink-2:#c4bfb3;--ink-3:#8f897d;--line:#2f2d27;--line-2:#3d3a33;--accent:#8b85ff;--accent-ink:#14130f;--accent-soft:#24234a;--good:#4ade80;--good-soft:#13291b;--bad:#f87171;--bad-soft:#3a1717;--warn:#fbbf24;--warn-soft:#33270c;--violet:#a78bfa;--code-bg:#1a1916;--shadow:0 1px 2px #0000004d, 0 4px 16px #0000004d;--c1:#8b85ff;--c2:#f472b6;--c3:#34d399;--c4:#fbbf24;--c5:#22d3ee;--c6:#c4b5fd}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}.spacer{flex:1}.chip{border:1px solid var(--line-2);background:var(--bg-elev);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12.5px;line-height:1.4;display:inline-flex;text-decoration:none!important}.chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.chip-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip-primary:hover:not(:disabled){color:var(--accent-ink);filter:brightness(1.08)}.chip-ghost{background:0 0;border-color:#0000}.icon-btn{color:var(--ink-3);background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:15px}.icon-btn:hover{background:var(--bg-sunk);color:var(--ink)}.link-btn{color:var(--accent);background:0 0;border:0;padding:4px 0;font-size:12.5px}.btn-primary,.btn-secondary,.btn-danger{font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:14px;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;text-decoration:none!important}.btn-primary svg,.btn-secondary svg,.btn-danger svg{flex:none;transition:transform .15s}.btn-primary:hover:not(:disabled) svg.arrow,.btn-secondary:hover:not(:disabled) svg.arrow{transform:translate(2px)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #1410081f}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.btn-secondary{border-color:var(--line-2);background:var(--bg-elev);color:var(--ink)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-danger{border-color:color-mix(in srgb, var(--bad) 45%, transparent);background:var(--bad-soft);color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad);border-color:var(--bad);color:#fff}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:default}.splash,.login{min-height:100vh;color:var(--ink-3);align-content:center;place-items:center;gap:8px;display:grid}.splash-mark,.login-mark{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);font-family:var(--serif);border-radius:14px;place-items:center;font-size:34px;display:grid}.splash-mark{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.login-card{background:var(--bg-elev);border:1px solid var(--line);width:min(420px,100vw - 32px);box-shadow:var(--shadow);text-align:center;border-radius:16px;justify-items:center;gap:10px;padding:36px 32px;display:grid}.login-card h1{font-family:var(--serif);color:var(--ink);margin:8px 0 0;font-size:30px}.login-sub{color:var(--ink-2);margin:0 0 14px;line-height:1.5}.btn-google{border:1px solid var(--line-2);background:var(--bg);color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:11px 20px;font-size:15px;font-weight:600;display:inline-flex}.btn-google:hover:not(:disabled){border-color:var(--accent)}.login-error{color:var(--bad);background:var(--bad-soft);border-radius:8px;margin:6px 0 0;padding:8px 12px;font-size:14px}.login-note{color:var(--ink-3);margin-top:10px;font-size:12.5px}.topbar{z-index:30;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:8px;height:52px;padding:0 22px;font-size:14px;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:8px;font-weight:700;display:inline-flex}.brand-mark{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);font-family:var(--serif);border-radius:7px;place-items:center;font-size:17px;display:grid}.ch-progress{color:var(--ink-3);gap:6px;margin:14px 0 4px;font-size:12.5px;display:grid}.ch-progress .bar{background:var(--bg-sunk);border-radius:99px;height:6px;overflow:hidden}.ch-progress .bar div{background:var(--accent);border-radius:99px;height:100%;transition:width .4s}.chapter{max-width:1080px;margin:0 auto;padding:44px 24px 96px}.chapter h1{font-family:var(--serif);margin:8px 0;font-size:46px;line-height:1.1}.ch-sub{font-family:var(--serif);color:var(--ink-2);max-width:760px;margin:0 0 8px;font-size:20px;line-height:1.5}.ch-meta{color:var(--ink-3);font-size:14px}.ch-grid{grid-template-columns:1fr 1.5fr;gap:48px;margin-top:32px;display:grid}.ch-grid h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:15px}.goals li,.prereq li{color:var(--ink-2);margin:8px 0;line-height:1.5}.ch-sections{margin:0;padding:0;list-style:none}.ch-sections>li{border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;margin-bottom:12px;padding:14px 16px}.ch-sections>li>a{color:var(--ink);grid-template-columns:44px 1fr auto;gap:8px;text-decoration:none;display:grid}.cs-num{font-family:var(--mono);color:var(--accent);font-weight:500}.cs-title{font-size:16px;font-weight:600;display:block}.cs-sum{color:var(--ink-3);margin-top:3px;font-size:13.5px;line-height:1.45;display:block}.cs-min{color:var(--ink-3);font-size:12px}.cs-ex{margin:8px 0 0;padding:0 0 0 52px;font-size:13px;list-style:none}.cs-ex li{padding:2px 0}.ex-unsolved{color:var(--ink-3)}.reader{grid-template-columns:minmax(0,1fr) 460px;min-height:calc(100vh - 52px);display:grid}.reader:has(.tutor-rail){grid-template-columns:minmax(0,1fr) 44px}.reader-main{min-width:0;padding:36px 40px 120px}.reader-main .prose{zoom:var(--reading-zoom,1)}.text-size{z-index:25;border:1px solid var(--line);background:var(--bg-elev);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:3px;display:flex;position:fixed;bottom:18px;right:54px;box-shadow:0 2px 10px #14142814}body:has(.reader .tutor:not(.tutor-rail)) .text-size{display:none}.text-size .icon-btn{width:30px;height:30px;color:var(--ink-2);border-radius:7px;place-items:center;padding:0;display:grid}.text-size .icon-btn:hover:not(:disabled){background:var(--bg-sunk);color:var(--ink)}.text-size .icon-btn:disabled{opacity:.35}@media (max-width:1100px){.reader-main{padding-right:64px}}.prose{max-width:760px;font-family:var(--serif);color:var(--ink);margin:0 auto;font-size:19px;line-height:1.68}.prose p{margin:0 0 1.05em}.prose h1{margin:8px 0 14px;font-size:42px;line-height:1.12}.prose h2{margin:2.2em 0 .6em;scroll-margin-top:70px;font-size:29px;line-height:1.25}.prose h3{margin:1.8em 0 .5em;scroll-margin-top:70px;font-size:22px}.prose ul,.prose ol{margin:0 0 1.05em;padding-left:1.3em}.prose li{margin:.3em 0}.prose code{font-family:var(--mono);background:var(--bg-sunk);border-radius:4px;padding:.1em .35em;font-size:.82em}.prose :not(pre)>code{overflow-wrap:anywhere}.prose strong{font-weight:700}.prose blockquote{border-left:3px solid var(--accent);color:var(--ink-2);margin:1.2em 0;padding:.2em 1.1em;font-style:italic}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose .katex-display{padding:6px 0;overflow:auto hidden}.prose .katex{font-size:1.04em}.table-wrap{margin:1.2em 0 1.4em;overflow-x:auto}.prose table{border-collapse:collapse;font-family:var(--sans);width:100%;font-size:14.5px;line-height:1.45}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.prose th{color:var(--ink-2);border-bottom:2px solid var(--line-2);font-weight:600}.sec-head{margin-bottom:28px}.sec-tools{font-family:var(--sans);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.sec-hint{color:var(--ink-3);font-size:12.5px}.py-badge{font-family:var(--sans);color:var(--ink-3);font-size:12px}.py-badge.ok{color:var(--good)}.py-badge.wait{color:var(--warn)}.py-badge.err{color:var(--bad)}.callout{font-family:var(--sans);border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--bg-elev);border-radius:8px;margin:1.4em 0;padding:12px 16px;font-size:15.5px;line-height:1.6}.callout p:last-child{margin-bottom:0}.callout-title{text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:13px;font-weight:700}.callout-intuition,.callout-key{border-left-color:var(--accent)}.callout-pitfall{border-left-color:var(--bad);background:var(--bad-soft)}.callout-interview{background:0 0;border:0;border-radius:0;margin-top:2em;padding:0}.callout-interview .callout-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:12px;font-weight:600}.callout-deeper{border-left-color:var(--c5)}.callout-history{border-left-color:var(--warn)}.callout-predict{border-left-color:var(--warn);background:var(--warn-soft)}.derivation{border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;margin:1.2em 0}.derivation summary{cursor:pointer;font-family:var(--sans);color:var(--ink-2);padding:10px 14px;font-size:14.5px;font-weight:600}.derivation-body{border-top:1px dashed var(--line);padding:0 18px 8px}.takeaways{border:1px solid var(--line);background:var(--accent-soft);font-family:var(--sans);border-radius:12px;margin:2em 0;padding:16px 20px;font-size:15.5px}.takeaways-title{margin-bottom:6px;font-weight:700}.takeaways ul{margin:0}.cell,.torch,.static-code{font-family:var(--sans);border:1px solid var(--line);border-radius:var(--radius);background:var(--code-bg);margin:1.3em 0;font-size:14px;line-height:1.5;overflow:hidden}.static-pre{font-family:var(--mono);background:var(--bg-sunk);border-radius:8px;padding:12px 14px;font-size:13.5px;overflow-x:auto}.cell-bar,.torch-bar{border-bottom:1px solid var(--line);background:var(--bg-sunk);align-items:center;gap:8px;padding:6px 8px;display:flex}.btn-run,.btn-check{background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:600}.btn-check{background:var(--good);color:#fff}.cell-label{color:var(--ink-3);font-size:12px}.cell-note{color:var(--warn);font-size:12px}.cell-ms{color:var(--ink-3);font-size:11.5px;font-family:var(--mono)}.cm-wrap{font-size:13.5px}.cm-wrap .cm-editor{background:0 0}.cm-wrap .cm-editor .cm-content,.cm-wrap .cm-editor .cm-gutters{font-family:var(--mono)}.cm-wrap .cm-gutters{background:0 0!important;border-right:0!important}.cm-wrap .cm-focused{outline:none!important}.torch{border-style:dashed}.torch-badge{color:var(--warn);font-size:12.5px;font-weight:600}.torch-note{color:var(--ink-3);font-size:11.5px}.out{border-top:1px solid var(--line);gap:6px;max-height:560px;padding:8px 12px;display:grid;overflow:auto}.out pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12.5px}.out-result{color:var(--ink-2)}.out-warn{color:var(--warn)}.out-error{color:var(--bad);background:var(--bad-soft);overflow-wrap:anywhere;font-family:var(--mono);white-space:pre-wrap;border-radius:6px;padding:8px 10px;font-size:12.5px}.out-img{background:#fff;border-radius:6px;max-width:100%}.ai-pad{border-top:1px solid var(--line);background:color-mix(in srgb, var(--accent-soft) 45%, var(--code-bg));gap:8px;padding:8px 10px;display:grid}.ai-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ai-label{color:var(--accent);margin-right:2px;font-size:12px;font-weight:700}.ai-thread{gap:8px;max-height:620px;padding-right:4px;display:grid;overflow:auto}.ai-user{background:var(--accent);color:var(--accent-ink);border-radius:12px 12px 2px;justify-self:end;max-width:85%;padding:6px 12px;font-size:13px}.ai-answer{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14px}.ai-answer.is-error,.t-bot.is-error{border-color:var(--bad);color:var(--bad)}.ai-input{gap:6px;display:flex}.ai-input input{border:1px solid var(--line-2);background:var(--bg-elev);color:var(--ink);font:inherit;border-radius:999px;flex:1;padding:6px 14px;font-size:13px}.ai-input input:focus{outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);border-color:var(--accent)}.typing{color:var(--ink-3);font-size:13px;animation:1.4s ease-in-out infinite pulse}.msg-tools{gap:6px;margin-top:8px;display:flex}.exercise{font-family:var(--sans);border:1.5px solid var(--line-2);background:var(--bg-elev);box-shadow:var(--shadow);border-radius:14px;margin:2em 0;padding:16px 18px 6px;scroll-margin-top:70px}.exercise.is-solved{border-color:color-mix(in srgb, var(--good) 55%, var(--line-2))}.ex-head{align-items:center;gap:10px;display:flex}.ex-level{background:var(--bg-sunk);white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:700}.ex-title{font-family:var(--sans);margin:0!important;font-size:17px!important}.ex-solved{color:var(--good);font-size:13px;font-weight:700}.ex-prompt{margin-top:8px;font-size:15.5px;line-height:1.6}.ex-prompt p{margin:.5em 0}.ex-cell{margin:12px 0 10px}.tests{border-top:1px solid var(--line);padding:8px 12px;font-size:13.5px}.tests-pass{background:var(--good-soft)}.tests-fail{background:var(--bad-soft)}.tests-sum{margin-bottom:4px;font-weight:700}.tests ul{margin:0;padding:0;list-style:none}.tests li{padding:2px 0}.tests li.ok span{color:var(--good)}.tests li.bad span{color:var(--bad)}.test-msg{font-family:var(--mono);color:var(--ink-2);white-space:pre-wrap;padding:2px 0 4px 18px;font-size:12px}.ex-extra{border-top:1px solid var(--line)}.ex-extra-label{color:var(--ink-3);background:var(--bg-sunk);align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.hint{border:1px dashed var(--line-2);border-radius:8px;margin:6px 0;padding:4px 12px;font-size:14.5px}.hint summary{cursor:pointer;color:var(--warn);font-size:13px;font-weight:600}.md{font-family:var(--sans);color:var(--ink);overflow-wrap:anywhere;font-size:14.5px;line-height:1.62}.md p{margin:0 0 .7em}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3{margin:1em 0 .4em;font-size:15.5px}.md ul,.md ol{margin:0 0 .7em;padding-left:1.3em}.md code{font-family:var(--mono);background:var(--bg-sunk);border-radius:4px;padding:.1em .3em;font-size:.86em}.md table{border-collapse:collapse;margin:.6em 0;font-size:13px}.md th,.md td{border:1px solid var(--line);padding:4px 8px}.md .katex-display{overflow:auto hidden}.md-code{border:1px solid var(--line);background:var(--code-bg);border-radius:8px;margin:.6em 0;overflow:hidden}.md-code-bar{background:var(--bg-sunk);color:var(--ink-3);align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;display:flex}.md-pre{font-family:var(--mono);margin:0;padding:10px 12px;font-size:12.5px;overflow-x:auto}.md-diagram{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);text-align:center;border-radius:8px;margin:.6em 0;padding:10px;overflow-x:auto}.md-diagram svg{max-width:100%;height:auto}.md-plot{margin:.6em 0}.md-plot img{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:100%}.md-plot-wait{color:var(--ink-3);border:1px dashed var(--line-2);text-align:center;border-radius:8px;padding:18px;font-size:13px;animation:1.4s ease-in-out infinite pulse}.tutor{border-left:1px solid var(--line);background:var(--bg-elev);height:calc(100vh - 52px);font-family:var(--sans);flex-direction:column;display:flex;position:sticky;top:52px}.tutor-head{border-bottom:1px solid var(--line);background:var(--bg-sunk);flex:none;align-items:center;gap:6px;height:52px;padding:0 10px 0 12px;display:flex}.tutor-title{font-weight:700}.tutor-head>div:first-child{flex:1;min-width:0}.tutor-sub{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11.5px;overflow:hidden}.tutor-body{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow:auto}.tutor-empty{color:var(--ink-2);font-size:14px;line-height:1.55}.t-user{background:var(--accent);max-width:88%;color:var(--accent-ink);border-radius:14px 14px 3px;align-self:flex-end;padding:8px 12px;font-size:14px;line-height:1.5}.t-attach{opacity:.85;border-left:2px solid;margin-bottom:6px;padding-left:8px;font-size:12px;font-style:italic}.t-bot{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:10px 14px}.tutor-compose{border:1px solid var(--line-2);background:var(--bg);border-radius:14px;margin:8px 12px 10px;transition:border-color .15s,box-shadow .15s}.tutor-compose:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tutor-compose textarea{width:100%;min-height:38px;max-height:140px;color:var(--ink);font:inherit;resize:none;background:0 0;border:0;outline:none;padding:10px 14px 4px;font-size:14px;line-height:1.45;display:block;overflow-y:auto}.compose-row{justify-content:space-between;align-items:center;padding:4px 7px 7px 10px;display:flex}.compose-tier{background:var(--bg-sunk);border-radius:8px;padding:2px;display:inline-flex}.compose-tier button{color:var(--ink-3);background:0 0;border:0;border-radius:6px;padding:2px 9px;font-size:12px;font-weight:500}.compose-tier button.on{background:var(--bg-elev);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.compose-btn{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border:0;border-radius:50%;place-items:center;display:grid}.compose-btn:disabled{background:var(--line-2);color:var(--bg-elev);opacity:1}.tutor-rail{border-left:1px solid var(--line);background:var(--bg-elev);height:calc(100vh - 52px);position:sticky;top:52px}.tutor-rail button{width:100%;color:var(--ink-2);background:0 0;border:0;flex-direction:column;align-items:center;gap:12px;padding:12px 0;display:flex}.tutor-rail button:hover{color:var(--accent)}.tutor-rail-label{writing-mode:vertical-rl;letter-spacing:.02em;font-size:13px;font-weight:600}.pins{font-family:var(--sans);margin:-14px 0 22px;position:relative}.pins-btn{border:1px solid var(--line-2);background:var(--bg-elev);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex}.pins-btn:hover,.pins-btn.on{border-color:var(--accent);color:var(--accent)}.pins-count{background:var(--accent-soft);min-width:18px;color:var(--accent);text-align:center;border-radius:999px;padding:0 6px;font-size:11.5px;font-weight:600}.pins-panel{z-index:35;border:1px solid var(--line);background:var(--bg-elev);width:min(520px,90vw);box-shadow:var(--shadow), 0 12px 32px #0000001f;border-radius:14px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.pins-search{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:0 0;outline:none;padding:11px 14px;font-size:14px}.pins-list{max-height:380px;margin:0;padding:6px;list-style:none;overflow-y:auto}.pins-list button{text-align:left;width:100%;font:inherit;background:0 0;border:0;border-radius:9px;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 10px;display:grid}.pins-list button:hover{background:var(--bg-sunk)}.pins-q{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.pins-date{color:var(--ink-3);grid-area:1/2;font-size:12px}.pins-prev{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:13px;overflow:hidden}.pins-empty{color:var(--ink-3);padding:12px;font-size:13.5px}.has-pin{position:relative}.pin-marker{opacity:.75;background:0 0;border:0;border-radius:8px;align-items:center;gap:2px;padding:2px 4px;font-size:14px;line-height:1;display:inline-flex;position:absolute;top:2px;left:-38px}.pin-marker span{font-family:var(--sans);color:var(--ink-3);font-size:10.5px}.pin-marker:hover{opacity:1;background:var(--bg-sunk)}.pin-flash{animation:1.8s pinflash}@keyframes pinflash{0%,60%{background:var(--accent-soft);box-shadow:0 0 0 8px var(--accent-soft)}to{box-shadow:none;background:0 0}}.pin-dialog-head{padding:26px 28px 8px}.pin-dialog-k{font-family:var(--sans);color:var(--ink-3);font-size:12px}.pin-dialog-head h3{font-family:var(--serif);margin:6px 40px 0 0;font-size:22px;line-height:1.3}.pin-dialog-body{max-height:55vh;padding:4px 28px 8px;overflow-y:auto}.pin-dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:12px 28px 22px;display:flex}.callout.callout-interview{background:color-mix(in srgb, var(--accent) 6%, var(--bg));border-radius:16px;padding:18px 18px 14px}.callout-interview .callout-title{color:var(--accent);margin:0 4px 12px;font-size:12px}.callout-interview .callout-body{counter-reset:qa;flex-direction:column;gap:8px;display:flex}.qa{counter-increment:qa;background:var(--bg-elev);border-radius:12px;transition:box-shadow .15s;box-shadow:0 1px 2px #1414280a}.qa:hover{box-shadow:0 2px 10px #14142812}.qa-q{cursor:pointer;color:var(--ink);padding:13px 44px 13px 52px;font-weight:500;line-height:1.5;list-style:none;display:block;position:relative}.qa-q::-webkit-details-marker{display:none}.qa-q:before{content:"Q" counter(qa);background:var(--accent-soft);min-width:26px;color:var(--accent);font-family:var(--mono);text-align:center;border-radius:6px;padding:1px 0;font-size:11.5px;font-weight:600;position:absolute;top:13px;left:14px}.qa-q:after{content:"";border-right:1.8px solid var(--ink-3);border-bottom:1.8px solid var(--ink-3);width:7px;height:7px;transition:transform .15s;position:absolute;top:19px;right:18px;transform:rotate(45deg)}.qa[open]>.qa-q:after{top:22px;transform:rotate(-135deg)}.qa>:not(summary){color:var(--ink-2);margin:0 18px 0 52px}.qa>:not(summary):last-child{padding-bottom:14px}.yt{font-family:var(--sans);margin:1.4em 0}.yt-frame{aspect-ratio:16/9;background:#000;border-radius:10px;position:relative;overflow:hidden}.yt-frame iframe,.yt-poster,.yt-poster img{border:0;width:100%;height:100%;position:absolute;inset:0}.yt-poster{background:#000;padding:0}.yt-poster img{object-fit:cover;opacity:.9}.yt-play{color:#fff;background:#dc0000eb;border-radius:12px;place-items:center;width:62px;height:44px;font-size:20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.yt figcaption{color:var(--ink-3);margin-top:6px;font-size:13px;line-height:1.45}.yt-title{color:var(--ink);font-weight:600}.yt-note{margin-top:2px;display:block}.yt-compact{margin:.6em 0}.video-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.widget{font-family:var(--sans);border:1px solid var(--line);background:var(--bg-elev);box-shadow:var(--shadow);border-radius:14px;margin:1.8em 0;padding:16px 18px;font-size:14px;line-height:1.5}.widget-q{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:2px;font-size:15px;font-weight:700;display:flex}.widget-sub{color:var(--ink-3);margin-bottom:12px;font-size:13px}.widget-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.widget label{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:inline-flex}.widget input[type=range]{accent-color:var(--accent)}.widget input[type=text],.widget textarea,.widget select{border:1px solid var(--line-2);background:var(--bg);color:var(--ink);font:inherit;border-radius:8px;padding:6px 10px;font-size:13px}.widget textarea{width:100%;font-family:var(--mono);font-size:12.5px}:where(.widget svg text){fill:var(--ink)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.stat{background:var(--bg-sunk);border-radius:8px;padding:8px 10px}.stat-k{color:var(--ink-3);font-size:11.5px}.stat-v{font-family:var(--mono);font-size:16px;font-weight:500}.widget-note{color:var(--ink-3);margin-top:8px;font-size:12.5px}.heat td{text-align:center;width:34px;height:30px;font-family:var(--mono);border:1px solid var(--bg-elev);font-size:11px}.sec-videos{margin-top:3em}.section-end{height:1px}.sec-pager{font-family:var(--sans);justify-content:space-between;gap:12px;margin-top:3em;display:flex}.pager{border:1px solid var(--line);color:var(--ink);border-radius:12px;gap:2px;max-width:48%;padding:12px 16px;font-size:15px;font-weight:600;display:grid;text-decoration:none!important}.pager span{color:var(--ink-3);font-size:12px;font-weight:500}.pager.next{text-align:right;margin-left:auto}.pager:hover{border-color:var(--accent)}.screen-gate{display:none}@media (max-width:699px),(pointer:coarse) and (max-height:599px){.screen-gate{z-index:1000;text-align:center;background:var(--bg);font-family:var(--sans);align-content:center;place-items:center;gap:6px;padding:32px;display:grid;position:fixed;inset:0}.screen-gate h1{color:var(--ink);margin:10px 0 0;font-size:21px}.screen-gate p{max-width:300px;color:var(--ink-3);margin:0;font-size:15px}.app-root{display:none}}.cm-wrap .cm-content,.out pre,.md-pre,.static-pre,.prose code,.md code{font-variant-ligatures:none}.shell{--nav-w:272px;flex-direction:column;min-height:100vh;display:flex}.shell-body{grid-template-columns:var(--nav-w) minmax(0, 1fr);transition:grid-template-columns .2s;display:grid}.shell.nav-collapsed .shell-body{grid-template-columns:40px minmax(0,1fr)}.shell-body.no-nav,.shell.nav-collapsed .shell-body.no-nav{grid-template-columns:minmax(0,1fr)}.shell-body{flex:1 0 auto}.shell-content{min-width:0}.topbar .icon-btn{width:34px;height:34px;color:var(--ink-2);border-radius:8px;place-items:center;display:grid}.topbar .icon-btn:hover{background:var(--bg-sunk);color:var(--ink)}.brand:hover{text-decoration:none}.brand-name{letter-spacing:-.01em;font-size:15px}.crumbs{min-width:0;color:var(--ink-3);white-space:nowrap;align-items:center;font-size:13.5px;display:flex}.crumbs a{color:var(--ink-2);flex-shrink:0}.crumb-sep{color:var(--line-2);margin:0 8px}.crumb-cur{text-overflow:ellipsis;overflow:hidden}.search-btn{border:1px solid var(--line);background:var(--bg-elev);min-width:200px;height:34px;color:var(--ink-3);border-radius:9px;align-items:center;gap:8px;padding:0 8px 0 11px;font-size:13.5px;display:inline-flex}.search-btn:hover{border-color:var(--line-2);color:var(--ink-2)}.search-label{text-align:left;flex:1}.search-btn kbd{font-family:var(--sans);border:1px solid var(--line);background:var(--bg-sunk);color:var(--ink-3);border-radius:5px;padding:2px 6px;font-size:11px}.sidenav{border-right:1px solid var(--line);background:var(--bg);height:calc(100vh - 52px);font-size:14px;position:sticky;top:52px;overflow:hidden}.sidenav-slot{min-width:0;overflow:clip}.sidenav{width:var(--nav-w);transition:transform .22s,opacity .18s}.shell.nav-collapsed .sidenav{opacity:0;pointer-events:none;visibility:hidden;transition:transform .22s,opacity .18s,visibility 0s linear .22s;transform:translate(-40px)}.sn-track{width:200%;height:100%;transition:transform .24s;display:flex}.sn-track.deep{transform:translate(-50%)}.sn-pane{width:50%;height:100%;padding:14px 12px 32px;overflow-y:auto}.sn-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:18px 10px 6px;font-size:11.5px;font-weight:600}.sn-list{margin:0;padding:0;list-style:none}.sn-row{width:100%;color:var(--ink-2);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:10px;padding:7px 10px;line-height:1.35;display:flex;text-decoration:none!important}.sn-row:hover{background:var(--bg-sunk);color:var(--ink)}.sn-row.on{background:var(--accent-soft);color:var(--ink);font-weight:600}.sn-home{font-weight:500}.sn-chapter{align-items:center}.sn-num{min-width:26px;font-family:var(--mono);color:var(--ink-3);flex:none;padding-top:1px;font-size:12px;font-weight:400}.sn-num.done{color:var(--good)}.sn-title{flex:1;min-width:0}.sn-ex{font-family:var(--mono);color:var(--ink-3);flex:none;padding-top:2px;font-size:11px;font-weight:400}.sn-ex.done{color:var(--good)}.sn-chev{color:var(--ink-3);font-size:18px;line-height:1}.ring{flex:none}.ring-bg{fill:none;stroke:var(--line);stroke-width:2.5px}.ring-fg{fill:none;stroke:var(--good);stroke-width:2.5px;stroke-linecap:round}.sn-back{color:var(--ink-3);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.sn-back span{font-size:18px;line-height:1}.sn-back:hover{background:var(--bg-sunk);color:var(--ink)}.sn-chhead{border-radius:8px;gap:2px;margin:8px 0 10px;padding:8px 10px;display:flex;flex-direction:column!important;text-decoration:none!important}.sn-chhead:hover,.sn-chhead.on{background:var(--bg-sunk)}.sn-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:11.5px;font-weight:600}.sn-chtitle{font-family:var(--serif);color:var(--ink);font-size:19px;font-weight:600}.sn-outline{border-left:1px solid var(--line);margin:2px 0 8px 22px;padding:0 0 0 12px;font-size:13px;list-style:none}.sn-outline a{color:var(--ink-3);border-radius:6px;padding:4px 8px;line-height:1.35;display:block;text-decoration:none!important}.sn-outline a:hover{color:var(--ink)}.sn-outline li.on a{color:var(--accent);font-weight:600}.drawer-backdrop{display:none}.acct{position:relative}.acct-btn{background:0 0;border:0;border-radius:50%;place-items:center;padding:2px;display:grid}.acct-btn:hover .avatar,.acct-btn[aria-expanded=true] .avatar{box-shadow:0 0 0 2px var(--accent-soft), 0 0 0 3px var(--accent)}.avatar{object-fit:cover;border-radius:50%;display:block}.avatar-initial{background:var(--accent);color:var(--accent-ink);place-items:center;font-weight:700;display:grid}.acct-menu{z-index:60;border:1px solid var(--line);background:var(--bg-elev);width:290px;box-shadow:var(--shadow), 0 12px 32px #0000001f;border-radius:12px;padding:6px;font-size:14px;position:absolute;top:calc(100% + 8px);right:0}.acct-head{align-items:center;gap:11px;padding:10px 10px 8px;display:flex}.acct-who{min-width:0}.acct-name{color:var(--ink);font-weight:600}.acct-email{color:var(--ink-3);text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.acct-sep{background:var(--line);height:1px;margin:4px 0}.acct-item{width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex;text-decoration:none!important}.acct-item:hover{background:var(--bg-sunk);color:var(--ink)}.seg{background:var(--bg-sunk);border-radius:8px;padding:2px;display:inline-flex}.seg button{color:var(--ink-3);background:0 0;border:0;border-radius:6px;padding:4px 9px;font-size:12.5px}.seg button.on{background:var(--bg-elev);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.search-overlay{z-index:100;background:color-mix(in srgb, var(--ink) 30%, transparent);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.search-box{border:1px solid var(--line);background:var(--bg-elev);border-radius:14px;flex-direction:column;width:min(640px,100%);max-height:72vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000040}.search-input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:0 0;outline:none;padding:16px 18px;font-size:16px}.search-results{margin:0;padding:6px;list-style:none;overflow-y:auto}.search-results li{cursor:pointer;border-radius:9px;padding:10px 12px}.search-results li.on{background:var(--accent-soft)}.sr-where{color:var(--ink-3);font-size:12px}.sr-head{color:var(--ink);font-weight:600}.sr-snip{color:var(--ink-2);margin-top:2px;font-size:13.5px;line-height:1.45}.search-results mark{background:color-mix(in srgb, var(--warn) 25%, transparent);color:inherit;border-radius:3px}.sr-empty{color:var(--ink-3);cursor:default!important}.ch-kicker,.sec-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:12px;font-weight:600}.home{width:100%;max-width:var(--page-max);padding:64px var(--page-gutter) 56px;margin:0 auto}.home-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;display:grid}.home-hero h1{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(44px,5.4vw,72px);font-weight:700;line-height:1.02}.home-hero .accent{color:var(--accent)}.home-lede{max-width:560px;font-family:var(--serif);color:var(--ink-2);margin:22px 0 0;font-size:21px;line-height:1.55}.home-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.home-actions .btn-primary{padding:12px 20px;font-size:15px}.home-stats{color:var(--ink-3);margin:18px 0 0;font-size:13.5px}.home-visual{border:1px solid var(--line);background:radial-gradient(circle at 1px 1px, var(--line) 1px, transparent 0) 0 0 / 22px 22px, var(--bg-elev);border-radius:18px;padding:8px;position:relative}.hero-map{width:100%;height:auto;font-family:var(--sans);display:block}.hm-pt{cursor:default;transition:opacity .2s}.hm-pt text{fill:var(--ink-2);font-size:13px}.hm-pt.on text{fill:var(--ink);font-weight:600}.hm-pt.dim{opacity:.25}.hm-line{stroke:var(--ink-3);stroke-width:1.2px;stroke-dasharray:3 3}.home-visual-cap{color:var(--ink-3);margin:0;padding:2px 10px 6px;font-size:12.5px}.home-path{margin-top:80px}.path-intro h2{font-family:var(--serif);margin:0;font-size:32px}.path-intro p{color:var(--ink-3);margin:6px 0 0}.parts-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:24px 0 0;padding:0;list-style:none;display:grid}.part-tile{border:1px solid var(--line);background:var(--bg-elev);border-radius:14px;padding:16px 18px 18px}.part-tile:not(.live){background:0 0}.part-tile.live{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:0 0 0 3px var(--accent-soft)}.part-num{font-family:var(--serif);color:var(--line-2);font-size:22px;font-weight:700}.part-tile.live .part-num{color:var(--accent)}.part-title{color:var(--ink);margin-top:4px;font-weight:600}.part-tile:not(.live) .part-title{color:var(--ink-2)}.part-topics{color:var(--ink-3);margin-top:4px;font-size:13.5px;line-height:1.45}.part-links{flex-direction:column;gap:4px;margin-top:12px;font-size:14px;font-weight:600;display:flex}.account{max-width:860px;margin:0 auto;padding:48px 40px 96px}.account h1{font-family:var(--serif);margin:0 0 6px;font-size:38px}.account h2{font-family:var(--serif);margin:44px 0 14px;font-size:24px}.account-sub{color:var(--ink-3);margin:0}.account-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);padding:16px 18px}.account-card+.account-card{margin-top:12px}.account-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.account-card .ch-progress{margin-top:10px}.account-empty{color:var(--ink-3)}.pin-where{color:var(--ink-3);font-size:12.5px}@media (max-width:1279px){.shell:has(.tutor) .shell-body{grid-template-columns:minmax(0,1fr)}.shell:has(.tutor) .sidenav-slot{display:contents}.shell.nav-collapsed:has(.tutor) .sidenav{opacity:1;visibility:visible;pointer-events:auto}.shell:has(.tutor) .sidenav{height:auto;width:var(--nav-w);z-index:45;box-shadow:var(--shadow);transition:transform .22s;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%)}.shell.drawer-open:has(.tutor) .sidenav{transform:none}.shell.drawer-open.nav-collapsed:has(.tutor) .sidenav{transform:none}.shell.nav-collapsed:has(.tutor) .shell-body:not(.no-nav){grid-template-columns:40px minmax(0,1fr)}.shell.drawer-open:has(.tutor) .drawer-backdrop{z-index:44;background:color-mix(in srgb, var(--ink) 25%, transparent);display:block;position:fixed;inset:52px 0 0}}@media (min-width:1280px) and (max-width:1439px){.reader:has(.tutor){grid-template-columns:minmax(0,1fr) 400px}}@media (max-width:1279px){.reader:has(.tutor){grid-template-columns:minmax(0,1fr)}.tutor{z-index:40;height:auto;position:fixed;inset:52px 0 0 40px}.shell-body.no-nav .tutor{left:0}}@media (max-width:1100px){.home-hero{gap:clamp(18px,3vw,40px)}.home-lede{font-size:clamp(16px,1.9vw,21px)}}@media (max-width:640px){.home-hero{grid-template-columns:1fr;min-height:0}.home-visual{max-width:560px}}@media (max-width:960px){.shell-body,.shell.nav-collapsed .shell-body{grid-template-columns:minmax(0,1fr)}.sidenav-slot{display:contents}.shell.nav-collapsed .sidenav{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-100%)}.sidenav{height:auto;width:var(--nav-w);z-index:45;box-shadow:var(--shadow);transition:transform .22s;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%)}.shell.drawer-open .sidenav,.shell.drawer-open.nav-collapsed .sidenav{transform:none}.shell.drawer-open .drawer-backdrop{z-index:44;background:color-mix(in srgb, var(--ink) 25%, transparent);display:block;position:fixed;inset:52px 0 0}.reader{grid-template-columns:minmax(0,1fr)}.tutor-rail{z-index:40;width:40px;height:auto;position:fixed;top:52px;bottom:0;right:0}.reader-main{padding:24px 52px 100px 20px}.ch-grid{grid-template-columns:1fr}.prose{font-size:17.5px}.home,.account,.chapter{padding:40px var(--page-gutter) 80px}.search-btn{min-width:0}.search-label,.search-btn kbd{display:none}.crumbs a{text-overflow:ellipsis;flex-shrink:1;overflow:hidden}}@media (max-width:760px){.brand-name{display:none}.home-lede{font-size:19px}:root{--page-gutter:20px}}@media (max-height:500px){.home{padding-top:32px}}.btn-signin{background:var(--accent);height:34px;color:var(--accent-ink);border:0;border-radius:9px;padding:0 16px;font-size:14px;font-weight:600}.gate-overlay{z-index:120;background:color-mix(in srgb, var(--ink) 35%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.gate-box{background:var(--bg-elev);border-radius:18px;width:min(420px,100%);max-height:calc(100vh - 32px);position:relative;overflow-y:auto;box-shadow:0 24px 64px #00000038}.gate-box.wide{width:min(760px,100%)}.gate-close{z-index:1;position:absolute;top:12px;right:12px}.gate-card,.signin-card{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:36px 32px 30px;display:flex}.gate-card h2,.signin-card h2{font-family:var(--serif);margin:0;font-size:26px;line-height:1.2}.signin-mark{background:var(--accent);width:48px;height:48px;color:var(--accent-ink);font-family:var(--serif);border-radius:13px;place-items:center;font-size:28px;display:grid}.signin-sub{max-width:460px;color:var(--ink-3);margin:0;font-size:14.5px;line-height:1.5}.signin-card .btn-google{margin-top:6px}.signin-actions{flex-wrap:nowrap;justify-content:center;gap:8px;display:flex}.signin-error{color:var(--bad);margin:0;font-size:13.5px}.plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.plan-card{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);font:inherit;text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 18px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.plan-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:translateY(-1px)}.plan-card.featured{border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}.plan-card.current{border-color:var(--good);opacity:1}.plan-name{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:600}.plan-price{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1.1}.plan-price small{font-family:var(--sans);color:var(--ink-3);margin-left:2px;font-size:13px;font-weight:500}.plan-credits{font-size:14px;font-weight:600}.plan-blurb{color:var(--ink-3);font-size:13px}.or{width:100%;color:var(--ink-3);align-items:center;gap:12px;font-size:12.5px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.handoff{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.credits-line{color:var(--ink-3);text-align:right;padding:0 14px 10px;font-size:11.5px}.contact-form input,.contact-form textarea,.danger-confirm input{border:1px solid var(--line-2);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:9px;padding:10px 12px;font-size:15px}.contact-form textarea{resize:vertical}.hp{width:1px;height:1px;position:absolute;left:-9999px}.account-signin{place-items:center;min-height:60vh;display:grid}.account-signin .signin-card{border:1px solid var(--line);background:var(--bg-elev);border-radius:18px;width:min(420px,100%)}.account-note{background:var(--good-soft);color:var(--good);border-radius:10px;margin-bottom:20px;padding:12px 16px;font-weight:600}.plan-banner{flex-direction:column;gap:14px;margin-bottom:16px;display:flex}.plan-banner .btn-primary{align-self:flex-start}.plan-banner-name{font-family:var(--serif);font-size:22px;font-weight:700}.plan-banner.inner{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--bg-elev) 70%)}.plan-banner.inner .plan-banner-name{color:var(--accent)}.credit-stats{color:var(--ink-2);gap:28px;font-size:14px;display:flex}.credit-stats b{color:var(--ink);margin-right:4px;font-size:22px}.upgrade-head{color:var(--ink-2);margin:22px 0 10px;font-weight:600}.payments{border-collapse:collapse;width:100%;color:var(--ink-2);margin-top:18px;font-size:13.5px}.payments td{border-top:1px solid var(--line);padding:8px 4px}.payments td:last-child{text-align:right}.danger-zone{border-top:1px solid var(--line);margin-top:56px;padding-top:8px}.danger-zone .account-sub{margin-bottom:14px}.action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.danger-mark.soft{background:var(--accent-soft);color:var(--accent)}.danger-confirm{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.danger-confirm label{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13.5px;display:flex}@media (max-width:760px){.plans{grid-template-columns:1fr}}.login-panel{border:1px solid var(--line);background:var(--bg-elev);width:min(420px,100% - 32px);box-shadow:var(--shadow);border-radius:18px}.danger-mark{background:var(--bad-soft);width:48px;height:48px;color:var(--bad);border-radius:50%;place-items:center;display:grid}.danger-input{border:1px solid var(--line-2);background:var(--bg);width:100%;color:var(--ink);font:inherit;text-align:center;border-radius:10px;padding:11px 14px;font-size:15px}.danger-input:focus{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-soft);outline:none}.danger-actions{justify-content:center;gap:10px;display:flex}.legal{max-width:720px;margin:0 auto;padding:48px 40px 96px}.legal h1{margin-bottom:4px;font-size:40px}.legal-date{color:var(--ink-3);font-family:var(--sans);font-size:14px}.site-footer{border-top:1px solid var(--line);font-family:var(--sans);color:var(--ink-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;padding:14px 24px 18px;font-size:13px;display:flex}.site-footer a,.site-footer button{color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border:0}.site-footer a:hover,.site-footer button:hover{color:var(--accent);text-decoration:none}.t-where{opacity:.75;margin-bottom:4px;font-size:11px}.chat-hist{position:relative}.chat-hist-menu{z-index:50;border:1px solid var(--line);background:var(--bg-elev);width:300px;box-shadow:var(--shadow), 0 12px 32px #0000001f;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.chat-hist-k{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding:6px 8px 4px;font-size:11.5px;font-weight:600}.md-sources{border-top:1px solid var(--line);font-family:var(--sans);margin-top:14px;padding-top:10px;font-size:12.5px}.md-sources-head{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:11.5px;font-weight:600}.chat-hist-menu ol{max-height:340px;margin:0;padding:0;list-style:none;overflow-y:auto}.chat-hist-menu li{border-radius:8px;align-items:center;display:flex}.chat-hist-menu li:hover,.chat-hist-menu li.on{background:var(--bg-sunk)}.chat-hist-open{text-align:left;min-width:0;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:7px 8px;display:flex}.chat-hist-t{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--ink);font-size:13.5px;overflow:hidden}.chat-hist-d{color:var(--ink-3);font-size:11.5px}.chat-hist-del{color:var(--ink-3);opacity:0;background:0 0;border:0;border-radius:6px;flex:none;margin-right:4px;padding:4px 6px;font-size:12px}.chat-hist-menu li:hover .chat-hist-del{opacity:1}.chat-hist-del:hover{color:var(--bad)}.md-sources ol{color:var(--ink-2);margin:0;padding-left:18px}.md-sources li{margin:2px 0}.md-sources-page{color:var(--ink-3)}.md-sources-kind{background:var(--bg-sunk);color:var(--ink-3);border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.md-sources-kind.k-book{background:var(--accent-soft);color:var(--accent)}.sn-ico{background:var(--bg-sunk);width:26px;height:26px;color:var(--ink-2);border-radius:7px;flex:none;place-items:center;margin:-3px 0;display:inline-grid}.sn-row.on .sn-ico,.sn-row:hover .sn-ico{background:var(--bg-elev);color:var(--accent)}.sn-top{align-items:center;font-weight:500}.sn-chhead:hover{background:0 0}.ex-timer{align-items:center;gap:4px;display:inline-flex;position:relative}.ex-timer .chip svg,.ex-timer-read svg{vertical-align:-2px}.ex-timer.on{border:1px solid var(--line);background:var(--bg-elev);font-family:var(--mono);color:var(--ink-2);border-radius:999px;padding:2px 4px 2px 10px;font-size:12.5px}.ex-timer.low{border-color:var(--warn,#c77700);color:var(--warn,#c77700)}.ex-timer.expired{color:var(--ink-3)}.ex-timer-read{align-items:center;gap:5px;min-width:58px;display:inline-flex}.ex-timer-menu{z-index:20;border:1px solid var(--line);background:var(--bg-elev);box-shadow:var(--shadow);white-space:nowrap;border-radius:10px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.icon-chip{width:24px;height:24px;color:var(--ink-3);background:0 0;border:0;border-radius:999px;place-items:center;display:inline-grid}.icon-chip:hover{background:var(--bg-sunk);color:var(--ink)}.ex-lock-note{background:var(--accent-soft);color:var(--ink-2);border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:13.5px}.exercise.ex-locked .hint{display:none}[hidden]{display:none!important}.practice{max-width:var(--page-max);padding:44px var(--page-gutter) 96px;margin:0 auto}.practice h1{font-family:var(--serif);margin:0 0 6px;font-size:38px}.practice h2{font-family:var(--serif)}.practice-sub{color:var(--ink-3);margin:0 0 22px}.practice-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:22px;display:flex}.practice-tabs button{color:var(--ink-3);font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-weight:500}.practice-tabs button:hover{color:var(--ink)}.practice-tabs button.on{border-bottom-color:var(--accent);color:var(--ink);font-weight:600}.practice-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.practice-search,.practice-select{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);font:inherit;border-radius:8px;padding:7px 11px;font-size:14px}.practice-search{min-width:220px}.practice-count{color:var(--ink-3);margin:4px 0 10px;font-size:13px}.problem-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);margin:0;padding:0;list-style:none}.problem-row{color:var(--ink);align-items:flex-start;gap:12px;padding:12px 16px;display:flex;text-decoration:none!important}.problem-row:hover{background:var(--bg-sunk)}.problem-check{color:var(--good);flex:0 0 18px;font-weight:700}.problem-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.problem-title{font-weight:600}.problem-id{font-family:var(--mono);color:var(--ink-3);margin-right:4px;font-size:12.5px;font-weight:400}.problem-blurb{-webkit-line-clamp:2;color:var(--ink-3);-webkit-box-orient:vertical;font-size:13.5px;display:-webkit-box;overflow:hidden}.problem-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.problem-time{font-family:var(--mono);color:var(--ink-3);font-size:12px}.problem-from{color:var(--ink-3);font-size:15px}.mock-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}.mock-note{color:var(--ink-3);font-size:14px}.mock-field{align-items:center;gap:14px;margin-bottom:12px;display:flex}.mock-field .mock-label{width:60px;margin:0}.mock-clock{z-index:5;border:1px solid var(--line);background:var(--bg-elev);width:fit-content;box-shadow:var(--shadow);font-family:var(--mono);border-radius:999px;align-items:center;gap:12px;margin:8px 0 18px;padding:8px 10px 8px 14px;display:flex;position:sticky;top:60px}.mock-clock.low{border-color:var(--warn,#c77700);color:var(--warn,#c77700)}.mock-part{margin-top:30px}.mock-q+.mock-q{margin-top:14px}.flash{padding:20px 22px}.flash-where{color:var(--ink-3);margin-bottom:8px;font-size:13px}.flash-q{font-family:var(--serif);font-size:19px}.flash-answer{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;margin:12px 0 10px;padding:10px 12px;font-size:15px}.flash-actions,.flash-rate{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.flash-rate{margin-top:16px}.flash-rate .mock-label{margin:0 6px 0 0}.flash-rate button{flex-direction:column;align-items:center;line-height:1.2;display:inline-flex}.flash-when{opacity:.8;font-size:11px;font-weight:400}.flash-a,.flash-yours,.flash-feedback{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.card-done{color:var(--ink-3)}.tracks .track+.track{margin-top:16px}.track h2{margin:0;font-size:22px}.track-pct{color:var(--ink-3);font-size:13px}.track-who{margin:6px 0}.track-loop{color:var(--ink-2);margin:0 0 10px;font-size:14px}.track-loop .mock-label{margin-right:6px;display:inline}.track-steps{margin:0;padding:0;list-style:none}.track-steps a{color:var(--ink);border-radius:8px;align-items:flex-start;gap:10px;padding:8px 6px;display:flex;text-decoration:none!important}.track-steps a:hover{background:var(--bg-sunk)}.track-steps a>span:nth-child(2){flex-direction:column;flex:1;display:flex}.track-ch{font-weight:600}.track-focus{color:var(--ink-3);font-size:13.5px}.track-ex{font-family:var(--mono);color:var(--ink-3);font-size:12px}.practice-locked .signin-card{margin:30px 0}.nb-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.nb-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}@media (max-width:1100px){.nb-grid{grid-template-columns:minmax(0,1fr)}}.nb-main{flex-direction:column;gap:12px;display:flex}.nb-in{font-family:var(--mono);color:var(--ink-3);margin-right:4px;font-size:12px}.nb-msg{border-radius:12px;padding:10px 14px;font-size:15px}.nb-msg.user{background:var(--accent-soft);align-self:flex-end;max-width:80%}.nb-msg.user p{white-space:pre-wrap;margin:0}.nb-msg.assistant{background:var(--bg-elev);border:1px solid var(--line)}.nb-diff{border-bottom:1px solid var(--line);background:var(--bg-sunk);font-family:var(--mono);margin:0;padding:8px 12px;font-size:12.5px;overflow-x:auto}.nb-diff .add{color:var(--good)}.nb-diff .del{color:var(--bad);text-decoration:line-through}.nb-add{align-self:flex-start}.nb-compose{border:1px solid var(--line);background:var(--bg-elev);box-shadow:var(--shadow);border-radius:14px;align-items:flex-end;gap:8px;padding:8px;display:flex;position:sticky;bottom:12px}.nb-compose textarea{color:var(--ink);font:inherit;resize:none;background:0 0;border:0;outline:none;flex:1;font-size:15px}.nb-book{flex-direction:column;gap:10px;display:flex;position:sticky;top:70px}.nb-book .practice-search{width:100%;min-width:0}.nb-hits{flex-direction:column;gap:6px;display:flex}.nb-hit{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);border-radius:10px;flex-direction:column;gap:2px;padding:9px 11px;font-size:13.5px;display:flex;text-decoration:none!important}.nb-hit:hover{border-color:var(--accent)}.nb-hit-where{color:var(--accent);font-size:12px}.nb-hit-head{font-weight:600}.nb-hit-snip{color:var(--ink-3)}.nb-hint{background:var(--bg-sunk);border-radius:8px;padding:8px 12px;font-size:14px}.model-pick{position:relative}.model-btn{color:var(--ink-2);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:5px 8px;font-size:13px;font-weight:500;display:inline-flex}.model-btn:hover,.model-btn[aria-expanded=true]{background:var(--bg-sunk);color:var(--ink)}.model-caret{color:var(--ink-3)}.model-menu{z-index:140;border:1px solid var(--line);background:var(--bg-elev);border-radius:14px;width:280px;padding:6px;box-shadow:0 12px 32px #14142824}.model-menu.up{top:auto;bottom:calc(100% + 6px)}.model-menu.align-right{left:auto;right:0}.model-menu button{width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:1fr 18px;gap:1px 8px;padding:8px 10px;display:grid}.model-menu button:hover{background:var(--bg-sunk)}.model-name{font-size:14px;font-weight:500}.model-note{color:var(--ink-3);grid-column:1;font-size:12px}.model-check{color:var(--accent);grid-area:1/2/span 2;align-self:center;font-weight:700}.msg-model{color:var(--ink-3);margin-right:auto;font-size:12px}.home-list{margin-top:72px}.home-list h2{font-family:var(--serif);margin:0 0 18px;font-size:28px}.home-chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:900px){.home-chapters{grid-template-columns:minmax(0,1fr)}}.home-chapters .hc-tile{background:var(--bg-elev);height:100%;color:var(--ink);border-radius:16px;grid-template-columns:52px minmax(0,1fr);gap:4px 14px;padding:20px 22px 18px;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 1px 2px #1414280a,0 4px 14px #1414280a;text-decoration:none!important}.home-chapters a.hc-tile:hover{transform:translateY(-2px);box-shadow:0 2px 4px #1414280d,0 12px 28px #14142814}.hc-num{font-family:var(--serif);color:color-mix(in srgb, var(--accent) 55%, var(--bg-elev));grid-row:span 3;font-size:34px;font-weight:700;line-height:1}.home-chapters a.hc-tile:hover .hc-num{color:var(--accent)}.hc-main{flex-direction:column;gap:5px;display:flex}.hc-title{font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;font-size:19px;font-weight:600;line-height:1.25;overflow:hidden}.hc-sub{-webkit-line-clamp:2;color:var(--ink-3);-webkit-box-orient:vertical;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.hc-meta{color:var(--ink-3);margin-top:8px;font-size:12.5px}.hc-bar{background:var(--bg-sunk);border-radius:999px;height:4px;margin-top:8px;display:block;overflow:hidden}.hc-bar>span{background:var(--good);border-radius:999px;height:100%;display:block}.topbar-center{align-items:center;gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.top-tabs{align-items:center;gap:2px;display:flex}.top-tabs a{color:var(--ink-2);border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:5px 11px;font-weight:500;display:inline-flex;text-decoration:none!important}.top-tabs a svg{color:var(--accent)}.top-tabs a:hover{border-color:var(--line);background:var(--bg-sunk);color:var(--ink)}.top-tabs a.on{border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:var(--accent-soft);color:var(--ink);font-weight:600}@media (max-width:760px){.brand-name{display:none}.top-tabs{margin-left:6px}}.nav-rail{border-right:1px solid var(--line);background:var(--bg-elev);height:calc(100vh - 52px);display:none;position:sticky;top:52px}.nav-rail button{width:100%;color:var(--ink-2);background:0 0;border:0;flex-direction:column;align-items:center;gap:12px;padding:12px 0;display:flex}.nav-rail button:hover{color:var(--accent)}.nav-rail .tutor-rail-label{transform:rotate(180deg)}.shell.nav-collapsed .nav-rail{display:block}.shell.nav-collapsed .sidenav-slot{display:none}.sn-collapse{z-index:2;width:32px;height:32px;color:var(--ink-3);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.sn-collapse:hover{background:var(--bg-sunk);color:var(--ink)}@media (max-width:960px){.shell-body:not(.no-nav),.shell.nav-collapsed .shell-body:not(.no-nav){grid-template-columns:40px minmax(0,1fr)}.shell:has(.tutor) .shell-body:not(.no-nav){grid-template-columns:40px minmax(0,1fr)}.nav-rail,.shell.nav-collapsed .nav-rail{display:block}.shell.nav-collapsed .sidenav-slot{display:contents}}.home-features{border:1px solid var(--line);background:var(--bg-elev);border-radius:18px;margin:72px 0 0;padding:0;list-style:none;overflow:hidden}.home-features li+li{border-top:1px solid var(--line)}.home-features .hf-link{color:inherit;grid-template-columns:20px 200px minmax(0,1fr) 20px;align-items:center;gap:16px;padding:22px 28px;text-decoration:none;display:grid}.hf-ico{color:var(--accent);display:inline-flex}.hf-title{font-family:var(--serif);font-size:20px;font-weight:600}.hf-text{color:var(--ink-2);font-size:15px;line-height:1.5}.hf-go{color:var(--ink-3);display:inline-flex}.home-features .hf-link:hover .hf-go,.home-features .hf-link:hover .hf-title{color:var(--accent)}@media (max-width:760px){.home-features .hf-link{grid-template-columns:20px minmax(0,1fr) 20px;row-gap:4px;padding:18px 20px}.hf-text{grid-area:2/2}.hf-go{grid-area:1/3/span 2}}.notes-btn{border:1px solid var(--line);background:var(--bg-elev);height:34px;color:var(--ink-2);font:inherit;border-radius:10px;align-items:center;gap:7px;padding:0 12px;font-size:13.5px;display:inline-flex}.notes-btn:hover,.notes-btn.on{color:var(--accent);border-color:var(--accent)}.notes{z-index:55;border-left:1px solid var(--line);background:var(--bg);flex-direction:column;width:min(460px,100vw);display:flex;position:fixed;top:52px;bottom:0;right:0;box-shadow:-12px 0 32px #1414281a}.notes-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px 10px 18px;display:flex}.notes-title{font-family:var(--serif);font-size:20px;font-weight:600}.notes-body{flex-direction:column;flex:1;gap:12px;padding:14px 18px 24px;display:flex;overflow-y:auto}.notes-search{width:100%}.notes-here{border:1px dashed var(--line);color:var(--ink-2);font:inherit;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-size:14px;display:inline-flex}.notes-here:hover{border-color:var(--accent);color:var(--accent)}.notes-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notes-list button{background:var(--bg-elev);width:100%;color:var(--ink);font:inherit;text-align:left;border:0;border-radius:12px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.notes-list button:hover{background:var(--accent-soft)}.notes-item-title{font-weight:600}.notes-item-snip{-webkit-line-clamp:2;color:var(--ink-2);-webkit-box-orient:vertical;font-size:13.5px;display:-webkit-box;overflow:hidden}.notes-item-meta{color:var(--ink-3);font-size:12px}.notes-name{color:var(--ink);font-family:var(--serif);background:0 0;border:0;outline:none;padding:4px 0;font-size:22px;font-weight:600}.notes-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notes-text{border:1px solid var(--line);background:var(--bg-elev);min-height:220px;color:var(--ink);font:inherit;resize:vertical;border-radius:12px;outline:none;padding:12px 14px;font-size:15px;line-height:1.6}.notes-text:focus{border-color:var(--accent)}.notes-read{background:var(--bg-elev);border-radius:12px;min-height:120px;padding:12px 14px;font-size:15px}.notes-section{background:var(--bg-elev);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.notes-link{grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:8px;font-size:13.5px;display:grid}.notes-kind{background:var(--bg-sunk);color:var(--ink-2);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.notes-kind.k-pdf{background:color-mix(in srgb, var(--c2) 18%, var(--bg-elev))}.notes-link-title{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);overflow:hidden}.notes-link-meta{color:var(--ink-3);white-space:nowrap;font-size:12px}.notes-summary{background:var(--bg);border-radius:8px;grid-column:1/-1;padding:8px 10px;font-size:14px}.notes-summary summary{cursor:pointer;color:var(--ink-2)}.notes-attach{gap:8px;display:flex}.notes-attach .practice-search{flex:1;min-width:0}.notes-ai{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:14.5px}.notes-foot{color:var(--ink-3);justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.notes .signin-card{margin:24px 18px}.lv-dot{vertical-align:1px;background:var(--ink-3);border-radius:50%;width:8px;height:8px;margin-right:2px;display:inline-block}.lv-dot.lv-warmup{background:#2e9d6a}.lv-dot.lv-core{background:#d6a01c}.lv-dot.lv-interview{background:#d9485f}.lv-dot.lv-research{background:#8b5cf6}.lv-tag{background:var(--bg-sunk);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.practice-tabs{background:var(--bg-sunk);border-bottom:0;border-radius:12px;gap:4px;width:fit-content;padding:4px}.practice-tabs button{border:0;border-radius:9px;margin:0;padding:7px 14px;font-size:14px}.practice-tabs button.on{background:var(--bg-elev);color:var(--ink);box-shadow:0 1px 2px #14142814}.practice .account-card{border:0;border-radius:16px;box-shadow:0 1px 2px #1414280a,0 4px 14px #1414280a}.problem-list{background:0 0;border:0;flex-direction:column;gap:8px;display:flex}.problem-list li+li{border-top:0}.problem-row{background:var(--bg-elev);border-radius:14px;align-items:center;padding:14px 18px;transition:box-shadow .15s,transform .15s;box-shadow:0 1px 2px #1414280a}.problem-row:hover{background:var(--bg-elev);transform:translateY(-1px);box-shadow:0 2px 12px #14142814}.practice-search,.practice-select{background:var(--bg-elev);box-shadow:inset 0 0 0 1px var(--line);border-color:#0000}.flash-a,.flash-yours,.flash-feedback{background:var(--bg);border-top:0;border-radius:12px;padding:12px 14px}.nb-add-to{display:inline-flex;position:relative}.nb-add-to .chip svg{vertical-align:-2px}.nb-add-menu{z-index:140;background:var(--bg-elev);min-width:200px;max-width:280px;box-shadow:var(--shadow), 0 12px 32px #0000001f;border-radius:12px;flex-direction:column;padding:6px;display:flex}.nb-add-menu button{color:var(--ink);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:13.5px;overflow:hidden}.nb-add-menu button:first-child{color:var(--accent);font-weight:600}.nb-add-menu button:hover{background:var(--bg-sunk)}.nb-source{color:var(--accent);margin:0 0 6px;font-size:12.5px;display:inline-block}.cell-bar .nb-source{margin:0 0 0 6px}.nbs-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.nbs-head .practice-sub{margin:0}.nbs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:900px){.nbs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.nbs-grid button{background:var(--bg-elev);width:100%;height:100%;min-height:96px;color:var(--ink);font:inherit;text-align:left;border:0;border-radius:14px;flex-direction:column;gap:6px;padding:16px 18px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #1414280a,0 4px 14px #1414280a}.nbs-grid button:hover{transform:translateY(-2px);box-shadow:0 2px 12px #14142814}.nbs-title{font-family:var(--serif);font-size:18px;font-weight:600}.nbs-meta{color:var(--ink-3);margin-top:auto;font-size:12.5px}.nb-top{align-items:center;gap:8px;margin:6px 0 14px;display:flex}.nb-name{min-width:0;color:var(--ink);font-family:var(--serif);background:0 0;border:0;outline:none;flex:1;padding:2px 0;font-size:26px;font-weight:600}.nb-block{background:var(--bg-elev);border-radius:14px;padding:12px 16px 14px;font-size:15.5px;box-shadow:0 1px 2px #1414280a}.nb-block-bar{align-items:center;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.nb-kind{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px;font-weight:600}.nb-passage{background:color-mix(in srgb, var(--accent) 5%, var(--bg-elev))}.nb-source-title{max-width:50%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.nb-textarea{background:var(--bg);width:100%;min-height:90px;color:var(--ink);font:inherit;resize:vertical;border:0;border-radius:8px;outline:none;padding:8px 10px}.nb-addbar{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 2px;display:flex}.nb-addbar-k{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-right:4px;font-size:12px;font-weight:600}.nb-addbar .chip svg{vertical-align:-2px}.nb-panel{background:var(--bg-sunk);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.nb-panel .practice-search{width:100%}.nb-hit{background:var(--bg-elev);border-radius:10px;padding:10px 12px}.nb-hit-head{width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;gap:2px;padding:0;display:flex}.nb-hit-title{font-weight:600}.nb-hit-body{max-height:360px;margin-top:8px;font-size:14.5px;overflow-y:auto}.nb-hit-actions{gap:6px;margin-top:8px;display:flex}.nb-passage .nb-passage-body{max-height:220px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.nb-passage .nb-passage-body.open{max-height:none;-webkit-mask-image:none;mask-image:none}@media (max-width:1100px){.home-features{grid-template-columns:repeat(2,minmax(0,1fr))}}code,pre,kbd,.cm-editor,.cm-content{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}.notes-recent{background:var(--bg);border-radius:8px;padding:8px 10px;font-size:14px}.notes-recent p{margin:2px 0 0}.nb-sheet{background:var(--bg-elev);border-radius:18px;overflow:clip;box-shadow:0 1px 2px #1414280d,0 10px 30px #1414280f}.nb-sheet>.nb-top{z-index:6;background:color-mix(in srgb, var(--bg-elev) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);border-radius:18px 18px 0 0;margin:0;padding:10px 18px;position:sticky;top:52px}.nb-embedded .nb-sheet>.nb-top{top:0}.nb-sheet>.nb-main{background:var(--bg);border-radius:0 0 18px 18px;padding:18px 22px}.nb-sheet .nb-name{font-size:22px}.nb-sheet .nb-block,.nb-sheet .nb-cell,.nb-sheet .nb-problem{background:var(--bg-elev)}.nb-sheet .nb-compose{position:sticky;bottom:12px}.nb-embedded .nb-sheet{box-shadow:none;border-radius:0}.nb-embedded .nb-sheet>.nb-main{padding:14px 16px}.notes.notes-wide{width:min(760px,100vw)}.nb-in-panel{padding:0}.reader-modal{background:var(--bg-elev);border-radius:18px;flex-direction:column;width:min(820px,100vw - 32px);max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 24px 64px #14142840}.reader-modal-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 18px;display:flex}.reader-modal-title{font-family:var(--serif);font-size:20px;font-weight:600}.reader-modal-hint{background:var(--accent-soft);color:var(--ink-2);padding:8px 18px;font-size:13px}.reader-modal-body{padding:8px 28px 28px;font-size:17px;overflow-y:auto}.nb-hit{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;flex-direction:column;gap:2px;display:flex}.nb-hit:hover{box-shadow:inset 0 0 0 1px var(--accent)}.sel-nb{z-index:120;position:fixed;transform:translate(-50%,calc(-100% - 10px))}.sel-nb-btn{background:var(--ink);color:var(--bg);font:inherit;box-shadow:var(--shadow);white-space:nowrap;border:0;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.sel-nb-btn svg{vertical-align:-2px}.sel-nb-menu{background:var(--bg-elev);min-width:220px;max-width:300px;box-shadow:var(--shadow), 0 12px 32px #00000024;border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.sel-nb-menu button{color:var(--ink);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:13.5px;overflow:hidden}.sel-nb-menu button:first-child{color:var(--accent);font-weight:600}.sel-nb-menu button:hover{background:var(--bg-sunk)}.sel-nb-done{background:var(--ink);color:var(--bg);border-radius:10px;padding:8px 14px;font-size:13.5px;top:auto;bottom:24px;left:50%;transform:translate(-50%)}.src-reader{width:min(980px,100vw - 32px);height:calc(100vh - 64px)}.src-reader-body{background:var(--bg-sunk);flex:1;padding:16px}.pdf-pages{flex-direction:column;align-items:center;gap:14px;display:flex}.pdf-page{background:#fff;position:relative;box-shadow:0 1px 3px #1414281f}.pdf-page canvas{display:block}.src-text{background:var(--bg-elev);max-width:720px;font-family:var(--serif);border-radius:12px;margin:0 auto;padding:8px 12px;font-size:17px;line-height:1.65}button.nb-source-title{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}button.nb-source-title:hover{color:var(--accent)}.pane-tabs{background:var(--bg-sunk);border-radius:10px;flex:none;gap:2px;width:fit-content;padding:3px;display:inline-flex}.pane-tabs button{color:var(--ink-3);font:inherit;background:0 0;border:0;border-radius:8px;padding:5px 12px;font-size:13.5px;font-weight:600}.pane-tabs button.on{background:var(--bg-elev);color:var(--ink);box-shadow:0 1px 2px #14142814}.tutor-head .pane-tabs+.tutor-sub{margin-top:6px}.tutor-notes{flex-direction:column;display:flex}.tutor-notes-body{flex:1;min-height:0;overflow-y:auto}.notes-pane{flex-direction:column;height:100%;min-height:0;display:flex}.notes-sub{align-items:center;gap:8px;padding:10px 16px 0;display:flex}.notes-open{color:var(--ink-3);font-size:13px}.notes-open:hover{color:var(--accent)}.notes-pane .notes-body>.notes-open{align-self:center;margin-top:6px}.notes-pane .notes-search{background:var(--bg-sunk);box-shadow:none;border:0;border-radius:10px}.notes-pane .notes-here{background:var(--accent-soft);color:var(--accent);border:0;border-radius:10px;font-weight:500}.notes-pane .notes-list button{background:var(--bg-sunk)}.notes-pane .notes-list button:hover{background:color-mix(in srgb, var(--ink) 7%, var(--bg-sunk))}.notes-pane>.notes-body{flex:1;overflow-y:auto}.tutor-rail button+button{border-top:1px solid var(--line)}.acct-credits{background:var(--bg-sunk);border-radius:10px;margin:6px 4px 4px;padding:10px 12px}.acct-credits-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.acct-plan{color:var(--ink-2);font-size:13px}.acct-balance{font-variant-numeric:tabular-nums;font-weight:600}.acct-topup{justify-content:center;width:100%;margin-top:8px}.nb-top .nb-name{text-overflow:ellipsis;flex:1;min-width:0}.nb-sourceblock .nb-block-bar{flex-wrap:wrap}.nb-sourceblock .nb-source-title{text-overflow:ellipsis;white-space:nowrap;flex:160px;min-width:0;max-width:none;overflow:hidden}.nb-embedded .nb-passage .nb-block-bar,.nb-embedded .nb-text .nb-block-bar{flex-wrap:wrap}.nb-item{position:relative}.nb-grip{width:14px;color:var(--ink-3);letter-spacing:-2px;cursor:grab;opacity:0;-webkit-user-select:none;user-select:none;font-size:12px;line-height:1;transition:opacity .12s;position:absolute;top:10px;left:-18px}.nb-item:hover>.nb-grip,.nb-item.dragging>.nb-grip{opacity:1}.nb-item.dragging{opacity:.45}.nb-item.drop-before:before,.nb-item.drop-after:after{content:"";background:var(--accent);border-radius:2px;height:3px;position:absolute;left:0;right:0}.nb-item.drop-before:before{top:-7px}.nb-item.drop-after:after{bottom:-7px}.nb-sheet>.nb-main{padding-left:30px}.nb-composer.tutor-compose{margin:8px 0 0}.reader-modal{margin-top:40px}.src-reader-split{flex:1;grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid}@media (max-width:900px){.src-reader-split{grid-template-rows:minmax(0,1fr) 40%;grid-template-columns:minmax(0,1fr)}}.src-reader-split .src-reader-body{min-height:0}.src-notes{border-left:1px solid var(--line);background:var(--bg-elev);flex-direction:column;gap:8px;min-height:0;padding:14px;display:flex}.src-notes-list{flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.src-notes-list li{background:var(--bg-sunk);border-radius:10px;padding:8px 10px;font-size:14px}.src-notes-list blockquote{border-left:3px solid var(--accent);color:var(--ink-2);margin:0 0 4px;padding-left:10px}.src-notes-list p{margin:0}.src-notes-list.in-block{margin-top:8px}.src-note-meta{color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:4px;font-size:12px;display:flex}.src-note-compose{margin:0}.src-quote{background:var(--accent-soft);color:var(--ink-2);border-radius:8px;align-items:flex-start;gap:6px;margin:8px 10px 0;padding:6px 8px;font-size:12.5px;display:flex}.src-note-hint{color:var(--ink-3);font-size:12px}.nb-embedded .nb-sheet>.nb-top{border-radius:0;padding:8px 12px}.nb-embedded .nb-name{font-size:18px}.nb-back{flex:none}.pane-tabs{background:color-mix(in srgb, var(--ink) 6%, var(--bg-sunk))}.nb-embedded .nb-block-bar .nb-source{flex:100%;order:5}.notes-listhead{border-bottom:1px solid var(--line);background:var(--bg-elev);flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.notes-listtitle{font-family:var(--serif);flex:none;font-size:18px;font-weight:600}.notes-find{border:1px solid var(--line);background:var(--bg-elev);min-width:0;height:32px;color:var(--ink-3);border-radius:9px;flex:1;align-items:center;gap:6px;padding:0 10px;display:flex}.notes-find:focus-within{border-color:var(--accent)}.notes-find input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:13.5px}.notes-new{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);flex:none}.notes-new:hover{background:var(--accent);color:var(--accent-ink)}select:not([multiple]){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23807a70' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}.problem-back{color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;margin-bottom:10px;padding:4px 8px 4px 4px;font-size:14px;display:inline-flex}.problem-back:hover{background:var(--bg-sunk);color:var(--ink)}.problem-row.just-opened{box-shadow:0 0 0 2px var(--accent), 0 2px 12px #14142814;transition:box-shadow .4s}.topbar .top-tabs+.search-btn{min-width:240px}@media (max-width:900px){.topbar .top-tabs+.search-btn{min-width:0}.topbar .search-btn .search-label,.topbar .search-btn kbd{display:none}}.home-hero h1{align-items:center;gap:20px;display:flex}.home-mark{background:var(--accent);width:.78em;height:.78em;color:var(--accent-ink);border-radius:.2em;flex:none;place-items:center;font-size:.82em;line-height:1;display:grid}.nb-sheet>.nb-main.nb-paper{background:var(--bg-elev);gap:0;padding:26px 48px 16px 60px}.nb-embedded .nb-sheet>.nb-main.nb-paper{padding:14px 16px 10px 30px}.nb-flow,.nb-item.nb-k-msg{flex-direction:column;display:flex}.nb-paper .nb-cell,.nb-paper .exercise,.nb-paper .nb-block{box-shadow:none;margin:0}.nb-paper .nb-block{border:1px solid var(--line);background:var(--bg)}.nb-paper .nb-grip{letter-spacing:0;width:18px;display:inline-flex;top:3px;left:-26px}.nb-paper .nb-item.drop-before:before{top:-11px}.nb-paper .nb-item.drop-after:after{bottom:-11px}.nb-ins{justify-content:center;align-items:center;height:20px;display:flex;position:relative}.nb-ins:before{content:"";background:var(--accent);opacity:0;height:1px;transition:opacity .12s;position:absolute;top:50%;left:0;right:0}.nb-ins-btn{z-index:1;border:1px solid var(--line-2);background:var(--bg-elev);width:22px;height:22px;color:var(--ink-3);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .12s;display:inline-flex;position:relative}.nb-ins:hover:before{opacity:.35}.nb-ins:hover .nb-ins-btn,.nb-ins-btn:focus-visible{opacity:1}.nb-ins-btn:hover{border-color:var(--accent);color:var(--accent)}.nb-insmenu{z-index:140;border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;min-width:210px;padding:6px;position:fixed;box-shadow:0 12px 32px #14142824}.nb-insmenu button{width:100%;color:var(--ink);font:500 14px var(--sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.nb-insmenu button.on{background:var(--bg-sunk)}.nb-insmenu svg{color:var(--ink-3)}.nb-text,.nb-paper .nb-passage,.nb-figure,.nb-tablewrap{position:relative}.nb-hover-tools{z-index:2;opacity:0;transition:opacity .12s;position:absolute;top:-2px;right:-6px}.nb-text:hover>.nb-hover-tools,.nb-paper .nb-passage:hover>.nb-hover-tools,.nb-figure:hover>.nb-hover-tools{opacity:1}.nb-hover-tools .icon-chip{background:var(--bg-elev)}.nb-read,.nb-write{font-family:var(--serif);color:var(--ink);font-size:17px;line-height:1.65}.nb-embedded .nb-read,.nb-embedded .nb-write{font-size:15.5px}.nb-write{resize:none;background:0 0;border:0;outline:none;width:100%;padding:0;display:block;overflow:hidden}.nb-write::placeholder{color:var(--ink-3)}.nb-write:not(:focus)::placeholder{color:#0000}.nb-read{cursor:text}.nb-read>:first-child{margin-top:0}.nb-read>:last-child{margin-bottom:0}.nb-read :is(h1,h2,h3){font-family:var(--serif);margin:.5em 0 .25em;font-weight:600;line-height:1.3}.nb-read h1{font-size:26px}.nb-read h2{font-size:21px}.nb-read h3{font-size:18px}.nb-where{color:var(--ink-3);opacity:0;margin-top:2px;font-size:12px;transition:opacity .12s;display:inline-block}.nb-text:hover .nb-where{opacity:1}.nb-paper .nb-passage{border-left:3px solid color-mix(in srgb, var(--accent) 45%, transparent);font-family:var(--serif);color:var(--ink-2);background:0 0;padding:2px 0 2px 16px;font-size:16px}.nb-paper .nb-passage .nb-source{font-family:var(--sans);font-size:12.5px}.nb-table-tools{opacity:0;align-items:center;gap:4px;height:30px;transition:opacity .12s;display:flex}.nb-tablewrap:hover .nb-table-tools,.nb-tablewrap:focus-within .nb-table-tools{opacity:1}.nb-table-tools .chip svg{vertical-align:-1px}.nb-table-scroll{overflow-x:auto}.nb-table{border-collapse:collapse;width:100%;font-family:var(--sans)}.nb-table :is(th,td){border:1px solid var(--line-2);vertical-align:top;min-width:90px;padding:0}.nb-table th{background:var(--bg-sunk)}.nb-table :is(th,td):focus-within{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent)}.nb-table textarea{width:100%;color:var(--ink);font:14.5px/1.45 var(--sans);resize:none;background:0 0;border:0;outline:none;padding:7px 10px;display:block;overflow:hidden}.nb-table th textarea{font-weight:600}.nb-table th textarea::placeholder{color:var(--ink-3);font-weight:500}.nb-figure{text-align:center;margin:0}.nb-figure img{border-radius:8px;max-width:100%;height:auto}.nb-figure-missing{background:var(--bg-sunk);border-radius:8px;width:100%;min-height:120px}.nb-caption{width:100%;color:var(--ink-3);font:13.5px var(--sans);text-align:center;background:0 0;border:0;outline:none;margin-top:4px}.nb-figure:not(:hover) .nb-caption:placeholder-shown:not(:focus){opacity:0}.nb-tail{min-height:64px;color:var(--ink-3);font-family:var(--serif);cursor:text;outline:none;font-size:17px;line-height:1.65}.nb-embedded .nb-tail{font-size:15.5px}.nb-text.last .nb-write:not(:focus)::placeholder{color:var(--ink-3);opacity:.7}.nb-paper .nb-panel{margin:4px 0}.nb-read .md{font:inherit;line-height:inherit}.nb-read .md p{margin:0 0 .6em}.home-copy{min-width:0}.home-go{border:1px solid var(--line);background:var(--bg-elev);max-width:min(100%,460px);color:var(--ink);border-radius:16px;align-items:center;gap:18px;padding:12px 12px 12px 20px;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex;box-shadow:0 1px 2px #1414280a,0 6px 18px #1414280f;text-decoration:none!important}.home-go:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));transform:translateY(-1px);box-shadow:0 2px 4px #1414280d,0 12px 28px #14142817}.home-go-text{flex-direction:column;gap:3px;min-width:0;display:flex}.home-go-k{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:11.5px;font-weight:600}.home-go-place{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.3;overflow:hidden}.home-go-arrow{background:var(--accent);color:#fff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .15s;display:inline-flex}.home-go:hover .home-go-arrow{transform:translate(2px)}.home-visual{container-type:inline-size}.home-visual-cap{text-overflow:ellipsis;white-space:nowrap;font-size:min(12.5px,3.9cqi);overflow:hidden}.cap-tap{display:none}@media (hover:none){.cap-hover{display:none}.cap-tap{display:inline}}.hc-part{border:1px solid var(--line);background:0 0;border-radius:22px;padding:20px}.hc-part+.hc-part{margin-top:22px}.hc-part-head{align-items:baseline;gap:12px;margin:2px 2px 14px;display:flex}.hc-part-title{font-family:var(--serif);color:var(--accent);margin:0;font-size:22px;font-weight:600}.hc-part .home-chapters{gap:12px}.hc-part .home-chapters .hc-tile{grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:18px 20px 16px}.hc-part .hc-num{font-size:30px}.home-chapters .hc-tile.locked{background:var(--bg-sunk);box-shadow:none}.hc-tile.locked .hc-num{color:var(--line-2)}.hc-tile.locked .hc-title{color:var(--ink-2)}.hc-tile.locked .hc-meta{align-items:center;display:flex}.btn-secondary.hc-request{padding:5px 12px;font-size:13px}.hc-asked{color:var(--good);align-items:center;gap:5px;font-weight:600;display:inline-flex}.nb-tail span{opacity:.7;transition:opacity .12s}.nb-tail:hover span{opacity:1}.notes-body.nb-in-panel{gap:0;overflow:hidden}.nb-embedded,.nb-embedded .nb-sheet{flex-direction:column;flex:1;min-height:0;display:flex}.nb-embedded .nb-sheet>.nb-main{flex:1;min-height:0;overflow-y:auto}.nb-embedded .nb-sheet>.nb-composer.tutor-compose{box-shadow:none;flex:none;margin:8px 12px 10px;position:static}.ai-pad{min-width:0}.ai-thread-head{justify-content:flex-end;gap:12px;font-size:12.5px;display:flex}.ai-thread,.ai-thread>*,.ai-answer{min-width:0}.ai-answer .md-code,.ai-answer .md-pre,.ai-answer .cm-editor{max-width:100%}.ai-answer .katex-display{overflow:auto hidden}.tutor-compose.ai-compose{background:var(--bg-elev);margin:0}.pg-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 18px;display:flex}.pg-search{border:1px solid var(--line-2);background:var(--bg-elev);height:42px;color:var(--ink-3);border-radius:12px;flex:260px;align-items:center;gap:8px;padding:0 14px;transition:border-color .15s;display:flex}.pg-search:focus-within{border-color:var(--accent)}.pg-search input{min-width:0;color:var(--ink);font:15px var(--sans);background:0 0;border:0;outline:none;flex:1}.pg-search-clear{color:var(--ink-3);cursor:pointer;background:0 0;border:0}.pg-select{border:1px solid var(--line-2);background:var(--bg-elev);max-width:240px;height:42px;color:var(--ink);font:14.5px var(--sans);cursor:pointer;border-radius:12px;flex:none;align-items:center;gap:10px;padding:0 14px;transition:border-color .15s;display:inline-flex}.pg-select:hover,.pg-select[aria-expanded=true]{border-color:var(--accent)}.pg-select.set{border-color:color-mix(in srgb, var(--accent) 45%, var(--line-2));background:var(--accent-soft)}.sel svg{color:var(--ink-3);flex:none}.sel-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sel-menu{z-index:140;border:1px solid var(--line);background:var(--bg-elev);border-radius:14px;padding:6px;overflow-y:auto;box-shadow:0 12px 32px #14142824}.sel-menu button{width:100%;color:var(--ink);font:14px var(--sans);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;display:flex}.sel-menu button.hi{background:var(--bg-sunk)}.sel-menu button.on{color:var(--accent);font-weight:600}.pg-toolbar .btn-primary{height:42px}.pg-count{color:var(--ink-3);margin:0 2px 14px;font-size:13px}.pg-group+.pg-group{margin-top:26px}.pg-group-title{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 2px 10px;font-size:12.5px;font-weight:600}.pg-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pg-row{background:var(--bg-elev);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:14px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px 14px 14px;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 1px 2px #1414280a,0 3px 10px #14142808;text-decoration:none!important}.pg-row:hover{transform:translateY(-1px);box-shadow:0 2px 4px #1414280d,0 10px 24px #14142812}.pg-lead{background:var(--bg-sunk);width:52px;height:40px;color:var(--ink-2);font:600 12.5px var(--mono);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.pg-row.solved .pg-lead{background:color-mix(in srgb, var(--good) 14%, var(--bg-elev));color:var(--good);font-size:16px}.pg-lead-nb{background:var(--accent-soft);color:var(--accent)}.pg-main{flex-direction:column;gap:3px;min-width:0;display:flex}.pg-title{font-family:var(--serif);font-size:17px;font-weight:600;line-height:1.3}.pg-sub{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.pg-meta{color:var(--ink-3);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:3px;font-size:12.5px;display:flex}.pg-level{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.pg-time{font-variant-numeric:tabular-nums}.pg-row.just-opened{box-shadow:0 0 0 2px var(--accent), 0 10px 24px #14142812}@media (max-width:760px){.pg-row{grid-template-columns:44px minmax(0,1fr)}.pg-lead{width:44px}.pg-meta{display:none}}.pg-select:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:1px}.pg-select:focus:not(:focus-visible){outline:none}.problem-page{max-width:900px;font-family:var(--sans);margin:0 auto;padding:18px 8px 40px}.pp-top{align-items:center;gap:8px;display:flex}.pp-top .problem-back{margin:0}.pp-nav{align-items:center;gap:6px;display:flex}.pp-nav .icon-chip.disabled{opacity:.35;pointer-events:none}.pp-pos{min-width:70px;color:var(--ink-3);text-align:center;font-variant-numeric:tabular-nums;font-size:12.5px}.pp-head{margin:18px 0}.pp-kicker{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.pp-title{font-family:var(--serif);margin:8px 0 6px;font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.2}.pp-from{color:var(--ink-3);margin:0;font-size:14.5px}.problem-page .exercise{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.problem-page .ex-head .ex-level,.problem-page .ex-head .ex-title{display:none}.problem-page .ex-head{min-height:0;margin:0}.problem-page .ex-prompt{font-size:16px}.pp-next{background:var(--bg-elev);color:var(--ink);border-radius:14px;align-items:center;gap:12px;margin-top:28px;padding:14px 16px 14px 20px;transition:box-shadow .15s;display:flex;box-shadow:0 1px 2px #1414280a,0 3px 10px #14142808;text-decoration:none!important}.pp-next:hover{box-shadow:0 2px 4px #1414280d,0 10px 24px #14142812}.pp-next-k{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:12px;font-weight:600}.pp-next-t{min-width:0;font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:16px;font-weight:600;overflow:hidden}.cell-bar{flex-wrap:wrap;row-gap:6px}.cell-bar>button,.cell-bar>.chip,.cell-bar .btn-run,.cell-bar .btn-check{white-space:nowrap}.pane-tabs button:disabled,.tutor-rail button:disabled{opacity:.4;cursor:default}.dialog-overlay{z-index:160}.dialog-box{width:min(400px,100%);padding:24px 24px 20px}.dialog-title{font-family:var(--serif);margin:0;font-size:21px;line-height:1.3}.dialog-body{color:var(--ink-2);margin:8px 0 0;font-size:15px;line-height:1.55}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.ai-thread-head .link-btn:focus:not(:focus-visible){outline:none}.callout-title,.takeaways-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.box-notes{letter-spacing:0;text-transform:none;font-size:13px;font-weight:500}.qa-tools{justify-content:flex-end;padding:0 12px 8px;display:flex}.derivation .qa-tools{padding:4px 0 0}.qa:not([open])>.qa-tools{display:none}.sel{border:1px solid var(--line-2);background:var(--bg-elev);max-width:100%;height:32px;color:var(--ink);font:13.5px var(--sans);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:0 10px 0 12px;transition:border-color .15s;display:inline-flex}.sel:hover,.sel[aria-expanded=true]{border-color:var(--accent)}.sel:disabled{opacity:.5;cursor:default}.sel:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:1px}.sel-menu button:disabled{color:var(--ink-3);cursor:default}.sr-kind{background:var(--bg-sunk);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;border-radius:6px;margin-right:4px;padding:0 6px;font-size:10.5px;font-weight:600;display:inline-block}.sr-kind.k-chapter,.sr-kind.k-section{background:var(--accent-soft);color:var(--accent)}.model-effort{color:var(--ink-3);margin-left:6px;font-weight:400}.model-effort-row{border-top:1px solid var(--line);margin-top:4px;padding:10px 6px 4px}.model-effort-k{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px 4px;font-size:11px;font-weight:600}.model-effort-seg{background:var(--bg-sunk);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;display:grid}.model-menu .model-effort-seg button{width:100%;color:var(--ink-2);text-align:center;background:0 0;border-radius:8px;padding:6px 0;font-size:13px;display:block}.model-menu .model-effort-seg button:hover{background:color-mix(in srgb, var(--bg-elev) 60%, transparent)}.model-menu .model-effort-seg button.on{background:var(--bg-elev);color:var(--accent);font-weight:600;box-shadow:0 1px 2px #14142814}.plan-locked{margin:24px 0}.ex-teaser{border:1px solid var(--line);border-radius:var(--radius);background:var(--code-bg);min-height:150px;position:relative;overflow:hidden}.ex-teaser-code{font:13px/1.6 var(--mono);color:var(--ink-2);filter:blur(3px);-webkit-user-select:none;user-select:none;margin:0;padding:14px 16px}.ex-teaser-cta{background:color-mix(in srgb, var(--bg-elev) 55%, transparent);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:absolute;inset:0}.ex-teaser-sub{max-width:440px;color:var(--ink-2);font-size:13px}.pane-gate{flex:1;padding:24px 18px;overflow-y:auto}.pane-gate .signin-card{padding:28px 12px 20px}.home-chapters .hc-tile{position:relative}.hc-plan-tag{background:var(--bad-soft);color:var(--bad);font:600 11px var(--sans);letter-spacing:.02em;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex;position:absolute;top:14px;right:14px}.hc-tile:has(.hc-plan-tag) .hc-title{padding-right:112px}.prose .ch-opener{border-left:3px solid color-mix(in srgb, var(--accent) 55%, transparent);font-family:var(--serif);color:var(--ink-2);margin:8px 0 36px;padding:2px 0 2px 22px;font-size:21px;font-style:italic;line-height:1.55;position:relative}.home-chapters .hc-sub{min-height:3em}@media (min-width:901px) and (max-width:1200px){.hc-part{padding:14px}.hc-part .home-chapters{gap:10px}.hc-part .home-chapters .hc-tile{padding:16px 16px 14px}.home-chapters .hc-tile{grid-template-columns:40px minmax(0,1fr);padding:18px 18px 16px}.home-chapters .hc-num{font-size:28px}.home-chapters .hc-title{font-size:17px}}
