@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/planner/static/media/nunito-cyrillic-ext-400-normal.c125166031cc7e287051.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-ext-400-normal.04d527e6665109dacbcd.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-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/planner/static/media/nunito-cyrillic-400-normal.e409d1f91166f2565ec9.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-400-normal.9b2417f28420ca708ecf.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/planner/static/media/nunito-vietnamese-400-normal.213c0aece007d7a8fbc0.woff2) format("woff2"),url(/planner/static/media/nunito-vietnamese-400-normal.405d9085ab166a8275fd.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-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/planner/static/media/nunito-latin-ext-400-normal.a8317bb99a23bda842eb.woff2) format("woff2"),url(/planner/static/media/nunito-latin-ext-400-normal.9e3f8b3c52665eca6dd4.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-display:swap;font-family:Nunito;font-style:normal;font-weight:400;src:url(/planner/static/media/nunito-latin-400-normal.1426bd429b6b372852b9.woff2) format("woff2"),url(/planner/static/media/nunito-latin-400-normal.b342b7eec6f6c9d25026.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(/planner/static/media/nunito-cyrillic-ext-600-normal.35156aea7316c659626b.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-ext-600-normal.0811c721ffb2a3124bbd.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-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(/planner/static/media/nunito-cyrillic-600-normal.5b4ef20b14cf3868e1a9.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-600-normal.0f8309b3fa78f549ed74.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(/planner/static/media/nunito-vietnamese-600-normal.7e17b76c96e275f797f3.woff2) format("woff2"),url(/planner/static/media/nunito-vietnamese-600-normal.84363c468b573e5cc402.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-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(/planner/static/media/nunito-latin-ext-600-normal.c910184830db9c7721bb.woff2) format("woff2"),url(/planner/static/media/nunito-latin-ext-600-normal.639179d52ff988ade960.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-display:swap;font-family:Nunito;font-style:normal;font-weight:600;src:url(/planner/static/media/nunito-latin-600-normal.243fe3245c70cc41c9df.woff2) format("woff2"),url(/planner/static/media/nunito-latin-600-normal.85373970ee2c134f20ee.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(/planner/static/media/nunito-cyrillic-ext-700-normal.a24315b37dff9b298efd.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-ext-700-normal.d5264eed2d45a9d59d60.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-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(/planner/static/media/nunito-cyrillic-700-normal.89e7f8e00b46bb9296dc.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-700-normal.a332e4ad8d979ef47cda.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(/planner/static/media/nunito-vietnamese-700-normal.4f27081937b86bb4fa3e.woff2) format("woff2"),url(/planner/static/media/nunito-vietnamese-700-normal.561dde707afffb059ba8.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-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(/planner/static/media/nunito-latin-ext-700-normal.d2abd3b37b17af53f88c.woff2) format("woff2"),url(/planner/static/media/nunito-latin-ext-700-normal.616160e36bded9e4bf09.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-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(/planner/static/media/nunito-latin-700-normal.428f7713aa8b1110ddf8.woff2) format("woff2"),url(/planner/static/media/nunito-latin-700-normal.89f37709f7170cfda300.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(/planner/static/media/nunito-cyrillic-ext-800-normal.11ae8edade87bea27fab.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-ext-800-normal.e3745d83d08b4ac746da.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-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(/planner/static/media/nunito-cyrillic-800-normal.b9f730d37d4bc47bea30.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-800-normal.24a88ca79b89efd24ad9.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(/planner/static/media/nunito-vietnamese-800-normal.c524fa1c46d57f36f98f.woff2) format("woff2"),url(/planner/static/media/nunito-vietnamese-800-normal.2562f397fbca16cc9385.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-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(/planner/static/media/nunito-latin-ext-800-normal.e12d61c67810852543f2.woff2) format("woff2"),url(/planner/static/media/nunito-latin-ext-800-normal.925015282abdb016e5e0.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-display:swap;font-family:Nunito;font-style:normal;font-weight:800;src:url(/planner/static/media/nunito-latin-800-normal.b509920389fcd3138df9.woff2) format("woff2"),url(/planner/static/media/nunito-latin-800-normal.c0355360e40057562710.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(/planner/static/media/nunito-cyrillic-ext-900-normal.2bd2d05eebee0cdb72fd.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-ext-900-normal.56638a7b30634d0e46a0.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-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(/planner/static/media/nunito-cyrillic-900-normal.ad6be515695388e418a4.woff2) format("woff2"),url(/planner/static/media/nunito-cyrillic-900-normal.67426c395d8de225408b.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(/planner/static/media/nunito-vietnamese-900-normal.3c229d4a731a96fbae81.woff2) format("woff2"),url(/planner/static/media/nunito-vietnamese-900-normal.cb77554daccdaa0ed3e8.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-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(/planner/static/media/nunito-latin-ext-900-normal.d93b21c43cb198f2f8ae.woff2) format("woff2"),url(/planner/static/media/nunito-latin-ext-900-normal.a848b677d71162d73725.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-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(/planner/static/media/nunito-latin-900-normal.ad474e14507768ebe7ba.woff2) format("woff2"),url(/planner/static/media/nunito-latin-900-normal.bebcdf0624b8e6c9795b.woff) format("woff");unicode-range:u+00??,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{--page:#f3ebda;--bg:#f3ebda;--surface:#fff;--tile:#ebe2cd;--line:#e2d8c2;--ink:#23261a;--slate:#5a5c48;--mute:#7c7d66;--sumac:#a33a2f;--blue-soft:#e6e9d2;--pink:#e9b44c;--pink-edge:#b88a1e;--pink-soft:#fbebc4;--mint:#2e8b6e;--mint-edge:#1f6b52;--yellow:#e9b44c;--yellow-edge:#b88a1e;--mustard:#e9b44c;--mustard-edge:#b88a1e;--mustard-soft:#fbefd0;--mustard-deep:#7a4e00;--teal:#2e8b6e;--teal-soft:#dcefe7;--teal-deep:#1f6b52;--coral:#d4600a;--coral-soft:#fce9da;--coral-deep:#9a4306;--r-card:16px;--r-tile:12px;--r-modal:20px;--r-pill:9999px;--bd:2px solid var(--ink);--shadow-soft:3px 3px 0 var(--ink);--shadow-card:4px 4px 0 var(--ink);--shadow-lift:6px 6px 0 var(--pink);--shadow-modal:8px 8px 0 var(--ink);--ease:.2s ease-in-out}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:#f3ebda;background:var(--page)}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;color:#23261a;color:var(--ink);font-family:Nunito,ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;line-height:1.4}b,strong{font-weight:800}button,input,select,textarea{color:inherit;font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{border-radius:8px;border-radius:var(--r-tile);outline:3px solid #3f4a24;outline:3px solid var(--blue);outline-offset:2px}.btn:focus-visible,.pill-btn:focus-visible{border-radius:9999px;border-radius:var(--r-pill)}*{scrollbar-color:#c9bda3 #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:#c9bda3;background-clip:padding-box;border:3px solid #0000;border-radius:9999px;border-radius:var(--r-pill)}.btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #23261a38;border:var(--bd);border-radius:9999px;border-radius:var(--r-pill);box-shadow:3px 3px 0 #23261a;box-shadow:3px 3px 0 var(--ink);color:#23261a;color:var(--ink);display:inline-flex;font-size:13px;font-weight:800;gap:7px;justify-content:center;line-height:1;padding:8px 16px;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out,background .2s ease-in-out,opacity .2s ease-in-out;transition:transform var(--ease),box-shadow var(--ease),background var(--ease),opacity var(--ease);white-space:nowrap}.btn:hover:not(:disabled){box-shadow:5px 5px 0 #23261a;box-shadow:5px 5px 0 var(--ink);transform:translateY(-2px)}.btn:active:not(:disabled){box-shadow:1px 1px 0 #23261a;box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.btn:disabled{opacity:.5}.btn svg{flex-shrink:0}.btn-primary{background:#e9b44c;background:var(--pink)}.btn-mint,.btn-primary{color:#23261a;color:var(--ink)}.btn-mint{background:#fff}.btn-teal{background:#dcefe7;background:var(--teal-soft);color:#1f6b52;color:var(--teal-deep)}.btn-ink{box-shadow:3px 3px 0 #e9b44c;box-shadow:3px 3px 0 var(--pink)}.btn-ink:hover:not(:disabled){box-shadow:5px 5px 0 #e9b44c;box-shadow:5px 5px 0 var(--pink)}.btn-coral{background:#fce9da;background:var(--coral-soft);color:#9a4306;color:var(--coral-deep)}.btn-yellow{background:#e9b44c;background:var(--yellow)}.btn-yellow,.on-page{color:#23261a;color:var(--ink)}.btn-ghost{background:#0000;box-shadow:none;color:#5a5c48;color:var(--slate)}.btn-ghost:hover:not(:disabled){background:#ebe2cd;background:var(--tile);box-shadow:none;transform:none}.btn-ghost:active:not(:disabled){box-shadow:none;transform:none}.btn-sm{box-shadow:2px 2px 0 #23261a;box-shadow:2px 2px 0 var(--ink);font-size:12px;padding:6px 12px}.btn-sm:hover:not(:disabled){box-shadow:4px 4px 0 #23261a;box-shadow:4px 4px 0 var(--ink)}.btn-lg{font-size:15px;padding:12px 22px}.btn-icon{height:38px;padding:0;width:38px}.btn-block{display:flex;width:100%}.pill{align-items:center;background:#ebe2cd;background:var(--soft,var(--tile));border-radius:9999px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#5a5c48 45%,#0000);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--deep,var(--slate)) 45%,#0000);color:#5a5c48;color:var(--deep,var(--slate));display:inline-flex;font-size:11.5px;font-weight:800;gap:5px;line-height:1.5;padding:3px 10px;white-space:nowrap}.pill-lg{font-size:13px;padding:6px 14px}.pill-btn{border:0;cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out,background .2s ease-in-out;transition:transform var(--ease),box-shadow var(--ease),background var(--ease)}.pill-btn:hover{transform:translateY(-2px)}.pill-btn.on{background:#23261a;background:var(--ink);box-shadow:none;color:#fff}.seg{background:#fff;border:1px solid #23261a38;border:var(--bd);border-radius:9999px;border-radius:var(--r-pill);display:inline-flex;gap:2px;padding:3px}.seg button{background:#0000;border:0;border-radius:9999px;border-radius:var(--r-pill);color:#5a5c48;color:var(--slate);font-size:13px;font-weight:800;padding:5px 16px;transition:background .2s ease-in-out,color .2s ease-in-out;transition:background var(--ease),color var(--ease)}.seg button.on{background:#23261a;background:var(--ink);color:#fff}.seg button:hover:not(.on){background:#ebe2cd;background:var(--tile);color:#23261a;color:var(--ink)}.card{background:#fff;background:var(--surface);border:1px solid #23261a38;border:var(--bd);border-radius:12px;border-radius:var(--r-card);box-shadow:0 1px 2px #23261a14,0 4px 14px #23261a0f;box-shadow:var(--shadow-card)}.lift{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;transition:transform var(--ease),box-shadow var(--ease)}.lift:hover{box-shadow:0 4px 16px #23261a24;box-shadow:var(--shadow-lift);transform:translateY(-2px)}.field,input:not([type]),input[type=number],input[type=search],input[type=text],select,textarea{background:#fff;border:2px solid #e2d8c2;border:2px solid var(--line);border-radius:8px;border-radius:var(--r-tile);color:#23261a;color:var(--ink);font-size:13px;font-weight:700;padding:7px 12px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;transition:border-color var(--ease),box-shadow var(--ease)}.field:hover,input:hover,select:hover,textarea:hover{border-color:#c9bda3}.field:focus,input:focus,select:focus,textarea:focus{border-color:#23261a;border-color:var(--ink);box-shadow:3px 3px 0 #e9b44c;box-shadow:3px 3px 0 var(--pink);outline:none}select{cursor:pointer}.field-pill{border-radius:9999px;border-radius:var(--r-pill);padding-left:16px;padding-right:16px}input[type=checkbox]{border-radius:6px;cursor:pointer;height:18px;width:18px}input[type=checkbox],input[type=range]{accent-color:#e9b44c;accent-color:var(--pink)}input::placeholder,textarea::placeholder{color:#7c7d66;color:var(--mute);font-weight:400}.num,input[type=number].num{border-radius:10px;padding:4px 6px;text-align:center}.week-grid{grid-gap:8px;grid-template-columns:116px repeat(7,minmax(132px,1fr))}.row-card,.week-grid{align-items:stretch;display:grid;gap:8px}.row-card{grid-gap:8px;background:#0000;border:1px solid #23261a38;border:var(--bd);border-radius:var(--r-card);grid-column:1/-1;grid-template-columns:subgrid;padding:10px}.row-label{align-items:flex-start;background:#3f4a24;background:var(--soft,var(--blue));border-radius:var(--r-tile);color:#fff;color:var(--deep,#fff);gap:6px;left:10px;line-height:1.2;padding:10px 12px;position:-webkit-sticky;position:sticky;z-index:3}.day-head,.row-label{display:flex;flex-direction:column;font-size:13px;font-weight:800;justify-content:center}.day-head{align-items:center;background:#3f4a24;background:var(--blue);border:1px solid #23261a38;border:var(--bd);border-radius:9999px;border-radius:var(--r-pill);box-shadow:3px 3px 0 #23261a;box-shadow:3px 3px 0 var(--ink);color:#fff;line-height:1.25;padding:7px 6px}.day-head small{color:#e3e6cf;font-size:11.5px;font-weight:700}.day-head.today{background:#e9b44c;background:var(--pink);box-shadow:3px 3px 0 #23261a;box-shadow:3px 3px 0 var(--ink);color:#23261a;color:var(--ink)}.day-head.today small{color:#23261a;color:var(--ink);opacity:1}.tile{background:#ebe2cd;background:var(--tile);border:2px dashed #e2d8c2;border:2px dashed var(--line);border-radius:var(--r-tile);min-height:92px;padding:6px;transition:background .2s ease-in-out,border-color .2s ease-in-out;transition:background var(--ease),border-color var(--ease)}.tile.over{background:#fbebc4;background:var(--pink-soft);border:2px dashed #e9b44c;border:2px dashed var(--pink)}.tile-filled{background:#fff;background:var(--soft,#fff);border:2px solid #23261a;border:2px solid var(--ink);border-radius:10px;box-shadow:2px 2px 0 #23261a;box-shadow:2px 2px 0 var(--ink);color:#23261a;color:var(--deep,var(--ink));height:100%;padding:9px 11px}.recipe-link{background:none;border:0;color:#23261a;color:var(--ink);cursor:pointer;font-size:13px;font-weight:800;line-height:1.3;padding:0;text-align:left;word-break:break-word}.recipe-link:hover{text-decoration:underline;-webkit-text-decoration-color:#e9b44c;text-decoration-color:#e9b44c;-webkit-text-decoration-color:var(--pink);text-decoration-color:var(--pink);text-decoration-thickness:2px;text-underline-offset:3px}.avatar{align-items:center;background:#fff;border:0;box-shadow:inset 0 0 0 2px #23261a;box-shadow:inset 0 0 0 2px var(--ink);color:#5a5c48;color:var(--slate);display:inline-flex;flex-shrink:0;font-size:11px;font-weight:800;height:26px;justify-content:center;transition:transform .2s ease-in-out,background .2s ease-in-out,color .2s ease-in-out;transition:transform var(--ease),background var(--ease),color var(--ease);width:26px}.avatar:hover{transform:translateY(-2px)}.avatar.on{background:#23261a;background:var(--av,var(--ink));color:#fff}.recipe-card{background:#fff;background:var(--surface);border:1px solid #23261a38;border:var(--bd);border-radius:14px;box-shadow:3px 3px 0 #23261a;box-shadow:3px 3px 0 var(--ink);cursor:grab;padding:10px 12px;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out;transition:transform var(--ease),box-shadow var(--ease),opacity var(--ease)}.recipe-card:hover{box-shadow:5px 5px 0 #e9b44c;box-shadow:5px 5px 0 var(--pink);transform:translateY(-2px)}.recipe-card:active{cursor:grabbing}.backdrop{background:#23261a66;display:flex;inset:0;justify-content:center;position:fixed;z-index:500}.backdrop.center{align-items:center;padding:24px}.backdrop.sheet{align-items:flex-end}.modal{background:#fff;border:1px solid #23261a38;border:var(--bd);overflow-y:auto;padding:22px;width:100%}.backdrop.center .modal{border-radius:14px;border-radius:var(--r-modal);box-shadow:0 12px 40px #23261a40;box-shadow:var(--shadow-modal)}.backdrop.sheet .modal{border-bottom:0;border-radius:14px 14px 0 0;border-radius:var(--r-modal) var(--r-modal) 0 0}.modal h2{font-size:22px;font-weight:900;letter-spacing:-.01em;line-height:1.15}.modal .sub{color:#5a5c48;color:var(--slate);font-size:13px;margin-top:4px}.section-title{align-items:center;display:flex;font-size:14px;font-weight:800;gap:8px;margin:4px 0 8px}.sticky-foot{background:linear-gradient(0deg,#fff 70%,#0000);bottom:-22px;display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 2px;position:-webkit-sticky;position:sticky}.toast{background:#23261a;background:var(--ink);border:1px solid #23261a38;border:var(--bd);border-radius:9999px;border-radius:var(--r-pill);box-shadow:4px 4px 0 #e9b44c;box-shadow:4px 4px 0 var(--pink);color:#fff;font-size:13px;font-weight:800;padding:11px 20px;position:fixed;z-index:999}.muted{color:#5a5c48;color:var(--slate)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important;transition:none!important}.avatar:hover,.btn:hover,.lift:hover,.pill-btn:hover,.recipe-card:hover,.row-card:hover{transform:none!important}}.sidebar{background:#3f4a24;background:var(--blue);border-right:1px solid #23261a38;border-right:var(--bd);color:#fff}.sidebar .recipe-card{box-shadow:3px 3px 0 #e9b44c;box-shadow:3px 3px 0 var(--pink);color:#23261a;color:var(--ink)}.sidebar .recipe-card:hover{box-shadow:5px 5px 0 #e9b44c;box-shadow:5px 5px 0 var(--pink)}.mgr-bar{align-items:center;background:#3f4a24;background:var(--blue);border-bottom:1px solid #23261a38;border-bottom:var(--bd);display:flex;gap:18px;padding:10px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.mgr-bar img{display:block;height:40px}.mgr-nav{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.mgr-nav a{border:2px solid #0000;border-radius:9999px;border-radius:var(--r-pill);color:#fff;font-size:13px;font-weight:800;padding:6px 14px;text-decoration:none}.mgr-nav a:hover{border-color:#fff}.mgr-nav a.on{background:#e9b44c;background:var(--pink);border-color:#23261a;border-color:var(--ink);color:#23261a;color:var(--ink)}.mgr-nav a:focus-visible{outline:3px solid #fff}@media(max-width:520px){.mgr-bar{gap:10px;padding:8px 12px}.mgr-bar img{height:28px}.mgr-nav a{font-size:12px;padding:5px 10px}}:root{--blue:#3f4a24;--blue-edge:#2b3418;--r-card:12px;--r-tile:8px;--r-modal:14px;--bd:1px solid #23261a38;--shadow-soft:0 1px 2px #23261a14;--shadow-card:0 1px 2px #23261a14,0 4px 14px #23261a0f;--shadow-lift:0 4px 16px #23261a24;--shadow-modal:0 12px 40px #23261a40}.btn,.btn-sm{border:1px solid #23261a47;border-radius:10px;box-shadow:none;font-weight:700}.btn:hover:not(:disabled){background:#efe8d6;box-shadow:0 2px 8px #23261a29;transform:none}.btn:active:not(:disabled){box-shadow:none;transform:none}.btn-primary{border-color:#b88a1e}.btn-primary:hover:not(:disabled){background:#f2c766}.btn-ink{background:#23261a;background:var(--ink);box-shadow:none;color:#fff}.btn-ink:hover:not(:disabled){background:#2b3418;box-shadow:0 2px 8px #23261a4d}.btn-ghost{border-color:#0000}.btn-icon{border-radius:10px}.field-pill,.pill,.pill-btn{border-radius:8px}.seg{border-radius:10px}.seg button{border-radius:8px;font-weight:700}.avatar{border-radius:50%}.day-head{border:0;border-radius:10px;box-shadow:none;font-weight:700}.row-card{border:1px solid #23261a2e;border-radius:12px}.row-label{border-radius:8px}.tile-filled{border:1px solid #23261a33;border-radius:8px;box-shadow:0 1px 2px #23261a14}.recipe-card,.sidebar .recipe-card{border:0;border-radius:10px;box-shadow:0 1px 2px #23261a2e}.recipe-card:hover,.sidebar .recipe-card:hover{box-shadow:0 4px 14px #00000040;transform:none}.card,.panel,.rcard,.stat{border:1px solid #23261a24;box-shadow:0 1px 2px #23261a14,0 4px 14px #23261a0f;box-shadow:var(--shadow-card)}.mgr-bar{border-bottom:0}.mgr-nav a{border-radius:8px;font-weight:700}.mgr-nav a.on{border:0}.sidebar{border-right:0}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid #23261a40;border-radius:8px}.modal h2,.page-title{font-weight:800}.toast{border:0;border-radius:10px;box-shadow:0 12px 40px #23261a40;box-shadow:var(--shadow-modal)}.chip,.tile{border-radius:8px}.chip{border:1px solid #23261a47;box-shadow:none;font-weight:700}.chip:hover{box-shadow:0 2px 8px #23261a29;transform:none}.chip.on{background:#e9b44c;background:var(--pink);border-color:#b88a1e;color:#23261a;color:var(--ink)}.chip-sm:hover{box-shadow:none}.stat{border:1px solid #23261a24;border-radius:12px;box-shadow:0 1px 2px #23261a14,0 4px 14px #23261a0f;box-shadow:var(--shadow-card)}.lift:hover,.rcard:hover{box-shadow:0 4px 16px #23261a24;box-shadow:var(--shadow-lift);transform:none}.dtags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.dtag{align-items:center;background:#e6e9d2;background:var(--blue-soft);border:1px solid #3f4a244d;border-radius:6px;color:#2b3418;color:var(--blue-edge);display:inline-flex;font-size:11px;font-weight:700;line-height:1;padding:4px 7px}.dtag-pending{background:#0000;border:1px dashed #23261a80;color:#5a5c48;color:var(--slate)}.dfilter-chips{display:flex;flex-wrap:wrap;gap:5px}.dfilter input[type=search]{font-size:13px}.dfilter-inc{align-items:flex-start;cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:8px;line-height:1.3;margin-top:8px}.dfilter-inc input{flex-shrink:0;margin-top:2px}.dfilter-note{color:#5a5c48;color:var(--slate);font-size:11px;font-weight:600;margin-top:6px}.dfilter-side .dfilter-inc,.dfilter-side .dfilter-note{color:#e6e9d2}.dpanel{background:#ebe2cd;background:var(--tile);border-radius:8px;border-radius:var(--r-tile);margin-top:16px;padding:12px 14px}.dpanel-title{align-items:baseline;display:flex;flex-wrap:wrap;font-size:14px;font-weight:800;gap:8px;margin-bottom:6px}.dpanel-title span{font-size:12px}.dpanel-empty,.dpanel-title span{color:#5a5c48;color:var(--slate);font-weight:600}.dpanel-empty{font-size:13px}.drow{border-top:1px solid #e2d8c2;border-top:1px solid var(--line);padding:6px 0}.drow-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.drow-name{font-size:13px;font-weight:800;min-width:92px}.dstate{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:700;gap:4px;padding:3px 8px}.dstate-yes{background:#e6e9d2;background:var(--blue-soft);color:#2b3418;color:var(--blue-edge)}.dstate-no{background:#fce9da;background:var(--coral-soft);color:#9a4306;color:var(--coral-deep)}.dstate-unknown{background:#fbefd0;background:var(--mustard-soft);color:#7a4e00;color:var(--mustard-deep)}.drow-body{font-size:12.5px;font-weight:600;line-height:1.5;margin:6px 0 2px}.dpanel-hint{color:#5a5c48;color:var(--slate);font-size:11.5px;margin-top:3px}