@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.9"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;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 .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;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 .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{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 .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{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}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .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 .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 .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{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>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--brand: #3B82F6;--brand-dark: #2563EB;--brand-light: #DBEAFE;--accent: #FBBF24;--accent-dark: #F59E0B;--accent-light: #FEF3C7;--plum: #8B5CF6;--mint: #10B981;--coral: #F97316;--rose: #EF4444;--sky: #06B6D4;--bg: #FFFFFF;--bg-2: #F8FAFC;--bg-3: #F1F5F9;--panel: #FFFFFF;--panel-2: #F1F5F9;--fg: #0F172A;--fg-2: #475569;--fg-3: #94A3B8;--fg-inv: #FFFFFF;--line: #E2E8F0;--line-2: #CBD5E1;--track: #F1F5F9;--track-line: #CBD5E1;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow: 0 2px 4px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 24px rgba(15, 23, 42, .1), 0 4px 8px rgba(15, 23, 42, .05);--shadow-brand: 0 4px 12px rgba(59, 130, 246, .25);--shadow-accent: 0 4px 12px rgba(251, 191, 36, .3);--r-sm: 8px;--r: 12px;--r-md: 16px;--r-lg: 20px;--r-xl: 28px;--r-full: 999px;--font-d: "Baloo 2", "Be Vietnam Pro", system-ui, -apple-system, sans-serif;--font-b: -apple-system, BlinkMacSystemFont, "Segoe UI", "Arial", "Helvetica Neue", "Be Vietnam Pro", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--ink: #0F172A;--washi: #FFFFFF;--washi-2: #F1F5F9;--washi-3: #E2E8F0;--lantern: var(--coral);--bamboo: var(--mint);--gold: var(--accent)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:var(--ink);--bg-2:#141B33;--panel:var(--ink-2);--panel-2:#2C3866;--line:#3A4778;--fg:#F4EEDD;--fg-2:#A8B2D6;--fg-3:#7A85AE;--track:#2A3560;--track-line:#3E4C84;--shadow:0 2px 0 #131A32}}:root[data-theme=dark]{--bg:var(--ink);--bg-2:#141B33;--panel:var(--ink-2);--panel-2:#2C3866;--line:#3A4778;--fg:#F4EEDD;--fg-2:#A8B2D6;--fg-3:#7A85AE;--track:#2A3560;--track-line:#3E4C84;--shadow:0 2px 0 #131A32}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-b);font-size:15px;line-height:1.55;min-height:100vh;font-weight:400;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,.d{font-family:var(--font-b);font-weight:700;line-height:1.2;margin:0;letter-spacing:-.01em}button,input,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.wrap{max-width:1040px;margin:0 auto;padding:18px 18px 64px}.topbar{display:flex;align-items:center;gap:14px;padding:14px 18px;max-width:1040px;margin:0 auto;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-d);font-weight:600;font-size:30px;letter-spacing:-.01em}.brand b{color:var(--lantern);font-weight:800}.brand .cd{color:var(--gold)}.spacer{flex:1}.screen{display:none}.screen.active{display:block;animation:fade .28s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.btn{border:2px solid var(--line);background:var(--panel);color:var(--fg);padding:11px 18px;border-radius:var(--r);font-weight:600;box-shadow:var(--shadow);transition:transform .12s,filter .12s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px);box-shadow:none}.btn.pri{background:var(--lantern);border-color:#d8391f;color:#fff;box-shadow:0 3px #c2341c}.btn.go{background:var(--bamboo);border-color:#228554;color:#fff;box-shadow:0 3px #1e7049}.btn.gold{background:var(--gold);border-color:#e0a518;color:#4a3200;box-shadow:0 3px #d09710}.btn.ghost{background:transparent;box-shadow:none}.btn.sm{padding:7px 13px;font-size:14px;border-radius:10px}.btn.big{padding:15px 26px;font-size:18px;font-family:var(--font-d);font-weight:700}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.card{background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow)}.muted{color:var(--fg-2)}.tiny{font-size:13px;color:var(--fg-3);line-height:1.5}.gate{max-width:420px;margin:4vh auto 0;text-align:center}.gate .mark{width:112px;height:112px;margin:0 auto 6px;display:block}.gate h1{font-size:34px;margin-bottom:4px}.gate p.sub{color:var(--fg-2);margin:0 0 22px}.field{text-align:left;margin-bottom:13px}.field label{display:block;font-size:14px;font-weight:600;color:var(--fg-2);margin-bottom:5px}.field input,.field select{width:100%;padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:var(--bg-2);outline:none}.field input:focus{border-color:var(--lantern)}.tabs{display:flex;gap:6px;background:var(--panel-2);padding:5px;border-radius:14px;margin-bottom:18px}.tabs button{flex:1;border:0;background:transparent;padding:9px;border-radius:10px;font-weight:600;color:var(--fg-2)}.tabs button[aria-selected=true]{background:var(--panel);color:var(--fg);box-shadow:var(--shadow)}.err{color:var(--lantern);font-size:14px;font-weight:600;min-height:20px;margin:6px 0 0}.avatars{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:4px 0 12px}.avatars button{border:3px solid transparent;background:var(--panel-2);border-radius:14px;padding:5px;line-height:0}.avatars button[aria-pressed=true]{border-color:var(--gold)}.avatars svg{width:44px;height:44px;display:block}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center;margin-bottom:26px}.hero h1{font-size:clamp(28px,4.4vw,44px);margin-bottom:10px}.hero p{color:var(--fg-2);max-width:46ch;margin:0 0 18px}.stage{position:relative;background:var(--track);border:2px solid var(--track-line);border-radius:var(--r-lg);height:190px;overflow:hidden}.stage .ground{position:absolute;left:0;right:0;bottom:44px;height:3px;background:var(--track-line)}.stage .hero-ninja{position:absolute;bottom:40px;left:50%;transform:translate(-50%);width:110px;height:110px}.stage .bam{position:absolute;bottom:47px;width:8px;border-radius:4px;background:var(--bamboo);opacity:.45}.modes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mode{text-align:left;border:2px solid var(--line);border-radius:var(--r-lg);padding:20px;background:var(--panel);box-shadow:var(--shadow);transition:transform .14s}.mode:hover{transform:translateY(-3px)}.mode .ic{width:52px;height:52px;margin-bottom:10px}.mode h3{font-size:22px;margin-bottom:4px}.mode p{margin:0;color:var(--fg-2);font-size:14.5px}.mode.typing{border-bottom:5px solid var(--sky)}.mode.math{border-bottom:5px solid var(--plum)}.mode.lesson{border-bottom:5px solid var(--bamboo)}.mode.board{border-bottom:5px solid var(--gold)}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.me{display:flex;align-items:center;gap:9px;background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:5px 14px 5px 5px;box-shadow:var(--shadow)}.me svg{width:32px;height:32px}.me .nm{font-weight:600;font-size:14.5px;line-height:1.1}.me .lv{font-size:12px;color:var(--fg-3);line-height:1.1}.setup{max-width:720px;margin:0 auto}.opt-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.chip{border:2px solid var(--line);background:var(--bg-2);border-radius:999px;padding:9px 16px;font-weight:600;font-size:15px}.chip[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:#fff}.chip.op[aria-pressed=true]{background:var(--plum);border-color:#5f42bd}.chip.txt[aria-pressed=true]{background:var(--sky);border-color:#2a8fcc;color:#fff}.chip.len[aria-pressed=true]{background:var(--gold);border-color:#e0a518;color:#4a3200}.sect{margin-bottom:22px}.sect h4{font-family:var(--font-d);font-size:17px;font-weight:700;margin:0 0 9px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rng{display:flex;align-items:center;gap:10px}.rng input[type=number]{width:92px;padding:10px;border:2px solid var(--line);border-radius:10px;background:var(--bg-2)}.preview{background:var(--panel-2);border-radius:12px;padding:12px 14px;font-weight:600;color:var(--fg-2);font-size:15px}.raceTop{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.pill{background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px;box-shadow:var(--shadow)}.pill b{font-family:var(--font-d);font-size:17px}.scroll{position:relative;background:var(--track);border:2px solid var(--track-line);border-radius:var(--r-lg);padding:10px 0;overflow:hidden;margin-bottom:16px}.scroll:before,.scroll:after{content:"";position:absolute;top:0;bottom:0;width:16px;background:var(--track-line);opacity:.55}.scroll:before{left:0}.scroll:after{right:0}.lane{position:relative;height:60px;margin:0 20px;border-bottom:2px dashed var(--track-line)}.lane:last-child{border-bottom:0}.lane .goal{position:absolute;right:2px;top:12px;width:34px;height:34px;opacity:.85}.lane .runner{position:absolute;bottom:6px;left:0;width:46px;height:46px;transition:left .22s cubic-bezier(.4,1.3,.5,1)}.lane .tag{position:absolute;top:6px;left:0;font-size:12.5px;font-weight:700;white-space:nowrap;background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:1px 9px;transition:left .22s cubic-bezier(.4,1.3,.5,1)}.lane.me .tag{border-color:var(--gold)}.lane .wpm{position:absolute;right:46px;top:9px;font-size:12.5px;font-weight:700;color:var(--fg-2)}.lane .runner-group{position:absolute;bottom:6px;left:0;display:flex;flex-direction:row;align-items:flex-start;gap:.5px;transition:left .22s cubic-bezier(.4,1.3,.5,1);pointer-events:none;z-index:2;flex-wrap:nowrap}.lane .runner-group>svg{flex:none;display:block;width:46px;height:46px}.lane .runner-name{display:inline-block;padding:1px 4px;background:var(--panel);border:1.5px solid var(--line);border-radius:999px;font-family:var(--font-b);font-size:6px;font-weight:600;color:var(--fg);white-space:nowrap;box-shadow:0 1px 2px #0f172a0f;line-height:1.4;max-width:140px;overflow:hidden;text-overflow:ellipsis;flex:none}.lane.me .runner-name{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 25%,var(--panel));color:#78350f;font-weight:700}.lane .goal{position:absolute;right:2px;top:12px;width:34px;height:34px;opacity:.85;z-index:1}.lane .wpm{position:absolute;right:46px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:var(--fg-2);font-family:var(--font-b);padding:2px 8px;background:var(--panel);border:1.5px solid var(--line);border-radius:999px;z-index:3;line-height:1.4}.lane.me .wpm{border-color:var(--gold);color:#78350f}.textbox{background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);padding:24px 28px;font-size:32px;line-height:1.8;letter-spacing:.01em;margin-bottom:14px;box-shadow:var(--shadow);white-space:normal;overflow-wrap:break-word;word-break:break-word;max-width:100%;font-weight:500;font-family:var(--font-b);max-height:45vh;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.textbox::-webkit-scrollbar{width:8px}.textbox::-webkit-scrollbar-track{background:transparent;border-radius:4px}.textbox::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.textbox::-webkit-scrollbar-thumb:hover{background:var(--brand)}@media (max-width: 820px){.textbox{font-size:24px;padding:18px 20px;line-height:1.65;max-height:40vh}}.textbox .sp{white-space:pre-wrap}.textbox .sp.cur,.textbox .sp.bad{border-radius:3px;padding:0 1px}.textbox span{border-radius:3px}.ok{color:var(--bamboo)}.bad{color:#fff;background:var(--lantern)}.cur{background:var(--gold);color:var(--ink);box-shadow:0 0 0 2px var(--gold)}.rest{color:var(--fg-3)}.typein{width:100%;padding:15px 18px;border:3px solid var(--line);border-radius:var(--r);background:var(--bg-2);font-size:20px;outline:none;font-family:var(--font-b);font-weight:500}.typein:focus{border-color:var(--sky)}.typein.wrong{border-color:var(--lantern);background:color-mix(in srgb,var(--lantern) 12%,var(--bg-2))}.q{background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);padding:26px 20px;text-align:center;box-shadow:var(--shadow);margin-bottom:14px}.q .expr{font-family:var(--font-d);font-weight:800;font-size:clamp(38px,9vw,66px);letter-spacing:.02em}.q .idx{font-size:14px;color:var(--fg-3);font-weight:600}.ansrow{display:flex;gap:10px;max-width:420px;margin:0 auto}.ansrow input{flex:1;padding:15px;font-size:30px;text-align:center;font-family:var(--font-d);font-weight:700;border:3px solid var(--line);border-radius:var(--r);background:var(--bg-2);outline:none}.ansrow input:focus{border-color:var(--plum)}.shake{animation:shake .32s}@keyframes shake{0%,to{transform:none}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:300px;margin:14px auto 0}.pad button{padding:15px;border:2px solid var(--line);background:var(--panel);border-radius:12px;font-family:var(--font-d);font-weight:700;font-size:21px;box-shadow:var(--shadow)}.roomcode{font-family:var(--font-d);font-weight:800;font-size:40px;letter-spacing:.14em;color:var(--gold);text-align:center;margin:6px 0}.players{display:grid;gap:9px;margin-top:14px}.prow{display:flex;align-items:center;gap:11px;background:var(--panel-2);border-radius:12px;padding:9px 13px}.prow svg{width:34px;height:34px;flex:none}.prow .nm{font-weight:600;flex:1}.prow .st{font-size:13px;font-weight:700;color:var(--fg-3)}.prow .st.ready{color:var(--bamboo)}.count{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 84%,transparent);z-index:50;font-family:var(--font-d);font-weight:800;font-size:22vw;color:var(--lantern)}.res{max-width:640px;margin:0 auto;text-align:center}.res .seal{width:96px;height:96px;margin:0 auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.stat{background:var(--panel-2);border-radius:14px;padding:14px 8px}.stat b{display:block;font-family:var(--font-d);font-size:30px;line-height:1.1}.stat span{font-size:13px;color:var(--fg-2)}.rank{display:grid;gap:8px;text-align:left;margin:16px 0}.lessonlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.lcard{text-align:left;border:2px solid var(--line);background:var(--panel);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.lcard h4{font-family:var(--font-d);font-size:17px;margin:0 0 3px}.lcard .keys{font-weight:700;color:var(--sky);letter-spacing:.14em}.lcard .stars{color:var(--gold);font-size:15px;letter-spacing:2px}.lcard[disabled]{opacity:.5}.kb{display:grid;gap:5px;max-width:660px;margin:16px auto 0}.kbrow{display:flex;gap:5px;justify-content:center}.key{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:var(--panel-2);border:2px solid var(--line);font-weight:600;font-size:14px}.key.wide{width:150px}.key.hi{background:var(--gold);color:var(--ink);border-color:#e0a518;transform:translateY(2px)}.key.f0{border-bottom-width:5px;border-bottom-color:#e8646a}.key.f1{border-bottom-width:5px;border-bottom-color:#f0a33c}.key.f2{border-bottom-width:5px;border-bottom-color:#4fb06e}.key.f3{border-bottom-width:5px;border-bottom-color:#4e9be0}.key.f4{border-bottom-width:5px;border-bottom-color:#a87be8}.fingers{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:13px;color:var(--fg-2);margin-top:12px}.fingers i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}table.lb{width:100%;border-collapse:collapse}table.lb th,table.lb td{padding:10px 8px;text-align:left;border-bottom:2px solid var(--line);font-size:15px}table.lb th{font-size:13px;color:var(--fg-3);font-weight:600}table.lb td.n{font-family:var(--font-d);font-weight:700}.notice{background:var(--panel-2);border-left:5px solid var(--gold);border-radius:12px;padding:12px 15px;font-size:14.5px;color:var(--fg-2);margin-bottom:16px}.overflow{overflow-x:auto}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);background:var(--ink-2);color:#f4eedd;padding:11px 20px;border-radius:999px;font-weight:600;z-index:80;box-shadow:0 6px 20px #0000004d}.run .leg-a{animation:legA .34s infinite}.run .leg-b{animation:legB .34s infinite}.run .scarf{animation:scarf .5s infinite ease-in-out}@keyframes legA{0%,to{transform:rotate(22deg)}50%{transform:rotate(-22deg)}}@keyframes legB{0%,to{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}@keyframes scarf{0%,to{transform:rotate(-6deg)}50%{transform:rotate(9deg)}}.leg-a,.leg-b{transform-origin:32px 42px}.scarf{transform-origin:24px 22px}@media (max-width:820px){.hero,.modes{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.textbox{font-size:32px;padding:20px 18px;line-height:1.5}.key{width:30px;height:38px;font-size:12px}.key.wide{width:100px}}.stagecard{display:flex;gap:14px;align-items:center;border:2px solid var(--line);background:var(--panel);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--shadow);text-align:left;width:100%;margin-bottom:12px}.stagecard .no{font-family:var(--font-d);font-weight:800;font-size:26px;width:44px;color:var(--fg-3)}.stagecard h3{font-size:19px;margin:0}.stagecard p{margin:2px 0 0;font-size:14px;color:var(--fg-2)}.bar{height:9px;border-radius:5px;background:var(--panel-2);overflow:hidden;margin-top:7px;max-width:260px}.bar i{display:block;height:100%;background:var(--bamboo)}.lockchip{font-size:12px;font-weight:700;color:#4a3200;background:var(--gold);border-radius:999px;padding:2px 9px}.qr{width:220px;height:220px;border-radius:14px;border:2px solid var(--line);object-fit:contain;background:#fff}.center{text-align:center}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pagebtns{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.pagebtns button{border:2px solid var(--line);background:var(--panel);border-radius:10px;padding:6px 11px;font-weight:600;font-size:14px}.pagebtns button[aria-current=true]{background:var(--lantern);border-color:#d8391f;color:#fff}.lcard.done{border-color:var(--bamboo)}.badge{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;background:var(--panel-2);color:var(--fg-2)}.badge.pro{background:var(--gold);color:#4a3200}.err-box{background:color-mix(in srgb,var(--lantern) 14%,var(--panel));border:2px solid var(--lantern);border-radius:12px;padding:11px 14px;font-size:14.5px;margin-bottom:12px}.topic-random{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 18px;border:3px dashed var(--line);border-radius:var(--r);background:var(--bg-2);cursor:pointer;text-align:left;transition:all .15s ease;margin-bottom:14px}.topic-random:hover{border-color:var(--gold);transform:translateY(-1px)}.topic-random.active{border-style:solid;border-color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,var(--bg-2));box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 25%,transparent)}.topic-random .icon{font-size:26px;line-height:1}.topic-random .label{font-family:var(--font-d);font-weight:800;font-size:19px;color:var(--fg)}.topic-random .hint{font-size:13px;color:var(--fg-3);font-weight:500}.topic-random.active .hint{color:var(--fg-2);font-weight:600}.topic-select-row{display:flex;flex-direction:column;gap:6px}.topic-select{width:100%;padding:12px 40px 12px 14px;border:2px solid var(--line);border-radius:12px;background-color:var(--bg-2);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6486' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;font-family:inherit;font-size:16px;font-weight:600;color:var(--fg);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:border-color .15s ease}.topic-select:hover{border-color:var(--sky)}.topic-select:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px color-mix(in srgb,var(--sky) 25%,transparent)}.topic-select optgroup{font-weight:700;color:var(--fg-2);background:var(--panel)}.topic-select option{padding:8px;font-weight:500;color:var(--fg);background:var(--panel)}:root[data-theme=dark] .topic-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8B2D6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}@media (max-width: 820px){.topic-random{padding:12px 14px}.topic-random .icon{font-size:22px}.topic-random .label{font-size:17px}.topic-select{font-size:15px;padding:14px 40px 14px 12px}}.hand-guide{-webkit-user-select:none;user-select:none;padding:8px 0}.hand-svg{display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.08));transition:transform .3s ease}.hand-finger{transition:transform .35s cubic-bezier(.5,1.6,.5,1),filter .35s ease;transform-origin:center 90%}.hand-finger.active{filter:drop-shadow(0 0 10px var(--gold)) drop-shadow(0 0 20px var(--gold));animation:fingerPulse 1.2s ease-in-out infinite}.hand-finger.active rect,.hand-finger.active circle{fill:color-mix(in srgb,var(--gold) 35%,#F4C9A0)!important;stroke:#e0a518!important;stroke-width:3}@keyframes fingerPulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.05)}}.hand-anim{background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);padding:22px 20px;text-align:center;box-shadow:var(--shadow);max-width:560px;margin:0 auto}.hand-anim-stage{background:linear-gradient(180deg,color-mix(in srgb,var(--sky) 8%,var(--bg-2)),var(--bg-2));border:2px dashed var(--line);border-radius:16px;padding:12px;margin-bottom:16px}.hand-anim-text{min-height:90px;margin-bottom:16px}.hand-anim-text h3{font-family:var(--font-d);font-size:20px;margin:8px 0 6px;color:var(--fg)}.hand-anim-text p{font-size:15px;color:var(--fg-2);margin:0;line-height:1.5}.step-badge{display:inline-block;background:var(--gold);color:#4a3200;font-weight:700;font-size:13px;padding:3px 12px;border-radius:999px}.hand-anim-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.hand-anim-progress{display:flex;gap:6px;justify-content:center}.hand-anim-progress .dot{width:8px;height:8px;border-radius:50%;background:var(--line);transition:all .3s ease}.hand-anim-progress .dot.on{background:var(--gold);transform:scale(1.4)}.hand-anim-progress .dot.done{background:var(--bamboo)}.touch-hint{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--panel-2);border:2px solid var(--line);border-radius:14px;margin:12px 0;box-shadow:var(--shadow)}.touch-hint .hand-guide{flex:none;padding:0}.touch-hint-label{font-size:15px;color:var(--fg);line-height:1.5}.touch-hint-label b{color:var(--lantern);font-family:var(--font-d);font-size:18px}.kb-big .key{width:56px;height:56px;font-size:20px;font-weight:700;border-radius:12px;border-width:3px}.kb-big .key.wide{width:220px}.kb-big .kbrow{gap:8px}.kb-big{gap:8px;margin-bottom:20px}.kb-big .key.hi{animation:keyPulse .9s ease-in-out infinite;box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 40%,transparent)}@keyframes keyPulse{0%,to{transform:translateY(0)}50%{transform:translateY(4px) scale(1.08)}}@media (max-width: 820px){.kb-big .key{width:36px;height:44px;font-size:15px}.kb-big .key.wide{width:130px}.kb-big .kbrow{gap:4px}.touch-hint{flex-direction:column;text-align:center;gap:8px}.hand-anim{padding:16px 12px}}.game-wrap{display:flex;flex-direction:column;gap:12px;max-width:960px;margin:0 auto}.game-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%}.game-header .game-text-target{flex:1 1 100%;min-width:0}.game-header .game-stats,.game-header .game-hud{margin-left:auto}.game-hud{display:flex;gap:8px;flex:1;justify-content:flex-end;flex-wrap:wrap}.game-hud .badge{background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:5px 12px;font-weight:700;font-size:13.5px}.game-text-target{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:3px;background:var(--panel);border:2px solid var(--line);border-radius:var(--r);padding:12px 16px;font-family:var(--font-d);font-weight:700;font-size:30px;flex:1;min-width:0;max-width:none;scrollbar-width:thin}.game-text-target::-webkit-scrollbar{height:6px}.game-text-target::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.game-char{display:inline-block;padding:4px 6px;border-radius:5px;min-width:14px;text-align:center;flex:none;transition:all .15s ease}.game-char{display:inline-block;padding:2px 4px;border-radius:4px;transition:all .15s ease;min-width:8px;text-align:center}.game-char.rest{color:var(--fg-3)}.game-char.ok{color:var(--bamboo)}.game-char.cur{background:var(--gold);color:var(--ink);box-shadow:0 0 0 2px var(--gold);animation:charPulse .7s ease-in-out infinite}@keyframes charPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.game-canvas-wrap{position:relative;width:100%;aspect-ratio:16 / 9;min-height:320px;max-height:60vh;border-radius:var(--r-lg);overflow:hidden;border:3px solid var(--line);box-shadow:0 8px 24px #00000026;background:#000}.game-canvas{display:block}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1b2340d1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:20px;color:#fff6e4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.game-overlay h3{font-family:var(--font-d);font-size:28px;color:#ffc53d;margin:0}.game-overlay p{font-size:15px;line-height:1.6;color:#d9d2be;margin:0;max-width:380px}.game-input{width:100%;padding:14px 18px;font-size:22px;font-family:var(--font-d);font-weight:700;text-align:center;letter-spacing:.05em;border:3px solid var(--line);border-radius:var(--r);background:var(--bg-2);outline:none;transition:border-color .15s}.game-input:focus{border-color:var(--sky);box-shadow:0 0 0 3px color-mix(in srgb,var(--sky) 25%,transparent)}@media (max-width: 820px){.game-canvas-wrap{aspect-ratio:4 / 3;min-height:260px}.game-text-target{font-size:15px;max-width:100%;order:3;width:100%}.game-input{font-size:18px}.game-overlay h3{font-size:22px}.game-overlay p{font-size:14px}}.game-input{font-size:42px!important;padding:18px 22px!important;letter-spacing:.12em!important;font-family:var(--font-d)!important;font-weight:800!important}.game-hud .badge{font-size:17px!important;padding:8px 16px!important;font-weight:800!important}.game-text-target{font-size:26px!important;padding:10px 16px!important;gap:4px!important}.game-char{padding:3px 6px!important;min-width:12px!important}@media (max-width: 820px){.game-input{font-size:30px!important;padding:14px 16px!important}.game-hud .badge{font-size:14px!important;padding:6px 12px!important}.game-text-target{font-size:20px!important}}.jump-phrase-bar{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;overflow-x:auto;gap:4px;background:var(--panel);border:3px solid var(--line);border-radius:var(--r-lg);padding:16px 20px;min-height:72px;font-family:var(--font-d);font-weight:800;font-size:50px;box-shadow:var(--shadow);margin-bottom:12px}.jump-phrase-bar::-webkit-scrollbar{height:6px}.jump-phrase-bar::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.jump-char{display:inline-block;padding:4px 8px;border-radius:6px;min-width:18px;text-align:center;flex:none;transition:all .12s ease}.jump-char.ok{color:var(--bamboo)}.jump-char.cur{background:var(--gold);color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 40%,transparent);animation:jumpCharPulse .8s ease-in-out infinite}.jump-char.rest{color:var(--fg-3)}@keyframes jumpCharPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media (max-width: 820px){.jump-phrase-bar{font-size:24px;padding:12px 14px;min-height:60px}.jump-char{padding:3px 6px;min-width:14px}}.game-grid-bg{background:radial-gradient(circle at center,var(--panel-2) 0%,var(--panel) 100%)}.game-side-score{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-end;z-index:5}.game-side-score .badge{background:#0000008c;color:#ffc53d;border:none;font-family:var(--font-d);font-weight:800;font-size:15px;padding:5px 12px}.game-overlay .btn+.btn{margin-top:8px}.village-quests{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:12px}.village-quest{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--panel);border:2px solid var(--line);border-radius:12px;box-shadow:var(--shadow);transition:all .2s}.village-quest.done{background:color-mix(in srgb,var(--bamboo) 15%,var(--panel));border-color:var(--bamboo)}.village-quest-icon{font-size:26px;line-height:1;flex:none}.village-quest-body{flex:1;min-width:0}.village-quest-label{font-size:13.5px;font-weight:700;color:var(--fg);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.village-quest.done .village-quest-label{color:var(--bamboo);text-decoration:line-through}.village-quest-bar{height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden}.village-quest-fill{height:100%;border-radius:3px;transition:width .3s ease}.village-quest-count{font-size:12px;font-weight:700;color:var(--fg-3);margin-top:2px}@media (max-width: 640px){.village-quests{grid-template-columns:1fr}}.village-progress-wrap{background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:10px;box-shadow:var(--shadow)}.village-progress-label{font-size:13.5px;color:var(--fg-2);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.village-progress-label b{font-family:var(--font-d);font-size:16px;color:var(--bamboo)}.village-progress-bar{height:10px;background:var(--panel-2);border-radius:5px;overflow:hidden}.village-progress-fill{height:100%;background:linear-gradient(90deg,#2fa36b,#ffc53d);border-radius:5px;transition:width .4s cubic-bezier(.4,1,.5,1)}.ramen-recipe-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel);border:2px solid var(--line);border-radius:12px;margin-bottom:10px;flex-wrap:wrap;box-shadow:var(--shadow)}.ramen-recipe-label{font-weight:700;font-size:14px;color:var(--fg-2)}.ramen-recipe-item{background:color-mix(in srgb,var(--bamboo) 20%,var(--panel-2));color:var(--bamboo);padding:4px 10px;border-radius:8px;font-weight:700;font-size:13px}.escape-sentence-box{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:12px;font-family:var(--font-d);font-weight:700;font-size:22px;line-height:1.6;min-height:60px;box-shadow:var(--shadow)}.escape-char{display:inline-block;padding:2px 4px;border-radius:4px;min-width:12px;text-align:center;transition:all .12s ease}.escape-char.ok{color:var(--bamboo)}.escape-char.cur{background:var(--gold);color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 35%,transparent);animation:escapePulse .8s ease-in-out infinite}@keyframes escapePulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.escape-char.rest{color:var(--fg-3)}.escape-context{color:var(--fg-3);opacity:.5;font-size:16px;font-style:italic;padding:0 4px}@media (max-width: 820px){.escape-sentence-box{font-size:18px;padding:10px 12px}.escape-context{font-size:13px}}@media (max-width: 820px){.escape-sentence-box{font-size:18px;padding:10px 12px}}.ramen-recipe-item.done{background:color-mix(in srgb,var(--bamboo) 25%,var(--panel-2));color:var(--bamboo);font-weight:800}.flag-scoreboard{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;justify-content:center}.flag-score-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--panel);border:2px solid var(--line);border-radius:999px;font-family:var(--font-d);font-weight:700;font-size:13px;transition:all .2s;position:relative}.flag-score-item.me{border-width:3px;border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 25%,transparent)}.flag-score-item.holding{background:color-mix(in srgb,var(--gold) 25%,var(--panel));animation:holdingPulse .6s ease-in-out infinite}@keyframes holdingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.flag-score-band{width:12px;height:12px;border-radius:50%;background:var(--band);flex:none}.flag-score-name{color:var(--fg);white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}.flag-score-value{font-family:var(--font-d);font-size:18px;color:var(--lantern);min-width:20px;text-align:center}.flag-score-timer{font-size:11px;color:#4a3200;background:var(--gold);padding:2px 6px;border-radius:999px;font-weight:800}.flag-question-box{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 24px;margin-bottom:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 20%,var(--panel)),var(--panel));border:3px solid var(--gold);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:questionAppear .3s ease}@keyframes questionAppear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.flag-question-expr{font-family:var(--font-d);font-size:52px;font-weight:800;color:var(--ink);letter-spacing:.02em}.flag-question-eq{font-family:var(--font-d);font-size:42px;font-weight:800;color:var(--lantern)}@media (max-width: 820px){.flag-question-expr{font-size:36px}.flag-question-eq{font-size:30px}.flag-score-item{padding:5px 10px;font-size:12px}.flag-score-value{font-size:15px}}.tug-scoreboard{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);margin-bottom:10px;box-shadow:var(--shadow)}.tug-team{display:flex;align-items:center;gap:10px;flex:1}.tug-team-1{justify-content:flex-start}.tug-team-2{justify-content:flex-end}.tug-team-name{font-family:var(--font-d);font-weight:800;font-size:17px}.tug-team-1 .tug-team-name{color:#3ba6e8}.tug-team-2 .tug-team-name{color:#ff5a3c}.tug-team-score{font-family:var(--font-d);font-weight:800;font-size:28px;padding:2px 14px;border-radius:8px;min-width:40px;text-align:center}.tug-team-1 .tug-team-score{background:color-mix(in srgb,#3BA6E8 20%,transparent);color:#3ba6e8}.tug-team-2 .tug-team-score{background:color-mix(in srgb,#FF5A3C 20%,transparent);color:#ff5a3c}.tug-vs{font-family:var(--font-d);font-weight:800;font-size:18px;color:var(--fg-3);padding:0 8px}.tug-rope-bar{padding:10px 16px;background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);margin-bottom:10px;box-shadow:var(--shadow)}.tug-rope-track{height:14px;background:linear-gradient(90deg,#3ba6e840,#3ba6e840 15%,#ffffff1a 15%,#ffffff1a 85%,#ff5a3c40 85%,#ff5a3c40);border-radius:7px;overflow:visible;margin:6px 0;position:relative}.tug-rope-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:var(--gold);border:3px solid #FFFFFF;box-shadow:0 2px 8px #0003;transition:left .15s ease-out;z-index:2}.tug-rope-mid{position:absolute;left:50%;top:-3px;bottom:-3px;width:3px;background:#ffffff80;transform:translate(-50%);z-index:1}.tug-rope-labels{display:flex;justify-content:space-between;font-size:12px;font-weight:700;margin-top:4px}.tug-lobby-teams{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tug-lobby-team{padding:16px;border-radius:var(--r-lg);border:2px solid var(--line);background:var(--panel);box-shadow:var(--shadow);min-height:240px;display:flex;flex-direction:column}.tug-lobby-team-1{border-bottom:5px solid #3BA6E8}.tug-lobby-team-2{border-bottom:5px solid #FF5A3C}.tug-lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--line)}.tug-lobby-team-name{font-family:var(--font-d);font-weight:800;font-size:16px}.tug-lobby-team-1 .tug-lobby-team-name{color:#3ba6e8}.tug-lobby-team-2 .tug-lobby-team-name{color:#ff5a3c}.tug-lobby-count{font-weight:800;font-size:15px;padding:2px 10px;background:var(--panel-2);border-radius:999px;color:var(--fg-2)}.tug-lobby-members{flex:1;display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:220px}.tug-lobby-member{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--panel-2);border-radius:10px;transition:all .2s}.tug-lobby-member svg{width:28px;height:28px;flex:none}.tug-lobby-name{flex:1;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.tug-lobby-teams{grid-template-columns:1fr}}@media (max-width: 820px){.tug-team-name{font-size:14px}.tug-team-score{font-size:22px;padding:2px 10px}.tug-rope-thumb{width:20px;height:20px}}.dot-pulse{width:12px;height:12px;border-radius:50%;background:var(--gold);animation:dotPulse 1.2s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.game-play-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:start;max-width:1200px;margin:0 auto}.game-play-layout.single-column{grid-template-columns:1fr}.game-play-canvas{position:sticky;top:90px;border-radius:var(--r-lg);overflow:hidden;border:2px solid var(--line);box-shadow:var(--shadow-md);background:#000;aspect-ratio:16 / 10}.game-play-canvas canvas{display:block;width:100%;height:100%}.game-play-question{display:flex;flex-direction:column;gap:14px}.question-card{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel));border:2px solid var(--accent);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.question-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--coral),var(--plum))}.question-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.question-card-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-d);font-size:13px;font-weight:700;padding:4px 10px;border-radius:var(--r-full);background:var(--panel-2);color:var(--fg-2);border:1px solid var(--line)}.question-card-badge.time{background:color-mix(in srgb,var(--coral) 15%,var(--panel));color:var(--coral);border-color:var(--coral)}.question-card-badge.time.warning{background:var(--coral);color:#fff;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.question-expr{font-family:var(--font-d);font-weight:800;font-size:clamp(36px,6vw,56px);line-height:1.1;text-align:center;color:var(--fg);letter-spacing:.02em;margin:8px 0 16px;padding:8px 0}.question-expr .eq{color:var(--coral);margin:0 12px}.question-expr .answer-blank{display:inline-block;min-width:80px;border-bottom:4px solid var(--accent);color:var(--accent);text-align:center}.answer-input{width:100%;padding:16px 20px;font-family:var(--font-d);font-weight:800;font-size:clamp(28px,5vw,40px);text-align:center;letter-spacing:.1em;border:3px solid var(--line-2);border-radius:var(--r-md);background:var(--bg-2);color:var(--fg);outline:none;transition:all .2s;margin-bottom:14px}.answer-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 20%,transparent)}.answer-input.ready{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 10%,var(--bg-2));box-shadow:0 0 0 4px color-mix(in srgb,var(--mint) 25%,transparent)}.answer-input.answered{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 15%,var(--bg-2));color:var(--mint);opacity:.9}.answer-input::placeholder{color:var(--fg-3);font-weight:600;font-size:.6em}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.numpad-key{display:flex;align-items:center;justify-content:center;height:60px;font-family:var(--font-d);font-weight:800;font-size:24px;border-radius:var(--r-md);border:2px solid var(--line-2);background:var(--panel);color:var(--fg);box-shadow:0 2px 0 var(--line-2),0 4px 8px #0f172a0f;cursor:pointer;transition:all .1s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.numpad-key:hover:not(:disabled){border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.numpad-key:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 var(--line-2)}.numpad-key:disabled{opacity:.4;cursor:not-allowed;transform:none}.numpad-key.delete{background:color-mix(in srgb,var(--coral) 12%,var(--panel));border-color:color-mix(in srgb,var(--coral) 40%,var(--line-2));color:var(--coral);font-size:22px}.numpad-key.delete:hover:not(:disabled){background:color-mix(in srgb,var(--coral) 20%,var(--panel));border-color:var(--coral);color:var(--coral)}.numpad-key.minus{font-size:20px}.numpad-enter{grid-column:span 3;display:flex;align-items:center;justify-content:center;gap:8px;height:60px;font-family:var(--font-d);font-weight:800;font-size:20px;border-radius:var(--r-md);border:2px solid var(--mint);background:linear-gradient(135deg,var(--mint),#059669);color:#fff;box-shadow:0 3px #047857,0 6px 16px #10b9814d;cursor:pointer;transition:all .1s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.numpad-enter:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px #047857,0 8px 20px #10b98166}.numpad-enter:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #047857,0 2px 8px #10b9814d}.numpad-enter:disabled{opacity:.4;cursor:not-allowed;background:var(--panel-2);color:var(--fg-3);border-color:var(--line);box-shadow:0 3px 0 var(--line)}.answer-panel{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel));border:2px solid var(--accent);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-md);animation:fade .3s ease}.answer-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px}.answer-panel-title{font-family:var(--font-d);font-weight:800;font-size:15px;color:var(--fg)}.answer-panel-correct{font-family:var(--font-d);font-weight:800;font-size:14px;color:var(--mint);background:color-mix(in srgb,var(--mint) 15%,var(--panel));padding:3px 10px;border-radius:var(--r-full)}.answer-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer-panel-team-title{font-family:var(--font-d);font-weight:800;font-size:13px;margin-bottom:6px;display:flex;align-items:center;gap:4px}.answer-panel-team-title.team-1{color:var(--sky)}.answer-panel-team-title.team-2{color:var(--coral)}.answer-panel-team{display:flex;flex-direction:column;gap:4px}.answer-row{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--r-sm);font-size:13px;font-weight:600;background:var(--panel-2);border-left:3px solid var(--fg-3)}.answer-row.correct{background:color-mix(in srgb,var(--mint) 12%,var(--panel-2));border-left-color:var(--mint)}.answer-row.wrong{background:color-mix(in srgb,var(--rose) 10%,var(--panel-2));border-left-color:var(--rose)}.answer-row-name{font-weight:700;flex:none}.answer-row-expression{flex:1;color:var(--fg-2)}.answer-row-result{font-family:var(--font-mono);font-weight:700;color:var(--fg)}.answer-row-status{font-size:11.5px;font-weight:700;padding:1px 6px;border-radius:var(--r-full);flex:none}.answer-row.correct .answer-row-status{background:var(--mint);color:#fff}.answer-row.wrong .answer-row-status{background:var(--rose);color:#fff}.answer-row-time{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);font-weight:600;flex:none}.scoreboard-v2{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:12px 16px;background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:14px}.scoreboard-team{display:flex;align-items:center;gap:8px}.scoreboard-team.team-1{justify-content:flex-start}.scoreboard-team.team-2{justify-content:flex-end}.scoreboard-team-name{font-family:var(--font-d);font-weight:800;font-size:15px;white-space:nowrap}.scoreboard-team.team-1 .scoreboard-team-name{color:var(--sky)}.scoreboard-team.team-2 .scoreboard-team-name{color:var(--coral)}.scoreboard-team-score{font-family:var(--font-d);font-weight:800;font-size:26px;min-width:40px;text-align:center;padding:2px 12px;border-radius:var(--r)}.scoreboard-team.team-1 .scoreboard-team-score{background:color-mix(in srgb,var(--sky) 18%,var(--panel));color:var(--sky)}.scoreboard-team.team-2 .scoreboard-team-score{background:color-mix(in srgb,var(--coral) 18%,var(--panel));color:var(--coral)}.scoreboard-vs{font-family:var(--font-d);font-weight:800;font-size:16px;color:var(--fg-3);padding:0 8px;display:flex;flex-direction:column;align-items:center;gap:2px}.scoreboard-flag-info{font-size:12px;font-weight:700}.game-header-v2{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);margin-bottom:14px;box-shadow:var(--shadow-sm);flex-wrap:wrap}.game-header-v2 .spacer{flex:1}@media (max-width: 900px){.game-play-layout{grid-template-columns:1fr}.game-play-canvas{position:relative;top:0;aspect-ratio:16 / 9}.question-expr{font-size:40px}.answer-input{font-size:32px;padding:14px 16px}.numpad-key{height:56px;font-size:22px}.numpad-enter{height:56px;font-size:18px}}@media (max-width: 600px){.wrap{padding:12px 12px 60px}.game-play-layout{gap:12px}.question-card{padding:14px}.question-expr{font-size:32px;margin:4px 0 12px}.answer-input{font-size:28px;padding:12px;margin-bottom:10px}.numpad{gap:8px}.numpad-key{height:52px;font-size:20px;border-radius:var(--r)}.numpad-enter{height:52px;font-size:16px}.answer-panel-grid{grid-template-columns:1fr}.scoreboard-team-name{font-size:13px}.scoreboard-team-score{font-size:22px;padding:2px 8px}}.home-hero-v2{text-align:center;padding:32px 20px 24px;margin-bottom:24px}.home-hero-v2 h1{font-size:clamp(28px,5vw,44px);margin-bottom:8px;background:linear-gradient(135deg,var(--brand),var(--plum));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-hero-v2 p{color:var(--fg-2);font-size:16px;max-width:50ch;margin:0 auto;line-height:1.6}.home-section{margin-bottom:32px}.home-section-title{font-family:var(--font-d);font-size:20px;font-weight:800;margin-bottom:14px;color:var(--fg);display:flex;align-items:center;gap:8px}.home-section-title .icon{font-size:24px}.home-main-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}@media (min-width: 1100px){.home-main-cards{grid-template-columns:repeat(4,1fr)}}.home-main-card{position:relative;text-align:left;background:var(--panel);border:2px solid var(--line);border-radius:var(--r-xl);padding:24px;box-shadow:var(--shadow-md);transition:all .25s ease;cursor:pointer;overflow:hidden;min-height:180px;display:flex;flex-direction:column}.home-main-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--card-color, var(--brand)),color-mix(in srgb,var(--card-color, var(--brand)) 70%,var(--plum)));opacity:.08;transition:opacity .25s}.home-main-card:hover{transform:translateY(-4px);border-color:var(--card-color, var(--brand));box-shadow:0 20px 40px #0f172a26}.home-main-card:hover:before{opacity:.15}.home-main-card-icon{font-size:44px;line-height:1;margin-bottom:12px;position:relative;z-index:1}.home-main-card h3{font-size:22px;font-weight:800;margin-bottom:6px;color:var(--fg);position:relative;z-index:1}.home-main-card p{color:var(--fg-2);font-size:14.5px;line-height:1.5;margin:0;position:relative;z-index:1;flex:1}.home-main-card-arrow{position:absolute;top:24px;right:24px;font-size:24px;color:var(--card-color, var(--brand));opacity:.6;transition:all .25s;z-index:1}.home-main-card:hover .home-main-card-arrow{opacity:1;transform:translate(4px)}.home-secondary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.home-secondary-card{text-align:center;background:var(--panel);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:18px 14px;box-shadow:var(--shadow-sm);transition:all .2s;cursor:pointer}.home-secondary-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--shadow-md)}.home-secondary-card .icon{font-size:32px;margin-bottom:8px;display:block}.home-secondary-card .label{font-family:var(--font-d);font-weight:700;font-size:14px;color:var(--fg);margin-bottom:2px}.home-secondary-card .desc{font-size:12px;color:var(--fg-3);line-height:1.4}.join-room-card{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 8%,var(--panel)),var(--panel));border:2px solid var(--brand);border-radius:var(--r-lg);padding:18px;margin-bottom:24px;box-shadow:var(--shadow-md)}.join-room-card h3{font-family:var(--font-d);font-size:17px;margin-bottom:6px;display:flex;align-items:center;gap:8px}.join-room-card .hint{font-size:13px;color:var(--fg-2);margin-bottom:12px}.join-room-row{display:flex;gap:8px}.game-layout-v3{display:flex;flex-direction:column;gap:12px;max-width:1200px;margin:0 auto}.game-header-v3{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap}.game-header-v3 .spacer{flex:1}.scoreboard-v3{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:10px 16px;background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.scoreboard-v3 .team{display:flex;align-items:center;gap:8px}.scoreboard-v3 .team.team-1{justify-content:flex-start}.scoreboard-v3 .team.team-2{justify-content:flex-end}.scoreboard-v3 .team-name{font-family:var(--font-d);font-weight:800;font-size:15px;white-space:nowrap}.scoreboard-v3 .team.team-1 .team-name{color:var(--sky)}.scoreboard-v3 .team.team-2 .team-name{color:var(--coral)}.scoreboard-v3 .team-score{font-family:var(--font-d);font-weight:800;font-size:26px;min-width:42px;text-align:center;padding:2px 12px;border-radius:var(--r)}.scoreboard-v3 .team.team-1 .team-score{background:color-mix(in srgb,var(--sky) 18%,var(--panel));color:var(--sky)}.scoreboard-v3 .team.team-2 .team-score{background:color-mix(in srgb,var(--coral) 18%,var(--panel));color:var(--coral)}.scoreboard-v3 .vs-center{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 8px;min-width:80px}.scoreboard-v3 .flag-info{font-family:var(--font-d);font-weight:800;font-size:14px;white-space:nowrap}.scoreboard-v3 .vs-label{font-size:11px;color:var(--fg-3);font-weight:700}.game-canvas-v3{position:relative;width:100%;aspect-ratio:16 / 9;min-height:360px;max-height:60vh;border-radius:var(--r-lg);overflow:hidden;border:3px solid var(--line);box-shadow:var(--shadow-lg);background:#000}.game-canvas-v3 canvas{display:block;width:100%;height:100%}.game-controls-v3{background:var(--panel);border:2px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-md)}.controls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;flex-wrap:wrap}.controls-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-d);font-size:13px;font-weight:700;padding:4px 10px;border-radius:var(--r-full);background:var(--panel-2);color:var(--fg-2);border:1px solid var(--line)}.controls-badge.time{background:color-mix(in srgb,var(--coral) 15%,var(--panel));color:var(--coral);border-color:var(--coral)}.controls-badge.time.warning{background:var(--coral);color:#fff;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.expression-row{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0;min-height:90px;flex-wrap:nowrap}.expr-part{font-family:var(--font-d);font-weight:800;font-size:clamp(32px,5vw,48px);line-height:1;color:var(--fg);letter-spacing:.02em;white-space:nowrap}.expr-equal{font-family:var(--font-d);font-weight:800;font-size:clamp(32px,5vw,48px);color:var(--coral);margin:0 6px}.answer-slot{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:clamp(70px,12vw,110px);height:clamp(56px,8vw,76px);border:3px dashed var(--accent);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 8%,var(--bg-2));transition:all .2s}.answer-slot.filled{border-style:solid;border-color:var(--mint);background:color-mix(in srgb,var(--mint) 12%,var(--bg-2))}.answer-slot.correct{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 20%,var(--bg-2));box-shadow:0 0 0 6px color-mix(in srgb,var(--mint) 25%,transparent)}.answer-slot.wrong{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 15%,var(--bg-2));animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.answer-slot .placeholder{font-family:var(--font-d);font-weight:800;font-size:clamp(28px,5vw,42px);color:var(--accent);animation:blink 1.5s ease-in-out infinite}.answer-slot .value{font-family:var(--font-d);font-weight:800;font-size:clamp(28px,5vw,42px);color:var(--fg);animation:flyIn .35s cubic-bezier(.34,1.56,.64,1)}.answer-slot.correct .value{color:var(--mint);animation:pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.answer-slot.wrong .value{color:var(--rose)}.answer-hint{font-size:12px;color:var(--fg-3);text-align:center;margin-top:-6px;margin-bottom:10px;font-weight:600}.answer-input-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:-9999px}.numpad-row{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin-top:8px}.numpad-key-v3{display:flex;align-items:center;justify-content:center;height:58px;min-width:0;font-family:var(--font-d);font-weight:800;font-size:22px;border-radius:var(--r-md);border:2px solid var(--line-2);background:var(--panel);color:var(--fg);box-shadow:0 2px 0 var(--line-2),0 3px 6px #0f172a0d;cursor:pointer;transition:all .1s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.numpad-key-v3:hover:not(:disabled){border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.numpad-key-v3:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 var(--line-2)}.numpad-key-v3:disabled{opacity:.35;cursor:not-allowed}.numpad-key-v3.delete{background:color-mix(in srgb,var(--coral) 12%,var(--panel));border-color:color-mix(in srgb,var(--coral) 45%,var(--line-2));color:var(--coral);font-size:20px}.numpad-key-v3.delete:hover:not(:disabled){background:color-mix(in srgb,var(--coral) 20%,var(--panel));border-color:var(--coral)}.numpad-key-v3.minus{font-size:20px}.numpad-key-v3.enter{grid-column:span 2;background:linear-gradient(135deg,var(--mint),#059669);color:#fff;border-color:#047857;box-shadow:0 3px #047857,0 4px 10px #10b9814d;font-size:18px}.numpad-key-v3.enter:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px #047857,0 6px 14px #10b98166}.numpad-key-v3.enter:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #047857}.numpad-key-v3.enter:disabled{background:var(--panel-2);color:var(--fg-3);border-color:var(--line);box-shadow:0 3px 0 var(--line)}.numpad-key-v3.ready{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 10%,var(--panel));color:var(--mint)}.answer-panel-v3{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel));border:2px solid var(--accent);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-md);animation:slideUp .35s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.answer-panel-v3-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;flex-wrap:wrap}.answer-panel-v3-title{font-family:var(--font-d);font-weight:800;font-size:15px}.answer-panel-v3-correct{font-family:var(--font-d);font-weight:800;font-size:14px;color:var(--mint);background:color-mix(in srgb,var(--mint) 15%,var(--panel));padding:3px 10px;border-radius:var(--r-full)}.answer-panel-v3-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer-team-v3-title{font-family:var(--font-d);font-weight:800;font-size:13px;margin-bottom:6px;display:flex;align-items:center;gap:4px}.answer-team-v3-title.team-1{color:var(--sky)}.answer-team-v3-title.team-2{color:var(--coral)}.answer-team-v3-list{display:flex;flex-direction:column;gap:4px}.answer-row-v3{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--r-sm);font-size:13px;font-weight:600;background:var(--panel-2);border-left:3px solid var(--fg-3)}.answer-row-v3.correct{background:color-mix(in srgb,var(--mint) 12%,var(--panel-2));border-left-color:var(--mint)}.answer-row-v3.wrong{background:color-mix(in srgb,var(--rose) 10%,var(--panel-2));border-left-color:var(--rose)}.answer-row-v3 .name{font-weight:700;flex:none}.answer-row-v3 .result{font-family:var(--font-mono);font-weight:700;flex:1;color:var(--fg)}.answer-row-v3 .status{font-size:11px;font-weight:700;padding:1px 6px;border-radius:var(--r-full);flex:none}.answer-row-v3.correct .status{background:var(--mint);color:#fff}.answer-row-v3.wrong .status{background:var(--rose);color:#fff}.answer-row-v3 .time{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);font-weight:600;flex:none}@media (max-width: 900px){.game-canvas-v3{aspect-ratio:4 / 3;min-height:280px;max-height:45vh}.expression-row{min-height:72px;padding:8px 0;gap:8px}.expr-part,.expr-equal{font-size:32px}.answer-slot{min-width:64px;height:52px}.answer-slot .placeholder,.answer-slot .value{font-size:28px}.numpad-row{grid-template-columns:repeat(6,1fr);gap:5px}.numpad-key-v3{height:52px;font-size:20px}.numpad-key-v3.enter{grid-column:span 3;font-size:16px}.numpad-key-v3.delete{font-size:18px}}@media (max-width: 600px){.game-layout-v3{gap:8px}.game-header-v3,.scoreboard-v3,.game-controls-v3{padding:10px 12px;border-radius:var(--r-md)}.game-canvas-v3{min-height:220px;max-height:38vh}.expression-row{min-height:64px}.expr-part,.expr-equal{font-size:26px}.answer-slot{min-width:56px;height:46px}.answer-slot .placeholder,.answer-slot .value{font-size:24px}.numpad-row{grid-template-columns:repeat(4,1fr);gap:5px}.numpad-key-v3{height:48px;font-size:18px;border-radius:var(--r)}.numpad-key-v3.enter{grid-column:span 4;font-size:15px}.scoreboard-v3 .team-name{font-size:12px}.scoreboard-v3 .team-score{font-size:20px;padding:2px 8px}.answer-panel-v3-grid{grid-template-columns:1fr}.answer-row-v3{font-size:12px;padding:5px 8px}}.flying-number{position:fixed;font-family:var(--font-d);font-weight:800;font-size:42px;color:var(--mint);z-index:9999;pointer-events:none;animation:flyToSlot .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes flyToSlot{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes flyIn{0%{opacity:0;transform:scale(.3) translateY(20px)}60%{opacity:1;transform:scale(1.15) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.numpad-v4{display:flex;flex-direction:column;gap:8px;margin-top:10px}.numpad-v4-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.numpad-v4-key{display:flex;align-items:center;justify-content:center;height:56px;min-width:0;font-family:var(--font-d);font-weight:800;font-size:22px;border-radius:12px;border:2px solid var(--line-2);background:var(--panel);color:var(--fg);box-shadow:0 2px 0 var(--line-2),0 3px 6px #0f172a0d;cursor:pointer;transition:all .1s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.numpad-v4-key:hover:not(:disabled){border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.numpad-v4-key:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 var(--line-2)}.numpad-v4-key:disabled{opacity:.35;cursor:not-allowed;transform:none}.numpad-v4-key.delete{background:color-mix(in srgb,var(--coral) 12%,var(--panel));border-color:color-mix(in srgb,var(--coral) 45%,var(--line-2));color:var(--coral);font-size:20px}.numpad-v4-key.delete:hover:not(:disabled){background:color-mix(in srgb,var(--coral) 20%,var(--panel));border-color:var(--coral);color:var(--coral)}.numpad-v4-enter{display:flex;align-items:center;justify-content:center;gap:8px;height:58px;font-family:var(--font-d);font-weight:800;font-size:18px;letter-spacing:.02em;border-radius:12px;border:2px solid var(--mint);background:linear-gradient(135deg,var(--mint),#059669);color:#fff;box-shadow:0 3px #047857,0 4px 12px #10b9814d;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.numpad-v4-enter:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px #047857,0 6px 16px #10b98166}.numpad-v4-enter:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #047857}.numpad-v4-enter:disabled{background:var(--panel-2);color:var(--fg-3);border-color:var(--line);box-shadow:0 3px 0 var(--line);cursor:not-allowed;opacity:.6}.numpad-v4-enter.answered{background:linear-gradient(135deg,color-mix(in srgb,var(--mint) 25%,var(--panel)),color-mix(in srgb,var(--mint) 15%,var(--panel)));color:var(--mint);border-color:var(--mint);box-shadow:0 3px color-mix(in srgb,var(--mint) 60%,var(--line)),inset 0 0 0 1px color-mix(in srgb,var(--mint) 30%,transparent);opacity:1;cursor:default}.numpad-v4-enter .check{font-size:20px;font-weight:900;animation:checkPop .4s cubic-bezier(.34,1.56,.64,1)}.numpad-v4-enter .icon{font-size:20px}@keyframes checkPop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@media (max-width: 600px){.numpad-v4,.numpad-v4-row{gap:6px}.numpad-v4-key{height:48px;font-size:20px;border-radius:10px}.numpad-v4-key.delete{font-size:18px}.numpad-v4-enter{height:52px;font-size:16px;border-radius:10px}.numpad-v4-enter .check,.numpad-v4-enter .icon{font-size:18px}}.home-v3{max-width:1000px;margin:0 auto;padding:0 4px}.home-v3-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;padding:24px 0 32px;margin-bottom:8px}.home-v3-hero-text h1{font-family:var(--font-d);font-size:clamp(28px,4.5vw,40px);font-weight:800;margin-bottom:10px;color:var(--fg);line-height:1.15}.home-v3-hero-text h1 .highlight{color:var(--brand)}.home-v3-hero-text p{color:var(--fg-2);font-size:16px;line-height:1.55;max-width:46ch;margin:0}.home-v3-hero-illu{display:flex;justify-content:center;align-items:center;position:relative}.home-v3-hero-illu:before{content:"";position:absolute;width:160px;height:160px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 25%,transparent),transparent 70%);border-radius:50%;z-index:0}.home-v3-hero-illu>*{position:relative;z-index:1}.join-room-v3{display:flex;gap:14px;padding:16px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 5%,#FFF),#fff);border:1.5px solid color-mix(in srgb,var(--brand) 22%,transparent);border-radius:16px;box-shadow:0 1px 3px #3b82f60f;margin-bottom:28px;align-items:center}.join-room-v3-icon{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border-radius:12px;box-shadow:0 1px 4px #3b82f61f}.join-room-v3-body{flex:1;min-width:0}.join-room-v3-body h3{font-family:var(--font-d);font-size:16px;font-weight:700;margin:0 0 2px;color:var(--fg);line-height:1.2}.join-room-v3-body p{font-size:13px;color:var(--fg-3);margin:0 0 10px;line-height:1.4}.join-room-v3-row{display:flex;gap:8px;align-items:stretch}.join-room-v3-row input{flex:1;min-width:0;padding:10px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:14px;font-weight:500;outline:none;transition:all .15s;letter-spacing:.02em;font-family:var(--font-b)}.join-room-v3-row input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.join-room-v3-row input::placeholder{color:var(--fg-3);font-weight:400}.join-room-v3-row button{padding:10px 20px;border:none;border-radius:10px;background:var(--brand);color:#fff;font-family:var(--font-b);font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 2px 0 var(--brand-dark);transition:all .1s;white-space:nowrap}.join-room-v3-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 0 var(--brand-dark)}.join-room-v3-row button:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 var(--brand-dark)}.join-room-v3-row button:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 2px 0 var(--line)}.join-room-v3-error{font-size:12.5px;color:var(--rose);margin:8px 0 0;font-weight:500}.home-v3-section-title{font-family:var(--font-b);font-size:19px;font-weight:700;color:var(--fg);margin:0 0 14px;display:flex;align-items:center;gap:6px}.home-v3-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:8px}@media (min-width: 900px){.home-v3-grid{grid-template-columns:repeat(4,1fr)}}.home-v3-card{position:relative;display:flex;flex-direction:column;text-align:left;padding:20px 18px 22px;background:#fff;border:2px solid var(--line);border-radius:20px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 0 var(--line);overflow:hidden;font-family:inherit;color:inherit}.home-v3-card[data-color=mint]{--c: var(--mint);--c-dark: #059669}.home-v3-card[data-color=sky]{--c: var(--sky);--c-dark: #0284C7}.home-v3-card[data-color=plum]{--c: var(--plum);--c-dark: #6D28D9}.home-v3-card[data-color=coral]{--c: var(--coral);--c-dark: #C2410C}.home-v3-card:hover{transform:translateY(-2px);border-color:var(--c);box-shadow:0 6px 0 var(--c-dark)}.home-v3-card:active{transform:translateY(2px);box-shadow:0 1px 0 var(--c-dark)}.home-v3-card-illu{width:100%;height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.home-v3-card-illu svg{display:block}.home-v3-card-body h3{font-family:var(--font-b);font-size:16px;font-weight:700;margin:0 0 4px;color:var(--fg);line-height:1.25}.home-v3-card-body p{font-size:13px;color:var(--fg-2);margin:0;line-height:1.5;font-family:var(--font-b)}.home-v3-card-arrow{position:absolute;top:18px;right:16px;font-size:18px;color:var(--c);opacity:.5;transition:all .2s;font-weight:800}.home-v3-card:hover .home-v3-card-arrow{opacity:1;transform:translate(4px)}.home-v3-grid-small{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 700px){.home-v3-grid-small{grid-template-columns:1fr}}.home-v3-card-sm{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:2px solid var(--line);border-radius:16px;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 0 var(--line);text-align:left;font-family:inherit;color:inherit}.home-v3-card-sm:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:0 4px 0 var(--brand-dark)}.home-v3-card-sm:active{transform:translateY(1px);box-shadow:0 1px 0 var(--brand-dark)}.home-v3-card-sm svg{flex:none;display:block}.home-v3-card-sm .label{font-family:var(--font-d);font-size:15px;font-weight:800;color:var(--fg);line-height:1.2}.home-v3-card-sm .desc{font-size:12px;color:var(--fg-3);margin-top:2px}.home-v3-upgrade{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:20px 24px;margin-top:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,#FFF),#fff);border:2px solid var(--accent);border-radius:20px;box-shadow:0 4px color-mix(in srgb,var(--accent) 40%,#FFF)}.home-v3-upgrade-illu{display:flex;align-items:center}.home-v3-upgrade-body h3{font-family:var(--font-d);font-size:19px;font-weight:800;margin:0 0 4px;color:var(--fg)}.home-v3-upgrade-body p{font-size:13.5px;color:var(--fg-2);margin:0}.home-v3-upgrade-btn{padding:12px 24px;border:none;border-radius:14px;background:var(--accent);color:#78350f;font-family:var(--font-d);font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 3px 0 var(--accent-dark);transition:all .1s;white-space:nowrap}.home-v3-upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--accent-dark)}.home-v3-upgrade-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--accent-dark)}@keyframes floatAnim{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(3deg)}}@keyframes floatAnimSlow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-2deg)}}@keyframes wiggleAnim{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.float-anim{animation:floatAnim 3.5s ease-in-out infinite}.float-anim-slow{animation:floatAnimSlow 4s ease-in-out infinite}.wiggle-anim{animation:wiggleAnim 2.5s ease-in-out infinite}.home-v3-card:hover .float-anim,.home-v3-card:hover .float-anim-slow,.home-v3-card:hover .wiggle-anim{animation-play-state:paused}@media (max-width: 700px){.home-v3-hero{grid-template-columns:1fr;text-align:center;padding:16px 0 24px}.home-v3-hero-text p{margin:0 auto}.home-v3-hero-illu{order:-1}.home-v3-grid{grid-template-columns:1fr}.home-v3-card{padding:16px}.home-v3-card-illu{height:90px}.join-room-v3{flex-direction:column;padding:16px}.join-room-v3-icon{width:40px;height:40px}.join-room-v3-row{flex-direction:column}.join-room-v3-row button{width:100%}.home-v3-upgrade{grid-template-columns:1fr;text-align:center;padding:18px}.home-v3-upgrade-illu{justify-content:center}.home-v3-upgrade-btn{width:100%}}:root[data-theme=dark] .home-v3-card,:root[data-theme=dark] .home-v3-card-sm,:root[data-theme=dark] .join-room-v3,:root[data-theme=dark] .join-room-v3-row input{background:var(--panel);border-color:var(--line);box-shadow:0 2px 0 var(--line)}:root[data-theme=dark] .join-room-v3{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 10%,var(--panel)),var(--panel))}:root[data-theme=dark] .join-room-v3-icon{background:var(--panel-2)}:root[data-theme=dark] .home-v3-upgrade{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,var(--panel)),var(--panel));box-shadow:0 4px color-mix(in srgb,var(--accent) 40%,var(--panel))}:root[data-theme=dark] .home-v3-card:hover,:root[data-theme=dark] .home-v3-card-sm:hover{box-shadow:0 6px 0 var(--c-dark, var(--brand-dark))}:root[data-theme=dark] .home-v3-hero-illu:before{background:radial-gradient(circle,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%)}.arcade-page{max-width:1000px;margin:0 auto;padding:0 4px}.arcade-back{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:2px solid var(--line);border-radius:12px;font-family:var(--font-b);font-size:14px;font-weight:600;color:var(--fg-2);cursor:pointer;transition:all .15s;box-shadow:0 2px 0 var(--line)}.arcade-back:hover{transform:translateY(-1px);border-color:var(--brand);color:var(--brand);box-shadow:0 3px 0 var(--brand-dark)}.arcade-back:active{transform:translateY(1px);box-shadow:0 1px 0 var(--brand-dark)}.arcade-hero{margin:16px 0 28px}.arcade-hero h1{font-family:var(--font-d);font-size:clamp(26px,4.5vw,36px);font-weight:700;margin:0 0 6px;color:var(--fg);line-height:1.15}.arcade-hero p{font-size:15px;color:var(--fg-2);margin:0}.arcade-grid-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.arcade-card-v2{position:relative;display:flex;flex-direction:column;text-align:left;padding:20px 18px;background:#fff;border:2px solid var(--line);border-radius:20px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 0 var(--line);overflow:hidden;font-family:inherit;color:inherit;min-height:180px}.arcade-card-v2:hover{transform:translateY(-3px);border-color:var(--c);box-shadow:0 6px 0 var(--c)}.arcade-card-v2:active{transform:translateY(2px);box-shadow:0 1px 0 var(--c)}.arcade-card-v2-icon{font-size:40px;line-height:1;margin-bottom:12px;display:inline-block;transition:transform .3s ease}.arcade-card-v2:hover .arcade-card-v2-icon{transform:scale(1.15) rotate(-6deg)}.arcade-card-v2 h3{font-family:var(--font-d);font-size:18px;font-weight:700;margin:0 0 6px;color:var(--fg);line-height:1.2}.arcade-card-v2 p{font-size:13.5px;color:var(--fg-2);margin:0 0 12px;line-height:1.5;flex:1}.arcade-card-v2-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.arcade-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;font-family:var(--font-b);letter-spacing:.02em}.arcade-badge.solo{background:color-mix(in srgb,var(--fg-3) 15%,#FFF);color:var(--fg-2)}.arcade-badge.group{background:color-mix(in srgb,var(--mint) 20%,#FFF);color:#065f46}.arcade-config{background:#fff;border:2px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 2px 0 var(--line)}.arcade-config-back{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;border:1.5px solid var(--line);border-radius:10px;font-size:13px;font-weight:600;color:var(--fg-2);cursor:pointer;margin-bottom:18px;transition:all .15s;font-family:var(--font-b)}.arcade-config-back:hover{border-color:var(--brand);color:var(--brand)}.arcade-config-header{display:flex;align-items:center;gap:16px;padding-bottom:18px;border-bottom:2px solid var(--line);margin-bottom:22px}.arcade-config-icon{font-size:48px;line-height:1;flex:none}.arcade-config-header h2{font-family:var(--font-d);font-size:22px;font-weight:700;margin:0 0 4px;color:var(--fg)}.arcade-config-header p{font-size:14px;color:var(--fg-2);margin:0;line-height:1.4}.arcade-sect{margin-bottom:22px}.arcade-sect h4{font-family:var(--font-d);font-size:15px;font-weight:700;margin:0 0 10px;color:var(--fg)}.arcade-opt-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.arcade-chip{padding:9px 16px;background:#fff;border:2px solid var(--line);border-radius:999px;font-family:var(--font-b);font-size:14px;font-weight:600;color:var(--fg-2);cursor:pointer;transition:all .15s;white-space:nowrap}.arcade-chip:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.arcade-chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 2px 0 var(--brand-dark)}.arcade-chip[aria-pressed=true]:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--brand-dark)}.arcade-chip.gold[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#78350f;box-shadow:0 2px 0 var(--accent-dark)}.arcade-chip.gold[aria-pressed=true]:hover{box-shadow:0 3px 0 var(--accent-dark)}.arcade-chip.plum[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:#fff;box-shadow:0 2px #6d28d9}.arcade-chip.plum[aria-pressed=true]:hover{box-shadow:0 3px #6d28d9}.arcade-chip.sm{padding:6px 12px;font-size:13px}.arcade-hint{font-size:12.5px;color:var(--fg-3);margin:6px 0 0;line-height:1.5}.arcade-range{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:var(--fg-2)}.arcade-range input{width:100px;padding:10px 12px;border:2px solid var(--line);border-radius:10px;background:#fff;font-size:15px;font-family:var(--font-b);font-weight:600;text-align:center;outline:none;transition:all .15s}.arcade-range input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}.arcade-warning{background:color-mix(in srgb,var(--coral) 10%,#FFF);border:1.5px solid var(--coral);border-left-width:4px;border-radius:10px;padding:10px 14px;font-size:13.5px;color:var(--coral);margin-bottom:16px;font-weight:500}.arcade-info{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 8%,#FFF),#fff);border:1.5px solid color-mix(in srgb,var(--brand) 30%,transparent);border-left-width:4px;border-left-color:var(--brand);border-radius:10px;padding:12px 16px;font-size:13.5px;color:var(--fg-2);margin-bottom:16px;line-height:1.55}.arcade-info b{color:var(--brand)}.arcade-start-btn{width:100%;padding:16px 24px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--mint),#059669);color:#fff;font-family:var(--font-d);font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 3px #047857;transition:all .15s;margin-top:8px}.arcade-start-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px #047857}.arcade-start-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #047857}.arcade-start-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 3px 0 var(--line);background:var(--panel-2);color:var(--fg-3)}@media (max-width: 700px){.arcade-hero h1{font-size:26px}.arcade-grid-v2{grid-template-columns:1fr;gap:12px}.arcade-card-v2{padding:16px;min-height:140px}.arcade-card-v2-icon{font-size:36px}.arcade-config{padding:18px}.arcade-config-header{flex-direction:column;text-align:center;gap:10px}.arcade-range{flex-wrap:wrap}.arcade-range input{width:80px}}.typein-sticky{position:sticky;bottom:16px;z-index:10;background:linear-gradient(to top,var(--bg) 60%,color-mix(in srgb,var(--bg) 0%,transparent));padding:16px 0 4px;margin-top:-16px}.typein-sticky .typein{box-shadow:0 4px 16px #0f172a14}.scroll{max-height:40vh;overflow-y:auto}@media (max-height: 800px){.textbox{max-height:38vh;font-size:28px}}@media (max-height: 700px){.textbox{max-height:35vh;font-size:24px;padding:18px 22px}.scroll{max-height:30vh}}@media (max-width: 820px){.textbox{max-height:38vh}.scroll{max-height:35vh}}.textbox .newline-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0 4px 0 6px;border-radius:6px;font-family:var(--font-d);font-size:15px;font-weight:800;line-height:1;vertical-align:middle;transition:all .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.textbox .newline-badge.rest{background:color-mix(in srgb,var(--fg-3) 12%,transparent);color:var(--fg-3);border:1.5px dashed color-mix(in srgb,var(--fg-3) 40%,transparent);opacity:.6}.textbox .newline-badge.cur{background:var(--accent);color:#78350f;border:2px solid var(--accent-dark);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent),0 2px 6px color-mix(in srgb,var(--accent) 40%,transparent);animation:newlineBadgePulse 1s ease-in-out infinite}@keyframes newlineBadgePulse{0%,to{transform:scale(1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent),0 2px 6px color-mix(in srgb,var(--accent) 40%,transparent)}50%{transform:scale(1.15);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 20%,transparent),0 3px 10px color-mix(in srgb,var(--accent) 50%,transparent)}}.textbox .newline-badge.ok{background:var(--mint);color:#fff;border:2px solid #047857;box-shadow:0 1px 4px color-mix(in srgb,var(--mint) 40%,transparent);opacity:.85}.textbox .newline-badge.bad{background:var(--rose);color:#fff;border:2px solid #B91C1C;box-shadow:0 1px 4px color-mix(in srgb,var(--rose) 40%,transparent)}.typein.typearea{width:100%;min-height:60px;max-height:200px;padding:14px 18px;border:3px solid var(--line);border-radius:var(--r);background:var(--bg-2);font-size:22px;font-family:var(--font-b);font-weight:500;line-height:1.5;outline:none;resize:none;overflow-y:auto;transition:all .15s;white-space:pre-wrap;word-break:break-word;scrollbar-width:thin}.typein.typearea:focus{border-color:var(--sky);box-shadow:0 0 0 3px color-mix(in srgb,var(--sky) 20%,transparent)}.typein.typearea.wrong{border-color:var(--coral);background:color-mix(in srgb,var(--coral) 10%,var(--bg-2))}@media (max-width: 820px){.typein.typearea{font-size:18px;min-height:50px;max-height:140px}}.lesson-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.lesson-card{text-align:left;padding:18px;background:#fff;border:2px solid var(--line);border-radius:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 0 var(--line);font-family:inherit;color:inherit}.lesson-card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:0 6px 0 var(--brand-dark)}.lesson-card.done{border-color:var(--mint)}.lesson-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lesson-card-chapter{font-family:var(--font-d);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--panel-2);color:var(--fg-2)}.lesson-card h3{font-family:var(--font-d);font-size:17px;font-weight:700;margin:0 0 4px;color:var(--fg)}.lesson-card p{font-size:13px;margin:0 0 12px;line-height:1.5}.lesson-card-progress{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.lesson-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--fg-3);margin-top:8px}.lesson-detail-header{margin:16px 0 24px}.lesson-detail-header h1{font-family:var(--font-d);font-size:28px;font-weight:800;margin:8px 0;color:var(--fg)}.lesson-detail-header p{font-size:15px;margin:0 0 12px}.lesson-detail-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--fg-2)}.lesson-detail-meta span{display:inline-flex;align-items:center;gap:4px}.lesson-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid var(--line);padding-bottom:2px}.lesson-tab{padding:10px 18px;background:transparent;border:none;border-bottom:3px solid transparent;font-family:var(--font-d);font-size:14px;font-weight:700;color:var(--fg-3);cursor:pointer;transition:all .15s}.lesson-tab:hover{color:var(--brand)}.lesson-tab.active{color:var(--brand);border-bottom-color:var(--brand)}.lesson-blocks{display:flex;flex-direction:column;gap:20px}.lesson-block{background:#fff;border:2px solid var(--line);border-radius:16px;padding:20px 22px}.lesson-block-title{font-family:var(--font-d);font-size:18px;font-weight:800;color:var(--fg);margin:0 0 12px}.lesson-theory p{margin:.5em 0;line-height:1.65;font-size:15px}.lesson-manim{background:var(--panel-2)}.lesson-manim-error{text-align:center;padding:20px;color:var(--fg-3)}.lesson-example{border-left:4px solid var(--plum)}.lesson-example-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.lesson-example-problem{background:color-mix(in srgb,var(--plum) 8%,#FFF);padding:14px 16px;border-radius:12px;margin-bottom:12px;border-left:3px solid var(--plum)}.lesson-example-problem p{margin:.3em 0;font-weight:500}.lesson-example-solution{padding:14px 16px;background:var(--panel-2);border-radius:12px}.lesson-example-solution p{margin:.4em 0;line-height:1.65}.example-step{margin:12px 0;padding-left:12px;border-left:2px solid var(--line-2)}.example-step-label{display:inline-block;font-family:var(--font-d);font-weight:800;font-size:15px;color:var(--plum);margin-right:6px}.lesson-example-conclusion{margin-top:16px;padding-top:12px;border-top:2px dashed var(--line)}.lesson-example-conclusion p{margin:.4em 0}.lesson-practice{border-left:4px solid var(--mint)}.practice-list{display:flex;flex-direction:column;gap:16px}.practice-card{background:#fff;border:2px solid var(--line);border-radius:14px;padding:16px 18px;transition:all .2s}.practice-card.correct{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 5%,#FFF)}.practice-card.wrong{border-color:var(--coral);background:color-mix(in srgb,var(--coral) 5%,#FFF)}.practice-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.practice-card-number{font-family:var(--font-d);font-size:13px;font-weight:800;color:var(--mint);padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--mint) 15%,#FFF)}.practice-card-badge{font-family:var(--font-d);font-size:13px;font-weight:800;padding:3px 10px;border-radius:999px}.practice-card-badge.correct{background:var(--mint);color:#fff}.practice-card-badge.wrong{background:var(--coral);color:#fff}.practice-question p{margin:.4em 0;line-height:1.6;font-weight:500}.practice-answer-row{display:flex;gap:8px;margin:12px 0}.practice-answer-row .typein{flex:1;padding:12px 16px;font-size:18px;font-family:var(--font-d);font-weight:700;text-align:center;letter-spacing:.05em}.practice-feedback{font-family:var(--font-d);font-weight:700;font-size:14px;margin:8px 0}.practice-feedback.correct{color:var(--mint)}.practice-feedback.wrong{color:var(--coral)}.practice-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.practice-hint,.practice-solution{margin-top:12px;padding:12px 16px;border-radius:10px;font-size:14.5px}.practice-hint{background:color-mix(in srgb,var(--accent) 10%,#FFF);border-left:3px solid var(--accent)}.practice-solution{background:color-mix(in srgb,var(--sky) 10%,#FFF);border-left:3px solid var(--sky)}.practice-hint p,.practice-solution p{margin:.4em 0;line-height:1.6}.lesson-note{display:flex;gap:12px;padding:14px 18px;border-radius:12px;border-left:4px solid var(--brand);background:color-mix(in srgb,var(--brand) 8%,#FFF)}.lesson-note-warning{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#FFF)}.lesson-note-tip{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 10%,#FFF)}.lesson-note-danger{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 10%,#FFF)}.lesson-note-icon{font-size:20px;flex:none}.lesson-note-body p{margin:.3em 0;line-height:1.55;font-size:14.5px}.lesson-theory-quick{display:flex;flex-direction:column;gap:12px}.katex{font-size:1.05em}@media (max-width: 700px){.lesson-detail-header h1{font-size:22px}.lesson-block{padding:16px}.lesson-block-title{font-size:16px}.lesson-example-header,.practice-answer-row{flex-direction:column}.practice-card{padding:14px}}.practice-sub-list{display:flex;flex-direction:column;gap:16px;margin-top:12px}.practice-sub{padding:12px 14px;border-left:3px solid #e5e7eb;border-radius:8px;background:#fafafa;transition:background .2s}.practice-sub.correct{border-left-color:#10b981;background:#f0fdf4}.practice-sub.wrong{border-left-color:#ef4444;background:#fef2f2}.practice-sub-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.practice-sub-label{font-weight:700;color:#374151;font-size:14px}.lesson-image img,.lesson-tikz svg{max-width:100%;height:auto;display:block;margin:0 auto}.lesson-image figure{margin:16px 0;text-align:center}.lesson-image figcaption{font-size:13px;color:#64748b;font-style:italic;margin-top:6px}.home-footer{margin-top:48px;padding:28px 20px 20px;border-top:1px solid rgba(0,0,0,.08);text-align:center;color:#64748b;font-size:14px}.home-footer-brand{margin-bottom:14px}.home-footer-logo{font-family:var(--font-d, system-ui);font-size:20px;font-weight:800;color:#1e293b;letter-spacing:-.3px}.home-footer-logo .accent{color:#3b82f6;font-weight:900}.home-footer-info{display:flex;flex-direction:column;gap:8px;align-items:center;margin-bottom:16px}.home-footer-row{display:flex;align-items:center;gap:8px;color:#475569}.home-footer-icon{font-size:16px}.home-footer-link{color:#3b82f6;text-decoration:none;font-weight:600}.home-footer-link:hover{text-decoration:underline}.home-footer-copy{font-size:12px;color:#94a3b8;padding-top:12px;border-top:1px dashed rgba(0,0,0,.06)}@media (max-width: 480px){.home-footer{padding:20px 12px 16px}.home-footer-logo{font-size:17px}.home-footer-info{font-size:13px}}
