.arc-ring{width:100%;height:100%;display:block;overflow:visible}.arc{stroke-dasharray:var(--L) var(--L);stroke-dashoffset:var(--to);animation:arc .9s var(--ease) .1s both}@keyframes arc{0%{stroke-dashoffset:var(--from)}}.weeks{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;margin:2px -14px 4px;display:flex;overflow-x:auto}.weeks::-webkit-scrollbar{display:none}.wk{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;grid-template-columns:repeat(7,1fr);padding:0 8px;display:grid}.wd{color:var(--ink);transition:background .3s, box-shadow .3s, transform .3s var(--spring);background:0 0;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:7px;margin:0 2px;padding:8px 0 9px;display:flex}.wd:active{transform:scale(.94)}.wd:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.wd .dn{font:500 13px var(--font);color:var(--ink-2)}.wd .dc{width:min(38px,9.6vw);height:min(38px,9.6vw);font:600 min(16px, 4.1vw) ui-rounded, var(--font);place-items:center;display:grid;position:relative}.wd .dc svg{position:absolute;inset:0}.wd .dc span{position:relative}.wd.sel{background:var(--sel);box-shadow:inset 0 0 0 1px var(--plate-line)}.wd.sel .dn{color:var(--ink);font-weight:600}.wd.fut{opacity:.32}.wd.pre{opacity:.5}.wd:disabled{cursor:default}.car{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:20px;margin:0 -20px;padding:0 20px;scroll-padding:0 20px;display:flex;overflow-x:auto}.car::-webkit-scrollbar{display:none}.pg{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;display:grid}.pg>.hero{min-height:306px}.pg>.hero-tablo,.pg>.tablo-cols{min-height:148px}.pg>.hero-tablo{justify-content:space-between}.pg>.tablo-cols{align-content:center}.dots{justify-content:center;gap:8px;margin:13px 0 2px;display:flex}.dots i{background:var(--ink-3);width:7px;height:7px;transition:background .3s, transform .3s var(--spring);border-radius:50%}.dots i.on{background:var(--ink);transform:scale(1.15)}.kc{grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:148px;padding:18px 16px 18px 20px;display:grid}.kc-num{font:700 min(44px, 11.2vw)/1 ui-rounded, var(--font);letter-spacing:-.035em;color:var(--k-ink);white-space:nowrap;display:block}.kc-num small{font:600 min(18px, 4.6vw) ui-rounded, var(--font);color:var(--ink-2);letter-spacing:-.01em;margin-left:3px}.kc-sub{font:500 15px var(--font);color:var(--ink-2);margin-top:12px;display:block}.ringbox{width:min(108px,27vw);height:min(108px,27vw);display:block;position:relative}.ringbox .ico{place-items:center;display:grid;position:absolute;inset:0}.macs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mc{flex-direction:column;gap:3px;min-height:148px;padding:14px min(14px,3.4vw);display:flex}.mc-v{font:700 min(22px, 5.5vw)/1.1 ui-rounded, var(--font);letter-spacing:-.02em;white-space:nowrap}.mc-v small{font:600 min(13px, 3.3vw) ui-rounded, var(--font);color:var(--ink-2);letter-spacing:0}.mc-l{font:500 min(13px, 3.3vw) var(--font);color:var(--ink-2)}.mc .ringbox{width:62px;height:62px;margin:auto auto 0}.hs{text-align:left;flex-direction:column;gap:10px;height:148px;padding:15px 18px 16px;display:flex}.hs-h{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.hs-h b{font:600 17px var(--font)}.hs-h span{font:700 24px ui-rounded, var(--font)}.hs-h small{font:600 14px ui-rounded, var(--font);color:var(--ink-2)}.hbar{background:var(--sep);border-radius:4px;height:8px;display:block;overflow:hidden}.hbar i{border-radius:inherit;height:100%;transition:width .8s var(--ease);display:block}.hs-t{font:400 14px/1.35 var(--font);color:var(--ink-2);text-wrap:pretty;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hsh{align-items:baseline;gap:6px;display:flex}.hsh b{font:700 44px/1 ui-rounded, var(--font);letter-spacing:-.03em}.hs-rows{background:var(--sep);border-radius:16px;padding:0 14px}.hs-row{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.hs-row+.hs-row{border-top:1px solid var(--sep)}.hs-row span{gap:2px;display:grid}.hs-row span b{font:600 16px var(--font)}.hs-row small{font:400 13px var(--font);color:var(--ink-2)}.hs-row>b{font:700 16px ui-rounded, var(--font);white-space:nowrap}.quad{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.q{text-align:left;flex-direction:column;gap:1px;width:100%;height:148px;padding:13px 14px 14px;display:flex;position:relative}.ql{font:500 13px var(--font);color:var(--ink-2);align-items:center;gap:5px;display:flex}.ql svg{flex:none}.ql .flame{color:var(--fl-b)}.qv{font:700 26px/1.08 ui-rounded, var(--font);letter-spacing:-.02em;white-space:nowrap;margin-top:7px}.qv small{font:600 13px ui-rounded, var(--font);color:var(--ink-2);letter-spacing:0}.qv.fl{color:var(--fl-ink)}.qs{font:500 12px var(--font);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.qb{width:100%;margin-top:auto;display:block}.ladder{justify-content:space-between;align-items:center;height:16px;display:flex}.ladder i{background:var(--ink-3);border-radius:50%;width:7px;height:7px}.ladder i.me{background:var(--ink);width:12px;height:12px}.miniweek{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.miniweek i{aspect-ratio:1;background:var(--sep);border-radius:50%}.miniweek i.done{background:linear-gradient(var(--fl-a), var(--fl-b))}.miniweek i.frozen{background:var(--snow-t)}.miniweek i.today{box-shadow:inset 0 0 0 1.5px var(--ink-3);background:0 0}.miniweek i.today.done{background:linear-gradient(var(--fl-a), var(--fl-b));box-shadow:none}.qwrap{position:relative}.qadd{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);transition:transform .3s var(--spring);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.qadd:after{content:"";position:absolute;inset:-6px}.qadd:active{transform:scale(.86)}.qadd:disabled{opacity:.5}.cups{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;display:grid}.cups i{color:var(--ink-3);display:block}.cups svg{width:100%;height:auto;display:block}.cups path{fill:none;stroke:currentColor;stroke-width:1.3px}.cups i.on{color:var(--ink)}.cups i.on path{fill:currentColor}.spk{width:100%;height:32px;display:block}.quick{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick button{background:var(--sep);min-height:72px;font:500 13px var(--font);color:var(--ink-2);text-align:left;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:10px 12px;transition:transform .2s;display:flex}.quick button b{font:700 15px ui-rounded, var(--font);color:var(--ink)}.quick button.on{box-shadow:inset 0 0 0 2px var(--ink)}.quick button:active{transform:scale(.96)}.row-thumb{position:relative}.gen{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;border-radius:50%;place-items:center;width:16px;height:16px;display:grid;position:absolute;bottom:3px;right:3px}.gen svg{fill:currentColor}.msm{z-index:15;background:var(--surface-solid);flex-direction:column;animation:.5s cubic-bezier(.32,.72,0,1) both ms-in;display:flex;position:fixed;inset:0}@keyframes ms-in{0%{transform:translateY(100%)}}.msm.still{animation:none}.ms-scroll{scrollbar-width:none;overscroll-behavior:contain;flex:1;min-height:0;position:relative;overflow:hidden auto}.ms-scroll::-webkit-scrollbar{display:none}.ms-photo{background:#111;height:min(46vh,380px);position:sticky;top:0;overflow:hidden}.ms-photo img{object-fit:cover;width:100%;height:100%;display:block}.ms-photo:after{content:"";pointer-events:none;background:linear-gradient(#0006,#0000 32% 72%,#0000004d);position:absolute;inset:0}.ms-gen{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:600 12px var(--font);background:#00000073;border-radius:14px;align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;bottom:42px;left:16px}.ms-gen svg{fill:currentColor}.ms-card{z-index:1;background:var(--surface-solid);border-radius:30px 30px 0 0;flex-direction:column;gap:14px;min-height:calc(100% - min(46vh,380px) + 28px);margin-top:-28px;padding:16px 20px 24px;display:flex;position:relative;box-shadow:0 -12px 30px #00000040}.ms-row1{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:10px;display:grid}.ms-tgt,.ms-tgt .target{display:contents}.ms-row1 .target-cap{grid-area:1/2;place-self:center start;min-width:0;max-width:100%}.ms-row1 .target-cap>svg{flex:none}.ms-row1 .target-cap>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ms-row1 .target>:not(.target-cap){grid-column:1/-1;min-width:0}.ms-row1>.ms-more,.ms-row1>.ms-ic-gap:last-child{grid-area:1/3}.ms-ic,.ms-ic-gap{flex:none;width:40px;height:40px}.ms-ic{background:var(--solid-2);color:var(--ink);transition:transform .3s var(--spring);border:0;border-radius:50%;place-items:center;display:grid;position:relative}.ms-ic:after{content:"";position:absolute;inset:-2px}.ms-ic:active{transform:scale(.9)}.ms-ic:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.ms-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ms-head>div:first-child{min-width:0}.ms-head h1{font:700 24px/1.15 var(--font);letter-spacing:-.02em;text-wrap:balance;-webkit-hyphens:none;hyphens:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.ms-portion{font:700 20px ui-rounded, var(--font);white-space:nowrap;flex:none;padding-top:3px}.ms-portion small{font:600 14px ui-rounded, var(--font);color:var(--ink-2);margin-left:3px}.ms-brand{font:500 13px/1.35 var(--font);color:var(--ok-text);text-wrap:pretty;align-items:flex-start;gap:6px;margin:-6px 0 0;display:flex}.ms-brand svg{flex:none;margin-top:1px}.ms-note{background:var(--solid-2);font:400 13px/1.4 var(--font);color:var(--ink-2);text-wrap:pretty;border-radius:12px;margin:0;padding:10px 12px}.qcard{background:var(--solid-2);border-radius:18px;grid-template-columns:minmax(0,1fr);gap:10px;padding:14px;display:grid}.qcard b{font:600 15px var(--font)}.share{background:var(--solid-2);border-radius:20px;grid-template-columns:1fr auto;align-content:center;gap:6px 10px;min-height:83px;padding:12px 16px;display:grid}.share b{font:700 20px/1 ui-rounded, var(--font)}.share b small{font:600 13px var(--font);color:var(--ink-2)}.share .hbar,.share .muted{grid-column:1/-1}.ms-sec{justify-content:space-between;align-items:baseline;gap:10px;margin-top:4px;display:flex}.ms-sec h2{font:700 20px var(--font);letter-spacing:-.01em;margin:0}.ing-list{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.ing{background:var(--solid-2);border-radius:18px;align-items:center;gap:10px;padding:12px 12px 12px 16px;display:flex;position:relative}.ing-t{flex:1;gap:3px;min-width:0;display:grid}.ing-t>b{font:600 15px/1.25 var(--font);text-wrap:pretty}.ing-t>span{font:500 13px var(--font);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:2px 10px;display:flex}.ing-t>span b{font:700 14px ui-rounded, var(--font);color:var(--ink)}.ing .src{color:var(--ok-text);align-items:center;gap:3px;font-weight:600;display:inline-flex}.ing .stepper{background:var(--surface-solid);border:0;flex:none}.ing .stepper label{min-width:48px}.ing-x{background:var(--surface-solid);width:24px;height:24px;color:var(--ink-2);box-shadow:0 0 0 1px var(--sep);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:-6px;right:-6px}.ing-x:after{content:"";position:absolute;inset:-10px}.fb2{background:var(--solid-2);border-radius:20px;align-items:center;gap:10px;min-height:60px;padding:10px 10px 10px 16px;display:flex}.fb2 b{font:600 15px var(--font);flex:1}.fb2 .ms-ic{background:var(--surface-solid)}p.fb2{font:500 15px var(--font);justify-content:center;margin:0}.ms-bar{padding:12px 16px calc(var(--safe-bottom) + 14px);background:var(--surface-solid);box-shadow:0 -1px 0 var(--sep);flex:none;grid-template-columns:1fr 1fr;gap:10px;display:grid}.ms-bar>:not(.btn),.ms-bar>.btn:only-child{grid-column:1/-1}.ms-bar .btn{border-radius:26px}.ms-bar .btn-secondary{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink-3);background:0 0;border:0;gap:6px}.ms-bar .btn-secondary svg{fill:currentColor;stroke:none}.ms-busy{z-index:5;border-radius:inherit;background:color-mix(in srgb, var(--surface-solid) 72%, transparent);position:absolute;inset:0}.ms-busy span{font:600 15px var(--font);justify-content:center;align-items:center;gap:10px;margin-top:96px;display:flex;position:sticky;top:40%}.ms-busy .spinner{border-color:var(--ink-3);border-top-color:var(--ink)}.ms-more{position:relative}.cmenu-catch{z-index:2;position:fixed;inset:0}.cmenu{z-index:3;background:var(--tile);-webkit-backdrop-filter:blur(30px)saturate(1.6);backdrop-filter:blur(30px)saturate(1.6);width:min(270px,100vw - 28px);box-shadow:0 20px 50px #0006, inset 0 1px 1px var(--glass-line);animation:cm-in .35s var(--spring) both;border-radius:22px;padding:6px;position:fixed}@keyframes cm-in{0%{opacity:0;transform:scale(.6)}}.cmenu button,.cmenu label{width:100%;min-height:46px;font:500 16px var(--font);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:0 12px;display:flex}.cmenu button>span,.cmenu label>span{flex:1}.cmenu button:active,.cmenu label:active{background:var(--sep)}.cmenu .red{color:var(--danger)}.cmenu .cm-h>span{font-weight:600}.cmenu hr{background:var(--sep);border:0;height:1px;margin:4px 10px}.refine{background:var(--solid-2);border-radius:14px;padding:12px 14px;display:block}.refine textarea{resize:none;width:100%;font:400 16px/1.4 var(--font);color:var(--ink);background:0 0;border:0;outline:none;padding:0;display:block}.refine textarea::placeholder{color:var(--ink-3)}.chiprow{flex-wrap:wrap;gap:8px;display:flex}.chiprow button{background:var(--solid-2);height:34px;font:500 14px var(--font);color:var(--ink);border:0;border-radius:17px;padding:0 13px;transition:transform .2s}.chiprow button:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.msm,.cmenu{animation:none}}.ms-pend{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.ms-pend .analyzing{justify-content:flex-start;padding:4px 0 2px}.ms-pend-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ms-warn{background:var(--solid-2);border-radius:18px;gap:6px;padding:14px 16px;display:grid}.ms-warn b{font:600 17px var(--font)}.ms-warn p{font:400 15px/1.4 var(--font);color:var(--ink-2);text-wrap:pretty;margin:0}.sh-search{background:var(--solid-2);height:48px;color:var(--ink-3);border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.sh-search input{min-width:0;font:400 16px var(--font);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:0}.sh-search input::placeholder{color:var(--ink-3)}.sh-clear{width:28px;height:28px;color:var(--ink-3);background:0 0;border:0;flex:none;place-items:center;margin-right:-6px;padding:0;display:grid;position:relative}.sh-clear:after{content:"";position:absolute;inset:-8px}.sh-grp{background:var(--solid-2);border-radius:16px;overflow:hidden}.sh-grp .row{padding:8px 12px 8px 8px;position:relative}.sh-grp .row+.row:before{content:"";background:var(--sep);height:1px;position:absolute;top:0;left:76px;right:0}.sh-grp .row:active{background:var(--sep)}.sh-grp .row-title{-webkit-line-clamp:2;text-wrap:pretty;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.row-kcal{font:500 13px var(--font);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;display:block;overflow:hidden}.row-kcal b{font:700 15px ui-rounded, var(--font);color:var(--ink)}.row-kcal span{margin-left:8px}.sheet .group-label{margin:2px 0 -6px;padding-left:8px;font-weight:500}.num-step{justify-content:center;align-items:center;gap:min(12px,2.5vw);display:flex}.num-btn{background:var(--sep);width:clamp(48px,14vw,56px);height:clamp(48px,14vw,56px);color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .3s var(--spring);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.num-btn:active{transform:scale(.9)}.num-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.num-in{justify-content:center;align-items:baseline;gap:6px;min-width:0;padding:10px 0 4px;display:flex}.num-in input{text-align:right;min-width:2ch;max-width:6ch;font:700 min(64px, 14vw)/1 ui-rounded, var(--font);letter-spacing:-.03em;color:var(--ink);caret-color:var(--ink);background:0 0;border:0;outline:0;padding:0}.num-in span{font:600 min(22px, 5.6vw) ui-rounded, var(--font);color:var(--ink-2)}.sheet .num-hint{text-wrap:balance;font-size:13px}.num-refusal{color:#d83a2b;text-wrap:balance;font-size:14px;font-weight:500}:root[data-theme=dark] .num-refusal{color:#ff6b5e}.btn.red{color:#d83a2b}:root[data-theme=dark] .btn.red{color:#ff6b5e}.center{text-align:center}:root{--bg:#f2f2f7;--glow-1:#ffd8bf;--glow-2:#c9eedf;--glow-3:#d9e4ff;--glow-1-at:15% 0%;--surface:#ffffff9e;--surface-solid:#fff;--surface-border:#fffc;--surface-shadow:0 10px 30px #2832461a, inset 0 1px 0 #ffffffe6;--ink:#000;--ink-2:#3c3c43d9;--ink-3:#3c3c434d;--sep:#3c3c431f;--p:#1da90f;--f:#0093d3;--c:#6d33d7;--k-a:#e31029;--k-b:#e90b83;--k-t:#e3102924;--k-ink:#c7054a;--p-a:#1da90f;--p-b:#8bbb04;--p-t:#1da90f26;--p-ink:#227702;--f-a:#0093d3;--f-b:#15b6a9;--f-t:#0093d324;--f-ink:#0a6e88;--c-a:#5e3cf0;--c-b:#c13de4;--c-t:#5e3cf024;--c-ink:#6d33d7;--ring-shadow:#0000004d;--ring-gloss:0;--on:#1da37a;--ok-bg:#bfe6d0;--ok-ink:#0e6b47;--under-bg:#f8e3a6;--under-ink:#7a5200;--over-bg:#f6c9c2;--over-ink:#a8281c;--fl-a:#ffb020;--fl-b:#ff6a1a;--fl-t:#ff8c0026;--fl-ink:#a13f00;--fl-glow:#ff962857;--snow:#3d8fd1;--snow-t:#5aa9e629;--plate:#ffffff8c;--plate-line:#ffffffe6;--glass:#fff9;--glass-line:#fffffff2;--lens:#00000012;--tile:#ffffffdb;--pm-tile:#fffffff0;--dim:#1e1e2861;--brand-dot:#ff4a2e;--sel:#ffffffbf;--n-a:#3c3c438c;--n-b:#000;--n-t:#00000012;--n-ink:#000;--solid-2:#f2f2f7;--ok-text:#17865f;--soso-text:#b97300;--danger:#d83a2b;--accent:#000;--accent-ink:#fff;--r-card:20px;--r-ctl:12px;--blur:24px;--ease:cubic-bezier(.22, 1, .36, 1);--spring:linear(0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1);--spring-soft:linear(0, .075 5%, .244 9%, .44 14%, .626 18%, .78 23%, .895 27%, .973 32%, 1.02 36%, 1.043 41%, 1.05 45%, 1.047 50%, 1.039 55%, 1.029 59%, 1.02 64%, 1.012 68%, 1.006 73%, 1.002 77%, .999 82%, .998 86%, 1);--font:-apple-system, "SF Pro Text", "SF Pro Display", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;--safe-top:var(--tg-viewport-safe-area-inset-top,env(safe-area-inset-top,0px));--content-top:var(--tg-viewport-content-safe-area-inset-top,0px);--safe-bottom:var(--tg-viewport-safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--tabbar:min(64px, 16.4vw)}:root[data-theme=dark]{--bg:#000;--glow-1:#3a2a22;--glow-2:#1e3a30;--glow-3:#1f2a44;--surface:#1c1c1ea8;--surface-solid:#1c1c1e;--surface-border:#ffffff1f;--surface-shadow:0 10px 30px #0006, inset 0 1px 0 #ffffff14;--ink:#fff;--ink-2:#ebebf599;--ink-3:#ebebf54d;--sep:#ffffff1a;--p:#a6ff00;--f:#00fff6;--c:#b98cff;--k-a:#fa2519;--k-b:#ff2990;--k-t:#fa114f3d;--k-ink:#fa114f;--p-a:#98ff00;--p-b:#d8ff00;--p-t:#a6ff0033;--p-ink:#a6ff00;--f-a:#00d0fa;--f-b:#00ffa8;--f-t:#00fff633;--f-ink:#00fff6;--c-a:#7558ff;--c-b:#c86aff;--c-t:#a06eff42;--c-ink:#b98cff;--ring-shadow:#0009;--ok-bg:#22473a;--ok-ink:#86d9b4;--under-bg:#46391c;--under-ink:#f0c66b;--over-bg:#4a2523;--over-ink:#f09389;--fl-a:#ffb340;--fl-b:#ff7a33;--fl-t:#ff96282e;--fl-ink:#ffb25c;--fl-glow:#ff8c2842;--snow:#7cc0f2;--snow-t:#7cc0f22e;--plate:#ffffff0f;--plate-line:#ffffff1a;--glass:#22222699;--glass-line:#ffffff24;--lens:#ffffff24;--tile:#28282ccc;--pm-tile:#2c2c30f2;--dim:#0000008f;--sel:#ffffff14;--n-a:#ebebf59e;--n-b:#fff;--n-t:#ffffff1a;--n-ink:#fff;--solid-2:#2c2c2e;--ok-text:#5bd6a2;--soso-text:#f0c66b;--danger:#ff6b5e;--accent:#fff;--accent-ink:#000}:root[data-scheme=mono]{--glow-1:#e4e4e9;--glow-2:#ececf0;--glow-3:#e0e0e6;--p:#3a3a3c;--f:#6e6e73;--c:#8e8e93;--k-a:#3a3a3c;--k-b:#000;--k-t:#00000014;--k-ink:#000;--p-a:#636366;--p-b:#3a3a3c;--p-t:#00000012;--p-ink:#3a3a3c;--f-a:#8e8e93;--f-b:#636366;--f-t:#00000012;--f-ink:#545458;--c-a:#aeaeb2;--c-b:#8e8e93;--c-t:#00000012;--c-ink:#6c6c70;--ring-shadow:#00000059;--on:#1c1c1e}:root[data-scheme=glass]{--glow-1:#ffc2a0;--glow-2:#a4ebd1;--glow-3:#bfd0ff;--surface:#fff6;--surface-border:#fffffff2;--surface-shadow:0 12px 32px #28325a24, inset 0 1px 1px #fffffff2, inset 0 -1px 1px #fff6;--p:#097552;--f:#0a6fb5;--c:#6a45e0;--k-a:#ff4f86;--k-b:#ff7fb4;--k-t:#fff9;--k-ink:#cc1659;--p-a:#1fbf86;--p-b:#5fe0b1;--p-t:#fff9;--p-ink:#097552;--f-a:#2a9df0;--f-b:#6cc6ff;--f-t:#fff9;--f-ink:#0a6fb5;--c-a:#8a66ff;--c-b:#b79bff;--c-t:#fff9;--c-ink:#6a45e0;--ring-shadow:#28285a40;--ring-gloss:.65}:root[data-theme=dark][data-scheme=mono]{--glow-1:#1f1f22;--glow-2:#242427;--glow-3:#1c1c20;--p:#e5e5ea;--f:#c7c7cc;--c:#aeaeb2;--k-a:#e5e5ea;--k-b:#fff;--k-t:#ffffff1f;--k-ink:#fff;--p-a:#c7c7cc;--p-b:#e5e5ea;--p-t:#ffffff1a;--p-ink:#e5e5ea;--f-a:#9c9ca1;--f-b:#c7c7cc;--f-t:#ffffff1a;--f-ink:#c7c7cc;--c-a:#7c7c80;--c-b:#9c9ca1;--c-t:#ffffff1a;--c-ink:#aeaeb2;--ring-shadow:#000000b3;--on:#8e8e93}:root[data-theme=dark][data-scheme=glass]{--glow-1:#4a2a3a;--glow-2:#1e4a3c;--glow-3:#26346a;--surface:#2c2c346b;--surface-border:#ffffff38;--surface-shadow:0 12px 32px #00000073, inset 0 1px 1px #ffffff38, inset 0 -1px 1px #ffffff0f;--p:#7febc3;--f:#8fd3ff;--c:#c3adff;--k-a:#ff4d85;--k-b:#ff8dc0;--k-t:#ffffff1a;--k-ink:#ff8fc0;--p-a:#1fc98c;--p-b:#7eefc4;--p-t:#ffffff1a;--p-ink:#7febc3;--f-a:#2e9bff;--f-b:#8dd2ff;--f-t:#ffffff1a;--f-ink:#8fd3ff;--c-a:#8562ff;--c-b:#c7aeff;--c-t:#ffffff1a;--c-ink:#c3adff;--ring-shadow:#0009;--ring-gloss:.35}:root[data-scheme=glass] .macro-bar>i:first-child{box-shadow:inset 0 1px #fff9,inset 0 -1px #00000014}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2,p{margin:0}.app{min-height:100%}.screen{padding:calc(var(--safe-top) + var(--content-top) + 4px) 20px calc(var(--tabbar) + var(--safe-bottom) + 40px);flex-direction:column;gap:12px;display:flex}.title{margin-bottom:8px}.title h1{letter-spacing:-.02em;font-size:34px;font-weight:700;line-height:1.05}.title p{text-wrap:balance;margin-top:4px;font-size:15px}.muted{color:var(--ink-2)}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(70% 50% at var(--glow-1-at), var(--glow-1) 0%, transparent 70%), radial-gradient(60% 45% at 95% 55%, var(--glow-2) 0%, transparent 70%), radial-gradient(50% 40% at 50% 100%, var(--glow-3) 0%, transparent 70%);position:fixed;inset:0}.glass{background:var(--surface);border:1px solid var(--surface-border);box-shadow:var(--surface-shadow)}.sheet.glass{background:var(--surface-solid);overscroll-behavior:contain}.sheet-backdrop{touch-action:none}:root[data-glass=off] .glass{background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.card{border-radius:var(--r-card);padding:18px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.celebrate-num>span{transform:translateY(-104px)}}.reveal{animation:reveal .55s var(--ease) both}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}}.macro-bar>i{animation:bar-in .8s var(--ease) .15s both;transition:transform .8s var(--ease)}@keyframes bar-in{0%{transform:translate(-100%)}}.macro-bar>.macro-bar-lap{animation:.3s ease-out .95s both fade-in}.line-ink{stroke-dasharray:1;animation:line-in 1.1s var(--ease) .15s both}@keyframes line-in{0%{stroke-dashoffset:1px}}.chart-area,.chart-dots{animation:fade-in .6s var(--ease) .5s both}.sheet{will-change:transform;animation:.42s cubic-bezier(.32,.72,0,1) both sheet-in}.sheet.closing{animation:.28s cubic-bezier(.32,.72,0,1) forwards sheet-out}.sheet-backdrop{animation:.25s ease-out both fade-in}.sheet-backdrop.closing{animation:.25s ease-out forwards fade-out}.sheet-handle{touch-action:none;cursor:grab;margin:-8px -20px 0;padding:12px 20px}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-out{to{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.between{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.avatar{background:var(--surface-solid);border:1px solid var(--surface-border);width:36px;height:36px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.h2{letter-spacing:-.01em;margin:12px 0 8px;font-size:20px;font-weight:700}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.rings{flex:none;width:min(140px,36vw);height:min(140px,36vw);display:block}.hero{align-items:center;gap:16px;padding:16px 16px 16px 14px;display:flex}.hero-nums{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.hero-nums b{font-family:ui-rounded, var(--font);white-space:nowrap;font-size:16px;font-weight:700;line-height:1.1;display:block}.hero-nums div>span{color:var(--ink-2);margin-top:1px;font-size:11px;display:block}.hero-kcal b{letter-spacing:-.03em;font-size:min(28px,7.4vw);font-weight:700;line-height:1}.hero-kcal small{letter-spacing:-.01em;font-size:min(15px,4vw);font-weight:600}.hero-kcal>span{margin-top:3px;font-size:12px}.hero-tablo{flex-direction:column;gap:12px;display:flex}.tablo-kcal b{font-family:ui-rounded, var(--font);letter-spacing:-.035em;white-space:nowrap;font-size:min(48px,12vw);font-weight:700;line-height:.95}.tablo-kcal b small{letter-spacing:-.01em;font-size:min(20px,5.4vw);font-weight:700}.tablo-kcal>span{color:var(--ink-2);margin-top:4px;font-size:13px;display:block}.hero-tablo>.macro-bar{border-radius:5px;height:10px}.tablo-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.tablo-cols span{color:var(--ink-2);font-size:12px;display:block}.tablo-cols b{font-family:ui-rounded, var(--font);white-space:nowrap;margin:2px 0 7px;font-size:18px;font-weight:700;display:block}.tablo-cols b small{color:var(--ink-2);font-size:12px;font-weight:600}.tablo-cols .macro-bar{border-radius:2px;height:4px}.macro-bar{border-radius:3px;height:6px;position:relative;overflow:hidden}.macro-bar>i{border-radius:inherit;position:absolute;inset:0}.macro-bar>.macro-bar-lap{width:calc(var(--lap) * 100%);box-shadow:2px 0 4px var(--ring-shadow);right:auto}.cta{justify-content:space-between;align-items:center;gap:12px;display:flex}.cta b{font-size:17px;font-weight:600;display:block}.cta .muted{margin-top:3px;font-size:13px;display:block}.group{padding:0;overflow:hidden}.group>:not(:first-child){border-top:1px solid var(--sep)}.row{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;display:flex}.row-thumb{background:var(--sep);width:56px;height:56px;color:var(--ink-2);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.row-thumb img{object-fit:cover;width:100%;height:100%}.row-body{flex:1;min-width:0}.row-title{font-size:16px;font-weight:600;line-height:1.2;display:block}.row-sub{color:var(--ink-2);text-wrap:balance;margin-top:3px;font-size:13px;display:block}.row-value{white-space:nowrap;font-size:15px;font-weight:600}.row-value small{color:var(--ink-2);font-size:12px;font-weight:400}.row-chevron{color:var(--ink-3);flex:none;display:flex}.btn{cursor:pointer;height:52px;transition:transform .3s var(--ease), opacity .3s var(--ease);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:17px;font-weight:600;display:inline-flex;position:relative}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--surface-border)}.btn-sm{border-radius:10px;height:36px;padding:0 14px;font-size:15px}.btn-block{width:100%}.seg{background:var(--sep);border-radius:12px;gap:2px;padding:2px;display:flex}.seg-opt{white-space:nowrap;height:32px;color:var(--ink);background:0 0;border:0;border-radius:10px;flex:1;padding:0 4px;font-size:13px;font-weight:500;position:relative}.seg-opt.on{color:var(--accent-ink);font-weight:600}.seg-pill{background:var(--accent);border-radius:10px;position:absolute;inset:0;box-shadow:0 2px 6px #0000002e}.seg-label{position:relative}.stepper{background:var(--surface-solid);border:1px solid var(--surface-border);border-radius:10px;align-items:center;display:inline-flex;overflow:hidden}.stepper button{background:0 0;border:0;justify-content:center;align-items:center;width:40px;height:36px;display:flex}.stepper label{justify-content:center;align-items:center;gap:.25em;min-width:56px;height:36px;font-size:15px;font-weight:600;display:flex}.stepper input{text-align:right;caret-color:var(--ink);background:0 0;border:0;outline:none;padding:0}.stepper input::placeholder{color:var(--ink-3)}.sheet-backdrop{z-index:20;background:#0000004d;position:fixed;inset:0}.sheet{left:0;right:0;bottom:var(--kb,0px);z-index:21;max-height:calc(min(92dvh, 100dvh - var(--safe-top) - var(--content-top) - 8px) - var(--kb,0px));padding:8px 20px calc(var(--safe-bottom) + 20px);touch-action:pan-y;border-radius:24px 24px 0 0;position:fixed;overflow-y:auto}.sheet-grabber{background:var(--ink-3);border-radius:3px;width:36px;height:5px;margin:0 auto}.skeleton{background:var(--sep);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--surface), transparent);animation:1.4s linear infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.repeat-head{align-items:center;gap:12px;display:flex}.repeat-head .row-thumb{border-radius:14px;width:64px;height:64px}.repeat-head p{margin-top:4px}.repeat-head>div{flex:1;min-width:0}.take{background:var(--sep);height:36px;color:var(--ink);transition:transform .3s var(--ease);border:0;border-radius:18px;flex:none;align-self:flex-start;align-items:center;gap:3px;padding:0 14px 0 9px;font-size:15px;font-weight:600;display:inline-flex}.take:active{transform:scale(.94)}.take:disabled{opacity:.5}.take:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.take.done{background:var(--accent);color:var(--accent-ink)}.together{flex-direction:column;gap:8px;display:flex}.together-label{color:var(--ink-2);font-size:13px}.people{flex-wrap:wrap;gap:8px;display:flex}.pchip{background:var(--sep);border-radius:20px;align-items:center;gap:8px;height:40px;padding:0 14px 0 6px;font-size:15px;font-weight:600;display:inline-flex}.together-mark{color:var(--ink-2);align-items:center;gap:6px;margin-top:5px;font-size:12px;display:flex}.duo{display:inline-flex}.duo .avatar{box-shadow:0 0 0 1.5px var(--bg)}.duo .avatar+.avatar{margin-left:-6px}.grams-big{padding-bottom:4px;font-size:22px;font-weight:600;line-height:1}.stack{flex-direction:column;gap:12px;display:flex}.small{text-wrap:pretty;font-size:13px}.nowrap{white-space:nowrap}.actions{gap:10px;margin-top:8px;display:flex}.actions .btn-secondary{flex:none;padding:0 18px}.field{align-items:center;gap:12px;padding:12px 16px;display:flex}.field>span:first-child{flex:1;font-size:16px}.field input{text-align:right;background:0 0;border:0;outline:none;width:110px;padding:0;font-size:17px;font-weight:600}.field input::placeholder{color:var(--ink-3);font-weight:400}.field .unit{color:var(--ink-2);width:24px;font-size:15px}.wheels-card{padding:12px 8px 4px}.wheel-caps,.wheels{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.wheel-caps span{color:var(--ink-2);text-align:center;font-size:12px}.wheels{--wheel-row:36px;isolation:isolate;position:relative}.wheels:before{content:"";height:var(--wheel-row);background:var(--sep);z-index:-1;border-radius:10px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.wheel{height:calc(var(--wheel-row) * 5);padding-block:calc(var(--wheel-row) * 2);overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 35% 65%,#0000);mask-image:linear-gradient(#0000,#000 35% 65%,#0000)}.wheel::-webkit-scrollbar{display:none}.wheel-item{height:var(--wheel-row);scroll-snap-align:center;justify-content:center;align-items:center;font-size:21px;font-weight:500;display:flex}.dot{border-radius:4px;width:8px;height:8px}.analyzing{font:600 16px var(--font);color:var(--ink);align-items:center;gap:12px;display:flex}.an-ring{flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.an-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.an-ring circle{fill:none;stroke:var(--sep);stroke-width:4px}.an-ring circle+circle{stroke:var(--ink);stroke-linecap:round;transition:stroke-dashoffset .1s linear}.an-ring b{font:700 11px ui-rounded, var(--font)}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.group-label{color:var(--ink-2);margin-bottom:-4px;padding-left:12px;font-size:13px}.card.solid{background:var(--surface-solid);border-radius:14px;padding:12px 14px}.card.solid.group{padding:0}.top{align-items:flex-start}.sheet-title{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:24px;font-weight:700;line-height:1.1}.badge{white-space:nowrap;align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;width:7px;height:7px}.badge.ok{color:var(--ok-text)}.badge.so-so{color:var(--soso-text)}.kcal-big{letter-spacing:-.03em;font-size:40px;font-weight:700;line-height:1}.kcal-big .muted{letter-spacing:0;font-size:17px;font-weight:500}.macros{justify-content:space-between;display:flex}.macros>span{align-items:center;gap:8px;display:flex}.macros b{font-size:15px;line-height:1;display:block}.macros small{color:var(--ink-2);margin-top:3px;font-size:11px;display:block}@media (width<=374px){.macros>span{grid-template-columns:auto auto;gap:0 7px;display:grid}.macros small{grid-column:2}}.item-row{align-items:center;gap:14px;padding:10px 14px;font-size:15px;display:flex}.item-row+.item-row{border-top:1px solid var(--sep)}.item-name{flex:1;min-width:0}.item-row b{text-align:right;min-width:36px}.news-capsule{border:1px solid var(--surface-border);background:var(--surface-solid);width:100%;height:44px;color:var(--ink);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;transition:transform .3s var(--ease);border-radius:22px;align-items:center;gap:8px;padding:0 12px 0 14px;font-size:15px;display:flex}.news-capsule:active{transform:scale(.98)}.news-capsule:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.news-capsule b{font-weight:600}.news-capsule svg{color:var(--ink-3);flex:none}.news-capsule-title{text-overflow:ellipsis;min-width:0;color:var(--ink-2);flex:1;overflow:hidden}.news-dot{background:var(--ink);border-radius:50%;flex:none;width:8px;height:8px}.news-entry{flex-direction:column;gap:4px;display:flex}.news-entry+.news-entry{border-top:1px solid var(--sep);padding-top:12px}.news-entry b{font-size:17px;font-weight:600}.news-entry p{font-size:15px;line-height:1.4}.tight{gap:8px}.btn.danger{color:#fff;background:#d83a2b}.salty{color:var(--ink-2);text-wrap:pretty;margin:0;padding:0 4px;font-size:13px;line-height:1.4}.salty b{color:var(--ink);font-weight:600}.care{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.care p{text-wrap:balance;margin:0}.care button{font:inherit;color:var(--ink);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.care .care-hide{color:var(--ink-2);flex:none;text-decoration:none}.help-row{align-items:center;display:flex}.help-row .row{flex:1;min-width:0}.help-row .iconbtn{background:var(--sep);border:0;margin-right:12px}.person{align-items:center;gap:14px;display:flex}.person-text{flex:1;min-width:0}.preview{pointer-events:none;background:#3c3c430f;border-radius:14px;padding:12px 14px}:root[data-theme=dark] .preview{background:#ffffff0f}.sheet p{text-wrap:pretty}.sheet .balance{text-wrap:balance}.daynav{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.daynav-date{white-space:nowrap;background:var(--surface-solid);border:1px solid var(--surface-border);border-radius:18px;align-items:center;height:36px;padding:0 min(14px,3vw);font-size:min(15px,4vw);font-weight:600;display:inline-flex;position:relative}.daynav-date input{opacity:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.daynav-date:focus-within{outline:2px solid var(--ink);outline-offset:2px}}.daynav-btn{border:1px solid var(--surface-border);background:var(--surface-solid);width:36px;height:36px;color:var(--ink);border-radius:18px;justify-content:center;align-items:center;display:flex}.daynav-btn:disabled{opacity:.35}.switch{cursor:pointer;flex:none;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--ink-3);width:50px;height:30px;transition:background .3s var(--ease);border-radius:15px;position:relative}.switch-knob{width:26px;height:26px;transition:transform .3s var(--ease);background:#fff;border-radius:13px;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #00000040}.switch input:checked+.switch-track{background:var(--on)}.switch input:checked+.switch-track .switch-knob{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--ink);outline-offset:2px}.avatar{flex:none;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-link{display:inline-flex}.tabbar{transition:transform .3s var(--ease)}body:has(input:focus:not([type=date])) :is(.tabbar,.plus){transform:translateY(140%)}.link{color:var(--ink-2);text-underline-offset:3px;background:0 0;border:0;align-self:center;padding:6px 0;font-size:13px;text-decoration:underline}.rules{text-wrap:pretty;flex-direction:column;gap:8px;margin:0;padding-left:18px;font-size:15px;line-height:1.4;display:flex}.score-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.score-total{letter-spacing:-.03em;margin:0;font-size:40px;font-weight:700;line-height:1}.score-total span{letter-spacing:0;color:var(--ink-2);font-size:17px;font-weight:600}.score-head .muted{margin:6px 0 0}.parts-ring{flex:none;width:96px;height:96px}.parts-ring-num{letter-spacing:-.02em;fill:var(--ink);font-size:26px;font-weight:700}.score-parts{margin:0;padding:0;list-style:none}.score-parts li{grid-template-columns:8px minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:9px 0;display:grid}.score-parts li+li{border-top:1px solid var(--sep)}.score-parts i{border-radius:50%;width:8px;height:8px}.score-part-name{font-size:16px;font-weight:600;line-height:1.2}.score-part-name small{color:var(--ink-2);margin-top:2px;font-size:13px;font-weight:400;display:block}.score-parts b{white-space:nowrap;font-size:15px;font-weight:600}.score-rank{border:0;border-top:1px solid var(--sep);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 0 2px;font-size:16px;font-weight:600;display:flex}.score-rank svg{color:var(--ink-3);flex:none}.iconbtn{background:var(--surface-solid);border:1px solid var(--surface-border);width:36px;height:36px;color:var(--ink);border-radius:18px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.iconbtn:disabled{opacity:.35}.month-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.month-nav{gap:8px;display:flex}.month{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 4px;display:grid}.wd{color:var(--ink-2);text-align:center;font-size:11px}.day{aspect-ratio:1;font:inherit;color:var(--ink-3);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;font-weight:600;display:flex}.day.none{background:var(--sep);color:var(--ink-2)}.day.ok{background:var(--ok-bg);color:var(--ok-ink)}.day.under{background:var(--under-bg);color:var(--under-ink)}.day.over{background:var(--over-bg);color:var(--over-ink)}.day.sel,.day:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.day.out{visibility:hidden}.day.off{opacity:.5}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{width:11px;height:11px;box-shadow:inset 0 0 0 1px var(--sep);border-radius:50%}.legend .l-ok{background:var(--ok-bg)}.legend .l-under{background:var(--under-bg)}.legend .l-over{background:var(--over-bg)}.legend .l-none{background:var(--sep)}.day-head{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.day-head .h2{margin:0}.day-head .muted{margin-top:2px;display:block}.day-title{letter-spacing:inherit;text-align:left;text-wrap:balance;transition:opacity .2s var(--ease);background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.day-title:active{opacity:.55}.day-title:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:6px}.day-title svg{color:var(--ink-2)}.row-ico{background:var(--sep);width:32px;height:32px;color:var(--ink);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.kus{object-fit:contain;filter:drop-shadow(0 10px 22px #0003);-webkit-user-select:none;user-select:none;pointer-events:none;flex:none;display:block}:root[data-theme=dark] .kus{filter:drop-shadow(0 10px 22px #0000008c)}:root[data-glass=off] .kus{filter:none}.error-state .kus,.error-row .kus{animation:kus-in .6s var(--ease) both}.error-state .kus-server{animation:kus-in .6s var(--ease) both, kus-shake .7s ease .6s both}@keyframes kus-in{0%{opacity:0;transform:scale(.6)translateY(14px)}}@keyframes kus-shake{20%{transform:rotate(-7deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(2deg)}}.screen:has(>.error-state){min-height:100dvh}.error-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:50vh;padding:12px 0 24px;display:flex}.error-state h2{letter-spacing:-.02em;margin:16px 0 0;font-size:24px;font-weight:700;line-height:1.1}.error-state p{max-width:290px}.error-state .btn{width:100%;max-width:320px;margin-top:20px}.error-dev{min-height:44px;color:var(--ink);background:0 0;border:0;padding:0 12px;font-size:15px;font-weight:600}.error-row{align-items:center;gap:14px;padding:4px 2px;display:flex}.error-row>div{flex-direction:column;gap:3px;display:flex}.error-row b{font-size:16px;font-weight:600;line-height:1.2}.error-row span{line-height:1.35}.sheet .error-state{min-height:0;padding-bottom:0}.flame{fill:currentColor;flex:none;display:block}.fchip{background:var(--fl-t);height:30px;color:var(--fl-ink);font:700 15px/1 ui-rounded, var(--font);letter-spacing:0;vertical-align:middle;border:0;border-radius:15px;flex:none;align-items:center;gap:3px;padding:0 10px 0 8px;display:inline-flex}.fchip .flame{color:var(--fl-b)}.fchip.off{background:var(--sep);color:var(--ink-2)}.fchip.off .flame{color:var(--ink-3)}button.fchip{transition:transform .3s var(--ease)}button.fchip:active{transform:scale(.94)}button.fchip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.fchip.sm{border-radius:11px;gap:2px;height:22px;padding:0 7px 0 5px;font-size:12px}.folders{flex-direction:column;gap:10px;display:flex}.folder{background:var(--plate);border:1px solid var(--plate-line);border-radius:18px;padding:4px 12px}.folder-head{align-items:center;gap:12px;display:flex}.folder-toggle{min-width:0;min-height:52px;color:inherit;font:inherit;text-align:left;transition:opacity .2s var(--ease);background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:12px;padding:0;display:flex}button.folder-toggle:active{opacity:.55}button.folder-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.folder-toggle>svg:first-child{color:var(--ink-2);flex:none;margin:0 12px}.folder-name{flex:1;min-width:0;font-size:17px;font-weight:600;line-height:1.2}.folder-name>svg{vertical-align:-2px;color:var(--ink-3);transition:transform .3s var(--ease);margin-left:3px;display:inline-block}.folder.open .folder-name>svg{transform:rotate(180deg)}.folder-name small{color:var(--ink-2);margin-top:2px;font-size:13px;font-weight:400;display:block}.folder-add{background:var(--surface-solid);border:1px solid var(--surface-border);width:32px;height:32px;color:var(--ink);transition:transform .3s var(--ease);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.folder-add:after{content:"";position:absolute;inset:-6px}.folder-add:active{transform:scale(.92)}.folder-add:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.folder .row{padding:6px 0;position:relative}.folder.open .folder-head{padding-bottom:2px}.folder .row-thumb{width:48px;height:48px}.folder .row+.row:before{content:"";background:var(--sep);height:1px;position:absolute;top:0;left:60px;right:0}@media (width<=360px){.folder .row-chevron{display:none}}.target{flex-direction:column;gap:10px;display:flex}.target-cap{background:var(--sep);height:34px;color:var(--ink);transition:transform .3s var(--ease);border:0;border-radius:17px;align-self:flex-start;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:15px;font-weight:600;display:inline-flex}.target-cap:active{transform:scale(.96)}.target-cap:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.target-cap>svg:last-child{color:var(--ink-2);transition:transform .3s var(--ease)}.target-cap[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.target .daynav-btn,.target .daynav-date{background:var(--sep);border-color:#0000}.streak-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.streak-week>span{color:var(--ink-2);flex-direction:column;align-items:center;gap:5px;font-size:11px;display:flex}.streak-week>span.is-today{color:var(--ink);font-weight:600}.streak-week i{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.sd-done{background:linear-gradient(160deg, var(--fl-a), var(--fl-b));color:#fff}.sd-frozen{background:var(--snow-t);color:var(--snow)}.sd-miss{background:var(--sep)}.sd-today{box-shadow:inset 0 0 0 1.5px var(--ink-3)}.streak-week i.sd-off:before{content:"";background:var(--ink-3);border-radius:50%;width:6px;height:6px}.streak-sheet-top{align-items:center;gap:12px;display:flex}.streak-sheet-top .kus{margin:-8px -4px -8px -6px}.streak-sheet-top p{text-wrap:pretty;margin-top:4px;font-size:15px}.streak-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 4px;display:grid}.streak-month>span{color:var(--ink-2);text-align:center;font-size:11px}.streak-month i{aspect-ratio:1;width:100%;max-width:36px;color:var(--ink-2);border-radius:50%;justify-content:center;justify-self:center;align-items:center;font-size:12px;font-style:normal;font-weight:600;display:flex}.streak-month i.sd-done{color:#fff}.streak-month i.sd-frozen{color:var(--snow)}.streak-month i.sd-today{box-shadow:none;color:var(--ink)}.streak-month i.sd-next,.streak-month i.sd-off{box-shadow:none;opacity:.5}.streak-month i.out{visibility:hidden}.streak-month i.is-today{outline:2px solid var(--ink);outline-offset:2px}.freeze{background:var(--snow-t);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.freeze svg{color:var(--snow);flex:none}.freeze b{font-size:15px;font-weight:600;display:block}.freeze span{margin-top:1px;display:block}.celebrate{z-index:30;isolation:isolate;touch-action:none;text-align:center;padding:calc(var(--safe-top) + var(--content-top) + 12px) 28px calc(var(--safe-bottom) + 96px);background:var(--bg);animation:fade-in .3s var(--ease) both;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.celebrate:before{content:"";z-index:-1;background:radial-gradient(70% 42% at 50% 34%, var(--fl-glow) 0%, transparent 72%), radial-gradient(70% 50% at var(--glow-1-at), var(--glow-1) 0%, transparent 70%), radial-gradient(50% 40% at 50% 100%, var(--glow-3) 0%, transparent 70%);position:absolute;inset:0}.celebrate-kus{transform-origin:50% 90%;width:180px;height:180px;animation:.9s cubic-bezier(.34,1.56,.64,1) .1s both cel-pop,2.6s ease-in-out 1.2s infinite cel-sway}.celebrate-num{height:104px;font:700 104px/104px ui-rounded, var(--font);letter-spacing:-.05em;margin-top:4px;overflow:hidden}.celebrate-num>span{animation:cel-roll .55s var(--ease) .85s both;flex-direction:column;display:flex}.celebrate-num>span>span{height:104px}.celebrate h2{letter-spacing:-.01em;animation:cel-up .5s var(--ease) 1.1s both;margin:2px 0 0;font-size:22px;font-weight:700}.celebrate p{text-wrap:balance;max-width:280px;animation:cel-up .5s var(--ease) 1.15s both;margin:6px 0 0;font-size:15px;line-height:1.4}.celebrate .streak-week{width:100%;max-width:300px;margin-top:22px}.celebrate .streak-week i{width:34px;height:34px}.celebrate .streak-week .is-today i{animation:.55s cubic-bezier(.34,1.56,.64,1) 1.25s both cel-dot}.celebrate-dock{left:20px;right:20px;bottom:calc(var(--safe-bottom) + 20px);animation:cel-up .5s var(--ease) 1.45s both;position:absolute}.confetti{z-index:1;pointer-events:none;position:absolute;inset:0}.confetti i{opacity:0;border-radius:2px;width:8px;height:13px;animation:2.2s cubic-bezier(.3,.6,.5,1) 1s both cel-fall;position:absolute}@keyframes cel-pop{0%{opacity:0;transform:translateY(60px)scale(.35)rotate(-14deg)}55%{opacity:1}}@keyframes cel-sway{50%{transform:rotate(4deg)translateY(-3px)}}@keyframes cel-roll{to{transform:translateY(-104px)}}@keyframes cel-up{0%{opacity:0;transform:translateY(10px)}}@keyframes cel-dot{0%{opacity:.3;transform:scale(.3)}}@keyframes cel-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(540deg)}}.kc2{background:var(--solid-2);border-radius:20px;align-items:center;gap:14px;min-height:83px;padding:16px 18px;display:flex}.kc2-i{background:var(--k-t);width:46px;height:46px;color:var(--k-ink);border-radius:50%;flex:none;place-items:center;display:grid}.kc2 b{font:700 34px/1 ui-rounded, var(--font);letter-spacing:-.03em;margin-top:2px;display:block}.l2{font:500 13px var(--font);color:var(--ink-2)}.mt3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mt3>div{background:var(--solid-2);border-radius:14px;gap:3px;min-width:0;padding:12px min(12px,2.6vw) 13px;display:grid}.mt3 span{font:500 min(12px, 3.3vw) var(--font);color:var(--ink-2);white-space:nowrap;align-items:center;gap:min(5px,1.2vw);display:flex}.mt3 span svg{flex:none}.mt3 em{color:var(--ink-2);font-style:normal}.mt3 b{font:700 20px/1.1 ui-rounded, var(--font);white-space:nowrap}.mt3 b small{font:600 13px ui-rounded, var(--font);color:var(--ink-2)}.hd{justify-content:space-between;align-items:center;gap:10px;height:50px;display:flex;container-type:inline-size}.wordmark{aspect-ratio:630/100;height:min(32px,15.873cqw - 20.9524px);fill:var(--ink);flex:none;display:block;overflow:visible}.wordmark .ink{fill-opacity:.88}.wordmark .pt{fill:var(--brand-dot)}.hcap{background:var(--plate);height:36px;box-shadow:inset 0 0 0 1px var(--plate-line);border-radius:18px;flex:none;display:flex;overflow:hidden}.hcap>*{font:700 16px/1 ui-rounded, var(--font);color:var(--ink);background:0 0;border:0;align-items:center;gap:4px;padding:0 11px 0 9px;transition:background .2s;display:flex}.hcap>:active{background:var(--sep)}.hcap>*+*{box-shadow:inset 1px 0 0 var(--sep)}.hcap>:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:18px}.hcap .fire{color:var(--fl-ink)}.hcap .fire .flame{color:var(--fl-b)}.hcap .fire.off{color:var(--ink-2)}.hcap .fire.off .flame{color:var(--ink-3)}.tabbar{z-index:10;left:calc(16px + env(safe-area-inset-left,0px));right:calc(26px + var(--tabbar) + env(safe-area-inset-right,0px));bottom:calc(var(--safe-bottom) + 10px);height:var(--tabbar);border-radius:calc(var(--tabbar) / 2);background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(1.8);backdrop-filter:blur(22px)saturate(1.8);box-shadow:0 12px 34px #0000004d, inset 0 1px 1px var(--glass-line), inset 0 -1px 1px #ffffff0d, inset 0 0 0 1px #ffffff0f;touch-action:none;grid-template-columns:repeat(4,1fr);padding:4px;display:grid;position:fixed}.lens{border-radius:calc(var(--tabbar) / 2 - 4px);background:var(--lens);width:calc(25% - 2px);box-shadow:inset 0 1px 1px var(--glass-line);transform:translateX(calc(var(--i,0) * 100%));transition:transform .6s var(--spring), scale .35s var(--spring), opacity .3s;pointer-events:none;position:absolute;top:4px;bottom:4px;left:4px}.lens.off{opacity:0}.lens.stretch{scale:1.1 .94}.lens.lift{transition:scale .3s var(--spring);scale:1.14 1.1}.tab{z-index:1;min-width:0;font:600 min(11px, 2.95vw) var(--font);letter-spacing:-.01em;color:var(--ink-2);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;transition:color .3s;display:flex;position:relative}.tab span{white-space:nowrap}.tab.active{color:var(--ink)}.tab .avatar{opacity:.7;transition:opacity .3s}.tab.active .avatar{opacity:1}.tab:focus-visible{outline:2px solid var(--ink);outline-offset:-4px;border-radius:calc(var(--tabbar) / 2 - 4px)}.plus{z-index:12;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(var(--safe-bottom) + 10px);width:var(--tabbar);height:var(--tabbar);color:var(--accent-ink);transition:transform .5s var(--spring);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.plus:before{content:"";background:var(--accent);border-radius:50%;transition:background .35s,box-shadow .35s;position:absolute;inset:0;box-shadow:0 10px 22px #00000052}.plus svg{transition:transform .55s var(--spring-soft), color .3s;position:relative}.plus:active{transform:scale(.86)}.plus:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.plus[aria-expanded=true]{color:var(--ink)}.plus[aria-expanded=true]:before{background:var(--pm-tile);box-shadow:inset 0 1px 1px var(--glass-line), inset 0 0 0 1px var(--glass-line), 0 10px 22px #0003}.plus[aria-expanded=true] svg{transform:rotate(135deg)}.pm{z-index:11;visibility:hidden;pointer-events:none;transition:visibility 0s .45s;position:fixed;inset:0}.pm.open{visibility:visible;pointer-events:auto;transition:none}.pm-dim{background:var(--dim);opacity:0;transition:opacity .3s var(--ease);position:absolute;inset:0}.pm.open .pm-dim{opacity:1}.tiles{left:calc(22px + env(safe-area-inset-left,0px));right:calc(22px + env(safe-area-inset-right,0px));bottom:calc(var(--safe-bottom) + 32px + var(--tabbar));grid-template-columns:1fr 1fr;gap:14px;display:grid;position:absolute}.tile{text-align:center;height:min(116px,27vw);font:600 min(17px, 4.3vw)/1.2 var(--font);color:var(--ink);background:var(--pm-tile);box-shadow:inset 0 1px 1px var(--glass-line), inset 0 0 0 1px var(--glass-line), 0 12px 30px #00000040;opacity:0;transform:translate(calc(var(--tx) * .45), calc(var(--ty) * .45)) scale(.55);transform-origin:100% 100%;transition:opacity .16s var(--ease), transform .22s var(--ease);cursor:pointer;border:0;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:0 10px;display:flex}.pm.open .tile{opacity:1;transition:opacity .22s var(--ease) var(--d), transform .6s var(--spring-soft) var(--d);transform:none}.pm.open .tile:active{transition:transform .2s;transform:scale(.95)}.tile svg{transition:transform .2s var(--ease);transform:scale(.6)}.pm.open .tile svg{transition:transform .55s var(--spring) calc(var(--d) + 70ms);transform:none}main.screen{transition:transform .55s var(--spring-soft)}.pm-open main.screen{transform:scale(.96)translateY(4px)}.tile.wide{grid-column:1/-1}.pm-target{background:var(--pm-tile);height:36px;box-shadow:inset 0 0 0 1px var(--glass-line);font:600 15px var(--font);color:var(--ink);opacity:0;transition:opacity .16s var(--ease), transform .22s var(--ease);border-radius:18px;grid-column:1/-1;justify-self:start;align-items:center;gap:8px;padding:0 14px 0 10px;display:flex;transform:translateY(14px)}.pm.open .pm-target{opacity:1;transition:opacity .22s var(--ease) .12s, transform .55s var(--spring-soft) .12s;transform:none}.tile span{text-wrap:balance}.tile:focus-within,.tile:focus-visible{outline:2px solid var(--ink);outline-offset:2px}:root[data-glass=off] :is(.tabbar,.tile){background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}
