@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAQcABAAAAAACIgAAAPAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMogmULFgABNgIkAyYEIAWFbgdiDAcbEwcgnge2zWYrRGrW2DqMIvVrh6cG/6B/9ecmGb7Z3Q/IFcgSYAe7BJC/X2tvBdPop7KYypr+m92/iE0nEhIeMkO6SiJfo3oCmXALgMKT3MtvBPKJY8aL5MhAnUgFTTtot/MqGvHOs2lU9Q389/gPWGD8OnXqgVcTwoAOlml+fY8ISAAABiEsQkCcfJqR9RrMrkL5sN7YgnIcgPcI0ND+tgWFgADhMEQRUQzp0EAhDQgMAMIiDJZGIQw0QxcQglR7gIaTAJxem07kgZk/RAFNG1EPIqmPikUAw83adWYBsiTlOuSSfR4QSqV+uYBYAWCym1dALhRa/LaQDgnkQ44ZqGCCgsHPGkQJIh1aQkoANhOAoqYTABjAAulQCCZ961aAVCpRQBK5DLnlpEyuQ94T/Fr/y+9P+P6+tpe2EKiCkPekgIyzOB0gAQwALACyIQkcxisYPoeQo0Vdxox0UqqeqmCkgYx4y2BooMbXE6tdS7YDeeteTdtzKT7/TrH4xvv3gwV37zJ1VaZO8+/d07S1WYNNu5i6+2Kw4H7JYN2dOwOKxHpeyepQljdHsPpoGnc8Z7AqpeqGBtHxiIV+RCkJvVwuTza50nPJys9dUz5nzMrN/fWWXWob/8YVjM3kb7y63KydGR+YGNbat1O1Nnf72eOGw1t7d6vW5M7MrDmEiZ9XoOg04PBxEtup5mrNDdy0qDUPziYfVw7bRInVXCoWmYxZcvMFXJlxd3WrOJAFIIAIUfZw5V4co5j3UgAEYLbbT8PLfUCASVM8W/aXnim937L2JcDT/cUyAcCLrSu6UeK/TuuPMAYAwdtmNYcI8P8ZNcFsjcfMVKpdBkNmL3wDzEaKAUbCCCBOBTTZUBRazyAgmT1Y5GLAGU102aJcGrENyarCtjTwX+lo7BBVvLLDlHLNTqaCVXYqPs2W1NCdIrIkyFCvaAoQQOIa5z+BNhATyzIFYxlUvA0ilUyBrRCZVMMQg2CRweXwmMbSsWwYy2MFy+JQYFiGo1tamoNnU2VgjhSHypCC2GRpC8bNls4Wo9ROLoW+TmRvokIsHs1SGB2a9JBJMET+vGMHI6VLSgvG3tG8qxbMWNCzBMByXOYyUOzG1PYUSR+BZJyytzvh0YwxNo/VIEAsuvgmi2yIRsTDPIa4MAViU2pHHotDpuKvcXFSeIgpDUN0CHYqQ5RGIIpElfr+RKwdB/J5k8HKyimksCLh2n1+E6BbgTtCZZihUmTdNt4Hm5nhckW9+7pY/GgOVVCd79LCtL/Iz9rnFgEAAAA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAZEAA8AAAAACCwAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAEsAAABgX26jxFNUQVQAAAIwAAAAOQAAAETle8wfY21hcAAAAmwAAABDAAAAZAHsImBnYXNwAAACsAAAAAgAAAAIAAAAEGdseWYAAAK4AAABWwAAAaLmwCeFaGVhZAAABBQAAAA2AAAANiI8FmNoaGVhAAAETAAAAB8AAAAkCNwCamhtdHgAAARsAAAAIAAAACYPwAD9bG9jYQAABIwAAAAWAAAAFgJZAcJtYXhwAAAEpAAAABwAAAAgABoAwm5hbWUAAATAAAABMQAAArQ8M2PVcG9zdAAABfQAAABNAAAAYifABt8AAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2BhymOKYGBlYGDqAtIMDN4QmjGOQYPRlQEVsAMxE4wT4u/tz3CAgVdhCwvffyUGBlYBxhQFBsbJIDkmWaaXQEqBgRkAx84KLQB42h3EAQaAQBQFwHm/sBRCR+hQAQQqAixdPxqMiKaw/m/qPa+egbsfTyYxWgTSascgKjMIH60eBEoAAAB42mNgYGACYmYgFgGSjGCahSEASAsAIUicl0GBwZFhAcNBRiaFLf//Y4r8//n/yf8D/1P/O/5nvB8MNAMNAADxJBRiAAABAAH//wAPeNpFEDVCQ1EsyS+/irt7vVhdcHdnKidApq5AD4D7jPtF8Bkf/4K71/te3BPggQ2AqogDBvgghnCAaH1mLLow14c2Evy8B5GWa2p+emtqbjwAQK4soE3iXPkiAC1qMVuWyY/WMmJkp5EdNv+eWuycg7if+PV1jMAe+Pvz5jAPJAUEcGUKYA8OAva7gF0IajgGAvXfM/XTC6SA2TOhwWjQ66TS7CyWn11C2qK4uNgYPsvXxmKWVKrXGQ3GbNfomSyfjY2Ji9MWGYzaMFLjGMsTp5tkyqao4dDmwdLagRI+E2L6Pa8dLObzQixU9utgeZJ0s1TVGDUsaR7ExRa+MDY5PT9JWmDrVuvt1uRYkbDl167vtSbFikXNzQJBnN+tAQQHObGdyQUGINqo5TvqZwfIubrq83BMhvvC7hll2sBYmF/aocBBlOfkyHEAFe3k1NQrXTFZqnr1P7mPVBIAAAEAAAACEi2ts6lGXw889QADA+gAAAAA3bEsGAAAAADgp5Nc/1v/BQVwBNoAAAAGAAIAAAAAAAB42mNgZGBg4fuvxMDAuul/9N8e1gKgCCrgBACANgVOAHjaY2pgsGHawsANwwzrGRhgmGkxgw6QVcJQAgCIMQbIAAAAIQA7AEcAUwBTAFMAUwCnALQA0QAAeNpjYGRgYOBiSGFgZ4hhYAXzEICZgREAE7gA3XjaldEDklxRFAbgb2wUgvIrxEk7LsS27TZeM1hIsKCsIBsKbsaey2P9mPTNgL7BMfzsezZH98n17Z2j+0337Z6jB1zya44eXGIz5JQfc/SwlNIcPe2YzH+6b8CkOfu+UbN2ztETJo3P0f8o7onVvdVwVddbNWXv3ZdXV3ZOrOaDx/LKikq64XY1dZySlNTxXltZU1dHQkdZTUKsrSjptktuuKOmp+Oat6reaods90PmjiOrMj6S1w6xYg2RjISU49JOKyroioNlx3MpCSclZKW8XGb5wG3X3XZ62/nvySvqqf2zXfCOVvhHCxGiVRHOizV90V6YXCQjFW7kgZK8aEuR72iLVeS9D1HO6gUcYu2g378Kk6JysOh5J+G9WF0yzKwq1vVFU15yk6kc+AOSEmhBAAAAeNpjYGIAg/+pDBoM2AAXEKswnGRkYmBmZGZkYWRlZGNkZ3NMKkotS2Uvzcs0MHA0YHIOAjGNDJxMOBOTS0tSk/Nzk8CSxgZmAO8vD8MAAAA=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./plus-jakarta-sans-vietnamese-600-normal-Y4VTTRme.woff2)format("woff2"),url(./plus-jakarta-sans-vietnamese-600-normal-5YsyKbU1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2)format("woff2"),url(./plus-jakarta-sans-latin-ext-600-normal-B0WRRYJ1.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2)format("woff2"),url(./plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAAP4ABAAAAAACEAAAAOfAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMogmULFgABNgIkAyYEIAWFKAdiDAcbzQZAHgnZGeYNcatNpH4Ez1Ne9X5V0koPnZXA23BP8lGsq7ncS/JfgvHIEMLN3G0KLFyFwfEVqsKhsUUm3AKg8CT3pr93/Mf0hc2NmkjbJu1J/zpfy7DzNvbxWTYp4C4NcJ13AUFvs3CpSRLzS+U69m4UAYIAgEIQNIIAAfLqINWtv7QF+UN7UQT5WADGIIAM6ccjyAQEECwUPgQfimgKUFAJhgJA0AgKjUKWn1pMfjVYcQaoB7Hbki/qKjaoxaojQBNpFulOXRpARl5AcbK2XVyFd0Lcs1aoyQ3scOnrwtYAKFd9BFwy0vu+EE0C8pImDHCIaRj0asAchGjKKEkQ8LcIgPjVVQAUoIFoMgJEU2gJCFdIBkJwjXvnlij3rDG2x5pf5o25afqZWkaet4FBNoIYQxh0APFoQBDoD1gCJKMALJQBFC0LQSyJz4qLswThPSSMsRwbfk1niDMo0D7YtktOZ2fAgRMy6/jjwOKsooE9T544S7Kzmbk1vuPinByZtSPJ2XuUmcceOUuelHB2ZmX1z1HrcTlthwRlU51N17z8jSRna1OV3fV99b0b/uK7yOHDST6sLbvDLbeja1zGlNE1PKentEtMelwhT/56rn/19RbtRFONJiO6q3erGr//zKenjUZ21+heJeHeng2BK6+1bM+beoW2bba19ASXheuNfRwedJTam9ptLdzYPyuklZu7VsrMQOEmHZqR8sMALz4O8VgX95PLX0kAHFDX9Pd1uM8IoCKLJdwp+rFHWNVvPq0/ADw9VTQegBcH1nQlx3w9tV3woAAQ+NlC6qEf+tf9Iut+NZOq4ONKTgPAaj8FAFPcYECA8hSSyXkwwBQCBFmPRiw/cFeaa0ohd4oqFT7Jq9RU96+0KOpTaVPZo9JDQXuKUMqrMBJNkNiIn6xhcTxYwCUfAlpDIVVkHlEFXLpdJpfNQfwfkZgwoFUrQce5YkRoIbgCLRBna7VqxpI1gYSwQOVTcUS1SRURmk1AAcMOEye4UKRMhxZterUbZLMQhALCoTYt+rXo1Oa4xrSyGSybeFln3nnZsmrRqsEufdKgNVsnodgV/v0aZTq08ViZLRtkDtz786/hkMekI2XGJYgDcUKZuptJ2NyYT5PQtNChUCuCfIhciZlasVBPguyaftQBDgB5fYlCixZLbPGI11Or9/v+12WMG+62laxVUtVprdzZUbJ2WX+vPgmZr91w2JzuNWVKlr8oZt5Jaxk=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAZAAA8AAAAACCAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAEwAAABgX9SjrlNUQVQAAAIwAAAAOgAAAETl38wgY21hcAAAAmwAAABDAAAAZAHsImBnYXNwAAACsAAAAAgAAAAIAAAAEGdseWYAAAK4AAABXQAAAaJ7JIWSaGVhZAAABBgAAAA2AAAANiJIFndoaGVhAAAEUAAAAB8AAAAkCOcCXWhtdHgAAARwAAAAIAAAACYQDwD/bG9jYQAABJAAAAAWAAAAFgJZAcJtYXhwAAAEqAAAABwAAAAgABoAwm5hbWUAAATEAAABKQAAAqg7nmHUcG9zdAAABfAAAABNAAAAYifABt8AAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2BhKmXaw8DKwMDUxRTBwMDgDaEZ4xg0GN0ZUAE7EDPBOCH+3v4MCxh4Fbaw8P1XYmBgFWBMUWBgnAySY1JgegmkFBiYAepmCn142h3EgQWAUBgGwPv+QimERmixQEWAR8s1XHQ4EYPC+r+p5zhbOq6235lEbxHIWC86UZlB+AC0nwSvAAB42mNgYGACYmYgFgGSjGCahSEASAsAIUicl0GBwZFhAcNBRiaFLf//Y4r8//n/yf8D/1P/O/5nvB8MNAMNAADxJBRiAAABAAH//wAPeNpETjVCAwEQnN27XNzdPelzhrvLE/IAOvwfSI9VdHyAB+DyAihT4i7xrPsORPQBPMYVCDDCCifgVdN+qmq+qX1s+nnvKB9MTPyUJybu6wJwdQt8XL1ghAWQSaZsMW30yoKV6IhoW/2908q3C1z5Ce7uUoh68PfX2BFeuQACqpsmHOK0XX9s181I4wKM4t8zr/ILYugGDJlCQVV0Tc9W4aUlo+T3BQJySdNlB1eRa7qmKoVCNiMZswMslwIBv88oGWU/TU8vDRkFUeP533WDaI0r2cKEe/N/PIHF/+YxdrMgBAJK7L0L7FmZWUx5zOKtJYU5uUJC2NiFpaS1JRS17MJ1GeeHsLFBufZhumZxNhLCXJwhQDdXMzUwpjHrMjADw9HcmL3acVUWU8PatRAZJh5mVVAIMwLdr26McLKzS4Q2YyOjmoKSKlC7dgRTg4G3lpySkpy2jx4AMuxSeAAAAAABAAAAAhItg7TxUl8PPPUAAwPoAAAAAN2xLBgAAAAA4KeTXP9X/v8FfwT0AAEABgACAAAAAAAAeNpjYGRgYOH7r8TAwHryf/jfDNZ6oAgq4AQAgEIFTAB42mNqYLBhOsHADcMMmxgYYJhpGYM6kFXNUA0Aj6oHGQAAACEAOwBHAFMAUwBTAFMApwC0ANEAAHjaY2BkYGDgYkhhYGeIYWAF8xCAmYERABO4AN142o2RNVJEQRRFz7hPSIy7u7u7u7v3fEMyVsFiiFkL6+BVV+Ma3Lqn9RmQ5J4AvmAMePRNGvaR6ys37CfqyzccoJMnw0HKeTAcopU7w2GKWTacppFcNPsCEivLcIzXP30J2Y8bFgJmUVywwyUjuOLnnLDHEgfiRxzjarlkcCRuFVXie9ickMEVrsQRPhdX2BxRxRSDjDPNOR4Oo+xwJrL173M6kkMFvSjO2WeRA2z9h5KTbGqppJomamjjiENclL7psCb7lbSI6oQ2XiNkf4qR/Rol+zXK+1/nmWJM1PbvHI3/I2Ifigy32K/dk4qo1spmXnYOyP5X5tPYKE45YE//0oOnZ6Gw9Xnxl7kccaJveOxSyZ6eaxWu+JnI5ZYMB1T9UXXJM2dbZasAAAB42mNgYgCD/6kMGgzYABcQqzCcZGRiYGZkZmRhZGVkY2Rnc0wqSi1LZS/NyzQwcDRgcg4CMY0MnEw4E5NLS1KT83OTwJLGBmYA7y8PwwAAAA==)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./plus-jakarta-sans-vietnamese-700-normal-CV6qDkkj.woff2)format("woff2"),url(./plus-jakarta-sans-vietnamese-700-normal-BCh_uG_5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./plus-jakarta-sans-latin-ext-700-normal-BajbvANd.woff2)format("woff2"),url(./plus-jakarta-sans-latin-ext-700-normal-8-d-IyIQ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2)format("woff2"),url(./plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(data:font/woff2;base64,d09GMgABAAAAAAQMABAAAAAACIwAAAOxAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMkgmcLFgABNgIkAyYEIAWFdgdiDAcbHQcgnoexMa3pErsziZwnPyZRSvA85VXvV1UraY+UmbV1pHha3yBfhVzt99v7gtl0dblntm/29pBGh0wmJYZqMYBMuAVAYST3938ZOfCJY6aLKOxAnUgUlXZQlGYR73yN0bTZPgT/Hn+AH2D8b7aSwp8o5jlZ8a8PigBBAEAhCBpBAIv8BmXqN9w+horhfTiBCgyACwFk2ABKoAgQQDAo/Ah+FIlyQGG1BAoAQSMoNAphK4tRC2qF1viBBYFsNvJHO+RBzVOdAZrdTiI9aU9jRMYHKF6tfbf24IuQc8KE3TzgiUp/B7EcQOWpT4Ajiwx/LyTKAPllJg3yWGgYcjISNkKiHEYlCHSbAIilHQBQgAYSZREo+tatAVFVskAIx4IPLohyTrhwPtf95Sa3jisv2iEQNUFclwgoi+2JgCAwELAQyKQMMCgXIIgYBDFMv0lJMRnRXhJhvIKOPNzuZfewOgbbdyvtag9afVimHjpnzbubaT2Aufb8e/eYsiG187z790PlmzPsFQeYcvDsFXiQY98V68AmyV4rbT8sy5ltrw0zzmfYG3KqbWvob+jTsJcJSv98vI6MvWVWxx7XPfv8mF6dvN/9Ujs1deU7J7dO+tvddp12Z4/ddVqo0dq9ZpKnbfv6svl4y71s2d5UzLccQu1255lDQ127XV6+nu8LL5OrHL8w6DidfvNmsHiL1BVpxbNziqctt0q06N5PpiAC8OFnO9cc2wMk+ysNgA3qlv7Dj/uOACpeIu/V4bRekerf/Fp/BHh2tHgqAC93L+9Oqfu1bD14UQAIvG8O9TQB8e+WH0GWABBQU6gOZuZxAihTe8gFTMUnIYBFRTkyZRtdpxAgzCE0YgLAZZlh8oSKaclThKU2T9PYf7tJ43mo6pPnpaw3QBjrlBfVaJgbU6NRSjRBksfFCgFtqKU3/hdoC8WkxAYmRXymMzafy8NWPGFEWoQiln0RTam3SQpJhEn1jkgJxcNYSpnUp49iIr4UU3opvkgvRFx99qzabl2JFuzVMwzrlI1u8aFEvUG9+o0ZMMXlYJj8deVKv14Teg3pd3NM97E9W/ZMDQE8TLu0qKDBzelV38a5BMH/jLY9XW9Qv3LWO3YC7Ybbf/99BAVsJlZvgcY8iCj12h+O2+Un/TWaoZcJxfowFELsWcrWR+EOGUSjG+2utoD8vkWhRYsRj3jF563T94cBlhVOGOn3l65TWtVra31ysHTd8oE+/TTbn8+hderiS8qVrnhG3JlHzEIAAA==)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./plus-jakarta-sans-vietnamese-800-normal-CxbopLd3.woff2)format("woff2"),url(./plus-jakarta-sans-vietnamese-800-normal-BkoGl_sr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./plus-jakarta-sans-latin-ext-800-normal-B6BjB2Ju.woff2)format("woff2"),url(./plus-jakarta-sans-latin-ext-800-normal-BPkb-LBK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./plus-jakarta-sans-latin-800-normal-CusIZhrK.woff2)format("woff2"),url(./plus-jakarta-sans-latin-800-normal-BRNHt2w0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(./be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(./be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(./be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(./be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(./be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(./be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(./be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(./be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(./be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(./be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(./be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(./be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(./be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(./be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(./be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(./be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--surface:#fcf6e3;--surface-low:#f7f1dc;--surface-card:#fff;--surface-high:#efe8cf;--surface-highest:#e3ddc5;--surface-dim:#dbd5bc;--on-surface:#312f23;--on-surface-variant:#6b6553;--muted:#9a937d;--primary:#864958;--primary-dim:#6e3746;--on-primary:#fff;--pink:#ffb1c1;--pink-soft:#ffe0e7;--period:#f06a8c;--period-soft:#ffd3de;--mint:#b9eedb;--mint-deep:#2f7a63;--lilac:#e1cbfe;--lilac-deep:#6c4ba8;--fertile:#c8b3ff;--fertile-soft:#ece3ff;--ovulation:#8a62e0;--butter:#ffe7a6;--shadow:0 18px 50px #312f2314;--shadow-sm:0 6px 20px #312f2312;--r-sm:14px;--r-md:24px;--r-lg:32px;--font-display:"Plus Jakarta Sans", system-ui, sans-serif;--font-body:"Be Vietnam Pro", system-ui, sans-serif;--nav-h:76px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--surface);color:var(--on-surface);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-size:16px;line-height:1.45}#root{min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0}p{margin:0}.app{background:var(--surface);max-width:480px;min-height:100dvh;margin:0 auto;position:relative}.screen{padding:calc(14px + var(--safe-t)) 18px calc(var(--nav-h) + 28px + var(--safe-b));animation:.28s ease-out screen-in}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:14px;display:flex}.brand{font-family:var(--font-display);color:var(--primary);align-items:center;gap:8px;font-size:1.35rem;font-weight:800;display:flex}.brand small{font-family:var(--font-body);color:var(--muted);font-size:.8rem;font-weight:500;display:block}.icon-btn{background:var(--surface-low);width:44px;height:44px;color:var(--primary);border-radius:50%;place-items:center;transition:transform .15s;display:grid}.icon-btn:active{transform:scale(.92)}.icon-btn svg{width:22px;height:22px}.nav{width:100%;max-width:480px;padding:8px 10px calc(8px + var(--safe-b));-webkit-backdrop-filter:blur(24px);z-index:30;background:#fcf6e3d1;grid-template-columns:repeat(5,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 30px #312f230d}.nav button{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-radius:22px;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;font-size:.66rem;font-weight:700;transition:background .2s,color .2s,transform .15s;display:flex;position:relative}.nav button svg{width:24px;height:24px}.nav button.active{background:var(--pink);color:var(--primary-dim)}.nav button:active{transform:scale(.94)}.nav .badge{background:var(--primary);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;display:grid;position:absolute;top:4px;right:calc(50% - 20px)}.card{background:var(--surface-card);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:20px}.card.soft{background:var(--surface-low);box-shadow:none}.card.lilac{background:var(--lilac);box-shadow:none}.card.mint{background:var(--mint);box-shadow:none}.card.pink{background:var(--pink-soft);box-shadow:none}.stack{flex-direction:column;gap:14px;display:flex}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.center{text-align:center}.muted{color:var(--on-surface-variant)}.tiny{font-size:.78rem}.small{font-size:.88rem}.label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.h-display{font-family:var(--font-display);font-size:2.1rem;font-weight:800;line-height:1.05}.h1{font-size:1.6rem;font-weight:800}.h2{font-size:1.2rem;font-weight:800}.h3{font-size:1rem;font-weight:700}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.grow{flex:1;min-width:0}.bubble{background:var(--lilac);color:#3e2a5e;box-shadow:var(--shadow-sm);border-radius:26px 26px 26px 8px;padding:12px 16px;font-size:.95rem;font-weight:500;position:relative}.bubble.pop{animation:.35s cubic-bezier(.3,1.6,.5,1) bubble-pop}@keyframes bubble-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.btn{min-height:48px;font-family:var(--font-display);background:linear-gradient(180deg, #9a5767, var(--primary-dim));color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:.98rem;font-weight:700;transition:transform .15s,opacity .2s;display:inline-flex;box-shadow:0 10px 24px #86495847,inset 0 1px #ffffff40}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;pointer-events:none}.btn.block{width:100%}.btn.secondary{background:var(--surface-high);color:var(--primary);box-shadow:none}.btn.mint{background:var(--mint);color:#1f5a48;box-shadow:none}.btn.lilac{background:var(--lilac);color:#4b2f7a;box-shadow:none}.btn.pink{background:var(--pink);color:var(--primary-dim);box-shadow:none}.btn.ghost{color:var(--on-surface-variant);box-shadow:none;background:0 0}.btn.small{min-height:38px;padding:0 16px;font-size:.86rem}.btn.danger{color:#a12d2d;box-shadow:none;background:#fde1e1}.chip{background:var(--surface-low);color:var(--on-surface);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.88rem;font-weight:500;transition:background .15s,transform .12s,color .15s;display:inline-flex}.chip:active{transform:scale(.95)}.chip.on{background:var(--primary);color:#fff}.chip.on.flow{background:var(--period)}.chip.on.mood{background:var(--lilac-deep)}.chip.on.sym{background:#d9708a}.chip.on.mint{background:var(--mint-deep)}.input{border-radius:var(--r-md);background:var(--surface-highest);border:0;outline:none;width:100%;min-height:48px;padding:12px 16px}.input:focus{box-shadow:0 0 0 3px #86495840}textarea.input{resize:vertical;min-height:90px}.stepper{align-items:center;gap:12px;display:flex}.stepper button{background:var(--surface-high);width:40px;height:40px;color:var(--primary);border-radius:50%;font-size:1.3rem;font-weight:700}.stepper .val{text-align:center;min-width:64px;font-family:var(--font-display);font-size:1.4rem;font-weight:800}.toggle{background:var(--surface-dim);border-radius:15px;flex-shrink:0;width:50px;height:30px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000026}.toggle.on{background:var(--primary)}.toggle.on:after{transform:translate(20px)}.list-row{align-items:center;gap:12px;padding:14px 4px;display:flex}.list-row+.list-row{border-top:1px solid #312f230f}.sheet-backdrop{z-index:50;background:#31282359;justify-content:center;align-items:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:480px;max-height:92dvh;padding:10px 18px calc(24px + var(--safe-b));overscroll-behavior:contain;border-radius:32px 32px 0 0;animation:.3s cubic-bezier(.2,.9,.3,1) sheet-up;overflow-y:auto}.sheet .handle{background:var(--surface-dim);border-radius:3px;width:44px;height:5px;margin:2px auto 14px}@keyframes sheet-up{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fullscreen{z-index:60;background:radial-gradient(circle at 50% 30%, #fff7ec, var(--surface) 60%, #f6e6ef);padding:calc(20px + var(--safe-t)) 22px calc(20px + var(--safe-b));flex-direction:column;justify-content:center;align-items:center;animation:.3s ease-out fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}.fullscreen .close{top:calc(14px + var(--safe-t));position:absolute;right:16px}.toast{left:50%;bottom:calc(var(--nav-h) + 18px + var(--safe-b));color:#fff;z-index:80;box-shadow:var(--shadow);text-align:center;background:#3d2f35;border-radius:999px;max-width:calc(100% - 32px);padding:12px 18px;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.3,1.5,.5,1) toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.bar{background:var(--surface-high);border-radius:6px;height:10px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--primary), var(--pink));border-radius:6px;height:100%;transition:width .5s;display:block}.empty{text-align:center;color:var(--on-surface-variant);padding:30px 10px}.particle{pointer-events:none;z-index:5;font-size:22px;animation:1.4s ease-out forwards float-up;position:absolute}@keyframes float-up{0%{opacity:0;transform:translate(-50%)scale(.6)}15%{opacity:1;transform:translate(-50%,-10px)scale(1.1)}to{transform:translate(calc(-50% + var(--dx,0px)), -110px) scale(.9);opacity:0}}.confetti{pointer-events:none;z-index:90;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:3px;width:10px;height:14px;animation:linear forwards confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{to{transform:translateY(110vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){.screen,.sheet,.bubble.pop,.particle,.confetti i{animation:none!important}}.auth{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 16px 32px;flex-direction:column;gap:16px;max-width:440px;margin:0 auto;display:flex}.auth-hero{text-align:center}.auth-pet{place-items:center;animation:3.2s ease-in-out infinite auth-bob;display:grid}@keyframes auth-bob{50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.auth-pet{animation:none}}.auth-card{gap:14px;padding:22px 20px}.auth-msg{border-radius:var(--r-md);padding:10px 14px;font-size:.9rem;line-height:1.4}.auth-msg.error{color:#8a2424;background:#fde1e1}.auth-msg.ok{color:#1f5a48;background:#dff3ea}.auth-or{color:var(--on-surface-variant);align-items:center;gap:10px;font-size:.8rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--surface-highest);flex:1;height:1px}.auth-foot{line-height:1.6}.btn.google{color:#312f23;background:#fff;text-decoration:none;box-shadow:inset 0 0 0 1px #e6dfc6}.seg{background:var(--surface-low);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.seg button{min-height:40px;color:var(--on-surface-variant);border-radius:999px;font-weight:600}.seg button.on{color:var(--primary);background:#fff;box-shadow:0 2px 8px #0000000f}.pw{position:relative}.pw .input{padding-right:52px}.pw-eye{border-radius:50%;width:40px;height:40px;font-size:1.1rem;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.link{color:var(--primary);text-underline-offset:3px;font-weight:700;text-decoration:underline}.link.right{align-self:flex-end;margin-top:-4px;font-size:.88rem}.auth-loading{place-items:center;min-height:100dvh;font-size:2.4rem;display:grid}.sync-pill{background:var(--surface-low);color:var(--on-surface-variant);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;display:inline-flex}.pet-svg{display:block;overflow:visible}.pet-svg *{transform-box:view-box}.pet-breathe{transform-origin:100px 182px;animation:3.2s ease-in-out infinite pet-breathe}.mood-sleep .pet-breathe{animation-duration:5s}.pet-svg.still .pet-breathe,.pet-svg.still .pet-root,.pet-svg.still .pet-sparkles path{animation:none!important}@keyframes pet-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025,.975)}}.pet-eyes.blink .eye{animation:4.6s infinite pet-blink}@keyframes pet-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}.pet-tail.anim{transform-origin:150px 160px;animation:1.6s ease-in-out infinite pet-wag}.mood-happy .pet-tail.anim,.mood-love .pet-tail.anim{animation-duration:.45s}.mood-sleep .pet-tail.anim{animation:none}@keyframes pet-wag{0%,to{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}.pet-ears.anim .ear-l{transform-origin:70px 80px;animation:7s ease-in-out infinite pet-ear}@keyframes pet-ear{0%,88%,to{transform:rotate(0)}91%{transform:rotate(-8deg)}94%{transform:rotate(3deg)}}.pet-wings{transform-origin:100px 120px;animation:2.4s ease-in-out infinite pet-flap}@keyframes pet-flap{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.05)}}.pet-root{transform-origin:100px 185px}.mood-happy .pet-root{animation:.55s ease-out 2 pet-hop}.mood-love .pet-root{animation:.9s ease-in-out infinite pet-wiggle}.mood-eat .pet-root{animation:.5s ease-in-out infinite pet-nom}.mood-surprised .pet-root{animation:.4s ease-out pet-jump}.mood-sad .pet-root{transform:scale(1.02,.96)}@keyframes pet-hop{0%{transform:translateY(0)scale(1)}20%{transform:translateY(0)scale(1.08,.9)}50%{transform:translateY(-18px)scale(.95,1.06)}80%{transform:translateY(0)scale(1.05,.95)}to{transform:translateY(0)scale(1)}}@keyframes pet-wiggle{0%,to{transform:rotate(0)scale(1.02,.98)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes pet-nom{0%,to{transform:scale(1)}50%{transform:scale(1.03,.96)}}@keyframes pet-jump{0%{transform:translateY(0)}40%{transform:translateY(-10px)scale(1.04)}to{transform:translateY(0)}}.pet-chew{transform-box:fill-box;transform-origin:50%;animation:.25s ease-in-out infinite alternate pet-chew}@keyframes pet-chew{0%{transform:scaleY(1)}to{transform:scaleY(.25)}}.pet-zzz text{opacity:0;animation:2.6s ease-in-out infinite pet-z}.pet-zzz .z2{animation-delay:.8s}.pet-zzz .z3{animation-delay:1.6s}@keyframes pet-z{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translate(8px,-14px)}}.pet-tear{animation:2s ease-in infinite pet-tear}@keyframes pet-tear{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}.pet-sparkles path{transform-box:fill-box;transform-origin:50%;animation:2.2s ease-in-out infinite pet-twinkle}.pet-sparkles .sp2{animation-delay:.7s}.pet-sparkles .sp3{animation-delay:1.2s}.pet-sparkles .sp4{animation-delay:1.7s}@keyframes pet-twinkle{0%,to{opacity:.3;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(45deg)}}.pet-aura{transform-origin:100px 120px;animation:3s ease-in-out infinite pet-aura}@keyframes pet-aura{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.pet-svg *,.pet-svg{animation-duration:0s!important;animation-iteration-count:1!important}}.form-chibi.mood-happy .arm-r .arm,.form-chibi.mood-love .arm-r .arm{transform-origin:74px 140px;animation:.5s ease-in-out infinite alternate pet-wave}@keyframes pet-wave{0%{transform:rotate(32deg)}to{transform:rotate(150deg)translateY(-4px)}}.form-chibi .pet-breathe{transform-origin:100px 190px}.pet-blush{transform-box:fill-box;transform-origin:50%;transition:opacity .2s}.mood-eat .pet-blush{animation:.5s ease-in-out infinite pet-puff}@keyframes pet-puff{0%,to{transform:scale(1)}50%{transform:scale(1.35,1.25)}}.mood-eat .pet-chew{animation-duration:.17s}.pet-gape{transform-box:fill-box;transform-origin:top;animation:.6s ease-in-out infinite alternate pet-gape}@keyframes pet-gape{0%{transform:scale(.85)}to{transform:scale(1.1)}}.mood-eager .pet-root{animation:.7s ease-in-out infinite pet-eager}@keyframes pet-eager{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(.98,1.03)}}.mood-full .pet-breathe{animation:2.4s ease-in-out infinite pet-full-breathe}@keyframes pet-full-breathe{0%,to{transform:scale(1.03,.98)}50%{transform:scale(1.08,.95)}}.mood-full .pet-blush{opacity:.9}.stage{border-radius:var(--r-lg);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.stage.bare{background:radial-gradient(circle at 50% 70%, #fff, var(--surface-low) 70%)}.scene-morning{background:linear-gradient(#ffe9d6 0%,#fff4e4 55%,#f6e3c8 55.2%,#f3ddbd 100%)}.scene-day{background:linear-gradient(#e6f4fb 0%,#fbf6e8 55%,#f3e6c8 55.2%,#efdcbc 100%)}.scene-evening{background:linear-gradient(#f7d9e6 0%,#f1e2f4 55%,#e9d5c9 55.2%,#e4cdbd 100%)}.scene-night{background:linear-gradient(#4b4a78 0%,#7a6fa3 55%,#c9b8c9 55.2%,#bba6b8 100%)}.stage-window{background:#ffffff8c;border-radius:18px;place-items:center;width:64px;height:64px;font-size:30px;display:grid;position:absolute;top:18px;left:18px;box-shadow:inset 0 0 0 4px #ffffffb3}.scene-night .stage-window{background:#1e1e4666}.stage-plant{font-size:34px;position:absolute;bottom:34%;right:16px;transform:translateY(50%)}.stage-rug{background:radial-gradient(#ffb1c18c,#ffb1c12e 70%,#0000 72%);border-radius:50%;width:72%;height:50px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.stage-pet{aspect-ratio:200/210;cursor:grab;touch-action:none;width:min(70%,250px);position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.stage-pet:active{cursor:grabbing}.stage-bubble{z-index:3;font-size:.9rem;position:absolute;top:14px;left:96px;right:14px}.stage.bare .stage-bubble{left:14px}.stage-food{font-size:30px;animation:1.6s ease-in forwards food-shrink;position:absolute;top:66%;left:50%;transform:translate(-50%,-50%)}@keyframes food-shrink{0%{transform:translate(-50%,-120px)scale(1.2)}25%{transform:translate(-50%,-50%)scale(1)}to{opacity:.2;transform:translate(-50%,-50%)scale(0)}}.stage-ball{z-index:4;font-size:30px;animation:1.6s ease-in-out forwards ball-bounce;position:absolute;top:30%;left:0}@keyframes ball-bounce{0%{transform:translate(-20px,60px)}25%{transform:translate(80px,-30px)rotate(180deg)}50%{transform:translate(180px,40px)rotate(360deg)}75%{transform:translate(260px,-20px)rotate(540deg)}to{opacity:0;transform:translate(160px,90px)scale(.3)rotate(720deg)}}.pet-actions{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.act{min-height:52px;font-family:var(--font-display);border-radius:999px;justify-content:center;align-items:center;gap:6px;font-size:.92rem;font-weight:700;transition:transform .15s;display:flex}.act:active{transform:scale(.94)}.act svg{width:20px;height:20px}.act.pink{background:var(--primary);color:#fff}.act.mint{background:var(--mint);color:#1f5a48}.act.lilac{background:var(--lilac);color:#4b2f7a}.pet-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:0 4px;display:flex}.mini-stats{gap:10px;display:flex}.mini-stat{flex-direction:column;gap:3px;width:64px;display:flex}.tray{margin-top:12px;padding:14px}.tray-items{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.tray-item{background:var(--surface-low);border-radius:18px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex;position:relative}.tray-item.fav{background:var(--pink-soft);box-shadow:inset 0 0 0 2px var(--pink)}.tray-item small{color:var(--primary);text-transform:uppercase;font-size:.55rem;font-weight:700;position:absolute;bottom:-2px}.drag-ghost{z-index:100;pointer-events:none;filter:drop-shadow(0 6px 8px #00000026);font-size:42px;position:fixed;transform:translate(-50%,-60%)}.egg-banner{border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-sm);background:linear-gradient(120deg,#fff1f5,#f2e9ff);align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px 10px 8px;animation:2.4s ease-in-out infinite banner-glow;display:flex}@keyframes banner-glow{0%,to{box-shadow:0 6px 20px #ff8fab2e}50%{box-shadow:0 6px 28px #b39cff66}}.egg-banner-egg{width:64px;height:64px;animation:2.2s ease-in-out infinite egg-idle}.egg-banner-go{background:var(--primary);color:#fff;font-family:var(--font-display);border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:700}.egg-sleepy{opacity:.85;filter:saturate(.7);width:64px;height:64px}.egg-idle{transform-origin:50% 90%;animation:2.2s ease-in-out infinite egg-idle}@keyframes egg-idle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.egg-wobble{transform-origin:50% 90%;animation:.45s ease-out egg-wobble}@keyframes egg-wobble{0%{transform:rotate(0)}20%{transform:rotate(-12deg)scale(1.03)}45%{transform:rotate(10deg)}70%{transform:rotate(-5deg)}to{transform:rotate(0)}}.egg-btn{padding:10px;position:relative}.egg-half-l{transform-origin:100px 120px;animation:.8s ease-in forwards half-l}.egg-half-r{transform-origin:100px 120px;animation:.8s ease-in forwards half-r}@keyframes half-l{to{opacity:0;transform:translate(-60px,-80px)rotate(-40deg)}}@keyframes half-r{to{opacity:0;transform:translate(40px,90px)rotate(30deg)}}.egg-flash{pointer-events:none;background:radial-gradient(circle,#fff 0%,#fff6c8cc 30%,#0000 70%);border-radius:50%;animation:.9s ease-out forwards flash;position:absolute;inset:-40px}@keyframes flash{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.6)}}.hatch-sparkles span{color:#ffc46b;pointer-events:none;font-size:18px;animation:2.4s ease-in-out infinite pet-twinkle;position:absolute}.meet-pet{animation:.7s cubic-bezier(.2,1.6,.4,1) meet-in}@keyframes meet-in{0%{opacity:0;transform:scale(.2)translateY(60px)}to{opacity:1;transform:none}}.rarity-pill{font-family:var(--font-display);letter-spacing:.04em;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:800;display:inline-block}.rarity-pill.r-common{background:var(--pink-soft);color:var(--primary)}.rarity-pill.r-rare{color:#5a43a3;background:linear-gradient(90deg,#e9e0ff,#dff5ff)}.rarity-pill.r-legendary{color:#8a5a00;background:linear-gradient(90deg,#fff1b8,#ffd6ea,#e1d6ff);box-shadow:0 0 18px #ffd36b99}.rtext-rare{color:#6c4ba8}.rtext-legendary{color:#b07800}.cycle-card .h-display{font-size:2.6rem}.chance{border-radius:999px;margin-top:8px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-block}.chance-low,.tag.chance-low{color:#2f7a63;background:#edf7f2}.chance-medium,.tag.chance-medium{color:#6c4ba8;background:#f3ecff}.chance-high,.tag.chance-high{color:#b13a62;background:#ffe3ec}.upcoming{text-align:left}.tag{border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-block}.t-period{background:var(--period);color:#fff}.t-predicted{color:var(--period);box-shadow:inset 0 0 0 2px var(--period);background:#fff}.t-ov{background:var(--ovulation);color:#fff}.t-fertile{background:var(--fertile-soft);color:var(--lilac-deep)}.t-pms{background:var(--butter);color:#7a5a10}.cal{padding:16px 12px}.month-pill{background:var(--surface-high);font-family:var(--font-display);color:var(--primary);letter-spacing:.04em;border-radius:999px;padding:8px 18px;font-weight:800}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px 2px;display:grid}.cal-head div{text-align:center;color:var(--muted);padding-bottom:6px;font-size:.72rem;font-weight:600}.cal-day{aspect-ratio:1;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;width:100%;max-width:48px;margin:0 auto;font-size:.98rem;font-weight:700;transition:transform .12s;display:flex;position:relative}.cal-day:active{transform:scale(.9)}.cal-day.out{opacity:.35}.cal-day.fertile{background:var(--fertile-soft);color:var(--lilac-deep)}.cal-day.ovulation{background:var(--ovulation);color:#fff}.cal-day.period{background:var(--period);color:#fff}.cal-day.predicted{box-shadow:inset 0 0 0 2px var(--period);color:var(--period);background:#fff5f8}.cal-day.today:after{content:"";border:2.5px solid var(--on-surface);border-radius:50%;position:absolute;inset:-3px}.cal-day.disabled{opacity:.25}.cal-day .ov-flower{color:var(--ovulation);background:#fff;border-radius:50%;place-items:center;width:15px;height:15px;font-size:.7rem;line-height:1;display:grid;position:absolute;top:-4px;right:-2px}.cal-day .dots{align-items:center;gap:2px;display:flex;position:absolute;bottom:1px}.cal-day .dots i{border-radius:50%;width:5px;height:5px;font-style:normal;display:block}.cal-day .d-sym{background:#d9708a}.cal-day .d-mood{background:#8a62e0}.cal-day .d-note{background:#c9a227}.cal-day .d-heart{color:#e0405f;font-size:8px;line-height:1;width:auto!important;height:auto!important}.cal-day.period .dots i:not(.d-heart),.cal-day.ovulation .dots i:not(.d-heart){background:#fff}.legend{color:var(--on-surface-variant);flex-wrap:wrap;justify-content:center;gap:12px;margin-top:14px;font-size:.78rem;display:flex}.legend i{vertical-align:-1px;border-radius:50%;width:12px;height:12px;margin-right:4px;display:inline-block}.lg-period{background:var(--period)}.lg-predicted{box-shadow:inset 0 0 0 2px var(--period)}.lg-fertile{background:var(--fertile-soft);box-shadow:inset 0 0 0 1px var(--fertile)}.lg-ov{background:var(--ovulation)}.pet-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.pet-card{background:var(--surface-card);border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow-sm);padding:12px 10px 14px;transition:transform .15s;position:relative}.pet-card:active{transform:scale(.97)}.pet-card.r-rare{background:linear-gradient(160deg,#fff,#f3eeff)}.pet-card.r-legendary{background:linear-gradient(160deg,#fffbea,#fff0f7 60%,#f2ecff);box-shadow:0 6px 24px #ffc46b4d}.pet-card-art{aspect-ratio:200/210;width:100%}.companion-badge{background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.06em;z-index:1;border-radius:999px;padding:3px 8px;font-size:.6rem;font-weight:700;position:absolute;top:10px;left:10px}.fav-badge{color:#e0405f;z-index:1;font-size:1.1rem;position:absolute;top:8px;right:12px}.activity{border-radius:var(--r-lg);text-align:left;align-items:center;gap:14px;padding:18px;transition:transform .15s;display:flex}.activity:active{transform:scale(.98)}.activity:disabled{opacity:.5}.activity-emoji{background:#ffffffb3;border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:26px;display:grid}.act-pink{background:var(--pink-soft)}.act-lilac{background:var(--lilac)}.act-mint{background:var(--mint)}.act-butter{background:#fff1c7}.act-card{background:var(--surface-card);box-shadow:var(--shadow-sm)}.breathe-ring{background:radial-gradient(circle,#fff 30%,#efe4ff 70%);border-radius:50%;place-items:center;width:250px;height:250px;margin:22px 0;transition-property:transform;transition-timing-function:ease-in-out;display:grid;box-shadow:0 0 0 14px #e1cbfe59,0 0 60px #b39cff66}.bubble-field{position:absolute;inset:0;overflow:hidden}.bubble-hud{top:calc(16px + var(--safe-t));z-index:2;gap:8px;display:flex;position:absolute;left:16px}.soap{touch-action:none;background:radial-gradient(circle at 30% 30%,#fffffff2,#e1cbfe59 40%,#b9eedb59 70%,#ffb1c180);border-radius:50%;place-items:center;font-size:22px;animation:linear forwards soap-rise;display:grid;position:absolute;bottom:-100px;box-shadow:inset 0 0 12px #fffc,0 4px 14px #b39cff33}@keyframes soap-rise{0%{transform:translateY(0)translate(0)}50%{transform:translateY(-55vh)translate(18px)}to{transform:translateY(-115vh)translate(-10px)}}.bubble-pet{bottom:calc(10px + var(--safe-b));pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.word-card{box-shadow:var(--shadow);background:#fff;border-radius:32px 32px 32px 10px;padding:26px 22px;animation:.4s cubic-bezier(.3,1.6,.5,1) bubble-pop}.doodle{border-radius:var(--r-lg);width:100%;height:min(60vh,440px);box-shadow:var(--shadow-sm);background:#fffdf6}.ink{outline-offset:2px;border-radius:50%;width:34px;height:34px}.hug-pet{margin:20px 0;transition:transform .4s;position:relative}.hug-pet.squeeze{transform:scale(1.06,.95)}.hug-hearts{font-size:30px;animation:1.2s ease-out infinite float-up;position:absolute;top:0;left:50%}.dot-period{background:var(--period);border-radius:50%;flex-shrink:0;width:10px;height:10px}.freq{grid-template-columns:120px 1fr 32px;align-items:center;gap:10px;display:grid}.freq-track{background:var(--surface-low);border-radius:5px;height:10px;overflow:hidden}.freq-track i{border-radius:0 4px 4px 0;height:100%;display:block}.onboard{gap:18px;width:100%;max-width:380px}.dots-progress{justify-content:center;gap:6px;display:flex}.dots-progress i{background:var(--surface-dim);border-radius:3px;width:10px;height:6px;transition:width .3s,background .3s}.dots-progress i.on{background:var(--primary);width:30px}.settings{align-self:stretch;width:100%;max-width:440px;margin:40px auto 0}.fullscreen:has(.settings){justify-content:flex-start}.card.soft .chip:not(.on){background:#fff}.pet-anim{transform-origin:50% 96%;will-change:transform;width:100%;height:100%}.stage-fx{pointer-events:none;z-index:4;position:absolute;inset:0}.fx{pointer-events:none;will-change:transform, opacity;line-height:1;position:absolute;top:0;left:0}.fx-emoji{font-size:22px}.fx-crumb{display:block}.fx-word{font-family:var(--font-display);color:var(--primary);white-space:nowrap;text-shadow:0 2px #fff,0 -2px #fff,2px 0 #fff,-2px 0 #fff,0 4px 10px #86495833;font-size:1.05rem;font-weight:800}.fx-ring{border:4px solid;border-radius:50%;display:block;box-shadow:0 0 18px #ff8fab80}.fx-fly-layer{pointer-events:none;z-index:95;position:fixed;inset:0;overflow:hidden}.fx-treat{filter:drop-shadow(0 6px 6px #5b3f482e);font-size:38px}.fx-ball{filter:drop-shadow(0 4px 4px #5b3f4833);font-size:30px}.fx-feather{transform-origin:80% 80%;font-size:34px}.fx-feather:after{content:"";transform-origin:top;background:linear-gradient(#c49466,#8a5a36);border-radius:2px;width:3px;height:140px;position:absolute;top:80%;left:80%;transform:rotate(-150deg)}.fx-hand{font-size:30px}.fx-soap{background:radial-gradient(circle at 30% 30%,#fffffff2,#e1cbfe59 40%,#b9eedb59 70%,#ffb1c18c);border-radius:50%;display:block;box-shadow:inset 0 0 10px #ffffffd9,0 3px 10px #b39cff40}.fx-disco{mix-blend-mode:overlay;pointer-events:none;background:conic-gradient(#ff8fab,#ffe08a,#7fd3c0,#8fc3ff,#b39cff,#ff8fab);border-radius:50%;width:900px;height:900px;display:block}.fx-discoball{pointer-events:none;font-size:34px;top:0}.fx-blanket{background:radial-gradient(circle at 20% 30%,#ffffff8c 0 6px,#0000 7px) 0 0/36px 36px,linear-gradient(#ffc2d4,#ffadc3);border:3px solid #f290ab;border-radius:48% 48% 18px 18px/40% 40% 18px 18px;display:block;box-shadow:inset 0 6px #ffffff73,inset 0 -10px #d9587a1f,0 6px 18px #8649582e}.drag-ghost{transition:transform .15s ease-out}.drag-ghost.over{transform:translate(-50%,-60%)scale(1.25)rotate(-8deg)}.play-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.play-item{background:var(--surface-low);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;transition:transform .15s,background .2s,opacity .2s;display:flex}.play-item:active{transform:scale(.93)}.play-item:disabled{opacity:.45}.play-item.on{background:var(--mint);box-shadow:inset 0 0 0 2px #7fd3c0}.play-item.on .play-emoji{animation:.5s ease-in-out infinite alternate play-bob}.play-emoji{font-size:26px;line-height:1}.play-label{font-family:var(--font-display);color:var(--on-surface-variant);font-size:.78rem;font-weight:700}@keyframes play-bob{0%{transform:translateY(0)rotate(-6deg)}to{transform:translateY(-4px)rotate(6deg)}}.hug .h1{transition:opacity .3s}.hug-sub{min-height:1.5em;transition:opacity .4s}.hug-area{--p:0;place-items:center;width:300px;height:300px;margin:34px 0 6px;display:grid;position:relative}.hug-glow{width:270px;height:270px;transform:translate(-50%, -50%) scale(calc(.75 + var(--p) * .3));opacity:calc(.25 + var(--p) * .75);filter:blur(4px);background:radial-gradient(circle,#ffd6a0f2 0%,#ffb1c1b3 40%,#e1cbfe40 65%,#0000 72%);border-radius:50%;transition:opacity .6s;position:absolute;top:50%;left:50%}.hug-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.hug-ring-track{fill:none;stroke:#ffb1c140;stroke-width:10px}.hug-ring-fill{fill:none;stroke-width:10px;stroke-linecap:round;filter:drop-shadow(0 0 6px #ff8fab99)}.hug-area.done .hug-ring-fill{animation:1.2s ease-out hug-ring-flash}@keyframes hug-ring-flash{0%{stroke-width:10px}30%{stroke-width:18px}to{stroke-width:10px}}.hug-bubble{z-index:3;text-align:center;width:max-content;max-width:280px;font-size:.92rem;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.hug-pet{z-index:2;outline-offset:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:50%;margin:0;position:relative}.hug-squish{transform-origin:50% 92%;transition:transform .7s cubic-bezier(.3,1.35,.5,1)}.hug-area.held .hug-squish{transform:scale(calc(1.08 + var(--p) * .05), calc(.9 - var(--p) * .04));transition-duration:.5s}.hug-breathe{transform-origin:50% 92%}.hug-area.held .hug-breathe{animation:8s ease-in-out infinite hug-breathe}@keyframes hug-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035,1.045)}}.hug-area.done .hug-squish{animation:.9s ease-out hug-joy}@keyframes hug-joy{0%{transform:scale(1.12,.86)}30%{transform:scale(.92,1.12)translateY(-16px)}60%{transform:scale(1.05,.95)}to{transform:scale(1)}}.hug-fx{pointer-events:none;z-index:4;position:absolute;inset:-40px}.hug-fx .fx-emoji{font-size:20px}.hug-bigheart{z-index:1;pointer-events:none;font-size:120px;animation:1.6s cubic-bezier(.2,.9,.3,1) forwards hug-heart;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes hug-heart{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}25%{opacity:.95;transform:translate(-50%,-50%)scale(1.5)}45%{opacity:.85;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-50%)scale(2.2)}}.hug-meter{align-items:center;gap:8px;display:flex}.hug-meter .bar i{background:linear-gradient(90deg,#ffb1c1,#c9a7ff);transition:width .2s linear}@media (prefers-reduced-motion:reduce){.pet-anim,.play-item.on .play-emoji,.hug-area.held .hug-breathe,.hug-area.done .hug-squish,.hug-bigheart{animation:none!important}.hug-squish,.hug-area.held .hug-squish{transition:none;transform:none}.hug-bigheart{opacity:0}}
