@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(./KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(./KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(./KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(./KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(./KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(./KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(./KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.22"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.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;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.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{display:inline-block;width:.12em}.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 .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.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;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.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{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.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{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:600;src:url(./orbitron-latin-600-normal-mazHmDYu.woff2) format("woff2"),url(./orbitron-latin-600-normal-75H6acHo.woff) format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:800;src:url(./orbitron-latin-800-normal-CQafOXEd.woff2) format("woff2"),url(./orbitron-latin-800-normal-P4cBi4I7.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(./space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(./space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(./space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(./space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(./space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(./space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-O6-GRVqx.woff) format("woff")}:root{--bg: #070613;--bg2: #0b0a1a;--panel: #0e0c20;--panel2: #131029;--line: #2b2340;--line2: #3d3160;--text: #f3f0ff;--muted: #9d93b5;--dim: #5d5478;--cyan: #28e7fa;--amber: #ffbc5e;--violet: #a88aff;--magenta: #ff3ba7;--green: #4dffa6;--red: #ff5470;--blue: #6f9cff;--accent: var(--cyan);--mono: "IBM Plex Mono", ui-monospace, monospace;--display: "Orbitron", "Space Grotesk", sans-serif;--body: "Space Grotesk", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}::selection{background:#28e7fa44}kbd{font-family:var(--mono);font-size:.72em;border:1px solid var(--line2);border-bottom-width:2px;padding:1px 6px;border-radius:4px;color:var(--muted);background:#0003}strong{color:#fff;font-weight:700}.muted{color:var(--muted)}.k-in{color:var(--cyan)}.k-out{color:var(--amber)}.k-bel{color:var(--violet)}.k-log{color:var(--magenta)}.k-ok{color:var(--green)}.k-bad{color:var(--red)}.k-op{color:var(--blue)}.k-dim{color:var(--dim)}[data-g]{cursor:help;border-radius:3px;transition:background .15s}[data-g]:hover{background:#a88aff33;box-shadow:0 0 0 2px #a88aff33}.katex{font-size:1.12em}.tex-display .katex-display,.tex-display.katex-display{margin:0}.game-root{position:fixed;inset:0;background:radial-gradient(ellipse at 75% -10%,#2a114a55,transparent 55%),radial-gradient(ellipse at 10% 110%,#06323a44,transparent 50%),var(--bg)}.backdrop{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.screen{position:absolute;inset:0;display:flex;flex-direction:column;animation:screen-in .45s ease-out}@keyframes screen-in{0%{opacity:0;filter:blur(6px)}}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:200;background:repeating-linear-gradient(0deg,transparent 0 2px,#00000018 3px 3px);mix-blend-mode:multiply}.wipe{position:fixed;inset:0;z-index:150;pointer-events:none;background:linear-gradient(100deg,transparent 0%,var(--bg) 20%,var(--bg) 80%,transparent 100%);animation:wipe .56s cubic-bezier(.7,0,.3,1) forwards}.wipe:after{content:"";position:absolute;top:0;bottom:0;width:3px;left:50%;background:var(--accent);box-shadow:0 0 24px var(--accent)}@keyframes wipe{0%{transform:translate(-120%)}to{transform:translate(120%)}}.reduced .wipe,.reduced .screen{animation:none}.btn{border:1px solid var(--line2);background:#15112a;padding:10px 18px;cursor:pointer;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));transition:background .15s,border-color .15s,color .15s,transform .1s}.btn:hover:not(:disabled){background:#1f1838;border-color:var(--accent);color:#fff}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#05040d;font-weight:700}.btn.primary:hover:not(:disabled){background:#fff;color:#05040d}.btn.ghost{background:transparent}.btn.small{padding:6px 12px;font-size:12px}.btn.big{padding:16px 28px;font-size:15px}.btn.hint{border-color:#ffbc5e66;color:var(--amber)}.btn.danger{border-color:#ff547066;color:var(--red)}.btn.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 0 transparent;filter:brightness(1.25)}}.title-screen{position:relative;height:100%;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;padding:0 7vw;gap:4vw;cursor:default}.title-eye{display:grid;place-items:center;filter:drop-shadow(0 0 40px #28e7fa33)}.title-eye svg{width:min(34vw,420px);height:auto}.logo{position:relative;font-family:var(--display);font-weight:800;font-size:clamp(56px,8vw,120px);letter-spacing:.08em;margin:0;line-height:1;text-shadow:0 0 30px #28e7fa55,3px 0 #ff3ba766,-3px 0 #28e7fa66}.logo:before,.logo:after{content:attr(data-text);position:absolute;inset:0;overflow:hidden}.logo:before{color:var(--magenta);animation:glitch 3.2s infinite steps(1);opacity:.7}.logo:after{color:var(--cyan);animation:glitch 2.7s infinite steps(1) reverse;opacity:.6}@keyframes glitch{0%,86%,to{clip-path:inset(100% 0 0 0);transform:none}88%{clip-path:inset(20% 0 55% 0);transform:translate(-6px)}91%{clip-path:inset(60% 0 12% 0);transform:translate(5px)}94%{clip-path:inset(40% 0 40% 0);transform:translate(-3px)}}.reduced .logo:before,.reduced .logo:after{display:none}.title-sub{font-family:var(--mono);color:var(--muted);letter-spacing:.12em;font-size:14px;text-transform:uppercase;margin:18px 0 42px}.press{background:none;border:none;font-family:var(--mono);color:var(--accent);letter-spacing:.25em;font-size:15px;cursor:pointer;animation:blink 1.4s steps(2) infinite}@keyframes blink{50%{opacity:.25}}.boot-log{font-family:var(--mono);font-size:15px;color:#cfc8e6;min-height:170px;max-width:640px}.boot-log p{margin:0 0 10px}.boot-log p>span:first-child{color:var(--accent)}.title-menu{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.title-meta{font-family:var(--mono);font-size:12px;color:var(--dim);margin-top:18px}.title-foot{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.08em}.typewriter .caret{color:var(--accent);animation:blink .8s steps(2) infinite}.topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 24px;border-bottom:1px solid var(--line);background:#07061399;backdrop-filter:blur(6px)}.topbar-left{display:flex;align-items:center;gap:18px}.brand{font-family:var(--display);font-weight:800;letter-spacing:.12em}.topbar-title{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.12em}.topbar-rank{display:flex;align-items:center;gap:12px}.rank-name{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.xp-bar{width:180px;height:4px;background:var(--line);margin:5px 0 4px}.xp-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--accent));box-shadow:0 0 10px var(--accent)}.topbar-rank small{font-family:var(--mono);font-size:11px;color:var(--dim)}.topbar-right{display:flex;gap:8px}.hud-back{background:none;border:1px solid var(--line2);padding:6px 12px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--muted);cursor:pointer}.hud-back:hover{color:#fff;border-color:var(--accent)}.stage-fit{container-type:size;width:100%;height:100%;display:grid;place-items:center}.stage{position:relative;width:min(100cqw,calc(100cqh * 16 / 9));aspect-ratio:16 / 9;container-type:inline-size}.stage-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;user-select:none;touch-action:none}.stage-overlay{position:absolute;inset:0;pointer-events:none;--su: .0625cqw }.stage-html{position:absolute;white-space:nowrap;line-height:1.15}.stage-html .katex{font-size:1em}.chip-hit:hover rect{filter:url(#glow)}.atlas,.sector{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:1fr 360px}.atlas-stage,.sector-stage{min-height:0;padding:10px}.atlas-node{transition:opacity .2s}.atlas-sym{font-family:var(--display);font-weight:800}.atlas-label,.node-label,.zone-label{font-family:var(--mono);letter-spacing:.06em}.atlas-label,.node-label{display:block;white-space:normal;width:9.5em;text-align:center;line-height:1.25}.zone-label{letter-spacing:.4em}.atlas-panel,.sector-panel{border-left:1px solid var(--line);background:linear-gradient(180deg,#0c0a1ccc,#08071399);padding:28px 26px;overflow-y:auto;backdrop-filter:blur(4px)}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--accent)}.atlas-panel h2,.sector-panel h2{font-family:var(--display);font-size:26px;margin:8px 0 12px;letter-spacing:.04em}.atlas-panel p{color:#cfc8e6;line-height:1.5}.atlas-cap{border:1px solid var(--line);padding:12px 14px;margin:18px 0;background:#0006}.atlas-cap>span,.sector-module>span,.level-card-code{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--dim)}.atlas-cap p{margin:6px 0 0}.atlas-state{font-family:var(--mono);font-size:12px}.atlas-state.sealed{color:var(--dim)}.atlas-state.locked{color:var(--amber)}.atlas-state.open{color:var(--green)}.atlas-route{margin-top:26px;font-family:var(--mono);font-size:11px;color:var(--dim)}.toast{position:absolute;bottom:28px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--amber);color:var(--amber);padding:10px 18px;font-family:var(--mono);font-size:13px;z-index:20;animation:screen-in .3s}.sector-progress{display:flex;gap:18px;font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:18px}.sector-progress span:last-child{color:var(--amber)}.node-stars b{color:var(--line2);margin:0 1px}.node-stars b.on{color:var(--amber);text-shadow:0 0 8px var(--amber)}.level-card{border:1px solid var(--line2);background:#0d0b1f;padding:18px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.level-card h3{font-family:var(--display);margin:6px 0 2px;font-size:20px}.level-card-sub{color:var(--accent);font-family:var(--mono);font-size:12px;margin:0 0 12px}.level-card-obj{color:#d9d3ee;line-height:1.5}.level-card-glyphs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}.glyph-chip{border:1px solid var(--line2);padding:2px 9px;border-radius:3px;background:#0007;color:var(--muted)}.glyph-chip.known{border-color:var(--accent);color:#fff}.level-card-lock{font-family:var(--mono);font-size:12px;color:var(--amber)}.level-card-best{font-family:var(--mono);font-size:11px;color:var(--dim)}.sector-module{margin-top:22px;border:1px dashed #ff3ba766;padding:14px}.sector-module b{display:block;margin:6px 0;color:var(--magenta)}.sector-module p{margin:0;color:var(--muted);font-size:14px}.level{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr}.level-hud{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:18px;padding:8px 18px;border-bottom:1px solid var(--line);background:#070613cc;backdrop-filter:blur(6px);z-index:5}.hud-title{display:flex;align-items:baseline;gap:10px}.hud-code{font-family:var(--mono);color:var(--accent);font-size:13px}.hud-name{font-family:var(--display);font-size:17px;letter-spacing:.04em}.step-track{display:flex;justify-content:center;gap:4px;list-style:none;margin:0;padding:0}.step-track li{display:flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--mono);font-size:11px;color:var(--dim);border-bottom:2px solid var(--line)}.step-track li.done{color:var(--muted);border-color:var(--accent)}.step-track li.now{color:#fff;border-color:var(--accent);background:linear-gradient(0deg,#28e7fa1a,transparent)}.step-icon{color:var(--accent)}.hud-stars span{font-size:18px;margin:0 2px;transition:color .3s}.hud-stars .on{color:var(--amber);text-shadow:0 0 8px #ffbc5e88}.hud-stars .off{color:var(--line2)}.hud-stars small{margin-left:8px;font-family:var(--mono);font-size:10px;color:var(--dim)}.hud-menu{background:none;border:1px solid var(--line2);width:36px;height:32px;cursor:pointer}.level-body{min-height:0;position:relative}.level-body.entering{animation:step-in .35s ease-out}.level-body.leaving{animation:step-out .28s ease-in forwards}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}}@keyframes step-out{to{opacity:0;filter:blur(4px)}}.level.boss .level-hud{border-bottom-color:#ff3ba766;box-shadow:0 0 30px #ff3ba722}.play{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto}.play-stage{position:relative;min-height:0;padding:8px 14px 0}.play-stage.shake{animation:shake .4s}@keyframes shake{20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.beat-dots{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:6px}.beat-dots i{width:18px;height:3px;background:var(--line2)}.beat-dots i.past{background:var(--accent);opacity:.5}.beat-dots i.now{background:var(--accent);box-shadow:0 0 8px var(--accent)}.skip-demo{position:absolute;top:10px;right:18px;background:none;border:none;color:var(--dim);font-family:var(--mono);font-size:11px;cursor:pointer;letter-spacing:.06em}.skip-demo:hover{color:var(--accent)}.challenge-head{position:absolute;top:10px;left:18px;right:18px;display:flex;align-items:center;gap:16px;z-index:2;font-family:var(--mono);font-size:12px}.challenge-title{color:var(--accent);letter-spacing:.12em;text-transform:uppercase}.round-pips{display:flex;gap:5px}.round-pips i{width:12px;height:12px;border:1px solid var(--line2);transform:rotate(45deg)}.round-pips i.done{background:var(--accent);border-color:var(--accent)}.round-pips i.now{border-color:var(--accent);box-shadow:0 0 8px var(--accent)}.round-label{color:var(--muted)}.streak{color:var(--amber);animation:pop .3s}@keyframes pop{0%{transform:scale(1.6)}}.solved-flash{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle,#4dffa618,transparent 60%);animation:screen-in .25s}.solved-flash span{font-family:var(--display);font-size:34px;letter-spacing:.12em;color:var(--green);text-shadow:0 0 24px var(--green);animation:pop .35s}.desync{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#12020bdd;z-index:10;animation:screen-in .2s}.desync span{font-family:var(--display);font-size:40px;color:var(--red);letter-spacing:.15em;text-shadow:3px 0 var(--cyan),-3px 0 var(--magenta);animation:shake .5s infinite}.desync p{color:#ffd0d8;font-family:var(--mono)}.console{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;padding:14px 22px 16px;min-height:150px;max-height:42vh;overflow-y:auto;border-top:1px solid var(--line2);background:linear-gradient(180deg,#0f0c22f2,#08071af7);box-shadow:0 -10px 40px #0008;position:relative}.console:before{content:"";position:absolute;top:-1px;left:0;width:160px;height:2px;background:var(--accent);box-shadow:0 0 12px var(--accent)}.console.tone-ok:before{background:var(--green);box-shadow:0 0 12px var(--green);width:100%}.console.tone-bad:before{background:var(--red);box-shadow:0 0 12px var(--red);width:100%}.console-speaker{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--dim)}.console-body{min-width:0}.console-text{font-size:18px;line-height:1.5;color:#ece8fb;max-width:980px}.console.tone-bad .console-text{color:#ffc4ce}.console.tone-ok .console-text{color:#c9ffe4}.console-sub{color:var(--muted);margin:6px 0 0;font-size:15px}.console-tex{margin-top:10px;font-size:22px;color:#fff}.console-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.console-actions>div+button,.console-actions .btn{min-width:150px}.console-keys{margin-top:10px;display:flex;gap:16px;flex-wrap:wrap}.keyhint{font-family:var(--mono);font-size:11px;color:var(--dim);display:inline-flex;gap:6px;align-items:center}.morph{display:inline-grid}.morph-layer{grid-area:1 / 1}.morph-in{animation:morph-in .42s ease-out}.morph-out{animation:morph-out .42s ease-in forwards}@keyframes morph-in{0%{opacity:0;filter:blur(5px);transform:translateY(6px)}}@keyframes morph-out{to{opacity:0;filter:blur(5px);transform:translateY(-6px)}}.ask{margin-top:12px;border-left:2px solid var(--amber);padding-left:14px}.ask-prompt{color:#fff;margin-bottom:10px;font-size:16px}.ask-tag{font-family:var(--mono);font-size:12px;color:var(--bg);background:var(--amber);padding:2px 7px;letter-spacing:.15em;margin-right:6px}.ask-options{display:flex;flex-wrap:wrap;gap:8px}.opt{border:1px solid var(--line2);background:#120f26;padding:8px 14px;cursor:pointer;font-size:15px;display:inline-flex;gap:8px;align-items:center}.opt:hover:not(:disabled){border-color:var(--amber)}.opt.right{border-color:var(--green);background:#4dffa61a}.opt.wrong{border-color:var(--red);background:#ff54701a}.opt.off{opacity:.45}.ask-explain{color:#d8d2ee;margin:10px 0 0;font-size:15px}.gate{margin:10px 0 0;font-family:var(--mono);font-size:13px;color:var(--amber)}.gate.done{color:var(--green)}.hints{margin:10px 0 0;padding-left:20px;color:var(--amber);font-size:15px}.hints li{margin-bottom:4px}.integrity{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--dim)}.integrity div{display:flex;gap:4px}.integrity i{width:26px;height:9px;border:1px solid var(--line2);transform:skew(-20deg)}.integrity i.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent)}.brief{height:100%;display:grid;grid-template-columns:minmax(260px,.8fr) 1.4fr;align-items:center;gap:4vw;padding:3vh 6vw;cursor:pointer}.brief-eye{display:flex;flex-direction:column;align-items:center;gap:14px;filter:drop-shadow(0 0 30px #28e7fa33)}.brief-id{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--dim);text-transform:uppercase}.brief-head>span{font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--accent)}.brief-head h2{font-family:var(--display);font-size:clamp(30px,3.4vw,48px);margin:6px 0 4px}.brief-head p{margin:0 0 26px;color:var(--muted);font-family:var(--mono)}.brief-lines{font-size:19px;line-height:1.55;max-width:820px}.brief-line{margin:0 0 14px}.brief-line.past{color:#b7afd2}.prompt{color:var(--accent);font-family:var(--mono)}.brief-objective{margin-top:22px;border:1px solid var(--accent);padding:14px 18px;background:#28e7fa0d;font-size:17px;max-width:820px;animation:screen-in .4s}.brief-objective-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--accent);margin-bottom:6px}.brief-foot{margin-top:26px;font-family:var(--mono);font-size:12px;color:var(--dim)}.play-stage.forge{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;padding:16px 26px 10px}.forge-top{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.forge-tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--accent)}.forge-top h3{font-family:var(--display);margin:4px 0 6px;font-size:22px}.forge-brief{margin:0;color:#d4cdea;max-width:820px;line-height:1.5}.forge-goal{font-size:24px;border:1px solid #ffbc5e88;background:#ffbc5e0d;padding:10px 18px;min-width:260px}.forge-goal-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--amber);margin-bottom:4px}.forge-derivation{overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:8px 0}.dline{display:grid;grid-template-columns:40px 1fr 260px;align-items:center;gap:12px;color:#b6aed0;font-size:18px}.dline .eq{text-align:right;font-size:22px;color:var(--dim)}.dline .why{font-family:var(--mono);font-size:12px;color:var(--dim);border-left:1px solid var(--line);padding-left:12px}.dline.active{color:#fff;font-size:36px;padding:10px 0}.dline.active .why{color:var(--accent)}.forge-expr{cursor:pointer}.forge-expr [data-n]{border-radius:4px;transition:background .12s}.fx-hov{background:#ffffff10}.fx-sel{background:#28e7fa26;box-shadow:0 0 0 2px var(--cyan),0 0 18px #28e7fa55;border-radius:4px}.fx-cand{box-shadow:0 0 0 2px var(--amber);border-radius:4px;animation:cand 1s ease-in-out infinite}@keyframes cand{50%{box-shadow:0 0 0 2px var(--amber),0 0 16px #ffbc5e88}}.fx-new{animation:fresh .9s ease-out;border-radius:4px}@keyframes fresh{0%{background:#4dffa640;box-shadow:0 0 22px #4dffa6aa}}.qed{color:var(--green)}.forge-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.tool{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;border:1px solid var(--line);background:#0d0b1e;padding:8px 12px;cursor:pointer;font-size:14px;transition:border-color .15s,opacity .15s,box-shadow .15s}.tool-head{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);display:flex;gap:6px;align-items:center}.tool-cond{font-size:12px;color:var(--amber)}.tool.no{opacity:.35}.tool.ok{border-color:var(--cyan);box-shadow:inset 0 0 18px #28e7fa1a}.tool.ok .tool-head{color:var(--cyan)}.tool.blocked{border-color:#ffbc5e99}.tool.pending{box-shadow:0 0 0 2px var(--amber),0 0 18px #ffbc5e55}.tool:hover:not(:disabled){border-color:#fff}.forge-meta{display:flex;gap:12px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--muted)}.forge-meta b{color:#fff}.play-stage.forge.solved .dline.active{color:var(--green)}.codex-stage{overflow-y:auto;display:grid;place-items:start center;padding:18px}.shard-in{animation:shard .7s cubic-bezier(.2,.9,.2,1);width:min(980px,100%)}@keyframes shard{0%{opacity:0;transform:perspective(900px) rotateX(18deg) translateY(30px);filter:blur(6px)}}.codex-card{border:1px solid var(--line2);background:linear-gradient(180deg,#110e26,#0b0a1a);padding:22px 28px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}.codex-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--accent)}.codex-card h3{font-family:var(--display);font-size:26px;margin:6px 0}.codex-summary{color:#e0daf4;font-size:17px;margin:0 0 14px}.codex-blocks{display:flex;flex-direction:column;border-top:1px solid var(--line)}.codex-block{display:grid;grid-template-columns:190px minmax(0,1fr);gap:4px 18px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.codex-block>h4{grid-row:span 2;align-self:start;padding-top:6px}.codex-block>p{grid-column:2}.codex-block h4,.codex-pitfalls h4,.codex-aif h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--muted);margin:0 0 6px;text-transform:uppercase}.codex-block p{margin:2px 0 0;color:#cfc8e6;line-height:1.45}.codex-tex{grid-column:2;font-size:18px;overflow-x:auto;overflow-y:hidden;text-align:left}.codex-tex .katex-display{text-align:left}.codex-tex .katex-display>.katex{text-align:left}.codex-pitfalls{margin-top:16px;border:1px solid #ff547044;padding:10px 14px;background:#ff54700a}.codex-pitfalls ul{margin:0;padding-left:18px;color:#ffd2da}.codex-aif{margin-top:14px;border:1px solid #ff3ba744;padding:10px 14px;background:#ff3ba70a}.aif-row p{margin:4px 0 8px;color:#ffd3ec}.overlay:not(.katex .overlay){position:fixed;inset:0;z-index:100;background:#04030bcc;backdrop-filter:blur(6px);display:grid;place-items:center;animation:screen-in .25s}.codex-screen{width:min(1280px,94vw);height:min(860px,90vh);display:grid;grid-template-rows:auto 1fr;background:var(--bg2);border:1px solid var(--line2)}.codex-head{display:flex;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.tabs{display:flex}.tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted)}.tabs button.on{color:#fff;border-color:var(--accent)}.codex-head input{flex:1;background:#0006;border:1px solid var(--line2);padding:7px 12px}.codex-body{display:grid;grid-template-columns:300px 1fr;min-height:0}.codex-list{border-right:1px solid var(--line);overflow-y:auto;padding:8px}.codex-item{display:block;width:100%;text-align:left;background:none;border:1px solid transparent;padding:8px 10px;cursor:pointer;font-size:14px}.codex-item span{font-family:var(--mono);font-size:11px;color:var(--accent);margin-right:8px}.codex-item small{display:block;font-family:var(--mono);font-size:10px;color:var(--dim)}.codex-item.on{border-color:var(--accent);background:#28e7fa10}.codex-item.locked{color:var(--dim);cursor:default}.codex-view{overflow-y:auto;padding:18px}.lexicon{overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px;align-content:start}.lex{display:grid;grid-template-columns:104px 1fr;gap:12px;border:1px solid var(--line);padding:10px;opacity:.6}.lex.known{opacity:1;border-color:var(--line2)}.lex-sym{display:grid;place-items:center;font-size:19px;background:#0006;overflow:hidden;padding:4px;text-align:center}.lex-body b{display:block}.lex-body small{color:var(--accent);font-family:var(--mono);font-size:11px}.lex-body p{margin:6px 0 0;font-size:14px;color:#cfc8e6}.glyph-warn{color:var(--amber)!important}.glyph-aif{color:#ff9fd6!important}.glyph-tip{position:fixed;z-index:300;background:#100d24f5;border:1px solid var(--violet);box-shadow:0 10px 40px #000a;padding:12px 14px;pointer-events:none;animation:screen-in .15s;font-size:14px}.glyph-tip-head{display:flex;gap:12px;align-items:center}.glyph-tip-sym{font-size:26px;min-width:48px;text-align:center}.glyph-tip-head small{display:block;color:var(--violet);font-family:var(--mono);font-size:11px}.glyph-tip p{margin:8px 0 0;color:#ddd7f0;line-height:1.45}.settings,.pause-card{width:min(560px,92vw);background:var(--bg2);border:1px solid var(--line2);padding:26px 28px;display:flex;flex-direction:column;gap:12px}.settings h2,.pause-card h2{font-family:var(--display);margin:0 0 8px}.settings .row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}.settings .row small{display:block;color:var(--dim);font-size:12px}.settings select{background:#0008;border:1px solid var(--line2);padding:4px 8px}.settings-data>span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--dim)}.settings-data div{display:flex;gap:8px;margin-top:8px}.pause{position:absolute;inset:0;z-index:50;background:#04030bcc;backdrop-filter:blur(5px);display:grid;place-items:center}.pause-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--accent)}.results{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#28e7fa14,transparent 60%),#04030be6;backdrop-filter:blur(6px);animation:screen-in .35s}.results-card{width:min(760px,92vw);text-align:center;padding:30px 34px;border:1px solid var(--line2);background:#0c0a1ef2}.results-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--green)}.results-card h2{font-family:var(--display);font-size:32px;margin:8px 0 20px}.stars{display:flex;justify-content:center;gap:30px}.star{display:flex;flex-direction:column;align-items:center;gap:6px;width:140px}.star svg{width:74px;height:74px;fill:transparent;stroke:var(--line2);transition:fill .3s,stroke .3s}.star small{font-family:var(--mono);font-size:11px;color:var(--dim)}.star.on svg{fill:var(--amber);stroke:#fff3;filter:drop-shadow(0 0 14px #ffbc5eaa);animation:star-in .45s cubic-bezier(.3,1.6,.5,1)}.star.on small{color:var(--amber)}.star.hidden svg{opacity:.25}.star.new:after{content:"NUEVA";font-family:var(--mono);font-size:9px;color:var(--green);letter-spacing:.2em}@keyframes star-in{0%{transform:scale(.2) rotate(-40deg)}}.results-stats{display:flex;justify-content:center;gap:34px;margin:26px 0 18px}.results-stats b{display:block;font-family:var(--display);font-size:24px}.results-stats span{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.12em}.results-glyphs>span{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.14em}.results-glyphs>div{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:8px}.results-actions{margin-top:26px;display:flex;justify-content:center;gap:10px}.stage-btn{pointer-events:auto;border:1px solid var(--line2);background:#120f26;padding:.35em .9em;cursor:pointer;font-family:var(--mono);font-size:.8em;letter-spacing:.04em;color:var(--text)}.stage-btn:hover{border-color:var(--accent)}.stage-btn.on{border-color:var(--accent);background:#28e7fa22;color:#fff}.stage-input{pointer-events:auto;width:6.5em;background:#0009;border:1px solid var(--line2);padding:.3em .5em;font-family:var(--mono);color:#fff;font-size:.9em}.stage-input:focus{outline:none;border-color:var(--accent)}.panel-note{font-family:var(--mono);color:var(--muted)}@media(max-width:1100px){.atlas,.sector{grid-template-columns:1fr}.atlas-panel,.sector-panel,.step-label{display:none}.title-screen{grid-template-columns:1fr}.title-eye{display:none}}.sector-intro{border-left:2px solid var(--accent);padding:4px 0 4px 12px;margin:0 0 18px;font-size:14px;line-height:1.5;color:#d6d0ec}.sector-intro p{margin:0 0 8px}.sector-intro p>span{color:var(--accent);font-family:var(--mono)}.results-module{display:flex;gap:18px;align-items:center;text-align:left;border:1px solid #ff3ba788;background:#ff3ba70f;padding:14px 18px;margin:0 0 18px;animation:shard .8s cubic-bezier(.2,.9,.2,1)}.results-module span{flex:0 0 auto;max-width:8em;font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--magenta)}.results-module b{flex:0 0 auto;max-width:14em;display:block;font-family:var(--display);font-size:20px;margin:4px 0}.results-module p{flex:1 1 auto;margin:0;color:var(--muted)}.flow{animation:flow 1.6s linear infinite}.flow-66{--flow: -66}.flow-50{--flow: -50}@keyframes flow{to{stroke-dashoffset:calc(var(--flow) * 1px)}}.pulse-ring{transform-box:fill-box;transform-origin:center;animation:pulse-ring 2s ease-in-out infinite}@keyframes pulse-ring{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.14);opacity:.12}}.spin-slow{transform-box:fill-box;transform-origin:center;animation:spin 18s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.noesis-eye .eye-outer{animation:spin 30s linear infinite;transform-origin:0 0}.noesis-eye .eye-inner{animation:spin 12s linear infinite reverse;transform-origin:0 0}.noesis-eye .eye-halo,.noesis-eye .eye-pupil{transform-origin:0 0;animation:eye-breathe 3.2s ease-in-out infinite}.noesis-eye.mood-talk .eye-halo,.noesis-eye.mood-talk .eye-pupil{animation-duration:.35s}.noesis-eye .eye-pupil{filter:drop-shadow(0 0 3px var(--eye))}@keyframes eye-breathe{50%{transform:scale(1.18)}}.noesis-eye.still *{animation:none!important}.oracle{display:flex;align-items:center;gap:.8em;border:1px solid #ff3ba7aa;background:#ff3ba714;padding:.5em .9em;box-shadow:0 0 18px #ff3ba733;animation:oracle-flicker 3.5s steps(1) infinite}.oracle-tag{font-family:var(--mono);font-size:.75em;letter-spacing:.2em;color:var(--magenta)}.oracle-text{color:#ffd3ec}@keyframes oracle-flicker{0%,92%,to{opacity:1}93%{opacity:.55}95%{opacity:.9}96%{opacity:.4}}.place{position:absolute;inset:0;width:100%;height:100%}.blink{animation:blink-led 2.4s steps(2) infinite}@keyframes blink-led{50%{opacity:.15}}.neon-flicker{animation:neon 6s infinite}@keyframes neon{0%,18%,22%,60%,to{opacity:1}20%{opacity:.45}61%{opacity:.7}}.rain{animation:rain-fall .6s linear infinite}@keyframes rain-fall{to{transform:translate(-16px,120px)}}.scene-rain{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(105deg,transparent 0 22px,#9fb4ff10 22px 23px);animation:rain-css .5s linear infinite}@keyframes rain-css{to{background-position:-20px 90px}}.reduced .rain,.reduced .scene-rain,.reduced .neon-flicker,.reduced .blink{animation:none}.portrait{display:block;overflow:visible;transition:filter .3s,opacity .3s}.portrait.dim{filter:brightness(.45) saturate(.6)}.portrait.talking .portrait-body{animation:talk-bob .9s ease-in-out infinite;transform-origin:150px 360px}@keyframes talk-bob{50%{transform:translateY(-3px) scale(1.005)}}.portrait .eyes{animation:eye-blink 5.2s infinite;transform-box:fill-box;transform-origin:center}@keyframes eye-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.scene{position:relative;height:100%;overflow:hidden;cursor:pointer}.scene-cast{position:absolute;bottom:170px;display:flex;gap:0;align-items:flex-end}.scene-cast.left{left:4vw}.scene-cast.right{right:4vw}.scene-actor{transition:transform .35s ease,filter .35s;transform:translateY(12px) scale(.94);margin:0 -40px}.scene-actor.on{transform:none;z-index:2}.scene-actor svg{width:clamp(200px,22vw,340px);height:auto}.dialogue{position:absolute;left:50%;bottom:28px;transform:translate(-50%);width:min(1100px,92vw);min-height:150px;background:linear-gradient(180deg,#100d22f2,#0a0816f7);border:1px solid #3d3160;border-left:4px solid var(--who);padding:18px 26px 14px;box-shadow:0 20px 60px #000c;backdrop-filter:blur(6px);animation:step-in .3s ease-out}.dialogue.narration{border-left-color:#5d5478;font-style:italic}.dialogue-name{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.dialogue-name b{font-family:var(--display);font-size:17px;letter-spacing:.04em;color:var(--who)}.dialogue-name span{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.08em}.dialogue-text{margin:0;font-size:21px;line-height:1.5;color:#f1edfb}.dialogue-foot{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--mono);font-size:11px;color:var(--dim)}.dialogue-foot .ready{color:var(--accent);animation:blink 1.2s steps(2) infinite}.scene-skip{position:absolute;top:16px;right:20px;background:#0008;border:1px solid var(--line2);color:var(--muted);font-family:var(--mono);font-size:11px;padding:6px 12px;cursor:pointer}.scene-skip:hover{color:#fff;border-color:var(--accent)}.play.with-notes{grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:minmax(0,1fr) auto}.play.with-notes>.play-stage{grid-column:1;grid-row:1}.play.with-notes>.notebook{grid-column:2;grid-row:1 / span 2}.play.with-notes>.console{grid-column:1;grid-row:2}.notebook{border-left:1px solid var(--line2);background:linear-gradient(180deg,#0f0c20,#0a0817);padding:16px 16px 20px;overflow-y:auto}.notebook header{border-bottom:1px dashed var(--line2);padding-bottom:10px;margin-bottom:10px}.notebook header span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--accent)}.notebook header b{font-family:var(--display);font-size:15px;font-weight:600}.notebook-empty{color:var(--dim);font-size:13px}.notebook ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.notebook li{border-left:2px solid var(--accent);padding:4px 0 6px 10px;animation:note-in .6s ease-out}@keyframes note-in{0%{opacity:0;transform:translate(12px);background:#28e7fa22}}.note-label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.note-tex{font-size:16px;overflow-x:auto;overflow-y:hidden}.note-tex .katex-display{text-align:left;margin:4px 0 0}.note-tex .katex-display>.katex{text-align:left}.notebook li p{margin:4px 0 0;font-size:13px;line-height:1.45;color:#cfc8e6}.console-face{width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid var(--who);background:#0006;box-shadow:0 0 14px color-mix(in srgb,var(--who) 40%,transparent)}.console-face svg{margin-top:-2px}.console-speaker span{color:var(--who)}.title-screen{position:relative;height:100%;display:grid;place-items:center start;padding:0 8vw;overflow:hidden}.title-bg{filter:brightness(.75)}.title-block{position:relative;z-index:2;max-width:640px}.title-kicker{font-family:var(--mono);letter-spacing:.4em;font-size:13px;color:var(--accent)}.title-screen .logo{margin-top:10px}.title-screen .title-sub{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:20px;color:#e6e0f6;margin:18px 0 36px}.badge{width:38px;height:38px;display:grid;place-items:center;font-family:var(--display);font-weight:800;color:var(--accent);border:2px solid var(--accent);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#28e7fa14}.atlas-hook{font-size:17px;line-height:1.5;color:#e3dcf5}.case-card{transition:filter .2s}.case-card:hover{filter:brightness(1.08)}.case-card.rec rect:nth-child(2){animation:rec-glow 1.8s ease-in-out infinite}@keyframes rec-glow{50%{stroke-opacity:.3}}.card-code{font-family:var(--mono);font-weight:700;letter-spacing:.08em}.card-title{display:block;font-family:var(--display);font-weight:600;white-space:normal;width:9em;text-align:center;line-height:1.15}.card-sub{display:block;font-family:var(--mono);font-size:.66em;white-space:normal;width:13em;margin:.45em auto 0;text-align:center;line-height:1.2}.card-stamp{font-family:var(--display);font-weight:800;letter-spacing:.12em}.board-title{font-family:var(--mono);letter-spacing:.2em}.sector-desc{color:#d9d3ee;line-height:1.5;font-size:15px}.level-card-learn{font-size:14px;color:#cfc8e6;line-height:1.5}.level-card-learn span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--accent);margin-right:4px}.results-card{width:min(1180px,94vw);display:grid;grid-template-columns:1fr 1fr;gap:28px;text-align:left;max-height:90vh}.results-left{position:relative;text-align:center}.stamp{position:absolute;top:-6px;right:6px;transform:rotate(-12deg);border:4px solid #ff4d6d;color:#ff4d6d;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.12em;padding:6px 14px;opacity:.9;animation:stamp-in .5s cubic-bezier(.3,1.6,.5,1) .2s both}@keyframes stamp-in{0%{transform:rotate(-12deg) scale(2.4);opacity:0}}.results-notes{border-left:1px solid var(--line2);padding-left:22px;overflow-y:auto;max-height:80vh}.results-notes-title{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--accent)}.results-notes ol{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:8px}.results-notes li{border-left:2px solid var(--line2);padding-left:10px}.results-notes li span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.results-notes li .katex-display{text-align:left;margin:2px 0}.results-notes li .katex-display>.katex{text-align:left}.results-notes li p{margin:2px 0 0;font-size:13px;color:#cfc8e6}.results-module span{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--magenta)}@media(max-width:1100px){.play.with-notes{grid-template-columns:1fr}.play.with-notes>.notebook{display:none}.play.with-notes.lesson{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto}.play.with-notes>.board{grid-column:1;grid-row:3;max-height:30vh}.results-card{grid-template-columns:1fr}}.stage-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none}.play-stage>.stage-fit{position:relative;z-index:1}.prop-id,.prop-tag,.panel-title{font-family:var(--mono);letter-spacing:.06em}.card-rank{font-family:var(--display);font-weight:800}.stage-choices{display:flex;gap:.4em;align-items:center;white-space:nowrap}.stage-choices-label{color:var(--muted);font-size:.8em;margin-right:.4em}.stage-btn:disabled{opacity:.4;cursor:default}.res-screen{width:min(1400px,96vw);height:min(920px,94vh);display:grid;grid-template-rows:auto 1fr;background:var(--bg2);border:1px solid var(--line2)}.res-head{display:flex;gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line)}.res-title{font-family:var(--display);font-weight:700;letter-spacing:.14em;color:var(--accent)}.res-head input{flex:1;min-width:160px;background:#0006;border:1px solid var(--line2);padding:7px 12px;color:#fff}.res-body{display:grid;grid-template-columns:270px 1fr;min-height:0}.res-nav{border-right:1px solid var(--line);overflow-y:auto;padding:10px 8px;display:flex;flex-direction:column;gap:2px}.res-nav-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);padding:4px 10px 8px}.res-nav button{text-align:left;background:none;border:none;border-left:2px solid transparent;padding:7px 10px;cursor:pointer;color:#cfc8e6;font-size:14px;line-height:1.3}.res-nav button span{display:inline-block;min-width:2.6em;font-family:var(--mono);color:var(--muted)}.res-nav button:hover{background:#ffffff08}.res-nav button.on{border-color:var(--accent);color:#fff;background:#ffffff0a}.res-doc{overflow-y:auto;padding:18px 34px 80px;scroll-padding-top:12px}.res-world{margin:8px 0 18px}.res-world span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent)}.res-world h2{margin:2px 0 0;font-family:var(--display)}.res-topic{border-top:1px solid var(--line);padding:18px 0 8px}.res-topic>header{display:flex;align-items:center;gap:16px;margin-bottom:8px}.res-code{font-family:var(--mono);font-size:15px;color:var(--accent);border:1px solid var(--accent);padding:4px 8px}.res-topic h3{margin:0;font-size:22px}.res-topic header small{color:var(--muted)}.res-actions{margin-left:auto;display:flex;gap:8px}.res-sec h4{margin:14px 0 6px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.res-entry{display:grid;grid-template-columns:220px 1fr;gap:18px;padding:7px 0;border-bottom:1px dashed #ffffff10}.res-entry b{font-weight:600;color:#fff;font-size:15px}.res-entry p{margin:2px 0 0;color:#cfc8e6;font-size:14px;line-height:1.5}.res-tex{overflow-x:auto;overflow-y:hidden;font-size:17px}.res-tex .katex-display{margin:0;text-align:left}.res-tex .katex-display>.katex{text-align:left}.res-notation{border-collapse:collapse;width:100%}.res-notation td{padding:7px 0;border-bottom:1px dashed #ffffff10;vertical-align:top}.res-notation .res-sym{width:220px;font-size:19px;padding-right:18px}.res-notation small{color:var(--muted)}.res-notation p{margin:2px 0 0;color:#cfc8e6;font-size:14px}.res-warn{color:var(--amber, #ffbc5e)!important}.res-warn:before{content:"⚠ "}.res-pitfalls{margin:0;padding-left:18px;color:#cfc8e6;font-size:14px;line-height:1.6}@media(max-width:900px){.res-body{grid-template-columns:1fr}.res-nav{display:none}.res-entry{grid-template-columns:1fr;gap:4px}}@media print{body *{visibility:hidden}.res-doc,.res-doc *{visibility:visible}.res-doc{position:absolute;inset:0;overflow:visible;background:#fff;color:#000}.res-doc p,.res-doc b,.res-doc h2,.res-doc h3,.res-doc li{color:#000!important}.res-actions{display:none!important}}.step-track button{background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer}.step-track button:hover .step-label{color:#fff}.level-card-alt{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.play.with-notes>.board{grid-column:2;grid-row:1 / span 2}.play.with-notes.lesson{grid-template-columns:minmax(0,1fr) 400px}.board{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:14px 16px 24px;background:linear-gradient(180deg,#0a1714,#08100f);border-left:1px solid #1f3a33}.board header{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px dashed #2c5248;margin-bottom:10px}.board header span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#3df5c9}.board header b{font-family:var(--display);font-size:15px;color:#e6fff8}.board ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.board li{padding:6px 0 6px 10px;border-left:2px solid #2c5248;transition:opacity .4s}.board li.past{opacity:.72}.board li.now{border-left-color:#3df5c9;animation:note-in .5s ease-out}.board-tex{font-size:17px;overflow-x:auto;overflow-y:hidden;color:#effffb}.board-tex .katex-display{text-align:left;margin:4px 0 0}.board-tex .katex-display>.katex{text-align:left}.board li p{margin:4px 0 0;font-size:13px;line-height:1.45;color:#bfe6dc}.ask-tag.check{background:#3df5c9}.atlas-label{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.15}.atlas-label small{font-size:.72em;opacity:.65;font-family:var(--mono);letter-spacing:.06em}.prologue-guide{position:absolute;inset:0;display:grid;place-items:center}.guide-card{position:relative;width:min(820px,92vw);max-height:90vh;overflow-y:auto;padding:30px 36px;background:#0b0918ee;border:1px solid var(--line2);border-top:3px solid #3df5c9}.guide-card h2{margin:4px 0 12px;font-family:var(--display)}.guide-card p{color:#d9d3ee;line-height:1.6}.guide-steps{list-style:none;counter-reset:g;padding:0;margin:14px 0;display:grid;gap:10px}.guide-steps li{counter-increment:g;display:grid;grid-template-columns:34px 140px 1fr;gap:10px;align-items:baseline}.guide-steps li:before{content:counter(g);font-family:var(--mono);color:#3df5c9;border:1px solid #3df5c9;text-align:center;padding:2px 0}.guide-steps b{font-family:var(--display)}.guide-steps span{color:#cfc8e6;line-height:1.5}.lesson-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#0f2a26,#070d0e 70%),#070d0e}.lesson-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#3df5c90d 1px,transparent 1px),linear-gradient(90deg,#3df5c90d 1px,transparent 1px);background-size:48px 48px}.lesson-kicker{position:absolute;left:18px;top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#3df5c9}.mat-input{display:flex;align-items:center;gap:.15em;pointer-events:auto}.mat-input .mat-paren{font-size:3.4em;font-weight:200;line-height:1;color:var(--muted);transform:scaleX(.6)}.mat-input .mat-grid{display:grid;gap:.35em .5em}.mat-input .stage-input{width:3em;text-align:center}.mat-input .mat-label{font-family:var(--mono);color:var(--muted);margin-right:.4em}:root{--label-min: 12px}@media(max-width:900px),(max-height:520px){:root{--label-min: 11px}}.play.with-notes,.play.with-notes.lesson{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr) auto}.play.with-notes>.rail{grid-column:2;grid-row:1 / span 2;min-height:0;display:flex;flex-direction:column;position:relative}.rail>.board,.rail>.notebook{flex:1 1 auto;min-height:0;border-left:1px solid var(--line)}.rail-toggle,.rail-close,.rail-scrim{display:none}.play-stage{display:flex;flex-direction:column;padding:6px 12px 0;min-height:0}.stage-area{position:relative;flex:1 1 0;min-height:0}.stage-area>.stage-fit{position:absolute;inset:0;z-index:1}.stage-area>.lesson-bg,.stage-area>.stage-backdrop{position:absolute;inset:0;z-index:0}.stage-backdrop{filter:blur(3px) saturate(.6);opacity:.55}.lesson-bg:before{opacity:.5}.play.lesson .stage-dots,.play.practice .stage-dots,.play.demo .stage-dots{opacity:.18}.stage-meta{position:absolute;top:2px;left:4px;right:4px;z-index:3;display:flex;align-items:center;gap:14px;pointer-events:none}.stage-meta>*{pointer-events:auto}.stage-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.stage-meta .beat-dots{position:static;transform:none;margin:0 auto}.beat-dots i{width:22px;height:4px;border-radius:2px}.stage-meta .skip-demo{position:static;font-size:12px;color:var(--muted);padding:8px 4px}.challenge-head{top:4px;left:4px;right:4px;font-size:13px}.focus-strip{flex:0 0 auto;min-height:0;max-height:34%;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:0 8px;transition:min-height .3s}.play.lesson .focus-strip{min-height:92px;justify-content:center;border-top:1px solid #1f3a33;background:linear-gradient(180deg,#08131200,#0a1715)}.play.demo .focus-strip.on{border-top:1px solid var(--line);padding-top:6px;padding-bottom:6px}.focus-line{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:16px;animation:focus-in .45s ease-out}@keyframes focus-in{0%{opacity:0;transform:translateY(10px)}}.focus-label{grid-column:1;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#3df5c9;max-width:11em;white-space:normal;line-height:1.3}.play.demo .focus-label{color:var(--accent)}.focus-tex{grid-column:2;font-size:clamp(18px,1.9vw,30px);color:#f2fffb;overflow-x:auto;overflow-y:hidden}.focus-strip:has(.focus-line+.focus-line) .focus-tex{font-size:clamp(16px,1.45vw,24px)}.focus-strip:has(.focus-line+.focus-line) .focus-body{margin-top:0}.focus-tex .katex-display{margin:4px 0;text-align:left}.focus-tex .katex-display>.katex{text-align:left}.focus-body{grid-column:2;margin:0 0 4px;font-size:15px;line-height:1.45;color:#bfe6dc;transition:opacity .5s}.play.demo .focus-body{color:#d6d0ec}.flyer{background:#0a1715ee;border:1px solid #3df5c966;border-radius:6px;padding:4px 8px}.board{background:#08100f}.board li.past{opacity:.5;padding-top:2px;padding-bottom:2px}.board li.past .board-tex{font-size:14px}.board li.newest{border-left-color:#3df5c9;animation:note-in .6s ease-out .45s both}.board-tex{font-size:16px}.note-label{font-size:11.5px}.notebook li:last-child{border-left-color:var(--accent)}.notebook li:not(:last-child){opacity:.6;border-left-color:var(--line2)}.console{min-height:0;padding:12px 20px 14px;gap:16px}.console-text{font-size:18px;line-height:1.5}.console-speaker span{font-size:11px}.console-actions{min-width:160px}.wait-reason{font-family:var(--mono);font-size:12px;color:var(--amber);text-align:right}.btn:disabled{opacity:.45;cursor:not-allowed}.gate{display:flex;align-items:flex-start;gap:10px;margin:12px 0 0;padding:8px 12px;font-family:inherit;font-size:16px;line-height:1.4;color:#ffe2b0;background:#ffbc5e14;border:1px solid #ffbc5e55;border-radius:6px}.gate.done{color:#c9ffe4;background:#4dffa612;border-color:#4dffa655}.gate-icon{font-size:18px;line-height:1.2}.gate:not(.done) .gate-icon{animation:gate-nudge 1.4s ease-in-out infinite}@keyframes gate-nudge{50%{transform:translateY(-3px)}}.ask-tag{text-transform:uppercase}.opt{min-height:40px;font-size:16px;border-radius:4px}.opt kbd{font-size:12px}@media(hover:none){.console-keys,.opt kbd,.keyhint{display:none}}.knob{touch-action:none}.knob .knob-body{transition:stroke-width .15s}.knob:hover .knob-body{stroke-width:5}.knob .knob-chevrons{opacity:.55;transition:opacity .2s}.knob:hover .knob-chevrons,.knob.cue .knob-chevrons{opacity:1}.knob-halo{transform-box:fill-box;transform-origin:center;animation:knob-halo 1.6s ease-out infinite}@keyframes knob-halo{0%{transform:scale(.9);opacity:.9}to{transform:scale(1.8);opacity:0}}.knob-label{font-family:var(--mono);background:#070613cc;padding:.05em .35em;border-radius:3px}.ghost-hand{opacity:0;animation:ghost-x 2.6s ease-in-out infinite;animation-delay:.8s}.ghost-hand.ghost-y{animation-name:ghost-y}.ghost-hand.ghost-xy{animation-name:ghost-xy}@keyframes ghost-x{0%{opacity:0;transform:translate(0)}12%{opacity:.95;transform:translate(0)}60%{opacity:.95;transform:translate(90px)}80%,to{opacity:0;transform:translate(90px)}}@keyframes ghost-y{0%{opacity:0;transform:translate(0)}12%{opacity:.95;transform:translate(0)}60%{opacity:.95;transform:translateY(-80px)}80%,to{opacity:0;transform:translateY(-80px)}}@keyframes ghost-xy{0%{opacity:0;transform:translate(0)}12%{opacity:.95;transform:translate(0)}60%{opacity:.95;transform:translate(70px,-60px)}80%,to{opacity:0;transform:translate(70px,-60px)}}.ghost-press{animation:ghost-press 2.6s ease-in-out infinite .8s;transform-box:fill-box;transform-origin:center}@keyframes ghost-press{0%,10%{transform:scale(.4)}16%{transform:scale(1.4)}60%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.ghost-hand,.knob-halo,.ghost-press{animation:none}.ghost-hand{opacity:.9}}.stage-btn{min-height:2.2em;border-radius:4px}.cue-on .stage-btn:not(:disabled),.cue-on .stage-input:placeholder-shown{animation:btn-cue 1.8s ease-in-out infinite}@keyframes btn-cue{50%{box-shadow:0 0 0 4px #ffbc5e44;border-color:var(--amber)}}.stage-input{min-height:2em;border-radius:4px}.stage-input:focus{box-shadow:0 0 0 3px #28e7fa44}@media(max-width:1699px),(max-height:640px){.play.with-notes,.play.with-notes.lesson{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.play.with-notes>.rail{position:fixed;top:0;right:0;bottom:0;width:min(380px,88vw);z-index:40;transform:translate(105%);transition:transform .3s ease;box-shadow:-20px 0 40px #000a;display:flex!important}.play.with-notes>.rail.open{transform:none}.rail-close{display:block;position:absolute;top:8px;right:10px;z-index:2;width:40px;height:40px;background:#0b0a18;border:1px solid var(--line2);color:#fff;font-size:16px;cursor:pointer}.rail-scrim{display:block;position:fixed;inset:0;z-index:39;background:#0008}.rail-toggle{display:inline-flex;position:absolute;z-index:6;right:12px;top:44px;align-items:center;gap:8px;min-height:36px;padding:0 12px;background:#0b0a18e6;border:1px solid var(--line2);border-radius:18px;color:var(--text);font-family:var(--mono);font-size:12px;letter-spacing:.08em;cursor:pointer}.play.lesson .rail-toggle{border-color:#2c5248;color:#c9fff0}.rail-toggle b{min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:var(--bg);font-size:12px}.rail-toggle b.bump{animation:pop .45s}.play.with-notes{position:relative}}@media(max-width:900px),(max-height:520px){.level-hud{grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;padding:4px 10px;min-height:40px}.hud-back span,.hud-stars small{display:none}.hud-back{min-width:40px;min-height:36px}.hud-title{min-width:0;overflow:hidden}.hud-name{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-track{display:none}.hud-stars span{font-size:15px}.hud-menu{width:40px;height:36px}.console{padding:8px 12px 10px;gap:10px;grid-template-columns:auto minmax(0,1fr)}.console-actions{grid-column:1 / -1;flex-direction:row-reverse;justify-content:flex-start;align-items:center;flex-wrap:wrap;min-width:0}.console-actions .btn,.console-actions>div+button{min-width:0}.console-face{width:44px;height:44px}.console-text{font-size:16px}.focus-tex{font-size:18px}.play.lesson .focus-strip{min-height:64px}}@media(max-height:520px)and (orientation:landscape){.play.with-notes,.play.with-notes.lesson{grid-template-columns:minmax(0,1fr) minmax(260px,34%);grid-template-rows:minmax(0,1fr)}.play.with-notes>.play-stage{grid-column:1;grid-row:1;padding:2px 6px 0}.play.with-notes>.console{grid-column:2;grid-row:1;max-height:none;border-top:none;border-left:1px solid var(--line2);grid-template-columns:minmax(0,1fr);align-content:start}.console-speaker{flex-direction:row}.console-face{width:36px;height:36px}.console-text{font-size:15px}.focus-strip{max-height:30%}.play.lesson .focus-strip{min-height:52px}.focus-tex{font-size:16px}.focus-body{font-size:13px}.play.with-notes>.rail-toggle{top:6px;right:12px}.stage-kicker{display:none}}@media(max-width:700px)and (orientation:portrait){.play.with-notes,.play.with-notes.lesson{grid-template-rows:auto minmax(0,1fr)}.play.with-notes>.play-stage{height:auto}.play-stage .stage-area{flex:0 0 auto;aspect-ratio:16 / 9;width:100%}.play.with-notes>.console{max-height:none;overflow-y:auto}.focus-strip{max-height:none}.rail-toggle{top:6px}.stage-meta .skip-demo{display:none}}.rotate-hint{display:none}@media(max-width:700px)and (orientation:portrait){.rotate-hint{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#ffbc5e1a;border-bottom:1px solid #ffbc5e55;color:#ffe2b0;font-size:14px}.rotate-hint button{margin-left:auto;background:none;border:1px solid #ffbc5e55;color:#ffe2b0;min-height:32px;padding:0 10px}.rotate-hint .rot-icon{font-size:18px;animation:rot-phone 2.4s ease-in-out infinite;display:inline-block}@keyframes rot-phone{40%,70%{transform:rotate(90deg)}}}.level{grid-template-rows:auto auto minmax(0,1fr)}.level-notice{min-height:0}.portrait .mouth-open{opacity:0}.portrait.talking .mouth-open{animation:mouth-open .36s steps(1) infinite}.portrait.talking .mouth-closed{animation:mouth-closed .36s steps(1) infinite}@keyframes mouth-open{50%{opacity:1}}@keyframes mouth-closed{50%{opacity:0}}.scene-cast{bottom:150px;z-index:1}.scene-cast.left{left:max(2vw,calc(50% - 600px))}.scene-cast.right{right:max(2vw,calc(50% - 600px))}.scene-actor{margin:0 -30px;transform:translateY(16px) scale(.86);transform-origin:50% 100%}.scene-actor.on{transform:none}.scene-actor svg{width:auto;height:clamp(240px,46vh,440px)}.portrait.dim{filter:brightness(.5) saturate(.7) blur(.4px)}.dialogue{z-index:2;bottom:22px;min-height:128px;border-radius:6px}.dialogue-name b{font-size:18px}.dialogue-name span,.dialogue-foot{font-size:12px}.dialogue-face{display:none}.scene-skip{font-size:12px;padding:8px 14px;min-height:36px;z-index:3}@media(max-height:520px)and (orientation:landscape){.scene-cast{bottom:112px}.scene-actor svg{height:clamp(150px,52vh,230px)}.dialogue{bottom:8px;min-height:96px;padding:10px 16px 8px}.dialogue-text{font-size:16px}}@media(max-width:700px)and (orientation:portrait){.scene-cast{display:none}.dialogue{left:8px;right:8px;width:auto;transform:none;bottom:10px;display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:12px;padding:12px 14px 10px}.dialogue.narration{grid-template-columns:minmax(0,1fr)}.dialogue-face{display:block;grid-row:1 / span 3;align-self:start;border-radius:50%;overflow:hidden;width:84px;height:84px;border:2px solid var(--who);background:#0006}.dialogue-text{font-size:17px}.dialogue-name{flex-direction:column;gap:0}}.scene-backdrop{filter:blur(1.5px) saturate(.8)}.dialogue-face svg{width:150px;height:auto;margin:-30px 0 0 -33px}.k-touch{display:none}@media(hover:none){.k-desk{display:none}.k-touch{display:inline}}.coach{position:fixed;inset:0;z-index:80}.coach-spot{position:fixed;border-radius:8px;box-shadow:0 0 0 3px var(--amber),0 0 0 9999px #05040cc4;transition:all .35s ease;pointer-events:none}.coach-card{position:fixed;width:min(340px,calc(100vw - 24px));background:#100d22;border:1px solid var(--amber);border-radius:8px;padding:14px 16px 12px;box-shadow:0 20px 50px #000c;transition:top .35s ease,left .35s ease}.coach-step{font-family:var(--mono);font-size:12px;color:var(--amber)}.coach-card b{display:block;font-family:var(--display);font-size:17px;margin:2px 0 6px}.coach-card p{margin:0 0 12px;font-size:15px;line-height:1.45;color:#e4def6}.coach-actions{display:flex;justify-content:space-between;gap:10px}.stage-html{--halo: #070613;text-shadow:1px 0 0 var(--halo),-1px 0 0 var(--halo),0 1px 0 var(--halo),0 -1px 0 var(--halo),1px 1px 0 var(--halo),-1px -1px 0 var(--halo),1px -1px 0 var(--halo),-1px 1px 0 var(--halo),2px 0 0 var(--halo),-2px 0 0 var(--halo),0 2px 0 var(--halo),0 -2px 0 var(--halo),0 0 6px var(--halo),0 0 12px var(--halo)}.stage-html .stage-btn,.stage-html .stage-input,.stage-html button{text-shadow:none}.step-label,.note-label,.notebook header span,.board header span,.console-speaker span,.integrity span,.keyhint,.keyhint kbd,.opt kbd,.hud-code,.round-label,.challenge-title{font-size:12px}.step-track li{font-size:12px}.stage-html .prop-tag,.knob-label{background:#070613e6;padding:.04em .35em;border-radius:3px}.stage-html.paper{text-shadow:none}@media(min-width:761px)and (min-height:521px){.title-screen .btn,.title-menu .btn{font-size:14px;padding:12px 20px;min-width:260px}}.topbar,.topbar-rank small,.hud-back{font-size:12px}.knob-inner{font-family:var(--mono);font-weight:600}.guide-card .eyebrow{font-size:12px}.guide-nav{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:18px}.guide-mock{border:1px solid var(--line2);border-radius:8px;background:#0b0a16;font-family:var(--mono);font-size:12px;color:var(--muted);margin:10px 0 14px;overflow:hidden}.gm-top{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line)}.gm-tabs b{color:var(--accent, #3df5c9)}.gm-body{display:grid;grid-template-columns:1fr 26%;grid-template-rows:120px auto auto;gap:6px;padding:6px}.gm-body>div{position:relative;border:1px dashed #3a3560;border-radius:6px;padding:6px 8px 6px 34px;display:flex;align-items:center;gap:10px}.gm-stage{grid-column:1;grid-row:1;justify-content:center;background:#0f1a1a}.gm-rail{grid-column:2;grid-row:1 / 4;flex-direction:column;align-items:stretch!important;justify-content:flex-start;padding-top:34px!important}.gm-rail i{display:block;height:8px;border-radius:3px;background:#2a2850}.gm-rail i.on{background:#3df5c9}.gm-focus{grid-column:1;grid-row:2;color:#e6fff8}.gm-console{grid-column:1;grid-row:3;justify-content:space-between}.gm-n{position:absolute;left:6px;top:6px;width:20px;height:20px;border-radius:10px;display:grid;place-items:center;background:var(--amber, #ffbc5e);color:#0b0a16;font-weight:700}.gm-knob{position:relative;font-size:26px;color:var(--amber, #ffbc5e)}.gm-hand{position:absolute;left:18px;top:14px;font-size:20px;color:#fff;animation:gm-hand 1.6s ease-in-out infinite}@keyframes gm-hand{50%{transform:translate(22px)}}.gm-btn{padding:3px 10px;border-radius:3px;background:var(--amber, #ffbc5e);color:#0b0a16}.guide-legend,.guide-points{margin:0;padding-left:20px;display:grid;gap:8px;font-size:15px;line-height:1.45}.guide-keys{margin:14px 0 0;border-collapse:collapse;font-size:14px}.guide-keys td{padding:4px 10px 4px 0;color:var(--muted)}.guide-keys kbd{font-family:var(--mono);font-size:12px;padding:2px 6px;border:1px solid var(--line2);border-radius:3px;color:var(--text)}.guide-note{margin-top:12px;font-size:14px;color:var(--muted)}@media(max-width:700px){.gm-body{grid-template-columns:1fr 22%}.guide-keys td{padding-right:6px}}.atlas-flow{animation:atlas-flow .9s linear infinite}@keyframes atlas-flow{to{stroke-dashoffset:-24}}.atlas-sym .tex{font-weight:400}.atlas-route{margin-top:18px}.atlas-route p{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;margin:0 0 12px;font-family:var(--mono);font-size:12px;color:var(--dim)}.atlas-route span{flex-basis:100%;font-size:10px;letter-spacing:.16em}.atlas-route em{font-style:normal;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding:2px 8px;border-radius:999px;font-size:11px}.menu-list-symbol .tex{font-weight:400}.cm-name{font-family:var(--mono);font-size:11px;letter-spacing:.22em;fill:#4a4370;pointer-events:none}.cm-name.city{font-size:17px;letter-spacing:.4em;fill:#6a62a0}.cm-sea-name{font-family:var(--mono);font-size:15px;letter-spacing:.6em;fill:#1f5470;pointer-events:none}.cm-sea-name.small{font-size:12px;letter-spacing:.45em}.cm-credit{font-family:var(--mono);font-size:10px;fill:#3f3866}.cm-station{cursor:pointer;transition:opacity .25s}.cm-station.faded{opacity:.32}.cm-station .cm-disc{transition:stroke-width .2s,filter .2s}.cm-station:hover .cm-disc,.cm-station.hl .cm-disc{filter:drop-shadow(0 0 10px var(--accent))}.cm-label{display:flex;flex-direction:column;align-items:center;text-align:center;width:8.2em;line-height:1.15;font-family:var(--mono);text-shadow:0 0 4px #07051a,0 0 8px #07051a,0 0 2px #07051a}.cm-label b{font-family:var(--display);font-size:1em;letter-spacing:.02em;font-weight:700}.cm-label b em{font-style:normal;color:var(--accent);font-family:var(--mono);font-size:.85em;margin-right:2px}.cm-label small{font-size:.72em;opacity:.7;letter-spacing:.05em;margin-top:2px}.cm-label i{font-style:normal;font-size:.66em;letter-spacing:.2em;margin-top:4px;padding:1px 6px;border-radius:3px;background:var(--accent);color:#07051a}.cm-label.above i{order:-1;margin:0 0 4px}.atlas.atlas-v2{grid-template-columns:1fr}.atlas-v2 .atlas-stage{padding:0}.atlas-v2 .atlas-panel{position:absolute;left:18px;top:14px;width:min(540px,40vw);max-height:42vh;overflow-y:auto;padding:16px 22px 18px;border:1px solid color-mix(in srgb,var(--accent) 45%,#2a2350);border-radius:10px;background:linear-gradient(180deg,#0c0a1ce6,#080713f0);box-shadow:0 18px 50px #000a,0 0 0 1px #0006 inset;display:grid;grid-template-columns:1fr auto;column-gap:18px;align-items:start}.atlas-v2 .atlas-panel>*{grid-column:1}.atlas-v2 .atlas-panel h2{font-size:22px;margin:4px 0 6px}.atlas-v2 .atlas-panel .atlas-hook{margin:0 0 8px;font-size:14px}.atlas-v2 .atlas-panel .btn.primary{grid-column:2;grid-row:1 / span 3;align-self:center;white-space:nowrap}.atlas-v2 .atlas-route{margin-top:4px}.atlas-v2 .atlas-route p{margin-bottom:6px}.atlas-v2 .atlas-state{margin:4px 0 0}.cm-tag text{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.02em;fill:#ece9ff;paint-order:stroke;stroke:#07051a;stroke-width:5px;stroke-linejoin:round}.cm-tag .num{font-family:var(--mono);font-size:13px;font-weight:400}.cm-next{font-family:var(--mono);font-size:12px;letter-spacing:.24em;paint-order:stroke;stroke:#07051a;stroke-width:4px}.portrait-art{position:relative;display:block;transition:filter .35s ease,opacity .35s ease,transform .35s ease}.portrait-art img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}.portrait-art.full{height:clamp(300px,64vh,640px);aspect-ratio:2 / 3;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--who) 22%,transparent)) drop-shadow(0 24px 30px #000c)}.portrait-art.full img{object-fit:contain;object-position:50% 100%;animation:portrait-breathe 5.2s ease-in-out infinite;transform-origin:50% 100%}.portrait-art.flip img{transform:scaleX(-1)}.portrait-art.flip.full img{animation-name:portrait-breathe-flip}@keyframes portrait-breathe{50%{transform:translateY(-.6%) scale(1.006)}}@keyframes portrait-breathe-flip{0%,to{transform:scaleX(-1)}50%{transform:scaleX(-1) translateY(-.6%) scale(1.006)}}.portrait-art.talking.full{filter:drop-shadow(0 0 26px color-mix(in srgb,var(--who) 40%,transparent)) drop-shadow(0 24px 30px #000c) brightness(1.06)}.portrait-art.dim{filter:brightness(.42) saturate(.55) blur(.6px)}.portrait-art.face{border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--who) 30%,#0c0a1c),#0c0a1c 70%);box-shadow:0 0 0 2px var(--who),0 0 14px color-mix(in srgb,var(--who) 45%,transparent)}.portrait-art.holo img{animation:holo-flicker 4.6s steps(1) infinite,portrait-breathe 5.2s ease-in-out infinite;mix-blend-mode:screen}.portrait-art.holo:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#3df5c914 0 2px,transparent 2px 5px);pointer-events:none;-webkit-mask:linear-gradient(#000,#000)}@keyframes holo-flicker{0%,to{opacity:.95}47%{opacity:.8}48%{opacity:1}83%{opacity:.88}}.reduced .portrait-art img{animation:none!important}.scene-actor .portrait-art.full{height:clamp(300px,66vh,660px)}.scene-actor:has(.portrait-art){margin:0 -1.5vw}.case-card2{position:relative;box-sizing:border-box;white-space:normal;text-shadow:none;overflow-wrap:break-word;hyphens:auto;display:flex;flex-direction:column;align-items:center;padding:0 calc(var(--su) * 12) calc(var(--su) * 10);background:linear-gradient(180deg,#efe7d6,#e2d8c3);color:#1a1410;box-shadow:calc(var(--su) * 6) calc(var(--su) * 9) 0 #0008,0 0 0 calc(var(--su) * 1) #0003;font-size:calc(var(--su) * 18);transition:transform .2s ease,box-shadow .2s ease,filter .2s;overflow:hidden}.case-card2.hover{transform:translateY(calc(var(--su) * -6)) scale(1.04);box-shadow:calc(var(--su) * 8) calc(var(--su) * 14) 0 #0008,0 0 0 calc(var(--su) * 3) var(--accent),0 0 calc(var(--su) * 24) color-mix(in srgb,var(--accent) 50%,transparent)}.case-card2.rec:not(.hover){box-shadow:calc(var(--su) * 6) calc(var(--su) * 9) 0 #0008,0 0 0 calc(var(--su) * 3) var(--accent);animation:rec-pulse 1.8s ease-in-out infinite}@keyframes rec-pulse{50%{box-shadow:calc(var(--su) * 6) calc(var(--su) * 9) 0 #0008,0 0 0 calc(var(--su) * 3) transparent}}.case-card2.boss{background:linear-gradient(180deg,#f3e8c9,#e6d6ad)}.case-card2.locked{background:#2a2433;color:#6d6488}.cc-tab{align-self:stretch;display:flex;justify-content:space-between;align-items:center;margin:0 calc(var(--su) * -12) calc(var(--su) * 8);padding:0 calc(var(--su) * 10) 0 calc(var(--su) * 12);height:calc(var(--su) * 28);background:#c9b98f;color:#3a2f22;font-family:var(--mono);font-weight:700;font-size:calc(var(--su) * 16);letter-spacing:.08em}.case-card2.boss .cc-tab{background:#b8343f;color:#fff}.cc-tab i{width:calc(var(--su) * 15);height:calc(var(--su) * 15);border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff6b6b,#b1121f 70%);box-shadow:0 calc(var(--su) * 2) calc(var(--su) * 2) #0006}.cc-title{font-family:var(--display);font-weight:700;font-size:calc(var(--su) * 25);line-height:1.1;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cc-title.long{font-size:calc(var(--su) * 21)}.cc-sub{margin-top:calc(var(--su) * 5);font-family:var(--mono);font-size:calc(var(--su) * 16);line-height:1.2;color:#5a4a36;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cc-stars{position:absolute;right:calc(var(--su) * 10);bottom:calc(var(--su) * 6);color:#b8343f;font-size:calc(var(--su) * 16)}.cc-stamp{position:absolute;left:calc(var(--su) * 14);bottom:calc(var(--su) * 8);padding:0 calc(var(--su) * 6);border:calc(var(--su) * 2.5) solid #b8343f;color:#b8343f;font-family:var(--display);font-weight:800;letter-spacing:.12em;font-size:calc(var(--su) * 12);rotate:-10deg;opacity:.8}.chapter{position:relative;height:100%;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}.chapter-bg{position:absolute;inset:0}.chapter-bg img,.chapter-bg svg{width:100%;height:100%;object-fit:cover}.chapter.animate .chapter-bg{animation:ken-burns 26s ease-out both}@keyframes ken-burns{0%{transform:scale(1.12) translate(1.5%,1%)}to{transform:scale(1.02)}}.chapter-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07051af2,#07051ad0 38%,#07051a55 70%,#07051a99),linear-gradient(0deg,#07051ae0 0%,transparent 40%)}.chapter-copy{position:relative;z-index:2;padding:0 0 0 clamp(24px,7vw,110px);max-width:680px}.chapter-kicker{font-family:var(--mono);font-size:13px;letter-spacing:.3em;color:var(--accent)}.chapter-title{display:flex;align-items:center;gap:18px;margin:10px 0 2px;font-family:var(--display);font-size:clamp(42px,6.4vw,92px);line-height:1;letter-spacing:.02em;text-shadow:0 0 30px color-mix(in srgb,var(--accent) 45%,transparent)}.chapter-sym{display:grid;place-items:center;flex:none;width:1.1em;height:1.1em;border:3px solid var(--accent);border-radius:50%;font-size:.6em;box-shadow:0 0 24px color-mix(in srgb,var(--accent) 50%,transparent),inset 0 0 18px #000;background:#0c0a1ccc}.chapter-area{font-family:var(--mono);font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:#cfc8e6;margin:8px 0 18px}.chapter-hook{font-size:clamp(16px,1.35vw,20px);line-height:1.5;color:#e8e4fa;margin:0 0 22px}.chapter-topics span{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--dim)}.chapter-topics ol{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px;margin:8px 0 26px;padding-left:1.4em;font-size:14px;color:#bdb5dc}.chapter-topics li::marker{color:var(--accent);font-family:var(--mono);font-size:12px}.chapter-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.chapter-contact{position:relative;z-index:1;align-self:end;justify-self:center;display:flex;flex-direction:column;align-items:center}.chapter-contact .portrait-art.full{height:clamp(320px,78vh,760px)}.chapter-contact p{position:absolute;bottom:28px;right:0;display:flex;flex-direction:column;padding:10px 14px;border-left:3px solid var(--accent);background:#07051acc;backdrop-filter:blur(4px);margin:0}.chapter-contact p b{font-family:var(--display);font-size:18px}.chapter-contact p span{font-family:var(--mono);font-size:12px;color:var(--dim)}.chapter.animate .chapter-copy>*{animation:rise-in .7s cubic-bezier(.2,.8,.2,1) both}.chapter.animate .chapter-copy>:nth-child(2){animation-delay:.12s}.chapter.animate .chapter-copy>:nth-child(3){animation-delay:.22s}.chapter.animate .chapter-copy>:nth-child(4){animation-delay:.32s}.chapter.animate .chapter-copy>:nth-child(5){animation-delay:.42s}.chapter.animate .chapter-copy>:nth-child(6){animation-delay:.55s}.chapter.animate .chapter-contact{animation:slide-from-right .9s .25s cubic-bezier(.2,.8,.2,1) both}@keyframes rise-in{0%{opacity:0;transform:translateY(18px);filter:blur(4px)}}@keyframes slide-from-right{0%{opacity:0;transform:translate(60px)}}@media(max-width:860px){.chapter{grid-template-columns:1fr;overflow-y:auto}.chapter-contact{display:none}.chapter-copy{padding:24px 18px}.chapter-topics ol{grid-template-columns:1fr}}.title-go,.atlas-continue{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.title-go small,.atlas-continue small{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:none;opacity:.8}.atlas-continue{position:absolute;right:22px;bottom:22px;z-index:3;box-shadow:0 10px 30px #000a,0 0 24px color-mix(in srgb,var(--accent, #28e7fa) 40%,transparent)}@media(max-width:760px){.atlas-continue{position:fixed;left:16px;right:16px;bottom:16px}}.wipe.shutter{background:none;animation:none;display:flex;flex-direction:column}.wipe.shutter:after{display:none}.wipe.shutter i{flex:1;background:linear-gradient(90deg,#07051a,#0d0a22 60%,#07051a);border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);transform-origin:calc(100% * (var(--i) % 2)) 50%;animation:shutter .56s cubic-bezier(.7,0,.3,1) both;animation-delay:calc(var(--i) * 18ms);position:relative}.wipe.shutter i:after{content:"";position:absolute;top:0;bottom:0;width:2px;right:calc(100% * (1 - var(--i) % 2) - 1px);background:var(--accent);box-shadow:0 0 16px var(--accent);opacity:.9}@keyframes shutter{0%{transform:scaleX(0)}42%,56%{transform:scaleX(1)}to{transform:scaleX(0);transform-origin:calc(100% * (1 - var(--i) % 2)) 50%}}@keyframes screen-in{0%{opacity:0;transform:scale(1.015);filter:blur(5px) brightness(1.4)}}.place-art{position:absolute;inset:0;overflow:hidden}.place-art img{width:100%;height:100%;object-fit:cover;animation:place-drift 40s ease-in-out infinite alternate}.place-art span{position:absolute;inset:0;background:#05040c}.place-art:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 45%,#05040cb0 100%),linear-gradient(0deg,#05040ce0 0%,transparent 35%);pointer-events:none}@keyframes place-drift{0%{transform:scale(1.06) translate(-1%,.5%)}to{transform:scale(1.1) translate(1%,-.5%)}}.reduced .place-art img{animation:none}.scene .dialogue{animation:dialogue-in .5s .15s cubic-bezier(.2,.8,.2,1) both}@keyframes dialogue-in{0%{opacity:0;transform:translate(-50%,24px)}}.scene-cast.left .scene-actor{animation:actor-in-left .7s cubic-bezier(.2,.8,.2,1) both}.scene-cast.right .scene-actor{animation:actor-in-right .7s cubic-bezier(.2,.8,.2,1) both}.scene-actor:nth-child(2){animation-delay:.12s}@keyframes actor-in-left{0%{opacity:0;translate:-70px 0}}@keyframes actor-in-right{0%{opacity:0;translate:70px 0}}.dialogue-name b{animation:name-in .35s ease-out both}@keyframes name-in{0%{opacity:0;letter-spacing:.25em}}.reduced .scene .dialogue,.reduced .scene-actor,.reduced .dialogue-name b{animation:none}.level{position:relative;isolation:isolate}.level-ambient{position:absolute!important;inset:0;width:100%;height:100%;z-index:-1;opacity:.16;filter:blur(7px) saturate(.8);pointer-events:none}.level-ambient.place-art img{animation:none}.title-screen .title-bg{z-index:0}.title-screen:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#07051af0 0%,#07051ac4 32%,#07051a40 62%,transparent 80%),linear-gradient(0deg,#07051acc 0%,transparent 30%)}.title-screen .title-block,.title-screen .scene-rain{position:relative;z-index:2}.title-screen .scene-rain{position:absolute}.title-menu{display:flex;flex-direction:column;align-items:stretch;width:min(320px,100%)}.title-menu .btn{text-align:left}.sector{isolation:isolate}.sector-ambient{position:absolute!important;inset:0;width:100%;height:100%;z-index:-1;opacity:.3;filter:blur(3px) saturate(.85);pointer-events:none}@media(max-width:760px),(max-height:520px){.atlas-v2 .atlas-panel{display:none}.atlas-v2 .atlas-mobile{padding-bottom:96px}}@media(min-width:761px)and (min-height:521px)and (max-width:1100px){.atlas-v2 .atlas-panel{width:min(460px,52vw)}}.level-toast{position:absolute;top:58px;left:50%;transform:translate(-50%);z-index:20;padding:10px 18px;border:1px solid var(--accent);background:#0c0a1cf2;font-family:var(--mono);font-size:13px;box-shadow:0 10px 30px #000a;animation:rise-in .3s ease-out both}.res-head .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:2px}.res-head .res-tab{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-width:52px;justify-content:center}.res-head .res-tab b{font-family:var(--mono);font-size:11px;opacity:.7}.anim-tex-wrap{position:relative;display:inline-block;max-width:100%}.focus-line.with-parts .focus-tex{overflow:visible;padding:34px 0 48px}.part-notes{position:absolute;inset:0;pointer-events:none}.part-note{position:absolute;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(-4px);transition:opacity .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1)}.part-note.on{opacity:.5;transform:none}.part-note.now{opacity:1}.part-note svg{display:block;overflow:visible;margin-top:2px}.part-note.up{transform:translateY(-100%)}.part-note.up svg{transform:scaleY(-1);margin:0 0 2px}.part-note.up.on{transform:translateY(-100%)}.part-note path{fill:none;stroke:var(--part);stroke-width:1.5;stroke-linecap:round}.part-label{position:absolute;left:50%;transform:translate(-50%);font-family:var(--body);font-size:13px;line-height:1.2;white-space:nowrap;color:var(--part);text-shadow:0 0 6px #070613,0 0 2px #070613}@media(prefers-reduced-motion:reduce){.part-note{transform:none;transition:opacity .2s ease}}.part-tint,.part-tint *{color:inherit}.part-tint [class*=lc-],.part-tint [class*=k-]{color:inherit!important}.play-stage{position:relative}.play-stage>.focus-strip{position:absolute;left:12px;right:12px;bottom:0;z-index:4;max-height:42%;padding-top:26px;border-top:none!important;background:linear-gradient(180deg,#07061300,#070613d9 36%,#070613f2)!important;pointer-events:none}.play-stage>.focus-strip:not(.on){display:none}.console{padding:8px 20px 10px}.console-keys{margin-top:4px}.hints.solving{border-left:3px solid var(--amber);padding-left:12px}.hints .hints-title{list-style:none;margin-left:-1.2em;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}.case-card2.review .cc-stamp{color:#c27a12;border-color:#c27a12}.atlas-mobile,.sector-mobile,.res-topic-select{display:none}.prologue-next{min-height:44px;min-width:44px;font-size:13px}@media(min-width:761px)and (min-height:521px)and (max-width:1100px){.atlas,.sector{grid-template-columns:minmax(0,1fr) 320px}.atlas-panel,.sector-panel{display:block;padding:20px 16px}.atlas-panel .btn,.sector-panel .btn{min-height:44px;min-width:44px;font-size:14px;white-space:normal}.atlas-panel .eyebrow,.sector-panel .eyebrow,.atlas-state,.sector-progress,.level-card-code,.level-card-sub,.level-card-learn>span,.level-card-best,.level-card-lock{font-size:13px}}@media(max-width:760px),(max-height:520px){.atlas,.sector{display:block;overflow-y:auto;overscroll-behavior:contain}.atlas-stage,.sector-stage,.atlas-panel,.sector-panel{display:none}.atlas-mobile,.sector-mobile{display:flex}.menu-list{flex-direction:column;gap:12px;padding:16px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));max-width:820px;margin:0 auto}.menu-list-item{border:1px solid var(--line2);background:var(--bg2);min-width:0}.menu-list-item.selected{border-color:var(--accent)}.menu-list-row{display:flex;align-items:center;gap:14px;width:100%;min-height:44px;padding:16px;border:0;background:transparent;text-align:left;cursor:pointer}.menu-list-row:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.menu-list-symbol{flex:0 0 36px;font-size:28px;text-align:center;color:var(--accent)}.menu-list-copy{display:grid;gap:6px;min-width:0;font-size:15px;color:var(--muted);overflow-wrap:anywhere}.menu-list-copy strong{font-size:17px;line-height:1.35}.menu-list-code{color:var(--accent);font:13px var(--mono)}.menu-list-meta{color:var(--muted);font:13px/1.5 var(--mono)}.menu-list-detail{padding:0 16px 16px;font-size:16px;line-height:1.5}.menu-list-detail p{margin:0 0 12px}.menu-list .btn{min-height:44px;min-width:44px;font-size:14px;white-space:normal}.sector-mobile-head h2{font:600 24px/1.3 var(--display);margin:8px 0}.sector-mobile-head .eyebrow,.sector-mobile-head .sector-progress{font-size:13px}.sector-mobile-head .sector-desc{font-size:16px;line-height:1.5}.sector-progress{flex-wrap:wrap;gap:8px 16px}.menu-list .level-card{border:0;border-top:1px solid var(--line);clip-path:none;padding:16px}.menu-list .level-card-code,.menu-list .level-card-sub,.menu-list .level-card-learn>span,.menu-list .level-card-best,.menu-list .level-card-lock{font-size:13px;color:var(--muted)}.menu-list .level-card-obj,.menu-list .level-card-learn{font-size:16px;line-height:1.5}.menu-list .level-card-alt{display:flex;flex-wrap:wrap;gap:8px}.menu-list .level-card>.btn{width:100%}.menu-list .glyph-chip{max-width:100%;overflow-x:auto}.menu-list .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.screen:has(>.atlas)>.topbar,.screen:has(>.sector)>.topbar{flex-wrap:wrap;gap:8px;padding:8px 12px;flex-shrink:0}.screen:has(>.atlas)>.topbar .topbar-left,.screen:has(>.sector)>.topbar .topbar-left{flex-wrap:wrap;gap:8px;min-width:0}.screen:has(>.atlas)>.topbar .topbar-title,.screen:has(>.sector)>.topbar .topbar-title{display:none}.screen:has(>.atlas)>.topbar .topbar-rank,.screen:has(>.sector)>.topbar .topbar-rank{display:none}.screen:has(>.atlas)>.topbar button,.screen:has(>.sector)>.topbar button{min-height:44px;min-width:44px;font-size:13px}.title-screen{padding:24px max(20px,env(safe-area-inset-left));overflow-y:auto;display:block}.title-block{width:100%;max-width:640px;margin:auto}.title-kicker{font-size:13px;letter-spacing:.14em;line-height:1.6}.title-screen .logo{font-size:clamp(44px,13vw,80px);letter-spacing:.06em}.title-screen .title-sub{font-size:16px;line-height:1.5;margin:12px 0 24px}.title-menu{gap:10px}.title-menu .btn{min-height:48px;min-width:44px;width:100%;font-size:16px;white-space:normal}.title-meta{font-size:13px}.prologue-scene{flex:1;min-height:0;height:100%}.prologue-scene .dialogue{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));transform:none;width:auto;min-height:0;max-height:calc(100% - 80px);overflow-y:auto;padding:16px}.prologue-scene .dialogue-text{font-size:16px;line-height:1.5}.prologue-scene .dialogue-name{flex-wrap:wrap;gap:4px 12px}.prologue-scene .dialogue-name span,.prologue-scene .dialogue-foot{font-size:13px}.prologue-scene .dialogue-foot{align-items:center;gap:8px}.prologue-scene .dialogue-foot .ready{animation:none}.prologue-scene .scene-skip{top:12px;right:12px;min-height:44px;font-size:13px}.prologue-scene .scene-cast{bottom:190px}.prologue-scene .scene-actor{margin:0}.prologue-scene .scene-actor svg{width:180px}.guide-card{width:calc(100% - 24px);max-height:calc(100% - 24px);padding:20px}.guide-card .eyebrow{font-size:13px}.guide-card h2{font-size:22px}.guide-card .btn{min-height:44px;min-width:44px;font-size:16px;white-space:normal}.guide-steps li{grid-template-columns:30px minmax(0,1fr)}.guide-steps span{grid-column:2;font-size:16px}.settings{width:min(560px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;padding:20px 16px;font-size:14px}.settings .row{min-height:44px;gap:12px}.settings .row>span{min-width:0}.settings .row small,.settings-data>span{font-size:14px;color:var(--muted);letter-spacing:0}.settings input[type=range]{width:45%;min-width:0;min-height:44px}.settings input[type=checkbox]{flex:0 0 44px;width:44px;height:44px}.settings select{min-width:0;max-width:48%;min-height:44px;font-size:14px}.settings-data div{flex-wrap:wrap}.settings .btn{min-height:44px;min-width:44px;font-size:14px;white-space:normal}.results{padding:12px}.results-card{width:100%;max-height:100%;overflow-y:auto;grid-template-columns:minmax(0,1fr);gap:20px;padding:20px 16px}.results-left,.results-notes{min-width:0}.results-card h2{font-size:24px;overflow-wrap:anywhere}.results .stamp{position:static;display:inline-block;font-size:16px;margin-bottom:20px}.results .stars{gap:12px}.results .star{width:min(80px,26%)}.results .star svg{width:100%}.results .star small{font-size:14px}.results-stats{flex-wrap:wrap;gap:16px}.results-stats span,.results-kicker,.results-notes-title,.results-notes li span,.results-notes li p,.results-module span{font-size:14px}.results-actions{flex-wrap:wrap;gap:8px}.results-actions .btn{min-height:44px;min-width:44px;font-size:14px;white-space:normal}.results-notes{border-left:0;border-top:1px solid var(--line2);padding:16px 0 0;max-height:none;overflow:visible}.results-notes .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.results-glyphs{display:flex;flex-wrap:wrap;gap:8px}.results-glyphs .glyph-chip{max-width:100%;overflow-x:auto}}@media(max-width:900px),(max-height:520px){.res-screen{width:calc(100% - 16px);height:calc(100% - 16px);grid-template-rows:auto auto minmax(0,1fr)}.res-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:10px;min-width:0}.res-head .tabs{grid-column:1 / -1;grid-row:2;display:flex;overflow-x:auto;min-width:0;max-width:100%}.res-head .tabs button{flex:0 0 auto;white-space:nowrap;min-height:44px;font-size:13px}.res-head input{grid-column:1 / -1;min-width:0;width:100%;min-height:44px;font-size:16px}.res-head>.btn{grid-row:1;min-height:44px;font-size:13px}.res-head kbd{display:none}.res-title{font-size:14px}.res-topic-select{display:flex;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);font:14px var(--mono);min-width:0}.res-topic-select select{flex:1;min-width:0;width:100%;min-height:44px;background:var(--panel);border:1px solid var(--line2);padding:8px;font-size:16px}.res-body{grid-template-columns:minmax(0,1fr)}.res-nav{display:none}.res-doc{min-width:0;padding:12px 14px 40px}.res-topic>header{flex-wrap:wrap;gap:10px}.res-topic>header>div{min-width:0}.res-topic h3{font-size:20px;overflow-wrap:anywhere}.res-actions{margin-left:0;flex-wrap:wrap}.res-actions .btn{min-height:44px;min-width:44px;font-size:14px}.res-entry{grid-template-columns:minmax(0,1fr);gap:4px}.res-entry>div{min-width:0}.res-tex,.res-doc .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.res-notation,.res-notation tbody,.res-notation tr,.res-notation td{display:block;width:100%}.res-notation .res-sym{width:100%;overflow-x:auto;padding:8px 0}.res-world span,.res-sec h4{font-size:13px}.res-doc small{font-size:14px}}@media(max-height:520px){.title-screen{padding-top:16px;padding-bottom:16px}.title-block{max-width:760px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 28px;align-items:center}.title-kicker,.title-screen .logo,.title-screen .title-sub,.title-meta{grid-column:1;margin:0}.title-menu{grid-column:2;grid-row:1 / 5}.title-screen .title-sub{margin:0}.prologue-scene .scene-cast{bottom:0}}@media print{.res-topic-select{display:none}}@media(min-width:761px)and (min-height:521px)and (max-width:1100px){.title-menu .btn,.guide-card .btn,.settings .btn,.settings select,.results-actions .btn{min-height:44px;min-width:44px;font-size:14px}.settings{max-height:calc(100% - 24px);overflow-y:auto}.settings .row small,.settings-data>span{font-size:14px}.results-card{overflow-y:auto;grid-template-columns:minmax(0,1fr)}.results-notes{max-height:none;overflow:visible}.results-notes li p,.results-notes li span,.results-notes-title,.results-stats span,.results .star small{font-size:14px}}@media(max-width:760px),(max-height:520px){.menu-list .level-card-learn>.case-learn-text{font:inherit;color:inherit;letter-spacing:normal;margin:0}}@media(min-width:761px)and (min-height:521px)and (max-width:1100px){.screen:has(>.atlas)>.topbar,.screen:has(>.sector)>.topbar{flex-wrap:wrap;gap:8px;padding:8px 16px;flex-shrink:0}.screen:has(>.atlas)>.topbar .topbar-left,.screen:has(>.sector)>.topbar .topbar-left{width:100%;min-width:0}.screen:has(>.atlas)>.topbar .topbar-title,.screen:has(>.sector)>.topbar .topbar-title{font-size:13px}.screen:has(>.atlas)>.topbar button,.screen:has(>.sector)>.topbar button{min-height:44px;min-width:44px;font-size:13px}.prologue-scene .dialogue-name span,.prologue-scene .dialogue-foot,.prologue-scene .scene-skip,.guide-card .eyebrow{font-size:13px}.prologue-scene .scene-skip{min-height:44px}.sector-panel .level-card-learn>.case-learn-text{font:inherit;color:inherit;letter-spacing:normal;margin:0}}@media(min-width:901px)and (max-width:1100px)and (min-height:521px){.res-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.res-head .tabs{grid-column:1 / -1;grid-row:2;overflow-x:auto;min-width:0}.res-head .tabs button{flex:0 0 auto;white-space:nowrap;min-height:44px;font-size:13px}.res-head input{grid-column:1 / -1;width:100%;min-width:0;min-height:44px}.res-head>.btn{grid-row:1;min-height:44px;font-size:14px}.res-body{grid-template-columns:220px minmax(0,1fr)}.res-doc{min-width:0;padding:18px}.res-topic>header{flex-wrap:wrap}.res-entry{grid-template-columns:minmax(0,1fr)}.res-entry>div{min-width:0}.res-nav button,.res-actions .btn{min-height:44px}.res-notation .res-sym{width:100px}}@media(max-width:1100px),(max-height:520px){.screen:has(>.atlas)>.topbar kbd,.screen:has(>.sector)>.topbar kbd{display:none}.screen:has(>.atlas)>.topbar .rank-name,.screen:has(>.sector)>.topbar .rank-name,.screen:has(>.atlas)>.topbar .topbar-rank small,.screen:has(>.sector)>.topbar .topbar-rank small,.title-meta{font-size:13px}.settings .row{min-height:44px}}
