@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2) format("woff2"),url(/assets/fraunces-vietnamese-400-normal-B65MOf9T.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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2) format("woff2"),url(/assets/fraunces-latin-ext-400-normal-UihxqfOe.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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2) format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==) 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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.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}:root{--bg: #FAF7F2;--bg-2: #F4EFE7;--panel: #FFFFFF;--panel-2: #F8F4EE;--panel-3: #EFE9DF;--line: rgba(46,30,22,.07);--line-2: rgba(46,30,22,.12);--line-3: rgba(46,30,22,.22);--ink: #2A1F18;--ink-2: #5C4F46;--ink-3: #8C7F75;--ink-4: #BFB2A4;--accent: #7A1F2B;--accent-2: #94283B;--accent-dim: rgba(122,31,43,.08);--accent-mid: rgba(122,31,43,.18);--accent-soft: rgba(122,31,43,.04);--recovery: var(--accent);--recovery-dim: var(--accent-dim);--recovery-mid: var(--accent-mid);--strain: #4A5D7E;--strain-dim: rgba(74,93,126,.1);--sleep: #6C5B7B;--sleep-dim: rgba(108,91,123,.1);--warn: #B08642;--warn-dim: rgba(176,134,66,.1);--alert: #A3402F;--alert-dim: rgba(163,64,47,.08);--alert-soft: rgba(163,64,47,.1);--good: #4F7B47;--good-soft: rgba(79,123,71,.1);--pink: #B5476A;--pink-dim: rgba(181,71,106,.1);--radius: 8px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(46,30,22,.04);--shadow: 0 2px 10px rgba(46,30,22,.05);--shadow-lg: 0 12px 36px rgba(46,30,22,.1);--nav-h: 56px;--bottom-h: 84px;--transition: .18s cubic-bezier(.22,.61,.36,1);--font-serif: "Fraunces", "Iowan Old Style", Georgia, serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}[data-theme=dark]{--bg: #16110D;--bg-2: #1E1813;--panel: #221C17;--panel-2: #2B231D;--panel-3: #342B24;--line: rgba(247,236,221,.06);--line-2: rgba(247,236,221,.12);--line-3: rgba(247,236,221,.22);--ink: #F1E8DC;--ink-2: #B5A89A;--ink-3: #7E7166;--ink-4: #4A4039;--accent: #C4525F;--accent-2: #D66A77;--accent-dim: rgba(196,82,95,.1);--accent-mid: rgba(196,82,95,.22);--accent-soft: rgba(196,82,95,.05);--recovery: var(--accent);--recovery-dim: var(--accent-dim);--recovery-mid: var(--accent-mid);--strain: #7889A8;--strain-dim: rgba(120,137,168,.12);--sleep: #A593B5;--sleep-dim: rgba(165,147,181,.12);--warn: #D6A560;--warn-dim: rgba(214,165,96,.12);--alert: #D26E5C;--alert-dim: rgba(210,110,92,.1);--alert-soft: rgba(210,110,92,.14);--good: #7AAD6E;--good-soft: rgba(122,173,110,.14);--pink: #D27B95;--pink-dim: rgba(210,123,149,.12);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow: 0 2px 10px rgba(0,0,0,.35);--shadow-lg: 0 12px 36px rgba(0,0,0,.55)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;font-feature-settings:"ss01","cv01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;letter-spacing:-.005em}.serif{font-family:var(--font-serif);font-feature-settings:"ss01"}.app-wrap{width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--bg)}.top-nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:#faf7f2d9;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:100;flex-shrink:0}[data-theme=dark] .top-nav{background:#16110dd9}.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer}.nav-logo-mark{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center}.nav-logo-mark svg{width:18px;height:18px;display:block}.nav-logo-text{font-family:var(--font-serif);font-weight:500;font-size:16px;letter-spacing:0;color:var(--ink)}.nav-right{display:flex;align-items:center;gap:4px}.nav-icon-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:none;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);transition:all var(--transition)}.nav-icon-btn:hover{background:var(--panel-2);color:var(--ink)}.nav-icon-btn svg{width:18px;height:18px}.nav-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600;cursor:pointer;border:none;font-family:var(--font-sans);margin-left:4px}.page-wrap{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:var(--nav-h);padding-bottom:var(--bottom-h);scrollbar-width:none}.page-wrap::-webkit-scrollbar{display:none}.section{display:none;animation:pageIn .24s cubic-bezier(.22,1,.36,1)}.section.active{display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.content{padding:0 16px 24px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-h);background:#faf7f2f0;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-top:1px solid var(--line);display:flex;padding:8px 8px env(safe-area-inset-bottom,12px);z-index:100}[data-theme=dark] .bottom-nav{background:#16110df0}.nav-tab{flex:1;background:none;border:none;color:var(--ink-3);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border-radius:var(--radius-lg);transition:color var(--transition);position:relative;font-family:inherit}.nav-tab:hover{color:var(--ink-2)}.nav-tab.active{color:var(--accent)}.nav-tab svg{width:22px;height:22px;stroke-width:1.5}.nav-tab.active svg{stroke-width:1.75}.nav-tab-label{font-size:10px;letter-spacing:.04em;font-weight:500}.nav-tab.active .nav-tab-label{font-weight:600}.dropdown{display:none;position:fixed;top:50px;right:14px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius-lg);padding:6px;z-index:200;min-width:200px;box-shadow:var(--shadow-lg)}.dropdown.open{display:block}.dd-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:400;color:var(--ink-2);transition:all var(--transition);background:none;border:none;width:100%;text-align:left;font-family:inherit;letter-spacing:0}.dd-item:hover{background:var(--panel-2);color:var(--ink)}.dd-item svg{width:16px;height:16px;opacity:.7}.dd-icon{display:inline-flex;width:18px;height:18px;color:var(--ink-3);flex-shrink:0}.dd-icon svg{width:18px;height:18px;opacity:1}.dd-header{padding:12px;border-bottom:1px solid var(--line);margin-bottom:4px}.dd-name{font-size:14px;font-weight:700}.dd-role{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.hero{margin-top:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);padding:28px 24px;position:relative}.hero-label{font-family:var(--font-sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.hero-badge{font-family:var(--font-sans);font-size:11px;color:var(--accent);font-weight:500;background:var(--accent-dim);padding:4px 10px;border-radius:999px;letter-spacing:.02em}.ring-wrap{display:flex;align-items:center;justify-content:center;margin:20px 0 8px;position:relative}.ring-svg{display:block}.ring-bg{stroke:var(--line);stroke-width:6!important}.ring-fg{stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1);stroke:var(--accent)!important;filter:none!important;stroke-width:6!important}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.ring-num{font-family:var(--font-serif);font-size:56px;font-weight:500;letter-spacing:-.02em;line-height:1;font-feature-settings:"tnum";color:var(--ink)!important}.ring-unit{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);font-weight:500;margin-top:6px}.ring-label-top{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-3);margin-bottom:3px;font-weight:500}.hero-strip{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.strip-cell{text-align:center}.strip-cell+.strip-cell{border-left:1px solid var(--line)}.strip-num{font-family:var(--font-serif);font-size:22px;font-weight:500;letter-spacing:-.01em;font-feature-settings:"tnum";color:var(--ink)}.strip-num.ok,.strip-num.act,.strip-num.warn{color:var(--ink)}.strip-label{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);margin-top:6px;font-weight:500}.sec{margin-top:32px}.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 2px}.sec-title{font-family:var(--font-sans);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3)}.sec-link{font-size:12px;color:var(--ink-3);cursor:pointer;letter-spacing:0;font-weight:400;background:none;border:none;font-family:inherit;text-transform:none}.sec-link:hover{color:var(--accent)}.page-title{font-family:var(--font-serif);font-size:36px;font-weight:500;letter-spacing:-.02em;margin:24px 20px 18px;line-height:1.1;color:var(--ink)}.module-header{display:flex;align-items:center;gap:14px;padding:18px 20px 8px}.module-eyebrow{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);font-weight:500}.module-title{font-family:var(--font-serif);font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--ink);margin-top:2px}.chips{display:flex;gap:8px;margin:0 0 18px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.chips::-webkit-scrollbar{display:none}.chip{padding:8px 14px;border-radius:999px;background:transparent;border:1px solid var(--line-2);color:var(--ink-2);font-size:12px;font-weight:500;letter-spacing:0;white-space:nowrap;cursor:pointer;transition:all var(--transition);font-family:inherit}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.chip-count{opacity:.7;margin-left:4px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{background:none;border:none;color:var(--ink-3);font-family:inherit;font-size:14px;font-weight:500;padding:12px 0;cursor:pointer;position:relative;white-space:nowrap;transition:color var(--transition);letter-spacing:0}.tab:hover{color:var(--ink-2)}.tab.active{color:var(--ink)}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:1px}.input-group{display:flex;gap:8px;margin-bottom:12px}.inp{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);padding:11px 14px;color:var(--ink);font-family:var(--font-sans);font-size:14px;font-weight:400;outline:none;transition:border-color var(--transition);flex:1;width:100%;letter-spacing:0}.inp:focus{border-color:var(--accent);background:var(--panel)}.inp::placeholder{color:var(--ink-4)}select.inp{cursor:pointer}select.inp option{background:var(--panel)}.inp-sm{padding:8px 12px;font-size:13px;width:100px;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);border-radius:var(--radius);padding:10px 16px;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0;cursor:pointer;transition:all var(--transition);background:transparent;color:var(--ink);text-transform:none}.btn:hover{background:var(--panel-2);border-color:var(--ink-3)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn-danger{background:transparent;color:var(--alert);border-color:#a3402f4d}.btn-danger:hover{background:var(--alert);color:#fff;border-color:var(--alert)}.btn-xs{padding:6px 12px;font-size:12px}.btn-full{width:100%}.btn-icon{width:36px;height:36px;padding:0;border-radius:50%;background:transparent;color:var(--ink-2);border:1px solid var(--line)}.btn-icon:hover{background:var(--panel-2);color:var(--ink)}.fab{position:absolute;right:20px;bottom:96px;width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;border:none;display:grid;place-items:center;font-size:22px;cursor:pointer;box-shadow:var(--shadow);z-index:40;transition:all var(--transition)}.fab:hover{background:var(--accent-2);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:500;letter-spacing:.02em;text-transform:none}.tag-nick{background:var(--strain-dim);color:var(--strain)}.tag-natalie{background:var(--pink-dim);color:var(--pink)}.tag-both{background:var(--accent-soft);color:var(--accent)}.tag-urgent{background:var(--alert-dim);color:var(--alert)}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;z-index:300;align-items:center;justify-content:center;padding:20px}.modal-overlay.open{display:flex;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--panel);border-radius:var(--radius-xl);border:1px solid var(--line-2);padding:20px 20px 24px;width:100%;max-width:500px;max-height:84vh;overflow-y:auto;scrollbar-width:none;animation:popIn .24s cubic-bezier(.22,1,.36,1);position:relative}.modal::-webkit-scrollbar{display:none}.modal-full{max-width:760px;max-height:96vh;padding:24px 24px 32px}.modal-overlay.full{padding:0;align-items:stretch;justify-content:stretch}.modal-overlay.full .modal{max-width:none;max-height:none;width:100vw;height:100dvh;border-radius:0;border:none;padding:18px 18px 100px;animation:slideUp .28s cubic-bezier(.22,1,.36,1)}.meal-course-card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px 12px;margin-bottom:12px}.meal-course-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.meal-course-name{font-family:var(--font-serif);font-size:15px;font-weight:500;color:var(--ink);text-transform:capitalize}.meal-course-count{font-size:11px;color:var(--ink-3);font-weight:500;letter-spacing:.04em}.meal-course-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.meal-course-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line-2);border-radius:999px;padding:5px 6px 5px 12px;font-size:13px;color:var(--ink);max-width:100%}.meal-course-chip.linked{border-color:var(--accent-mid);background:var(--accent-soft);color:var(--accent)}.meal-course-chip .chip-rm{cursor:pointer;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--ink-3);font-size:14px;line-height:1}.meal-course-chip .chip-rm:hover{background:var(--panel-2);color:var(--ink)}.meal-course-empty{font-size:12px;color:var(--ink-3);font-style:italic;padding:4px 0 8px}.meal-pairing-box{background:var(--accent-soft);border:1px solid var(--accent-mid);border-radius:var(--radius);padding:12px 14px;font-size:13px;line-height:1.5;color:var(--ink);margin-top:8px}.meal-pairing-box.empty{background:var(--panel);border-style:dashed;color:var(--ink-3);font-style:italic}.meal-pairing-alt{font-size:11px;color:var(--ink-3);margin-top:6px;letter-spacing:.02em}.meal-picker-list{max-height:min(60vh,440px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);margin-top:8px}.meal-picker-row{padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}.meal-picker-row:last-child{border-bottom:none}.meal-picker-row:hover,.meal-picker-row.focus{background:var(--panel)}.meal-picker-row .pick-meta{font-size:11px;color:var(--ink-3);font-feature-settings:"tnum"}.meal-picker-add{font-size:13px;color:var(--accent);font-weight:500}@keyframes popIn{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:560px){.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:none;padding:20px 20px 32px;max-height:90vh;animation:slideUp .3s cubic-bezier(.22,1,.36,1)}}.modal-title{font-family:var(--font-serif);font-size:22px;font-weight:500;letter-spacing:-.01em;margin-bottom:20px;color:var(--ink);line-height:1.2}.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:transparent;border:none;display:grid;place-items:center;cursor:pointer;color:var(--ink-3);font-size:0;transition:all var(--transition)}.modal-close:before{content:"";width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%238C7F75' stroke-width='1.5' stroke-linecap='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.modal-close:hover{background:var(--panel-2)}.modal-close:hover:before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%232A1F18' stroke-width='1.5' stroke-linecap='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E")}[data-theme=dark] .modal-close:before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%237E7166' stroke-width='1.5' stroke-linecap='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E")}.form-row{margin-bottom:14px}.form-label{font-family:var(--font-sans);font-size:11px;color:var(--ink-3);font-weight:500;margin-bottom:6px;letter-spacing:0;text-transform:none}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.toast{position:fixed;bottom:calc(var(--bottom-h) + 14px);left:50%;transform:translate(-50%) translateY(20px);background:var(--panel);border:1px solid var(--line-2);border-radius:999px;padding:9px 20px;font-size:12px;font-weight:600;color:var(--ink);z-index:500;opacity:0;transition:all .25s;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.undo-toast{position:fixed;bottom:calc(var(--bottom-h) + 14px);left:50%;transform:translate(-50%) translateY(20px);background:var(--ink);color:#fff;border-radius:999px;padding:8px 8px 8px 18px;font-size:13px;font-weight:500;z-index:500;opacity:0;transition:all .25s;pointer-events:none;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}.undo-toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.undo-toast button{background:transparent;color:var(--accent-soft, #ffb3bf);border:none;font-weight:700;cursor:pointer;padding:6px 14px;border-radius:999px;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.undo-toast button:hover{background:#ffffff1a}.stale-banner{position:fixed;top:calc(var(--nav-h) + 6px);left:50%;transform:translate(-50%) translateY(-12px);background:var(--warn);color:#fff;border-radius:999px;padding:6px 14px;font-size:11px;font-weight:500;letter-spacing:.04em;z-index:400;opacity:0;transition:all .2s;pointer-events:none;text-transform:uppercase;box-shadow:var(--shadow-sm)}.stale-banner.show{opacity:1;transform:translate(-50%) translateY(0)}.skeleton{background:linear-gradient(90deg,var(--panel-2) 0%,var(--panel-3) 50%,var(--panel-2) 100%);background-size:200% 100%;border-radius:var(--radius);animation:skeleton-shimmer 1.4s ease-in-out infinite;min-height:14px}.skeleton-line{height:12px;margin:6px 0;border-radius:4px}.skeleton-card{height:80px;margin-bottom:10px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[role=button]{cursor:pointer}.dr-stars{display:flex;align-items:center;gap:2px}.dr-star{background:transparent;border:none;font-size:26px;line-height:1;color:var(--line-2);cursor:pointer;padding:4px 2px;transition:color var(--transition);min-width:34px}.dr-star.on{color:var(--accent)}.dr-star:hover{color:var(--accent-2)}.panel-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:200}.panel-overlay.open{display:block;animation:fadeIn .2s ease}.day-panel{position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:1px solid var(--line-2);border-bottom:none;padding:20px 20px 32px;max-height:80vh;overflow-y:auto;scrollbar-width:none;animation:slideUp .3s cubic-bezier(.22,1,.36,1);z-index:201}.greeting{margin:24px 0 4px}.greet-eye{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);font-weight:500}.greet-name{font-family:var(--font-serif);font-size:36px;font-weight:500;letter-spacing:-.02em;line-height:1.1;margin-top:6px;color:var(--ink)}.greet-sub{font-size:14px;color:var(--ink-2);margin-top:6px;font-weight:400}.shortcut-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.shortcut-btn{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 8px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all var(--transition)}.shortcut-btn:hover{border-color:var(--line-3);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.shortcut-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--accent-dim);color:var(--accent)}.shortcut-icon svg{width:18px;height:18px;stroke-width:1.5}.shortcut-label{font-size:11px;letter-spacing:0;font-weight:500;color:var(--ink-2);text-align:center}.briefing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.briefing-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px;cursor:pointer;transition:all var(--transition);display:flex;gap:14px;align-items:center}.briefing-card:hover{border-color:var(--line-3);box-shadow:var(--shadow-sm)}.briefing-card.highlight{border-color:var(--accent-mid);background:var(--accent-soft)}.bc-icon{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--panel-2);display:grid;place-items:center;color:var(--accent)}.bc-icon svg{width:18px;height:18px;stroke-width:1.5}.bc-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:500}.bc-value{font-size:15px;font-weight:500;margin-top:3px;letter-spacing:-.005em;color:var(--ink)}.weather-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.weather-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 6px;text-align:center}.wd-day{font-size:11px;letter-spacing:0;color:var(--ink-3);font-weight:500}.wd-icon{font-size:20px;margin:6px 0;opacity:.9}.wd-temp{font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:-.01em;font-feature-settings:"tnum"}.list-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:6px;display:flex;align-items:center;gap:14px;transition:all var(--transition)}.list-item:hover{background:var(--panel-2);border-color:var(--line-2)}.list-item.done{opacity:.5}.list-item.done .item-text{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--ink-3)}.item-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--ink-4);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all var(--transition);background:transparent}.item-check:hover{border-color:var(--accent)}.item-check.checked{background:var(--accent);border-color:var(--accent)}.item-check.checked:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.item-text{flex:1;font-size:14px;font-weight:400;color:var(--ink);letter-spacing:-.005em}.item-qty{font-size:12px;color:var(--ink-3);font-weight:400;font-feature-settings:"tnum"}.item-del{color:var(--ink-4);cursor:pointer;font-size:18px;padding:0 4px;line-height:1;transition:color var(--transition)}.item-del:hover{color:var(--alert)}.cat-label{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-weight:500;margin:18px 0 8px;padding:0 4px}.empty-state{text-align:center;padding:64px 20px;color:var(--ink-3)}.show-more-wrap{text-align:center;padding:16px 0}.pwa-update-banner{position:fixed;bottom:calc(var(--bottom-h) + 70px);left:50%;transform:translate(-50%);background:var(--ink);color:#fff;border-radius:999px;padding:10px 12px 10px 18px;font-size:13px;font-weight:500;z-index:500;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px)}.pwa-update-banner button{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;min-height:36px}.btn-xs{min-height:32px;min-width:32px}.item-del{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}.chip{min-height:32px;display:inline-flex;align-items:center}.nav-icon-btn{min-width:40px;min-height:40px}button{touch-action:manipulation}.empty-icon{display:none}.empty-text{font-family:var(--font-serif);font-size:16px;font-style:italic;letter-spacing:0;color:var(--ink-3);line-height:1.4}.goal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:10px}.goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:14px}.goal-title{font-family:var(--font-serif);font-size:17px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.goal-desc{font-size:13px;color:var(--ink-2);margin-bottom:14px;letter-spacing:0;line-height:1.5}.progress-track{height:4px;background:var(--panel-3);border-radius:2px;overflow:hidden}.progress-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .6s cubic-bezier(.22,1,.36,1)}.goal-footer{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--ink-3);text-transform:none;letter-spacing:0;font-weight:400}.goal-actions{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.cal-header{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.cal-dow{text-align:center;font-size:11px;color:var(--ink-3);font-weight:400;letter-spacing:0;text-transform:none}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px}.cal-day{aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all var(--transition);font-family:var(--font-serif);font-size:15px;font-weight:400;background:transparent;color:var(--ink)}.cal-day:hover{background:var(--panel-2)}.cal-day.other-month{color:var(--ink-4)}.cal-day.today{background:var(--accent);color:#fff;font-weight:500}.cal-day.has-events:after{content:"";position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.cal-day.today.has-events:after{background:#fff}.cal-month-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.cal-month-title{font-family:var(--font-serif);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.cal-month-nav{display:flex;gap:6px}.dp-event{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start}.dp-event:last-child{border-bottom:none}.dp-cat-bar{width:2px;align-self:stretch;border-radius:2px;flex-shrink:0;background:var(--accent)}.dp-ev-info{flex:1;min-width:0}.dp-ev-title{font-size:15px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.dp-ev-meta{font-size:12px;color:var(--ink-3);margin-top:3px;letter-spacing:0}.planner-stack{display:flex;flex-direction:column;gap:10px;margin-top:20px}.day-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;transition:all var(--transition);position:relative}.day-card:hover{border-color:var(--line-2)}.day-card.today{border-color:var(--accent-mid)}.day-card.today:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;background:var(--accent);border-radius:0 2px 2px 0}.day-card-hdr{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.day-card-dow{font-family:var(--font-sans);font-size:12px;letter-spacing:0;color:var(--ink-3);font-weight:500;text-transform:none}.day-card-dow .today-pill{background:var(--accent);color:#fff;font-size:10px;padding:2px 8px;border-radius:999px;margin-left:8px;letter-spacing:.02em;font-weight:500;text-transform:none}.day-card-date{font-family:var(--font-serif);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--ink);line-height:1}.meal-row-line{display:flex;align-items:center;gap:14px;padding:12px 4px;border-radius:0;cursor:pointer;transition:background var(--transition)}.meal-row-line:hover{background:var(--panel-2)}.meal-row-line+.meal-row-line{border-top:1px solid var(--line)}.meal-row-icon{width:28px;height:28px;flex-shrink:0;color:var(--ink-3);display:grid;place-items:center}.meal-row-icon svg{width:18px;height:18px;stroke-width:1.5}.meal-row-label{font-family:var(--font-sans);font-size:13px;letter-spacing:0;color:var(--ink-3);font-weight:400;width:80px;flex-shrink:0;text-transform:none}.meal-row-val{flex:1;min-width:0;font-size:15px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}.meal-row-val.empty{color:var(--ink-4);font-weight:400;font-style:normal;letter-spacing:0}.meal-row-cook{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;letter-spacing:0;padding:6px 13px;border-radius:999px;background:transparent;color:var(--accent);border:1px solid var(--accent-mid);cursor:pointer;font-family:inherit;text-transform:none;transition:all var(--transition)}.meal-row-cook:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.meal-row-cook.disabled{color:var(--ink-4);border-color:var(--line-2);cursor:not-allowed}.meal-row-cook.disabled:hover{background:transparent;color:var(--ink-4)}.cook-header{position:sticky;top:0;background:#faf7f2eb;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--line);padding:14px 18px;display:flex;align-items:center;gap:14px;z-index:4}[data-theme=dark] .cook-header{background:#16110deb}.cook-header-eyebrow{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);font-weight:500}.cook-header-title{font-family:var(--font-serif);font-size:17px;font-weight:500;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);margin-top:1px}.cook-header-step{font-family:var(--font-sans);font-size:12px;color:var(--ink-3);font-weight:400;letter-spacing:0;flex-shrink:0}.cook-slide{padding:90px 28px 120px;max-width:640px;margin:0 auto;min-height:100vh;box-sizing:border-box}.cook-progress{display:flex;gap:4px;padding:16px 28px 0;max-width:640px;margin:0 auto}.cook-progress-pip{flex:1;height:2px;background:var(--line);border-radius:1px;transition:background .2s}.cook-progress-pip.active{background:var(--accent)}.cook-progress-pip.done{background:var(--accent-mid)}.cook-stage{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);font-weight:500;margin-bottom:14px}.cook-title{font-family:var(--font-serif);font-size:36px;font-weight:500;letter-spacing:-.02em;line-height:1.1;margin-bottom:24px;color:var(--ink)}.cook-body{font-family:var(--font-serif);font-size:20px;line-height:1.6;color:var(--ink);margin-bottom:28px;font-weight:400;letter-spacing:-.005em}.cook-ingredient-row{display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid var(--line)}.cook-ingredient-name{flex:1;font-size:16px;font-weight:400;color:var(--ink);letter-spacing:-.005em}.cook-ingredient-row.checked .cook-ingredient-name{text-decoration:line-through;text-decoration-thickness:1px;opacity:.5}.cook-ingredient-qty{font-family:var(--font-serif);font-size:15px;color:var(--ink-2);font-feature-settings:"tnum";min-width:90px;text-align:right;font-weight:500}.cook-ingredient-qty input{width:64px;background:transparent;border:1px solid var(--line);border-radius:6px;padding:5px 8px;color:var(--ink);font-family:var(--font-serif);font-size:15px;text-align:right;font-weight:500}.cook-ingredient-qty input:focus{border-color:var(--accent);outline:none}.cook-timer-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-lg);padding:22px;font-family:inherit;font-size:15px;font-weight:500;letter-spacing:0;cursor:pointer;margin:18px 0;transition:all var(--transition)}.cook-timer-btn:hover{background:var(--accent-2)}.cook-timer-btn.running{background:var(--ink);color:var(--bg)}.cook-timer-btn.done{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent)}.cook-timer-display{font-family:var(--font-mono);font-size:28px;font-feature-settings:"tnum";font-weight:500;letter-spacing:0}.cook-nav{position:fixed;bottom:0;left:0;right:0;background:#faf7f2f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line);padding:14px 22px env(safe-area-inset-bottom,16px);display:flex;gap:10px;z-index:2}[data-theme=dark] .cook-nav{background:#16110df2}.cook-nav .btn{flex:1;padding:13px;font-size:14px}.cook-floating-timers{position:fixed;top:72px;left:14px;right:14px;display:flex;flex-direction:column;gap:6px;z-index:3;pointer-events:none}.cook-floating-timer{background:var(--panel);border:1px solid var(--line-2);border-left:3px solid var(--warn);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);cursor:pointer;pointer-events:auto;animation:slideDown .25s ease}@keyframes slideDown{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.cook-floating-timer.done{border-left-color:var(--accent);background:var(--accent-soft)}.cook-floating-timer-label{flex:1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);letter-spacing:-.005em}.cook-floating-timer-time{font-family:var(--font-mono);font-size:14px;font-weight:500;font-feature-settings:"tnum";color:var(--warn)}.cook-floating-timer.done .cook-floating-timer-time{color:var(--accent)}.dinner-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:10px;display:flex;gap:18px;align-items:flex-start}.dinner-date-block{text-align:center;flex-shrink:0;width:46px}.dinner-day{font-family:var(--font-serif);font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1;color:var(--ink)}.dinner-mon{font-size:11px;letter-spacing:0;color:var(--ink-3);font-weight:400;text-transform:none;margin-top:2px}.dinner-info{flex:1;min-width:0}.dinner-title{font-family:var(--font-serif);font-size:17px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.dinner-meta{font-size:13px;color:var(--ink-3);margin-top:4px;letter-spacing:0}.dinner-notes{font-family:var(--font-serif);font-size:13px;color:var(--ink-2);margin-top:6px;font-style:italic}.ent-venue-badge{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:400;text-transform:none;letter-spacing:0;margin-left:8px}.ent-home{background:var(--accent-soft);color:var(--accent)}.ent-out{background:var(--panel-2);color:var(--ink-3)}.maintenance-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:8px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all var(--transition)}.maintenance-card:hover{border-color:var(--line-2)}.mc-cat-icon{width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0}.mc-cat-icon svg{width:18px;height:18px;stroke-width:1.5}.mc-info{flex:1;min-width:0}.mc-title{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.mc-meta{font-size:12px;color:var(--ink-3);margin-top:3px;letter-spacing:0}.mc-due{font-size:11px;font-weight:500;padding:4px 10px;border-radius:999px;flex-shrink:0;text-align:center;text-transform:none;letter-spacing:0}.mc-due.overdue{background:var(--alert-dim);color:var(--alert)}.mc-due.soon{background:var(--warn-dim);color:var(--warn)}.mc-due.ok{background:var(--panel-2);color:var(--ink-3)}.wish-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:8px;display:flex;gap:14px;align-items:flex-start;transition:all var(--transition)}.wish-card:hover{border-color:var(--line-2)}.wish-card.done{opacity:.5}.wish-icon{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;color:var(--ink-3);margin-top:2px}.wish-icon svg{width:20px;height:20px;stroke-width:1.5}.wish-info{flex:1;min-width:0}.wish-title{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.wish-meta{font-size:12px;color:var(--ink-3);margin-top:4px;letter-spacing:0}.wish-meta a{color:var(--accent);text-decoration:none}.wish-meta a:hover{text-decoration:underline}.wish-pill{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:400;text-transform:none;letter-spacing:0;background:var(--panel-2);color:var(--ink-3);margin-left:8px}.wish-pill.want{background:var(--accent-soft);color:var(--accent)}.wish-pill.bucket{background:var(--warn-dim);color:var(--warn)}.wish-pill.trip{background:var(--strain-dim);color:var(--strain)}.wish-pill.done{background:var(--panel-2);color:var(--ink-3)}.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:6px}.doc-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;cursor:pointer;transition:all var(--transition);position:relative}.doc-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}.doc-icon{margin-bottom:10px;color:var(--ink-3);display:inline-flex}.doc-icon svg{width:22px;height:22px;stroke-width:1.5}.doc-name{font-family:var(--font-serif);font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);letter-spacing:-.005em}.doc-cat{font-size:11px;color:var(--ink-3);font-weight:400;margin-top:2px;letter-spacing:0;text-transform:none}.doc-date{font-size:11px;color:var(--ink-4);margin-top:6px;font-feature-settings:"tnum"}.doc-expiry-warn{position:absolute;top:14px;right:14px;width:6px;height:6px;border-radius:50%;background:var(--alert)}.doc-expiry-soon{position:absolute;top:14px;right:14px;width:6px;height:6px;border-radius:50%;background:var(--warn)}.dn-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:10px;display:flex;gap:18px;align-items:center}.dn-date{text-align:center;flex-shrink:0;width:46px}.dn-day{font-family:var(--font-serif);font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1;color:var(--ink)}.dn-mon{font-size:11px;color:var(--ink-3);font-weight:400;margin-top:2px;letter-spacing:0;text-transform:none}.dn-info{flex:1;min-width:0}.dn-title{font-family:var(--font-serif);font-size:17px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.dn-meta{font-size:13px;color:var(--ink-3);margin-top:4px;letter-spacing:0}.dn-rating{font-size:13px;margin-top:6px;color:var(--accent);letter-spacing:-.05em}.settings-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:14px}.settings-row-label{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.settings-row-sub{font-size:12px;color:var(--ink-3);margin-top:3px;letter-spacing:0}.toggle-switch{width:40px;height:22px;border-radius:11px;background:var(--panel-3);border:1px solid var(--line-2);position:relative;cursor:pointer;transition:all var(--transition);flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:all var(--transition)}.toggle-switch.on{background:var(--accent);border-color:var(--accent)}.toggle-switch.on:after{left:calc(100% - 18px);background:#fff}.user-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:8px;display:flex;align-items:center;gap:16px}.user-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:500;flex-shrink:0;font-family:var(--font-sans)}.user-name{font-family:var(--font-serif);font-size:17px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.user-detail{font-size:13px;color:var(--ink-3);margin-top:2px;letter-spacing:0}.ubadge{display:inline-block;font-size:11px;padding:2px 9px;border-radius:999px;font-weight:400;text-transform:none;letter-spacing:0;margin-top:6px}.ubadge-admin{background:var(--accent-soft);color:var(--accent)}.ubadge-member{background:var(--panel-2);color:var(--ink-3)}.module-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:24px}.module-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);padding:22px 20px;cursor:pointer;transition:all var(--transition);position:relative;overflow:hidden;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.module-card:hover{border-color:var(--ink-3);transform:translateY(-1px);box-shadow:var(--shadow)}.module-card-icon{width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;transition:all var(--transition)}.module-card-icon svg{width:20px;height:20px;stroke-width:1.5}.module-card:hover .module-card-icon{background:var(--accent-dim)}.module-card-title{font-family:var(--font-serif);font-size:22px;font-weight:500;letter-spacing:-.01em;margin-top:14px;color:var(--ink)}.module-card-sub{font-size:12px;color:var(--ink-3);margin-top:4px;line-height:1.4;letter-spacing:0}.dash-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;margin-top:8px}.dash-stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px}.dash-stat-label{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-weight:500}.dash-stat-value{font-family:var(--font-serif);font-size:30px;font-weight:500;letter-spacing:-.02em;margin-top:8px;font-feature-settings:"tnum";color:var(--ink);line-height:1}.dash-stat-sub{font-size:12px;color:var(--ink-3);margin-top:6px;letter-spacing:0}.recipe-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:10px;cursor:pointer;transition:all var(--transition)}.recipe-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}.recipe-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.recipe-name{font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1.25;color:var(--ink)}.recipe-rating{font-size:13px;flex-shrink:0;color:var(--accent);letter-spacing:-.05em}.recipe-meta{font-size:12px;color:var(--ink-3);margin-top:4px;letter-spacing:0}.recipe-nutri{display:flex;gap:18px;margin-top:12px;font-size:11px;color:var(--ink-2);font-feature-settings:"tnum"}.recipe-nutri-cell{display:flex;flex-direction:column;align-items:flex-start}.recipe-nutri-val{font-family:var(--font-serif);font-size:16px;font-weight:500;color:var(--ink);line-height:1}.recipe-nutri-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:500;margin-top:3px}.recipe-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.recipe-tag{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--panel-2);color:var(--ink-3);font-weight:400;text-transform:none;letter-spacing:0}.ingredient-row,.method-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.ingredient-row .inp,.method-row .inp{font-size:13px;padding:9px 12px}.row-num{font-family:var(--font-serif);font-size:14px;color:var(--ink-3);font-weight:500;width:20px;flex-shrink:0;text-align:center;font-feature-settings:"tnum"}.btn-add-row{background:transparent;border:1px dashed var(--line-2);color:var(--ink-3);font-size:13px;padding:11px;border-radius:var(--radius);width:100%;cursor:pointer;font-family:inherit;font-weight:400;letter-spacing:0;margin-top:6px;transition:all var(--transition)}.btn-add-row:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tag-input{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);min-height:46px;align-items:center}.tag-input:focus-within{border-color:var(--accent)}.tag-input input{background:none;border:none;outline:none;color:var(--ink);font-family:inherit;font-size:13px;flex:1;min-width:80px;letter-spacing:0}.tag-chip{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;gap:6px;font-weight:400;letter-spacing:0}.tag-chip .rm{cursor:pointer;opacity:.6;font-size:11px}.tag-chip .rm:hover{opacity:1}.toggles-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.toggle-tile{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);padding:11px 8px;text-align:center;cursor:pointer;font-size:12px;font-weight:400;color:var(--ink-2);transition:all var(--transition);letter-spacing:0}.toggle-tile:hover{border-color:var(--ink-3)}.toggle-tile.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:500}.stock-loc-head{display:flex;justify-content:space-between;align-items:baseline;margin:24px 0 10px;padding:0 4px}.stock-loc-name{font-family:var(--font-sans);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3)}.stock-loc-count{font-size:11px;color:var(--ink-3);font-weight:400;font-feature-settings:"tnum"}.stock-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 18px;margin-bottom:8px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all var(--transition);position:relative}.stock-card:hover{background:var(--panel-2);border-color:var(--line-2)}.stock-card.low:before,.stock-card.expired:before,.stock-card.expiring:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:0 2px 2px 0}.stock-card.low:before{background:var(--warn)}.stock-card.expired:before{background:var(--alert)}.stock-card.expiring:before{background:var(--warn)}.stock-info{flex:1;min-width:0}.stock-name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);letter-spacing:-.005em}.stock-meta{font-size:12px;color:var(--ink-3);margin-top:3px;letter-spacing:0}.stock-qty{font-family:var(--font-serif);font-size:16px;font-weight:500;font-feature-settings:"tnum";color:var(--ink);text-align:right;flex-shrink:0;min-width:60px;line-height:1}.stock-qty .unit{font-family:var(--font-sans);font-size:11px;color:var(--ink-3);font-weight:400;margin-left:2px}.stock-rough{font-size:11px;font-weight:500;text-transform:lowercase;letter-spacing:0;padding:4px 10px;border-radius:999px;flex-shrink:0}.stock-rough.full{background:var(--accent-soft);color:var(--accent)}.stock-rough.half{background:var(--panel-2);color:var(--ink-2)}.stock-rough.low{background:var(--warn-dim);color:var(--warn)}.stock-rough.empty{background:var(--alert-dim);color:var(--alert)}.stub-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:48px 28px;text-align:center;color:var(--ink-3)}.stub-icon{display:none}.stub-title{font-family:var(--font-serif);font-size:20px;font-weight:500;color:var(--ink);letter-spacing:-.01em;line-height:1.2}.stub-text{font-size:13px;margin-top:10px;line-height:1.6;letter-spacing:0;color:var(--ink-3);max-width:340px;margin-left:auto;margin-right:auto}.stub-pill{display:inline-block;margin-top:18px;font-family:var(--font-sans);font-size:11px;text-transform:none;letter-spacing:0;font-weight:400;padding:4px 11px;border-radius:999px;background:var(--panel-2);color:var(--ink-3)}@media (max-width:420px){.content{padding:0 14px 20px}.day-card{padding:10px 12px}.meal-row-label{width:60px;font-size:9px}.meal-row-val{font-size:13px}.meal-row-cook{padding:5px 9px;font-size:9px}.cook-slide{padding:70px 16px 110px}.cook-title{font-size:22px}.cook-body{font-size:16px}.cook-timer-btn{padding:14px;font-size:14px}.cook-floating-timers{top:54px}.module-cards{gap:8px}.module-card{min-height:104px;padding:16px 14px}}
