@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_c183140d-module__4M7gaG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_c183140d-module__4M7gaG__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:pretendard;src:url(../media/PretendardVariable-s.p.2q4tlji06vjpz.woff2)format("woff2");font-display:swap;font-weight:45 920}@font-face{font-family:pretendard Fallback;src:local(Arial);ascent-override:93.76%;descent-override:23.75%;line-gap-override:0.0%;size-adjust:101.55%}.pretendard_72424d5e-module__SZ4mvW__className{font-family:pretendard,pretendard Fallback}.pretendard_72424d5e-module__SZ4mvW__variable{--font-pretendard:"pretendard", "pretendard Fallback"}
:root{--bg:#faf8f3;--surface:#fff;--ink:#1f2937;--muted:#6b7280;--line:#e8e4dc;--eat:#2e7d67;--eat-soft:#e8f5ee;--meal:#ffe4dc;--meal-ink:#c2622f;--sleep:#e9e7ff;--sleep-ink:#5b55c9;--move:#d1f3e3;--move-ink:#1f6b55;--weight:#e8f5ee;--weight-ink:#2e7d67;--goal:#fff4d6;--goal-ink:#b07a14;--period:#fbeef2;--period-line:#f0d8e0;--err:#b4533a;--mono:var(--font-plex-mono),"IBM Plex Mono",ui-monospace,monospace;--sans:var(--font-pretendard),Pretendard,-apple-system,system-ui,sans-serif;--fs-title:24px;--fs-h2:18px;--fs-body:16px;--fs-sub:14px;--fs-cap:12px;--r-sm:10px;--r-card:14px;--nav-w:200px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;line-height:1.55}a{color:inherit}h1{font-size:var(--fs-title);letter-spacing:-.02em;align-items:center;gap:8px;font-weight:700;line-height:1.2;display:flex}h2{font-size:var(--fs-h2);font-weight:700}.note{color:var(--muted);font-size:var(--fs-sub)}.num{font-variant-numeric:tabular-nums}.shell{grid-template-columns:var(--nav-w) 1fr;gap:20px;max-width:1280px;min-height:100vh;margin:0 auto;padding:20px;display:grid}.main{min-width:0}.nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);flex-direction:column;height:calc(100vh - 40px);padding:16px 12px;display:flex;position:sticky;top:20px}.nav-brand{color:var(--eat);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;padding:6px 10px 18px;font-size:11px;font-weight:600;display:flex}.nav ul{flex-direction:column;flex:1;gap:4px;list-style:none;display:flex}.nav li a,.nav li button{border-radius:var(--r-sm);width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;min-height:44px;padding:11px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s ease-out;display:flex}.nav li a:hover,.nav li button:hover{background:var(--bg)}.nav li a.on{background:var(--eat-soft);color:var(--eat)}.nav li a svg,.nav li button svg{color:var(--muted)}.nav li a.on svg{color:var(--eat)}.nav-out{margin-top:auto}.nav-out button{color:var(--muted)}.nav li a:focus-visible,.nav li button:focus-visible{outline:2px solid var(--eat);outline-offset:2px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.month-nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);align-items:center;gap:8px;padding:6px;display:flex}.month-nav h1{text-align:center;min-width:8.5ch;padding:0 6px}.month-nav select{background:var(--bg);border-radius:var(--r-sm);border-color:#0000;width:auto;min-height:36px;padding:8px 10px;font-size:13px}.icon-btn{border-radius:var(--r-sm);background:var(--bg);border:0;justify-content:center;align-items:center;width:38px;height:38px;min-height:0;padding:0;display:inline-flex}.icon-btn:disabled{opacity:.35}button,.linkbtn{font-family:var(--sans);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s ease-out,border-color .15s ease-out;display:inline-flex}button:hover,.linkbtn:hover{border-color:var(--eat);background:var(--eat-soft)}button.primary,.linkbtn.primary{background:var(--eat);color:#fff;border-color:var(--eat)}button.primary:hover,.linkbtn.primary:hover{background:#276b58;border-color:#276b58}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover{background:var(--bg);color:var(--ink);border-color:#0000}button:disabled{opacity:.55;cursor:default}button:focus-visible,.linkbtn:focus-visible,a:focus-visible{outline:2px solid var(--eat);outline-offset:2px}.btn-sm{min-height:32px;padding:6px 10px;font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);margin-bottom:16px;padding:20px}.card h2{align-items:center;gap:8px;margin-bottom:14px;display:flex}.tag{font-family:var(--mono);letter-spacing:.06em;background:var(--eat-soft);color:var(--eat);border-radius:20px;padding:2px 7px;font-size:10px;font-weight:600}.arc-note{color:var(--muted);background:var(--eat-soft);border-radius:var(--r-sm);margin-bottom:16px;padding:10px 14px;font-size:13px}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);align-items:flex-start;gap:14px;padding:18px;display:flex}.stat:nth-child(2){background:#fffcf4}.tile{border-radius:12px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.tile.weight,.ico.weight{background:var(--weight);color:var(--weight-ink)}.tile.goal,.ico.goal{background:var(--goal);color:var(--goal-ink)}.tile.fast{background:var(--sleep);color:var(--sleep-ink)}.tile.move,.ico.move{background:var(--move);color:var(--move-ink)}.ico.meal{background:var(--meal);color:var(--meal-ink)}.ico.sleep{background:var(--sleep);color:var(--sleep-ink)}.stat .body{flex-direction:column;flex:1;min-width:0;display:flex}.stat .label{color:var(--ink);font-size:14px;font-weight:600}.stat .value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:2px;font-size:28px;font-weight:600;line-height:1.2}.stat .value em{font-style:normal;font-family:var(--sans);color:var(--muted);margin-left:4px;font-size:14px;font-weight:500}.stat .value.none{font-family:var(--sans);color:var(--muted);margin-top:6px;font-size:15px;font-weight:500}.stat .sub{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:0 8px;margin-top:4px;font-size:13px;font-weight:500;display:flex}.stat .sub.ok{color:var(--eat)}.stat .sub.gap{color:var(--meal-ink)}.stat .sub small{color:var(--muted);font-size:12px;font-weight:400}.stat .bar{background:var(--eat-soft);border-radius:4px;height:7px;margin-top:10px;display:block;overflow:hidden}.stat .bar i{background:var(--eat);border-radius:4px;height:100%;display:block}.goalline{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px;padding:14px 18px;display:flex}.goalline .goalline-eyebrow{font-size:14px;font-weight:600}.goalline .gn{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.goalline .gn span{font-family:var(--sans);color:var(--muted);margin-left:4px;font-size:13px;font-weight:500}.goalline-bar{background:var(--eat-soft);border-radius:4px;flex:120px;height:7px;overflow:hidden}.goalline-bar i{background:var(--eat);border-radius:4px;height:100%;display:block}.goalline .ok{color:var(--eat)}.goalline .gap{color:var(--meal-ink)}.goalline-memo{color:var(--muted);flex-basis:100%;font-size:13px}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.chart-head h2{margin:0;font-size:19px}.legend{color:var(--muted);justify-content:flex-end;gap:16px;margin-bottom:6px;font-size:12px;font-weight:500;display:flex}.legend i{border-top:2px solid var(--eat);vertical-align:middle;width:16px;margin-right:6px;display:inline-block}.legend i.dash{border-top-style:dashed}.chart{width:100%;height:auto;display:block}.chart .ax{font-family:var(--mono);fill:var(--muted);font-size:11px}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .tipbox rect{fill:var(--surface);stroke:var(--line)}.chart .tipbox .t1{fill:var(--muted);font-size:11px}.chart .tipbox .t2{fill:var(--ink);font-size:13px;font-weight:600}.dash-empty{color:var(--muted);padding:18px 0;font-size:14px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);margin-bottom:16px;overflow:hidden}.list-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.list-head h2{font-size:19px}.row{--cols:150px 1.2fr 1.2fr 110px 120px 100px 32px;grid-template-columns:var(--cols);border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:0 14px;padding:14px 20px;transition:background .15s ease-out;display:grid}.row:last-child{border-bottom:0}.row:hover,.row:focus-visible{background:var(--eat-soft);outline:none}.row.period{background:var(--period)}.row.period:hover{background:#f6e2ea}.c-date{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.c-date b{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:16px;font-weight:700;display:flex}.c-date .today{font-family:var(--sans);color:#fff;background:var(--eat);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.c-date .fast{font-variant-numeric:tabular-nums;color:var(--eat);background:var(--eat-soft);border-radius:20px;padding:2px 9px;font-size:13px;font-weight:600}.c-date .fast.rest{color:var(--muted);background:var(--bg)}.cell{align-items:center;gap:10px;min-width:0;display:flex}.cell .ico{border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.cell .txt{flex-direction:column;min-width:0;line-height:1.35;display:flex}.cell .txt b{align-items:baseline;gap:6px;font-size:13px;font-weight:600;display:flex}.cell .txt b .num{color:var(--muted);font-size:12px;font-weight:500}.cell .txt .m{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.cell.none .ico{opacity:.45}.cell.none .txt .m{color:var(--muted)}.c-weight .txt b.num{color:var(--ink);white-space:nowrap;font-size:14px}.c-go{width:32px;height:32px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.c-go:hover{background:var(--surface);color:var(--eat)}.c-review{color:var(--muted);border-left:2px solid var(--eat-soft);grid-column:1/-1;margin-top:8px;padding-left:9px;font-size:13px}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-card);text-align:center;color:var(--muted);padding:40px 24px;font-size:14px}.empty b{color:var(--ink);margin-bottom:6px;font-size:16px;font-weight:600;display:block}footer{color:var(--muted);font-size:12px;font-family:var(--mono);margin-top:20px}.grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}label{color:var(--muted);margin-bottom:5px;font-size:13px;font-weight:600;display:block}input,select,textarea{width:100%;font-family:var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);outline:none;min-height:42px;padding:10px 12px;font-size:15px;transition:border-color .15s ease-out,box-shadow .15s ease-out}input[type=date],input[type=time],input[type=month],input.num{font-variant-numeric:tabular-nums}input:focus,select:focus,textarea:focus{border-color:var(--eat);box-shadow:0 0 0 3px var(--eat-soft)}input::placeholder{color:#9ca3af}.row-f{margin-top:12px}.check{color:var(--ink);cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:14px;display:flex}.check input{width:18px;height:18px;min-height:0;accent-color:var(--eat)}.btns{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.msg{margin:0;font-size:13px;line-height:1.5}.msg.err{color:var(--err)}.msg.ok{color:var(--eat)}.sect{border:1px solid var(--line);min-width:0;margin-bottom:12px}.sect-title{font-size:var(--fs-h2);align-items:center;gap:10px;padding:14px 0 4px;font-weight:700;display:flex}.sect-title .ico{border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.sect legend .pill{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.pill.meal{background:var(--meal);color:var(--meal-ink)}.pill.move{background:var(--move);color:var(--move-ink)}.pill.sleep{background:var(--sleep);color:var(--sleep-ink)}.seg{background:var(--bg);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.seg button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.seg button.on{background:var(--eat);color:#fff}.seg button:hover:not(.on){background:var(--surface);color:var(--ink)}.form-loading{color:var(--muted);margin-bottom:12px;font-size:13px}.auth-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);width:100%;max-width:400px;padding:32px 28px}.auth-brand{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--eat);flex-direction:column;align-items:center;gap:10px;margin-bottom:18px;font-size:11px;font-weight:600;display:flex}.auth h1{justify-content:center;margin-bottom:6px}.auth .note{text-align:center;margin-bottom:22px}.auth .row-f{margin-top:14px}.auth .pw{position:relative}.auth .pw input{padding-right:64px}.auth .pw button{position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth .btns button{width:100%;margin-top:6px}.auth-foot{font-size:var(--fs-cap);margin:18px 0 0}@media (max-width:1100px){.row{--cols:130px 1fr 1fr 104px 110px 32px}.c-sleep{display:none}}@media (max-width:960px){.shell{grid-template-columns:1fr;gap:0;padding:16px 16px 84px}.nav{z-index:10;border-width:1px 0 0;border-radius:0;height:auto;padding:6px 8px;position:fixed;inset:auto 0 0}.nav-brand{display:none}.nav ul{flex-direction:row;justify-content:space-around;gap:0}.nav li{flex:1}.nav li a,.nav li button{border-radius:var(--r-sm);flex-direction:column;gap:3px;min-height:52px;padding:6px 4px;font-size:11px}.nav li a.on{background:0 0}.nav-out{margin-top:0}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{gap:10px;padding:14px}.tile{width:40px;height:40px}.stat .value{font-size:22px}}@media (max-width:640px){.month-nav h1{min-width:0;font-size:19px}.month-nav select{display:none}.topbar .linkbtn.primary{padding:10px 12px}.stat .sub small{display:none}.chart-head h2{font-size:17px}.list-head{padding:14px 16px}.row{grid-template-columns:1fr auto;grid-template-areas:"date go""lunch lunch""dinner dinner""meta meta";gap:8px 10px;padding:14px 16px}.c-date{flex-direction:row;grid-area:date;align-items:center;gap:8px}.c-go{grid-area:go}.c-lunch{grid-area:lunch}.c-dinner{grid-area:dinner}.c-weight,.c-move{grid-area:meta}.c-weight{display:inline-flex}.c-move{justify-self:end;display:inline-flex}.c-weight .txt b.num{font-size:13px}.cell .ico{width:30px;height:30px}.cell .txt .m{white-space:normal}.c-move .txt{flex-direction:row;align-items:baseline;gap:5px}.c-move .txt .m{white-space:nowrap}.c-review{grid-area:auto/1/auto/-1}}@media (prefers-reduced-motion:reduce){*{transition: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}.rec .card{padding:6px 20px}.frow{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr auto;align-items:center;gap:12px;padding:14px 0;display:grid}.frow:last-child{border-bottom:0}.fkey{font-weight:600;font-size:var(--fs-body);align-items:center;gap:10px;display:flex}.fkey .ico{border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.ico.fast{background:var(--sleep);color:var(--sleep-ink)}.fval{min-width:0}.fval.grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:center}.meal-grid{grid-template-columns:130px 130px 1fr}.unit{position:relative}.unit input{padding-right:40px}.unit span{font-size:var(--fs-sub);color:var(--muted);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.savebar{z-index:5;background:var(--bg);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin:4px 0 20px;padding:10px 0;display:flex;position:sticky;bottom:0}.savebar .msg{margin-right:auto}@media (max-width:640px){.rec .card{padding:4px 16px}.rec .topbar{flex-wrap:nowrap;gap:8px}.rec .month-nav{flex:1;justify-content:space-between;gap:4px}.rec .month-nav h1{font-size:18px}.rec .topbar>.primary{flex:none;min-height:38px;padding:8px 10px;font-size:13px}.frow{grid-template-columns:1fr;gap:8px;padding:12px 0}.meal-grid{grid-template-columns:1fr 1fr}.meal-grid input:last-child{grid-column:1/-1}.savebar{background:var(--bg);padding:10px 0;position:sticky;bottom:72px}}.auth .google{background:var(--surface);border-color:var(--line);width:100%;margin-top:4px;font-weight:600}.auth .google:hover{background:var(--bg);border-color:#c9d3ce}.auth .or{font-size:var(--fs-cap);color:var(--muted);align-items:center;gap:10px;margin:18px 0 4px;display:flex}.auth .or:before,.auth .or:after{content:"";border-top:1px solid var(--line);flex:1}.mascot{flex-direction:column;align-items:center;gap:6px;line-height:0;display:inline-flex;position:relative}.mascot img{height:auto;display:block}.mascot-say{font-size:var(--fs-sub);color:var(--ink);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:14px;padding:6px 12px;font-weight:600;line-height:1.4;position:relative}.mascot-say:after{content:"";background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.mascot-cheer img{animation:.5s ease-out hop}.mascot-nudge img{transform:rotate(-6deg)}@keyframes hop{0%{transform:translateY(0)}40%{transform:translateY(-8px)}70%{transform:translateY(0)}85%{transform:translateY(-3px)}to{transform:translateY(0)}}.hero{background:var(--move);border-radius:var(--r-card);grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-bottom:16px;padding:18px 22px;display:grid}.hero h2{font-size:var(--fs-h2);margin-bottom:4px}.hero p{font-size:var(--fs-sub);color:var(--muted)}.hero .prog{font-size:var(--fs-sub);align-items:center;gap:10px;margin-top:10px;font-weight:600;display:flex}.hero .prog .bar{background:#ffffffb3;border-radius:4px;flex:1;height:8px;overflow:hidden}.hero .prog .bar i{background:var(--eat);border-radius:4px;height:100%;display:block}.hero .actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.empty .mascot{margin-bottom:10px}.sel{position:relative}.sel-btn{text-align:left;background:var(--surface);justify-content:space-between;width:100%;padding:10px 12px;font-weight:500}.sel-btn.empty{color:var(--muted)}.sel-caret{color:var(--muted);flex:none;transition:transform .15s ease-out;transform:rotate(90deg)}.sel.open .sel-caret{transform:rotate(-90deg)}.sel.open .sel-btn{border-color:var(--eat);box-shadow:0 0 0 3px var(--eat-soft)}.sel-list{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);max-height:280px;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #1f293714}.sel-opt{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:15px;display:flex}.sel-opt.act{background:var(--bg)}.sel-opt.on{background:var(--eat-soft);color:var(--eat);font-weight:600}.sel-opt.none{color:var(--muted);font-weight:500}.sel-opt.none.on{background:var(--bg);color:var(--muted)}.sel-mark{text-align:center;flex:none;width:14px;font-size:12px}.sel-txt{flex-direction:column;line-height:1.3;display:flex}.sel-txt small{font-size:var(--fs-cap);color:var(--muted);font-weight:400}.sel-opt.on .sel-txt small{color:var(--eat)}.toast{z-index:50;background:var(--ink);color:#fff;opacity:0;pointer-events:none;border-radius:14px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:600;transition:opacity .15s ease-out,transform .15s ease-out;animation:.18s ease-out toast-in;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast.on{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.toast.ok{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 24px #1f29371a}.toast.err{background:var(--err)}.toast .mascot img{height:auto}@media (max-width:960px){.toast{bottom:84px}}.row-wrap{border-bottom:1px solid var(--line)}.row-wrap:last-child,.row-wrap .row{border-bottom:0}.row[aria-expanded=true]{background:var(--eat-soft)}.detail{background:var(--bg);padding:4px 20px 18px}.detail dl{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 18px;margin:0;display:grid}.detail .d{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}.detail dt{font-size:var(--fs-cap);color:var(--muted);align-items:center;gap:6px;margin-bottom:4px;font-weight:600;display:flex}.detail dt .ico{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.detail dd{font-size:var(--fs-sub);margin:0}.detail dd .none{color:var(--muted)}.detail .detail-act{justify-content:flex-end;margin-top:12px;display:flex}@media (max-width:640px){.hero{text-align:center;grid-template-columns:1fr;justify-items:center;padding:16px}.hero .prog{width:100%}.detail{padding:4px 14px 16px}}.sect-title small,.h2-sub{font-size:var(--fs-cap);color:var(--muted);margin-left:2px;font-weight:500}.sect-title .mascot img,.card h2 .mascot img{width:auto;height:44px}.auth-brand .mascot{margin-bottom:2px}.hero .mascot img{width:auto;height:96px}.toast .mascot img{width:auto;height:40px}.meal-grid.no-type{grid-template-columns:130px 1fr}@media (max-width:640px){.row{grid-template-areas:"date go""lunch lunch""dinner dinner""extra extra""meta meta"}.meal-grid.no-type{grid-template-columns:1fr}}.c-extra{font-size:var(--fs-cap);color:var(--muted);flex-wrap:wrap;grid-column:2/4;gap:4px 14px;margin-top:-4px;display:flex}.c-extra b{color:var(--ink);font-weight:600}@media (max-width:640px){.c-extra{grid-area:extra;margin-top:0}}
