@import url(https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300;0,600;1,300&family=DM+Sans:wght@300;400;500&display=swap);@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 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.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;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 .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}#root,body,html{margin:0;padding:0}#root.ut-unterricht-vollbild,body.ut-unterricht-vollbild,html.fs-device-ios #root,html.fs-device-ios body,html.ut-unterricht-vollbild{height:100%;overflow:hidden;overscroll-behavior:none}html.fs-device-ios #root,html.fs-device-ios body{position:fixed;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}*{-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px!important}.board-canvas,.card,.ut-canvas,.ut-doc-card,.ut-image-card,.ut-paper-card,.ut-textbox{-webkit-user-select:none;user-select:none}.card{touch-action:none;will-change:auto}.card.focused,.card.is-dragging{will-change:transform}.scroll-container{-webkit-overflow-scrolling:touch}canvas{touch-action:none}.toolbar,.ut-toolbar{touch-action:pan-y}.fs-device-splash{align-items:center;background:linear-gradient(160deg,#1b4332,#2d6a4f 45%,#40916c);box-sizing:border-box;color:#fff;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:99999}.fs-device-splash-inner{max-width:420px;text-align:center;width:100%}.fs-device-splash-brand{font-size:1.75rem;font-weight:800;letter-spacing:.06em;margin:0 0 28px}.fs-device-splash-q{font-size:1.1rem;margin:0 0 20px;opacity:.95}.fs-device-splash-btn{align-items:center;background:#ffffff14;border:2px solid #ffffff59;border-radius:14px;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;margin-bottom:14px;padding:18px 16px;transition:background .15s,border-color .15s,transform .12s;width:100%}.fs-device-splash-btn:hover{background:#ffffff29;border-color:#ffffff8c}.fs-device-splash-btn:active{transform:scale(.98)}.fs-device-splash-icon{font-size:2rem;margin-bottom:8px}.fs-device-splash-label{font-size:1.05rem;font-weight:700}.fs-device-splash-sub{font-size:.88rem;margin-top:4px;opacity:.85}.fs-device-splash-hint{font-size:.82rem;line-height:1.4;margin:18px 0 0;opacity:.75}.fs-device-settings{background:#141e19f5;border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 12px 40px #00000059;color:#f8f9fa;font-size:14px;max-width:92vw;min-width:260px;padding:14px 16px;position:fixed;z-index:100002}.fs-device-settings h3{font-size:15px;font-weight:700;margin:0 0 12px}.fs-device-settings-row{margin-bottom:12px}.fs-device-settings-row:last-child{margin-bottom:0}.fs-device-settings-label{display:block;font-size:12px;margin-bottom:6px;opacity:.85}.fs-device-settings-toggles{display:flex;flex-wrap:wrap;gap:8px}.fs-device-settings-toggles button{background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;color:inherit;cursor:pointer;flex:1 1;font:inherit;min-width:100px;padding:8px 10px}.fs-device-settings-toggles button.fs-active{background:#40916c;border-color:#52b788}.fs-device-settings-actions{display:flex;justify-content:flex-end;margin-top:10px}.fs-device-settings-actions button{background:#ffffff26;border:none;border-radius:8px;color:inherit;cursor:pointer;font:inherit;padding:6px 12px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.gate-wrapper{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;justify-content:center;min-height:100vh;padding:1rem}.gate-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:380px;padding:2.5rem 2rem;text-align:center;width:100%}.gate-card.shake{animation:shake .5s ease}.gate-logo{margin-bottom:0}.gate-logo-img{height:72px;margin:0 auto 48px;width:auto}.gate-subtitle{color:#888;font-size:.85rem;margin:0}.gate-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.gate-input{border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;letter-spacing:.1em;outline:none;padding:.85rem 1rem;text-align:center;transition:border-color .2s}.gate-input:focus{border-color:#2d6a4f}.gate-input.error{background:#fff5f5;border-color:#e63946}.gate-error{color:#e63946;font-size:.82rem;margin:0}.gate-btn{background:#2d6a4f;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.9rem;transition:background .2s,transform .1s}.gate-btn:hover{background:#1b4332}.gate-btn:active{transform:scale(.98)}.gate-hint{color:#aaa;font-size:.78rem;margin:0}.gate-hint a{color:#2d6a4f;text-decoration:none}.login-wrapper{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:380px;padding:2.5rem 2rem;width:100%}.login-card.shake{animation:shake .5s ease}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-10px)}40%{transform:translateX(10px)}60%{transform:translateX(-8px)}80%{transform:translateX(8px)}}.login-logo{margin-bottom:0;text-align:center}.login-logo-img{height:72px;margin:0 auto 48px;width:auto}.login-subtitle{color:#888;font-size:.85rem;margin:0}.login-form{gap:1rem;margin-bottom:1.5rem}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-label{color:#555;font-size:.8rem;font-weight:600;letter-spacing:.05em}.login-input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;outline:none;padding:.85rem 1rem;transition:border-color .2s;width:100%}.login-input:focus{border-color:#2d6a4f}.login-input.error{background:#fff5f5;border-color:#e63946}.login-pw-wrap{position:relative}.login-pw-wrap .login-input{padding-right:3rem;width:100%}.login-pw-toggle{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.login-error{color:#e63946;font-size:.82rem;margin:0;text-align:center}.login-btn{background:#2d6a4f;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.25rem;padding:.9rem;transition:background .2s,transform .1s}.login-btn:hover{background:#1b4332}.login-btn:active{transform:scale(.98)}.login-hint{color:#aaa;font-size:.78rem;margin:0;text-align:center}.login-hint a{color:#2d6a4f;text-decoration:none}.onboarding-screen{background:var(--bg);display:flex;flex-direction:column;margin:0 auto;max-width:480px;min-height:100vh;padding:48px 32px 40px}.ob-progress{display:flex;gap:8px;justify-content:center;margin-bottom:40px}.ob-progress-dot{background:var(--border);border-radius:50%;height:8px;transition:all .3s;width:8px}.ob-progress-dot.active{background:var(--accent);border-radius:100px;width:24px}.ob-content{animation:fadeSlide .4s ease both;display:flex;flex:1 1;flex-direction:column;gap:40px}.ob-visual{align-items:center;display:flex;justify-content:center;min-height:200px;width:100%}.welcome-visual{flex-direction:column;gap:16px}.ob-phone{background:var(--ink);border-radius:24px;box-shadow:0 20px 60px #1a1a2e4d;padding:16px 12px;width:180px}.ob-phone-screen{background:var(--bg);border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:12px}.ob-mock-logo{color:var(--accent);font-family:Fraunces,serif;font-size:10px;font-weight:600;letter-spacing:.15em;margin-bottom:4px;text-align:center}.ob-mock-card{background:#fff;border-radius:8px;color:var(--ink);font-family:DM Sans,sans-serif;font-size:11px;padding:8px 10px}.flow-visual{gap:12px}.ob-flow-step{flex-direction:column;gap:8px}.ob-flow-circle,.ob-flow-step{align-items:center;display:flex}.ob-flow-circle{background:var(--accent);border-radius:50%;color:#fff;font-family:Fraunces,serif;font-size:22px;font-weight:300;height:48px;justify-content:center;width:48px}.ob-flow-label{color:var(--ink-soft);font-size:12px;line-height:1.4;text-align:center;white-space:pre-line}.ob-flow-arrow{color:var(--border);font-size:20px;margin-top:12px}.classes-visual{gap:12px}.ob-class-pill{background:#fff;border:2px solid;border-radius:100px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;padding:10px 20px}.ob-student-card{align-items:center;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;padding:28px 40px}.ob-student-emoji{font-size:48px}.ob-student-label{color:var(--ink);font-family:Fraunces,serif;font-size:20px;font-weight:300}.ob-student-sub{color:var(--ink-soft);font-size:13px}.ob-ready-icon{animation:bounce 1s ease infinite alternate;font-size:96px}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.ob-text{display:flex;flex-direction:column;gap:10px}.ob-emoji{font-size:32px}.ob-title{color:var(--ink);font-family:Fraunces,serif;font-size:clamp(26px,5vw,36px);font-weight:300;line-height:1.2}.ob-subtitle{color:var(--accent);font-size:15px;font-weight:600}.ob-body{color:var(--ink-soft);font-size:15px;line-height:1.7}.ob-actions{display:flex;flex-direction:column;gap:10px;padding-top:32px}.ob-btn{border:none;border-radius:var(--radius);cursor:pointer;font-family:DM Sans,sans-serif;font-size:16px;font-weight:500;padding:16px;transition:all .2s;width:100%}.ob-btn.primary{background:var(--accent);color:#fff}.ob-btn.primary:hover{background:#235c43;box-shadow:0 8px 24px #2d6a4f4d;transform:translateY(-1px)}.ob-btn.ghost{background:#0000;color:var(--ink-soft)}.ob-btn.ghost:hover{color:var(--ink)}.switcher-wrap{margin:0 auto;max-width:680px;padding:0 24px;position:relative;width:100%;z-index:50}.switcher-trigger{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-left:4px solid var(--cls-color);border-radius:14px;box-shadow:var(--shadow);cursor:pointer;display:flex;font-family:DM Sans,sans-serif;gap:10px;padding:12px 16px;transition:all .2s;width:100%}.switcher-trigger:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.switcher-emoji{flex-shrink:0;font-size:20px}.switcher-name{color:var(--ink);flex:1 1;font-size:14px;font-weight:600;text-align:left}.switcher-level{color:var(--ink-soft);font-size:12px}.switcher-chevron{color:var(--ink-soft);font-size:10px}.switcher-backdrop{inset:0;position:fixed;z-index:49}.switcher-dropdown{animation:dropIn .2s ease;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-hover);left:24px;overflow:hidden;position:absolute;right:24px;top:calc(100% + 8px);z-index:51}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.switcher-dropdown-label{color:var(--ink-soft);font-size:11px;font-weight:600;letter-spacing:.12em;padding:14px 16px 8px;text-transform:uppercase}.switcher-option{align-items:center;background:none;border:none;border-left:3px solid #0000;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;gap:12px;padding:12px 16px;text-align:left;transition:all .15s;width:100%}.switcher-option.active,.switcher-option:hover{background:var(--surface-soft)}.switcher-option.active{border-left-color:var(--cls-color)}.switcher-option-emoji{font-size:20px}.switcher-option-info{display:flex;flex:1 1;flex-direction:column;gap:1px}.switcher-option-name{color:var(--ink);font-size:14px;font-weight:500}.switcher-option-level{color:var(--ink-soft);font-size:12px}.switcher-check{color:var(--accent);color:var(--cls-color,var(--accent));font-size:14px;font-weight:700}.switcher-manage{background:none;border:none;border-top:1.5px solid var(--border);color:var(--ink-soft);cursor:pointer;font-family:DM Sans,sans-serif;font-size:13px;padding:14px 16px;text-align:left;transition:background .2s;width:100%}.switcher-manage:hover{background:var(--surface-soft);color:var(--ink)}.streak-badge{align-items:center;animation:slideUp .4s ease both;background:linear-gradient(135deg,#fff8f0,#ffecd2);border:1.5px solid #f4a261;border-radius:16px;display:flex;gap:10px;padding:12px 18px;width:100%}.streak-flame{flex-shrink:0;font-size:24px;line-height:1}.streak-info{align-items:baseline;display:flex;flex:1 1;gap:6px}.streak-number{color:#e76f51;font-family:Fraunces,serif;font-size:28px;font-weight:600;line-height:1}.streak-label{color:#c85a38;font-size:13px;font-weight:500}.streak-best{color:#f4a261;font-size:11px;font-weight:500;white-space:nowrap}.daily-card{background:linear-gradient(135deg,#d8f3dc,#b7e4c7);border:1.5px solid #74c69d;border-radius:var(--radius);box-shadow:0 4px 16px #2d6a4f1f;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:16px 20px;text-align:left;transition:all .22s cubic-bezier(.34,1.56,.64,1);width:100%}.daily-card:hover{box-shadow:0 8px 28px #2d6a4f33;transform:translateY(-2px)}.daily-header{align-items:center;display:flex;justify-content:space-between}.daily-tag{color:#2d6a4f;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.daily-arrow{color:#2d6a4f;font-size:16px;transition:transform .2s}.daily-card:hover .daily-arrow{transform:translateX(4px)}.daily-body{gap:14px}.daily-body,.daily-emoji{align-items:center;display:flex}.daily-emoji{background:#fff9;border-radius:14px;flex-shrink:0;font-size:28px;height:48px;justify-content:center;width:48px}.daily-info{display:flex;flex-direction:column;gap:4px}.daily-title{color:#1a3a2a;font-family:Fraunces,serif;font-size:20px;font-weight:300;line-height:1.2}.daily-meta{color:#2d6a4f;font-size:12px;font-weight:500}.moodqr-overlay{align-items:center;background:#000000bf;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1200}.moodqr-panel{background:#fff;border-radius:20px;padding:20px;position:relative;text-align:center;width:min(560px,100%)}.moodqr-close{background:#0000;border:none;color:var(--ink-soft);cursor:pointer;font-size:20px;position:absolute;right:10px;top:10px}.moodqr-chip{background:var(--accent-light);border-radius:999px;color:var(--accent);display:inline-block;font-size:12px;font-weight:700;margin-bottom:10px;padding:4px 10px}.moodqr-title{color:var(--ink);font-family:Fraunces,serif;font-size:clamp(30px,5vw,44px);font-weight:300}.moodqr-subtitle{color:var(--ink-soft);font-size:14px;margin-top:6px}.moodqr-code-wrap{background:#fff;border:1.5px solid var(--border);border-radius:16px;margin:18px auto 10px;padding:10px;width:min(320px,100%)}.moodqr-image{display:block;height:auto;width:100%}.moodqr-link{color:var(--ink-soft);font-size:12px;margin-bottom:14px;word-break:break-all}.moodqr-actions{display:flex;gap:10px;justify-content:center}.moodqr-btn{background:var(--accent);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 14px}.moodqr-btn.secondary{background:var(--surface-soft);border:1px solid var(--border);color:var(--ink)}.mood-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 80px}.mood-student-header{margin-bottom:32px}.mood-back{background:none;border:none;color:var(--ink-soft);cursor:pointer;display:block;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:16px;padding:0;transition:color .2s}.mood-back:hover,.mood-title{color:var(--ink)}.mood-title{font-family:Fraunces,serif;font-size:36px;font-weight:300;margin-bottom:8px}.mood-subtitle{color:var(--ink-soft);font-size:14px}.mood-picker{display:flex;flex-direction:column;gap:10px}.mood-option{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex;font-family:DM Sans,sans-serif;gap:16px;padding:18px 20px;text-align:left;transition:all .2s}.mood-option:hover{border-color:var(--accent);transform:translateY(-1px)}.mood-option.selected{background:var(--accent-light);border-color:var(--accent)}.mood-option-emoji{font-size:32px}.mood-option-label{color:var(--ink);font-size:16px;font-weight:500}.mood-submit{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:16px;font-weight:500;margin-top:8px;padding:18px;transition:all .2s;width:100%}.mood-submit:disabled{cursor:not-allowed;opacity:.4}.mood-submit:not(:disabled):hover{background:#235c43;transform:translateY(-1px)}.mood-submitted{align-items:center;display:flex;flex-direction:column;gap:16px;padding:60px 24px;text-align:center}.mood-submitted-emoji{align-items:center;background:var(--accent-light);border:2px solid var(--accent);border-radius:50%;color:var(--accent);display:flex;font-size:36px;height:80px;justify-content:center;width:80px}.mood-submitted-text{color:var(--ink);font-family:Fraunces,serif;font-size:22px;font-weight:300}.mood-teacher-view{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px;width:100%}.mood-teacher-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.mood-teacher-title{color:var(--ink);font-size:15px;font-weight:600}.mood-student-btn{background:var(--accent);border:none;border-radius:100px;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;padding:7px 14px;transition:all .2s}.mood-student-btn:hover{background:#235c43}.mood-empty{color:var(--ink-soft);font-size:14px;padding:16px 0;text-align:center}.mood-empty-hint{color:var(--ink-soft);font-size:12px;font-style:italic;margin-top:4px}.mood-results{display:flex;flex-direction:column;gap:16px}.mood-avg-display{align-items:center;background:var(--bg);border-radius:14px;display:flex;gap:12px;padding:14px 16px}.mood-avg-emoji{font-size:32px}.mood-avg-info{display:flex;flex-direction:column;gap:2px}.mood-avg-label{color:var(--ink);font-size:15px;font-weight:600}.mood-avg-sub{color:var(--ink-soft);font-size:12px}.mood-bar-grid{display:flex;flex-direction:column;gap:8px}.mood-bar-row{align-items:center;display:flex;gap:10px}.mood-bar-emoji{flex-shrink:0;font-size:18px;text-align:center;width:28px}.mood-bar-track{background:var(--bg);border-radius:100px;flex:1 1;height:8px;overflow:hidden}.mood-bar-fill{background:linear-gradient(90deg,#2d6a4f,#74c69d);border-radius:100px;height:100%;min-width:4px;transition:width .6s ease}.mood-bar-count{color:var(--ink-soft);flex-shrink:0;font-size:12px;text-align:right;width:20px}.mood-suggestion{background:var(--accent-light);border:1.5px solid var(--accent);border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px 16px}.mood-suggestion-text{color:var(--ink);font-size:13px;line-height:1.5}.mood-suggestion-pills{display:flex;gap:8px}.mood-pill{background:#fff;border:1.5px solid var(--accent);border-radius:100px;color:var(--accent);cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;padding:6px 14px;transition:all .2s}.mood-pill:hover{background:var(--accent);color:#fff}.singing-bowl{display:flex;flex-direction:column;gap:10px;width:100%}.bowl-selector{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.bowl-selector-btn{align-items:center;background:var(--surface);border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:10px 8px;transition:all .2s}.bowl-selector-btn:hover{transform:translateY(-1px)}.bowl-selector-btn.active,.bowl-selector-btn:hover{border-color:#e9c46a;border-color:var(--bowl-color,#e9c46a)}.bowl-selector-btn.active{box-shadow:0 0 0 3px color-mix(in srgb,#e9c46a 20%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--bowl-color,#e9c46a) 20%,#0000)}.bowl-sel-icon{font-size:1.6rem}.bowl-sel-label{color:var(--ink);font-size:.85rem;font-weight:700}.bowl-sel-desc{color:var(--ink-soft);font-size:.72rem;text-align:center}.bowl-play-btn{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,#e9c46a 15%,#fff),color-mix(in srgb,#e9c46a 8%,#fff));background:linear-gradient(135deg,color-mix(in srgb,var(--bowl-color,#e9c46a) 15%,#fff),color-mix(in srgb,var(--bowl-color,#e9c46a) 8%,#fff));border:2px solid #e9c46a;border:2px solid var(--bowl-color,#e9c46a);border-radius:12px;color:#7a5c00;color:var(--bowl-dark,#7a5c00);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:10px;padding:14px 16px;transition:all .2s;width:100%}.bowl-play-btn:hover{box-shadow:0 4px 16px color-mix(in srgb,#e9c46a 30%,#0000);box-shadow:0 4px 16px color-mix(in srgb,var(--bowl-color,#e9c46a) 30%,#0000);transform:translateY(-1px)}.singing-bowl.active .bowl-play-btn{animation:bowl-pulse 2.5s ease-in-out infinite}@keyframes bowl-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,#e9c46a 40%,#0000);box-shadow:0 0 0 0 color-mix(in srgb,var(--bowl-color,#e9c46a) 40%,#0000)}50%{box-shadow:0 0 0 10px color-mix(in srgb,#e9c46a 0,#0000);box-shadow:0 0 0 10px color-mix(in srgb,var(--bowl-color,#e9c46a) 0,#0000)}}.bowl-play-icon{flex-shrink:0;font-size:1.1rem}.bowl-play-label{flex:1 1;text-align:left}.bowl-progress-bar{background:color-mix(in srgb,#e9c46a 25%,#0000);background:color-mix(in srgb,var(--bowl-color,#e9c46a) 25%,#0000);border-radius:4px;height:4px;overflow:hidden}.bowl-progress-fill{background:#e9c46a;background:var(--bowl-color,#e9c46a);border-radius:4px;height:100%;transition:width .1s linear}.singing-bowl.small .bowl-play-btn{font-size:.85rem;padding:10px 12px}.singing-bowl.small .bowl-sel-icon{font-size:1.3rem}.singing-bowl.small .bowl-selector-btn{padding:8px 6px}.bgm-wrapper{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:16px;width:100%}.bgm-fullpage{border:none;border-radius:0;margin:0 auto;max-width:680px;min-height:calc(100vh - 80px);padding:24px 20px}.bgm-fullpage .bgm-title{font-size:18px}.bgm-fullpage .bgm-grid{gap:12px}.bgm-fullpage .bgm-card{padding:20px 12px}.bgm-fullpage .bgm-card-icon{font-size:2rem}.bgm-fullpage .bgm-card-label{font-size:15px}.bgm-fullpage .bgm-card-desc{font-size:12px}.bgm-header{align-items:center;display:flex;justify-content:space-between}.bgm-title{color:var(--ink);font-size:13px;font-weight:700}.bgm-stop-btn{background:#fff5f5;border:1.5px solid #e63946;border-radius:8px;color:#e63946;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:all .2s}.bgm-stop-btn:hover{background:#e63946;color:#fff}.bgm-now-playing{align-items:center;background:linear-gradient(135deg,#f0fff4,#dcfce7);border:1.5px solid #2d6a4f44;border-radius:10px;display:flex;font-size:12px;gap:8px;padding:8px 12px}.bgm-playing-icon{font-size:1.1rem}.bgm-playing-label{color:#2d6a4f;flex:1 1;font-weight:600}.bgm-loop-badge{color:#2d6a4f;font-size:11px;opacity:.7}.bgm-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.bgm-card{align-items:center;background:var(--surface);border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 8px;transition:all .2s}.bgm-card:hover{border-color:#2d6a4f;transform:translateY(-1px)}.bgm-card.active{box-shadow:0 4px 12px #0000001a}.bgm-card-icon{font-size:1.5rem}.bgm-card-label{color:var(--ink);font-size:13px;font-weight:700}.bgm-card-desc{color:var(--ink-soft);font-size:11px;text-align:center}.bgm-card-playing{align-items:flex-end;display:flex;gap:2px;height:14px;margin-top:2px}.bgm-bar{animation:bgm-dance .8s ease-in-out infinite alternate;background:currentColor;border-radius:2px;width:3px}.bgm-bar:first-child{animation-delay:0s;height:6px}.bgm-bar:nth-child(2){animation-delay:.2s;height:12px}.bgm-bar:nth-child(3){animation-delay:.4s;height:8px}@keyframes bgm-dance{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.bgm-volume{align-items:center;display:flex;gap:8px}.bgm-vol-icon{font-size:1rem}.bgm-vol-slider{appearance:none;background:var(--border);border-radius:4px;cursor:pointer;flex:1 1;height:4px;outline:none}.bgm-vol-slider::-webkit-slider-thumb{appearance:none;background:#2d6a4f;border-radius:50%;cursor:pointer;height:16px;width:16px}.bgm-vol-pct{color:var(--ink-soft);font-size:11px;min-width:32px;text-align:right}.bgm-hint{color:var(--ink-soft);font-size:12px;margin:4px 0 0;text-align:center}.nav-music-dot{animation:dot-pulse 1.5s ease-in-out infinite;background:#2d6a4f;border-radius:50%;height:7px;position:absolute;right:6px;top:4px;width:7px}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.start-screen{align-items:center;display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:680px;min-height:100vh;padding:48px 24px 32px}.start-areas-back-row{display:flex;justify-content:flex-start;margin-bottom:-8px;width:100%}.start-areas-back{background:none;border:none;color:var(--accent);cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;padding:0}.start-areas-back:hover{text-decoration:underline}.start-header{text-align:center;width:100%}.start-logo-row{align-items:center;display:flex;justify-content:center;margin-bottom:32px;width:100%}.start-brand-logo{height:52px;margin-left:auto;margin-right:auto;width:auto}.start-logo{color:var(--accent);font-family:Fraunces,serif;font-size:12px;font-weight:600;letter-spacing:.2em;opacity:.8;text-transform:uppercase}.student-mode-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:100px;color:var(--ink-soft);cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;padding:6px 14px;transition:all .2s}.student-mode-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.start-title{color:var(--ink);font-family:Fraunces,serif;font-size:clamp(32px,6vw,52px);font-weight:300;line-height:1.15;margin-bottom:16px}.start-title em{color:var(--accent);font-style:italic}.start-subtitle{color:var(--ink-soft);font-size:15px;line-height:1.6;margin:0 auto;max-width:420px}.dashboard-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);width:100%}.dashboard-mini-card{align-items:flex-start;background:var(--surface);border:1.5px solid var(--border);border-radius:16px;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 12px;text-align:left;transition:all .2s}.dashboard-mini-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.dashboard-mini-card.highlight{animation:pulse 2s ease infinite;background:linear-gradient(135deg,#fffbf0,#fdf6e3);border-color:#e9c46a}@keyframes pulse{0%,to{box-shadow:var(--shadow)}50%{box-shadow:0 0 0 4px #e9c46a4d}}.dmc-emoji{font-size:22px}.dmc-info{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}.dmc-label{color:var(--ink-soft);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dmc-title{color:var(--ink);font-size:12px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmc-sub{color:var(--ink-soft);font-size:11px}.dmc-new{color:#e9c46a;font-size:11px;font-weight:700}.dmc-bar{background:var(--border);border-radius:100px;height:4px;margin-top:4px;overflow:hidden;width:100%}.dmc-bar-fill{background:var(--accent);border-radius:100px;height:100%;transition:width .4s ease}.dmc-count{align-self:flex-end;color:var(--accent);font-size:12px;font-weight:700}.dmc-arrow{align-self:flex-end;color:var(--ink-soft);font-size:14px}.recent-section{width:100%}.recent-label{color:var(--ink-soft);font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.recent-cards{display:flex;gap:10px}.recent-card{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:16px;box-shadow:var(--shadow);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0;padding:14px 10px;text-align:center;transition:all .2s}.recent-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.recent-emoji{font-size:22px}.recent-title{color:var(--ink);font-size:12px;font-weight:500;line-height:1.3;word-break:break-word}.recent-duration{color:var(--ink-soft);font-size:11px}.situation-grid{display:flex;flex-direction:column;gap:10px;width:100%}.situation-card{align-items:center;animation:slideUp .4s ease both;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;display:flex;gap:16px;padding:18px 24px;text-align:left;transition:all .22s cubic-bezier(.34,1.56,.64,1);width:100%}.situation-card.hovered,.situation-card:hover{background:var(--card-light);border-color:var(--card-color);box-shadow:var(--shadow-hover);transform:translateY(-2px) scale(1.01)}.situation-emoji{align-items:center;background:#f0f0f0;background:var(--card-light,#f0f0f0);border-radius:12px;display:flex;flex-shrink:0;font-size:24px;height:42px;justify-content:center;transition:background .2s;width:42px}.situation-card:hover .situation-emoji{background:#fff}.situation-label{color:var(--ink);flex:1 1;font-size:15px;font-weight:500}.situation-arrow{color:var(--ink-soft);font-size:16px;transition:transform .2s,color .2s}.situation-card:hover .situation-arrow{color:var(--card-color);transform:translateX(4px)}.random-btn{background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--ink-soft);cursor:pointer;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;padding:16px;transition:all .2s;width:100%}.random-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.start-footer{color:var(--ink-soft);font-size:13px;letter-spacing:.05em}.exercise-list-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 48px}.list-header-top-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:20px}.list-header{margin-bottom:32px}.list-header-top-row .back-btn{margin-bottom:0}.back-btn{background:none;border:none;color:var(--ink-soft);cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:20px;padding:0;transition:color .2s}.back-btn:hover{color:var(--ink)}.list-situation-badge{border-radius:100px;display:inline-block;font-size:13px;font-weight:500;margin-bottom:16px;padding:6px 14px}.list-title{color:var(--ink);font-family:Fraunces,serif;font-size:32px;font-weight:300;margin-bottom:6px}.list-subtitle{color:var(--ink-soft);font-size:14px}.exercise-cards{display:flex;flex-direction:column;gap:12px}.exercise-card{animation:slideUp .4s ease both;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;padding:20px;text-align:left;transition:all .22s cubic-bezier(.34,1.56,.64,1);width:100%}.exercise-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.exercise-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.exercise-category-badge{color:var(--ink-soft);font-size:12px;font-weight:500}.exercise-noise-badge{font-size:12px;font-weight:600}.exercise-card-title{color:var(--ink);font-family:Fraunces,serif;font-size:20px;font-weight:300;margin-bottom:4px}.exercise-card-goal{color:var(--ink-soft);font-size:13px;margin-bottom:16px}.exercise-card-footer{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:12px}.exercise-duration{color:var(--ink-soft);font-size:13px}.exercise-arrow{color:var(--ink-soft);font-size:16px;transition:transform .2s}.exercise-card:hover .exercise-arrow{color:var(--accent);transform:translateX(4px)}.browser-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 48px}.browser-header{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:24px}.browser-header-brand{margin-bottom:12px}.browser-title{color:var(--ink);font-family:Fraunces,serif;font-size:32px;font-weight:300;margin-bottom:4px}.browser-subtitle{color:var(--ink-soft);font-size:14px}.category-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{background:var(--surface);border:1.5px solid var(--border);border-radius:100px;color:var(--ink-soft);cursor:pointer;flex-shrink:0;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.category-tab:hover{border-color:var(--ink-soft);color:var(--ink)}.browser-list{display:flex;flex-direction:column;gap:10px}.browser-card{align-items:stretch;animation:slideUp .35s ease both;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;overflow:hidden;transition:box-shadow .2s,transform .2s}.browser-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.browser-card-main{background:none;border:none;cursor:pointer;flex:1 1;padding:18px 20px;text-align:left}.browser-card-top{display:flex;justify-content:space-between;margin-bottom:8px}.browser-category-badge{color:var(--ink-soft);font-size:12px;font-weight:500}.browser-noise{font-size:12px;font-weight:600}.browser-card-title{color:var(--ink);font-family:Fraunces,serif;font-size:18px;font-weight:300;margin-bottom:10px}.browser-card-footer{align-items:center;display:flex;gap:12px}.browser-duration,.browser-goal{color:var(--ink-soft);font-size:12px}.fav-btn{align-items:center;background:var(--surface-soft);border:none;border-left:1.5px solid var(--border);cursor:pointer;display:flex;flex-shrink:0;font-size:20px;justify-content:center;transition:background .2s,transform .2s;width:52px}.fav-btn:hover{transform:scale(1.1)}.fav-btn.active,.fav-btn:hover{background:#fdf6e3}.empty-state{padding:60px 24px;text-align:center}.search-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 64px}.search-header{margin-bottom:24px}.search-header-brand,.search-title{margin-bottom:16px}.search-title{color:var(--ink);font-family:Fraunces,serif;font-size:32px;font-weight:300}.search-input-wrap{align-items:center;display:flex;position:relative}.search-icon{font-size:16px;left:16px;pointer-events:none;position:absolute}.search-input{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;color:var(--ink);font-family:DM Sans,sans-serif;font-size:16px;outline:none;padding:16px 48px;transition:border-color .2s,box-shadow .2s;width:100%}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2d6a4f1a}.search-clear{align-items:center;background:var(--border);border:none;border-radius:50%;color:var(--ink-soft);cursor:pointer;display:flex;font-size:11px;height:22px;justify-content:center;position:absolute;right:16px;transition:background .2s;width:22px}.search-clear:hover{background:#d0cac0}.search-suggestions{padding-top:8px}.suggestions-label{color:var(--ink-soft);font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:12px;text-transform:uppercase}.suggestions-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.suggestion-chip{background:var(--surface);border:1.5px solid var(--border);border-radius:100px;color:var(--ink-soft);cursor:pointer;font-family:DM Sans,sans-serif;font-size:13px;padding:8px 16px;transition:all .2s}.suggestion-chip:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.search-hint{color:var(--ink-soft);font-size:13px;padding:32px 0;text-align:center}.search-empty{padding:60px 24px;text-align:center}.results-count{color:var(--ink-soft);font-size:13px;margin-bottom:12px}.search-results{display:flex;flex-direction:column;gap:10px}.search-result-card{align-items:center;animation:slideUp .3s ease both;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;display:flex;gap:16px;padding:16px 20px;text-align:left;transition:all .2s cubic-bezier(.34,1.56,.64,1);width:100%}.search-result-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.result-left{align-items:center;display:flex;flex:1 1;gap:14px;min-width:0}.result-emoji{flex-shrink:0;font-size:24px}.result-info{display:flex;flex-direction:column;gap:2px;min-width:0}.result-title{color:var(--ink);font-size:15px;font-weight:500}.result-goal,.result-meta{color:var(--ink-soft);font-size:12px}.result-goal{font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-arrow{color:var(--ink-soft);flex-shrink:0;font-size:16px;transition:transform .2s,color .2s}.search-result-card:hover .result-arrow{color:var(--accent);transform:translateX(4px)}.report-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 80px}.report-header{margin-bottom:28px}.report-back{background:none;border:none;color:var(--ink-soft);cursor:pointer;display:block;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:16px;padding:0;transition:color .2s}.report-back:hover,.report-title{color:var(--ink)}.report-title{font-family:Fraunces,serif;font-size:32px;font-weight:300;margin-bottom:4px}.report-subtitle{color:var(--ink-soft);font-size:14px}.report-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:28px}.report-stat{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:4px;padding:20px 16px;text-align:center}.report-stat-number{color:var(--ink);font-family:Fraunces,serif;font-size:36px;font-weight:300;line-height:1}.report-stat-label{color:var(--ink-soft);font-size:12px}.report-section{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px 24px}.report-section-title{color:var(--ink-soft);font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:20px;text-transform:uppercase}.report-days{display:flex;justify-content:space-between;margin-bottom:16px}.report-day{align-items:center;display:flex;flex-direction:column;gap:8px}.report-day.today .report-day-label{color:var(--accent);font-weight:700}.report-day-dot{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:13px;font-weight:700;height:40px;justify-content:center;transition:transform .2s;width:40px}.report-day-dot.better{background:#2d6a4f}.report-day-dot.same{background:#e9c46a}.report-day-dot.worse{background:#e76f51}.report-day-dot.empty{background:var(--border)}.report-day-count{color:#fff;font-size:13px;font-weight:700}.report-day-label{color:var(--ink-soft);font-size:12px}.report-legend{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.legend-item{align-items:center;color:var(--ink-soft);display:flex;font-size:12px;gap:6px}.legend-dot{border-radius:50%;height:10px;width:10px}.legend-dot.better{background:#2d6a4f}.legend-dot.same{background:#e9c46a}.legend-dot.worse{background:#e76f51}.legend-dot.empty{background:var(--border)}.report-situations{display:flex;flex-direction:column;gap:10px}.report-situation-row{align-items:center;display:flex;gap:10px}.report-situation-rank{color:var(--ink-soft);flex-shrink:0;font-size:12px;font-weight:700;width:24px}.report-situation-label{color:var(--ink);flex-shrink:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:160px}.report-situation-bar-wrap{background:var(--bg);border-radius:100px;flex:1 1;height:8px;overflow:hidden}.report-situation-bar{background:linear-gradient(90deg,#2d6a4f,#74c69d);border-radius:100px;height:100%;min-width:8px;transition:width .6s ease}.report-situation-count{color:var(--ink-soft);flex-shrink:0;font-size:12px;text-align:right;width:24px}.report-categories{display:flex;flex-wrap:wrap;gap:8px}.report-category-pill{align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:100px;color:var(--ink-soft);display:flex;font-size:13px;gap:8px;padding:6px 14px}.report-category-count{background:var(--accent);border-radius:100px;color:#fff;font-size:11px;font-weight:700;padding:1px 8px}.report-empty{padding:60px 24px;text-align:center}.challenge-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 80px}.challenge-header{margin-bottom:24px}.challenge-back{background:none;border:none;color:var(--ink-soft);cursor:pointer;display:block;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:12px;padding:0;transition:color .2s}.challenge-back:hover{color:var(--ink)}.challenge-week-badge{background:var(--accent-light);border-radius:100px;color:var(--accent);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;padding:4px 12px;text-transform:uppercase}.challenge-title{color:var(--ink);font-family:Fraunces,serif;font-size:32px;font-weight:300}.challenge-card{background:linear-gradient(135deg,#d8f3dc,#b7e4c7);border:1.5px solid #74c69d;border-radius:var(--radius);box-shadow:0 8px 32px #2d6a4f26;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px}.challenge-card-top{align-items:flex-start;display:flex;justify-content:space-between}.challenge-emoji{font-size:40px}.challenge-days-left{align-items:flex-end;display:flex;flex-direction:column}.days-number{color:#1a3a2a;font-family:Fraunces,serif;font-size:36px;font-weight:300;line-height:1}.days-label{color:#2d6a4f;font-size:12px;font-weight:500}.challenge-name{color:#1a3a2a;font-family:Fraunces,serif;font-size:26px;font-weight:300}.challenge-desc{color:#2d6a4f;font-size:15px;line-height:1.5}.challenge-progress-section{display:flex;flex-direction:column;gap:8px}.challenge-progress-header{align-items:center;display:flex;justify-content:space-between}.challenge-progress-label{color:#2d6a4f;font-size:13px;font-weight:500}.challenge-progress-count{color:#1a3a2a;font-size:14px;font-weight:700}.challenge-progress-bar{background:#ffffff80;border-radius:100px;height:10px;overflow:hidden}.challenge-progress-fill{background:#2d6a4f;border-radius:100px;height:100%;transition:width .6s ease}.challenge-progress-fill.completed{background:linear-gradient(90deg,#2d6a4f,#52b788)}.challenge-steps{display:flex;gap:8px}.challenge-step-dot{background:#fff6;border:2px solid #2d6a4f4d;border-radius:50%;height:32px;transition:all .3s;width:32px}.challenge-step-dot.done{background:#2d6a4f;border-color:#2d6a4f}.challenge-done{align-items:center;background:#fff9;border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center}.challenge-done-icon{font-size:36px}.challenge-done-title{color:#1a3a2a;font-family:Fraunces,serif;font-size:20px;font-weight:300}.challenge-done-sub{color:#2d6a4f;font-size:13px;line-height:1.5}.challenge-info-section{margin-bottom:24px}.challenge-info-title{color:var(--ink-soft);font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:14px;text-transform:uppercase}.challenge-info-cards{display:flex;flex-direction:column;gap:10px}.challenge-info-card{align-items:flex-start;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;display:flex;gap:14px;padding:14px 16px}.info-icon{flex-shrink:0;font-size:22px}.challenge-info-card p{color:var(--ink-soft);font-size:14px;line-height:1.5}.challenge-upcoming-title{color:var(--ink-soft);font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:14px;text-transform:uppercase}.challenge-upcoming-list{display:flex;flex-direction:column;gap:8px}.upcoming-card{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;display:flex;gap:14px;opacity:.6;padding:12px 16px}.upcoming-emoji{font-size:22px}.upcoming-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.upcoming-title{color:var(--ink);font-size:14px;font-weight:600}.upcoming-desc,.upcoming-week{color:var(--ink-soft);font-size:12px}.upcoming-week{flex-shrink:0;font-weight:500}.history-view{display:flex;flex-direction:column;gap:16px}.history-group{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:14px}.history-group-header{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.history-group-chip{align-self:flex-start;background:var(--accent-light);border-radius:999px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.08em;padding:4px 8px;text-transform:uppercase}.history-group-date{color:var(--ink-soft);font-size:12px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;display:flex;gap:10px;justify-content:space-between;padding:10px}.history-item-main{display:flex;flex-direction:column;gap:6px;min-width:0}.history-item-title-row{align-items:center;display:flex;gap:8px;min-width:0}.history-item-emoji{font-size:18px}.history-item-title{color:var(--ink);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-meta{color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:12px;gap:8px 12px}.history-item-feedback{flex-shrink:0;font-size:22px;line-height:1}.history-empty{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:40px 18px;text-align:center}.history-empty-icon{font-size:36px;margin-bottom:8px}.history-empty-title{color:var(--ink);font-family:Fraunces,serif;font-size:22px;font-weight:300;margin-bottom:4px}.history-empty-sub{color:var(--ink-soft);font-size:13px}@media (min-width:600px){.history-group{padding:16px}.history-item{padding:12px}}.ranking-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 80px}.ranking-header{margin-bottom:24px}.ranking-back{background:none;border:none;color:var(--ink-soft);cursor:pointer;display:block;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:16px;padding:0;transition:color .2s}.ranking-back:hover,.ranking-title{color:var(--ink)}.ranking-title{font-family:Fraunces,serif;font-size:32px;font-weight:300;margin-bottom:4px}.ranking-subtitle{color:var(--ink-soft);font-size:14px}.ranking-tabs{display:flex;gap:8px;margin-bottom:24px}.ranking-tab{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;color:var(--ink-soft);cursor:pointer;display:flex;flex:1 1;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s}.ranking-tab.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.ranking-tab-badge{background:#e9c46a;border-radius:100px;color:#7a5c00;font-size:10px;font-weight:700;padding:2px 6px}.ranking-podium{align-items:flex-end;display:flex;gap:8px;justify-content:center;margin-bottom:28px;padding:0 16px}.podium-place{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px}.podium-medal{font-size:24px}.podium-emoji{font-size:22px}.podium-name{color:var(--ink);font-size:13px;font-weight:600;text-align:center}.podium-count{color:var(--ink);font-family:Fraunces,serif;font-size:20px;font-weight:300}.podium-block{border-radius:10px 10px 0 0;opacity:.85;width:100%}.pos-1 .podium-block{height:80px}.pos-2 .podium-block{height:56px}.pos-3 .podium-block{height:40px}.ranking-list{display:flex;flex-direction:column;gap:8px}.ranking-row{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:16px;display:flex;gap:12px;padding:14px 16px;transition:all .2s}.ranking-row.leader{background:linear-gradient(135deg,#fffbf0,#fdf6e3);border-color:#e9c46a}.ranking-row.dummy{opacity:.75}.ranking-pos{flex-shrink:0;font-size:18px;text-align:center;width:32px}.ranking-cls-emoji{flex-shrink:0;font-size:22px}.ranking-cls-info{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.ranking-cls-name-row{align-items:center;display:flex;gap:8px}.ranking-cls-name{color:var(--ink);font-size:14px;font-weight:600}.ranking-trend{font-size:14px;font-weight:700}.ranking-bar-wrap{background:var(--bg);border-radius:100px;height:6px;overflow:hidden}.ranking-bar{background:var(--accent);border-radius:100px;height:100%;min-width:4px;transition:width .8s ease}.ranking-cls-stats{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0}.ranking-cls-count{color:var(--ink);font-family:Fraunces,serif;font-size:22px;font-weight:300;line-height:1}.ranking-cls-label{color:var(--ink-soft);font-size:11px}.ranking-rate{flex-shrink:0;font-size:12px;font-weight:700;margin-left:4px}.school-ranking{display:flex;flex-direction:column;gap:16px}.school-ranking-banner{align-items:flex-start;background:linear-gradient(135deg,#fdf6e3,#fff8f0);border:1.5px solid #e9c46a;border-radius:var(--radius);display:flex;gap:12px;padding:16px 20px}.banner-icon{flex-shrink:0;font-size:28px}.banner-title{color:var(--ink);font-size:15px;font-weight:600;margin-bottom:4px}.banner-sub{color:var(--ink-soft);font-size:13px;line-height:1.5}.school-ranking-footer{color:var(--ink-soft);font-size:12px;padding:8px;text-align:center}.ranking-empty{padding:60px 24px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-text{color:var(--ink);font-family:Fraunces,serif;font-size:20px;font-weight:300;margin-bottom:8px}.empty-hint{color:var(--ink-soft);font-size:14px}.director-view{gap:14px}.director-pin-card,.director-view{display:flex;flex-direction:column}.director-pin-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;gap:10px;padding:18px}.director-pin-title{color:var(--ink);font-family:Fraunces,serif;font-size:20px;font-weight:300}.director-pin-subtitle{color:var(--ink-soft);font-size:13px}.director-pin-input{border:1.5px solid var(--border);border-radius:12px;font-size:18px;letter-spacing:.2em;padding:10px 12px;text-align:center;width:100%}.director-pin-error{color:#c0392b;font-size:12px}.director-pin-btn{background:var(--accent);border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px}.director-banner{align-items:flex-start;background:linear-gradient(135deg,#eef7ff,#f8fcff);border:1.5px solid #b7d3f2;border-radius:var(--radius);display:flex;gap:12px;padding:14px 16px}.director-table-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;overflow:hidden}.director-table{border-collapse:collapse;font-size:13px;width:100%}.director-table td,.director-table th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}.director-table th{background:var(--surface-soft);color:var(--ink-soft);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.director-class-cell{align-items:center;display:flex;font-weight:600;gap:8px}.director-favorite-cell{max-width:240px}.director-rate{font-weight:700}.director-rate.good{color:#2d6a4f}.director-rate.mid{color:#b58400}.director-mobile-cards{display:none}.director-empty-cell{color:var(--ink-soft);padding:16px;text-align:center}@media (max-width:760px){.director-table{display:none}.director-mobile-cards{display:flex;flex-direction:column;gap:8px;padding:10px}.director-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px}.director-card-title{align-items:center;color:var(--ink);display:flex;gap:8px;margin-bottom:8px}.director-card p{color:var(--ink-soft);font-size:13px;margin:4px 0}.director-card p span:first-child{color:var(--ink);font-weight:600}}.achievements-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 80px}.achievements-header{margin-bottom:20px}.achievements-back{background:none;border:none;color:var(--ink-soft);cursor:pointer;display:block;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:16px;padding:0;transition:color .2s}.achievements-back:hover{color:var(--ink)}.achievements-title{color:var(--ink);font-family:Fraunces,serif;font-size:32px;font-weight:300;margin-bottom:4px}.achievements-subtitle{color:var(--ink-soft);font-size:14px}.achievements-progress{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.ach-progress-bar{background:var(--border);border-radius:100px;height:10px;overflow:hidden}.ach-progress-fill{background:linear-gradient(90deg,#2d6a4f,#74c69d);border-radius:100px;height:100%;transition:width .8s ease}.ach-progress-label{color:var(--ink-soft);font-size:13px;text-align:right}.achievements-filters{display:flex;gap:8px;margin-bottom:20px}.ach-filter{background:var(--surface);border:1.5px solid var(--border);border-radius:100px;color:var(--ink-soft);cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;padding:8px 10px;transition:all .2s}.ach-filter.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.achievements-grid{display:flex;flex-direction:column;gap:10px}.achievement-card{align-items:center;animation:slideUp .3s ease both;background:var(--surface);border:1.5px solid var(--border);border-radius:16px;display:flex;gap:14px;padding:16px 18px;transition:all .2s}.achievement-card.unlocked{background:linear-gradient(135deg,#fffbf0,#fdf6e3);border-color:#e9c46a}.achievement-card.locked{opacity:.55}.ach-emoji{align-items:center;background:var(--bg);border-radius:14px;display:flex;flex-shrink:0;font-size:28px;height:48px;justify-content:center;width:48px}.ach-emoji.grayscale{filter:grayscale(1);opacity:.4}.ach-info{display:flex;flex:1 1;flex-direction:column;gap:3px}.ach-title{color:var(--ink);font-size:15px;font-weight:600}.ach-desc{color:var(--ink-soft);font-size:12px;line-height:1.4}.ach-check{align-items:center;background:#2d6a4f;border-radius:50%;color:#fff;flex-shrink:0;font-size:12px;font-weight:700;height:24px;width:24px}.ach-check,.qr-overlay{display:flex;justify-content:center}.qr-overlay{align-items:flex-end;animation:fadeIn .2s ease;background:#00000080;inset:0;position:fixed;z-index:200}.qr-panel{align-items:center;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);background:var(--bg);border-radius:28px 28px 0 0;display:flex;flex-direction:column;gap:20px;max-width:480px;padding:28px 24px 48px;width:100%}.qr-header{position:relative;text-align:center;width:100%}.qr-close{background:var(--border);border:none;border-radius:50%;color:var(--ink-soft);cursor:pointer;font-size:13px;height:32px;position:absolute;right:0;top:0;transition:background .2s;width:32px}.qr-close:hover{background:var(--ink-soft);color:#fff}.qr-title{color:var(--ink);font-family:Fraunces,serif;font-size:26px;font-weight:300;margin-bottom:8px}.qr-subtitle{color:var(--ink-soft);font-size:14px;line-height:1.5;margin:0 auto;max-width:320px}.qr-class-badge{align-items:center;border:2px solid;border-radius:100px;display:flex;font-family:DM Sans,sans-serif;font-size:15px;gap:8px;padding:8px 18px}.qr-code-wrapper{background:#fff;border-radius:20px;box-shadow:0 8px 32px #0000001f;padding:4px}.qr-svg{border-radius:16px;display:block}.qr-info-row{gap:8px;justify-content:center;width:100%}.qr-info-item,.qr-info-row{align-items:center;display:flex}.qr-info-item{color:var(--ink-soft);flex-direction:column;font-size:11px;gap:4px;max-width:70px;text-align:center}.qr-info-icon{font-size:20px}.qr-info-arrow{color:var(--border);font-size:16px}.qr-coming-soon{align-items:flex-start;background:var(--surface);border:1.5px solid var(--border);border-radius:16px;display:flex;gap:12px;padding:14px 16px;width:100%}.qr-coming-icon{flex-shrink:0;font-size:22px}.qr-coming-title{color:var(--ink);font-size:13px;font-weight:600;margin-bottom:4px}.qr-coming-sub{color:var(--ink-soft);font-size:12px;line-height:1.4}.qr-copy-btn{background:var(--ink);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;padding:16px;transition:all .2s;width:100%}.qr-copy-btn:hover{background:#2c2c45}.qr-copy-btn.copied{background:#2d6a4f}.manager-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 80px}.manager-back{background:none;border:none;color:var(--ink-soft);cursor:pointer;display:block;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:24px;padding:0;transition:color .2s}.manager-back:hover{color:var(--ink)}.manager-header{margin-bottom:28px}.manager-title{color:var(--ink);font-family:Fraunces,serif;font-size:32px;font-weight:300;margin-bottom:4px}.manager-subtitle{color:var(--ink-soft);font-size:14px}.class-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.class-card{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;overflow:hidden;transition:all .2s}.class-card.active{border-color:var(--cls-color);box-shadow:0 4px 20px #00000014,inset 3px 0 0 var(--cls-color)}.class-card-main{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex:1 1;gap:14px;min-width:0;padding:18px 20px;text-align:left;transition:background .2s}.class-card-main:hover{background:var(--surface-soft)}.class-card-emoji{align-items:center;background:var(--bg);border-radius:12px;display:flex;flex-shrink:0;font-size:28px;height:44px;justify-content:center;width:44px}.class-card-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.class-card-name{color:var(--ink);font-size:16px;font-weight:500}.class-card-level,.class-card-notes{color:var(--ink-soft);font-size:12px}.class-card-notes{font-style:italic;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-active-badge{background:var(--cls-color);border-radius:100px;color:#fff;flex-shrink:0;font-size:11px;font-weight:600;padding:3px 10px}.class-card-actions{border-left:1.5px solid var(--border);display:flex;flex-direction:column}.class-action-btn{background:none;border:none;cursor:pointer;flex:1 1;font-size:15px;min-width:44px;padding:12px;transition:background .2s}.class-action-btn:hover{background:var(--surface-soft)}.class-action-btn.delete:hover{background:#fde8e3}.add-class-btn{background:none;border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--ink-soft);cursor:pointer;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;padding:18px;transition:all .2s;width:100%}.add-class-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.class-form{display:flex;flex-direction:column;gap:24px}.class-form-title{color:var(--ink);font-family:Fraunces,serif;font-size:28px;font-weight:300}.form-field{display:flex;flex-direction:column;gap:10px}.form-label{color:var(--ink-soft);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.form-input{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;color:var(--ink);font-family:DM Sans,sans-serif;font-size:15px;outline:none;padding:14px 18px;transition:border-color .2s}.form-input:focus{border-color:var(--accent)}.form-textarea{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;color:var(--ink);font-family:DM Sans,sans-serif;font-size:14px;line-height:1.6;outline:none;padding:14px 18px;resize:vertical;transition:border-color .2s}.form-textarea:focus{border-color:var(--accent)}.level-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.level-card{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px 8px;text-align:center;transition:all .2s}.level-card.active,.level-card:hover{border-color:var(--accent)}.level-card.active{background:var(--accent-light)}.level-emoji{font-size:24px}.level-name{color:var(--ink);font-size:12px;font-weight:600}.level-desc{color:var(--ink-soft);font-size:11px}.emoji-grid{display:flex;flex-wrap:wrap;gap:8px}.emoji-option{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;cursor:pointer;display:flex;font-size:22px;height:44px;justify-content:center;transition:all .2s;width:44px}.emoji-option:hover{border-color:var(--accent);transform:scale(1.1)}.emoji-option.active{background:var(--accent-light);border-color:var(--accent)}.color-grid{display:flex;flex-wrap:wrap;gap:10px}.color-option{border:2.5px solid #0000;border-radius:50%;cursor:pointer;height:36px;transition:all .2s;width:36px}.color-option.active,.color-option:hover{transform:scale(1.15)}.color-option.active{border-color:var(--ink);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}.form-tips{background:var(--accent-light);border:1.5px solid var(--accent);border-radius:14px;display:flex;flex-direction:column;gap:6px;padding:16px 20px}.form-tips-title{color:var(--accent);font-size:13px;font-weight:600;margin-bottom:4px}.form-tip{color:var(--ink-soft);font-size:13px;line-height:1.4}.form-actions{display:flex;gap:10px;padding-bottom:16px}.form-cancel{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--ink-soft);cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;padding:14px;transition:all .2s}.form-cancel:hover{border-color:var(--ink-soft);color:var(--ink)}.form-save{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;flex:2 1;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;padding:14px;transition:all .2s}.form-save:disabled{cursor:not-allowed;opacity:.4}.form-save:not(:disabled):hover{background:#235c43}.delete-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:200}.delete-dialog{background:var(--surface);border-radius:var(--radius);box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;gap:12px;max-width:360px;padding:28px;width:100%}.delete-title{color:var(--ink);font-family:Fraunces,serif;font-size:22px;font-weight:300}.delete-sub{color:var(--ink-soft);font-size:14px;line-height:1.5}.delete-actions{display:flex;gap:10px;margin-top:4px}.delete-confirm{background:#e63946;border:none;border-radius:100px;color:#fff;cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;padding:12px;transition:background .2s}.delete-confirm:hover{background:#c1121f}.delete-cancel{background:var(--surface-soft);border:1.5px solid var(--border);border-radius:100px;color:var(--ink-soft);cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:14px;padding:12px}.moodvote-screen{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.moodvote-card{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;padding:22px;text-align:center;width:min(560px,100%)}.moodvote-class{color:var(--ink-soft);font-size:12px;margin-bottom:8px}.moodvote-title{color:var(--ink);font-family:Fraunces,serif;font-size:clamp(28px,6vw,42px);font-weight:300;margin-bottom:18px}.moodvote-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.moodvote-btn{align-items:center;background:#fff;border:1.5px solid var(--border);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px 6px}.moodvote-btn:hover{border-color:var(--accent)}.moodvote-emoji{font-size:30px}.moodvote-label{color:var(--ink-soft);font-size:11px}.moodvote-thanks{color:var(--accent);font-family:Fraunces,serif;font-size:44px;padding:20px 0 6px}.legal-screen{margin:0 auto;max-width:680px;min-height:100vh;padding:32px 24px 80px}.legal-header{margin-bottom:24px}.legal-back{background:none;border:none;color:var(--ink-soft);cursor:pointer;display:block;font-family:DM Sans,sans-serif;font-size:14px;margin-bottom:16px;padding:0;transition:color .2s}.legal-back:hover,.legal-title{color:var(--ink)}.legal-title{font-family:Fraunces,serif;font-size:32px;font-weight:300}.legal-tabs{display:flex;gap:8px;margin-bottom:24px}.legal-tab{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;color:var(--ink-soft);cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;padding:10px 8px;transition:all .2s}.legal-tab.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.legal-content{animation:fadeIn .3s ease;gap:20px}.legal-content,.legal-section{display:flex;flex-direction:column}.legal-section{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;gap:8px;padding:20px}.legal-section-title{color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.legal-section p{color:var(--ink-soft);font-size:14px;line-height:1.6}.legal-list{display:flex;flex-direction:column;gap:6px;list-style:none;padding:0}.legal-list li{color:var(--ink-soft);font-size:14px;line-height:1.5;padding-left:16px;position:relative}.legal-list li:before{color:var(--accent);content:"·";font-weight:700;left:0;position:absolute}.legal-beta-notice{align-items:flex-start;background:linear-gradient(135deg,#fdf6e3,#fff8f0);border:1.5px solid #e9c46a;border-radius:14px;display:flex;gap:12px;padding:14px 16px}.beta-icon{flex-shrink:0;font-size:20px}.legal-beta-notice p{color:var(--ink-soft);font-size:13px;line-height:1.5}.whatsnew-overlay{align-items:flex-end;animation:fadeIn .3s ease;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:300}.whatsnew-panel{animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);background:var(--bg);border-radius:28px 28px 0 0;display:flex;flex-direction:column;gap:24px;max-height:90vh;max-width:680px;overflow-y:auto;padding:32px 24px 48px;width:100%}.whatsnew-header{text-align:center}.whatsnew-version-badge{background:var(--accent-light);border-radius:100px;color:var(--accent);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:12px;padding:4px 14px;text-transform:uppercase}.whatsnew-title{color:var(--ink);font-family:Fraunces,serif;font-size:32px;font-weight:300;margin-bottom:6px}.whatsnew-date{color:var(--ink-soft);font-size:13px}.whatsnew-changes{display:flex;flex-direction:column;gap:10px}.whatsnew-item{align-items:flex-start;animation:slideIn .4s ease both;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;display:flex;gap:14px;padding:14px 16px}@keyframes slideIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.whatsnew-emoji{flex-shrink:0;font-size:22px;text-align:center;width:32px}.whatsnew-text{color:var(--ink);font-size:14px;line-height:1.5;padding-top:2px}.whatsnew-footer{align-items:center;display:flex;flex-direction:column;gap:16px}.whatsnew-feedback{background:linear-gradient(135deg,#fdf6e3,#fff8f0);border:1.5px solid #e9c46a;border-radius:16px;color:var(--ink-soft);font-size:14px;line-height:1.6;padding:14px 20px;text-align:center;width:100%}.whatsnew-btn{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:16px;font-weight:500;padding:18px;transition:all .2s;width:100%}.whatsnew-btn:hover{background:#235c43;box-shadow:0 8px 24px #2d6a4f4d;transform:translateY(-1px)}.area-selector{background:var(--bg);min-height:100vh;padding:48px 24px 32px}.area-selector-inner{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:680px}.area-selector-logo-img{height:52px;margin-bottom:32px;width:auto}.area-selector-welcome{color:var(--ink);font-family:Fraunces,serif;font-size:clamp(22px,4.5vw,30px);font-style:italic;font-weight:300;line-height:1.3;margin-bottom:24px;text-align:center}.area-selector-cards{flex-direction:column}.area-card,.area-selector-cards{display:flex;gap:16px;width:100%}.area-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--area-color);border-radius:20px;box-shadow:var(--shadow);color:inherit;cursor:pointer;flex-direction:row;font-family:inherit;justify-content:space-between;padding:20px 20px 20px 24px;text-align:left;transition:box-shadow .2s,transform .15s}.area-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.area-card:active{transform:translateY(0)}.area-card-main{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:10px;min-width:0}.area-card-emoji{font-size:40px;line-height:1}.area-card-copy{display:flex;flex-direction:column;gap:6px}.area-card-title{color:var(--ink);font-size:18px;font-weight:700}.area-card-desc{color:var(--ink-soft);font-size:14px;line-height:1.45;opacity:.92}.area-card-arrow{color:var(--ink-soft);flex-shrink:0;font-size:22px;line-height:1}.area-pw-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.area-pw-modal{background:var(--bg);border-radius:20px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;gap:12px;max-width:360px;padding:32px 28px;width:90%}.area-pw-title{color:var(--ink);font-size:18px;font-weight:700;margin:0}.area-pw-hint{color:var(--ink-soft);font-size:13px;margin:0}.area-pw-modal input{background:#fff;border:1.5px solid var(--border);border-radius:12px;font-family:DM Sans,sans-serif;font-size:15px;outline:none;padding:12px 16px}.area-pw-modal input.error{border-color:#e63946}.area-pw-error{color:#e63946;font-size:12px;margin:0}.area-pw-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.area-pw-actions button{background:#0000;border:1.5px solid var(--border);border-radius:100px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;padding:8px 20px}.area-pw-actions button.primary{background:var(--accent);border-color:#0000;color:#fff}.ut-beamer-root{cursor:none;font-family:DM Sans,system-ui,sans-serif;inset:0;overflow:hidden;position:fixed}.ut-beamer-logo-mark{opacity:.7;pointer-events:none;position:fixed;right:16px;top:12px;z-index:10050}.ut-beamer-viewport{height:100%;left:0;position:absolute;top:0;transform-origin:0 0;width:100%;will-change:transform}.ut-beamer-world{position:relative;transform-origin:0 0}.ut-beamer-canvas{height:1080px;left:0;top:0;width:1920px;z-index:5}.ut-beamer-canvas,.ut-beamer-textbox{pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none}.ut-beamer-textbox{background:#fffffff0;border:1px solid #00000014;border-radius:10px;box-sizing:border-box;overflow:hidden;padding:8px 10px;z-index:35}.ut-beamer-imgwrap{background:#111;border-radius:12px;overflow:hidden;pointer-events:none;position:absolute;z-index:18}.ut-beamer-imgwrap>img:first-child{display:block;height:100%;object-fit:contain;width:100%}.ut-beamer-img-drawing{height:100%;inset:0;object-fit:fill;pointer-events:none;position:absolute;width:100%}.ut-beamer-doc{background:#1a1a2e;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;pointer-events:none;position:absolute;z-index:25}.ut-beamer-doc-iframe{border:none;flex:1 1;min-height:0;width:100%}.ut-beamer-doc-html{background:#fff;color:#222;flex:1 1;font-size:14px;overflow:auto;padding:12px}.ut-beamer-doc-fallback{align-items:center;color:#aaa;display:flex;flex:1 1;font-size:14px;justify-content:center;padding:16px}.ut-beamer-paper{background:#fffef8;border:1px solid #ddd;border-radius:10px;overflow:hidden;pointer-events:none;position:absolute;z-index:20}.ut-beamer-paper-inner{height:100%;position:relative;width:100%}.ut-beamer-paper-bg{background-color:#fffef8;inset:0;pointer-events:none;position:absolute;z-index:1}.ut-beamer-paper-bg--lined{background-image:repeating-linear-gradient(#0000,#0000 24px,#b8cfe8 0,#b8cfe8 25px);background-size:100% 25px}.ut-beamer-paper-bg--grid{background-image:repeating-linear-gradient(#b8cfe8,#b8cfe8 1px,#0000 0,#0000 25px),repeating-linear-gradient(90deg,#b8cfe8,#b8cfe8 1px,#0000 0,#0000 25px);background-size:25px 25px}.ut-beamer-paper-bg--weiss{background-color:#fff;background-image:none}.ut-beamer-paper-drawing{display:block;height:100%;inset:0;object-fit:fill;position:absolute;width:100%;z-index:2}.ut-beamer-paper-text{box-sizing:border-box;color:#1a1a1a;inset:0;letter-spacing:.01em;line-height:25px;overflow:hidden;padding:8px 12px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;z-index:5}.ut-beamer-paper-placeholder{color:#999;font-size:15px;height:100%;inset:0;z-index:3}.ut-beamer-paper-placeholder,.ut-beamer-timer{align-items:center;display:flex;justify-content:center;position:absolute}.ut-beamer-timer{background:#fffffff2;border:2px solid #2d6a4f59;border-radius:14px;flex-direction:column;gap:6px;pointer-events:none;z-index:30}.ut-beamer-timer-label{color:#2d6a4f;font-size:11px;font-weight:700;text-transform:uppercase}.ut-beamer-timer-val{font-feature-settings:"tnum";color:#1b4332;font-size:28px;font-variant-numeric:tabular-nums;font-weight:800}.ut-beamer-masstand{height:1080px;left:0;pointer-events:none;position:absolute;top:0;width:1920px;z-index:40}.ut-beamer-wait{align-items:center;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;font-family:DM Sans,system-ui,sans-serif;gap:16px;height:100vh;justify-content:center;padding:24px;text-align:center}.ut-beamer-wait--error{color:#ffb4b4}.ut-beamer-wait-icon{font-size:64px}.ut-beamer-wait-brand{font-size:24px;font-weight:800;letter-spacing:.04em}.ut-beamer-wait-sub{font-size:16px;opacity:.75}.ut-beamer-wait-dot{border-radius:50%;height:10px;width:10px}.ut-beamer-wait-room{color:#74c69d;font-size:22px;font-weight:900;letter-spacing:.35em;margin-top:8px}.ut-beamer-root--frozen{cursor:none}.ut-beamer-snapshot{display:block;height:100%;inset:0;object-fit:cover;object-position:center center;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.ut-beamer-frozen-hint{background:#00000038;border-radius:8px;bottom:12px;color:#ffffff73;font-family:system-ui,sans-serif;font-size:11px;padding:3px 10px;pointer-events:none;position:absolute;right:12px}@keyframes ut-beamer-fadein{0%{opacity:.65}to{opacity:1}}.ut-beamer-frozen-fadein,.ut-beamer-live-fadein{animation:ut-beamer-fadein .4s ease forwards}.fsbc-paper-wrap{background-color:#fffef8;min-height:70vh;position:relative;width:100%}.fsbc-paper-bg{background-color:#fffef8;inset:0;pointer-events:none;position:absolute;z-index:0}.fsbc-paper-bg--lined{background-image:repeating-linear-gradient(#0000,#0000 24px,#b8cfe8 0,#b8cfe8 25px);background-size:100% 25px}.fsbc-paper-bg--grid{background-image:repeating-linear-gradient(#b8cfe8,#b8cfe8 1px,#0000 0,#0000 25px),repeating-linear-gradient(90deg,#b8cfe8,#b8cfe8 1px,#0000 0,#0000 25px);background-size:25px 25px}.fsbc-paper-bg--weiss{background-color:#fff;background-image:none}.fsbc-paper-draw{height:100%;inset:0;object-fit:fill;pointer-events:none;position:absolute;width:100%;z-index:1}.fsbc-paper-html{font-size:18px;line-height:1.8;min-height:120px;padding:8px 12px;position:relative;z-index:2}.fullscreen-overlay.fs-board-fs-root{background:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:10000}.fs-board-fs-chrome{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:10px 20px}.fs-board-fs-title{color:#1e293b;font-family:Fraunces,Georgia,serif;font-size:17px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-board-fs-chrome-actions{display:flex;flex-shrink:0;gap:8px}.fs-board-fs-content{overflow:hidden}.fs-board-fs-content,.fs-board-fs-live{display:flex;flex:1 1;flex-direction:column;min-height:0}.fs-board-fs-live{position:relative}.fs-board-fs-live-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.fs-board-fs-float-tools{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:min(96vw,420px);position:absolute;right:12px;top:12px;z-index:10020}.fs-board-fs-tool{background:#fffffff2;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 10px #0f172a14;color:#1f2937;cursor:pointer;font-size:14px;padding:8px 12px}.fs-board-fs-tool:hover{background:#f3f4f6}.fs-board-fs-tool--active{background:#e0e7ff;border-color:#a5b4fc}.fs-board-fs-paper-outer,.fs-board-fs-textbox-wrap{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:16px 24px 24px}.fs-board-fs-paper-wrap,.fs-board-fs-worksheet-wrap{flex:1 1;min-height:0;position:relative}.fs-board-fs-worksheet-wrap{display:flex;flex-direction:column;padding:12px 20px 20px}.fs-board-fs-iframe{background:#fff;border:none;flex:1 1;min-height:0;width:100%}.fs-board-fs-draw--overlay{height:100%;inset:0;position:absolute;width:100%}.fullscreen-overlay [contenteditable].fs-board-fs-editable{height:100%;outline:none;overflow-y:auto}.fullscreen-overlay canvas.fs-board-fs-draw{background:#0000;pointer-events:auto;touch-action:none}.feedback-overlay{align-items:flex-end;animation:fadeIn .2s ease;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:250}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-panel{animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);background:var(--bg);border-radius:28px 28px 0 0;display:flex;flex-direction:column;gap:20px;max-height:90vh;max-width:680px;overflow-y:auto;padding:28px 24px 48px;width:100%}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.feedback-header{position:relative;text-align:center}.feedback-close{background:var(--border);border:none;border-radius:50%;color:var(--ink-soft);cursor:pointer;font-size:13px;height:32px;position:absolute;right:0;top:0;transition:all .2s;width:32px}.feedback-close:hover{background:var(--ink-soft);color:#fff}.feedback-title{color:var(--ink);font-family:Fraunces,serif;font-size:26px;font-weight:300;margin-bottom:6px}.feedback-subtitle{color:var(--ink-soft);font-size:14px;margin-bottom:16px}.feedback-steps{display:flex;gap:8px;justify-content:center}.feedback-step-dot{background:var(--border);border-radius:50%;height:8px;transition:all .3s;width:8px}.feedback-step-dot.active{background:var(--accent);border-radius:100px;width:24px}.feedback-body{animation:fadeSlide .3s ease;display:flex;flex-direction:column;gap:14px}@keyframes fadeSlide{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}.feedback-section-label{color:var(--ink-soft);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.feedback-type-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.feedback-type-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:16px;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;gap:10px;padding:14px 16px;text-align:left;transition:all .2s}.feedback-type-btn.active,.feedback-type-btn:hover{border-color:var(--accent)}.feedback-type-btn.active{background:var(--accent-light)}.ft-emoji{flex-shrink:0;font-size:22px}.ft-label{color:var(--ink);font-size:13px;font-weight:500}.feedback-ratings{display:flex;flex-direction:column;gap:8px}.feedback-rating-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;gap:14px;padding:12px 16px;transition:all .2s}.feedback-rating-btn:hover{border-color:var(--accent)}.feedback-rating-btn.active{background:var(--accent-light);border-color:var(--accent)}.fr-emoji{font-size:24px}.fr-label{color:var(--ink);font-size:14px;font-weight:500}.feedback-textarea{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;color:var(--ink);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.6;outline:none;padding:14px 16px;resize:vertical;transition:border-color .2s;width:100%}.feedback-textarea:focus{border-color:var(--accent)}.feedback-email{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;color:var(--ink);font-family:DM Sans,sans-serif;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s;width:100%}.feedback-email:focus{border-color:var(--accent)}.feedback-nav{display:flex;gap:10px}.feedback-back-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--ink-soft);cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;padding:14px 20px;transition:all .2s}.feedback-back-btn:hover{border-color:var(--ink-soft);color:var(--ink)}.feedback-next-btn{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;padding:14px;transition:all .2s}.feedback-next-btn:disabled{cursor:not-allowed;opacity:.4}.feedback-next-btn:not(:disabled):hover{background:#235c43}.feedback-submit-btn{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;padding:14px;transition:all .2s}.feedback-submit-btn:disabled{cursor:not-allowed;opacity:.4}.feedback-submit-btn:not(:disabled):hover{background:#235c43}.feedback-sent{align-items:center;display:flex;flex-direction:column;gap:16px;padding:32px 0;text-align:center}.feedback-sent-icon{font-size:56px}.feedback-sent-title{color:var(--ink);font-family:Fraunces,serif;font-size:26px;font-weight:300}.feedback-sent-sub{color:var(--ink-soft);font-size:15px;line-height:1.6;max-width:320px}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface);background:#ffffffeb;border-top:1.5px solid var(--border);bottom:0;height:var(--nav-height);justify-content:space-around;left:0;padding:0 16px;position:fixed;right:0;z-index:100}.bottom-nav,.nav-item{align-items:center;display:flex}.nav-item{background:none;border:none;border-radius:16px;cursor:pointer;flex:1 1;flex-direction:column;gap:4px;padding:8px;position:relative;transition:background .2s}.nav-item:hover{background:var(--surface-soft)}.nav-icon{font-size:22px;line-height:1;position:relative}.nav-badge{background:var(--accent-warm);border-radius:100px;color:#fff;font-family:DM Sans,sans-serif;font-size:10px;font-weight:700;padding:1px 5px;position:absolute;right:-8px;top:-4px}.nav-label{color:var(--ink-soft);font-size:11px;font-weight:400;transition:color .2s}.nav-item.active .nav-label{color:var(--accent);font-weight:600}.nav-item.active .nav-icon{transform:scale(1.1)}:root{--bg:#f5f0e8;--surface:#fff;--surface-soft:#faf8f4;--ink:#1a1a2e;--ink-soft:#5a5a7a;--accent:#2d6a4f;--primary:var(--accent);--accent-light:#d8f3dc;--accent-warm:#e76f51;--border:#e8e2d6;--radius:20px;--shadow:0 4px 24px #1a1a2e14;--shadow-hover:0 8px 40px #1a1a2e24;--nav-height:72px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f0e8;background:var(--bg);color:#1a1a2e;color:var(--ink);font-family:DM Sans,sans-serif}.app,body{min-height:100vh}.app{display:flex;flex-direction:column;max-width:100vw;overflow-x:hidden}.app-content{flex:1 1;padding-bottom:72px;padding-bottom:var(--nav-height)}@media (max-width:480px){:root{--radius:16px}.start-screen{gap:12px;padding:32px 16px 24px}.start-title{font-size:28px}.situation-card{gap:12px;padding:14px 16px}.situation-label{font-size:14px}.situation-emoji{font-size:20px;height:36px;width:36px}.dashboard-row{gap:6px;grid-template-columns:repeat(3,1fr)}.dashboard-mini-card{padding:10px 8px}.dmc-emoji{font-size:18px}.dmc-title{font-size:11px}.recent-cards{gap:6px}.recent-card{padding:10px 6px}.recent-title{font-size:11px}.bottom-nav{padding:0 8px}.nav-label{font-size:10px}.nav-icon{font-size:20px}.detail-topbar-actions{gap:4px}.audio-toggle-btn,.beamer-btn,.detail-fav-btn,.guide-btn{font-size:11px;padding:5px 8px}.game-screen-body{padding:16px 16px 80px}.memory-grid{gap:6px}.memory-card-back,.memory-card-front{font-size:22px}.sequence-numpad{gap:6px}.numpad-btn{border-radius:12px;font-size:22px}.reaction-circle{height:200px;width:200px}.reaction-hint{font-size:24px}.ranking-podium{gap:4px;padding:0 8px}.podium-name{font-size:11px}.feedback-panel,.guide-panel,.qr-panel,.whatsnew-panel{padding:20px 16px 36px}.gamehub-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.game-card{padding:14px 12px}.class-list{gap:8px}.level-grid{grid-template-columns:repeat(3,1fr)}.math-question{font-size:28px}.math-input{font-size:24px;width:120px}}@media (max-width:360px){.dashboard-row{gap:4px;grid-template-columns:repeat(3,1fr)}.dmc-title{font-size:10px}.start-title{font-size:24px}.situation-label{font-size:13px}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e8e2d6;background:var(--border);border-radius:100px}.bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}button:focus-visible{outline:2px solid #2d6a4f;outline:2px solid var(--accent);outline-offset:2px}button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.li-root{--li-size:28px;align-items:center;color:#1a1a2e;color:var(--ink);display:inline-flex;font-family:inherit;gap:10px;justify-content:center}.li-compact{gap:0}.li-text{color:#1a1a2e;color:var(--ink);font-size:13px;font-weight:700;text-align:center}.li-ai-dots{align-items:center;display:inline-flex;gap:8px;height:var(--li-size);justify-content:center}.li-dot{animation:li-pulse-dot 1.1s ease-in-out infinite;background:#2d6a4f;background:var(--primary);border-radius:999px;height:10px;opacity:.6;width:10px}.li-dot--2{animation-delay:.15s}.li-dot--3{animation-delay:.3s}@keyframes li-pulse-dot{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.li-icon{align-items:center;display:inline-flex;font-size:calc(var(--li-size)*.82);height:var(--li-size);justify-content:center;line-height:1;width:var(--li-size)}.li-save{animation:li-save-bounce .95s ease-in-out infinite;transform-origin:50% 65%}@keyframes li-save-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.li-spinner{animation:li-spinner-rotate .9s linear infinite;height:var(--li-size);position:relative;width:var(--li-size)}@keyframes li-spinner-rotate{to{transform:rotate(1turn)}}.li-spoke{background:#2d6a4f;background:var(--primary);border-radius:2px;height:7px;left:50%;opacity:.18;position:absolute;top:50%;transform-origin:50% calc(100% + 4px);width:2px}.li-spoke--1{opacity:1;transform:translate(-50%,-50%) rotate(0deg) translateY(-10px)}.li-spoke--2{opacity:.85;transform:translate(-50%,-50%) rotate(45deg) translateY(-10px)}.li-spoke--3{opacity:.7;transform:translate(-50%,-50%) rotate(90deg) translateY(-10px)}.li-spoke--4{opacity:.55;transform:translate(-50%,-50%) rotate(135deg) translateY(-10px)}.li-spoke--5{opacity:.45;transform:translate(-50%,-50%) rotate(180deg) translateY(-10px)}.li-spoke--6{opacity:.35;transform:translate(-50%,-50%) rotate(225deg) translateY(-10px)}.li-spoke--7{opacity:.28;transform:translate(-50%,-50%) rotate(270deg) translateY(-10px)}.li-spoke--8{opacity:.22;transform:translate(-50%,-50%) rotate(315deg) translateY(-10px)}.li-image-icons{align-items:center;display:inline-flex;font-size:calc(var(--li-size)*.72);gap:6px;height:var(--li-size);justify-content:center;line-height:1;width:calc(var(--li-size)*1.85)}.li-img{animation:li-stagger-fade 1.2s ease-in-out infinite;opacity:.2}.li-img--2{animation-delay:.18s}.li-img--3{animation-delay:.36s}@keyframes li-stagger-fade{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.li-book{align-items:center;display:inline-flex;font-size:calc(var(--li-size)*.82);height:var(--li-size);justify-content:center;line-height:1;position:relative;width:var(--li-size)}.li-book-page{animation:li-book-page 1.1s ease-in-out infinite;background:#ffffffb3;border-radius:4px;box-shadow:inset 0 0 0 1px #0000001f;height:70%;mix-blend-mode:multiply;position:absolute;right:18%;top:18%;transform-origin:right center;width:46%}@keyframes li-book-page{0%{opacity:.5;transform:rotateY(0deg) translateX(0)}50%{opacity:.9;transform:rotateY(-30deg) translateX(-1px)}to{opacity:.5;transform:rotateY(0deg) translateX(0)}}@media (prefers-reduced-motion:reduce){.li-root *{animation:none!important}.li-book-page,.li-dot,.li-img,.li-spinner{opacity:.7}}
/*# sourceMappingURL=main.e41dc1bd.css.map*/