@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=light]{color-scheme:light;--km-bg: #FFFFFF;--km-surface: #F3F4F8;--km-hover: #E8EAF0;--km-ink: #0B1220;--km-mute: #5A6271;--km-line: #E2E5EC;--km-primary: #1D4FE0;--km-primary-hover: #163FB8;--km-primary-ink: #FFFFFF;--km-primary-soft: #E8EEFC;--km-accent: #FFD000;--km-accent-ink: #0B1220;--km-ok: #0F9D58;--km-warn: #E0640F;--km-danger: #D0342C;--km-danger-soft: #FDECEA;--km-danger-line: #F3C2BE;--km-danger-ink: #8A1C14;--km-over: #FF9A8B;--km-block-bg: #0B1220;--km-block-ink: #FFFFFF;--km-block-mute: rgba(255, 255, 255, .7);--km-block-accent: #FFD000;--km-block-track: rgba(255, 255, 255, .18);--km-active-bg: #0B1220;--km-active-mute: rgba(255, 255, 255, .75);--km-active-num: #FFD000;--km-btn2-bg: #0B1220;--km-btn2-ink: #FFFFFF;--km-btn2-hover: #1B2740;--km-control-off: #C9CFDA;--km-star: #CDD2DC;--km-star-on: #E0B400;--km-shadow: 0 8px 24px rgba(11, 18, 32, .12);--km-shadow-lg: 0 10px 30px rgba(11, 18, 32, .25);--km-r: 6px;--km-r-lg: 10px;--km-font-display: "Archivo Variable", "Archivo", "IBM Plex Sans", system-ui, sans-serif;--km-font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--km-h1-case: uppercase}:root[data-theme=a]{color-scheme:light;--km-bg: #F1F2EC;--km-surface: #FFFFFF;--km-hover: #E4E7DE;--km-ink: #121B14;--km-mute: #5B665D;--km-line: #DDE1D8;--km-primary: #1B8A3C;--km-primary-hover: #166F31;--km-primary-ink: #FFFFFF;--km-primary-soft: #DDEFE2;--km-accent: #E8452B;--km-accent-ink: #FFFFFF;--km-ok: #1B8A3C;--km-warn: #D98A00;--km-danger: #C8321F;--km-danger-soft: #FDECE8;--km-danger-line: #F3C1B8;--km-danger-ink: #8A1E10;--km-over: #FFD6A0;--km-block-bg: #1B8A3C;--km-block-ink: #FFFFFF;--km-block-mute: rgba(255, 255, 255, .8);--km-block-accent: #FFFFFF;--km-block-track: rgba(255, 255, 255, .25);--km-active-bg: #1B8A3C;--km-active-mute: rgba(255, 255, 255, .75);--km-active-num: #FFFFFF;--km-btn2-bg: #1B8A3C;--km-btn2-ink: #FFFFFF;--km-btn2-hover: #15702F;--km-control-off: #C5CBC1;--km-star: #C5CBC1;--km-star-on: #D98A00;--km-shadow: 0 8px 24px rgba(18, 27, 20, .12);--km-shadow-lg: 0 10px 30px rgba(18, 27, 20, .25);--km-r: 9px;--km-r-lg: 12px;--km-font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", "DM Sans Variable", system-ui, sans-serif;--km-font-body: "DM Sans Variable", "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--km-h1-case: none}:root[data-theme=dark]{color-scheme:dark;--km-bg: #15130F;--km-surface: #201D17;--km-hover: #2A2620;--km-ink: #F6F1E8;--km-mute: #A39B8D;--km-line: #322D25;--km-primary: #FF6A1A;--km-primary-hover: #FF7F3A;--km-primary-ink: #1A1006;--km-primary-soft: #3A2415;--km-accent: #FF6A1A;--km-accent-ink: #1A1006;--km-ok: #3DDC97;--km-warn: #FFC24B;--km-danger: #FF6B5E;--km-danger-soft: #3A1F1C;--km-danger-line: #7A2E27;--km-danger-ink: #FFB4AA;--km-over: #FF9A8B;--km-block-bg: #201D17;--km-block-ink: #F6F1E8;--km-block-mute: #A39B8D;--km-block-accent: #FF6A1A;--km-block-track: #322D25;--km-active-bg: #FF6A1A;--km-active-mute: rgba(26, 16, 6, .7);--km-active-num: #1A1006;--km-btn2-bg: #2A2620;--km-btn2-ink: #F6F1E8;--km-btn2-hover: #363028;--km-control-off: #4A4338;--km-star: #4A4338;--km-star-on: #FFC24B;--km-shadow: 0 8px 24px rgba(0, 0, 0, .45);--km-shadow-lg: 0 10px 30px rgba(0, 0, 0, .6);--km-r: 10px;--km-r-lg: 14px;--km-font-display: "Sora Variable", "Sora", "Manrope Variable", system-ui, sans-serif;--km-font-body: "Manrope Variable", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--km-h1-case: none}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:var(--km-font-body, system-ui, sans-serif);line-height:1.5;font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100dvh;background:var(--km-bg);color:var(--km-ink);-webkit-overflow-scrolling:touch}#root{min-height:100dvh}.home-premium{font-family:var(--km-font-body);color:var(--km-ink);background:var(--km-bg)}.home-premium svg{flex-shrink:0}.content-area{max-width:640px;margin:0 auto;padding:8px 14px 24px}.landing-page .content-area{max-width:760px}.landing-section-title{margin:0 0 12px;font-family:var(--km-font-display);font-weight:900;font-size:18px;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase}.landing-hero{padding:16px 0 24px}.landing-hero-title{margin:0 0 10px;font-family:var(--km-font-display);font-weight:900;font-size:clamp(30px,7vw,46px);line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance}.landing-hero-subtitle{margin:0 0 16px;font-size:15px;line-height:1.5;color:var(--km-mute);max-width:60ch}.landing-cta-group{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.landing-cta-primary,.landing-cta-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 18px;border-radius:var(--km-r);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.landing-cta-primary{border:0;background:var(--km-primary);color:var(--km-primary-ink)}.landing-cta-primary:hover{background:var(--km-primary-hover)}.landing-cta-secondary{border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink)}.landing-cta-secondary:hover{background:var(--km-surface)}.landing-cta-group .landing-cta-primary{flex:1 1 220px}.landing-cta-group .landing-cta-secondary{flex:1 1 180px}.lp-mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lp-mini-card{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-bg);color:var(--km-block-ink);min-width:0}.lp-mini-label{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-mini-val{font-family:var(--km-font-display);font-weight:900;font-size:18px;line-height:1.1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.lp-mini-sub{font-size:11px;color:var(--km-block-mute)}.lp-mini-bar{height:4px;border-radius:2px;background:var(--km-block-track);overflow:hidden;margin-top:4px}.lp-mini-bar-fill{height:100%;background:var(--km-block-accent);border-radius:2px}.landing-features-section,.landing-why-section,.landing-faq-section,.lp-trust,.lp-pricing,.lp-free-tools,.seo-content-block{padding:18px 0;border-top:1px solid var(--km-line)}.seo-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.seo-feature-card{display:flex;gap:10px;align-items:flex-start}.sfc-icon,.landing-why-icon,.lp-trust-icon,.lp-tool-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary);flex-shrink:0}.seo-feature-title,.landing-why-title{margin:0 0 2px;font-size:14px;font-weight:700}.seo-feature-text,.landing-why-text{margin:0;font-size:12.5px;line-height:1.45;color:var(--km-mute)}.landing-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.landing-why-card{display:flex;flex-direction:column;gap:6px}.lp-trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px}.lp-trust-item{display:flex;gap:10px;align-items:flex-start}.lp-trust-icon{width:28px;height:28px}.lp-trust-title{margin:0;font-size:13.5px;font-weight:700}.lp-trust-text{margin:1px 0 0;font-size:12.5px;color:var(--km-mute)}.lp-faq-list{display:flex;flex-direction:column}.landing-faq-item{border-bottom:1px solid var(--km-line)}.landing-faq-q{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:8px 0;border:0;background:none;color:var(--km-ink);font:600 14px var(--km-font-body);text-align:left;cursor:pointer}.landing-faq-toggle{display:inline-flex;color:var(--km-mute)}.landing-faq-a{margin:0 0 12px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.lp-pricing-sub{margin:-4px 0 12px;font-size:13px;color:var(--km-mute)}.lp-pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.lp-price-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg)}.lp-price-card-featured{background:var(--km-block-bg);color:var(--km-block-ink);border-color:var(--km-block-bg)}.lp-price-badge{position:absolute;top:10px;right:10px;height:22px;padding:0 8px;display:inline-flex;align-items:center;border-radius:999px;background:var(--km-accent);color:var(--km-accent-ink);font-size:11px;font-weight:800}.lp-price-name{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--km-mute)}.lp-price-card-featured .lp-price-name{color:var(--km-block-mute)}.lp-price-amount{font-family:var(--km-font-display);font-weight:900;font-size:30px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.lp-price-card-featured .lp-price-amount{color:var(--km-block-accent)}.lp-price-period{font-family:var(--km-font-body);font-weight:500;font-size:13px;letter-spacing:0;margin-left:3px;color:var(--km-mute)}.lp-price-card-featured .lp-price-period{color:var(--km-block-mute)}.lp-price-note{margin:2px 0 8px;font-size:12.5px;color:var(--km-mute);min-height:1.4em}.lp-price-card-featured .lp-price-note{color:var(--km-block-mute)}.lp-price-btn{width:100%;margin-top:auto}.lp-price-card-featured .landing-cta-primary{background:var(--km-accent);color:var(--km-accent-ink)}.lp-price-includes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px}.lp-price-includes li{display:flex;align-items:center;gap:6px}.lp-price-includes svg{color:var(--km-ok)}.lp-price-scan-note{margin:12px 0 0}.lp-price-scan-note a{color:var(--km-primary);font-weight:600}.lp-plan-cta{margin:18px 0 0;padding:18px 16px;border-radius:var(--km-r-lg);background:var(--km-surface);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.lp-plan-cta-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:18px;text-transform:uppercase;letter-spacing:-.01em}.lp-plan-cta-sub{margin:0 0 6px;font-size:13.5px;color:var(--km-mute)}.lp-free-tools-sub{margin:-4px 0 12px;font-size:13px;color:var(--km-mute)}.lp-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lp-tool-card{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);text-decoration:none;color:var(--km-ink)}.lp-tool-card:hover{border-color:var(--km-mute)}.lp-tool-body{display:flex;flex-direction:column;gap:3px;min-width:0}.lp-tool-title{margin:0;font-size:14px;font-weight:700}.lp-tool-desc{margin:0;font-size:12.5px;line-height:1.4;color:var(--km-mute)}.lp-tool-cta{display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-size:12.5px;font-weight:700;color:var(--km-primary)}.lp-tools-more{margin-top:12px}.lp-explore-tools-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);color:var(--km-ink);font:700 13px var(--km-font-body);text-decoration:none}.lp-explore-tools-btn:hover{background:var(--km-surface)}.seo-content-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.seo-content-text{margin:0;font-size:13px;line-height:1.5;color:var(--km-mute)}.home-head{margin-bottom:10px}.home-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.home-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute)}.home-kpi{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.home-kpi__cell{background:var(--km-block-bg);color:var(--km-block-ink);border-radius:var(--km-r);padding:10px 12px}.home-kpi__num{font-family:var(--km-font-display);font-weight:900;font-size:26px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.home-kpi__num small{font-family:var(--km-font-body);font-weight:600;font-size:12px;letter-spacing:0;margin-left:4px;color:var(--km-block-mute)}.home-kpi__row{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--km-block-mute);margin:4px 0 6px;font-variant-numeric:tabular-nums}.home-kpi__row em{font-style:normal;font-weight:700;color:var(--km-block-accent)}.home-kpi__row em.over{color:var(--km-over)}.home-kpi__track{height:5px;border-radius:3px;background:var(--km-block-track);overflow:hidden}.home-kpi__track i{display:block;height:100%;background:var(--km-block-accent);border-radius:3px}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.dashboard-shortcut-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;padding:8px 4px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);font:600 12px var(--km-font-body);text-align:center;cursor:pointer}.dashboard-shortcut-btn:hover{background:var(--km-surface)}.dashboard-shortcut-btn svg{color:var(--km-primary)}.wellness-dashboard{padding-top:12px;border-top:1px solid var(--km-line)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.dashboard-header h2{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.profile-complete-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;background:var(--km-surface);color:var(--km-ok);font-size:11px;font-weight:700}.profile-setup-hint{margin:0 0 8px;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);font-size:13px;color:var(--km-mute)}.profile-data-rows{display:flex;flex-direction:column;margin-bottom:10px}.profile-data-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px dashed var(--km-line);font-size:13.5px}.profile-data-label{color:var(--km-mute)}.profile-data-value{font-family:var(--km-font-display);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.profile-data-row--highlight .profile-data-value{color:var(--km-primary)}.profile-weight-editor{margin-bottom:10px}.profile-weight-editor-label{margin:0 0 5px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.profile-weight-row{display:flex;align-items:stretch;gap:6px}.profile-weight-input{flex:1;min-width:0;height:42px;padding:0 10px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font-family:var(--km-font-display);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.profile-weight-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.profile-weight-unit{display:inline-flex;align-items:center;padding:0 4px;font-size:12px;font-weight:700;color:var(--km-mute)}.profile-weight-btn{min-width:84px;padding:0 14px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13.5px var(--km-font-body);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.profile-weight-btn:disabled{opacity:.55;cursor:not-allowed}.profile-weight-btn.saved{background:var(--km-ok);color:#fff}.profile-cta-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13px var(--km-font-body);cursor:pointer}.profile-cta-btn:hover{background:var(--km-surface)}@media(max-width:560px){.seo-features-grid,.lp-trust-grid,.lp-tools-grid,.lp-price-includes{grid-template-columns:1fr}.landing-why-grid{grid-template-columns:1fr;gap:10px}.landing-why-card{flex-direction:row;gap:10px}.landing-why-card .landing-why-title{margin:0}.lp-mini-cards{grid-template-columns:1fr 1fr}.lp-mini-cards .lp-mini-card:last-child{grid-column:1 / -1}}@media(max-width:400px){.lp-pricing-grid{grid-template-columns:1fr}}.outcome-card{background:var(--km-surface, #F3F4F8);color:var(--km-ink, #0B1220);border-radius:var(--km-r-lg, 10px);padding:10px 12px;margin:0 0 10px;font-family:var(--km-font-body, system-ui, sans-serif)}.outcome-card:focus-visible{outline:2px solid var(--km-primary, #1D4FE0);outline-offset:2px}.outcome-card--empty{border:1px dashed var(--km-line, #E2E5EC);background:transparent}.outcome-card__header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-bottom:6px}.outcome-card__title{font-family:var(--km-font-display, system-ui, sans-serif);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--km-mute, #5A6271)}.outcome-card__sub{font-size:11px;color:var(--km-mute, #5A6271);font-variant-numeric:tabular-nums}.outcome-card__empty-msg{font-size:13px;color:var(--km-mute, #5A6271)}.outcome-card__primary{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:8px}.outcome-card__cal{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.outcome-card__cal-num{font-family:var(--km-font-display, system-ui, sans-serif);font-weight:900;font-size:24px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.outcome-card__cal-unit{font-size:12px;color:var(--km-mute, #5A6271)}.outcome-card__adj{font-size:11px;color:var(--km-mute, #5A6271)}.outcome-card__proj{display:flex;align-items:baseline;gap:6px;padding:4px 8px;border-radius:var(--km-r, 6px);background:var(--km-bg, #fff);border:1px solid var(--km-line, #E2E5EC)}.outcome-card__proj-label{font-size:11px;color:var(--km-mute, #5A6271)}.outcome-card__proj-num{font-family:var(--km-font-display, system-ui, sans-serif);font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}.outcome-card__proj--loss .outcome-card__proj-num{color:var(--km-ok, #0F9D58)}.outcome-card__proj--gain .outcome-card__proj-num{color:var(--km-primary, #1D4FE0)}.outcome-card__macros{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.outcome-card__macro{display:flex;flex-direction:column;gap:1px;padding:5px 8px;border-radius:var(--km-r, 6px);background:var(--km-bg, #fff);border:1px solid var(--km-line, #E2E5EC);line-height:1.15}.outcome-card__macro-label{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute, #5A6271)}.outcome-card__macro-num{font-family:var(--km-font-display, system-ui, sans-serif);font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}.outcome-card__macro-kcal{font-size:10.5px;color:var(--km-mute, #5A6271);font-variant-numeric:tabular-nums}.outcome-card__notes{display:flex;flex-direction:column;gap:3px;margin-top:6px}.outcome-card__note{font-size:11px;color:var(--km-warn, #E0640F)}.outcome-card__disclaimer{font-size:10.5px;color:var(--km-mute, #5A6271);margin-top:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.shopping-ready-card{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1.5px solid #6ee7b7;border-radius:12px;animation:slide-in-card .35s ease}@keyframes slide-in-card{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.shopping-ready-icon{font-size:28px;flex-shrink:0}.shopping-ready-body{flex:1}.shopping-ready-body strong{display:block;font-size:14px;font-weight:700;color:#065f46;margin-bottom:2px}.shopping-ready-body p{margin:0;font-size:12px;color:#047857}.shopping-ready-link{padding:8px 14px;background:#059669;color:#fff;border-radius:20px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .2s}.shopping-ready-link:hover{background:#047857}.nwr-panel{margin-top:16px;background:linear-gradient(135deg,var(--km-primary-soft) 0%,var(--km-primary-soft) 100%);border:1.5px solid rgba(29,79,224,.25);border-radius:16px;overflow:hidden;animation:slide-in-card .35s ease}.nwr-header{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 12px;border-bottom:1px solid rgba(29,79,224,.12)}.nwr-header-check{font-size:20px;flex-shrink:0;line-height:1.3}.nwr-header-text{flex:1}.nwr-header-text strong{display:block;font-size:14px;font-weight:700;color:var(--km-primary);margin-bottom:2px}.nwr-header-text p{margin:0;font-size:12px;color:var(--km-primary);line-height:1.4}.nwr-dismiss{background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;transition:color .15s}.nwr-dismiss:hover{color:var(--km-primary)}.nwr-days{display:flex;flex-direction:column;gap:0}.nwr-day{background:#fff;border-bottom:1px solid rgba(29,79,224,.1);transition:background .15s}.nwr-day:last-child{border-bottom:none}.nwr-day--open{background:var(--km-primary-soft)}.nwr-day-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px}.nwr-day-info{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;flex:1;min-width:0}.nwr-toggle-btn{background:none;border:1px solid rgba(29,79,224,.35);color:var(--km-primary);border-radius:8px;font-size:11px;font-weight:600;padding:4px 9px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s}.nwr-toggle-btn:hover{background:#1d4fe014}.nwr-meal-list{list-style:none;margin:0;padding:0 14px 10px;display:flex;flex-direction:column;gap:6px;animation:slide-in-card .2s ease}.nwr-meal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#1d4fe00a;border:1px solid rgba(29,79,224,.1);border-radius:10px;padding:9px 12px}.nwr-meal-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.nwr-meal-num{font-size:10px;font-weight:700;color:var(--km-ink);text-transform:uppercase;letter-spacing:.04em}.nwr-meal-name{font-size:13px;font-weight:600;color:var(--km-ink);line-height:1.3}.nwr-meal-macros{font-size:11px;color:var(--km-primary);margin-top:1px}.nwr-recipe-btn{flex-shrink:0;background:none;border:1.5px solid rgba(29,79,224,.4);color:var(--km-primary);border-radius:8px;font-size:11px;font-weight:700;padding:5px 10px;cursor:pointer;transition:background .15s,color .15s}.nwr-recipe-btn:hover{background:var(--km-primary);color:#fff}.nwr-day-label{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:4px}.nwr-day-label>div{display:flex;align-items:baseline;gap:5px}.nwr-view-btn{background:none;border:1px solid rgba(29,79,224,.35);color:var(--km-primary);border-radius:8px;font-size:11px;font-weight:600;padding:2px 8px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.nwr-view-btn:hover{background:#1d4fe01a;border-color:var(--km-primary)}.nwr-day-macros{font-size:11px;color:var(--km-primary);font-weight:500;margin-bottom:5px;opacity:.85}.nwr-day-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--km-primary)}.nwr-day-date{font-size:11px;color:#94a3b8;font-weight:500}.nwr-meals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.nwr-meal-item{font-size:12px;color:#1e293b;line-height:1.3;padding:3px 6px;background:#1d4fe00f;border-radius:6px;border-left:2px solid rgba(29,79,224,.3)}.nwr-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid rgba(29,79,224,.12);flex-wrap:wrap}.nwr-footer-hint{margin:0;font-size:12px;color:var(--km-primary);flex:1;min-width:180px}.nwr-shop-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;background:var(--km-primary);color:#fff;border-radius:22px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;box-shadow:0 3px 12px #1d4fe059;transition:all .2s ease}.nwr-shop-btn:hover{background:linear-gradient(135deg,var(--km-primary) 0%,var(--km-primary) 100%);box-shadow:0 5px 16px #1d4fe073;transform:translateY(-1px)}.nwr-recipe-overlay{position:fixed;inset:0;background:#00000073;z-index:2000;display:flex;align-items:flex-end;justify-content:center;padding:16px;animation:fade-in .18s ease}@media(min-width:480px){.nwr-recipe-overlay{align-items:center}}.nwr-recipe-modal{background:#fff;border-radius:20px 20px 16px 16px;width:100%;max-width:480px;max-height:82vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slide-up .22s ease}@media(min-width:480px){.nwr-recipe-modal{border-radius:20px;max-height:78vh}}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.nwr-recipe-header{display:flex;align-items:flex-start;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--km-primary-soft);position:sticky;top:0;background:#fff;z-index:1}.nwr-recipe-title{flex:1;font-size:15px;font-weight:700;color:var(--km-ink);margin:0;line-height:1.35}.nwr-recipe-close{background:#f3f4f6;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#6b7280;cursor:pointer;flex-shrink:0;transition:background .15s}.nwr-recipe-close:hover{background:#e5e7eb;color:#111}.nwr-recipe-times{display:flex;gap:14px;padding:10px 18px;font-size:12px;color:var(--km-primary);font-weight:600;background:var(--km-primary-soft);border-bottom:1px solid var(--km-primary-soft)}.nwr-recipe-section{padding:14px 18px 0}.nwr-recipe-section:last-child{padding-bottom:20px}.nwr-recipe-section-title{font-size:12px;font-weight:700;color:var(--km-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}.nwr-recipe-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.nwr-recipe-list li{font-size:13px;color:#374151;line-height:1.45}.nwr-recipe-list--steps{counter-reset:step-counter;padding-left:0;list-style:none}.nwr-recipe-list--steps li{display:grid;grid-template-columns:22px 1fr;gap:6px;align-items:flex-start;counter-increment:step-counter}.nwr-recipe-list--steps li:before{content:counter(step-counter);font-size:11px;font-weight:700;color:#fff;background:var(--km-primary);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}@keyframes pulse-status{0%,to{opacity:.6}50%{opacity:1}}@keyframes infoTipIn{0%{opacity:0;transform:translate(-50%) translateY(-6px) scale(.94)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes infoTipInRight{0%{opacity:0;transform:translateY(-6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes eatCheckBounce{0%{transform:scale(1)}30%{transform:scale(1.3)}58%{transform:scale(.86)}78%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes eatBadgePop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes undoToastSlideUp{0%{opacity:0;transform:translate(-50%) translateY(18px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.favorites-panel{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 15px #0000001a;margin-bottom:20px;border:2px solid var(--km-primary)}.favorites-panel h3{margin:0 0 16px;color:#333;font-size:18px}.no-favorites{color:#888;font-style:italic;margin:0}.favorites-list{display:flex;flex-direction:column;gap:10px}.favorite-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8f9fa;border-radius:8px;gap:12px}.favorite-info{display:flex;flex-direction:column;gap:2px}.favorite-name{font-weight:600;color:#333}.favorite-details{font-size:13px;color:#666}.favorite-actions{display:flex;align-items:center;gap:8px}.favorite-actions select{padding:6px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px;cursor:pointer}.remove-fav-btn{width:24px;height:24px;border:none;background:#ff4757;color:#fff;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.remove-fav-btn:hover{background:#ee2f3a}@keyframes heartPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@media(max-width:768px){.favorites-panel{padding:16px}.favorite-item{flex-direction:column;align-items:flex-start;gap:10px}.favorite-actions{width:100%;justify-content:space-between}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer-sweep{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-pop{0%{transform:translateY(8px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-8px);opacity:1}}@keyframes phase-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes success-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes progress-indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-35%}to{left:100%;right:-35%}}.week-overlay-backdrop{position:fixed;inset:0;background:#1412288c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:overlay-fade-in .22s ease-out}.week-overlay-card{background:var(--km-surface);border-radius:22px;padding:34px 28px 28px;width:100%;max-width:420px;box-shadow:0 24px 60px -16px #5632af73;text-align:center;animation:overlay-pop .32s cubic-bezier(.2,.85,.3,1.05)}.week-overlay-spinner{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;border:5px solid var(--km-primary-soft);border-top-color:var(--km-primary);border-right-color:var(--km-primary-soft);animation:spinner-rotate .9s linear infinite}.week-overlay-title{font-size:18px;font-weight:700;color:#2a1d5e;margin:0 0 6px;letter-spacing:.2px}.week-overlay-phase{font-size:15px;color:#5a4b8a;margin:0 0 18px;min-height:22px;animation:phase-fade .32s ease-out}.week-overlay-progress{position:relative;height:6px;width:100%;background:var(--km-primary-soft);border-radius:999px;overflow:hidden;margin-bottom:16px}.week-overlay-progress:after{content:"";position:absolute;top:0;bottom:0;background:linear-gradient(90deg,var(--km-primary),var(--km-primary-soft),var(--km-primary));border-radius:999px;animation:progress-indeterminate 1.6s cubic-bezier(.4,0,.2,1) infinite}.week-overlay-dots{display:flex;gap:10px;justify-content:center;margin-bottom:6px}.week-overlay-dots span{width:8px;height:8px;border-radius:50%;background:var(--km-primary);animation:dot-bounce 1.2s infinite ease-in-out}.week-overlay-dots span:nth-child(2){animation-delay:.15s}.week-overlay-dots span:nth-child(3){animation-delay:.3s}.week-overlay-hint{font-size:12px;color:#8b7eb5;margin-top:14px}.shimmer-placeholder{border-radius:inherit}@keyframes no-slots-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.profile-incomplete-banner{display:flex;flex-direction:column;align-items:stretch;gap:12px;background:linear-gradient(135deg,#fef3f2,#ffe8e6);border:1.5px solid #f87171;color:#7f1d1d;padding:16px 18px 18px;border-radius:14px;margin:12px 0 14px;box-shadow:0 4px 16px #ef444426;animation:no-slots-fade-in .18s ease-out}.profile-incomplete-banner .profile-incomplete-icon{font-size:1.3rem}.profile-incomplete-banner .profile-incomplete-msg{font-size:.98rem;font-weight:600;line-height:1.45}.profile-incomplete-cta{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:12px 20px;border-radius:11px;font-weight:700;font-size:.97rem;cursor:pointer;width:100%;box-shadow:0 4px 14px #ef444459;transition:transform .15s ease,box-shadow .15s ease;letter-spacing:.2px}.profile-incomplete-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px #ef444473}@keyframes toggle-pulse{0%,to{box-shadow:0 0 #f5b84a99}50%{box-shadow:0 0 0 6px #f5b84a00}}@keyframes reactive-pill-fade-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes reactive-spin{to{transform:rotate(360deg)}}@keyframes gen-ai-breathe{0%,to{transform:scale(1);box-shadow:0 0 #7c4dff59}50%{transform:scale(1.08);box-shadow:0 0 0 14px #7c4dff00}}@keyframes gen-progress-fill{0%{opacity:.6}to{opacity:1}}@keyframes gen-skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes gen-msg-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes gen-counter-in{0%{opacity:0}to{opacity:1}}@keyframes meal-card-fade-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.gen-overlay-backdrop{position:fixed;inset:0;background:#14122899;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:overlay-fade-in .22s ease-out}.gen-overlay-card{background:var(--km-surface);border-radius:24px;padding:32px 26px 26px;width:100%;max-width:400px;box-shadow:0 28px 70px -18px #5028b46b;text-align:center;animation:overlay-pop .34s cubic-bezier(.2,.85,.3,1.05)}.gen-ai-pulse-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:18px}.gen-ai-pulse-ring{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--km-primary) 0%,var(--km-primary-soft) 100%);display:flex;align-items:center;justify-content:center;animation:gen-ai-breathe 2s ease-in-out infinite;box-shadow:0 6px 24px #7c4dff61}.gen-ai-icon{font-size:30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}.gen-overlay-title{font-size:18px;font-weight:700;color:#22135c;margin:0 0 6px}.gen-overlay-msg{font-size:14px;color:#5a4b8a;margin:0 0 18px;min-height:22px;animation:gen-msg-in .35s ease-out}.gen-progress-track{position:relative;height:8px;background:var(--km-primary-soft);border-radius:999px;overflow:hidden;margin-bottom:8px}.gen-progress-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--km-primary),var(--km-primary-soft));border-radius:999px;min-width:5%;transition:width .6s cubic-bezier(.25,1,.5,1);animation:gen-progress-fill .3s ease-out}.gen-progress-pct{display:block;font-size:11px;font-weight:600;color:var(--km-primary);margin-bottom:10px;letter-spacing:.2px}.gen-overlay-counter{font-size:12.5px;color:#6b5fa0;margin:0 0 18px;animation:gen-counter-in .3s ease-out}.gen-skeleton-cards{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.gen-skeleton-card{display:flex;align-items:center;gap:10px;background:#ffffffb3;border-radius:12px;padding:10px 12px;border:1px solid #e8e2ff;animation:gen-skeleton-pulse 1.6s ease-in-out infinite}.gen-skeleton-card:nth-child(2){animation-delay:.25s}.gen-skeleton-card:nth-child(3){animation-delay:.5s}.gen-skeleton-img{flex-shrink:0;width:44px;height:44px;border-radius:10px;background:linear-gradient(110deg,#eef0f5 8%,#f7f8fb 18%,#eef0f5 33%);background-size:200% 100%;animation:shimmer-sweep 1.6s linear infinite}.gen-skeleton-body{flex:1;display:flex;flex-direction:column;gap:6px}.gen-skeleton-line{height:10px;border-radius:999px;background:linear-gradient(110deg,#eef0f5 8%,#f7f8fb 18%,#eef0f5 33%);background-size:200% 100%;animation:shimmer-sweep 1.6s linear infinite}.gen-skeleton-line--long{width:75%}.gen-skeleton-line--short{width:45%}.gen-overlay-hint{font-size:11.5px;color:var(--km-primary);margin:0;line-height:1.5}.recipe-picker-overlay{position:fixed;inset:0;background:#00000085;z-index:1200;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(3px);animation:overlay-fade-in .18s ease both}@media(min-width:500px){.recipe-picker-overlay{align-items:center}}.recipe-picker-modal{background:var(--km-bg);border-radius:24px 24px 0 0;width:100%;max-width:480px;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 -8px 40px #0000002e;animation:overlay-pop .22s cubic-bezier(.34,1.56,.64,1) both;overflow:hidden}@media(min-width:500px){.recipe-picker-modal{border-radius:20px;max-height:78vh}}.recipe-picker-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--km-line);flex-shrink:0;gap:12px}.rp-header-text{display:flex;flex-direction:column;gap:2px}.recipe-picker-title{font-size:1rem;font-weight:800;color:var(--km-primary));margin:0}.rp-subtitle{font-size:.78rem;color:#64748b;margin:0;font-weight:400}.recipe-picker-close{background:#f1f5f9;border:none;border-radius:50%;width:30px;height:30px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:background .15s}.recipe-picker-close:hover{background:#e2e8f0}.recipe-picker-search-wrap{position:relative;padding:10px 16px 8px;flex-shrink:0;border-bottom:none}.recipe-picker-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);font-size:.85rem;pointer-events:none}.recipe-picker-search{width:100%;padding:9px 14px 9px 34px;border:1.5px solid #e2e8f0;border-radius:12px;font-size:.9rem;background:#f8fafc;color:var(--km-ink);outline:none;box-sizing:border-box;transition:border-color .2s}.recipe-picker-search:focus{border-color:var(--km-primary));background:#fff}.rp-search-clear{position:absolute;right:26px;top:50%;transform:translateY(-50%);background:none;border:none;color:#94a3b8;font-size:.8rem;cursor:pointer;padding:4px;line-height:1;border-radius:50%;transition:color .12s}.rp-search-clear:hover{color:#475569}.rp-tabs{display:flex;gap:6px;padding:6px 16px 10px;overflow-x:auto;flex-shrink:0;scrollbar-width:none;border-bottom:1px solid var(--km-line)}.rp-tabs::-webkit-scrollbar{display:none}.rp-tab{flex-shrink:0;padding:5px 14px;border:1.5px solid #e2e8f0;border-radius:20px;background:transparent;color:#64748b;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.rp-tab:hover{border-color:var(--km-primary));color:var(--km-primary))}.rp-tab.active{background:var(--km-primary));border-color:var(--km-primary));color:#fff}.rp-section-header{padding:10px 16px 6px;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:#94a3b8;text-transform:uppercase;background:#f8fafc;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;margin-top:4px}.rp-section-header:first-child{margin-top:0;border-top:none}.recipe-picker-list{flex:1;overflow-y:auto;padding:8px 0 16px}.recipe-picker-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 16px;background:none;border:none;cursor:pointer;text-align:left;transition:background .13s;border-bottom:1px solid #f1f5f9}.recipe-picker-item:last-child{border-bottom:none}.recipe-picker-item:hover{background:var(--km-primary-soft)}.recipe-picker-item:active{background:#f0e9ff}.rp-item-image{flex-shrink:0;width:52px;height:52px;border-radius:12px;overflow:hidden;background:var(--km-surface));display:flex;align-items:center;justify-content:center;font-size:1.6rem}.rp-item-image img{width:100%;height:100%;object-fit:cover}.rp-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rp-item-name{font-size:.92rem;font-weight:700;color:var(--km-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-item-type{font-size:.73rem;color:var(--km-primary));font-weight:600}.rp-item-macros{display:flex;gap:8px;margin-top:3px}.rp-macro{font-size:.72rem;color:#64748b;font-weight:500}.rp-macro--kcal{color:var(--km-primary)}.rp-macro--protein{color:#2563eb}.rp-item-arrow{color:#cbd5e1;font-size:1rem;flex-shrink:0}.recipe-picker-item:hover .rp-item-arrow{color:var(--km-primary))}.recipe-picker-loading{padding:8px 0}.recipe-picker-skeleton{display:flex;align-items:center;gap:12px;padding:11px 16px}.rp-skeleton-img{flex-shrink:0;width:52px;height:52px;border-radius:12px}.rp-skeleton-body{flex:1}@keyframes shimmer-rp{0%{background-position:-400px 0}to{background-position:400px 0}}.shimmer-block-rp{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:800px 100%;animation:shimmer-rp 1.4s infinite linear}.recipe-picker-empty{padding:40px 20px;text-align:center;color:#94a3b8;display:flex;flex-direction:column;align-items:center;gap:6px}.recipe-picker-empty span{font-size:2rem}.recipe-picker-empty p{font-size:.9rem;color:#64748b;margin:0;font-weight:600}.recipe-picker-empty small{font-size:.78rem}.manual-modal-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.manual-modal{background:#fff;border-radius:20px;width:100%;max-width:480px;box-shadow:0 24px 60px #0000002e;overflow:hidden;display:flex;flex-direction:column}.manual-modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid #f0f0f5}.manual-modal-title{font-size:1.15rem;font-weight:700;color:var(--km-ink);margin:0}.manual-modal-close{background:none;border:none;font-size:1.1rem;color:#94a3b8;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background .15s,color .15s}.manual-modal-close:hover{background:#f1f5f9;color:#475569}.manual-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px;max-height:65vh;overflow-y:auto}.manual-field{display:flex;flex-direction:column;gap:6px;flex:1}.manual-row{display:flex;gap:14px}.manual-label{font-size:.82rem;font-weight:600;color:#475569;letter-spacing:.3px}.manual-required{color:var(--km-primary)}.manual-input{padding:10px 13px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.95rem;color:#1e293b;background:#fafafa;transition:border-color .15s,box-shadow .15s;outline:none;width:100%;box-sizing:border-box}.manual-input:focus{border-color:var(--km-primary);box-shadow:0 0 0 3px #1d4fe01a;background:#fff}.manual-input--error{border-color:#ef4444}.manual-input--error:focus{box-shadow:0 0 0 3px #ef44441a}.manual-textarea{resize:vertical;min-height:72px}.manual-error{font-size:.76rem;color:#ef4444;font-weight:500}.manual-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px 20px;border-top:1px solid #f0f0f5}.manual-cancel-btn{padding:10px 20px;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.manual-cancel-btn:hover{background:#f8fafc;border-color:#cbd5e1}.manual-submit-btn{padding:10px 24px;border:none;background:linear-gradient(135deg,var(--km-primary) 0%,var(--km-primary) 100%);color:#fff;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;box-shadow:0 2px 8px #1d4fe04d}.manual-submit-btn:hover{opacity:.92;transform:translateY(-1px)}.manual-submit-btn:active{transform:translateY(0)}@media(max-width:480px){.manual-modal{border-radius:16px 16px 0 0;align-self:flex-end;max-width:100%}.manual-modal-overlay{align-items:flex-end;padding:0}.manual-row{flex-direction:column;gap:16px}}.recipe-reason-overlay{position:fixed;inset:0;background:#00000073;z-index:3000;display:flex;align-items:flex-end;justify-content:center;padding:0}@media(min-width:520px){.recipe-reason-overlay{align-items:center;padding:24px}}.recipe-reason-modal{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:440px;padding:24px 20px 28px;box-shadow:0 -4px 40px #0000002e;animation:rr-slide .22s ease}@media(min-width:520px){.recipe-reason-modal{border-radius:20px;animation:rr-scale .18s ease}}@keyframes rr-slide{0%{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}@keyframes rr-scale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.recipe-reason-title{font-size:1rem;font-weight:700;color:var(--km-ink);margin:0 0 4px}.recipe-reason-sub{font-size:.8rem;color:var(--km-primary);margin:0 0 16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-reason-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.recipe-reason-opt{border:1.5px solid #e2e8f0;background:#f8fafc;border-radius:20px;padding:6px 14px;font-size:.82rem;color:#374151;cursor:pointer;font-weight:500;transition:background .15s,border-color .15s,color .15s}.recipe-reason-opt:hover{background:var(--km-primary-soft);border-color:#a9bcf0;color:var(--km-primary)}.recipe-reason-opt--active,.recipe-reason-opt--active:hover{background:var(--km-primary);border-color:var(--km-primary);color:#fff}.recipe-reason-custom{width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.87rem;font-family:inherit;color:#1e293b;background:#f8fafc;resize:none;box-sizing:border-box;outline:none;margin-bottom:14px;transition:border-color .15s}.recipe-reason-custom:focus{border-color:var(--km-primary);background:#fff}.recipe-reason-footer{display:flex;gap:10px}.recipe-reason-cancel{flex:1;padding:11px;border:1.5px solid #e2e8f0;border-radius:12px;background:#fff;color:#64748b;font-size:.9rem;font-weight:600;cursor:pointer}.recipe-reason-cancel:hover{background:#f8fafc}.recipe-reason-submit{flex:2;padding:11px;background:linear-gradient(135deg,var(--km-primary),var(--km-primary));border:none;border-radius:12px;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s}.recipe-reason-submit:hover{opacity:.9}.recipe-reason-submit:disabled{opacity:.45;cursor:not-allowed}.plan-error-profile-btn{display:block;width:100%;margin:0 0 12px;padding:12px 18px;background:var(--km-primary);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer}.plan-error-profile-btn:hover{opacity:.92}.plan{max-width:640px;margin:0 auto;padding:8px 14px 16px;font-family:var(--km-font-body);color:var(--km-ink)}.plan-head{margin-bottom:10px}.plan-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case);color:var(--km-ink)}.plan-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute)}.plan-header{margin:0}.day-row{margin-bottom:10px}.plan .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.week-toggle{display:flex;gap:4px;padding:3px;background:var(--km-surface);border-radius:8px;margin-bottom:8px}.week-toggle-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;min-height:40px;padding:5px 8px;border:0;border-radius:var(--km-r);background:transparent;color:var(--km-mute);font-family:inherit;cursor:pointer}.week-toggle-label{font-size:12.5px;font-weight:600}.week-toggle-range{font-size:11px;font-variant-numeric:tabular-nums}.week-toggle-btn.active{background:var(--km-bg);color:var(--km-ink);box-shadow:0 0 0 1px var(--km-line)}.week-toggle-btn:focus-visible,.day-btn:focus-visible{outline:2px solid var(--km-primary);outline-offset:2px}.day-selector{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day-btn{display:flex;flex-direction:column;align-items:center;gap:1px;min-height:46px;padding:6px 0 5px;border:0;border-radius:var(--km-r);background:transparent;color:var(--km-mute);font-family:inherit;cursor:pointer}.day-btn .day-date{font-family:var(--km-font-display);font-weight:700;font-size:15px;color:var(--km-ink);font-variant-numeric:tabular-nums}.day-btn .day-name{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.day-btn:hover:not(.active){background:var(--km-surface)}.day-btn.today .day-date{text-decoration:underline;text-decoration-color:var(--km-primary);text-decoration-thickness:2px;text-underline-offset:3px}.day-btn.active{background:var(--km-active-bg);color:var(--km-active-mute)}.day-btn.active .day-date{color:var(--km-active-num);text-decoration:none}.day-btn.planned:after{content:"";width:4px;height:4px;border-radius:2px;background:var(--km-ok);margin-top:3px}.day-btn.active.planned:after{background:var(--km-active-num)}.plan-kpi{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.plan-kpi__cell{background:var(--km-block-bg);color:var(--km-block-ink);border-radius:var(--km-r);padding:10px 12px}.plan-kpi__num{font-family:var(--km-font-display);font-weight:900;font-size:26px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.plan-kpi__num small{font-family:var(--km-font-body);font-weight:600;font-size:12px;letter-spacing:0;margin-left:4px;color:var(--km-block-mute)}.plan-kpi__row{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--km-block-mute);margin:4px 0 6px;font-variant-numeric:tabular-nums}.plan-kpi__row em{font-style:normal;font-weight:700;color:var(--km-block-accent)}.plan-kpi__row em.over{color:var(--km-over)}.plan-kpi__track{height:5px;border-radius:3px;background:var(--km-block-track);overflow:hidden}.plan-kpi__track i{display:block;height:100%;background:var(--km-block-accent);border-radius:3px}.stopwatch-row{margin-bottom:10px}.plan-tools-row{display:flex;gap:6px;flex-wrap:wrap}.plan-tools-row .stopwatch-toggle-btn,.plan-tools-row .favorites-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 12.5px/1 var(--km-font-body);cursor:pointer}.plan-tools-row button:hover{background:var(--km-surface)}.plan-tools-row svg{width:15px;height:15px}.stopwatch-panel{display:flex;align-items:center;gap:12px;margin-top:8px;padding:10px 12px;background:var(--km-surface);border-radius:var(--km-r-lg)}.stopwatch-display{font-family:var(--km-font-display);font-weight:800;font-size:28px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--km-ink)}.stopwatch-controls{display:flex;gap:6px;margin-left:auto}.stopwatch-btn{width:38px;height:38px;border-radius:50%;border:0;background:var(--km-btn2-bg);color:var(--km-btn2-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.stopwatch-btn.reset{background:var(--km-bg);color:var(--km-ink);border:1px solid var(--km-line)}.plan-primary-action{margin:4px 0 12px}.gen-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--km-r);border:0;font:700 14px/1 var(--km-font-body);cursor:pointer}.gen-btn:disabled{opacity:.55;cursor:not-allowed}.gen-btn--primary{width:100%;min-height:48px;background:var(--km-primary);color:var(--km-primary-ink)}.gen-btn--primary:hover:not(:disabled){background:var(--km-primary-hover)}.gen-btn--selected,.gen-btn--day,.gen-btn--week{background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.gen-btn--shop{background:var(--km-surface);color:var(--km-ink)}.plan-primary-hint{margin:6px 0 0;font-size:12px;color:var(--km-mute);text-align:center}.weekly-planning-section{margin:0 0 12px}.weekly-planning-subtitle{font-size:12px;color:var(--km-mute);margin:0 0 6px}.weekly-day-checkboxes{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.day-cb{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 0 5px;border:1px solid var(--km-line);border-radius:var(--km-r);cursor:pointer;font-size:10.5px;color:var(--km-mute)}.day-cb input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.day-cb-name{text-transform:uppercase;letter-spacing:.04em}.day-cb-date{font-family:var(--km-font-display);font-weight:700;font-size:14px;color:var(--km-ink)}.day-cb--on{background:var(--km-active-bg);border-color:var(--km-active-bg);color:var(--km-active-mute)}.day-cb--on .day-cb-date{color:var(--km-active-num)}.day-cb--generated:after{content:"";width:4px;height:4px;border-radius:2px;background:var(--km-ok);margin-top:2px}.day-cb-quick{display:flex;gap:6px;margin-bottom:8px}.day-cb-all-btn{height:30px;padding:0 10px;border-radius:var(--km-r);border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 12px var(--km-font-body);cursor:pointer}.weekly-planning-row{display:flex;gap:8px}.plan-review-banner,.plan-confirm-banner,.no-slots-warning,.week-success-banner,.week-error-banner,.reactive-update-error,.plan-status-message,.plan-value-banner{border-radius:var(--km-r-lg);padding:10px 12px;margin:0 0 10px;font-size:13px;background:var(--km-surface);color:var(--km-ink)}.plan-review-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.plan-review-banner__body{display:flex;gap:8px;align-items:flex-start}.plan-review-banner__title{display:block;font-weight:700}.plan-review-banner__hint{margin:2px 0 0;color:var(--km-mute);font-size:12px}.plan-review-banner__actions{display:flex;gap:6px;align-items:center}.plan-review-banner__shop-btn{display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font-weight:700;font-size:13px;text-decoration:none}.plan-review-banner__dismiss,.reactive-dismiss-btn,.week-error-banner .dismiss{width:28px;height:28px;border:0;background:transparent;color:var(--km-mute);font-size:18px;line-height:1;cursor:pointer;border-radius:var(--km-r)}.plan-confirm-banner{display:flex;gap:8px;align-items:center;animation:km-banner-out 3.5s ease forwards}.plan-confirm-check{display:inline-flex;color:var(--km-ok)}.plan-confirm-title{font-weight:600}.plan-confirm-tags{display:inline-flex;gap:4px;margin-left:6px;flex-wrap:wrap}.plan-confirm-tag{font-size:11px;padding:2px 6px;border-radius:999px;background:var(--km-bg);border:1px solid var(--km-line)}@keyframes km-banner-out{0%,80%{opacity:1}to{opacity:0}}.week-success-banner{display:flex;gap:8px;align-items:center;color:var(--km-ok);font-weight:600}.week-success-banner .check{display:inline-flex}.week-error-banner,.reactive-update-error,.plan-status-error{display:flex;gap:8px;align-items:center;background:var(--km-danger-soft);color:var(--km-danger-ink)}.week-error-banner .dismiss{margin-left:auto}.reactive-update-pill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px;margin-bottom:10px;border-radius:999px;background:var(--km-surface);font-size:12px;color:var(--km-mute)}.reactive-update-spinner{width:12px;height:12px;border-radius:50%;border:2px solid var(--km-line);border-top-color:var(--km-primary);animation:km-spin .7s linear infinite}.no-slots-head{display:flex;gap:8px;align-items:center;margin-bottom:8px;font-weight:600}.no-slots-fix-btn{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:var(--km-r);border:0;background:var(--km-primary);color:var(--km-primary-ink);font:700 13px var(--km-font-body);cursor:pointer}.plan-status-message{color:var(--km-mute)}.plan-value-banner{display:flex;flex-direction:column;gap:8px}.pvb-checks{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px}.pvb-check{color:var(--km-ok);font-weight:600}.pvb-check--todo{color:var(--km-mute);font-weight:500}.pvb-cta{display:flex;align-items:center;gap:8px}.pvb-lock{display:inline-flex;color:var(--km-mute)}.pvb-cta-text{font-weight:600;flex:1}.pvb-cta-btn{height:32px;padding:0 12px;border-radius:var(--km-r);border:0;background:var(--km-primary);color:var(--km-primary-ink);font:700 12.5px var(--km-font-body);cursor:pointer}.translating-indicator{font-size:12px;color:var(--km-mute)}.language-row{margin-bottom:6px}.meals-container{display:flex;flex-direction:column;gap:14px}.meal-section{padding-top:10px;border-top:1px solid var(--km-line)}.meal-section.disabled{opacity:.6}.meal-section.highlight-toggles .toggle-switch{outline:2px solid var(--km-primary);outline-offset:2px;border-radius:999px}.meal-header{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.meal-header__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.meal-header h3{margin:0 auto 0 0;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--km-mute);white-space:nowrap}.meal-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.gen-plan-btn,.browse-recipes-btn,.add-manual-btn{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border-radius:var(--km-r);border:0;background:var(--km-surface);color:var(--km-ink);font:600 12.5px/1 var(--km-font-body);cursor:pointer;white-space:nowrap}.gen-plan-btn{background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.gen-plan-btn:hover:not(:disabled){background:var(--km-btn2-hover)}.browse-recipes-btn:hover:not(:disabled),.add-manual-btn:hover:not(:disabled){background:var(--km-hover)}.gen-plan-btn:disabled,.browse-recipes-btn:disabled,.add-manual-btn:disabled{opacity:.5;cursor:not-allowed}.meal-controls svg{width:14px;height:14px}.info-btn-wrap{position:relative;display:inline-flex;align-items:center}.info-btn{width:18px;height:18px;border-radius:50%;border:1px solid var(--km-line);background:transparent;color:var(--km-mute);font:700 10px/1 var(--km-font-body);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.info-btn:hover{border-color:var(--km-primary);color:var(--km-primary)}.info-tooltip{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:min(260px,80vw);padding:10px 28px 10px 12px;background:var(--km-bg);border:1px solid var(--km-line);border-radius:8px;box-shadow:var(--km-shadow);font-size:12.5px;color:var(--km-ink)}.info-btn-wrap.tip-align-end .info-tooltip{left:auto;right:0}.info-tooltip p{margin:0}.info-tooltip-close{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;background:none;color:var(--km-mute);font-size:16px;cursor:pointer}.toggle-switch{position:relative;width:36px;height:20px;flex-shrink:0}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;inset:0;background:var(--km-control-off);border-radius:999px;cursor:pointer;transition:background .15s}.toggle-switch .slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform .15s}.toggle-switch input:checked+.slider{background:var(--km-primary)}.toggle-switch input:checked+.slider:before{transform:translate(16px)}.cooking-method-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.cooking-method-select{height:30px;padding:0 8px;border-radius:var(--km-r);border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:500 12.5px var(--km-font-body)}.meal-list{display:flex;flex-direction:column}.meal-card{position:relative;padding:10px 0;border-bottom:1px solid var(--km-line);background:transparent}.meal-card:last-child{border-bottom:0}.meal-card.expanded{background:var(--km-surface);border-radius:var(--km-r-lg);padding:10px 10px 12px;border-bottom:0;margin:4px 0}.meal-card.meal-eaten .meal-name{color:var(--km-mute)}.meal-card-header{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:start;cursor:pointer}.meal-image-container{width:56px;height:56px;border-radius:var(--km-r);overflow:hidden;background:var(--km-surface)}.meal-image{width:100%;height:100%;object-fit:cover;display:block}.meal-image-badge{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--km-surface);color:var(--km-mute)}.meal-image-badge svg{width:18px;height:18px}.meal-image-badge-kcal{font-size:9px;line-height:1}.meal-image-badge-kcal strong{font-family:var(--km-font-display);font-weight:800;font-size:11px;color:var(--km-ink)}.meal-info{display:flex;flex-direction:column;gap:3px;min-width:0;padding-right:64px}.meal-name{font-weight:600;font-size:14.5px;line-height:1.25;color:var(--km-ink)}.meal-nutrition{display:flex;gap:6px;align-items:baseline;font-size:12.5px;color:var(--km-mute);font-variant-numeric:tabular-nums}.meal-calories{font-family:var(--km-font-display);font-weight:800;font-size:14px;color:var(--km-ink)}.meal-calories:after{content:"·";margin-left:6px;font-family:var(--km-font-body);font-weight:400;color:var(--km-mute)}.meal-timing{display:flex;gap:10px;font-size:12px;color:var(--km-mute)}.meal-timing span{display:inline-flex;align-items:center;gap:4px}.meal-timing svg{width:12px;height:12px}.meal-eaten-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--km-ok)}.meal-actions{grid-column:1 / -1;display:flex;align-items:center;gap:6px;margin-top:2px}.favorite-btn,.expand-btn{width:30px;height:30px;border-radius:var(--km-r);border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.favorite-btn svg,.expand-btn svg{width:15px;height:15px}.favorite-btn.is-favorite{color:var(--km-danger);border-color:var(--km-danger-line);background:var(--km-danger-soft)}.expand-btn{margin-left:auto;color:var(--km-ink)}.star-rating{display:inline-flex;gap:1px}.star{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;background:none;color:var(--km-star);cursor:pointer;padding:0}.eaten-btn,.remove-btn{position:absolute;top:10px;width:28px;height:28px;border-radius:var(--km-r);border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.eaten-btn{right:32px}.remove-btn{right:0}.meal-card.expanded .eaten-btn{right:42px}.meal-card.expanded .remove-btn{right:10px}.eaten-btn svg,.remove-btn svg,.eaten-check-icon{width:14px;height:14px}.eaten-btn.is-eaten{background:var(--km-ok);border-color:var(--km-ok);color:#fff}.remove-btn:hover{color:var(--km-danger);border-color:var(--km-danger-line)}.carb-toggle-row{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.carb-toggle-btn{height:30px;padding:0 10px;border-radius:var(--km-r);border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 12px var(--km-font-body);cursor:pointer}.carb-toggle-btn.variant-active{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.potato-ingredients-panel{margin-top:8px;padding:10px 12px;background:var(--km-bg);border:1px solid var(--km-line);border-radius:8px;font-size:13px}.potato-ingredients-panel h5{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--km-mute)}.potato-ingredients-panel ul{margin:0;padding-left:18px}.potato-instruction-note,.potato-tip-note{margin:8px 0 0;font-size:12.5px;color:var(--km-mute)}.meal-recipe{margin-top:10px;padding-top:10px;border-top:1px solid var(--km-line)}.recipe-time-breakdown{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--km-mute);margin-bottom:10px}.recipe-time-breakdown span{display:inline-flex;align-items:center;gap:5px}.recipe-time-breakdown svg{width:13px;height:13px}.recipe-section{margin-bottom:14px}.recipe-section:last-child{margin-bottom:0}.recipe-section h4{margin:0 0 8px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--km-mute)}.ingredients-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px}.ingredients-list li{font-size:13.5px;padding:5px 0;border-bottom:1px dashed var(--km-line)}.steps-list{margin:0;padding-left:22px}.steps-list li{font-size:13.5px;line-height:1.5;padding:5px 0}.steps-list li::marker{font-family:var(--km-font-display);font-weight:800;color:var(--km-primary)}.plan-recipe-blur{filter:blur(4px);pointer-events:none;user-select:none}.plan-recipe-unlock-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;margin-top:8px;border-radius:var(--km-r);border:0;background:var(--km-primary);color:var(--km-primary-ink);font:700 12.5px var(--km-font-body);cursor:pointer}.recipe-fb-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--km-line);font-size:12.5px;color:var(--km-mute)}.recipe-fb-btns{display:flex;gap:6px;margin-left:auto}.recipe-fb-btn{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border-radius:var(--km-r);border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 12px var(--km-font-body);cursor:pointer}.recipe-fb-btn svg{width:13px;height:13px}.recipe-fb-done{margin-top:10px;font-size:12.5px;color:var(--km-mute);display:flex;align-items:center;gap:6px}.no-meals{font-size:13px;color:var(--km-mute);margin:0;padding:8px 0}.plan-shop-bar{position:sticky;bottom:calc(var(--bottom-nav-h, 0px) + env(safe-area-inset-bottom,0px));z-index:50;margin:16px auto 0;max-width:640px;padding:10px 14px;background:var(--km-bg);border-top:1px solid var(--km-line);display:flex;gap:8px}.plan-shop-bar__btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 0;min-width:0;min-height:48px;padding:0 10px;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);text-decoration:none}.plan-shop-bar__btn:hover{background:var(--km-primary-hover)}.plan-shop-bar__btn svg{width:18px;height:18px;flex-shrink:0}.plan-shop-bar__btn--ghost{flex:0 0 auto;background:var(--km-bg);color:var(--km-ink);border:1px solid var(--km-line)}.plan-shop-bar__btn--ghost:hover{background:var(--km-surface)}.meal-undo-toast{position:fixed;left:50%;bottom:calc(var(--bottom-nav-h, 0px) + env(safe-area-inset-bottom,0px) + 84px);transform:translate(-50%);z-index:9500;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 12px;border-radius:8px;background:var(--km-btn2-bg);color:var(--km-btn2-ink);font-size:13px;box-shadow:var(--km-shadow-lg)}.meal-undo-msg{display:inline-flex;align-items:center;gap:6px}.meal-undo-btn{height:30px;padding:0 10px;border-radius:var(--km-r);border:0;background:var(--km-accent);color:var(--km-accent-ink);font:700 12.5px var(--km-font-body);cursor:pointer}.meal-undo-dismiss{width:28px;height:28px;border:0;background:transparent;color:var(--km-block-mute);font-size:16px;cursor:pointer}@media(prefers-reduced-motion:reduce){.plan-confirm-banner{animation-duration:.01s;animation-delay:3.5s}.reactive-update-spinner{animation:none}}.pgm-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0b12208c;font-family:var(--km-font-body)}.pgm-card{position:relative;width:100%;max-width:400px;padding:20px 16px 16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);animation:pgm-in .2s ease-out both}.pgm-card svg{flex-shrink:0}@keyframes pgm-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pgm-card{animation:none}}.pgm-icon{display:inline-flex;color:var(--km-primary);margin-bottom:8px}.pgm-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.pgm-subtitle,.pgm-body{margin:4px 0 12px;font-size:13.5px;color:var(--km-mute);line-height:1.45}.pgm-features{margin:0 0 12px;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.pgm-features li{display:flex;align-items:center;gap:6px;font-size:13px}.pgm-check{display:inline-flex;color:var(--km-ok)}.pgm-options{display:flex;flex-direction:column;gap:6px}.pgm-opt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);text-align:left;cursor:pointer;font-family:var(--km-font-body);position:relative}.pgm-opt:hover{background:var(--km-surface)}.pgm-opt--trial{border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.pgm-opt-label{font-weight:700;font-size:14px}.pgm-opt-sub{font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.pgm-opt-badge{position:absolute;top:9px;right:10px;padding:2px 7px;border-radius:999px;background:var(--km-accent);color:var(--km-accent-ink);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pgm-secondary,.pgm-btn-secondary{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.pgm-secondary:hover,.pgm-btn-secondary:hover{background:var(--km-surface)}.pgm-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.pgm-btn-primary:hover{background:var(--km-primary-hover)}.pgm-fine{margin:10px 0 0;display:flex;align-items:center;justify-content:center;gap:4px;font-size:11.5px;color:var(--km-mute);text-align:center}.explore{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.explore svg{flex-shrink:0}.explore .spin{animation:km-spin 1s linear infinite}.exp-head{margin-bottom:10px}.exp-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.exp-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.exp-search-bar{display:flex;align-items:center;gap:8px;height:42px;padding:0 10px 0 12px;border-radius:var(--km-r);background:var(--km-surface);margin-bottom:8px}.exp-search-bar:focus-within{box-shadow:0 0 0 2px var(--km-primary)}.exp-search-icon{display:inline-flex;color:var(--km-mute)}.exp-search-input{flex:1;min-width:0;border:0;background:transparent;font:500 14px var(--km-font-body);color:var(--km-ink);outline:none}.exp-search-input::placeholder{color:var(--km-mute)}.exp-search-clear{width:28px;height:28px;border:0;border-radius:var(--km-r);background:transparent;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.exp-filters{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.exp-filter-row{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}.exp-filter-row::-webkit-scrollbar{display:none}.exp-filter-label{flex-shrink:0;min-width:62px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--km-mute)}.exp-chip{flex-shrink:0;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 12.5px var(--km-font-body);font-variant-numeric:tabular-nums;cursor:pointer}.exp-chip:hover{background:var(--km-surface)}.exp-chip--on,.exp-chip--on:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.exp-filter-clear{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--km-primary);font:600 12.5px var(--km-font-body);cursor:pointer}.exp-tools-strip{margin-bottom:14px}.exp-tools-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.exp-tools-label{font-family:var(--km-font-display);font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--km-mute)}.exp-tools-see-all{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:600;color:var(--km-primary);text-decoration:none}.exp-tools-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain}.exp-tools-scroll::-webkit-scrollbar{display:none}.exp-tool-chip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:66px;padding:9px 10px 8px;border-radius:var(--km-r-lg);background:var(--km-surface);color:var(--km-ink);text-decoration:none}.exp-tool-chip:hover{background:var(--km-hover)}.exp-tool-chip-icon{display:inline-flex;color:var(--km-primary)}.exp-tool-chip-label{font-size:11px;font-weight:600;white-space:nowrap}.exp-section{margin-bottom:14px}.exp-section-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.exp-section-title{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase}.exp-section-count{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--km-surface);color:var(--km-mute);font-variant-numeric:tabular-nums}.exp-cards-scroll{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;margin:0 -14px;padding:2px 14px 6px;scrollbar-width:none}.exp-cards-scroll::-webkit-scrollbar{display:none}.exp-search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.exp-card{flex:0 0 168px;scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg);overflow:hidden;cursor:pointer}.exp-search-grid .exp-card{flex:initial}.exp-card:hover{border-color:var(--km-mute)}.exp-card-hero{position:relative;height:112px;background:var(--km-surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.exp-card-img{width:100%;height:100%;object-fit:cover;display:block}.exp-card-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--km-mute)}.exp-card-placeholder-icon{display:inline-flex}.exp-card-placeholder-label{font-size:10.5px}.exp-card-save{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:var(--km-r);background:var(--km-bg);color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.exp-card-save--on{color:var(--km-danger)}.exp-card-lock-badge,.exp-card-mine-badge{position:absolute;top:6px;left:6px;display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 7px;border-radius:999px;background:var(--km-bg);color:var(--km-mute);font-size:10.5px;font-weight:700}.exp-card-body{display:flex;flex-direction:column;gap:4px;padding:8px 10px 10px}.exp-card-name{margin:0;font-weight:600;font-size:13.5px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}.exp-card-stats{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:11.5px;color:var(--km-mute);font-variant-numeric:tabular-nums}.exp-card-stats span{display:inline-flex;align-items:center;gap:3px}.exp-card-stats span:first-child{font-family:var(--km-font-display);font-weight:800;font-size:12.5px;color:var(--km-ink)}.exp-card-actions{display:flex;gap:4px;margin-top:4px}.exp-card-plan-btn,.exp-card-view-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;height:30px;padding:0 6px;border-radius:var(--km-r);font:600 12px var(--km-font-body);cursor:pointer;white-space:nowrap}.exp-card-plan-btn{border:0;background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.exp-card-view-btn{border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink)}.exp-card--locked .exp-card-plan-btn{background:var(--km-surface);color:var(--km-mute)}.exp-search-results{margin-bottom:14px}.exp-no-match{display:flex;flex-direction:column;gap:10px}.exp-no-match-hint{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:var(--km-r-lg);background:var(--km-surface)}.exp-no-match-icon{display:inline-flex;color:var(--km-mute);margin-top:2px}.exp-no-match-title{margin:0;font-weight:600;font-size:14px}.exp-no-match-title em{font-style:normal;color:var(--km-primary)}.exp-no-match-sub{margin:2px 0 0;font-size:12.5px;color:var(--km-mute)}.exp-no-match-cats{display:flex;flex-wrap:wrap;gap:6px}.exp-no-match-chip{height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 12.5px var(--km-font-body);cursor:pointer}.exp-no-match-label{margin:4px 0 0;font-family:var(--km-font-display);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.exp-tools{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:10px;border-top:1px solid var(--km-line)}.exp-tool-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);font:600 14px var(--km-font-body);text-align:left;cursor:pointer}.exp-tool-toggle--open{border-bottom-left-radius:0;border-bottom-right-radius:0;background:var(--km-surface)}.exp-toggle-arrow{display:inline-flex;color:var(--km-mute)}.exp-tool-body{padding:12px;border:1px solid var(--km-line);border-top:0;border-radius:0 0 var(--km-r-lg) var(--km-r-lg);margin-top:-6px}.explore .fridge-intro{margin:0 0 10px;font-size:13px;color:var(--km-mute)}.explore .fridge-input-row{display:flex;gap:6px;margin-bottom:8px}.explore .fridge-input{flex:1;min-width:0;height:40px;padding:0 10px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 13.5px var(--km-font-body)}.explore .fridge-input:focus{outline:2px solid var(--km-primary);outline-offset:-1px}.explore .find-meals-btn,.explore .generate-btn,.explore .confirm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 14px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.explore .find-meals-btn:disabled,.explore .generate-btn:disabled,.explore .confirm-btn:disabled{opacity:.5;cursor:not-allowed}.explore .generate-btn{width:100%}.explore .photo-upload-section{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.explore .photo-buttons-row{display:flex;gap:6px}.explore .photo-upload-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;height:36px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 12.5px var(--km-font-body);cursor:pointer}.explore .photo-upload-btn span{display:inline-flex;align-items:center;gap:6px}.explore .photo-counter{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--km-mute)}.explore .ingredients-found{color:var(--km-ok);font-weight:600}.explore .analyzing-indicator{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--km-mute)}.explore .analyzing-spinner{display:inline-flex;animation:km-spin 1s linear infinite}.explore .photo-hint{font-size:11.5px;color:var(--km-mute)}.explore .image-preview{position:relative;margin-bottom:10px}.explore .image-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:var(--km-r-lg);display:block}.explore .clear-image-btn{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.explore .suggested-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 6px}.explore .suggested-header h3,.explore .saved-meals-section h3{margin:0;display:flex;align-items:center;gap:6px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.explore .save-hint{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--km-mute)}.explore .fridge-meals-list{display:flex;flex-direction:column;gap:6px}.explore .fridge-meal-card{position:relative;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg)}.explore .fridge-meal-card.expanded{background:var(--km-surface)}.explore .keep-checkbox-corner{position:absolute;top:10px;left:10px;display:inline-flex}.explore .keep-checkbox-corner input{width:18px;height:18px;margin:0;accent-color:var(--km-primary);cursor:pointer}.explore .fridge-meal-header{display:flex;align-items:flex-start;gap:8px;padding:10px 10px 10px 36px;cursor:pointer}.explore .fridge-meal-card.saved .fridge-meal-header{padding-left:10px}.explore .fridge-meal-info{flex:1;min-width:0}.explore .fridge-meal-info h4{margin:0;font-size:14px;font-weight:600;line-height:1.25}.explore .meal-desc{margin:2px 0 4px;font-size:12.5px;color:var(--km-mute)}.explore .meal-stats{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.explore .meal-stats span{display:inline-flex;align-items:center;gap:3px}.explore .meal-stats span:first-child{font-family:var(--km-font-display);font-weight:800;color:var(--km-ink)}.explore .expand-icon{display:inline-flex;color:var(--km-mute);padding-top:2px}.explore .fridge-meal-header .meal-actions{display:flex;align-items:center;gap:4px}.explore .remove-saved-btn{width:26px;height:26px;border:0;border-radius:var(--km-r);background:transparent;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.explore .remove-saved-btn:hover{color:var(--km-danger)}.explore .fridge-recipe-details{padding:0 10px 12px;border-top:1px solid var(--km-line);margin-top:2px}.explore .recipe-times{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0;font-size:12.5px;color:var(--km-mute)}.explore .recipe-times span{display:inline-flex;align-items:center;gap:4px}.explore .recipe-ingredients h5,.explore .recipe-steps h5{margin:8px 0 4px;font-family:var(--km-font-display);font-weight:800;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.explore .recipe-ingredients ul,.explore .recipe-steps ol{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5}.explore .recipe-steps li::marker{font-family:var(--km-font-display);font-weight:800;color:var(--km-primary)}.explore .saved-meals-section{margin-top:14px}.explore .saved-meals-section h3{margin-bottom:6px}.explore .ideas-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.explore .idea-card{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);font-size:13.5px}.explore .idea-card p{margin:0}.explore .idea-icon{display:inline-flex;color:var(--km-primary);margin-top:1px}.explore .confirm-dialog-overlay{position:fixed;inset:0;z-index:2000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.explore .confirm-dialog{width:100%;max-width:480px;max-height:88vh;overflow-y:auto;padding:16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink)}.explore .confirm-dialog h3{margin:0 0 4px;font-family:var(--km-font-display);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.03em}.explore .confirm-intro{margin:0 0 10px;font-size:13px;color:var(--km-mute)}.explore .dialog-image-preview img{width:100%;max-height:160px;object-fit:cover;border-radius:var(--km-r);margin-bottom:10px;display:block}.confirm-dialog .ingredients-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.confirm-dialog .ingredient-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--km-r);border:1px solid var(--km-line);background:var(--km-surface)}.confirm-dialog .ingredient-item.confidence-low{border-color:var(--km-danger-line)}.confirm-dialog .ingredient-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.confirm-dialog .confidence-badge{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff}.confirm-dialog .confidence-badge.high{background:var(--km-ok)}.confirm-dialog .confidence-badge.medium{background:var(--km-warn)}.confirm-dialog .confidence-badge.low{background:var(--km-danger)}.confirm-dialog .ingredient-name{font-size:13.5px}.confirm-dialog .ingredient-edit{flex:1;min-width:0}.confirm-dialog .ingredient-input{width:100%;height:32px;padding:0 8px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 13px var(--km-font-body)}.confirm-dialog .alternatives{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px}.confirm-dialog .alt-label{font-size:11.5px;color:var(--km-mute)}.confirm-dialog .alt-btn{height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 11.5px var(--km-font-body);cursor:pointer}.confirm-dialog .remove-ingredient-btn{width:26px;height:26px;border:0;border-radius:var(--km-r);background:transparent;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.confirm-dialog .confirm-actions{display:flex;gap:6px;flex-wrap:wrap}.confirm-dialog .cancel-btn,.confirm-dialog .add-more-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer}.confirm-dialog .confirm-btn{flex:1}.exp-modal-overlay{position:fixed;inset:0;z-index:2000;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;animation:exp-fade-in .15s ease}.exp-modal{width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:14px 14px 0 0;background:var(--km-bg);color:var(--km-ink);animation:exp-slide-up .2s ease;padding-bottom:env(safe-area-inset-bottom,0px)}@keyframes exp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes exp-slide-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.exp-modal-hero{position:relative;height:180px;background:var(--km-surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.exp-modal-img{width:100%;height:100%;object-fit:cover;display:block}.exp-modal-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--km-mute)}.exp-modal-placeholder-icon{display:inline-flex;color:var(--km-mute)}.exp-modal-placeholder-label{font-size:11px}.exp-modal-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.exp-modal-mine-badge{position:absolute;top:10px;left:10px;height:24px;padding:0 8px;display:inline-flex;align-items:center;border-radius:999px;background:var(--km-bg);font-size:11px;font-weight:700}.exp-modal-body{padding:14px 16px 18px}.exp-modal-name{margin:0 0 4px;font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.exp-modal-desc{margin:0 0 10px;font-size:13.5px;color:var(--km-mute);line-height:1.45}.exp-modal-stats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.exp-modal-stat{display:flex;flex-direction:column;min-width:64px;padding:6px 10px;border-radius:var(--km-r);background:var(--km-surface)}.exp-modal-stat--total{background:var(--km-block-bg);color:var(--km-block-ink)}.exp-modal-stat-value{font-family:var(--km-font-display);font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}.exp-modal-stat-label{font-size:10.5px;color:var(--km-mute);text-transform:uppercase;letter-spacing:.04em}.exp-modal-stat--total .exp-modal-stat-label{color:var(--km-block-mute)}.exp-modal-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.exp-modal-tag{height:24px;padding:0 8px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--km-line);font-size:11.5px;font-weight:600;color:var(--km-mute)}.exp-modal-recipe-summary{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);margin-bottom:12px;font-size:13px}.exp-modal-recipe-summary-icon{display:inline-flex;color:var(--km-mute);margin-top:1px}.exp-modal-recipe-summary-text{margin:0}.exp-modal-section{margin-bottom:14px}.exp-modal-section h3{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.exp-modal-ingredients{list-style:none;margin:0;padding:0}.exp-modal-ingredients li{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px dashed var(--km-line);font-size:13.5px}.exp-modal-check{display:inline-flex;color:var(--km-ok)}.exp-modal-steps{margin:0;padding-left:22px}.exp-modal-steps li{padding:5px 0;font-size:13.5px;line-height:1.5}.exp-modal-steps li::marker{font-family:var(--km-font-display);font-weight:800;color:var(--km-primary)}.exp-modal-more-locked{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;color:var(--km-mute)}.exp-modal-unlock-cta{display:flex;flex-direction:column;align-items:center;gap:4px;margin:4px 0 12px}.exp-modal-unlock-btn,.exp-modal-plan-btn,.exp-modal-trial-upgrade-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.exp-modal-unlock-btn{width:100%}.exp-modal-unlock-hint{margin:0;font-size:12px;color:var(--km-mute)}.exp-modal-trial-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);margin-bottom:12px;font-size:13px}.exp-modal-trial-upgrade-btn{min-height:34px;padding:0 12px;font-size:12.5px}.exp-modal-blurred{filter:blur(4px);pointer-events:none;user-select:none}.exp-modal-actions{display:flex;gap:6px;margin-top:4px}.exp-modal-save-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.exp-modal-save-btn--saved{color:var(--km-danger);border-color:var(--km-danger-line)}.exp-modal-plan-btn{flex:1}.exp-modal-plan-btn--locked{background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.exp-toast{position:fixed;left:50%;bottom:calc(var(--bottom-nav-h, 0px) + env(safe-area-inset-bottom,0px) + 84px);transform:translate(-50%);z-index:9500;padding:10px 14px;border-radius:8px;background:var(--km-btn2-bg);color:var(--km-btn2-ink);font-size:13px;font-weight:600;white-space:nowrap;box-shadow:var(--km-shadow-lg)}@media(min-width:600px){.exp-modal-overlay{align-items:center;padding:16px}.exp-modal{border-radius:14px;max-height:90vh}.exp-card{flex-basis:184px}}@media(prefers-reduced-motion:reduce){.exp-modal-overlay,.exp-modal{animation:none}}.preferences{max-width:640px;margin:0 auto;padding:8px 14px 96px;font-family:var(--km-font-body);color:var(--km-ink)}.preferences svg{flex-shrink:0}.pref-head{margin-bottom:10px}.pref-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.pref-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute)}.pref-onboarding-banner{position:relative;padding:12px 36px 12px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);margin-bottom:12px}.pref-onboarding-banner-close{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:var(--km-r);background:none;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pref-onboarding-banner-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;font-size:12.5px;color:var(--km-mute)}.pref-ob-step{display:inline-flex;align-items:center;gap:6px}.pref-ob-step.current{color:var(--km-ink);font-weight:600}.pref-ob-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--km-bg);font-family:var(--km-font-display);font-weight:800;font-size:11px}.pref-ob-step.done .pref-ob-dot{background:var(--km-ok);color:#fff}.pref-ob-step.current .pref-ob-dot{background:var(--km-primary);color:var(--km-primary-ink)}.pref-ob-arrow{display:inline-flex;color:var(--km-line)}.pref-onboarding-banner-hint{margin:0 0 8px;font-size:13px;color:var(--km-mute);line-height:1.45}.pref-onboarding-banner-cta{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13px var(--km-font-body);cursor:pointer}.pref-section{padding:12px 0;border-top:1px solid var(--km-line)}.pref-section:first-of-type{border-top:0;padding-top:0}.pref-section h2{margin:0 0 8px;display:flex;align-items:center;gap:6px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.pref-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.pref-row .pref-section.half,.pref-row .pref-section.half:first-of-type{border-top:1px solid var(--km-line);padding-top:12px}.info-text{margin:6px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.45}.goal-buttons{display:flex;gap:6px;flex-wrap:wrap}.goal-btn{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.goal-btn:hover{background:var(--km-surface)}.goal-btn.active{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.goal-btn svg{width:14px;height:14px}.goal-btn:focus-visible{outline:2px solid var(--km-primary);outline-offset:2px}.number-selector{display:inline-flex;align-items:center;border:1px solid var(--km-line);border-radius:var(--km-r);overflow:hidden}.num-btn{width:40px;height:40px;border:0;background:var(--km-surface);color:var(--km-ink);font:700 18px var(--km-font-body);cursor:pointer}.num-btn:hover{background:var(--km-hover)}.num-value{min-width:48px;text-align:center;font-family:var(--km-font-display);font-weight:900;font-size:20px;font-variant-numeric:tabular-nums}.planning-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.planning-mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);text-align:left;cursor:pointer;font-family:var(--km-font-body)}.planning-mode-card:hover{background:var(--km-surface)}.planning-mode-card.active{border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.planning-mode-icon{display:inline-flex;color:var(--km-primary);margin-bottom:2px}.planning-mode-card.active .planning-mode-icon{color:var(--km-primary)}.planning-mode-label{font-weight:700;font-size:13.5px}.planning-mode-desc{font-size:12px;line-height:1.4;color:var(--km-mute)}.allergy-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{height:32px;padding:0 11px;border:1px solid var(--km-line);border-radius:999px;background:var(--km-bg);color:var(--km-ink);font:600 12.5px var(--km-font-body);cursor:pointer}.chip:hover{background:var(--km-surface)}.chip.active{background:var(--km-danger-soft);border-color:var(--km-danger-line);color:var(--km-danger-ink)}.chip--protein.active{background:var(--km-primary-soft);border-color:var(--km-primary);color:var(--km-primary)}.avoid-foods-input{width:100%;padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 14px/1.45 var(--km-font-body);resize:vertical}.avoid-foods-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.avoid-foods-input::placeholder{color:var(--km-mute)}.pref-next-steps{padding:12px 0 0;border-top:1px solid var(--km-line)}.pref-next-steps__label{margin:0 0 8px;font-size:13px;color:var(--km-mute)}.pref-next-steps__chips{display:flex;gap:6px;flex-wrap:wrap}.pref-next-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--km-line);border-radius:999px;background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer}.pref-next-chip:hover{background:var(--km-surface)}.pref-next-chip__icon{display:inline-flex;color:var(--km-primary)}.pref-generate-bar{position:fixed;left:0;right:0;bottom:var(--bottom-nav-h, 0px);z-index:200;display:flex;flex-direction:column;align-items:center;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));background:var(--km-bg);border-top:1px solid var(--km-line);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}body.has-tabbar .pref-generate-bar{padding-bottom:12px}.pref-generate-bar--visible{opacity:1;transform:none;pointer-events:auto}.pref-gen-error{display:flex;align-items:center;gap:8px;width:100%;max-width:612px;margin-bottom:8px;padding:9px 12px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.pref-generate-btn{width:100%;max-width:612px;min-height:48px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.pref-generate-btn:hover:not(:disabled){background:var(--km-primary-hover)}.pref-generate-btn:disabled{opacity:.5;cursor:not-allowed}.pref-generate-btn--loading{background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.pref-gen-loading{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%}.pref-gen-msg{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px}.pref-gen-emoji{display:inline-flex;animation:km-spin 1s linear infinite}.pref-gen-track{height:4px;border-radius:2px;background:var(--km-block-track);overflow:hidden}.pref-gen-fill{display:block;height:100%;background:var(--km-accent);border-radius:2px;transition:width .5s ease}@media(max-width:480px){.planning-mode-grid{grid-template-columns:1fr}.goal-btn{flex:1 1 calc(50% - 6px)}.goal-btn.wide{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.pref-gen-emoji{animation:none}.pref-generate-bar{transition:none}}.shopping{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.shop-head{margin-bottom:10px}.shop-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case);color:var(--km-ink)}.shop-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.shop-progress{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--km-block-bg);color:var(--km-block-ink);border-radius:var(--km-r);padding:10px 12px;margin-bottom:10px}.shop-progress__num{font-family:var(--km-font-display);font-weight:900;font-size:26px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.shop-progress__num small{font-family:var(--km-font-body);font-weight:600;font-size:12px;letter-spacing:0;margin-left:4px;color:var(--km-block-mute)}.shop-progress__row{display:flex;justify-content:space-between;font-size:11px;color:var(--km-block-mute);margin-bottom:6px;font-variant-numeric:tabular-nums}.shop-progress__row em{font-style:normal;font-weight:700;color:var(--km-block-accent)}.shop-progress__track{height:5px;border-radius:3px;background:var(--km-block-track);overflow:hidden}.shop-progress__track i{display:block;height:100%;background:var(--km-block-accent);border-radius:3px;transition:width .2s}.shopping-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.generate-list-btn{flex:1 1 100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px/1 var(--km-font-body);cursor:pointer}.generate-list-btn:hover:not(:disabled){background:var(--km-primary-hover)}.generate-list-btn:disabled{opacity:.55;cursor:not-allowed}.copy-btn,.download-btn,.print-btn,.clear-btn,.shopping-trial-copy-locked-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 12.5px/1 var(--km-font-body);cursor:pointer}.copy-btn:hover,.download-btn:hover,.print-btn:hover,.shopping-trial-copy-locked-btn:hover{background:var(--km-surface)}.clear-btn{color:var(--km-mute);margin-left:auto}.clear-btn:hover{color:var(--km-danger);border-color:var(--km-danger-line)}.shopping-actions svg{width:14px;height:14px}.shopping-trial-notice,.shopping-status-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border-radius:var(--km-r-lg);background:var(--km-surface);font-size:13px}.shopping-status-failed{background:var(--km-danger-soft);color:var(--km-danger-ink)}.shopping-trial-upgrade-btn{height:32px;padding:0 12px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 12.5px var(--km-font-body);cursor:pointer}.shopping-gen-overlay{padding:18px 14px;margin-bottom:10px;border-radius:var(--km-r-lg);background:var(--km-surface)}.shopping-gen-body{display:flex;flex-direction:column;align-items:center;text-align:center}.shopping-gen-spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--km-line);border-top-color:var(--km-primary);animation:km-spin .8s linear infinite;margin-bottom:10px}.shopping-gen-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:15px;letter-spacing:.02em;text-transform:uppercase}.shopping-gen-subtitle{margin:0 0 10px;font-size:12px;color:var(--km-mute)}.shopping-gen-days{display:block;margin-top:2px}.shopping-gen-progress-track{width:100%;max-width:320px;height:5px;border-radius:3px;background:var(--km-line);overflow:hidden}.shopping-gen-progress-bar{height:100%;background:var(--km-primary);border-radius:3px;transition:width .4s ease}.shopping-gen-msg{margin:10px 0 0;font-size:12.5px;color:var(--km-mute);animation:shop-msg-in .3s ease}.shopping-gen-skeleton{width:100%;max-width:320px;margin-top:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.shopping-skeleton-row{height:12px;border-radius:6px;background:var(--km-line);animation:shop-skeleton-pulse 1.2s ease-in-out infinite}@keyframes shop-msg-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes shop-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes shop-items-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.shopping-items{position:relative}.shopping-items--ready{animation:shop-items-appear .3s ease both}.freshness-block{padding-top:12px;margin-top:4px;border-top:1px solid var(--km-line)}.freshness-block:first-child{border-top:0;padding-top:0}.fresh-batch-header,.freshness-header{margin-bottom:6px}.fresh-batch-title,.freshness-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;font-family:var(--km-font-display);font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-ink)}.freshness-icon{display:inline-flex;color:var(--km-ok)}.freshness-icon svg{width:14px;height:14px}.fresh-batch-badge{font-family:var(--km-font-body);font-weight:600;font-size:11px;letter-spacing:0;text-transform:none;padding:2px 7px;border-radius:999px;background:var(--km-surface);color:var(--km-mute);font-variant-numeric:tabular-nums}.fresh-batch-days-line,.freshness-hint{margin:2px 0 0;font-size:12px;color:var(--km-mute)}.shopping-section{margin-top:8px}.shopping-section-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--km-mute);padding:6px 0 2px}.shopping-item{border-bottom:1px solid var(--km-line)}.shopping-item:last-child{border-bottom:0}.shopping-label{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;min-height:40px;padding:6px 0;cursor:pointer}.shopping-checkbox{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:1.5px solid var(--km-mute);border-radius:5px;background:var(--km-bg);display:inline-grid;place-content:center;cursor:pointer}.shopping-checkbox:after{content:"";width:10px;height:6px;border-left:2.5px solid var(--km-primary-ink);border-bottom:2.5px solid var(--km-primary-ink);transform:rotate(-45deg) translate(1px,-1px);opacity:0}.shopping-checkbox:checked{background:var(--km-primary);border-color:var(--km-primary)}.shopping-checkbox:checked:after{opacity:1}.shopping-checkbox:focus-visible{outline:2px solid var(--km-primary);outline-offset:2px}.shopping-name{font-size:14px;line-height:1.3}.shopping-name.checked{color:var(--km-mute);text-decoration:line-through;text-decoration-color:var(--km-line)}.item-day-tag{font-size:11.5px;color:var(--km-mute)}.shopping-qty{font-family:var(--km-font-display);font-weight:700;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--km-ink)}.shopping-name.checked+.shopping-qty{color:var(--km-mute)}.shopping-qty-blur{filter:blur(5px);user-select:none}.shopping-items--trial{padding-bottom:8px}.shopping-trial-overlay{position:relative;margin-top:-70px;padding:80px 16px 18px;text-align:center;background:linear-gradient(to bottom,transparent 0%,var(--km-bg) 45%)}.shopping-trial-overlay-content{display:flex;flex-direction:column;align-items:center;gap:4px}.shopping-trial-overlay-icon{display:inline-flex;color:var(--km-mute);margin-bottom:4px}.shopping-trial-overlay-title{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:15px}.shopping-trial-overlay-sub{margin:0 0 8px;font-size:12.5px;color:var(--km-mute);max-width:40ch}.shopping-trial-overlay-btn{height:40px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13px var(--km-font-body);cursor:pointer}.empty-shopping{padding:28px 12px;text-align:center;border:1px dashed var(--km-line);border-radius:var(--km-r-lg)}.empty-icon{display:inline-flex;color:var(--km-mute);margin-bottom:8px}.empty-shopping-title{margin:0 0 4px;font-weight:600;font-size:14.5px}.empty-shopping-sub{margin:0 0 12px;font-size:12.5px;color:var(--km-mute);max-width:44ch;margin-inline:auto}.empty-shopping-cta{height:40px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13px var(--km-font-body);cursor:pointer}.svt-wrapper{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.svt-header{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface)}.svt-header-icon{display:inline-flex;color:var(--km-primary);flex-shrink:0;margin-top:1px}.svt-header-icon svg{width:20px;height:20px}.svt-header-title{margin:0;font-weight:700;font-size:14px}.svt-header-sub{margin:2px 0 0;font-size:12.5px;color:var(--km-mute)}.svt-gate-card{padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.svt-gate-icon{display:inline-flex;color:var(--km-mute);margin-bottom:4px}.svt-gate-title{margin:0 0 8px;font-family:var(--km-font-display);font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase}.svt-gate-checks{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;font-size:13.5px}.svt-gate-checks span{display:flex;align-items:center;gap:8px}.svt-gate-checks svg{width:14px;height:14px;color:var(--km-ok);flex-shrink:0}.svt-gate-btns{display:flex;gap:6px;flex-wrap:wrap}.svt-btn{flex:1 1 140px;min-height:42px;padding:0 14px;border-radius:var(--km-r);font:700 13px var(--km-font-body);cursor:pointer}.svt-btn--yearly{border:0;background:var(--km-primary);color:var(--km-primary-ink)}.svt-btn--yearly:hover{background:var(--km-primary-hover)}.svt-btn--monthly{border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink)}.svt-btn--monthly:hover{background:var(--km-surface)}@media print{.shopping-actions,.shop-progress,.shopping-trial-notice,nav,footer,.tabbar{display:none!important}.shopping{max-width:none;padding:0;color:#000}.shopping-item{break-inside:avoid}}.progress-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.progress-page svg{flex-shrink:0}.prg-head{margin-bottom:10px}.prg-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.prg-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.prg-loading{padding:32px 0;text-align:center;color:var(--km-mute);font-size:13px}.progress-auth-banner{padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);margin-bottom:12px}.progress-auth-benefits{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;font-size:13.5px}.progress-auth-benefit{display:flex;align-items:center;gap:8px}.progress-auth-benefit svg{width:14px;height:14px;color:var(--km-ok)}.progress-auth-cta{width:100%;min-height:44px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.progress-auth-hint{margin:8px 0 0;font-size:12.5px;color:var(--km-mute);text-align:center}.progress-auth-login-link{border:0;background:none;padding:0;color:var(--km-primary);font:600 12.5px var(--km-font-body);cursor:pointer}.tab-switcher{display:flex;gap:4px;padding:3px;background:var(--km-surface);border-radius:8px;margin-bottom:12px}.tab-btn{flex:1;min-height:38px;border:0;border-radius:var(--km-r);background:transparent;color:var(--km-mute);font:600 13px var(--km-font-body);cursor:pointer}.tab-btn.active{background:var(--km-bg);color:var(--km-ink);box-shadow:0 0 0 1px var(--km-line)}.tab-btn:focus-visible{outline:2px solid var(--km-primary);outline-offset:2px}.pp-summary-card{background:var(--km-block-bg);color:var(--km-block-ink);border-radius:var(--km-r);padding:10px 12px;margin-bottom:10px}.pp-summary-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--km-block-mute)}.pp-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.pp-summary-item{display:flex;flex-direction:column;gap:2px;min-width:0}.pp-summary-val{font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.pp-summary-val--pct{color:var(--km-block-accent)}.pp-summary-lbl{font-size:10.5px;color:var(--km-block-mute)}.pp-summary-bar-track{height:5px;border-radius:3px;background:var(--km-block-track);overflow:hidden}.pp-summary-bar-fill{height:100%;background:var(--km-block-accent);border-radius:3px;transition:width .3s}.weight-calorie-hint{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--km-mute);margin-bottom:8px}.weight-calorie-hint-icon{display:inline-flex;margin-top:1px;color:var(--km-primary)}.weight-input-section{margin-bottom:12px}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.weight-input-group{display:flex;flex-direction:column;gap:5px;min-width:0}.weight-input-group label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.input-with-unit{display:flex;align-items:stretch;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);overflow:hidden}.input-with-unit:focus-within{border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.input-with-unit input{flex:1;min-width:0;height:42px;padding:0 10px;border:0;background:transparent;color:var(--km-ink);font-family:var(--km-font-display);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums;outline:none}.input-with-unit input::placeholder{font-family:var(--km-font-body);font-weight:500;font-size:13px;color:var(--km-mute)}.unit-btn,.unit-label{display:inline-flex;align-items:center;padding:0 10px;border:0;border-left:1px solid var(--km-line);background:var(--km-surface);color:var(--km-mute);font:700 12px var(--km-font-body)}.unit-btn{cursor:pointer}.unit-btn:hover{color:var(--km-ink)}.log-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.log-btn:disabled{opacity:.55;cursor:not-allowed}.log-btn.full-width{width:100%}.pp-projection-card,.pp-milestone-card,.pp-trend-card,.pp-premium-teaser,.weight-chart-section,.measurements-chart-section,.achievements-section{padding-top:12px;margin-bottom:4px;border-top:1px solid var(--km-line)}.pp-proj-header,.pp-trend-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.pp-proj-title,.pp-milestone-title,.pp-trend-label-title,.pp-pt-title,.weight-chart-section h3,.measurements-chart-section h3,.achievements-section h3,.measurement-entries h4{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.pp-milestone-title,.weight-chart-section h3,.measurements-chart-section h3,.achievements-section h3{margin-bottom:8px}.pp-proj-emoji,.pp-proj-lock,.pp-pt-icon{display:inline-flex;color:var(--km-mute)}.pp-proj-rows{display:flex;flex-direction:column}.pp-proj-row{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px dashed var(--km-line)}.pp-proj-row:last-child{border-bottom:0}.pp-proj-row-icon{display:inline-flex;color:var(--km-primary);margin-top:2px}.pp-proj-row-body{flex:1;min-width:0}.pp-proj-row-lbl{margin:0;font-size:12px;color:var(--km-mute)}.pp-proj-row-val{margin:1px 0 0;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.pp-on-track{color:var(--km-ok);font-weight:600;font-size:12.5px}.pp-off-track{color:var(--km-warn);font-weight:600;font-size:12.5px}.pp-blur{filter:blur(4px);user-select:none}.pp-milestone-list{display:flex;flex-direction:column}.pp-ms-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed var(--km-line);font-size:13.5px}.pp-ms-item:last-child{border-bottom:0}.pp-ms-icon{display:inline-flex;width:18px;justify-content:center;color:var(--km-mute)}.pp-ms-item--reached .pp-ms-icon{color:var(--km-ok)}.pp-ms-item--next .pp-ms-icon{color:var(--km-primary)}.pp-ms-weight{font-family:var(--km-font-display);font-weight:800;font-variant-numeric:tabular-nums}.pp-ms-item--reached .pp-ms-weight{color:var(--km-mute);text-decoration:line-through;text-decoration-color:var(--km-line)}.pp-ms-badge{margin-left:auto;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px}.pp-ms-badge--reached{background:var(--km-surface);color:var(--km-ok)}.pp-ms-badge--next{background:var(--km-primary-soft);color:var(--km-primary)}.pp-trend-indicator{display:flex;align-items:center;gap:8px;font-size:14px}.pp-trend-icon{display:inline-flex;color:var(--km-mute)}.pp-trend-indicator--losing .pp-trend-icon{color:var(--km-ok)}.pp-trend-indicator--gaining .pp-trend-icon{color:var(--km-warn)}.pp-trend-text{margin:4px 0 0;font-size:12.5px;color:var(--km-mute)}.pp-premium-teaser{display:flex;flex-direction:column;gap:6px}.pp-pt-list{display:flex;flex-direction:column;gap:4px;font-size:13px}.pp-pt-list span{display:flex;align-items:center;gap:8px}.pp-pt-list svg{width:14px;height:14px;color:var(--km-ok)}.pp-pt-btn{align-self:flex-start;min-height:38px;padding:0 14px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13px var(--km-font-body);cursor:pointer;margin-top:4px}.no-data-state{padding:20px 12px;text-align:center;border:1px dashed var(--km-line);border-radius:var(--km-r-lg)}.no-data-icon{display:inline-flex;color:var(--km-mute);margin-bottom:6px}.no-data-title{margin:0 0 2px;font-weight:600;font-size:14px}.no-data-sub{margin:0 0 8px;font-size:12.5px;color:var(--km-mute)}.no-data-benefits{display:flex;flex-direction:column;align-items:center;gap:3px;margin-bottom:12px;font-size:13px}.no-data-benefits span{display:inline-flex;align-items:center;gap:6px}.no-data-benefits svg{width:13px;height:13px;color:var(--km-ok)}.no-data-cta{min-height:40px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13px var(--km-font-body);cursor:pointer}.progress-page .no-data{margin:0;padding:12px 0;font-size:13px;color:var(--km-mute)}.progress-page .chart-container{display:flex;flex-direction:column;gap:10px}.progress-page .chart{display:flex;gap:8px}.progress-page .y-axis{display:flex;flex-direction:column;justify-content:space-between;min-width:48px;padding:6px 0 24px;text-align:right;font-size:11px;color:var(--km-mute);font-variant-numeric:tabular-nums}.progress-page .chart-area{flex:1;min-width:0;display:flex;flex-direction:column}.progress-page .chart-area svg{flex:1;min-height:180px;width:100%;border-radius:var(--km-r);background:var(--km-surface)}.progress-page .x-axis{display:flex;justify-content:space-around;padding-top:6px;font-size:11px;color:var(--km-mute);font-variant-numeric:tabular-nums}.progress-page .weight-entries{display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.progress-page .entry{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--km-line);font-size:13.5px}.progress-page .entry:last-child{border-bottom:0}.progress-page .entry-date{color:var(--km-mute);font-variant-numeric:tabular-nums}.progress-page .entry-weight{font-family:var(--km-font-display);font-weight:800;font-variant-numeric:tabular-nums}.measurements-input-section{margin-bottom:12px}.unit-toggle-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12.5px;color:var(--km-mute)}.unit-toggle-btn{height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:700 12px var(--km-font-body);cursor:pointer}.measurements-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-bottom:10px}.measurement-input-item{display:flex;flex-direction:column;gap:4px;min-width:0}.measurement-input-item label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.measurement-input-wrapper{display:flex;align-items:stretch;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);overflow:hidden}.measurement-input-wrapper:focus-within{border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.measurement-input-wrapper input{flex:1;min-width:0;height:38px;padding:0 10px;border:0;background:transparent;color:var(--km-ink);font-family:var(--km-font-display);font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;outline:none}.measure-unit{display:inline-flex;align-items:center;padding:0 8px;border-left:1px solid var(--km-line);background:var(--km-surface);color:var(--km-mute);font-size:11px;font-weight:700}.measurement-selector{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px;scrollbar-width:none}.measurement-selector::-webkit-scrollbar{display:none}.measure-select-btn{flex-shrink:0;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink);font:600 12.5px var(--km-font-body);cursor:pointer;white-space:nowrap}.measure-select-btn.active{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.measurement-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.progress-page .summary-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--km-r);background:var(--km-surface)}.progress-page .summary-label{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.progress-page .summary-value{font-family:var(--km-font-display);font-weight:800;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.progress-page .summary-value.positive{color:var(--km-ok)}.progress-page .summary-value.negative{color:var(--km-warn)}.measurement-entries{margin-top:12px}.measurement-entries h4{margin-bottom:6px}.entries-table{overflow-x:auto}.table-header,.table-row{display:grid;grid-template-columns:64px repeat(7,minmax(44px,1fr));gap:4px;padding:6px 0;font-size:11.5px;font-variant-numeric:tabular-nums;min-width:400px}.table-header{color:var(--km-mute);font-weight:700;font-size:10px;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--km-line)}.table-header span,.table-row span{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-header span:first-child,.table-row span:first-child{text-align:left}.table-row{border-bottom:1px dashed var(--km-line)}.table-row .entry-value{font-family:var(--km-font-display);font-weight:700}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.achievement-card{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-mute)}.achievement-card.unlocked{background:var(--km-block-bg);color:var(--km-block-ink)}.achievement-icon{display:inline-flex;margin-bottom:2px}.achievement-card.unlocked .achievement-icon{color:var(--km-block-accent)}.achievement-name{font-weight:700;font-size:13px;color:var(--km-ink)}.achievement-card.unlocked .achievement-name{color:var(--km-block-ink)}.achievement-desc{font-size:11.5px;font-variant-numeric:tabular-nums}@media(max-width:400px){.pp-summary-grid{grid-template-columns:repeat(2,1fr)}.input-row{grid-template-columns:1fr}}.privacy{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.privacy h1{margin:0 0 4px;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.privacy-content{display:flex;flex-direction:column}.last-updated{margin:0 0 8px;font-size:12px;color:var(--km-mute)}.privacy section{padding:12px 0;border-top:1px solid var(--km-line)}.privacy h2{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.privacy h3{margin:10px 0 4px;font-size:14px;font-weight:700}.privacy p{margin:0 0 8px;font-size:13.5px;line-height:1.55}.privacy p:last-child{margin-bottom:0}.privacy ul{margin:0 0 8px;padding-left:18px;font-size:13.5px;line-height:1.55}.privacy li{margin-bottom:4px}.privacy a{color:var(--km-primary);font-weight:600;text-decoration:none}.privacy a:hover{text-decoration:underline}.privacy strong{font-weight:700}.contact-email{font-weight:600}.install-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.install-page svg{flex-shrink:0}.htu-head{margin-bottom:12px}.htu-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.htu-head__sub{margin:4px 0 0;font-size:12.5px;color:var(--km-mute)}.install-cta-section{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.install-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.install-cta-btn:hover{background:var(--km-primary-hover)}.install-cta-hint{margin:0;font-size:12.5px;color:var(--km-mute)}.install-already-done{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-ok);font-weight:600;font-size:13.5px}.install-platforms{display:none;flex-direction:column;gap:8px;margin-bottom:8px}.install-platforms.visible{display:flex}.platform-card{padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.platform-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.platform-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--km-r);background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.platform-card-title{font-weight:700;font-size:14.5px}.platform-card-sub{font-size:12px;color:var(--km-mute)}.platform-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.platform-step{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px dashed var(--km-line);font-size:13.5px}.platform-step>span:last-child{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.platform-step-tag{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--km-primary);color:var(--km-primary-ink);font-family:var(--km-font-display);font-weight:800;font-size:11.5px;flex-shrink:0}.getting-started-section{display:flex;flex-direction:column}.htu-section{padding:12px 0;border-top:1px solid var(--km-line)}.gs-title{margin:0 0 4px;display:flex;align-items:center;gap:6px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.gs-steps{display:flex;flex-direction:column}.gs-step-card{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:8px 0;border-bottom:1px dashed var(--km-line)}.gs-step-card:last-child{border-bottom:0}.gs-step-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary)}.gs-step-content{min-width:0}.gs-step-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gs-step-title{font-weight:700;font-size:14.5px;line-height:1.25}.gs-step-text{margin-top:2px;font-size:13.5px;line-height:1.45;color:var(--km-mute)}.gs-step-text strong{color:var(--km-ink)}.htu-premium-badge{display:inline-block;padding:1px 6px;border-radius:999px;background:var(--km-primary-soft);color:var(--km-primary);font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.htu-list{margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.5;color:var(--km-mute)}.htu-premium-list,.gs-tips-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.htu-premium-list li,.gs-tips-list li{display:flex;align-items:center;gap:8px;font-size:13.5px}.htu-check{display:inline-flex;color:var(--km-ok)}.about{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.about svg{flex-shrink:0}.about h1{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.about-content{display:flex;flex-direction:column}.about-hero{padding:8px 0 12px}.about-hero h2{margin:0 0 4px;font-family:var(--km-font-display);font-weight:800;font-size:16px;line-height:1.2}.about-hero p{margin:0;font-size:14px;line-height:1.5;color:var(--km-mute)}.features-grid{display:flex;flex-direction:column;border-top:1px solid var(--km-line)}.feature-card{display:grid;grid-template-columns:36px 1fr;gap:2px 12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--km-line)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary);grid-row:span 2}.feature-card h3{margin:0;font-weight:700;font-size:14.5px;line-height:1.25}.feature-card p{margin:0;font-size:13px;line-height:1.45;color:var(--km-mute)}.subscription-section,.contact-section{padding:12px 0;border-bottom:1px solid var(--km-line)}.subscription-section h2,.contact-section h2{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.subscription-section p,.contact-section p{margin:0 0 8px;font-size:13.5px;line-height:1.5}.contact-section a{color:var(--km-primary);font-weight:600;text-decoration:none}.contact-section a:hover{text-decoration:underline}.manage-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.manage-btn:hover:not(:disabled){background:var(--km-surface)}.manage-btn:disabled{opacity:.6;cursor:not-allowed}.subscription-note{margin:8px 0 0!important;font-size:12px!important;color:var(--km-mute)}.contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.contact-btn:hover{background:var(--km-surface);text-decoration:none!important}.version-section{padding-top:10px}.version-label{margin:0;font-size:11px;color:var(--km-mute);font-variant-numeric:tabular-nums}.version-dot{display:none}.profile-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.profile-page svg{flex-shrink:0}.prf-head{margin-bottom:10px}.prf-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.prf-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute);word-break:break-all}.prf-loading{padding:32px 0;text-align:center;color:var(--km-mute);font-size:13px}.profile-content{display:flex;flex-direction:column;gap:4px}.profile-section{padding:12px 0 14px;border-top:1px solid var(--km-line)}.profile-section:first-child{border-top:0;padding-top:0}.profile-section h2{margin:0 0 10px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.prf-status{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.profile-subscription-badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--km-surface);color:var(--km-mute)}.profile-subscription-badge.active{background:var(--km-primary-soft);color:var(--km-primary)}.profile-subscription-badge svg{width:13px;height:13px}.prf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prf-grid .profile-field{margin:0}.prf-grid .profile-field--full{grid-column:1 / -1}.profile-field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;min-width:0}.profile-field:last-child{margin-bottom:0}.profile-field label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.profile-field input,.profile-field select{width:100%;height:42px;padding:0 10px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 14px var(--km-font-body);font-variant-numeric:tabular-nums}.profile-field input:focus,.profile-field select:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.profile-field input::placeholder{color:var(--km-mute)}.profile-field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--km-mute) 50%),linear-gradient(135deg,var(--km-mute) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}.profile-email-display{height:42px;display:flex;align-items:center;padding:0 10px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-ink);font-size:14px;word-break:break-all}.profile-dob-row{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:6px}.height-ft-in-row{display:flex;align-items:center;gap:6px}.height-ft-in-row input{flex:1;min-width:0}.height-unit-label{font-size:12px;font-weight:600;color:var(--km-mute)}.calorie-calc-box{display:flex;flex-direction:column}.calorie-calc-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--km-line);font-size:13.5px}.calorie-calc-row:last-child{border-bottom:0}.calorie-calc-label{color:var(--km-mute);min-width:0}.calorie-calc-value{font-family:var(--km-font-display);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex;align-items:baseline;gap:8px}.calorie-calc-tdee{border-bottom:1px solid var(--km-line)}.calorie-calc-target{margin-top:4px}.calorie-calc-highlight{font-weight:900;font-size:16px;color:var(--km-primary)}.calorie-calc-source-link{display:inline-flex;align-items:center;gap:3px;border:0;background:none;padding:0;color:var(--km-primary);font:600 12px var(--km-font-body);cursor:pointer}.calorie-calc-missing{padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);font-size:13px}.calorie-calc-missing p{margin:0 0 6px;color:var(--km-mute)}.calorie-calc-missing ul{margin:0;padding-left:18px}.calorie-calc-missing li{display:flex;align-items:center;gap:8px;padding:2px 0}.profile-payment-note{margin:0;font-size:13px;color:var(--km-mute)}.notif-settings-note{margin:0 0 8px;font-size:13px;color:var(--km-mute)}.notif-settings-saving{color:var(--km-primary);font-weight:600}.notif-settings-warn{padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink)}.notif-settings-enable-box{display:flex;flex-direction:column;gap:8px}.notif-settings-enable-btn,.profile-feedback-btn,.profile-save-btn,.profile-next-cta,.profile-onboarding-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.notif-settings-enable-btn{align-self:flex-start;min-height:40px;font-size:13px}.notif-settings-relink{border:0;background:none;padding:0;color:var(--km-primary);font:600 13px var(--km-font-body);cursor:pointer;text-decoration:underline}.notif-toggle-list{display:flex;flex-direction:column}.notif-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--km-line)}.notif-toggle-row:last-child{border-bottom:0}.notif-toggle-info{display:flex;align-items:flex-start;gap:10px;min-width:0}.notif-toggle-icon{display:inline-flex;color:var(--km-primary);margin-top:2px}.notif-toggle-label{font-weight:600;font-size:14px}.notif-toggle-sub{font-size:12px;color:var(--km-mute)}.notif-toggle-switch{position:relative;width:36px;height:20px;flex-shrink:0}.notif-toggle-switch input{position:absolute;opacity:0;width:0;height:0}.notif-toggle-slider{position:absolute;inset:0;background:var(--km-control-off);border-radius:999px;cursor:pointer;transition:background .15s}.notif-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform .15s}.notif-toggle-switch input:checked+.notif-toggle-slider{background:var(--km-primary)}.notif-toggle-switch input:checked+.notif-toggle-slider:before{transform:translate(16px)}.notif-toggle-switch input:focus-visible+.notif-toggle-slider{outline:2px solid var(--km-primary);outline-offset:2px}.notif-settings-disable-btn{margin-top:8px;border:0;background:none;padding:0;color:var(--km-mute);font:600 12.5px var(--km-font-body);cursor:pointer;text-decoration:underline}.notif-settings-disable-btn:hover{color:var(--km-danger)}.profile-feedback-sub{margin:0 0 8px;font-size:13px;color:var(--km-mute)}.profile-feedback-btn{min-height:40px;font-size:13px;background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.profile-save-btn{width:100%;min-height:48px;margin-top:8px}.profile-save-btn:disabled{opacity:.55;cursor:not-allowed}.profile-save-error{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.profile-saved-message{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);color:var(--km-ok);font-weight:600;font-size:13px}.profile-next-cta{width:100%;margin-top:8px;background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.profile-onboarding-overlay{position:fixed;inset:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.profile-onboarding-modal{width:100%;max-width:440px;max-height:90vh;overflow-y:auto;padding:18px 16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink)}.profile-onboarding-check{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--km-primary-soft);color:var(--km-primary);margin-bottom:10px}.profile-onboarding-title{margin:0 0 4px;font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.profile-onboarding-sub{margin:0 0 10px;font-size:13.5px;color:var(--km-mute);line-height:1.45}.profile-onboarding-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.profile-onboarding-chips span{height:26px;padding:0 9px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--km-line);font-size:12px;font-weight:600;color:var(--km-mute)}.profile-onboarding-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px;font-size:12.5px;color:var(--km-mute)}.profile-onboarding-step{display:inline-flex;align-items:center;gap:6px}.profile-onboarding-step.current{color:var(--km-ink);font-weight:600}.step-dot{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--km-surface);font-size:11px;font-weight:800;font-family:var(--km-font-display)}.profile-onboarding-step.done .step-dot{background:var(--km-ok);color:#fff}.profile-onboarding-step.current .step-dot{background:var(--km-primary);color:var(--km-primary-ink)}.profile-onboarding-step-arrow{display:inline-flex;color:var(--km-line)}.profile-onboarding-cta{width:100%}.profile-onboarding-skip{width:100%;margin-top:6px;min-height:36px;border:0;background:none;color:var(--km-mute);font:600 13px var(--km-font-body);cursor:pointer}@media(max-width:400px){.prf-grid{grid-template-columns:1fr}}.myrecipes-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.myrecipes-page svg{flex-shrink:0}.mr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}.mr-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.mr-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.mr-new-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 13.5px var(--km-font-body);cursor:pointer;white-space:nowrap}.mr-new-btn:hover{background:var(--km-primary-hover)}.mr-toolbar{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.mr-search{position:relative;display:flex;align-items:center}.mr-search__icon{position:absolute;left:10px;color:var(--km-mute);pointer-events:none}.mr-search__input{width:100%;min-height:42px;padding:0 36px 0 34px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 14px var(--km-font-body)}.mr-search__input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.mr-search__input::placeholder{color:var(--km-mute)}.mr-search__clear{position:absolute;right:6px;width:28px;height:28px;border:0;border-radius:var(--km-r);background:none;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mr-filters{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}.mr-filters::-webkit-scrollbar{display:none}.mr-filter{flex:none;height:32px;padding:0 11px;border:1px solid var(--km-line);border-radius:999px;background:var(--km-bg);color:var(--km-ink);font:600 12.5px var(--km-font-body);cursor:pointer;white-space:nowrap}.mr-filter:hover{background:var(--km-surface)}.mr-filter.active{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.mr-list{display:flex;flex-direction:column}.mr-row{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--km-line);cursor:pointer}.mr-row__img{width:56px;height:56px;border-radius:var(--km-r);object-fit:cover;background:var(--km-surface);display:flex;align-items:center;justify-content:center;color:var(--km-mute)}.mr-row__body{min-width:0;display:flex;flex-direction:column;gap:2px}.mr-row__name{margin:0;font-weight:700;font-size:14.5px;line-height:1.25}.mr-row__meta{font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.mr-row__nut{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12.5px;color:var(--km-mute);font-variant-numeric:tabular-nums}.mr-row__nut b{color:var(--km-ink);font-weight:700}.mr-row__actions{display:flex;gap:2px}.mr-icon-btn{width:32px;height:32px;border:0;border-radius:var(--km-r);background:none;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mr-icon-btn:hover{background:var(--km-surface);color:var(--km-ink)}.mr-icon-btn--danger:hover{color:var(--km-danger)}.mr-skeleton{display:flex;flex-direction:column}.mr-skeleton__row{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--km-line)}.shimmer-block{background:var(--km-surface);border-radius:var(--km-r);animation:mr-shimmer 1.2s ease-in-out infinite}@keyframes mr-shimmer{0%,to{opacity:1}50%{opacity:.5}}.mr-error{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.mr-error button{margin-left:auto;min-height:32px;padding:0 10px;border:1px solid var(--km-danger-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-danger-ink);font:600 12.5px var(--km-font-body);cursor:pointer}.mr-empty{padding:24px 12px;text-align:center;border:1px dashed var(--km-line);border-radius:var(--km-r-lg)}.mr-empty__icon{display:inline-flex;color:var(--km-mute);margin-bottom:6px}.mr-empty h3{margin:0 0 4px;font-size:14.5px;font-weight:700}.mr-empty p{margin:0 0 12px;font-size:12.5px;color:var(--km-mute)}.recipe-form-overlay,.recipe-preview-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#0b12208c}.recipe-form-modal,.recipe-preview-card{width:100%;max-width:640px;max-height:92dvh;display:flex;flex-direction:column;background:var(--km-bg);color:var(--km-ink);border-radius:var(--km-r-lg) var(--km-r-lg) 0 0;overflow:hidden}@media(min-width:700px){.recipe-form-overlay,.recipe-preview-overlay{align-items:center;padding:20px}.recipe-form-modal,.recipe-preview-card{border-radius:var(--km-r-lg);max-height:90vh}}.recipe-form-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--km-line)}.recipe-form-modal-header h2{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:16px}.recipe-form-modal-close,.recipe-preview-close{width:32px;height:32px;border:0;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.recipe-form-modal-body{overflow-y:auto;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))}.recipe-form{display:flex;flex-direction:column;gap:12px}.recipe-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recipe-form-section{display:flex;flex-direction:column;gap:5px}.recipe-form-label-row{display:flex;align-items:center;justify-content:space-between}.recipe-form-label{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.recipe-form-input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 14px var(--km-font-body)}.recipe-form-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.recipe-form-input::placeholder{color:var(--km-mute)}.recipe-form-textarea{padding:10px 12px;line-height:1.45;resize:vertical;min-height:60px}.recipe-form-textarea--tall{min-height:120px}select.recipe-form-input{appearance:auto}.recipe-form-image-preview{width:100%;max-height:160px;object-fit:cover;border-radius:var(--km-r);margin-top:4px}.recipe-form-nutrition-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.recipe-form-nut-field{display:flex;flex-direction:column;gap:3px}.recipe-form-nut-label{font-size:11px;color:var(--km-mute)}.recipe-form-nut-input{padding:0 8px;font-variant-numeric:tabular-nums}.recipe-form-add-btn{min-height:28px;padding:0 10px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-primary);font:700 12.5px var(--km-font-body);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.ingredient-list{display:flex;flex-direction:column;gap:6px}.ingredient-row{display:grid;grid-template-columns:1fr 64px 56px 32px;gap:6px;align-items:center}.ingredient-row input{min-width:0;min-height:38px;padding:0 10px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 13.5px var(--km-font-body)}.ingredient-row input:focus{outline:none;border-color:var(--km-primary)}.ing-qty{font-variant-numeric:tabular-nums}.ing-remove{width:32px;height:32px;border:0;border-radius:var(--km-r);background:none;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ing-remove:hover{color:var(--km-danger);background:var(--km-surface)}.recipe-chip-group{display:flex;flex-wrap:wrap;gap:6px}.recipe-chip{height:30px;padding:0 10px;border:1px solid var(--km-line);border-radius:999px;background:var(--km-bg);color:var(--km-ink);font:600 12.5px var(--km-font-body);cursor:pointer;display:inline-flex;align-items:center}.recipe-chip--active{background:var(--km-primary-soft);border-color:var(--km-primary);color:var(--km-primary)}.recipe-chip--allergen.recipe-chip--active{background:var(--km-danger-soft);border-color:var(--km-danger-line);color:var(--km-danger-ink)}.recipe-form-actions{display:flex;gap:6px;padding-top:4px}.recipe-form-cancel,.recipe-form-save{flex:1;min-height:44px;padding:0 14px;border-radius:var(--km-r);font:700 14px var(--km-font-body);cursor:pointer}.recipe-form-cancel{border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink)}.recipe-form-save{border:0;background:var(--km-primary);color:var(--km-primary-ink)}.recipe-form-save:disabled{opacity:.5;cursor:not-allowed}.recipe-preview-card{position:relative;overflow-y:auto}.recipe-preview-close{position:absolute;top:10px;right:10px;z-index:1}.recipe-preview-image{width:100%;max-height:220px;object-fit:cover;display:block}.recipe-preview-image-placeholder{height:80px;display:flex;align-items:center;justify-content:center;background:var(--km-surface);color:var(--km-mute)}.recipe-preview-body{padding:12px 14px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px}.recipe-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-right:36px}.recipe-preview-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.recipe-preview-type{font-size:12px;color:var(--km-mute)}.recipe-preview-edit-btn{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 10px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 12.5px var(--km-font-body);cursor:pointer;white-space:nowrap}.recipe-preview-desc{margin:0;font-size:13.5px;line-height:1.45;color:var(--km-mute)}.recipe-preview-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--km-mute);font-variant-numeric:tabular-nums}.recipe-meta-chip{display:inline-flex;align-items:center;gap:4px}.recipe-preview-nutrition{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.recipe-nutrition-badge{display:flex;flex-direction:column;gap:1px}.recipe-nutrition-value{font-family:var(--km-font-display);font-weight:800;font-size:17px;font-variant-numeric:tabular-nums}.recipe-nutrition-badge:first-child .recipe-nutrition-value{color:var(--km-block-accent)}.recipe-nutrition-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--km-block-mute)}.recipe-preview-section{display:flex;flex-direction:column;gap:4px}.recipe-preview-section-title{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.recipe-preview-ingredients{margin:0;padding:0;list-style:none}.recipe-preview-ingredients li{display:flex;gap:6px;padding:5px 0;border-bottom:1px dashed var(--km-line);font-size:13.5px;font-variant-numeric:tabular-nums}.recipe-preview-ingredients li:last-child{border-bottom:0}.recipe-preview-ingredients strong{font-weight:700;white-space:nowrap}.ing-dot{display:none}.recipe-preview-instructions p{margin:0 0 6px;font-size:13.5px;line-height:1.5}.recipe-preview-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.recipe-preview-allergen-label{font-size:12px;color:var(--km-mute)}.recipe-preview-chips .recipe-chip{cursor:default}@media(max-width:420px){.mr-row{grid-template-columns:48px 1fr}.mr-row__img{width:48px;height:48px}.mr-row__actions{grid-column:2;justify-content:flex-start;margin-top:2px}.recipe-form-nutrition-row{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.shimmer-block{animation:none}}.afb-page{max-width:1200px;margin:0 auto;padding:28px 20px 80px;font-family:inherit}.afb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:12px;flex-wrap:wrap}.afb-title{font-size:1.45rem;font-weight:800;color:var(--km-ink);margin:0}.afb-export-btn{background:var(--km-primary);color:#fff;border:none;border-radius:10px;padding:9px 18px;font-size:.85rem;font-weight:700;cursor:pointer;transition:opacity .15s;white-space:nowrap}.afb-export-btn:hover{opacity:.9}.afb-tabs{display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.afb-tabs::-webkit-scrollbar{display:none}.afb-tab{display:flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.afb-tab:hover{border-color:var(--km-primary-soft);color:var(--km-primary);background:var(--km-surface)}.afb-tab--active{background:var(--km-primary);border-color:var(--km-primary);color:#fff}.afb-tab-icon{font-size:1rem}.afb-rating-summary{display:flex;gap:24px;align-items:flex-start;background:#fff;border:1.5px solid var(--km-surface);border-radius:16px;padding:20px 24px;margin-bottom:20px;flex-wrap:wrap}.afb-rating-big{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:100px}.afb-rating-score{font-size:2.8rem;font-weight:900;color:var(--km-ink);line-height:1}.afb-rating-stars{font-size:1.1rem;color:#f59e0b;letter-spacing:2px}.afb-rating-of{font-size:.75rem;color:#94a3b8;font-weight:500}.afb-rating-dist{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px}.afb-dist-row{display:flex;align-items:center;gap:10px}.afb-dist-label{font-size:.8rem;color:#f59e0b;letter-spacing:1px;width:60px;flex-shrink:0}.afb-dist-bar{flex:1;height:8px;background:#f1f5f9;border-radius:99px;overflow:hidden}.afb-dist-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:99px;transition:width .4s ease}.afb-dist-count{font-size:.78rem;color:#64748b;width:28px;text-align:right;flex-shrink:0}.afb-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.afb-search-wrap{position:relative;flex:1;min-width:220px}.afb-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.9rem;pointer-events:none}.afb-search{width:100%;padding:9px 36px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.88rem;color:#1e293b;background:#f8fafc;box-sizing:border-box;outline:none;transition:border-color .15s}.afb-search:focus{border-color:var(--km-primary);background:#fff}.afb-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.78rem;padding:2px}.afb-search-clear:hover{color:#64748b}.afb-date-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.afb-date-label{font-size:.8rem;font-weight:600;color:#64748b}.afb-date-input{padding:8px 10px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.83rem;color:#1e293b;background:#f8fafc;outline:none}.afb-date-input:focus{border-color:var(--km-primary)}.afb-date-clear{padding:6px 12px;border:1.5px solid #fca5a5;border-radius:8px;background:#fff;color:#dc2626;font-size:.8rem;font-weight:600;cursor:pointer}.afb-date-clear:hover{background:#fef2f2}.afb-stats-bar{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#64748b;margin-bottom:14px}.afb-stats-sep{color:#cbd5e1}.afb-stats-open{color:#d97706;font-weight:600}.afb-stats-resolved{color:#16a34a;font-weight:600}.afb-status{color:#64748b;font-size:.9rem;padding:24px 0;text-align:center}.afb-error{color:#dc2626;font-size:.9rem;padding:16px;background:#fef2f2;border-radius:10px;border:1px solid #fca5a5}.afb-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 0;color:#94a3b8;font-size:.9rem}.afb-empty-icon{font-size:2.5rem}.afb-table-wrap{overflow-x:auto;border-radius:14px;box-shadow:0 2px 12px #00000012;border:1px solid #f0f0f8}.afb-table{width:100%;border-collapse:collapse;font-size:.87rem;background:#fff}.afb-table thead tr{background:var(--km-surface)}.afb-table th{text-align:left;padding:11px 14px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--km-ink);border-bottom:1.5px solid var(--km-surface);white-space:nowrap}.afb-table td{padding:11px 14px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.afb-table tbody tr:last-child>td{border-bottom:none}.afb-row{cursor:pointer;transition:background .1s}.afb-row:hover>td{background:var(--km-surface)}.afb-row--resolved>td{opacity:.6}.afb-row--expanded>td{background:var(--km-surface)}.afb-td-email{color:#4b5563;font-size:.8rem;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.afb-td-title{max-width:200px;font-weight:600;color:var(--km-ink)}.afb-td-msg{max-width:280px;color:#374151}.afb-td-recipe{max-width:200px;color:#374151}.afb-td-reason{max-width:160px;color:#64748b}.afb-td-date{color:#9ca3af;font-size:.78rem;white-space:nowrap}.afb-td-ss{text-align:center;font-size:.9rem}.afb-td-stars{color:#f59e0b;letter-spacing:1px;white-space:nowrap;font-size:.82rem}.afb-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afb-anon{color:#d1d5db;font-style:italic;font-size:.78rem}.afb-empty{color:#d1d5db}.afb-helpful{color:#16a34a;font-weight:600;font-size:.82rem}.afb-nothelpful{color:#dc2626;font-weight:600;font-size:.82rem}.afb-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:700;white-space:nowrap}.afb-badge--open{background:#fef3c7;color:#d97706}.afb-badge--resolved{background:#dcfce7;color:#16a34a}.afb-actions{display:flex;gap:6px;align-items:center}.afb-action-btn{padding:5px 10px;border-radius:7px;font-size:.78rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;white-space:nowrap;transition:background .15s,color .15s}.afb-action-btn--resolve{background:#f0fdf4;border-color:#86efac;color:#16a34a}.afb-action-btn--resolve:hover{background:#dcfce7}.afb-action-btn--reopen{background:#fef9c3;border-color:#fde047;color:#b45309}.afb-action-btn--reopen:hover{background:#fef08a}.afb-action-btn--delete{background:#fff;border-color:#fca5a5;color:#ef4444;font-size:.9rem}.afb-action-btn--delete:hover{background:#fef2f2}.afb-row-detail>td{padding:0;border-bottom:2px solid var(--km-surface)}.afb-detail{background:var(--km-surface);padding:16px 20px;display:flex;flex-wrap:wrap;gap:12px 32px}.afb-detail-field{display:flex;flex-direction:column;gap:2px;min-width:140px}.afb-detail-field--full{width:100%;flex-basis:100%}.afb-detail-key{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--km-primary)}.afb-detail-msg{font-size:.88rem;color:#1e293b;line-height:1.6;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;margin-top:4px}.afb-detail-stars{color:#f59e0b;letter-spacing:2px}.afb-detail-link{color:var(--km-primary);font-size:.8rem;word-break:break-all;text-decoration:underline}.afb-detail-ss{color:#059669;font-size:.82rem}.afb-confirm-overlay{position:fixed;inset:0;background:#00000073;z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px}.afb-confirm-modal{background:#fff;border-radius:16px;padding:28px 28px 22px;max-width:360px;width:100%;box-shadow:0 8px 40px #0000002e;text-align:center;animation:afb-scale .18s ease}@keyframes afb-scale{0%{transform:scale(.93);opacity:0}to{transform:scale(1);opacity:1}}.afb-confirm-msg{font-size:.95rem;font-weight:600;color:var(--km-ink);margin:0 0 6px;line-height:1.5}.afb-confirm-sub{font-size:.82rem;color:#94a3b8;font-weight:400}.afb-confirm-btns{display:flex;gap:10px;margin-top:20px}.afb-confirm-cancel{flex:1;padding:11px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-size:.9rem;font-weight:600;cursor:pointer}.afb-confirm-cancel:hover{background:#f8fafc}.afb-confirm-delete{flex:1;padding:11px;border:none;border-radius:10px;background:#ef4444;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s}.afb-confirm-delete:hover{opacity:.9}.afb-ss-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--km-primary);border-radius:7px;background:var(--km-surface);color:var(--km-primary);font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.afb-ss-btn:hover{background:var(--km-primary);color:#fff}.afb-ss-status{font-size:.82rem;color:#6b7280;font-style:italic}.afb-ss-missing{font-size:.82rem;color:#ef4444}.afb-ss-thumb{max-width:220px;max-height:140px;border-radius:8px;border:1px solid #e5e7eb;cursor:zoom-in;object-fit:cover;display:block;margin-top:4px;transition:box-shadow .15s}.afb-ss-thumb:hover{box-shadow:0 4px 16px #1d4fe040}.afb-lightbox-overlay{position:fixed;inset:0;background:#000000b8;z-index:9999;display:flex;align-items:center;justify-content:center}.afb-lightbox-box{position:relative;background:#fff;border-radius:14px;padding:18px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 20px 60px #00000080}.afb-lightbox-close{position:absolute;top:10px;right:12px;background:#f3f4f6;border:none;border-radius:50%;width:30px;height:30px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#374151;transition:background .15s}.afb-lightbox-close:hover{background:#e5e7eb}.afb-lightbox-img{max-width:80vw;max-height:75vh;border-radius:8px;object-fit:contain}.afb-lightbox-open{font-size:.82rem;color:var(--km-primary);text-decoration:none;font-weight:600}.afb-lightbox-open:hover{text-decoration:underline}.af-page{max-width:1100px;margin:0 auto;padding:32px 20px 60px}.af-title{font-size:24px;font-weight:700;color:var(--km-ink);margin-bottom:4px}.afb-kpis{flex-wrap:wrap;gap:12px}.afb-kpi{display:flex;flex-direction:column;min-width:110px;padding:12px 16px;border-radius:12px;background:#fff;border:1.5px solid #e2e8f0}.afb-kpi-val{font-size:1.4rem;font-weight:700;color:#1e293b}.afb-kpi-label{font-size:.75rem;color:#64748b;margin-top:2px}.afb-avg-num{font-size:.8rem;color:#64748b;margin-left:4px}.afb-td-id{font-family:ui-monospace,monospace;font-size:.72rem;color:#94a3b8}.admin-trials-page{max-width:1100px;margin:0 auto;padding:32px 20px 60px}.admin-trials-title{font-size:22px;font-weight:700;color:var(--km-ink);margin-bottom:24px}.admin-trials-loading,.admin-trials-error{text-align:center;padding:40px;color:#6b7280}.admin-trials-error{color:#dc2626}.admin-trials-stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.atstat{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:16px 24px;display:flex;flex-direction:column;align-items:center;min-width:130px;box-shadow:0 2px 8px #0000000d}.atstat-warn{border-color:#fbbf24;background:#fffbeb}.atstat-n{font-size:28px;font-weight:800;color:var(--km-primary)}.atstat-warn .atstat-n{color:#d97706}.atstat-l{font-size:12px;color:#6b7280;margin-top:2px;text-align:center}.admin-trials-table-wrap{overflow-x:auto;border-radius:14px;border:1.5px solid #e2e8f0;box-shadow:0 2px 12px #0000000d;background:#fff}.admin-trials-table{width:100%;border-collapse:collapse;font-size:13px}.admin-trials-table th{background:var(--km-surface);text-align:left;padding:12px 14px;font-weight:700;color:#374151;border-bottom:1.5px solid #e2e8f0;white-space:nowrap}.admin-trials-table td{padding:11px 14px;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}.admin-trials-table tr:last-child td{border-bottom:none}.row-flagged td{background:#fffbeb}.td-email{font-family:monospace;font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flag-yes{color:#d97706;font-weight:600}.flag-no{color:#9ca3af}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge-trialing{background:#dbeafe;color:#1d4ed8}.badge-active{background:#d1fae5;color:#065f46}.badge-free{background:#f3f4f6;color:#6b7280}.badge-expired{background:#fee2e2;color:#991b1b}.badge-canceled{background:#fef3c7;color:#92400e}.badge-past_due{background:#fee2e2;color:#991b1b}.risk-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700}.risk-low{background:#d1fae5;color:#065f46}.risk-med{background:#fef3c7;color:#92400e}.risk-high{background:#fee2e2;color:#991b1b}.admin-trials-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;font-size:14px;color:#374151}.admin-trials-pager button{padding:8px 18px;border:1.5px solid #d1d5db;border-radius:10px;background:#fff;font-size:13px;font-weight:600;cursor:pointer;color:#374151;transition:border-color .15s}.admin-trials-pager button:hover:not(:disabled){border-color:var(--km-primary);color:var(--km-primary)}.admin-trials-pager button:disabled{opacity:.4;cursor:not-allowed}.as-page{min-height:100vh;background:#f1f5f9;padding:24px 16px 60px;font-family:system-ui,-apple-system,sans-serif;color:#1e293b}.as-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.as-title{font-size:22px;font-weight:800;color:var(--km-ink);margin:0}.as-title span{color:var(--km-primary)}.as-subtitle{margin:4px 0 0;font-size:13px;color:#64748b}.as-header-links{display:flex;gap:8px;flex-wrap:wrap}.as-link-btn,.as-refresh{padding:8px 14px;border-radius:10px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-weight:600;color:#475569;cursor:pointer}.as-link-btn:hover,.as-refresh:hover{border-color:var(--km-primary-soft);color:var(--km-primary)}.as-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.as-days{display:flex;gap:4px}.as-chip{padding:7px 12px;border-radius:999px;border:1.5px solid #e2e8f0;background:#fff;font-size:13px;font-weight:600;color:#64748b;cursor:pointer}.as-chip--active{background:var(--km-primary);border-color:var(--km-primary);color:#fff}.as-toggle{font-size:13px;color:#475569;display:flex;align-items:center;gap:6px;cursor:pointer}.as-status,.as-empty{padding:24px;text-align:center;color:#94a3b8;font-size:14px}.as-error{padding:14px;border-radius:10px;background:#fef2f2;color:#b91c1c}.as-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:16px}.as-kpi{display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;background:#fff;border:1.5px solid #e2e8f0}.as-kpi--accent{border-color:var(--km-primary-soft);background:var(--km-surface)}.as-kpi-val{font-size:1.5rem;font-weight:800;color:var(--km-ink)}.as-kpi-label{font-size:.72rem;color:#64748b;margin-top:2px}.as-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:16px;margin-bottom:16px}.as-card-title{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--km-ink)}.as-count{margin-left:6px;font-size:12px;color:var(--km-primary);background:var(--km-surface);padding:2px 8px;border-radius:999px}.as-funnel-row{display:grid;grid-template-columns:190px 1fr 50px 110px;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}.as-funnel-label{color:#475569}.as-funnel-bar{height:14px;background:#f1f5f9;border-radius:7px;overflow:hidden}.as-funnel-fill{height:100%;background:var(--km-primary);border-radius:7px;transition:width .3s}.as-funnel-n{font-weight:700;text-align:right}.as-funnel-pct{color:#94a3b8;font-size:12px}.as-table-wrap{overflow-x:auto}.as-table{width:100%;border-collapse:collapse;font-size:13px}.as-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;padding:6px 8px;border-bottom:1px solid #e2e8f0}.as-table td{padding:8px;border-bottom:1px solid #f1f5f9;white-space:nowrap}.as-path{font-family:ui-monospace,monospace;color:var(--km-ink)}.as-rate{position:relative;width:120px;height:16px;background:#f1f5f9;border-radius:8px;overflow:hidden}.as-rate-fill{height:100%;background:var(--km-primary-soft)}.as-rate-fill--hot{background:#fca5a5}.as-rate span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#1e293b}.as-session{border:1px solid #f1f5f9;border-radius:10px;margin-bottom:6px;background:#fff}.as-session--open{border-color:var(--km-primary-soft)}.as-session-row{width:100%;display:grid;grid-template-columns:110px minmax(140px,1.2fr) 70px 90px minmax(200px,2fr) 70px 60px 20px;gap:10px;align-items:center;padding:9px 12px;background:none;border:0;text-align:left;font-size:13px;cursor:pointer;color:#1e293b}.as-session-row:hover{background:var(--km-surface)}.as-when{color:#64748b}.as-user{font-weight:600;color:var(--km-ink);word-break:break-all}.as-new{color:#16a34a;font-style:normal;font-size:11px;font-weight:800}.as-anon{color:#94a3b8}.as-dev,.as-src{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-journey{font-family:ui-monospace,monospace;font-size:12px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-journey b{color:var(--km-ink)}.as-views,.as-dur{color:#475569;text-align:right}.as-caret{color:#94a3b8;font-size:10px}.as-steps{margin:0;padding:6px 12px 12px 30px;border-top:1px dashed var(--km-surface)}.as-steps li{display:grid;grid-template-columns:80px 1fr 90px;gap:10px;font-size:13px;padding:4px 0}.as-step--last .as-step-path{font-weight:700;color:#b91c1c}.as-step-time{color:#94a3b8;font-variant-numeric:tabular-nums}.as-step-path{font-family:ui-monospace,monospace}.as-step-ms{color:#64748b;text-align:right}.as-step-meta{display:block!important;color:#94a3b8;font-size:12px;word-break:break-all}@media(max-width:760px){.as-session-row{grid-template-columns:1fr 1fr}.as-journey{grid-column:1 / -1}.as-funnel-row{grid-template-columns:130px 1fr 40px}.as-funnel-pct{display:none}}.aa-page{min-height:100vh;background:#f1f5f9;padding:24px 16px 60px;font-family:system-ui,-apple-system,sans-serif}.aa-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.aa-title{font-size:22px;font-weight:800;color:var(--km-ink);margin:0}.aa-title span{color:var(--km-primary)}.aa-meta{display:flex;align-items:center;gap:10px}.aa-updated{font-size:12px;color:#94a3b8}.aa-refresh-btn{display:flex;align-items:center;gap:6px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .15s}.aa-refresh-btn:hover{border-color:var(--km-primary);color:var(--km-primary)}.aa-refresh-btn:disabled{opacity:.5;cursor:default}.aa-loading,.aa-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:#64748b;font-size:15px}.aa-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:var(--km-primary);border-radius:50%;animation:aa-spin .7s linear infinite}@keyframes aa-spin{to{transform:rotate(360deg)}}.aa-error{color:#ef4444}.aa-section{background:#fff;border-radius:16px;padding:20px 20px 16px;margin-bottom:16px;box-shadow:0 1px 4px #00000012}.aa-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--km-primary);margin:0 0 14px}.aa-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:600px){.aa-grid{grid-template-columns:repeat(4,1fr)}}.aa-grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:480px){.aa-grid-3{grid-template-columns:repeat(3,1fr)}}.aa-card{background:#f8fafc;border:1px solid #f0f4ff;border-radius:12px;padding:14px 12px}.aa-card-label{font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.aa-card-value{font-size:26px;font-weight:800;color:var(--km-ink);line-height:1}.aa-card-value.accent{color:var(--km-primary)}.aa-card-value.green{color:#10b981}.aa-card-value.amber{color:#f59e0b}.aa-card-sub{font-size:11px;color:#94a3b8;margin-top:4px}.aa-conversion{margin-top:14px;padding:12px 14px;background:var(--km-primary-soft) 100%);border:1px solid rgba(29,79,224,.15);border-radius:10px;display:flex;align-items:center;gap:12px}.aa-conv-label{font-size:13px;color:var(--km-primary);font-weight:600;white-space:nowrap}.aa-conv-bar-wrap{flex:1;background:var(--km-surface);border-radius:99px;height:8px;overflow:hidden}.aa-conv-bar-fill{height:100%;background:var(--km-primary);border-radius:99px;transition:width .6s ease}.aa-conv-pct{font-size:15px;font-weight:800;color:var(--km-primary);white-space:nowrap}.aa-billing{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.aa-billing-chip{display:inline-flex;align-items:center;gap:5px;background:#f3f4f6;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;color:#374151}.aa-billing-chip .chip-count{font-size:15px;font-weight:800;color:var(--km-primary)}.aa-table-wrap{margin-top:12px;overflow-x:auto;border-radius:10px;border:1px solid #f0f4ff}.aa-table{width:100%;border-collapse:collapse;font-size:13px}.aa-table th{background:#f8fafc;padding:9px 12px;text-align:left;font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f0f4ff}.aa-table td{padding:9px 12px;border-bottom:1px solid #f8fafc;color:#374151}.aa-table tr:last-child td{border-bottom:none}.aa-table .rank{font-weight:700;color:var(--km-primary);width:28px}.aa-table .count-badge{display:inline-block;background:#1d4fe01a;color:var(--km-primary);border-radius:6px;padding:2px 8px;font-weight:700;font-size:12px}.aa-charts{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:700px){.aa-charts{grid-template-columns:repeat(3,1fr)}}.aa-chart-card{background:#fff;border-radius:16px;padding:16px 16px 12px;box-shadow:0 1px 4px #00000012}.aa-chart-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.aa-chart-total{font-size:20px;font-weight:800;color:var(--km-ink);margin-bottom:8px}.aa-chart-wrap{width:100%;height:60px}.aa-chart-empty{height:60px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#cbd5e1}.aa-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:12px;text-align:center}.aa-denied-icon{font-size:48px}.aa-denied h2{font-size:20px;font-weight:700;color:var(--km-ink);margin:0}.aa-denied p{font-size:14px;color:#64748b;margin:0}.au-page{min-height:100vh;background:#f1f5f9;padding:24px 16px 80px;font-family:system-ui,-apple-system,sans-serif;max-width:1400px;margin:0 auto}.au-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.au-title{font-size:22px;font-weight:800;color:var(--km-ink);margin:0 0 4px}.au-title span{color:var(--km-primary)}.au-subtitle{font-size:13px;color:#94a3b8;margin:0}.au-header-links{display:flex;gap:8px;flex-wrap:wrap}.au-link-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .15s;white-space:nowrap}.au-link-btn:hover{border-color:var(--km-primary);color:var(--km-primary)}.au-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.au-filter-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:all .15s;white-space:nowrap}.au-filter-btn:hover{border-color:var(--km-primary);color:var(--km-primary)}.au-filter-btn--active{background:var(--km-primary);border-color:var(--km-primary);color:#fff}.au-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.au-search{flex:1;min-width:220px;max-width:400px;border:1.5px solid #e2e8f0;border-radius:10px;padding:9px 14px;font-size:13px;color:var(--km-ink);background:#fff;outline:none;transition:border-color .15s}.au-search:focus{border-color:var(--km-primary)}.au-count{font-size:13px;font-weight:600;color:#64748b;white-space:nowrap}.au-loading,.au-error,.au-empty,.au-denied{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-height:30vh;color:#64748b;font-size:15px;text-align:center}.au-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:var(--km-primary);border-radius:50%;animation:au-spin .7s linear infinite}@keyframes au-spin{to{transform:rotate(360deg)}}.au-table-wrap{overflow-x:auto;border-radius:14px;box-shadow:0 2px 12px #0000000f;background:#fff}.au-table{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}.au-table thead th{background:#f8fafc;padding:10px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;border-bottom:1.5px solid #e2e8f0;white-space:nowrap}.au-row{border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .12s}.au-row:hover{background:var(--km-surface)}.au-row:last-child{border-bottom:none}.au-table td{padding:10px 12px;vertical-align:middle}.au-cell-id{color:#94a3b8;font-size:12px;font-weight:600}.au-cell-email{color:var(--km-ink);font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.au-cell-name{color:#475569}.au-cell-date{color:#64748b;white-space:nowrap;font-size:12px}.au-cell-num{text-align:right;font-weight:700;color:var(--km-ink)}.au-dim{color:#cbd5e1}.au-badge{display:inline-block;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;white-space:nowrap}.au-badge--premium{background:var(--km-surface);color:var(--km-primary)}.au-badge--trial{background:#dbeafe;color:#1d4ed8}.au-badge--expired{background:#fee2e2;color:#991b1b}.au-badge--canceled{background:#f1f5f9;color:#64748b}.au-badge--free{background:#f1f5f9;color:#94a3b8}.au-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.au-page-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .15s}.au-page-btn:hover:not(:disabled){border-color:var(--km-primary);color:var(--km-primary)}.au-page-btn:disabled{opacity:.4;cursor:default}.au-page-info{font-size:13px;color:#64748b;font-weight:600}.au-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}.au-back-btn{background:none;border:1.5px solid #e2e8f0;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--km-primary);cursor:pointer;transition:all .15s}.au-back-btn:hover{background:var(--km-surface);border-color:var(--km-primary)}.au-breadcrumb-sep{color:#cbd5e1}.au-breadcrumb-cur{font-size:13px;color:#64748b}.au-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media(max-width:768px){.au-detail-grid{grid-template-columns:1fr}}.au-detail-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000f;padding:20px}.au-detail-section-title{font-size:14px;font-weight:800;color:var(--km-ink);margin:0 0 14px;padding-bottom:10px;border-bottom:1.5px solid #f1f5f9}.au-detail-rows{display:flex;flex-direction:column;gap:8px}.au-detail-row{display:flex;align-items:baseline;gap:8px;font-size:13px}.au-detail-label{min-width:130px;color:#94a3b8;font-size:12px;font-weight:600;flex-shrink:0}.au-detail-value{color:var(--km-ink);font-weight:500;word-break:break-all}.au-mono{font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.au-small{font-size:11px}.au-section-heading{font-size:16px;font-weight:800;color:var(--km-ink);margin:0 0 14px}.au-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:8px}.au-stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:16px 12px;text-align:center}.au-stat-icon{font-size:22px;margin-bottom:6px}.au-stat-value{font-size:24px;font-weight:800;color:var(--km-ink)}.au-stat-label{font-size:11px;color:#94a3b8;font-weight:600;margin-top:4px}.au-last-activity{font-size:12px;color:#64748b;margin:8px 0 24px}.au-timeline{background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000f;overflow:hidden}.au-timeline-row{display:flex;align-items:flex-start;gap:12px;padding:10px 16px;border-bottom:1px solid #f1f5f9;font-size:13px;transition:background .1s}.au-timeline-row:last-child{border-bottom:none}.au-timeline-row:hover{background:var(--km-surface)}.au-timeline-icon{font-size:16px;flex-shrink:0;width:24px;text-align:center;padding-top:1px}.au-timeline-body{flex:1;display:flex;flex-direction:column;gap:2px}.au-timeline-type{font-weight:700;color:var(--km-ink)}.au-timeline-meta{font-size:11px;color:#94a3b8;font-family:SFMono-Regular,Consolas,monospace;word-break:break-all}.au-timeline-time{font-size:11px;color:#94a3b8;white-space:nowrap;flex-shrink:0}.au-events-empty{margin:16px 0}.th-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.th-page svg{flex-shrink:0}.th-breadcrumb{display:flex;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.th-breadcrumb a{color:var(--km-mute);text-decoration:none}.th-breadcrumb a:hover{color:var(--km-ink)}.th-head{margin-bottom:6px}.th-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.th-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute)}.th-group{padding-top:12px}.th-group__label{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.th-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--km-line);color:var(--km-ink);text-decoration:none}.th-row:hover .th-row__title{color:var(--km-primary)}.th-row__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary)}.th-row--scan .th-row__icon{background:var(--km-block-bg);color:var(--km-block-accent)}.th-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.th-row__title{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14.5px;line-height:1.25}.th-row__desc{font-size:12.5px;color:var(--km-mute);line-height:1.35}.th-row__tag{display:inline-block;padding:1px 6px;border-radius:999px;background:var(--km-primary-soft);color:var(--km-primary);font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.th-row__chev{color:var(--km-mute)}.th-cta{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.th-cta__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.th-cta__head{font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.th-cta__sub{font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.th-cta__btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;white-space:nowrap}.th-install{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.th-install__icon{display:inline-flex;color:var(--km-primary)}.th-install__text{flex:1;min-width:0;font-size:13px;line-height:1.35}.th-install__text strong{display:block;font-weight:700}.th-install__text span{color:var(--km-mute);font-size:12.5px}.th-install__btn{min-height:36px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.th-install__btn:hover{background:var(--km-surface)}@media(max-width:420px){.th-cta{flex-direction:column;align-items:stretch}.th-cta__btn{justify-content:center}}.pricing{max-width:960px;margin:0 auto;padding:8px 14px 32px;font-family:var(--km-font-body);color:var(--km-ink)}.pricing-head{margin-bottom:14px}.pricing-head h1{margin:0 0 4px;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.pricing-sub{margin:0 0 12px;font-size:13.5px;line-height:1.5;color:var(--km-mute);max-width:60ch}.pricing-toggle{display:inline-flex;gap:4px;padding:3px;background:var(--km-surface);border-radius:8px}.pricing-toggle button{min-height:36px;padding:0 16px;border:0;border-radius:var(--km-r);background:transparent;color:var(--km-mute);font:600 13px var(--km-font-body);cursor:pointer}.pricing-toggle button.is-on{background:var(--km-bg);color:var(--km-ink);box-shadow:0 0 0 1px var(--km-line)}.pricing-toggle button:focus-visible{outline:2px solid var(--km-primary);outline-offset:2px}.pricing-error{margin:0 0 12px;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;align-items:stretch}.pcard{position:relative;display:flex;flex-direction:column;padding:14px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg)}.pcard--featured{background:var(--km-block-bg);color:var(--km-block-ink);border-color:var(--km-block-bg)}.pcard--scan{background:var(--km-primary-soft);border:1.5px solid var(--km-primary)}.pcard--scan .pcard-name,.pcard--scan .pcard-amount{color:var(--km-primary)}.pcard--scan .pcard-list li{border-color:color-mix(in srgb,var(--km-primary) 25%,transparent)}.pcard--scan .pricing-save{background:var(--km-bg)}.pcard-badge--scan{background:var(--km-primary);color:var(--km-primary-ink)}.pcard-badge{position:absolute;top:10px;right:10px;height:22px;padding:0 8px;display:inline-flex;align-items:center;border-radius:999px;background:var(--km-accent);color:var(--km-accent-ink);font-size:11px;font-weight:800;white-space:nowrap}.pcard-name{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--km-mute)}.pcard--featured .pcard-name{color:var(--km-block-mute)}.pcard-price{display:flex;align-items:baseline;gap:3px}.pcard-amount{font-family:var(--km-font-display);font-weight:900;font-size:30px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pcard--featured .pcard-amount{color:var(--km-block-accent)}.pcard-per{font-size:13px;color:var(--km-mute)}.pcard--featured .pcard-per{color:var(--km-block-mute)}.pcard-note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0 10px;font-size:12.5px;color:var(--km-mute);min-height:1.4em}.pcard--featured .pcard-note{color:var(--km-block-mute)}.pricing-save{height:20px;padding:0 7px;display:inline-flex;align-items:center;border-radius:999px;background:var(--km-surface);color:var(--km-ok);font-size:11px;font-weight:700}.pcard--featured .pricing-save{background:var(--km-block-track);color:var(--km-block-accent)}.pcard-list{list-style:none;margin:0 0 14px;padding:0;flex:1}.pcard-list li{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:13.5px;line-height:1.4;border-bottom:1px dashed var(--km-line)}.pcard-list li:last-child{border-bottom:0}.pcard--featured .pcard-list li{border-color:var(--km-block-track)}.pcard-list svg{flex-shrink:0;margin-top:3px;color:var(--km-ok)}.pcard-list li.pcard-list__no{color:var(--km-mute)}.pcard-list li.pcard-list__no svg{color:var(--km-mute)}.pcard--featured .pcard-list li.pcard-list__no,.pcard--featured .pcard-list li.pcard-list__no svg{color:var(--km-block-mute)}.pcard-btn{width:100%;min-height:44px;padding:0 14px;border-radius:var(--km-r);font:700 14px var(--km-font-body);cursor:pointer}.pcard-btn.primary{border:0;background:var(--km-primary);color:var(--km-primary-ink)}.pcard-btn.primary:hover:not(:disabled){background:var(--km-primary-hover)}.pcard--featured .pcard-btn.primary{background:var(--km-accent);color:var(--km-accent-ink)}.pcard--featured .pcard-btn.primary:hover:not(:disabled){background:var(--km-accent);filter:brightness(.95)}.pcard-btn.ghost{border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink)}.pcard-btn.ghost:hover{background:var(--km-surface)}.pcard-btn:disabled{opacity:.55;cursor:not-allowed}.pricing-fine{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--km-mute);max-width:70ch}.ec-box{margin:4px 0 0;padding:12px;background:var(--km-bg);color:var(--km-ink);border-radius:var(--km-r);font-family:var(--km-font-body)}.ec-headline{margin:0 0 2px;font-size:14px;font-weight:700}.ec-subline{margin:0 0 10px;font-size:12.5px;color:var(--km-mute);line-height:1.4}.ec-row{display:flex;gap:6px;flex-wrap:wrap}.ec-input{flex:1 1 180px;min-width:0;min-height:42px;padding:0 12px;font:500 14px var(--km-font-body);border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink)}.ec-input::placeholder{color:var(--km-mute)}.ec-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.ec-btn{flex:0 0 auto;min-height:42px;padding:0 16px;font:700 13.5px var(--km-font-body);color:var(--km-primary-ink);background:var(--km-primary);border:0;border-radius:var(--km-r);cursor:pointer}.ec-btn:disabled{opacity:.6;cursor:default}.ec-btn:hover:not(:disabled){background:var(--km-primary-hover)}.ec-consent{display:flex;align-items:flex-start;gap:8px;margin-top:8px;font-size:12px;color:var(--km-mute);line-height:1.4;cursor:pointer}.ec-consent input{margin-top:2px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--km-primary)}.ec-error{margin:8px 0 0;font-size:12.5px;color:var(--km-danger)}.ec-box-done{text-align:center}.ec-done-icon{width:32px;height:32px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;color:var(--km-primary-ink);background:var(--km-ok);border-radius:50%}.ec-done-title{margin:0 0 2px;font-size:14px;font-weight:700}.ec-done-text{margin:0;font-size:12.5px;color:var(--km-mute);line-height:1.4;word-break:break-word}@media(max-width:420px){.ec-input,.ec-btn{flex:1 1 100%;width:100%}}.glp1-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.glp1-page svg{flex-shrink:0}.glp1-hero{padding:8px 0 16px;border-bottom:1px solid var(--km-line)}.glp1-kicker{margin:0 0 6px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--km-primary)}.glp1-title{margin:0 0 8px;font-family:var(--km-font-display);font-weight:900;font-size:26px;line-height:1.08;letter-spacing:-.015em;text-transform:var(--km-h1-case);text-wrap:balance}.glp1-sub{margin:0 0 12px;font-size:14.5px;line-height:1.5;color:var(--km-mute);max-width:52ch}.glp1-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none;min-height:46px}.glp1-cta:hover{background:var(--km-primary-hover)}.glp1-cta-note{margin:6px 0 0;font-size:12px;color:var(--km-mute)}.glp1-section{padding:14px 0;border-bottom:1px solid var(--km-line)}.glp1-h2{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.glp1-grid{display:flex;flex-direction:column}.glp1-card{display:grid;grid-template-columns:36px 1fr;gap:2px 12px;align-items:start;padding:10px 0;border-bottom:1px dashed var(--km-line)}.glp1-card:last-child{border-bottom:0}.glp1-card-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary);grid-row:span 2}.glp1-card-title{margin:0;font-weight:700;font-size:14.5px;line-height:1.25}.glp1-card-text{margin:0;font-size:13.5px;line-height:1.45;color:var(--km-mute)}.glp1-honest{margin:8px 0 0;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);font-size:13px;line-height:1.45}.glp1-faqs{display:flex;flex-direction:column}.glp1-faq{padding:8px 0;border-bottom:1px dashed var(--km-line)}.glp1-faq:last-child{border-bottom:0}.glp1-faq-q{margin:0 0 3px;font-weight:700;font-size:14px;line-height:1.3}.glp1-faq-a{margin:0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.glp1-final{margin-top:14px;padding:14px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.glp1-final .glp1-h2{color:var(--km-block-mute)}.glp1-final-text{margin:0 0 12px;font-size:14px;line-height:1.5}.glp1-final .glp1-cta{background:var(--km-accent);color:var(--km-accent-ink)}.glp1-links{margin:10px 0 0;font-size:13px}.glp1-links a{color:var(--km-block-accent);font-weight:600;text-decoration:none}.glp1-links a:hover{text-decoration:underline}.glp1-disclaimer{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--km-mute)}.pc-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.pc-page svg{flex-shrink:0}.pc-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.pc-breadcrumb a{color:var(--km-mute);text-decoration:none}.pc-breadcrumb a:hover{color:var(--km-ink)}.pc-hero{margin-bottom:12px}.pc-hero .pc-breadcrumb{margin-bottom:8px}.pc-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.pc-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.pc-card{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.pc-field{display:flex;flex-direction:column;gap:6px}.pc-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.pc-input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 16px var(--km-font-body);font-variant-numeric:tabular-nums}.pc-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.pc-input::placeholder{color:var(--km-mute);font-weight:400}.pc-input-row,.pc-weight-row{display:flex;gap:6px;align-items:stretch}.pc-input-row .pc-input,.pc-weight-row .pc-input{flex:1;min-width:0}.pc-unit-toggle,.pc-toggle-row,.pc-height-unit-row{display:flex;gap:4px}.pc-unit-btn,.pc-toggle-btn{min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.pc-toggle-btn{flex:1}.pc-unit-btn:hover,.pc-toggle-btn:hover{background:var(--km-surface)}.pc-unit-btn--active,.pc-unit-btn--active:hover,.pc-toggle-btn--active,.pc-toggle-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.pc-ftin-row{display:flex;align-items:center;gap:6px}.pc-ftin-input{flex:1;min-width:0}.pc-ftin-sep{font-size:12.5px;color:var(--km-mute)}.pc-options{display:flex;flex-direction:column;gap:4px}.pc-option-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);text-align:left;cursor:pointer}.pc-option-btn:hover{background:var(--km-surface)}.pc-option-btn--active,.pc-option-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.pc-error{margin:0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.pc-calculate-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.pc-calculate-btn:hover{background:var(--km-primary-hover)}.pc-result{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.pc-result-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.pc-result-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.pc-result-unit{font-family:var(--km-font-body);font-weight:600;font-size:13px;color:var(--km-block-mute)}.pc-result-sub{margin:0;font-size:12.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.pc-result-cta{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-track)}.pc-result-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:14.5px;line-height:1.2}.pc-result-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.pc-result-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;margin-top:4px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.pc-result .email-capture,.pc-result .ec-card{color:var(--km-ink)}.pc-content{margin-top:18px}.pc-section{padding:12px 0;border-top:1px solid var(--km-line)}.pc-section h2,.pc-section-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.pc-section p,.pc-section-sub{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.pc-section p:last-child{margin-bottom:0}.pc-section strong{color:var(--km-ink)}.pc-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.pc-list li{margin-bottom:6px}.pc-table-wrap{overflow-x:auto;margin:4px 0}.pc-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.pc-table th{padding:6px 8px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);border-bottom:1px solid var(--km-line)}.pc-table td{padding:7px 8px;border-bottom:1px solid var(--km-line)}.pc-table-note{margin:6px 0 0;font-size:12px;color:var(--km-mute)}.pc-faq,.pc-faq-list{display:flex;flex-direction:column}.pc-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.pc-faq-item:last-child{border-bottom:0}.pc-faq-item h3{margin:0 0 4px;font-size:14px;font-weight:700}.pc-faq-item p{margin:0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.pc-faq-q{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--km-ink);font:700 14px var(--km-font-body);text-align:left;cursor:pointer}.pc-faq-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.pc-faq-item--open .pc-faq-chevron{transform:rotate(180deg)}.pc-faq-a{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.pc-inline-link,.pc-field-link{color:var(--km-primary);font-weight:600;text-decoration:none}.pc-inline-link:hover,.pc-field-link:hover{text-decoration:underline}.pc-disclaimer{margin:8px 0 0;font-size:12px;color:var(--km-mute)}.pc-related{padding-top:12px;border-top:1px solid var(--km-line)}.pc-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.pc-related-grid{display:flex;flex-direction:column}.pc-related-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--km-line)}.pc-related-label{font-weight:600;font-size:13.5px}.pc-related-btn{color:var(--km-primary);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}.pc-related-btn:hover{text-decoration:underline}.pc-related-soon{font-size:12px;color:var(--km-mute)}.pc-internal-links,.pc-bottom-nav{display:flex;gap:6px;margin-top:12px}.pc-internal-link,.pc-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.pc-internal-link:hover,.pc-bottom-link:hover{background:var(--km-surface)}.pc-internal-link--cta,.pc-bottom-link--cta{background:var(--km-primary);border-color:var(--km-primary);color:var(--km-primary-ink)}.pc-internal-link--cta:hover,.pc-bottom-link--cta:hover{background:var(--km-primary-hover)}.pc-preview{display:flex;flex-direction:column;gap:6px}.pc-preview-title{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.pc-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.pc-preview-card{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:var(--km-r);background:var(--km-block-track)}.pc-preview-meal{font-size:11.5px;color:var(--km-block-mute)}.pc-preview-grams{font-family:var(--km-font-display);font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}.pc-preview-note{margin:0;font-size:12px;color:var(--km-block-mute)}@media(max-width:400px){.pc-preview-grid{grid-template-columns:1fr 1fr}}.tc-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.tc-page svg{flex-shrink:0}.tc-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.tc-breadcrumb a{color:var(--km-mute);text-decoration:none}.tc-breadcrumb a:hover{color:var(--km-ink)}.tc-hero{margin-bottom:12px}.tc-hero .tc-breadcrumb{margin-bottom:8px}.tc-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.tc-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.tc-card{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.tc-field{display:flex;flex-direction:column;gap:6px}.tc-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.tc-input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 16px var(--km-font-body);font-variant-numeric:tabular-nums}.tc-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.tc-input::placeholder{color:var(--km-mute);font-weight:400}.tc-input-row,.tc-weight-row{display:flex;gap:6px;align-items:stretch}.tc-input-row .tc-input,.tc-weight-row .tc-input{flex:1;min-width:0}.tc-unit-toggle,.tc-toggle-row,.tc-height-unit-row{display:flex;gap:4px}.tc-unit-btn,.tc-toggle-btn{min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.tc-toggle-btn{flex:1}.tc-unit-btn:hover,.tc-toggle-btn:hover{background:var(--km-surface)}.tc-unit-btn--active,.tc-unit-btn--active:hover,.tc-toggle-btn--active,.tc-toggle-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tc-ftin-row{display:flex;align-items:center;gap:6px}.tc-ftin-input{flex:1;min-width:0}.tc-ftin-sep{font-size:12.5px;color:var(--km-mute)}.tc-options{display:flex;flex-direction:column;gap:4px}.tc-option-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);text-align:left;cursor:pointer}.tc-option-btn:hover{background:var(--km-surface)}.tc-option-btn--active,.tc-option-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tc-error{margin:0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.tc-calculate-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.tc-calculate-btn:hover{background:var(--km-primary-hover)}.tc-result{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.tc-result-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.tc-result-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.tc-result-unit{font-family:var(--km-font-body);font-weight:600;font-size:13px;color:var(--km-block-mute)}.tc-result-sub{margin:0;font-size:12.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tc-result-cta{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-track)}.tc-result-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:14.5px;line-height:1.2}.tc-result-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.tc-result-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;margin-top:4px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.tc-result .email-capture,.tc-result .ec-card{color:var(--km-ink)}.tc-content{margin-top:18px}.tc-section{padding:12px 0;border-top:1px solid var(--km-line)}.tc-section h2,.tc-section-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.tc-section p,.tc-section-sub{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tc-section p:last-child{margin-bottom:0}.tc-section strong{color:var(--km-ink)}.tc-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tc-list li{margin-bottom:6px}.tc-table-wrap{overflow-x:auto;margin:4px 0}.tc-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.tc-table th{padding:6px 8px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);border-bottom:1px solid var(--km-line)}.tc-table td{padding:7px 8px;border-bottom:1px solid var(--km-line)}.tc-table-note{margin:6px 0 0;font-size:12px;color:var(--km-mute)}.tc-faq,.tc-faq-list{display:flex;flex-direction:column}.tc-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.tc-faq-item:last-child{border-bottom:0}.tc-faq-item h3{margin:0 0 4px;font-size:14px;font-weight:700}.tc-faq-item p{margin:0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tc-faq-q{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--km-ink);font:700 14px var(--km-font-body);text-align:left;cursor:pointer}.tc-faq-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.tc-faq-item--open .tc-faq-chevron{transform:rotate(180deg)}.tc-faq-a{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tc-inline-link,.tc-field-link{color:var(--km-primary);font-weight:600;text-decoration:none}.tc-inline-link:hover,.tc-field-link:hover{text-decoration:underline}.tc-disclaimer{margin:8px 0 0;font-size:12px;color:var(--km-mute)}.tc-related{padding-top:12px;border-top:1px solid var(--km-line)}.tc-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.tc-related-grid{display:flex;flex-direction:column}.tc-related-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--km-line)}.tc-related-label{font-weight:600;font-size:13.5px}.tc-related-btn{color:var(--km-primary);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}.tc-related-btn:hover{text-decoration:underline}.tc-related-soon{font-size:12px;color:var(--km-mute)}.tc-internal-links,.tc-bottom-nav{display:flex;gap:6px;margin-top:12px}.tc-internal-link,.tc-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.tc-internal-link:hover,.tc-bottom-link:hover{background:var(--km-surface)}.tc-internal-link--cta,.tc-bottom-link--cta{background:var(--km-primary);border-color:var(--km-primary);color:var(--km-primary-ink)}.tc-internal-link--cta:hover,.tc-bottom-link--cta:hover{background:var(--km-primary-hover)}.tc-goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.tc-goal-card{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:var(--km-r);background:var(--km-block-track)}.tc-goal-label{font-size:11.5px;color:var(--km-block-mute)}.tc-goal-value{font-family:var(--km-font-display);font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}.tc-goal-card--maintain .tc-goal-value{color:var(--km-block-accent)}.tc-goal-unit{font-size:11px;color:var(--km-block-mute)}@media(max-width:400px){.tc-goal-grid{grid-template-columns:1fr}.tc-goal-card{flex-direction:row;align-items:baseline;gap:8px}.tc-goal-label{flex:1}}.tcc-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.tcc-page svg{flex-shrink:0}.tcc-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.tcc-breadcrumb a{color:var(--km-mute);text-decoration:none}.tcc-breadcrumb a:hover{color:var(--km-ink)}.tcc-hero{margin-bottom:12px}.tcc-hero .tcc-breadcrumb{margin-bottom:8px}.tcc-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.tcc-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.tcc-card{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.tcc-field{display:flex;flex-direction:column;gap:6px}.tcc-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.tcc-input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 16px var(--km-font-body);font-variant-numeric:tabular-nums}.tcc-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.tcc-input::placeholder{color:var(--km-mute);font-weight:400}.tcc-input-row,.tcc-weight-row{display:flex;gap:6px;align-items:stretch}.tcc-input-row .tcc-input,.tcc-weight-row .tcc-input{flex:1;min-width:0}.tcc-unit-toggle,.tcc-toggle-row,.tcc-height-unit-row{display:flex;gap:4px}.tcc-unit-btn,.tcc-toggle-btn{min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.tcc-toggle-btn{flex:1}.tcc-unit-btn:hover,.tcc-toggle-btn:hover{background:var(--km-surface)}.tcc-unit-btn--active,.tcc-unit-btn--active:hover,.tcc-toggle-btn--active,.tcc-toggle-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tcc-ftin-row{display:flex;align-items:center;gap:6px}.tcc-ftin-input{flex:1;min-width:0}.tcc-ftin-sep{font-size:12.5px;color:var(--km-mute)}.tcc-options{display:flex;flex-direction:column;gap:4px}.tcc-option-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);text-align:left;cursor:pointer}.tcc-option-btn:hover{background:var(--km-surface)}.tcc-option-btn--active,.tcc-option-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tcc-error{margin:0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.tcc-calculate-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.tcc-calculate-btn:hover{background:var(--km-primary-hover)}.tcc-result{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.tcc-result-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.tcc-result-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.tcc-result-unit{font-family:var(--km-font-body);font-weight:600;font-size:13px;color:var(--km-block-mute)}.tcc-result-sub{margin:0;font-size:12.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tcc-result-cta{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-track)}.tcc-result-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:14.5px;line-height:1.2}.tcc-result-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.tcc-result-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;margin-top:4px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.tcc-result .email-capture,.tcc-result .ec-card{color:var(--km-ink)}.tcc-content{margin-top:18px}.tcc-section{padding:12px 0;border-top:1px solid var(--km-line)}.tcc-section h2,.tcc-section-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.tcc-section p,.tcc-section-sub{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tcc-section p:last-child{margin-bottom:0}.tcc-section strong{color:var(--km-ink)}.tcc-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tcc-list li{margin-bottom:6px}.tcc-table-wrap{overflow-x:auto;margin:4px 0}.tcc-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.tcc-table th{padding:6px 8px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);border-bottom:1px solid var(--km-line)}.tcc-table td{padding:7px 8px;border-bottom:1px solid var(--km-line)}.tcc-table-note{margin:6px 0 0;font-size:12px;color:var(--km-mute)}.tcc-faq,.tcc-faq-list{display:flex;flex-direction:column}.tcc-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.tcc-faq-item:last-child{border-bottom:0}.tcc-faq-item h3{margin:0 0 4px;font-size:14px;font-weight:700}.tcc-faq-item p{margin:0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tcc-faq-q{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--km-ink);font:700 14px var(--km-font-body);text-align:left;cursor:pointer}.tcc-faq-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.tcc-faq-item--open .tcc-faq-chevron{transform:rotate(180deg)}.tcc-faq-a{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tcc-inline-link,.tcc-field-link{color:var(--km-primary);font-weight:600;text-decoration:none}.tcc-inline-link:hover,.tcc-field-link:hover{text-decoration:underline}.tcc-disclaimer{margin:8px 0 0;font-size:12px;color:var(--km-mute)}.tcc-related{padding-top:12px;border-top:1px solid var(--km-line)}.tcc-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.tcc-related-grid{display:flex;flex-direction:column}.tcc-related-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--km-line)}.tcc-related-label{font-weight:600;font-size:13.5px}.tcc-related-btn{color:var(--km-primary);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}.tcc-related-btn:hover{text-decoration:underline}.tcc-related-soon{font-size:12px;color:var(--km-mute)}.tcc-internal-links,.tcc-bottom-nav{display:flex;gap:6px;margin-top:12px}.tcc-internal-link,.tcc-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.tcc-internal-link:hover,.tcc-bottom-link:hover{background:var(--km-surface)}.tcc-internal-link--cta,.tcc-bottom-link--cta{background:var(--km-primary);border-color:var(--km-primary);color:var(--km-primary-ink)}.tcc-internal-link--cta:hover,.tcc-bottom-link--cta:hover{background:var(--km-primary-hover)}.tcc-goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.tcc-goal-card{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:var(--km-r);background:var(--km-block-track)}.tcc-goal-name{font-size:11.5px;color:var(--km-block-mute)}.tcc-goal-val{font-family:var(--km-font-display);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.tcc-goal--main .tcc-goal-val{color:var(--km-block-accent)}.tcc-goal-note{font-size:11px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tbc-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.tbc-page svg{flex-shrink:0}.tbc-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.tbc-breadcrumb a{color:var(--km-mute);text-decoration:none}.tbc-breadcrumb a:hover{color:var(--km-ink)}.tbc-hero{margin-bottom:12px}.tbc-hero .tbc-breadcrumb{margin-bottom:8px}.tbc-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.tbc-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.tbc-card{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.tbc-field{display:flex;flex-direction:column;gap:6px}.tbc-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.tbc-input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 16px var(--km-font-body);font-variant-numeric:tabular-nums}.tbc-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.tbc-input::placeholder{color:var(--km-mute);font-weight:400}.tbc-input-row,.tbc-weight-row{display:flex;gap:6px;align-items:stretch}.tbc-input-row .tbc-input,.tbc-weight-row .tbc-input{flex:1;min-width:0}.tbc-unit-toggle,.tbc-toggle-row,.tbc-height-unit-row{display:flex;gap:4px}.tbc-unit-btn,.tbc-toggle-btn{min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.tbc-toggle-btn{flex:1}.tbc-unit-btn:hover,.tbc-toggle-btn:hover{background:var(--km-surface)}.tbc-unit-btn--active,.tbc-unit-btn--active:hover,.tbc-toggle-btn--active,.tbc-toggle-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tbc-ftin-row{display:flex;align-items:center;gap:6px}.tbc-ftin-input{flex:1;min-width:0}.tbc-ftin-sep{font-size:12.5px;color:var(--km-mute)}.tbc-options{display:flex;flex-direction:column;gap:4px}.tbc-option-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);text-align:left;cursor:pointer}.tbc-option-btn:hover{background:var(--km-surface)}.tbc-option-btn--active,.tbc-option-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tbc-error{margin:0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.tbc-calculate-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.tbc-calculate-btn:hover{background:var(--km-primary-hover)}.tbc-result{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.tbc-result-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.tbc-result-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.tbc-result-unit{font-family:var(--km-font-body);font-weight:600;font-size:13px;color:var(--km-block-mute)}.tbc-result-sub{margin:0;font-size:12.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tbc-result-cta{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-track)}.tbc-result-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:14.5px;line-height:1.2}.tbc-result-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.tbc-result-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;margin-top:4px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.tbc-result .email-capture,.tbc-result .ec-card{color:var(--km-ink)}.tbc-content{margin-top:18px}.tbc-section{padding:12px 0;border-top:1px solid var(--km-line)}.tbc-section h2,.tbc-section-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.tbc-section p,.tbc-section-sub{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tbc-section p:last-child{margin-bottom:0}.tbc-section strong{color:var(--km-ink)}.tbc-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tbc-list li{margin-bottom:6px}.tbc-table-wrap{overflow-x:auto;margin:4px 0}.tbc-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.tbc-table th{padding:6px 8px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);border-bottom:1px solid var(--km-line)}.tbc-table td{padding:7px 8px;border-bottom:1px solid var(--km-line)}.tbc-table-note{margin:6px 0 0;font-size:12px;color:var(--km-mute)}.tbc-faq,.tbc-faq-list{display:flex;flex-direction:column}.tbc-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.tbc-faq-item:last-child{border-bottom:0}.tbc-faq-item h3{margin:0 0 4px;font-size:14px;font-weight:700}.tbc-faq-item p{margin:0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tbc-faq-q{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--km-ink);font:700 14px var(--km-font-body);text-align:left;cursor:pointer}.tbc-faq-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.tbc-faq-item--open .tbc-faq-chevron{transform:rotate(180deg)}.tbc-faq-a{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tbc-inline-link,.tbc-field-link{color:var(--km-primary);font-weight:600;text-decoration:none}.tbc-inline-link:hover,.tbc-field-link:hover{text-decoration:underline}.tbc-disclaimer{margin:8px 0 0;font-size:12px;color:var(--km-mute)}.tbc-related{padding-top:12px;border-top:1px solid var(--km-line)}.tbc-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.tbc-related-grid{display:flex;flex-direction:column}.tbc-related-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--km-line)}.tbc-related-label{font-weight:600;font-size:13.5px}.tbc-related-btn{color:var(--km-primary);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}.tbc-related-btn:hover{text-decoration:underline}.tbc-related-soon{font-size:12px;color:var(--km-mute)}.tbc-internal-links,.tbc-bottom-nav{display:flex;gap:6px;margin-top:12px}.tbc-internal-link,.tbc-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.tbc-internal-link:hover,.tbc-bottom-link:hover{background:var(--km-surface)}.tbc-internal-link--cta,.tbc-bottom-link--cta{background:var(--km-primary);border-color:var(--km-primary);color:var(--km-primary-ink)}.tbc-internal-link--cta:hover,.tbc-bottom-link--cta:hover{background:var(--km-primary-hover)}.tbc-result-score{display:flex;flex-direction:column;gap:2px}.tbc-result-category{font-weight:700;font-size:14px}.tbc-result-range{font-size:12.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tbc-scale{margin-top:18px}.tbc-scale-bar{position:relative;display:flex;height:8px;border-radius:4px}.tbc-scale-seg{height:100%}.tbc-scale-seg:first-child{border-radius:4px 0 0 4px}.tbc-scale-seg:last-child{border-radius:0 4px 4px 0}.tbc-seg--under{background:var(--km-warn)}.tbc-seg--normal{background:var(--km-ok)}.tbc-seg--over{background:var(--km-warn)}.tbc-seg--obese{background:var(--km-danger)}.tbc-scale-marker{position:absolute;top:-20px;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.tbc-scale-val{order:-1;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.tbc-scale-needle{width:2px;height:14px;background:var(--km-block-ink)}.tbc-scale-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tbc-healthy-range{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;padding:8px 10px;border-radius:var(--km-r);background:var(--km-block-track);font-size:12.5px}.tbc-healthy-label{color:var(--km-block-mute)}.tbc-healthy-val{font-weight:700;font-variant-numeric:tabular-nums}.tbc-categories{display:flex;flex-direction:column}.tbc-cat-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--km-block-track);font-size:13px;color:var(--km-block-mute)}.tbc-cat-row:last-child{border-bottom:0}.tbc-cat-row--active{color:var(--km-block-ink);font-weight:700}.tbc-cat-dot{width:8px;height:8px;border-radius:50%}.tbc-cat-label{flex:1}.tbc-cat-range{font-variant-numeric:tabular-nums}.tmc-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.tmc-page svg{flex-shrink:0}.tmc-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.tmc-breadcrumb a{color:var(--km-mute);text-decoration:none}.tmc-breadcrumb a:hover{color:var(--km-ink)}.tmc-hero{margin-bottom:12px}.tmc-hero .tmc-breadcrumb{margin-bottom:8px}.tmc-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.tmc-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.tmc-card{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.tmc-field{display:flex;flex-direction:column;gap:6px}.tmc-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.tmc-input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 16px var(--km-font-body);font-variant-numeric:tabular-nums}.tmc-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.tmc-input::placeholder{color:var(--km-mute);font-weight:400}.tmc-input-row,.tmc-weight-row{display:flex;gap:6px;align-items:stretch}.tmc-input-row .tmc-input,.tmc-weight-row .tmc-input{flex:1;min-width:0}.tmc-unit-toggle,.tmc-toggle-row,.tmc-height-unit-row{display:flex;gap:4px}.tmc-unit-btn,.tmc-toggle-btn{min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.tmc-toggle-btn{flex:1}.tmc-unit-btn:hover,.tmc-toggle-btn:hover{background:var(--km-surface)}.tmc-unit-btn--active,.tmc-unit-btn--active:hover,.tmc-toggle-btn--active,.tmc-toggle-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tmc-ftin-row{display:flex;align-items:center;gap:6px}.tmc-ftin-input{flex:1;min-width:0}.tmc-ftin-sep{font-size:12.5px;color:var(--km-mute)}.tmc-options{display:flex;flex-direction:column;gap:4px}.tmc-option-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);text-align:left;cursor:pointer}.tmc-option-btn:hover{background:var(--km-surface)}.tmc-option-btn--active,.tmc-option-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tmc-error{margin:0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.tmc-calculate-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.tmc-calculate-btn:hover{background:var(--km-primary-hover)}.tmc-result{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.tmc-result-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.tmc-result-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.tmc-result-unit{font-family:var(--km-font-body);font-weight:600;font-size:13px;color:var(--km-block-mute)}.tmc-result-sub{margin:0;font-size:12.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tmc-result-cta{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-track)}.tmc-result-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:14.5px;line-height:1.2}.tmc-result-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.tmc-result-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;margin-top:4px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.tmc-result .email-capture,.tmc-result .ec-card{color:var(--km-ink)}.tmc-content{margin-top:18px}.tmc-section{padding:12px 0;border-top:1px solid var(--km-line)}.tmc-section h2,.tmc-section-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.tmc-section p,.tmc-section-sub{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tmc-section p:last-child{margin-bottom:0}.tmc-section strong{color:var(--km-ink)}.tmc-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tmc-list li{margin-bottom:6px}.tmc-table-wrap{overflow-x:auto;margin:4px 0}.tmc-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.tmc-table th{padding:6px 8px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);border-bottom:1px solid var(--km-line)}.tmc-table td{padding:7px 8px;border-bottom:1px solid var(--km-line)}.tmc-table-note{margin:6px 0 0;font-size:12px;color:var(--km-mute)}.tmc-faq,.tmc-faq-list{display:flex;flex-direction:column}.tmc-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.tmc-faq-item:last-child{border-bottom:0}.tmc-faq-item h3{margin:0 0 4px;font-size:14px;font-weight:700}.tmc-faq-item p{margin:0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tmc-faq-q{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--km-ink);font:700 14px var(--km-font-body);text-align:left;cursor:pointer}.tmc-faq-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.tmc-faq-item--open .tmc-faq-chevron{transform:rotate(180deg)}.tmc-faq-a{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.tmc-inline-link,.tmc-field-link{color:var(--km-primary);font-weight:600;text-decoration:none}.tmc-inline-link:hover,.tmc-field-link:hover{text-decoration:underline}.tmc-disclaimer{margin:8px 0 0;font-size:12px;color:var(--km-mute)}.tmc-related{padding-top:12px;border-top:1px solid var(--km-line)}.tmc-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.tmc-related-grid{display:flex;flex-direction:column}.tmc-related-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--km-line)}.tmc-related-label{font-weight:600;font-size:13.5px}.tmc-related-btn{color:var(--km-primary);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}.tmc-related-btn:hover{text-decoration:underline}.tmc-related-soon{font-size:12px;color:var(--km-mute)}.tmc-internal-links,.tmc-bottom-nav{display:flex;gap:6px;margin-top:12px}.tmc-internal-link,.tmc-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.tmc-internal-link:hover,.tmc-bottom-link:hover{background:var(--km-surface)}.tmc-internal-link--cta,.tmc-bottom-link--cta{background:var(--km-primary);border-color:var(--km-primary);color:var(--km-primary-ink)}.tmc-internal-link--cta:hover,.tmc-bottom-link--cta:hover{background:var(--km-primary-hover)}.tmc-unit-badge{display:inline-flex;align-items:center;padding:0 10px;border-radius:var(--km-r);background:var(--km-surface);font-size:12.5px;color:var(--km-mute);white-space:nowrap}.tmc-field-hint{margin:0;font-size:12.5px;color:var(--km-mute)}.tmc-goal-group{display:flex;flex-direction:column;gap:4px}.tmc-goal-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);text-align:left;cursor:pointer;font-family:var(--km-font-body)}.tmc-goal-btn:hover{background:var(--km-surface)}.tmc-goal-btn--active,.tmc-goal-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tmc-goal-text{display:flex;flex-direction:column;gap:1px}.tmc-goal-name{font-weight:700;font-size:13.5px}.tmc-goal-desc{font-size:12px;opacity:.75}.tmc-pref-group{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.tmc-pref-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 6px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);cursor:pointer;font-family:var(--km-font-body)}.tmc-pref-btn:hover{background:var(--km-surface)}.tmc-pref-btn--active,.tmc-pref-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.tmc-pref-name{font-weight:700;font-size:13px}.tmc-pref-desc{font-size:11.5px;opacity:.75;font-variant-numeric:tabular-nums}.tmc-result-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.tmc-result-goal{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.tmc-result-kcal{font-family:var(--km-font-display);font-weight:900;font-size:22px;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.tmc-macros-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.tmc-macro-card{display:flex;flex-direction:column;gap:3px;padding:8px;border-radius:var(--km-r);background:var(--km-block-track)}.tmc-macro-bar-wrap{height:4px;border-radius:2px;background:var(--km-block-bg);overflow:hidden}.tmc-macro-bar{height:100%;border-radius:2px}.tmc-macro-name{font-size:11.5px;color:var(--km-block-mute)}.tmc-macro-grams{font-family:var(--km-font-display);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.tmc-macro-pct{font-size:11px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tmc-breakdown-bar{display:flex;height:8px;border-radius:4px;overflow:hidden}.tmc-breakdown-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.tmc-legend-item{display:flex;align-items:center;gap:5px}.tmc-legend-dot{width:8px;height:8px;border-radius:50%}.bi-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.bi-page svg{flex-shrink:0}.bi-breadcrumb{display:flex;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.bi-breadcrumb a{color:var(--km-mute);text-decoration:none}.bi-breadcrumb a:hover{color:var(--km-ink)}.bi-hero{margin-bottom:4px}.bi-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.bi-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.bi-grid{display:flex;flex-direction:column;margin-bottom:8px}.bi-card{display:block;padding:12px 0;border-bottom:1px solid var(--km-line);color:var(--km-ink);text-decoration:none}.bi-card:hover .bi-card-title{color:var(--km-primary)}.bi-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:11.5px;color:var(--km-mute);font-variant-numeric:tabular-nums}.bi-card-category{font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bi-card-time{margin-left:auto}.bi-card-title{margin:0 0 4px;font-family:var(--km-font-display);font-weight:800;font-size:16.5px;line-height:1.25;letter-spacing:-.01em}.bi-card-excerpt{margin:0 0 4px;font-size:13.5px;line-height:1.5;color:var(--km-mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bi-card-date{font-size:12px;color:var(--km-mute)}.bi-tools-section{padding-top:12px}.bi-tools-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.bi-tools-sub{margin:0 0 4px;font-size:12.5px;color:var(--km-mute)}.bi-tools-grid{display:flex;flex-direction:column}.bi-tool-card{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--km-line);color:var(--km-ink);text-decoration:none}.bi-tool-card:hover .bi-tool-label{color:var(--km-primary)}.bi-tool-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary)}.bi-tool-label{flex:1;font-size:13.5px;font-weight:600}.bi-tool-arrow{display:inline-flex;color:var(--km-mute)}.bi-cta{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.bi-cta-text-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bi-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.bi-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.bi-cta-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);text-decoration:none;white-space:nowrap}@media(max-width:420px){.bi-cta{flex-direction:column;align-items:stretch}.bi-cta-btn{justify-content:center}}.ba-page{max-width:900px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.ba-page svg{flex-shrink:0}.ba-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.ba-breadcrumb a{color:var(--km-mute);text-decoration:none}.ba-breadcrumb a:hover{color:var(--km-ink)}.ba-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50vw}.ba-hero{max-width:640px;margin-bottom:12px}.ba-hero-meta{margin-bottom:4px}.ba-category-badge{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.ba-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:900;font-size:26px;line-height:1.1;letter-spacing:-.015em;text-wrap:balance}.ba-byline{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.ba-excerpt{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--km-mute)}.ba-toc-mobile{margin-bottom:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);overflow:hidden}.ba-toc-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:0;background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.ba-toc-toggle>span:first-child{display:inline-flex;align-items:center;gap:6px}.ba-toc-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.ba-toc-chevron--open{transform:rotate(180deg)}.ba-toc-list{display:flex;flex-direction:column;border-top:1px solid var(--km-line)}.ba-toc-item{padding:8px 12px;border-bottom:1px solid var(--km-line);color:var(--km-ink);font-size:13.5px;text-decoration:none}.ba-toc-item:last-child{border-bottom:0}.ba-toc-item:hover{background:var(--km-surface)}.ba-layout{display:grid;grid-template-columns:minmax(0,640px) 1fr;gap:32px;align-items:start}.ba-body{min-width:0}.ba-toc-sidebar{display:none;position:sticky;top:72px}@media(min-width:900px){.ba-toc-mobile{display:none}.ba-toc-sidebar{display:block}}.ba-toc-sidebar-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.ba-toc-sidebar nav{display:flex;flex-direction:column;border-left:1px solid var(--km-line)}.ba-toc-sidebar-item{padding:5px 10px;margin-left:-1px;border-left:2px solid transparent;color:var(--km-mute);font-size:13px;line-height:1.35;text-decoration:none}.ba-toc-sidebar-item:hover{color:var(--km-ink)}.ba-toc-sidebar-item--active,.ba-toc-sidebar-item--active:hover{color:var(--km-ink);border-left-color:var(--km-primary);font-weight:600}.ba-h2{margin:24px 0 8px;font-family:var(--km-font-display);font-weight:800;font-size:19px;line-height:1.2;letter-spacing:-.01em;scroll-margin-top:72px}.ba-h3{margin:16px 0 6px;font-size:15.5px;font-weight:700;line-height:1.3}.ba-p{margin:0 0 12px;font-size:15px;line-height:1.6}.ba-p a,.ba-ul a,.ba-ol a,.ba-callout-body a{color:var(--km-primary);font-weight:600;text-decoration:none}.ba-p a:hover,.ba-ul a:hover,.ba-ol a:hover{text-decoration:underline}.ba-ul,.ba-ol{margin:0 0 12px;padding-left:20px;font-size:15px;line-height:1.6}.ba-ul li,.ba-ol li{margin-bottom:4px}.ba-callout{display:flex;gap:10px;margin:0 0 14px;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface)}.ba-callout-icon{display:inline-flex;color:var(--km-primary);margin-top:3px}.ba-callout-body{font-size:14px;line-height:1.55}.ba-callout-body p{margin:0 0 6px}.ba-callout-body p:last-child{margin-bottom:0}.ba-table-wrap{overflow-x:auto;margin:0 0 14px}.ba-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}.ba-table th{padding:6px 8px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);border-bottom:1px solid var(--km-line);white-space:nowrap}.ba-table td{padding:7px 8px;border-bottom:1px solid var(--km-line);vertical-align:top}.ba-tool-cta{display:flex;flex-direction:column;gap:4px;margin:4px 0 16px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.ba-tool-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.ba-tool-cta-body{margin:0;font-size:13px;color:var(--km-block-mute);line-height:1.45}.ba-tool-cta-btn,.ba-bottom-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;margin-top:4px;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.ba-links-block{margin-top:20px;padding-top:12px;border-top:1px solid var(--km-line)}.ba-links-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.ba-links-grid{display:flex;flex-direction:column}.ba-links-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--km-line);color:var(--km-ink);font-size:13.5px;font-weight:600;text-decoration:none}.ba-links-item:hover{color:var(--km-primary)}.ba-links-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary)}.ba-faq-section{margin-top:20px;padding-top:12px;border-top:1px solid var(--km-line)}.ba-faq-title{margin:0 0 4px;font-family:var(--km-font-display);font-weight:800;font-size:19px;line-height:1.2}.ba-faq-list{display:flex;flex-direction:column}.ba-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.ba-faq-item:last-child{border-bottom:0}.ba-faq-q{margin:0 0 4px;font-size:14.5px;font-weight:700;line-height:1.3}.ba-faq-a{margin:0;font-size:14px;line-height:1.55;color:var(--km-mute)}.ba-bottom-cta{display:flex;flex-direction:column;gap:4px;margin-top:20px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.ba-bottom-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.ba-bottom-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.ba-related{margin-top:20px;padding-top:12px;border-top:1px solid var(--km-line)}.ba-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.ba-related-grid{display:flex;flex-direction:column}.ba-related-card{display:block;padding:10px 0;border-bottom:1px solid var(--km-line);color:var(--km-ink);text-decoration:none}.ba-related-card:hover .ba-related-heading{color:var(--km-primary)}.ba-related-body{display:flex;flex-direction:column;gap:2px}.ba-related-cat{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.ba-related-heading{margin:0;font-weight:700;font-size:14.5px;line-height:1.3}.ba-related-read{font-size:12px;color:var(--km-mute)}.ba-back-nav{margin-top:16px}.ba-back-link,.ba-not-found-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.ba-back-link:hover,.ba-not-found-link:hover{background:var(--km-surface)}.ba-not-found{max-width:640px;margin:0 auto;padding:24px 14px;font-family:var(--km-font-body);color:var(--km-ink)}.ba-not-found h1{margin:0 0 6px;font-family:var(--km-font-display);font-weight:900;font-size:22px;text-transform:var(--km-h1-case)}.ba-not-found p{margin:0 0 12px;font-size:13.5px;color:var(--km-mute)}@media(max-width:899px){.ba-layout{grid-template-columns:1fr}}.ms-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.ms-page svg{flex-shrink:0}.ms-head{margin-bottom:10px}.ms-head__title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.ms-head__sub{margin:4px 0 0;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.ms-upload-btns{display:flex;gap:6px;margin-bottom:10px}.ms-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 14px;border-radius:var(--km-r);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.ms-btn--purple{border:0;background:var(--km-primary);color:var(--km-primary-ink)}.ms-btn--purple:hover{background:var(--km-primary-hover)}.ms-btn--dark{border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink)}.ms-btn--dark:hover{background:var(--km-surface)}.ms-drop-zone{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;margin-bottom:10px;border:1px dashed var(--km-line);border-radius:var(--km-r-lg);text-align:center;cursor:pointer}.ms-drop-zone:hover{border-color:var(--km-mute)}.ms-drop-icon{display:inline-flex;color:var(--km-mute);margin-bottom:2px}.ms-drop-title{margin:0;font-weight:600;font-size:14px}.ms-drop-hint{margin:0;font-size:12.5px;color:var(--km-mute)}.ms-stats-daily{color:var(--km-ink);font-weight:600}.ms-stats-strip{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:8px;font-size:12.5px;color:var(--km-mute);font-variant-numeric:tabular-nums}.ms-personality-card,.ms-weekly-recap{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-surface);margin-bottom:8px}.ms-personality-label,.ms-recap-label{margin:0;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.ms-personality-desc,.ms-recap-text{margin:2px 0 0;font-size:13.5px}.ms-recap-body{flex:1;min-width:0}.ms-recap-badge{font-family:var(--km-font-display);font-weight:900;font-size:22px;font-variant-numeric:tabular-nums}.ms-recents{margin-top:6px;padding-top:12px;border-top:1px solid var(--km-line)}.ms-recents-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ms-recents-label{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.ms-recents-fav-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.ms-recents-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.ms-recent-card{position:relative;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg);overflow:hidden}.ms-recent-card--fav{border-color:var(--km-primary)}.ms-recent-tap{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:0 0 8px;border:0;background:none;color:var(--km-ink);text-align:left;cursor:pointer;font-family:var(--km-font-body)}.ms-recent-tap:disabled{cursor:default}.ms-recent-img-wrap{position:relative;width:100%;height:80px;background:var(--km-surface)}.ms-recent-img{width:100%;height:100%;object-fit:cover;display:block}.ms-recent-img--none{display:flex;align-items:center;justify-content:center;color:var(--km-mute)}.ms-recent-name{padding:6px 10px 0;font-weight:600;font-size:13px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ms-recent-personality{padding:2px 10px 0;font-size:11.5px;color:var(--km-mute)}.ms-recent-time{padding:1px 10px 0;font-size:11px;color:var(--km-mute)}.ms-recent-overlay-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px}.ms-recent-fav-btn,.ms-recent-del-btn{width:26px;height:26px;border:0;border-radius:var(--km-r);background:var(--km-bg);color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ms-recent-fav-btn--active{color:var(--km-primary)}.ms-recent-del-btn:hover{color:var(--km-danger)}.ms-empty{padding:20px 12px;text-align:center;border:1px dashed var(--km-line);border-radius:var(--km-r-lg);margin-top:6px}.ms-empty-icon{display:inline-flex;color:var(--km-mute);margin-bottom:6px}.ms-empty-title{margin:0 0 4px;font-weight:600;font-size:14.5px}.ms-empty-sub{margin:0 0 12px;font-size:12.5px;color:var(--km-mute);max-width:44ch;margin-inline:auto}.ms-page--dark{background:#0b1220;color:#fff;min-height:calc(100dvh - 56px);max-width:none;padding:0}.ms-scanning{display:flex;flex-direction:column;align-items:center;gap:28px;max-width:400px;margin:0 auto;padding:40px 24px}.ms-scan-frame{position:relative;width:272px;height:272px;border-radius:14px;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px #ffffff26,0 24px 64px #00000080}.ms-scan-img{width:100%;height:100%;object-fit:cover;display:block}.ms-scan-overlay{position:absolute;inset:0;background:#00000026;pointer-events:none}.ms-scan-line{position:absolute;top:0;left:0;right:0;height:3px;background:#ffd000;box-shadow:0 0 10px 3px #ffd00073;animation:ms-sweep 2.4s cubic-bezier(.4,0,.6,1) infinite;pointer-events:none}@keyframes ms-sweep{0%{top:0%;opacity:0}6%{opacity:1}46%{top:97%;opacity:1}50%{top:97%;opacity:0}51%{top:0%;opacity:0}57%{opacity:1}97%{top:97%;opacity:1}to{top:97%;opacity:0}}.ms-scan-corners{position:absolute;inset:0;pointer-events:none}.ms-corner{position:absolute;width:0;height:0;border:0 solid #FFD000;transition:width .35s cubic-bezier(.22,1,.36,1),height .35s cubic-bezier(.22,1,.36,1)}.ms-scan-frame--ready .ms-corner{width:24px;height:24px}.ms-corner--tl{top:10px;left:10px;border-top-width:3px;border-left-width:3px}.ms-corner--tr{top:10px;right:10px;border-top-width:3px;border-right-width:3px;transition-delay:.06s}.ms-corner--bl{bottom:10px;left:10px;border-bottom-width:3px;border-left-width:3px;transition-delay:.12s}.ms-corner--br{bottom:10px;right:10px;border-bottom-width:3px;border-right-width:3px;transition-delay:.18s}.ms-scan-status{text-align:center}.ms-scan-msg{margin:0 0 14px;font-size:15px;font-weight:600;color:#ffffffe6;animation:ms-msg-in .3s ease}@keyframes ms-msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ms-dots{display:flex;gap:8px;justify-content:center}.ms-dots span{width:7px;height:7px;border-radius:50%;background:#ffd000;animation:ms-dot 1.4s ease-in-out infinite}.ms-dots span:nth-child(2){animation-delay:.24s}.ms-dots span:nth-child(3){animation-delay:.48s}@keyframes ms-dot{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.ms-result{display:flex;flex-direction:column;gap:10px}.ms-result>*{opacity:0;transform:translateY(6px)}.ms-result--revealed>*{opacity:1;transform:none;transition:opacity .3s ease,transform .3s ease}.ms-result--revealed>:nth-child(2){transition-delay:.06s}.ms-result--revealed>:nth-child(3){transition-delay:.12s}.ms-result--revealed>:nth-child(4){transition-delay:.18s}.ms-result--revealed>:nth-child(5){transition-delay:.24s}.ms-result--revealed>:nth-child(n+6){transition-delay:.3s}.ms-result-photo{position:relative;border-radius:var(--km-r-lg);overflow:hidden;background:var(--km-surface)}.ms-result-img{width:100%;max-height:300px;object-fit:cover;display:block}.ms-nut-overlay{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:26px 12px 10px;background:linear-gradient(transparent,#000000b3);color:#fff}.ms-nut-overlay-item{display:flex;flex-direction:column;align-items:center}.ms-nut-overlay-val{font-family:var(--km-font-display);font-weight:900;font-size:18px;line-height:1;font-variant-numeric:tabular-nums}.ms-nut-overlay-item:first-child .ms-nut-overlay-val{color:#ffd000}.ms-nut-overlay-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;opacity:.8;margin-top:2px}.ms-result-badge{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:999px;background:var(--km-bg);color:var(--km-ok);font-size:11.5px;font-weight:700}.ms-id-block{display:flex;flex-direction:column;gap:4px}.ms-id-name{font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.ms-id-status{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;height:24px;padding:0 8px;border-radius:999px;background:var(--km-surface);color:var(--km-mute);font-size:11.5px;font-weight:700}.ms-id-status--recipe{color:var(--km-ok)}.ms-id-status--low{color:var(--km-warn)}.ms-alt{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px dashed var(--km-line);border-radius:var(--km-r-lg)}.ms-alt__label{margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute)}.ms-alt__options{display:flex;flex-direction:column;gap:4px}.ms-alt__btn{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13.5px var(--km-font-body);text-align:left;cursor:pointer}.ms-alt__btn:hover{background:var(--km-surface)}.ms-alt__btn--current,.ms-alt__btn--current:hover{border-color:var(--km-primary);color:var(--km-primary)}.ms-alt__kcal{margin-left:auto;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.ms-main-card{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.ms-main-icon{display:inline-flex;color:var(--km-block-accent);margin-top:2px}.ms-main-label{margin:0;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.ms-main-text{margin:2px 0 0;font-size:14px;line-height:1.45}.ms-mini-list{display:flex;flex-direction:column}.ms-mini-card{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-bottom:1px dashed var(--km-line);font-size:13.5px;line-height:1.4}.ms-mini-card:last-child{border-bottom:0}.ms-mini-icon{display:inline-flex;color:var(--km-primary);margin-top:3px}.ms-nut-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);text-align:left;cursor:pointer;font-family:var(--km-font-body)}.ms-nut-toggle-title{display:block;font-weight:700;font-size:14px}.ms-nut-toggle-sub{display:block;font-size:12px;color:var(--km-mute)}.ms-toggle-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.ms-toggle-chevron--open{transform:rotate(180deg)}.ms-nut-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ms-nut-disclaimer{grid-column:1 / -1;margin:0;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--km-mute)}.ms-nut-card{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--km-r);background:var(--km-surface)}.ms-nut-val{font-family:var(--km-font-display);font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}.ms-nut-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--km-mute)}.ms-result-actions{display:flex;gap:6px;margin-top:4px}.ms-fav-btn,.ms-scan-again{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 14px;border-radius:var(--km-r);font:700 14px var(--km-font-body);cursor:pointer}.ms-fav-btn{border:1px solid var(--km-line);background:var(--km-bg);color:var(--km-ink)}.ms-fav-btn--active{border-color:var(--km-primary);color:var(--km-primary);background:var(--km-primary-soft)}.ms-scan-again{border:0;background:var(--km-primary);color:var(--km-primary-ink)}.ms-seo-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--km-line)}.ms-seo-h2{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.ms-seo-h3{margin:12px 0 4px;font-size:14px;font-weight:700}.ms-seo-p{margin:0 0 6px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.ms-seo-list{margin:0 0 6px;padding-left:18px;font-size:13.5px;color:var(--km-mute)}.ms-seo-faq-item{border-bottom:1px solid var(--km-line);padding:6px 0}.ms-seo-faq-q{cursor:pointer;font-weight:600;font-size:13.5px}.ms-seo-faq-a{margin:6px 0 0;font-size:13px;color:var(--km-mute);line-height:1.5}.ms-seo-cta{margin:10px 0 0;font-size:13.5px}.ms-seo-link{color:var(--km-primary);font-weight:600}@media(max-width:400px){.ms-nut-grid{grid-template-columns:repeat(2,1fr)}.ms-recents-row{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.ms-scan-line,.ms-dots span{animation:none}.ms-result>*{opacity:1;transform:none;transition:none}}.fg-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.fg-page svg{flex-shrink:0}.fg-breadcrumb{display:flex;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.fg-breadcrumb a{color:var(--km-mute);text-decoration:none}.fg-breadcrumb a:hover{color:var(--km-ink)}.fg-hero{margin-bottom:4px}.fg-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.fg-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.fg-section{padding:14px 0;border-top:1px solid var(--km-line)}.fg-section:first-of-type{border-top:0}.fg-section-title{margin:0 0 4px;display:flex;align-items:center;gap:6px;font-family:var(--km-font-display);font-weight:800;font-size:17px;line-height:1.2;letter-spacing:-.01em;scroll-margin-top:72px}.fg-section-sub{margin:0 0 10px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.fg-inline-link{color:var(--km-primary);font-weight:600;text-decoration:none}.fg-inline-link:hover{text-decoration:underline}.fg-intro-card p{margin:0 0 8px;font-size:14px;line-height:1.55}.fg-intro-highlights{display:flex;flex-direction:column;gap:4px;margin-top:6px}.fg-highlight-item{display:flex;align-items:center;gap:8px;font-size:13.5px}.fg-highlight-icon{display:inline-flex;color:var(--km-ok)}.fg-schedule-grid{display:flex;flex-direction:column;gap:6px}.fg-schedule-card{padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.fg-sched-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.fg-sched-ratio{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}.fg-sched-label{display:inline-block;padding:2px 7px;border-radius:999px;background:var(--km-surface);color:var(--km-mute);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fg-sched-headline{margin:4px 0 2px;font-weight:700;font-size:14.5px}.fg-sched-desc{margin:0 0 8px;font-size:13px;line-height:1.45;color:var(--km-mute)}.fg-sched-bar{display:flex;height:26px;border-radius:var(--km-r);overflow:hidden;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.fg-sched-bar-fast{display:flex;align-items:center;padding:0 8px;background:var(--km-surface);color:var(--km-mute);white-space:nowrap}.fg-sched-bar-eat{display:flex;align-items:center;padding:0 8px;background:var(--km-primary);color:var(--km-primary-ink);white-space:nowrap}.fg-sched-example{margin:8px 0 6px;font-size:12.5px;color:var(--km-mute)}.fg-sched-example em{font-style:normal;color:var(--km-ink)}.fg-sched-tags{display:flex;flex-wrap:wrap;gap:4px}.fg-sched-tag{padding:2px 8px;border-radius:999px;background:var(--km-surface);font-size:11.5px;font-weight:600}.fg-timer-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.fg-timer-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.fg-timer-sel-btn{min-height:38px;border:1px solid var(--km-block-track);border-radius:var(--km-r);background:transparent;color:var(--km-block-ink);font:700 13px var(--km-font-body);font-variant-numeric:tabular-nums;cursor:pointer}.fg-timer-sel-btn--active{background:var(--km-block-accent);border-color:var(--km-block-accent);color:var(--km-accent-ink)}.fg-timer-display{display:flex;flex-direction:column;gap:10px}.fg-timer-row,.fg-timer-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.fg-timer-stat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--km-r);background:var(--km-block-track)}.fg-timer-stat-lbl{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--km-block-mute)}.fg-timer-stat-val{font-family:var(--km-font-display);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.fg-timer-stat-val--green{color:var(--km-ok)}.fg-timer-stat-val--purple{color:var(--km-block-accent)}.fg-timer-bar-track{position:relative;height:10px;border-radius:5px;background:var(--km-block-track);overflow:hidden}.fg-timer-bar-fill{height:100%;border-radius:5px;background:var(--km-block-accent);transition:width .5s ease}.fg-timer-bar-fill--done{background:var(--km-ok)}.fg-timer-bar-label{position:absolute;right:8px;top:-18px;font-size:11px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.fg-timer-idle{display:flex;flex-direction:column;gap:10px}.fg-timer-idle-text{margin:0;font-size:13.5px;line-height:1.45;color:var(--km-block-mute)}.fg-timer-idle-text strong{color:var(--km-block-accent)}.fg-timer-start-btn,.fg-timer-stop-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border:0;border-radius:var(--km-r);font:700 14px var(--km-font-body);cursor:pointer}.fg-timer-start-btn{background:var(--km-accent);color:var(--km-accent-ink)}.fg-timer-stop-btn{background:var(--km-block-track);color:var(--km-block-ink)}.fg-calc-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.fg-calc-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fg-calc-field{display:flex;flex-direction:column;gap:5px}.fg-calc-label{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.fg-calc-input{min-height:42px;padding:0 10px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 15px var(--km-font-body);font-variant-numeric:tabular-nums}.fg-calc-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.fg-calc-rec{margin:0;font-size:13.5px}.fg-calc-rec strong{color:var(--km-primary)}.fg-calc-results{display:flex;flex-direction:column}.fg-calc-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px dashed var(--km-line)}.fg-calc-row--highlighted .fg-calc-row-ratio{color:var(--km-primary)}.fg-calc-row-left{display:flex;align-items:center;gap:8px}.fg-calc-row-ratio{font-family:var(--km-font-display);font-weight:900;font-size:18px;font-variant-numeric:tabular-nums}.fg-calc-row-level{padding:2px 7px;border-radius:999px;background:var(--km-surface);color:var(--km-mute);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fg-calc-row-right{display:flex;flex-direction:column;align-items:flex-end}.fg-calc-row-lbl{font-size:11px;color:var(--km-mute)}.fg-calc-row-time{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}.fg-calc-rec-badge{display:none}.fg-calc-note{margin:0;font-size:12.5px;color:var(--km-mute)}.fg-drink-grid{display:flex;flex-direction:column}.fg-drink-card{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--km-line)}.fg-drink-card:last-child{border-bottom:0}.fg-drink-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.fg-drink-card--ok .fg-drink-icon{background:var(--km-primary-soft);color:var(--km-ok)}.fg-drink-card--no .fg-drink-icon{background:var(--km-danger-soft);color:var(--km-danger)}.fg-drink-body{flex:1;min-width:0}.fg-drink-name{margin:0;font-weight:700;font-size:14px}.fg-drink-note{margin:1px 0 0;font-size:12.5px;color:var(--km-mute)}.fg-drink-badge{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.fg-drink-badge--ok{color:var(--km-ok)}.fg-drink-badge--no{color:var(--km-danger)}.fg-drink-note-footer{margin:8px 0 0;font-size:12px;color:var(--km-mute);line-height:1.5}.fg-break-list,.fg-benefits-grid,.fg-protein-grid,.fg-mistakes-grid,.fg-tips-list{display:flex;flex-direction:column}.fg-break-item,.fg-benefit-card,.fg-protein-card,.fg-mistake-card,.fg-tip-item{display:grid;grid-template-columns:32px 1fr;gap:1px 10px;align-items:start;padding:8px 0;border-bottom:1px dashed var(--km-line)}.fg-break-item:last-child,.fg-benefit-card:last-child,.fg-protein-card:last-child,.fg-mistake-card:last-child,.fg-tip-item:last-child{border-bottom:0}.fg-break-icon,.fg-benefit-icon,.fg-protein-icon,.fg-mistake-icon,.fg-tip-step{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary)}.fg-mistake-icon{color:var(--km-danger)}.fg-tip-step{font-family:var(--km-font-display);font-weight:800;font-size:12px;font-variant-numeric:tabular-nums}.fg-break-item>div,.fg-tip-body{min-width:0}.fg-break-title,.fg-benefit-title,.fg-protein-title,.fg-mistake-title,.fg-tip-title{margin:0;font-weight:700;font-size:14px;line-height:1.3}.fg-break-desc,.fg-benefit-desc,.fg-protein-desc,.fg-mistake-desc,.fg-tip-detail{margin:0;font-size:13px;line-height:1.45;color:var(--km-mute)}.fg-cta-banner{display:flex;align-items:center;gap:12px;margin:14px 0;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.fg-cta-text{flex:1;min-width:0}.fg-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.fg-cta-sub{margin:2px 0 0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.fg-cta-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;white-space:nowrap}.fg-faq-list{display:flex;flex-direction:column}.fg-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.fg-faq-item:last-child{border-bottom:0}.fg-faq-q{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--km-ink);font:700 14px var(--km-font-body);text-align:left;cursor:pointer}.fg-faq-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.fg-faq-item--open .fg-faq-chevron{transform:rotate(180deg)}.fg-faq-a{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.fg-related{padding-top:12px;border-top:1px solid var(--km-line)}.fg-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.fg-related-grid{display:flex;flex-direction:column}.fg-related-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--km-line)}.fg-related-label{font-weight:600;font-size:13.5px}.fg-related-btn{color:var(--km-primary);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}.fg-related-btn:hover{text-decoration:underline}.fg-bottom-nav{display:flex;gap:6px;margin-top:12px}.fg-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.fg-bottom-link:hover{background:var(--km-surface)}.fg-bottom-link--cta{background:var(--km-primary);border-color:var(--km-primary);color:var(--km-primary-ink)}.fg-bottom-link--cta:hover{background:var(--km-primary-hover)}@media(max-width:420px){.fg-cta-banner{flex-direction:column;align-items:stretch}.fg-cta-btn{justify-content:center}}.wc-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.wc-page svg{flex-shrink:0}.wc-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.wc-breadcrumb a{color:var(--km-mute);text-decoration:none}.wc-breadcrumb a:hover{color:var(--km-ink)}.wc-hero{margin-bottom:12px}.wc-hero .wc-breadcrumb{margin-bottom:8px}.wc-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.wc-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.wc-card{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.wc-field{display:flex;flex-direction:column;gap:6px}.wc-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.wc-input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 16px var(--km-font-body);font-variant-numeric:tabular-nums}.wc-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.wc-input::placeholder{color:var(--km-mute);font-weight:400}.wc-input-row,.wc-weight-row{display:flex;gap:6px;align-items:stretch}.wc-input-row .wc-input,.wc-weight-row .wc-input{flex:1;min-width:0}.wc-unit-toggle,.wc-toggle-row,.wc-height-unit-row{display:flex;gap:4px}.wc-unit-btn,.wc-toggle-btn{min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.wc-toggle-btn{flex:1}.wc-unit-btn:hover,.wc-toggle-btn:hover{background:var(--km-surface)}.wc-unit-btn--active,.wc-unit-btn--active:hover,.wc-toggle-btn--active,.wc-toggle-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.wc-ftin-row{display:flex;align-items:center;gap:6px}.wc-ftin-input{flex:1;min-width:0}.wc-ftin-sep{font-size:12.5px;color:var(--km-mute)}.wc-options{display:flex;flex-direction:column;gap:4px}.wc-option-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);text-align:left;cursor:pointer}.wc-error{margin:0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.wc-calculate-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.wc-calculate-btn:hover{background:var(--km-primary-hover)}.wc-result{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.wc-result-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.wc-result-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.wc-result-unit{font-family:var(--km-font-body);font-weight:600;font-size:13px;color:var(--km-block-mute)}.wc-result-sub{margin:0;font-size:12.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.wc-result-cta{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-track)}.wc-result-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:14.5px;line-height:1.2}.wc-result-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.wc-result-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;margin-top:4px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.wc-result .email-capture,.wc-result .ec-card{color:var(--km-ink)}.wc-content{margin-top:18px}.wc-section{padding:12px 0;border-top:1px solid var(--km-line)}.wc-section h2,.wc-section-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.wc-section p,.wc-section-sub{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.wc-section p:last-child{margin-bottom:0}.wc-section strong{color:var(--km-ink)}.wc-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.wc-list li{margin-bottom:6px}.wc-table-wrap{overflow-x:auto;margin:4px 0}.wc-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.wc-table th{padding:6px 8px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);border-bottom:1px solid var(--km-line)}.wc-table td{padding:7px 8px;border-bottom:1px solid var(--km-line)}.wc-table-note{margin:6px 0 0;font-size:12px;color:var(--km-mute)}.wc-faq,.wc-faq-list{display:flex;flex-direction:column}.wc-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.wc-faq-item:last-child{border-bottom:0}.wc-faq-item h3{margin:0 0 4px;font-size:14px;font-weight:700}.wc-faq-item p{margin:0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.wc-faq-q{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--km-ink);font:700 14px var(--km-font-body);text-align:left;cursor:pointer}.wc-faq-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.wc-faq-item--open .wc-faq-chevron{transform:rotate(180deg)}.wc-faq-a{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.wc-inline-link,.wc-field-link{color:var(--km-primary);font-weight:600;text-decoration:none}.wc-inline-link:hover,.wc-field-link:hover{text-decoration:underline}.wc-disclaimer{margin:8px 0 0;font-size:12px;color:var(--km-mute)}.wc-related{padding-top:12px;border-top:1px solid var(--km-line)}.wc-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.wc-related-grid{display:flex;flex-direction:column}.wc-related-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--km-line)}.wc-related-label{font-weight:600;font-size:13.5px}.wc-related-btn{color:var(--km-primary);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}.wc-related-btn:hover{text-decoration:underline}.wc-related-soon{font-size:12px;color:var(--km-mute)}.wc-internal-links,.wc-bottom-nav{display:flex;gap:6px;margin-top:12px}.wc-internal-link,.wc-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.wc-internal-link:hover,.wc-bottom-link:hover{background:var(--km-surface)}.wc-internal-link--cta,.wc-bottom-link--cta{background:var(--km-primary);border-color:var(--km-primary);color:var(--km-primary-ink)}.wc-internal-link--cta:hover,.wc-bottom-link--cta:hover{background:var(--km-primary-hover)}.wc-field-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.wc-field-header .wc-unit-btn{min-height:32px;padding:0 10px;font-size:12.5px}.wc-toggle-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:4px}.wc-option-btn{display:flex;flex-direction:column;align-items:center;gap:1px;min-height:44px;padding:6px 8px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);cursor:pointer;font-family:var(--km-font-body)}.wc-option-btn:hover{background:var(--km-surface)}.wc-option-btn--active,.wc-option-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.wc-opt-label{font-weight:700;font-size:13px}.wc-opt-sub{font-size:11px;opacity:.75}.wc-result-main{display:flex;align-items:baseline;gap:6px}.wc-result-liters{font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.wc-result-glasses{margin:0;font-size:13px;font-variant-numeric:tabular-nums}.wc-result-note{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.wc-result-note .wc-inline-link{color:var(--km-block-accent)}.wc-why-grid,.wc-tips-list{display:flex;flex-direction:column}.wc-why-card,.wc-tip-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.wc-why-card:last-child,.wc-tip-item:last-child{border-bottom:0}.wc-tip-item{display:flex;gap:10px}.wc-tip-check{display:inline-flex;color:var(--km-ok);margin-top:2px}.wc-why-title,.wc-tip-title{margin:0 0 2px;font-size:14px;font-weight:700}.wc-why-desc,.wc-tip-detail{margin:0;font-size:13.5px;color:var(--km-mute);line-height:1.5}.bf-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.bf-page svg{flex-shrink:0}.bf-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:12px;color:var(--km-mute)}.bf-breadcrumb a{color:var(--km-mute);text-decoration:none}.bf-breadcrumb a:hover{color:var(--km-ink)}.bf-hero{margin-bottom:12px}.bf-hero .bf-breadcrumb{margin-bottom:8px}.bf-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.bf-subheadline{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;max-width:60ch}.bf-card{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.bf-field{display:flex;flex-direction:column;gap:6px}.bf-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.bf-input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 16px var(--km-font-body);font-variant-numeric:tabular-nums}.bf-input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.bf-input::placeholder{color:var(--km-mute);font-weight:400}.bf-input-row,.bf-weight-row{display:flex;gap:6px;align-items:stretch}.bf-input-row .bf-input,.bf-weight-row .bf-input{flex:1;min-width:0}.bf-unit-toggle,.bf-toggle-row,.bf-height-unit-row{display:flex;gap:4px}.bf-unit-btn,.bf-toggle-btn{min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer;white-space:nowrap}.bf-toggle-btn{flex:1}.bf-unit-btn:hover,.bf-toggle-btn:hover{background:var(--km-surface)}.bf-unit-btn--active,.bf-unit-btn--active:hover,.bf-toggle-btn--active,.bf-toggle-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.bf-ftin-row{display:flex;align-items:center;gap:6px}.bf-ftin-input{flex:1;min-width:0}.bf-ftin-sep{font-size:12.5px;color:var(--km-mute)}.bf-options{display:flex;flex-direction:column;gap:4px}.bf-option-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);text-align:left;cursor:pointer}.bf-option-btn:hover{background:var(--km-surface)}.bf-option-btn--active,.bf-option-btn--active:hover{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.bf-error{margin:0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.bf-calculate-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.bf-calculate-btn:hover{background:var(--km-primary-hover)}.bf-result{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--km-r-lg);background:var(--km-block-bg);color:var(--km-block-ink)}.bf-result-label{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.bf-result-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.bf-result-unit{font-family:var(--km-font-body);font-weight:600;font-size:13px;color:var(--km-block-mute)}.bf-result-sub{margin:0;font-size:12.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.bf-result-cta{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-track)}.bf-result-cta-headline{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:14.5px;line-height:1.2}.bf-result-cta-text{margin:0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.bf-result-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;margin-top:4px;border:0;border-radius:var(--km-r);background:var(--km-accent);color:var(--km-accent-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none}.bf-result .email-capture,.bf-result .ec-card{color:var(--km-ink)}.bf-content{margin-top:18px}.bf-section{padding:12px 0;border-top:1px solid var(--km-line)}.bf-section h2,.bf-section-title{margin:0 0 6px;font-family:var(--km-font-display);font-weight:800;font-size:15px;line-height:1.2}.bf-section p,.bf-section-sub{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.bf-section p:last-child{margin-bottom:0}.bf-section strong{color:var(--km-ink)}.bf-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.bf-list li{margin-bottom:6px}.bf-table-wrap{overflow-x:auto;margin:4px 0}.bf-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.bf-table th{padding:6px 8px;text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute);border-bottom:1px solid var(--km-line)}.bf-table td{padding:7px 8px;border-bottom:1px solid var(--km-line)}.bf-table-note{margin:6px 0 0;font-size:12px;color:var(--km-mute)}.bf-faq,.bf-faq-list{display:flex;flex-direction:column}.bf-faq-item{padding:8px 0;border-bottom:1px dashed var(--km-line)}.bf-faq-item:last-child{border-bottom:0}.bf-faq-item h3{margin:0 0 4px;font-size:14px;font-weight:700}.bf-faq-item p{margin:0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.bf-faq-q{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:var(--km-ink);font:700 14px var(--km-font-body);text-align:left;cursor:pointer}.bf-faq-chevron{display:inline-flex;color:var(--km-mute);transition:transform .15s}.bf-faq-item--open .bf-faq-chevron{transform:rotate(180deg)}.bf-faq-a{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--km-mute)}.bf-inline-link,.bf-field-link{color:var(--km-primary);font-weight:600;text-decoration:none}.bf-inline-link:hover,.bf-field-link:hover{text-decoration:underline}.bf-disclaimer{margin:8px 0 0;font-size:12px;color:var(--km-mute)}.bf-related{padding-top:12px;border-top:1px solid var(--km-line)}.bf-related-title{margin:0 0 2px;font-family:var(--km-font-display);font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.bf-related-grid{display:flex;flex-direction:column}.bf-related-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--km-line)}.bf-related-label{font-weight:600;font-size:13.5px}.bf-related-btn{color:var(--km-primary);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}.bf-related-btn:hover{text-decoration:underline}.bf-related-soon{font-size:12px;color:var(--km-mute)}.bf-internal-links,.bf-bottom-nav{display:flex;gap:6px;margin-top:12px}.bf-internal-link,.bf-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);text-decoration:none}.bf-internal-link:hover,.bf-bottom-link:hover{background:var(--km-surface)}.bf-internal-link--cta,.bf-bottom-link--cta{background:var(--km-primary);border-color:var(--km-primary);color:var(--km-primary-ink)}.bf-internal-link--cta:hover,.bf-bottom-link--cta:hover{background:var(--km-primary-hover)}.bf-row-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bf-row-three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bf-input-wrap{display:flex;align-items:center;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg)}.bf-input-wrap:focus-within{border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.bf-input-wrap .bf-input{flex:1;min-width:0;border:0}.bf-input-wrap .bf-input:focus{box-shadow:none}.bf-input-unit{padding:0 10px;font-size:12px;color:var(--km-mute);white-space:nowrap}.bf-meas-heading{margin:4px 0 0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.bf-meas-sub{margin:-8px 0 0;font-size:12.5px;color:var(--km-mute)}.bf-req{font-weight:500;letter-spacing:0;text-transform:none;color:var(--km-primary)}.bf-field-hint{margin:0;font-size:11.5px;color:var(--km-mute)}.bf-prompt{margin:0;font-size:12.5px;color:var(--km-mute)}.bf-result-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}.bf-result-pct-wrap{display:flex;flex-direction:column}.bf-result-pct{font-family:var(--km-font-display);font-weight:900;font-size:40px;line-height:1;color:var(--km-block-accent);font-variant-numeric:tabular-nums}.bf-result-pct-label{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.bf-result-cat{flex:1;min-width:160px}.bf-result-cat-name{font-weight:700;font-size:14px}.bf-result-cat-desc{margin:2px 0 0;font-size:12.5px;color:var(--km-block-mute);line-height:1.4}.bf-scale-wrap{margin-top:18px}.bf-scale-bar{position:relative;display:flex;height:8px;border-radius:4px}.bf-scale-seg{height:100%}.bf-scale-seg:first-child{border-radius:4px 0 0 4px}.bf-scale-seg:last-child{border-radius:0 4px 4px 0}.bf-scale-marker{position:absolute;top:-20px;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.bf-scale-marker-bubble{order:-1;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.bf-scale-marker-pin{width:2px;height:14px;background:var(--km-block-ink)}.bf-scale-ticks{position:relative;height:14px;margin-top:4px;font-size:10.5px;color:var(--km-block-mute);font-variant-numeric:tabular-nums}.bf-scale-tick{position:absolute;transform:translate(-50%)}.bf-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.bf-stat{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:var(--km-r);background:var(--km-block-track)}.bf-stat-val{font-family:var(--km-font-display);font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}.bf-stat-lbl{font-size:11px;color:var(--km-block-mute)}.bf-goal-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--km-r);background:var(--km-block-track)}.bf-goal-title{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-block-mute)}.bf-goal-rows{display:flex;flex-direction:column}.bf-goal-row{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid var(--km-block-bg)}.bf-goal-row:last-child{border-bottom:0}.bf-goal-lbl{font-size:12.5px;color:var(--km-block-mute)}.bf-goal-val{font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.bf-goal-val--green{color:var(--km-ok)}.bf-goal-note{margin:0;font-size:12px;color:var(--km-block-mute);line-height:1.4}.bf-goal-note .bf-inline-link{color:var(--km-block-accent)}.bf-explain-grid{display:flex;flex-direction:column}.bf-explain-card{padding:8px 0;border-bottom:1px dashed var(--km-line)}.bf-explain-card:last-child{border-bottom:0}.bf-explain-title{margin:0 0 2px;font-size:14px;font-weight:700}.bf-explain-desc{margin:0;font-size:13.5px;color:var(--km-mute);line-height:1.5}.bf-cat-table{font-size:13px;font-variant-numeric:tabular-nums}.bf-cat-header,.bf-cat-row{display:grid;grid-template-columns:1fr 80px 80px;gap:8px;padding:6px 0;border-bottom:1px solid var(--km-line)}.bf-cat-header{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--km-mute)}.bf-cat-name,.bf-cat-range{font-weight:600}@media(max-width:480px){.bf-row-three,.bf-stats-grid{grid-template-columns:1fr 1fr}}.nf-page{max-width:640px;margin:0 auto;padding:40px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.nf-icon{display:inline-flex;color:var(--km-mute);margin-bottom:8px}.nf-title{margin:0 0 4px;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.nf-text{margin:0 0 14px;font-size:13.5px;color:var(--km-mute);line-height:1.5}.nf-actions{display:flex;gap:6px;flex-wrap:wrap}.nf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.nf-btn:hover{background:var(--km-surface)}.nf-btn--primary{border-color:var(--km-primary);background:var(--km-primary);color:var(--km-primary-ink)}.nf-btn--primary:hover{background:var(--km-primary-hover)}.fb-page{max-width:640px;margin:0 auto;padding:8px 14px 24px;font-family:var(--km-font-body);color:var(--km-ink)}.fb-page svg{flex-shrink:0}.fb-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;padding:0;border:0;background:none;color:var(--km-mute);font:500 12.5px var(--km-font-body);cursor:pointer}.fb-back:hover{color:var(--km-ink)}.fb-header{margin-bottom:8px}.fb-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.01em;text-transform:var(--km-h1-case)}.fb-subtitle{margin:4px 0 0;font-size:12.5px;color:var(--km-mute)}.fb-grid{display:flex;flex-direction:column;border-top:1px solid var(--km-line)}.fb-card{display:grid;grid-template-columns:36px 1fr auto;gap:1px 12px;align-items:center;width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--km-line);background:none;color:var(--km-ink);text-align:left;cursor:pointer;font-family:var(--km-font-body)}.fb-card:hover .fb-card-title{color:var(--km-primary)}.fb-card-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary);grid-row:span 2}.fb-card-title{margin:0;font-weight:700;font-size:14.5px;line-height:1.25}.fb-card-sub{margin:0;font-size:12.5px;color:var(--km-mute)}.fb-card-chev{grid-row:span 2;color:var(--km-mute);display:inline-flex}.fb-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:#0b12208c}.fb-modal{width:100%;max-width:640px;max-height:92dvh;display:flex;flex-direction:column;background:var(--km-bg);color:var(--km-ink);border-radius:var(--km-r-lg) var(--km-r-lg) 0 0;overflow:hidden}@media(min-width:700px){.fb-overlay{align-items:center;padding:20px}.fb-modal{border-radius:var(--km-r-lg);max-height:90vh}}.fb-modal-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--km-line)}.fb-modal-header>div{flex:1;min-width:0}.fb-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-primary)}.fb-modal-title{margin:0;font-family:var(--km-font-display);font-weight:800;font-size:16px;line-height:1.2}.fb-modal-sub{margin:1px 0 0;font-size:12px;color:var(--km-mute)}.fb-modal-close{width:32px;height:32px;border:0;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.fb-modal-body{display:flex;flex-direction:column;gap:5px;padding:12px 14px;overflow-y:auto}.fb-label{margin-top:6px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.fb-label:first-child{margin-top:0}.fb-req{color:var(--km-danger)}.fb-opt{font-weight:500;letter-spacing:0;text-transform:none}.fb-input,.fb-textarea{width:100%;padding:0 12px;min-height:42px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 14px var(--km-font-body)}.fb-textarea{padding:10px 12px;line-height:1.45;resize:vertical;min-height:110px}.fb-input:focus,.fb-textarea:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.fb-input::placeholder,.fb-textarea::placeholder{color:var(--km-mute)}.fb-char-count{margin:0;font-size:11px;color:var(--km-mute);text-align:right;font-variant-numeric:tabular-nums}.fb-file-hint{margin:0;font-size:12px;color:var(--km-mute)}.fb-file-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.fb-file-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none;min-height:36px;font-size:13px}.fb-file-btn:hover{background:var(--km-surface)}.fb-file-name{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--km-mute)}.fb-file-remove{width:24px;height:24px;border:0;border-radius:var(--km-r);background:none;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.fb-file-remove:hover{color:var(--km-danger)}.fb-preview-wrap{margin-top:4px}.fb-preview-thumb{max-width:100%;max-height:160px;border-radius:var(--km-r);border:1px solid var(--km-line)}.fb-error{margin:4px 0 0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.fb-modal-footer{display:flex;gap:6px;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--km-line)}.fb-modal-cancel{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer;text-decoration:none;min-height:44px}.fb-modal-cancel:hover{background:var(--km-surface)}.fb-modal-submit{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer;text-decoration:none}.fb-modal-submit:hover:not(:disabled){background:var(--km-primary-hover)}.fb-modal-submit:disabled{opacity:.6;cursor:not-allowed}.fb-success{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px))}.fb-success-icon{display:inline-flex;color:var(--km-ok);margin-bottom:4px}.fb-success-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:20px}.fb-success-sub{margin:0 0 10px;font-size:13.5px;color:var(--km-mute);line-height:1.45}.fb-success .fb-modal-submit{flex:none;width:100%}.trial-banner{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;padding:8px 14px;background:var(--km-surface);color:var(--km-ink);border-bottom:1px solid var(--km-line);font:500 13px var(--km-font-body);font-variant-numeric:tabular-nums}.trial-banner svg{flex-shrink:0}.trial-banner__text{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;min-width:0}.trial-banner__days{font-weight:700}.trial-banner__days--soon{color:var(--km-warn)}.trial-banner__usage{color:var(--km-mute);font-size:12px}.trial-banner__btn{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 12px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 12.5px var(--km-font-body);cursor:pointer;white-space:nowrap}.trial-banner__btn:hover{background:var(--km-primary-hover)}.trial-banner.trial-expired{background:var(--km-danger-soft);color:var(--km-danger-ink);border-bottom-color:var(--km-danger-line)}.trial-banner.trial-expired .trial-banner__btn{background:var(--km-danger);color:#fff}.social-links{display:flex;flex-wrap:wrap;gap:4px}.social-links__item{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-mute);text-decoration:none}.social-links__item:hover{color:var(--km-ink);background:var(--km-surface)}.social-links__item:focus-visible{outline:2px solid var(--km-primary);outline-offset:2px}.pw-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;background:#0b1220d9;font-family:var(--km-font-body)}.pw-card{position:relative;width:100%;max-width:440px;padding:20px 16px 16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);animation:pw-in .2s ease-out both}.pw-card svg{flex-shrink:0}@keyframes pw-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pw-card{animation:none}}.pw-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.pw-header{margin-bottom:12px;padding-right:36px}.pw-logo{margin:0 0 6px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.pw-headline{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.1;letter-spacing:-.01em}.pw-subheadline{margin:4px 0 0;font-size:13px;color:var(--km-mute);line-height:1.4}.pw-features{margin:0 0 12px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.pw-features li{display:flex;align-items:center;gap:6px;font-size:12.5px}.pw-check{display:inline-flex;color:var(--km-ok)}.pw-options{display:flex;flex-direction:column;gap:6px}.pw-option{padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r-lg)}.pw-option--trial{border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.pw-option-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pw-option-name{font-weight:700;font-size:14px}.pw-option-badge{padding:2px 7px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pw-option-badge--rec{background:var(--km-primary);color:var(--km-primary-ink)}.pw-option-badge--best{background:var(--km-accent);color:var(--km-accent-ink)}.pw-option-price-row{display:flex;align-items:baseline;gap:8px;margin-top:2px}.pw-option-price{font-family:var(--km-font-display);font-weight:900;font-size:20px;font-variant-numeric:tabular-nums}.pw-option-period{font-family:var(--km-font-body);font-weight:600;font-size:12px;color:var(--km-mute);margin-left:2px}.pw-option-equiv{font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.pw-option-sub{margin:4px 0 0;font-size:12.5px;color:var(--km-mute);line-height:1.4;font-variant-numeric:tabular-nums}.pw-option-after{margin:2px 0 0;font-size:12px;color:var(--km-mute);font-variant-numeric:tabular-nums}.pw-option-cta,.pw-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:0 14px;margin-top:8px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.pw-option-cta:hover:not(:disabled),.pw-cta:hover:not(:disabled){background:var(--km-surface)}.pw-option-cta--trial,.pw-cta{border-color:var(--km-primary);background:var(--km-primary);color:var(--km-primary-ink)}.pw-option-cta--trial:hover:not(:disabled),.pw-cta:hover:not(:disabled){background:var(--km-primary-hover)}.pw-option-cta--yearly{border-color:var(--km-btn2-bg);background:var(--km-btn2-bg);color:var(--km-btn2-ink)}.pw-option-cta--yearly:hover:not(:disabled){background:var(--km-btn2-hover)}.pw-option-cta:disabled,.pw-cta:disabled{opacity:.6;cursor:not-allowed}.pw-cta{margin-top:0}.pw-error{margin:10px 0 0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:12.5px}.pw-fine-print,.pw-trust,.pw-support{margin:10px 0 0;font-size:12px;color:var(--km-mute);text-align:center}.pw-trust{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px}.pw-trust span:first-child{display:inline-flex;align-items:center;gap:4px}.pw-support a{color:var(--km-primary);font-weight:600;text-decoration:none}.pw-support a:hover{text-decoration:underline}@media(max-width:400px){.pw-features{grid-template-columns:1fr}}.feedback-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0b12208c;font-family:var(--km-font-body)}.feedback-modal{position:relative;width:100%;max-width:400px;padding:20px 16px 16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink)}.feedback-modal svg{flex-shrink:0}.feedback-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.feedback-content h2,.feedback-modal>h2{margin:0 0 4px;padding-right:36px;font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.feedback-content>p,.feedback-modal>p{margin:0 0 12px;font-size:13px;color:var(--km-mute);line-height:1.4}.feedback-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.feedback-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.feedback-btn:hover{background:var(--km-surface)}.feedback-btn.active{background:var(--km-btn2-bg);border-color:var(--km-btn2-bg);color:var(--km-btn2-ink)}.feedback-error{margin:-6px 0 10px;font-size:12.5px;color:var(--km-danger)}.feedback-form{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.feedback-form label{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.stars{display:flex;gap:2px}.star{width:36px;height:36px;border:0;border-radius:var(--km-r);background:none;color:var(--km-star);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.star.filled{color:var(--km-star-on)}.feedback-textarea{width:100%;padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 14px/1.45 var(--km-font-body);resize:vertical}.feedback-textarea:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.feedback-textarea::placeholder{color:var(--km-mute)}.feedback-submit{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.feedback-submit:hover{background:var(--km-primary-hover)}.arp-overlay{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:16px;background:#0b12208c;font-family:var(--km-font-body)}.arp-card{position:relative;width:100%;max-width:400px;padding:20px 16px 16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);animation:arp-in .2s ease-out both}.arp-card svg{flex-shrink:0}@keyframes arp-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.arp-card{animation:none}}.arp-icon{display:inline-flex;color:var(--km-primary);margin-bottom:8px}.arp-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.arp-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.arp-badge{margin:0 0 6px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.arp-question{margin:0 0 10px;padding-right:36px;font-family:var(--km-font-display);font-weight:900;font-size:18px;line-height:1.15;letter-spacing:-.01em}.arp-stars-row{display:flex;gap:2px;margin-bottom:10px}.arp-star-btn{width:40px;height:40px;border:0;border-radius:var(--km-r);background:none;color:var(--km-star);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.arp-star-btn--on,.arp-star-btn--on:hover,.arp-star-btn:hover{color:var(--km-star-on)}.arp-star{display:inline-flex;color:var(--km-star)}.arp-star--on{color:var(--km-star-on)}.arp-stars-small .arp-star svg{width:16px;height:16px}.arp-dismiss-hint{margin:0;font-size:13px;color:var(--km-mute);cursor:pointer}.arp-dismiss-hint:hover{color:var(--km-ink)}.arp-comment-prompt{margin:0 0 6px;font-weight:700;font-size:14px}.arp-textarea{width:100%;padding:10px 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 14px/1.45 var(--km-font-body);resize:vertical}.arp-textarea:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.arp-textarea::placeholder{color:var(--km-mute)}.arp-footer{display:flex;gap:6px;margin-top:10px}.arp-skip{flex:1;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.arp-skip:hover{background:var(--km-surface)}.arp-submit{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.arp-submit:hover:not(:disabled){background:var(--km-primary-hover)}.arp-submit:disabled,.arp-skip:disabled{opacity:.6;cursor:not-allowed}.arp-done{display:flex;align-items:flex-start;gap:8px}.arp-done-icon{display:inline-flex;color:var(--km-ok);margin-top:2px}.arp-done-text{margin:0;font-size:14px;line-height:1.45}.fls-overlay{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:16px;background:#0b12208c;font-family:var(--km-font-body)}.fls-card{position:relative;width:100%;max-width:400px;padding:20px 16px 16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);animation:fls-in .2s ease-out both}.fls-card svg{flex-shrink:0}@keyframes fls-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.fls-card{animation:none}}.fls-icon{display:inline-flex;color:var(--km-primary);margin-bottom:8px}.fls-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.fls-message{margin:4px 0 12px;font-size:13.5px;color:var(--km-mute);line-height:1.45}.fls-upgrade-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.fls-upgrade-btn:hover{background:var(--km-primary-hover)}.fls-secondary-btn{margin-top:6px;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.fls-secondary-btn:hover{background:var(--km-surface)}.language-selector-wrapper{position:relative;z-index:1000;font-family:var(--km-font-body)}.language-trigger{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:600 13px var(--km-font-body);cursor:pointer}.language-trigger:hover{background:var(--km-surface)}.current-flag{font-size:16px}.current-code{color:var(--km-ink)}.dropdown-arrow{display:inline-flex;color:var(--km-mute)}.language-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:300px;max-height:70vh;border:1px solid var(--km-line);border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);box-shadow:var(--km-shadow);overflow:hidden}.language-dropdown-header{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--km-line);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;max-height:calc(70vh - 44px);overflow-y:auto}.language-option{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid transparent;border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 13.5px var(--km-font-body);text-align:left;cursor:pointer}.language-option:hover{background:var(--km-surface)}.language-option.active{background:var(--km-primary-soft);border-color:var(--km-primary);color:var(--km-primary);font-weight:600}.lang-flag{font-size:18px;flex-shrink:0}.lang-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang-code-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:4px;font-weight:700;letter-spacing:.04em;line-height:1;font-family:var(--km-font-display)}.lang-code-badge--grid{min-width:28px;height:22px;padding:0 5px;background:var(--km-btn2-bg);color:var(--km-btn2-ink);font-size:11px}.language-option.active .lang-code-badge--grid{background:var(--km-primary);color:var(--km-primary-ink)}.lang-code-badge--trigger{min-width:24px;height:20px;padding:0 4px;background:var(--km-btn2-bg);color:var(--km-btn2-ink);font-size:10px}.lang-code-badge--floating{min-width:30px;height:22px;background:transparent;color:var(--km-primary-ink);font-size:14px;font-weight:800}.language-selector-wrapper.compact .language-trigger{min-height:32px;padding:0 8px;font-size:12.5px}.language-selector-wrapper.compact .language-dropdown{top:auto;bottom:calc(100% + 6px);left:0;right:auto}.language-selector-wrapper.floating{position:fixed;bottom:90px;right:20px;z-index:9999}.language-selector-wrapper.floating .language-trigger{width:46px;height:46px;padding:0;justify-content:center;border:0;border-radius:50%;background:var(--km-primary);color:var(--km-primary-ink);box-shadow:var(--km-shadow)}.language-selector-wrapper.floating .language-trigger:hover{background:var(--km-primary-hover)}.language-selector-wrapper.floating .language-dropdown{top:auto;bottom:calc(100% + 8px)}.language-backdrop{display:none}@media(max-width:480px){.language-selector-wrapper .language-dropdown,.language-selector-wrapper.compact .language-dropdown,.language-selector-wrapper.floating .language-dropdown{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:calc(100vw - 32px);max-height:calc(100dvh - 48px);z-index:10001}.language-grid{max-height:calc(100dvh - 100px);-webkit-overflow-scrolling:touch}.language-backdrop{display:block;position:fixed;inset:0;background:#0b122073;z-index:10000}.language-selector-wrapper.floating{bottom:80px;right:16px}}.pwa-prompt{position:fixed;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--km-bg);color:var(--km-ink);border:1px solid var(--km-line);box-shadow:var(--km-shadow);font-family:var(--km-font-body);animation:pwa-prompt-in .2s ease-out both}@keyframes pwa-prompt-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.pwa-prompt{animation:none}}.pwa-prompt__text{min-width:0}.pwa-prompt__title{margin:0;font-size:14px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-prompt__sub{margin:2px 0 0;font-size:12px;color:var(--km-mute);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-prompt__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.pwa-prompt__install,.pwa-prompt__later{min-height:44px;border-radius:var(--km-r);font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.pwa-prompt__install{padding:0 18px;border:none;color:var(--km-primary-ink);background:var(--km-primary)}.pwa-prompt__install:disabled{opacity:.6;cursor:default}.pwa-prompt__later{padding:0 12px;border:none;background:transparent;color:var(--km-mute);font-weight:600}.pwa-prompt__later:hover{color:var(--km-ink)}.pwa-prompt__install:focus-visible,.pwa-prompt__later:focus-visible{outline:2px solid var(--km-primary);outline-offset:2px}@media(max-width:767px){.pwa-prompt{left:0;right:0;bottom:calc(var(--tabbar-h, 0px) + env(safe-area-inset-bottom,0px));max-height:72px;padding:10px 12px 10px 16px;border-left:none;border-right:none;border-bottom:none;border-radius:var(--km-r-lg) var(--km-r-lg) 0 0}.pwa-prompt__title{font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pwa-prompt__sub{font-size:11px}.pwa-prompt__later{padding:0 8px;font-size:13px}.pwa-prompt__install{padding:0 14px;font-size:13px}}@media(min-width:768px){.pwa-prompt{right:20px;bottom:20px;max-width:340px;max-height:96px;padding:12px 12px 12px 16px;border-radius:var(--km-r-lg)}.pwa-prompt__title,.pwa-prompt__sub{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.navbar{position:sticky;top:0;z-index:500;height:56px;background:var(--km-bg, #fff);box-shadow:0 1px 0 var(--km-line, #E2E5EC);transition:transform .22s ease}.navbar--hidden{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){.navbar{transition:none}}.nav-container{position:relative;max-width:1200px;height:100%;margin:0 auto;padding:0 12px;display:flex;flex-wrap:nowrap;align-items:center;gap:8px}.nav-logo{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;text-decoration:none;color:var(--km-ink, #0B1220);font-family:var(--km-font-display, inherit);font-weight:800;font-size:17px;letter-spacing:-.01em;flex-shrink:0}.nav-logo__img{width:36px;height:36px;border-radius:8px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;min-width:0}.nav-links--app{margin-left:24px}.nav-links--public{margin-left:auto}.nav-link{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--km-ink, #0B1220);text-decoration:none;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.nav-link:hover{background:var(--km-surface, #F3F4F8);color:var(--km-ink, #0B1220)}.nav-link.is-active{color:var(--km-primary, #1D4FE0);box-shadow:inset 0 -2px 0 var(--km-primary, #1D4FE0);border-radius:0}.nav-link:focus-visible{outline:2px solid var(--km-primary, #1D4FE0);outline-offset:2px}.nav-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.nav-links--public+.nav-right{margin-left:16px}.nav-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:8px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.nav-btn:focus-visible{outline:2px solid var(--km-primary, #1D4FE0);outline-offset:2px}.nav-btn--ghost{background:transparent;border:1.5px solid var(--km-line, #E2E5EC);color:var(--km-mute, #5A6271)}.nav-btn--ghost:hover{background:var(--km-surface, #F3F4F8);border-color:var(--km-mute, #5A6271);color:var(--km-ink, #0B1220)}.nav-btn--primary{background:var(--km-primary, #1D4FE0);border:none;color:var(--km-primary-ink, #fff)}.nav-btn--primary:hover{background:var(--km-primary-hover, #163FB8)}.nav-avatar{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--km-line, #E2E5EC);background:var(--km-surface, #F3F4F8);color:var(--km-ink, #0B1220);cursor:pointer}.nav-avatar:hover,.nav-avatar[aria-expanded=true]{background:var(--km-primary-soft, #E8EEFC);border-color:var(--km-primary, #1D4FE0)}.nav-avatar:focus-visible{outline:2px solid var(--km-primary, #1D4FE0);outline-offset:2px}.nav-hamburger{display:none;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:none;background:transparent;cursor:pointer;border-radius:8px}.nav-hamburger:focus-visible{outline:2px solid var(--km-primary, #1D4FE0);outline-offset:2px}.nav-hamburger span{display:block;width:22px;height:2px;background:var(--km-ink, #0B1220);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.nav-hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-hamburger.is-open span:nth-child(2){opacity:0}.nav-hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-menu{position:absolute;top:calc(100% + 6px);right:12px;width:min(300px,calc(100vw - 24px));padding:8px;background:var(--km-bg, #fff);border:1px solid var(--km-line, #E2E5EC);border-radius:14px;box-shadow:var(--km-shadow-lg, 0 12px 32px rgba(15, 23, 42, .14));display:flex;flex-direction:column;gap:4px;max-height:calc(100vh - 78px);max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain}.nav-menu__links{display:flex;flex-direction:column}.nav-menu__links+.nav-menu__links{border-top:1px solid var(--km-line, #E2E5EC);padding-top:4px;margin-top:4px}.nav-menu .nav-link{width:100%}.nav-menu__logout{margin-top:4px}.nav-lang{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:4px 12px;border-top:1px solid var(--km-line, #E2E5EC);margin-top:4px}.nav-lang__label{font-size:13px;color:var(--km-mute, #5A6271);font-weight:600}.nav-lang__options{display:flex;flex-wrap:wrap;gap:4px}.nav-lang__btn{min-height:36px;padding:0 9px;border-radius:8px;border:1.5px solid transparent;white-space:nowrap;background:transparent;font-size:13px;font-weight:600;color:var(--km-mute, #5A6271);cursor:pointer;font-family:inherit}.nav-lang__btn.is-active{border-color:var(--km-primary, #1D4FE0);background:var(--km-primary-soft, #E8EEFC);color:var(--km-primary, #1D4FE0)}.nav-lang__btn:focus-visible{outline:2px solid var(--km-primary, #1D4FE0);outline-offset:2px}@media(min-width:768px){.navbar{height:64px}.nav-container{padding:0 20px}}@media(max-width:767px){.nav-hamburger{display:flex}.nav-desktop-only{display:none}.nav-btn--primary{padding:0 14px;font-size:13px}.nav-logo__text{font-size:17px}.nav-menu{padding:6px;gap:2px}.nav-menu .nav-link{min-height:38px}.nav-menu__links+.nav-menu__links{padding-top:2px;margin-top:2px}.nav-lang{padding:2px 12px;margin-top:2px;gap:6px}.nav-lang__btn{min-height:32px}.nav-menu .nav-btn{min-height:40px}.nav-menu__logout{margin-top:2px}}.nav-btn__short{display:none}@media(max-width:767px){.nav-btn__long{display:none}.nav-btn__short{display:inline}.nav-logo{flex-shrink:1;min-width:0}.nav-logo__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:359px){.nav-logo__text{display:none}}.tabbar{display:none}@media(max-width:767px){body.has-tabbar{--tabbar-h: 56px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--km-bg, #fff);border-top:1px solid var(--km-line, #E2E5EC)}.tabbar__item{flex:1 1 0;min-width:44px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 2px;color:var(--km-mute, #5A6271);text-decoration:none;-webkit-tap-highlight-color:transparent}.tabbar__item svg{flex-shrink:0;width:22px;height:22px}.tabbar__item.is-active{color:var(--km-primary, #1D4FE0)}.tabbar__item:focus-visible{outline:2px solid var(--km-primary, #1D4FE0);outline-offset:-2px;border-radius:8px}.tabbar__label{font-size:10.5px;font-weight:600;line-height:1.15;text-align:center;white-space:normal;max-height:2.3em}body.has-tabbar .main-content{padding-bottom:calc(var(--tabbar-h, 56px) + 16px + env(safe-area-inset-bottom,0px))}body.has-tabbar .main-content:has(>.page-transition){padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}body.has-tabbar .footer{padding-bottom:calc(var(--tabbar-h, 56px) + 24px + env(safe-area-inset-bottom,0px))}}.onb-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;background:#0b12208c;font-family:var(--km-font-body)}.onb-card{position:relative;width:100%;max-width:400px;padding:20px 16px 16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);animation:onb-in .2s ease-out both}.onb-card svg{flex-shrink:0}@keyframes onb-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.onb-card{animation:none}}.onb-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:var(--km-r);background:var(--km-surface);color:var(--km-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.onb-logo{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-family:var(--km-font-display);font-weight:800;font-size:14px}.onb-logo-img{width:22px;height:22px}.onb-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:22px;line-height:1.1;letter-spacing:-.01em}.onb-subtitle{margin:4px 0 12px;font-size:13px;color:var(--km-mute);line-height:1.4}.onb-form{display:flex;flex-direction:column;gap:10px}.onb-field{display:flex;flex-direction:column;gap:5px}.onb-field label{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--km-mute)}.onb-field input,.onb-pw-wrap input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:500 15px var(--km-font-body)}.onb-field input:focus,.onb-pw-wrap input:focus{outline:none;border-color:var(--km-primary);box-shadow:0 0 0 1px var(--km-primary)}.onb-field input::placeholder{color:var(--km-mute)}.onb-pw-wrap{position:relative;display:flex;align-items:center}.onb-pw-wrap input{padding-right:44px}.onb-pw-toggle{position:absolute;right:4px;width:36px;height:36px;border:0;border-radius:var(--km-r);background:none;color:var(--km-mute);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.onb-pw-toggle:hover{color:var(--km-ink)}.onb-error{margin:0;padding:8px 10px;border-radius:var(--km-r);background:var(--km-danger-soft);color:var(--km-danger-ink);font-size:13px}.onb-submit{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.onb-submit:hover:not(:disabled){background:var(--km-primary-hover)}.onb-submit:disabled{opacity:.6;cursor:not-allowed}.onb-consent{margin:0;font-size:11.5px;color:var(--km-mute);line-height:1.45;text-align:center}.onb-consent a{color:var(--km-mute);text-decoration:underline}.onb-login-link{align-self:center;border:0;background:none;color:var(--km-primary);font:600 13px var(--km-font-body);cursor:pointer;padding:4px}.onb-login-link:hover{text-decoration:underline}.onb-trial-blocked-wrap{display:flex;flex-direction:column;gap:6px}.onb-trial-blocked-icon{display:inline-flex;color:var(--km-warn);margin-bottom:2px}.onb-trial-blocked-msg{margin:0 0 8px;font-size:13.5px;color:var(--km-mute);line-height:1.45}.notif-prompt-backdrop{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:16px;background:#0b12208c;font-family:var(--km-font-body)}.notif-prompt{position:relative;width:100%;max-width:400px;padding:20px 16px 16px;border-radius:var(--km-r-lg);background:var(--km-bg);color:var(--km-ink);animation:notif-prompt-in .2s ease-out both}.notif-prompt svg{flex-shrink:0}@keyframes notif-prompt-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.notif-prompt{animation:none}}.notif-prompt-icon{display:inline-flex;color:var(--km-primary);margin-bottom:8px}.notif-prompt-title{margin:0;font-family:var(--km-font-display);font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.01em}.notif-prompt-body{margin:4px 0 10px;font-size:13.5px;color:var(--km-mute);line-height:1.45}.notif-prompt-examples{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.notif-prompt-examples span{display:flex;align-items:center;gap:6px;font-size:13px}.notif-prompt-examples svg{color:var(--km-ok)}.notif-prompt-actions{display:flex;flex-direction:column;gap:6px}.notif-prompt-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;padding:0 16px;border:0;border-radius:var(--km-r);background:var(--km-primary);color:var(--km-primary-ink);font:700 14px var(--km-font-body);cursor:pointer}.notif-prompt-btn-primary:hover:not(:disabled){background:var(--km-primary-hover)}.notif-prompt-btn-primary:disabled{opacity:.6;cursor:not-allowed}.notif-prompt-btn-later{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:0 14px;border:1px solid var(--km-line);border-radius:var(--km-r);background:var(--km-bg);color:var(--km-ink);font:700 13.5px var(--km-font-body);cursor:pointer}.notif-prompt-btn-later:hover{background:var(--km-surface)}.notif-prompt-done{display:flex;align-items:flex-start;gap:8px}.notif-prompt-done span{display:inline-flex;color:var(--km-ok);margin-top:2px}.notif-prompt-done p{margin:0;font-size:14px;line-height:1.45}@keyframes km-spin{to{transform:rotate(360deg)}}.app{min-height:100dvh;background:var(--km-bg);transition:background-color .3s ease}.main-content{padding:16px 0;overflow-x:clip}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}:root{--bottom-nav-h: 0px}body.has-tabbar{--bottom-nav-h: var(--tabbar-h, 56px)}.page-transition{animation:slideInFromRight .3s ease-out;padding-bottom:calc(var(--bottom-nav-h, 0px) + env(safe-area-inset-bottom,0px))}.footer{margin-top:32px;padding:16px 0 20px;border-top:1px solid var(--km-line);background:var(--km-bg);font-family:var(--km-font-body)}.footer-container{max-width:900px;margin:0 auto;padding:0 14px;display:flex;flex-direction:column;gap:10px}.footer-brand{display:flex;align-items:baseline;gap:8px}.footer-brand-name{font-family:var(--km-font-display);font-weight:800;font-size:14px;color:var(--km-ink)}.footer-tagline{font-size:12px;color:var(--km-mute)}.footer-links{display:flex;flex-wrap:wrap;gap:4px 16px}.footer-links a{color:var(--km-mute);text-decoration:none;font-size:12.5px;font-weight:500}.footer-links a:hover{color:var(--km-ink)}.footer-links a.footer-link--hl{color:var(--km-primary);font-weight:700}.footer-links a.footer-link--hl:hover{color:var(--km-primary);text-decoration:underline}.footer-social,.footer-language{display:flex}.footer-copyright{margin:0;font-size:12px;color:var(--km-mute)}.footer-version{margin:-6px 0 0;font-size:10.5px;color:var(--km-mute);opacity:.7}.auth-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.auth-modal-container{position:relative;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;border-radius:20px}.auth-modal-close{position:absolute;top:12px;right:16px;background:#ffffffe6;border:none;font-size:28px;cursor:pointer;color:#666;z-index:10001;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 8px #00000026}.auth-modal-close:hover{background:#fff;color:#333}
