@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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-BqOlcezh.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-DkNBMcYd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-CN4VBqpr.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2) format("woff2"),url(/assets/source-sans-3-greek-400-normal-DyO2Yfz5.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-eMQk7hmk.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-D5P-Ud2J.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-RR2C27NP.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-Cjpx_pje.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-CloKWf-q.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-CnpzyT-3.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2) format("woff2"),url(/assets/source-sans-3-greek-600-normal-B42bzTIr.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-BzH4Q14_.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-D2VZAM8_.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-Ck0n4g8U.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-ext-700-normal-BhUSqjb8.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-700-normal-COA7LiPB.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-700-normal-CIuudVLB.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-700-normal-D_p3L75o.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-ext-700-normal-Dd6uIcuy.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-700-normal-KTP46hTS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-700-normal-C8Tp2qRF.woff2) format("woff2"),url(/assets/source-sans-3-greek-700-normal-C-sAg5NG.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-vietnamese-700-normal-Bgamivog.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-700-normal-W-J7ohm4.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-ext-700-normal-6Xi0A2be.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-700-normal-C1ecyfgK.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2"),url(/assets/source-sans-3-latin-700-normal-B-h9tW5h.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-normal-CWV284fw.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-normal-CYkrUebz.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-400-normal-C44pakCn.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-400-normal-DEwCKrdL.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-greek-400-normal-Cw5-AHNN.woff2) format("woff2"),url(/assets/source-serif-4-greek-400-normal-D_DO3bho.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-vietnamese-400-normal-DFDfvBrN.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-400-normal-9XEw6Pmr.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-ext-400-normal-B5LksYz5.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-400-normal-DKmgyNre.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-normal-C1O10bxN.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{--paper: #f7f3ed;--card: #ffffff;--ink: #2b2723;--ink-2: #5f554b;--ink-3: #6b5f53;--line: #e6ddd1;--line-2: #8f8070;--soft: #efe7dc;--pill: #ebe3d8;--teal: #00798c;--teal-ink: #00687a;--on-teal: #ffffff;--teal-soft: #e3eef0;--teal-soft-ink: #1f4d55;--mp: #d1495b;--cp: #9c6f12;--sage: #5d7a5f;--amber: #a8683a;--plum: #6b4766;--curing-bg: #f4e4c4;--curing-ink: #6b4710;--ready-bg: #dfe9de;--ready-ink: #34503a;--made-bg: #e7e1f0;--made-ink: #4d3d66;--warn-bg: #f6e1d6;--warn-ink: #7a3a1c;--warn-line: #c98d72;--gift-bg: #fbe6e3;--gift-ink: #6e2a33;--gift-box: #d1495b;--gift-ribbon: #e9a93a;--shade: rgb(43 39 35 / .4);--bar: rgb(255 255 255 / .86);--radius: 16px;--shadow: 0 1px 3px rgb(43 39 35 / .08);--display: "Fraunces", Georgia, serif;--sans: "Source Sans 3", system-ui, -apple-system, sans-serif;--serif: "Source Serif 4", Georgia, serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #161412;--card: #221f1c;--ink: #f2ede6;--ink-2: #bdb3a7;--ink-3: #b3a89b;--line: #3a342e;--line-2: #8f8070;--soft: #2c2824;--pill: #332e29;--teal: #5cbccb;--teal-ink: #7fd0dc;--on-teal: #0d1a1c;--teal-soft: #17343a;--teal-soft-ink: #cdeaef;--mp: #e57a88;--cp: #d1a64a;--sage: #8fb291;--amber: #d89a68;--plum: #c9a2c3;--curing-bg: #4a3814;--curing-ink: #f4dca8;--ready-bg: #263a2a;--ready-ink: #cfe6cf;--made-bg: #352c45;--made-ink: #ddd0f0;--warn-bg: #4a2a1c;--warn-ink: #f6cdb8;--warn-line: #b87a5f;--gift-bg: #3d2226;--gift-ink: #f6d3d6;--gift-box: #e57a88;--gift-ribbon: #e8b04f;--shade: rgb(0 0 0 / .55);--bar: rgb(34 31 28 / .86);--shadow: 0 1px 3px rgb(0 0 0 / .4);color-scheme:dark}}*{box-sizing:border-box}html{overscroll-behavior:none;-webkit-text-size-adjust:100%;font-size:106.25%;font:-apple-system-body;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.45;font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--teal-ink)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none}.kbd :focus-visible{outline:3px solid var(--teal);outline-offset:2px}.shell{min-height:100dvh;display:flex;flex-direction:column}.page{flex-grow:1;width:100%;max-width:560px;margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}h1{overflow-wrap:anywhere;margin:0;font:650 1.765rem/1.15 var(--display);letter-spacing:-.01em}h2{margin:0;font:650 1.235rem/1.2 var(--display)}h3{margin:0;font-size:1rem;font-weight:700}p{margin:0}.muted{color:var(--ink-2)}.small{font-size:.882rem}.eyebrow{font-size:.765rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.num{font-variant-numeric:tabular-nums}.card{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.card.flat{box-shadow:none;background:var(--soft)}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.grow{flex-grow:1;min-width:0}.divider{height:1px;background:var(--line)}.help{width:48px;height:48px;border-radius:24px;border:1.5px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;font-weight:700;font-size:1.059rem;flex-shrink:0;background:transparent}.back{display:inline-flex;align-items:center;gap:4px;min-height:48px;align-self:flex-start;padding:0 4px 0 0;border:0;background:none;color:var(--teal-ink);text-decoration:none;font-weight:600;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 18px;border-radius:12px;border:0;background:var(--teal);color:var(--on-teal);font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer}.btn.block{width:100%}.btn.secondary{background:var(--card);color:var(--ink);border:1.5px solid var(--line-2)}.btn.sage{background:var(--card);color:var(--ready-ink);border:1.5px solid var(--sage)}.btn.danger{background:var(--card);color:var(--warn-ink);border:1.5px solid var(--warn-line)}.btn.quiet{background:transparent;color:var(--teal-ink);min-height:48px;padding:0 8px}.btn:disabled{opacity:.5;cursor:default}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(6em,1fr));gap:10px}.tile{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:12px;min-height:72px;display:flex;flex-direction:column;justify-content:center;gap:2px;text-decoration:none}.tile b{font-size:1.5rem;font-variant-numeric:tabular-nums;line-height:1.1}.tile span{font-size:.882rem;color:var(--ink-2)}.chip{font-size:.765rem;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.chip.made{background:var(--pill);color:var(--ink)}.chip.curing{background:var(--curing-bg);color:var(--curing-ink)}.chip.ready{background:var(--ready-bg);color:var(--ready-ink)}.chip.archived{background:var(--pill);color:var(--ink-2)}.dot{width:10px;height:10px;border-radius:5px;flex-shrink:0}.dot.mp{background:var(--mp)}.dot.cp{background:var(--cp)}.thumb{width:52px;height:52px;border-radius:12px;flex-shrink:0;object-fit:cover;display:flex;align-items:center;justify-content:center;font:650 1.176rem var(--display);color:#fff}.listlink{display:flex;align-items:center;gap:12px;min-height:64px;text-decoration:none;color:var(--ink);background:none;border:0;padding:0;text-align:left;width:100%;cursor:pointer}.listlink .title{font-weight:700}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.label{font-size:.882rem;font-weight:700}.input,textarea.input,select.input{min-height:52px;width:100%;border-radius:12px;border:1.5px solid var(--line-2);background:var(--card);padding:10px 12px;font-size:1rem}textarea.input{min-height:88px;resize:vertical}.input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 25%,transparent)}.input[aria-invalid=true]{border-color:var(--warn-ink)}.stepper{display:flex;gap:8px;align-items:stretch}.stepper .input{text-align:center;font-weight:600;font-size:1.176rem;flex-grow:1;min-width:0}.stepper button{width:52px;min-height:52px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--card);font-size:1.294rem;cursor:pointer;flex-shrink:0}.stepper button:disabled{opacity:.45;cursor:default}.unit{align-self:center;font-weight:600;color:var(--ink-2);min-width:22px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid2>*,.row>*{min-width:0}input,select,textarea{min-width:0;max-width:100%}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);background:var(--pill);border-radius:12px;padding:4px;gap:4px}.segmented button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--ink-2);font-weight:600;font-size:.882rem;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--card);color:var(--ink);font-weight:700;box-shadow:0 1px 2px #2b27231f}.pills{display:inline-flex;align-self:flex-start;background:var(--pill);border-radius:999px;padding:3px;flex-shrink:0}.pills button{min-height:42px;min-width:50px;border:0;border-radius:999px;background:transparent;font-weight:600;font-size:.882rem;cursor:pointer}.pills button[aria-pressed=true]{background:var(--card);color:var(--ink);font-weight:700;box-shadow:0 1px 2px #2b27231f}.amounts{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:14px;row-gap:6px;font-variant-numeric:tabular-nums}.amounts .r{text-align:right}.amounts .strong{font-weight:700}.note{padding:10px 12px;border-radius:10px;background:var(--paper);font-size:.882rem;line-height:1.4}.note.warn{background:var(--warn-bg);color:var(--warn-ink)}.note.info{background:var(--teal-soft);color:var(--teal-soft-ink)}.banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--soft);color:var(--ink);text-decoration:none;font-size:.882rem;min-height:48px}.banner strong{color:var(--teal-ink)}.empty{text-align:center;padding:28px 16px;display:flex;flex-direction:column;gap:14px;align-items:center}.stars{display:flex;gap:4px}.stars button{width:44px;height:44px;border:0;background:none;font-size:1.529rem;cursor:pointer;color:var(--line-2);padding:0}.stars button[aria-pressed=true]{color:var(--amber)}details>summary{min-height:48px;display:flex;align-items:center;font-weight:700;cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:after{content:"+";margin-left:auto;font-size:1.294rem;color:var(--ink-2)}details[open]>summary:after{content:"–"}.guide{font-family:var(--serif);font-size:1rem;line-height:1.55}.guide h2{margin-top:8px}.guide ol,.guide ul{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px}.photo-row{display:flex;gap:8px;flex-wrap:wrap}.photo-row img{width:92px;height:92px;object-fit:cover;border-radius:10px}.kbd label:has(+input[type=file]:focus-visible){outline:3px solid var(--teal);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.card.listlink{flex-direction:row;align-items:center;text-align:left;gap:12px}.install-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.install-steps li{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;align-items:center}.install-steps p{margin:0;font-size:.941rem;line-height:1.4}.tabbar{position:fixed;z-index:10;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));max-width:540px;margin:0 auto;height:64px;border-radius:32px;background:var(--bar);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 6px 20px #0000001f;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px}.tabbar a{display:grid;justify-items:center;align-content:center;gap:1px;min-width:0;border-radius:27px;text-decoration:none;color:var(--ink-2);font-size:14px;font-weight:600;line-height:1.1}.tabbar a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar a[aria-current=page]{background:var(--soft);color:var(--teal-ink);font-weight:700}.tabbar a:active{background:var(--pill)}.tabbar a{position:relative}.tab-dot{position:absolute;top:7px;left:calc(50% + 8px);width:10px;height:10px;border-radius:50%;background:var(--gift-box);border:2px solid var(--card)}.tabbar a .tab-hint{max-width:none;overflow:visible;position:absolute;right:-2px;bottom:calc(100% + 16px);display:flex;align-items:center;gap:6px;white-space:nowrap;padding:8px 12px;border-radius:14px;background:var(--gift-bg);color:var(--gift-ink);font-size:15px;font-weight:700;box-shadow:0 6px 18px #00000029;animation:tab-hint 1.6s ease-in-out infinite}.tab-hint-arrow{position:absolute;left:calc(50% - 9px);bottom:calc(100% + 1px);border:9px solid transparent;border-top-color:var(--gift-bg);animation:tab-hint 1.6s ease-in-out infinite}@keyframes tab-hint{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}dialog.sheet{border:0;padding:0;margin:auto auto 0;width:100%;max-width:560px;max-height:88dvh;color:var(--ink);background:var(--paper);border-radius:22px 22px 0 0;overflow:hidden}dialog.sheet::backdrop{background:var(--shade)}dialog.sheet[open]{display:flex;flex-direction:column;animation:sheet-in .22s ease-out}.sheet-head{display:flex;align-items:center;gap:12px;padding:14px 16px 6px}.sheet-head h2{flex:1;min-width:0}.sheet-body{overflow-y:auto;padding:6px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.state{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding-top:12px}.state.loading{color:var(--ink-2)}.btn:active:not(:disabled),.tile:active,.listlink:active,.banner:active{filter:brightness(.94)}.btn,.tile,.listlink,.banner{transition:filter .1s}h1:focus{outline:none}.sheet-head h2:focus{outline:none}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}dialog.sheet[open]{animation:none}.btn,.tile,.listlink,.banner{transition:none}}.status-line{color:var(--ink-2);margin-top:-8px}.section-title{font-size:.824rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--ink-2);margin-top:8px}.todo .name{font-weight:700;line-height:1.25}.bonus-card{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:0;border-radius:var(--radius);background:var(--gift-bg);color:var(--gift-ink);text-align:left;font:inherit;cursor:pointer;box-shadow:var(--shadow)}.bonus-card .eyebrow{display:block;color:var(--gift-ink);opacity:.85}.bonus-title{display:block;font:650 1.176rem/1.2 var(--display)}.bonus-title.big{font-size:1.412rem;text-align:center}.bonus-go{font-size:1.8rem;line-height:1}.bonus-card:active{filter:brightness(.95)}.gift{flex:none;overflow:visible}.gift-box{fill:var(--gift-box)}.gift-ribbon,.gift-sparks{fill:var(--gift-ribbon)}.bonus-card .gift{animation:gift-wiggle 5s ease-in-out .6s infinite;transform-origin:50% 90%}.bonus-card.opened .gift,.bonus-card.opened .gift-sparks path{animation:none}.bonus-card .gift-sparks path{animation:gift-twinkle 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.bonus-card .gift-sparks path:nth-child(2){animation-delay:.8s}.bonus-card .gift-sparks path:nth-child(3){animation-delay:1.6s}@keyframes gift-wiggle{0%,16%,to{transform:rotate(0)}3%{transform:rotate(-9deg)}6%{transform:rotate(8deg)}9%{transform:rotate(-6deg)}12%{transform:rotate(4deg)}}@keyframes gift-twinkle{0%,to{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1.1)}}.bonus-reveal{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 4px}.bonus-reveal .gift-lid{animation:gift-lid .7s cubic-bezier(.3,1.6,.5,1) .25s both;transform-box:fill-box;transform-origin:0% 100%}.bonus-reveal .gift-sparks{animation:gift-burst .9s ease-out .5s both;transform-box:fill-box;transform-origin:center}@keyframes gift-lid{0%{transform:none}to{transform:translate(-4px,-12px) rotate(-14deg)}}@keyframes gift-burst{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.bonus-card .gift,.bonus-card .gift-sparks path,.bonus-reveal .gift-sparks,.tab-hint,.tab-hint-arrow{animation:none}.bonus-reveal .gift-lid{animation:none;transform:translate(-4px,-12px) rotate(-14deg)}}.btn.line{background:transparent;color:var(--teal-ink);box-shadow:inset 0 0 0 2px var(--teal)}.first{display:flex;flex-direction:column;gap:14px;align-items:stretch;padding-top:12px}.first .lead{font:600 1.45rem/1.2 var(--display);text-wrap:balance}.search{display:flex;align-items:center;gap:8px;background:var(--soft);border-radius:12px;padding:0 12px;min-height:48px;color:var(--ink-2)}.search input{border:0;background:transparent;color:var(--ink);flex:1;min-width:0;min-height:48px;font-size:1rem}.search input:focus{outline:none}.search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 25%,transparent)}.rcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:6.2rem minmax(0,1fr);text-decoration:none;color:var(--ink);min-height:6.2rem}.rcard img,.rcard .placeholder{width:100%;height:100%;object-fit:cover}.rcard .body{padding:10px 12px;display:flex;flex-direction:column;gap:3px;justify-content:center;min-width:0}.rname{font:600 1.06rem/1.2 var(--display);overflow-wrap:anywhere}.method-word{font-size:.82rem;font-weight:700;color:var(--teal-ink);letter-spacing:.02em}.placeholder{display:grid;place-items:center;color:#fff;font:600 1.6rem var(--display)}.pill{display:inline-flex;align-items:center;font-size:.8rem;font-weight:700;border-radius:999px;padding:2px 9px;white-space:nowrap}.pill.warn{background:var(--warn-bg);color:var(--warn-ink)}.hero{margin:0 -16px}.hero img,.hero .placeholder{width:100%;aspect-ratio:4 / 3;max-width:100%;display:block;object-fit:cover}.facts{display:flex;flex-wrap:wrap;gap:6px}.fact{font-size:.88rem;background:var(--soft);border-radius:999px;padding:3px 11px}.dose-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.dose-list .head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.dose{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);min-height:52px;cursor:pointer}.dose:last-child{border-bottom:0}.dose input{width:22px;height:22px;accent-color:var(--teal);flex:none}.dose .what{flex:1;min-width:0}.dose .kind{display:block;font-size:.76rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.dose .qty{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.dose .alt{font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.85rem;white-space:nowrap}.dose.done .what,.dose.done .qty{text-decoration:line-through;color:var(--ink-2)}.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:8px}details.method-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}details.method-panel>summary{padding:0 14px}.mp-body{padding:0 14px 16px;display:flex;flex-direction:column;gap:14px}.phase h3{font-size:.95rem;margin-bottom:4px}.phase ol{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px}.phase ol,.phase p{font-family:var(--serif);line-height:1.5}.phase.chosen{border-left:3px solid var(--teal);padding-left:10px}.next-step{background:var(--teal);color:var(--on-teal);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px}.next-step .title{font-weight:700}.next-step .btn{background:var(--on-teal);color:var(--teal-ink)}.next-step .btn.quiet{background:transparent;color:var(--on-teal);text-decoration:underline}.weighs{width:100%;border-collapse:collapse;font-size:1rem}.weighs th{text-align:left;font-size:.82rem;color:var(--ink-2);font-weight:700;padding:4px 0}.weighs td{padding:4px 0;border-top:1px solid var(--line)}.weighs td .btn.quiet{min-height:40px;padding:0 6px}.photo-btn{border:0;padding:0;background:none;cursor:pointer;border-radius:10px}.photo-btn img{width:92px;height:92px;object-fit:cover;border-radius:10px;display:block}.toast{position:fixed;z-index:15;left:16px;right:16px;bottom:calc(86px + env(safe-area-inset-bottom));max-width:528px;margin:0 auto;background:var(--ink);color:var(--paper);border-radius:14px;padding:6px 8px 6px 16px;display:flex;align-items:center;gap:8px;box-shadow:0 6px 20px #0003;flex-wrap:wrap}.toast .grow{flex:1 1 12rem}.toast .btn.quiet{color:var(--paper);font-weight:700}.stars button{color:var(--amber)}.stars button[aria-pressed=false]{color:var(--line-2)}.batch-card{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.chip.made{background:var(--made-bg);color:var(--made-ink)}.kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:10px}.kindopt{display:flex;flex-direction:column;gap:6px}.kindbtn{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;min-height:56px;cursor:pointer;font:600 1.18rem var(--display)}.kindbtn:active{filter:brightness(.94)}.kindwhy{color:var(--ink-2);font-size:.88rem;line-height:1.35;padding:0 2px}.chosen-kind{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:8px}.input.narrow{width:7rem;text-align:center}.stepper.short{max-width:15rem}.next-step .big{font:600 1.9rem/1.05 var(--display)}.sizes{display:grid;gap:5px;margin:0}.sizes div{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px}.sizes dt{color:var(--ink-2);flex:1 1 9rem}.sizes dd{margin:0 0 0 auto;font-weight:600;text-align:right}.steps{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:10px;line-height:1.45}.methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.method-choice{min-height:72px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px;text-align:left;background:var(--card);color:var(--ink);border:1px solid var(--line);border-left:5px solid var(--line-2);border-radius:var(--radius);font:inherit;cursor:pointer}.method-choice.mp{border-left-color:var(--mp)}.method-choice.cp{border-left-color:var(--cp)}.method-choice .title{font:600 1.06rem/1.2 var(--display)}.method-choice[aria-pressed=true]{border-color:var(--ink);border-left-width:5px;background:var(--soft)}.method-choice.mp[aria-pressed=true]{border-left-color:var(--mp)}.method-choice.cp[aria-pressed=true]{border-left-color:var(--cp)}.cat-head{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;text-align:left;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);font:inherit;font-weight:700;cursor:pointer}.cat-head:after{content:"+";font-size:1.294rem;color:var(--ink-2)}.cat-head[aria-expanded=true]:after{content:"–"}.gains{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-weight:600}.gains li:before{content:"✓";color:var(--teal-ink);margin-right:8px}input[type=date].input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;min-width:0;max-width:100%}input[type=date].input::-webkit-date-and-time-value{text-align:left;margin:0}
