:root{--bg: #f4f5f1;--surface: #ffffff;--surface-dim: #fafbf8;--hero: #0e0f0c;--hero-2: #1c1e1a;--hero-3: #2a2c27;--on-hero: #f4f5f1;--ink: #0e0f0c;--ink-2: #4a4e45;--muted: #5e6259;--muted-2: #7a7f73;--line: #e4e6df;--line-2: #eceee7;--line-3: #daddd3;--line-4: #cdd1c6;--track: #e1e3dc;--seg: #e9ebe4;--seg-2: #f0f1ec;--tint-lime: #eef8c9;--tint-orange: #fff1e3;--tint-blue: #e8ecff;--tint-purple: #efe9fb;--tint-rose: #ffe8ec;--tint-cyan: #e3f4fa;--tint-over: #ffe8d9;--tint-danger: #fdecea;--lime-ink: #4d6b00;--lime-ink-2: #3b5200;--orange-ink: #c2560c;--blue-ink: #2b44d6;--over-ink: #9a3f07;--purple-ink: #5b3cc4;--rose-ink: #c21f45;--cyan-ink: #0b6e8f;--danger: #c2261f;--nav-bg: rgba(255, 255, 255, .92);--alert-bg: rgba(250, 250, 248, .97);--frame: #e6e8e1;--thumb: #ffffff;--thumb-on-hero: #f4f5f1;--ground: var(--bg);--lime: #d4f25a;--protein: #3d5afe;--carbs: #f2994a;--fat: #0e8a7d;--spring: cubic-bezier(.32, .72, 0, 1);--display: "Bricolage Grotesque", sans-serif;--body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Geist", system-ui, sans-serif;color-scheme:light}:root[data-theme=dark]{--bg: #0b0c0a;--surface: #171915;--surface-dim: #121411;--hero: #20231d;--hero-2: #2c3028;--hero-3: #3a3e35;--on-hero: #f4f5f1;--ink: #f2f3ee;--ink-2: #c9ccc2;--muted: #9ea397;--muted-2: #868b80;--line: #2a2d27;--line-2: #23261f;--line-3: #33372f;--line-4: #44483f;--track: #3a3e35;--seg: #1f221c;--seg-2: #23261f;--tint-lime: rgba(212, 242, 90, .14);--tint-orange: rgba(242, 153, 74, .16);--tint-blue: rgba(125, 145, 255, .18);--tint-purple: rgba(155, 125, 255, .2);--tint-rose: rgba(255, 120, 150, .16);--tint-cyan: rgba(80, 200, 240, .16);--tint-over: rgba(232, 89, 12, .2);--tint-danger: rgba(255, 90, 78, .16);--lime-ink: #c7e04a;--lime-ink-2: #d4f25a;--orange-ink: #ffa866;--blue-ink: #9dacff;--over-ink: #ffb088;--purple-ink: #c2aeff;--rose-ink: #ff93aa;--cyan-ink: #7fd6f0;--danger: #ff6b60;--nav-bg: rgba(23, 25, 21, .92);--alert-bg: rgba(32, 35, 29, .97);--frame: #050605;--thumb: #33372f;--thumb-on-hero: #474c42;color-scheme:dark}html,body,#root{height:100%}body{margin:0;background:var(--frame);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:var(--ink)}*{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}input,textarea{color:inherit;caret-color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted-2)}button,a{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--protein);outline-offset:2px}.device{position:relative;width:100%;height:100dvh;margin:0 auto;box-sizing:border-box;background:var(--ground);color:var(--ink);font-family:var(--body);display:flex;flex-direction:column;overflow:hidden}@media(min-width:520px)and (min-height:700px){body{display:flex;align-items:center;justify-content:center;min-height:100vh}#root{height:auto}.device{width:390px;height:min(844px,calc(100vh - 32px));border-radius:44px;box-shadow:0 30px 80px #0e0f0c2e,0 0 0 10px #0e0f0c,0 0 0 11px var(--line-3)}}.tap{transition:transform .24s cubic-bezier(.2,.9,.3,1.25),opacity .2s ease,background-color .22s ease,color .22s ease,border-color .22s ease}.tap:active:not(:disabled){transform:scale(.94);opacity:.9;transition-duration:.08s}.tap.lg:active:not(:disabled){transform:scale(.985)}.row{transition:background-color .15s ease}.row:active{background-color:var(--seg-2)}.scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none}.scroll::-webkit-scrollbar{display:none}.rise{animation:rise .5s cubic-bezier(.22,1,.36,1) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.fwd{animation:fwd .45s var(--spring) both}.back{animation:bk .45s var(--spring) both}@keyframes fwd{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes bk{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:none}}.pop{animation:pop .32s cubic-bezier(.2,.9,.3,1.5)}@keyframes pop{0%{transform:scale(.5)}to{transform:scale(1)}}.scrim{animation:fin .3s ease both}.scrim.out{animation:fout .28s ease both}.sheet{animation:sin .5s var(--spring) both}.sheet.out{animation:sout .3s var(--spring) both}.alert{animation:ain .3s cubic-bezier(.2,.9,.3,1.15) both}.alert.out{animation:fout .2s ease both}.toast{animation:tin .45s var(--spring) both}.toast.out{animation:tout .3s ease both}@keyframes fin{0%{opacity:0}to{opacity:1}}@keyframes fout{0%{opacity:1}to{opacity:0}}@keyframes sin{0%{transform:translateY(105%)}to{transform:none}}@keyframes sout{0%{transform:none}to{transform:translateY(105%)}}@keyframes ain{0%{opacity:0;transform:scale(1.12)}to{opacity:1;transform:none}}@keyframes tin{0%{opacity:0;transform:translateY(-120%)}to{opacity:1;transform:none}}@keyframes tout{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-120%)}}.toast-b{animation:bin .45s var(--spring) both}.toast-b.out{animation:bout .3s ease both}@keyframes bin{0%{opacity:0;transform:translateY(120%)}to{opacity:1;transform:none}}@keyframes bout{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(120%)}}.leave{animation:leave .3s var(--spring) both}@keyframes leave{to{opacity:0;transform:translate(-50px) scale(.96)}}.box{animation:box .5s cubic-bezier(.2,.9,.3,1.3) both}@keyframes box{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.sweep{animation:sweep 2.6s cubic-bezier(.45,0,.55,1) infinite alternate}@keyframes sweep{0%{transform:translateY(0)}to{transform:translateY(300px)}}.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #d4f25a80}50%{box-shadow:0 0 0 6px #d4f25a00}}.flash{animation:flash .45s ease-out both}@keyframes flash{0%{opacity:.95}to{opacity:0}}.fade{animation:fade .3s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.ring-spin{animation:spin .9s linear infinite}.chip-on{animation:chip .34s cubic-bezier(.2,.9,.3,1.5)}@keyframes chip{0%{transform:scale(.88)}to{transform:scale(1)}}.shimmer{animation:shimmer 2.4s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-120%) skew(-12deg)}60%,to{transform:translate(320%) skew(-12deg)}}.laser{animation:laser 1.4s cubic-bezier(.45,0,.55,1) infinite alternate}@keyframes laser{0%{transform:translateY(0)}to{transform:translateY(116px)}}.lock{animation:lock .35s cubic-bezier(.2,.9,.3,1.3) both}@keyframes lock{0%{transform:scale(1.08);opacity:.4}to{transform:none;opacity:1}}.shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{height:50px;border-radius:14px;border:1px solid var(--line-3);background:var(--surface);padding:0 14px;font-size:16px;color:var(--ink);outline:none;box-sizing:border-box;width:100%;transition:border-color .2s ease,box-shadow .2s ease}.field:focus{border-color:var(--ink)!important;box-shadow:0 0 0 4px #3d5afe26}.field[aria-invalid=true]{border-color:var(--danger)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.leave-r{animation:leave-r .3s cubic-bezier(.32,.72,0,1) both}@keyframes leave-r{to{opacity:0;transform:translate(60px) scale(.96)}}.expand{animation:rise .35s cubic-bezier(.22,1,.36,1) both}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
