@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(../media/manrope-cyrillic-ext-500-normal.2kuwqy2x2_kvx.woff2)format("woff2"),url(../media/manrope-cyrillic-ext-500-normal.0xr2oo9ws-j-l.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(../media/manrope-cyrillic-500-normal.2j2me72v6wy09.woff2)format("woff2"),url(../media/manrope-cyrillic-500-normal.1snb6zl_nhipa.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(../media/manrope-greek-500-normal.3fllgi463pg36.woff2)format("woff2"),url(../media/manrope-greek-500-normal.44ok24c-hm52c.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(../media/manrope-vietnamese-500-normal.2rmwx81er-1wg.woff2)format("woff2"),url(../media/manrope-vietnamese-500-normal.3j-azu-_-g81b.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(../media/manrope-latin-ext-500-normal.2m4b1kv6exkn9.woff2)format("woff2"),url(../media/manrope-latin-ext-500-normal.09w2uqje_gnk0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(../media/manrope-latin-500-normal.23dhs730snm70.woff2)format("woff2"),url(../media/manrope-latin-500-normal.1uxcnzel4f8qj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-cyrillic-ext-700-normal.24rfadzth-ea_.woff2)format("woff2"),url(../media/manrope-cyrillic-ext-700-normal.24rbunm8ei_ow.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-cyrillic-700-normal.16p40z5fn5_zv.woff2)format("woff2"),url(../media/manrope-cyrillic-700-normal.3te-i5lbatid1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-greek-700-normal.345zy40yxw5yy.woff2)format("woff2"),url(../media/manrope-greek-700-normal.106e_m097cdnm.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-vietnamese-700-normal.3spwa7rpbdcfi.woff2)format("woff2"),url(../media/manrope-vietnamese-700-normal.09mmasjjym1bw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-latin-ext-700-normal.14ezai-4kezdq.woff2)format("woff2"),url(../media/manrope-latin-ext-700-normal.3p3hfqi13m0pv.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(../media/manrope-latin-700-normal.22dwiag9_pj68.woff2)format("woff2"),url(../media/manrope-latin-700-normal.2dopus2zh5ii9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(../media/manrope-cyrillic-ext-800-normal.29qbcrtmcyu4t.woff2)format("woff2"),url(../media/manrope-cyrillic-ext-800-normal.066cgovoj794h.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(../media/manrope-cyrillic-800-normal.2ohq_hu38ve4h.woff2)format("woff2"),url(../media/manrope-cyrillic-800-normal.32dd6yd8_gpxf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(../media/manrope-greek-800-normal.0289vjefxfdzw.woff2)format("woff2"),url(../media/manrope-greek-800-normal.35thbajvftyqu.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(../media/manrope-vietnamese-800-normal.442n86tidv_77.woff2)format("woff2"),url(../media/manrope-vietnamese-800-normal.3icp_a-119ojs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(../media/manrope-latin-ext-800-normal.3brv9jqybigpz.woff2)format("woff2"),url(../media/manrope-latin-ext-800-normal.0jpddng83u627.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(../media/manrope-latin-800-normal.037pwi_4ver8j.woff2)format("woff2"),url(../media/manrope-latin-800-normal.0a-2q2cgln7hh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--color-bg:#f2f5f0;--color-surface:#fff;--color-surface-sunken:#eaf0eb;--color-line:#dde5df;--color-line-strong:#7c8d87;--color-scrim:#11171573;--color-text:#1f2a27;--color-text-muted:#55625e;--color-on-primary:#fff;--color-primary:#2c6b5e;--color-primary-fuzzy:#8fbfb1;--color-primary-soft:#cfe4dc;--color-protein:#3d5c8c;--color-protein-soft:#d9e2f0;--color-notice-bg:#fbf2df;--color-notice-text:#7a4f0c;--color-notice-line:#ebd9b0;--color-danger-text:#8c3b2e;--color-danger-bg:#f8e9e5;--font-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-num:"Manrope", "Noto Sans TC", sans-serif;--text-xs:12px;--text-sm:13.5px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:30px;--text-3xl:38px;--leading-tight:1.2;--leading-body:1.55;--weight-regular:400;--weight-medium:500;--weight-bold:700;--weight-heavy:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--page-gutter:16px;--touch-min:44px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-card:0 1px 2px #1f2a270a, 0 8px 24px #1f2a270f;--shadow-raised:0 2px 6px #1f2a2714, 0 16px 40px #1f2a2724;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.15s;--dur-base:.24s}[data-theme=dark]{--color-bg:#111715;--color-surface:#1a2320;--color-surface-sunken:#222d29;--color-line:#2c3833;--color-line-strong:#6f807a;--color-scrim:#0009;--color-text:#e6ede9;--color-text-muted:#a5b3ad;--color-on-primary:#10201c;--color-primary:#7fc7b5;--color-primary-fuzzy:#4c8576;--color-primary-soft:#2a4a42;--color-protein:#a3b9e3;--color-protein-soft:#2b3850;--color-notice-bg:#2c2718;--color-notice-text:#ebc983;--color-notice-line:#4a4025;--color-danger-text:#f0a898;--color-danger-bg:#3a2420;--shadow-card:0 1px 2px #0000004d, 0 8px 24px #00000040;--shadow-raised:0 2px 6px #0006, 0 16px 40px #00000073}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#111715;--color-surface:#1a2320;--color-surface-sunken:#222d29;--color-line:#2c3833;--color-line-strong:#6f807a;--color-scrim:#0009;--color-text:#e6ede9;--color-text-muted:#a5b3ad;--color-on-primary:#10201c;--color-primary:#7fc7b5;--color-primary-fuzzy:#4c8576;--color-primary-soft:#2a4a42;--color-protein:#a3b9e3;--color-protein-soft:#2b3850;--color-notice-bg:#2c2718;--color-notice-text:#ebc983;--color-notice-line:#4a4025;--color-danger-text:#f0a898;--color-danger-bg:#3a2420;--shadow-card:0 1px 2px #0000004d, 0 8px 24px #00000040;--shadow-raised:0 2px 6px #0006, 0 16px 40px #00000073}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s}}
*,:before,:after{box-sizing:border-box;margin:0}html{background:var(--color-bg);-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}button,a,input,textarea{font:inherit;color:inherit;touch-action:manipulation}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.6}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}[tabindex="-1"]:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}svg.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}svg.i-lg{width:28px;height:28px}.muted{color:var(--color-text-muted)}.mt-2{margin-top:var(--space-2)}.row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.app{max-width:430px;min-height:100dvh;padding:max(var(--space-4), env(safe-area-inset-top)) max(var(--page-gutter), env(safe-area-inset-right)) calc(var(--space-8) + env(safe-area-inset-bottom)) max(var(--page-gutter), env(safe-area-inset-left));margin:0 auto}.app.has-toast{padding-bottom:calc(var(--space-8) + 64px + env(safe-area-inset-bottom))}header.top{padding:var(--space-2) var(--space-1) var(--space-4);justify-content:space-between;align-items:center;display:flex}header.top h1{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.3}header.top p{font-size:var(--text-sm);color:var(--color-text-muted)}.avatar{width:var(--touch-min);height:var(--touch-min);background:var(--color-surface);box-shadow:var(--shadow-card);font-weight:var(--weight-bold);color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-4)}.label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-medium)}.conf{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary);background:var(--color-surface-sunken);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.conf i{gap:2px;display:inline-flex}.conf i u{background:var(--color-primary-fuzzy);opacity:.45;border-radius:2px;width:5px;height:10px}.conf i u.on{background:var(--color-primary);opacity:1}.range{align-items:baseline;gap:0 var(--space-2);flex-wrap:wrap;margin-top:2px;display:flex}.range b{font-size:var(--text-3xl);font-weight:var(--weight-heavy);color:var(--color-primary);white-space:nowrap;line-height:1.1}.range span{color:var(--color-text-muted);font-size:15px}.likely{color:var(--color-text-muted);margin-top:2px;font-size:14px}.likely b{color:var(--color-text)}.band{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:18px;margin:18px 0 var(--space-2);position:relative;overflow:hidden}.band .solid{background:var(--color-primary);position:absolute;inset:0 auto 0 0}.band .fuzzy{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-fuzzy) 35%, var(--color-primary-soft));position:absolute;top:0;bottom:0;right:0}.band .mid{background:var(--color-surface);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:3px;bottom:3px}.scale{font-size:var(--text-xs);color:var(--color-text-muted);justify-content:space-between;display:flex}.macros{gap:var(--space-3);grid-template-columns:1.3fr 1fr 1fr;align-items:end;display:grid}.macros .v{font-size:var(--text-xl);font-weight:var(--weight-heavy);line-height:var(--leading-tight);white-space:nowrap}.macros .v small,.minor .v small{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.macros .pro .v{font-size:var(--text-2xl);color:var(--color-protein)}.minor{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-line);grid-template-columns:repeat(4,1fr);display:grid}.minor .v{font-size:15px;font-weight:var(--weight-bold);white-space:nowrap}.minor .k{font-size:var(--text-xs);color:var(--color-text-muted)}.partial{color:var(--color-notice-text)}.foot{font-size:var(--text-xs);color:var(--color-notice-text);margin-top:var(--space-3)}h2{font-size:var(--text-md);font-weight:var(--weight-bold);margin:var(--space-6) var(--space-1) 10px;justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}h2 span{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text-muted)}.meal{padding:6px var(--space-5) var(--space-3)}.meal summary{align-items:center;gap:var(--space-3);cursor:pointer;border-radius:var(--radius-md);min-height:56px;list-style:none;display:flex}.meal summary::-webkit-details-marker{display:none}.meal .t{flex:1;min-width:0}.meal .t strong{font-size:var(--text-md);font-weight:var(--weight-medium);display:block}.meal .t>span{font-size:var(--text-xs);color:var(--color-text-muted);overflow-wrap:anywhere;display:block}.meal .k{text-align:right}.meal .k b{font-size:var(--text-lg);font-weight:var(--weight-bold);white-space:nowrap;line-height:1.3;display:block}.meal .k span{font-size:var(--text-xs);color:var(--color-text-muted)}.meal summary svg{color:var(--color-text-muted);transition:transform var(--dur-fast) var(--ease-out)}.meal[open] summary svg{transform:rotate(90deg)}.chip{font-size:var(--text-xs);border-radius:var(--radius-sm);white-space:nowrap;background:var(--color-surface-sunken);color:var(--color-text-muted);padding:1px 7px;display:inline-block}.chip.new{font-weight:var(--weight-medium);color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-pill);vertical-align:1px;margin-left:6px}[data-theme=dark] .chip.new{color:var(--color-text)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .chip.new{color:var(--color-text)}}.meal.fresh{outline:2px solid var(--color-primary-fuzzy);outline-offset:-2px}.chip.soft{font-weight:var(--weight-medium);color:var(--color-notice-text);background:var(--color-notice-bg);border:1px solid var(--color-notice-line);border-radius:var(--radius-pill);vertical-align:1px;margin-left:6px}.items{border-top:1px solid var(--color-line);padding:0;list-style:none}.items li{border-bottom:1px solid var(--color-line);padding:2px 0}.items li:last-child{border-bottom:0}.item{align-items:center;column-gap:var(--space-2);width:100%;min-height:var(--touch-min);text-align:left;border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease-out);grid-template-columns:minmax(0,1fr) auto auto;padding:6px 0;display:grid}.item:active{background:var(--color-surface-sunken)}.item .n{overflow-wrap:anywhere;font-size:14.5px}.item .n em{color:var(--color-text-muted);font-style:normal;font-size:var(--text-xs);margin-left:4px}.item .r{font-size:14px;font-weight:var(--weight-bold);text-align:right;white-space:nowrap;min-width:78px}.item .a{font-size:var(--text-xs);color:var(--color-text-muted);overflow-wrap:anywhere;grid-column:1/-1;margin-top:2px}.src{min-height:var(--touch-min);font-size:var(--text-xs);color:var(--color-primary);text-underline-offset:3px;align-items:center;display:inline-flex}.mealfoot{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.del{min-height:var(--touch-min);padding:0 var(--space-2);font-size:var(--text-sm);color:var(--color-danger-text);border-radius:var(--radius-sm);white-space:nowrap}.guide h3{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.4}.guide p{color:var(--color-text-muted);margin-top:var(--space-1);font-size:15px}.guide .small-note{font-size:var(--text-sm)}.say{background:var(--color-surface-sunken);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 4px;margin-top:var(--space-3);padding:10px 14px;font-size:15px}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-pill);font-weight:var(--weight-medium);transition:opacity var(--dur-fast) var(--ease-out);text-decoration:none;display:inline-flex}.btn:active{opacity:.85}.btn.primary{background:var(--color-primary);color:var(--color-on-primary)}.btn.quiet{background:var(--color-surface-sunken);color:var(--color-text)}.btn.danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.btn.block{width:100%;margin-top:var(--space-4);display:flex}.steps{margin-top:var(--space-3);counter-reset:s;padding:0;list-style:none}.steps li{padding:0 0 var(--space-4) 40px;counter-increment:s;font-size:15px;position:relative}.steps li:before{content:counter(s);background:var(--color-surface-sunken);width:28px;height:28px;color:var(--color-primary);font:var(--weight-bold) 14px var(--font-num);border-radius:50%;place-items:center;display:grid;position:absolute;top:-2px;left:0}.url{align-items:center;gap:var(--space-2);margin-top:var(--space-2);background:var(--color-surface-sunken);border-radius:var(--radius-md);padding:4px 4px 4px 12px;display:flex}.url code{overflow-wrap:break-word;-webkit-user-select:all;user-select:all;flex:1;min-width:0;font:13.5px ui-monospace,Menlo,monospace}.url button{min-height:var(--touch-min);min-width:64px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--text-sm);font-weight:var(--weight-medium)}.hint{gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-2) var(--space-1);align-items:flex-start;display:flex}.notice{gap:var(--space-3);background:var(--color-notice-bg);border:1px solid var(--color-notice-line);color:var(--color-notice-text);border-radius:var(--radius-md);align-items:flex-start;padding:10px 14px;font-size:14px;display:flex}.sk{background:var(--color-surface-sunken);border-radius:var(--radius-sm);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.scrim{background:var(--color-scrim);z-index:40;animation:fade-in var(--dur-base) var(--ease-out);position:fixed;inset:0}.sheet{overscroll-behavior:contain;z-index:50;background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:430px;max-height:92dvh;box-shadow:var(--shadow-raised);padding:var(--space-3) max(var(--space-5), env(safe-area-inset-right)) 0 max(var(--space-5), env(safe-area-inset-left));animation:sheet-in var(--dur-base) var(--ease-out);position:fixed;bottom:0;left:50%;overflow:auto;transform:translate(-50%)}@keyframes sheet-in{0%{transform:translate(-50%,100%)}}@keyframes fade-in{0%{opacity:0}}.sheet-head{touch-action:none}.sheet .grab{background:var(--color-line-strong);width:40px;height:4px;margin:0 auto var(--space-3);opacity:.6;border-radius:2px}.sheet h3{font-size:var(--text-lg);font-weight:var(--weight-bold)}.sheet .sub{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3);align-items:center;column-gap:var(--space-3);flex-wrap:wrap;display:flex}.sheet .sub>span{padding:2px 0}.sheet .sub .email{overflow-wrap:anywhere}.field{margin-top:var(--space-3);min-width:0;display:block}.field>span{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:4px;display:block}.field input,.field textarea{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:48px;font-size:var(--text-md);padding:10px 12px}.field textarea{resize:vertical;min-height:56px;line-height:1.5}.field input.num{font-weight:var(--weight-bold)}.field input.err,.field textarea.err{border:2px solid var(--color-danger-text);background:var(--color-danger-bg);padding:9px 11px}.ferr{font-size:var(--text-sm);color:var(--color-danger-text);align-items:flex-start;gap:6px;margin-top:6px;display:flex}.ferr svg{width:18px;height:18px;margin-top:2px}.ferr .line{display:block}.cols-name{gap:var(--space-2);grid-template-columns:1.4fr 1fr;display:grid}.cols3{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.cols4{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}fieldset{margin-top:var(--space-4);border:0;min-width:0;padding:0}legend{font-size:var(--text-sm);font-weight:var(--weight-bold);padding:0}.sheet .notice{margin-top:var(--space-3)}.remove-row{margin-top:var(--space-3);justify-content:flex-end;display:flex}.confirm{margin-top:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.confirm-actions{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.disclosure{margin-top:var(--space-2)}.disclosure summary{min-height:var(--touch-min);font-weight:var(--weight-medium);color:var(--color-primary);cursor:pointer;align-items:center;display:flex}.actions{gap:var(--space-2);margin-top:var(--space-4);background:var(--color-surface);padding:var(--space-3) 0 calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--color-line);grid-template-columns:1fr 2fr;display:grid;position:sticky;bottom:0}.actions .span2{grid-column:1/-1}.toast-region{left:50%;bottom:calc(var(--space-5) + env(safe-area-inset-bottom));width:calc(100% - 2 * var(--page-gutter));z-index:30;pointer-events:none;max-width:398px;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-pill);padding:4px 4px 4px var(--space-5);box-shadow:var(--shadow-raised);animation:toast-in var(--dur-base) var(--ease-out);font-size:15px;display:flex}.toast button{min-height:var(--touch-min);padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text);font-weight:var(--weight-bold);white-space:nowrap}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}.auth{max-width:430px;min-height:100dvh;padding:max(var(--space-8), env(safe-area-inset-top)) var(--page-gutter) calc(var(--space-8) + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;margin:0 auto;display:flex}.brand{text-align:center;margin-bottom:var(--space-6)}.brand .mark{background:var(--color-surface);width:64px;height:64px;box-shadow:var(--shadow-card);color:var(--color-primary);border-radius:20px;place-items:center;display:inline-grid}.mark-svg{fill:none;stroke:currentColor;stroke-linecap:round;width:36px;height:36px}.brand h1{font:var(--weight-heavy) 28px/1.2 var(--font-num);letter-spacing:-.02em;margin-top:var(--space-3)}.brand p{font-size:var(--text-sm);color:var(--color-text-muted)}.auth .card{padding:var(--space-6) var(--space-5);margin-bottom:0}.auth .card h2{font-size:var(--text-lg);font-weight:var(--weight-bold);margin:0;line-height:1.4;display:block}.auth .card>p{color:var(--color-text-muted);margin-top:var(--space-1);font-size:15px}.auth .card p b{color:var(--color-text);font-weight:var(--weight-medium);overflow-wrap:anywhere}.auth .field{margin-top:var(--space-4)}.auth .btn{width:100%;margin-top:var(--space-4);display:flex}.auth .notice{margin-top:var(--space-3)}.link{min-height:var(--touch-min);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-primary);text-underline-offset:3px;justify-content:center;align-items:center;width:100%;text-decoration:underline;display:flex}.small{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-4)}.who{align-items:center;gap:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);margin-top:var(--space-4);padding:10px 14px;font-size:14px;display:flex}.who .av{background:var(--color-surface);width:36px;height:36px;font-weight:var(--weight-bold);color:var(--color-primary);border-radius:50%;flex:none;place-items:center;display:grid}.who small{color:var(--color-text-muted);font-size:var(--text-xs);overflow-wrap:anywhere;display:block}.scopes{margin-top:var(--space-3);padding:0;list-style:none}.scopes li+li{border-top:1px solid var(--color-line)}.scopes label{gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-3) 0;cursor:pointer;align-items:flex-start;display:flex}.scopes input{width:22px;height:22px;accent-color:var(--color-primary);flex:none;margin-top:2px}.scopes strong{font-size:15px;font-weight:var(--weight-medium);display:block}.scopes span span{font-size:var(--text-sm);color:var(--color-text-muted)}.two{gap:var(--space-2);grid-template-columns:1fr 2fr;display:grid}@media (prefers-reduced-motion:reduce){.sk,.scrim,.sheet,.toast{animation:none}.item,.btn,.meal summary svg{transition:none}}
