@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-opsz-normal.Cre6nC2_.woff2)format("woff2-variations");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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/atkinson-hyperlegible-latin-400-normal.BrHNak5F.woff2)format("woff2"),url(/_astro/atkinson-hyperlegible-latin-400-normal.BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/atkinson-hyperlegible-latin-700-normal.GZI4o3u0.woff2)format("woff2"),url(/_astro/atkinson-hyperlegible-latin-700-normal.BK6Glc0m.woff)format("woff")}:root{--font-d:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-b:"Atkinson Hyperlegible", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--bg:#ecf6f2;--paper:#fff;--ink:#0e3530;--ink-2:#4c6e67;--line:#d2e6df;--grid:#e3eeea;--panel:#36c49d;--panel-ink:#04281f;--accent-text:#0b7a62;--accent-soft:#d9f1e9;--btn:#0c7f66;--btn-ink:#fff;--in-soft:#e9e6fb;--in-text:#4f42b5;--danger:#c23b34;--ring:#0b7a62;--person-sky:#1677c9;--person-sky-ink:#fff;--person-sun:#f7b500;--person-sun-ink:#3d2c00;--app-shopping:#3aa6e8;--app-shopping-ink:#06283f;--shadow:0 1px 0 #0e35300d, 0 10px 26px -16px #0e353059;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#061815;--paper:#0e2723;--ink:#e1f4ee;--ink-2:#8cb2a8;--line:#1b3c35;--grid:#16332d;--panel:#23a27f;--panel-ink:#03201a;--accent-text:#6fddbe;--accent-soft:#113730;--btn:#34c7a0;--btn-ink:#03231b;--in-soft:#231f45;--in-text:#b9b1f5;--danger:#ff8a80;--ring:#6fddbe;--person-sky:#3aa6e8;--person-sky-ink:#04192a;--person-sun:#f7c23a;--person-sun-ink:#2b1f00;--app-shopping:#2f95d4;--app-shopping-ink:#04192a;--shadow:0 1px 0 #00000040, 0 12px 28px -16px #000c;color-scheme:dark}}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}[x-cloak]{display:none!important}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px);background:var(--bg);-webkit-text-size-adjust:100%}body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-b);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:17px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:default}input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:12px}.app{flex-direction:column;max-width:480px;min-height:100%;margin:0 auto;padding:0 18px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.top{top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex;position:sticky}.brand{font-family:var(--font-d);letter-spacing:-.02em;align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}.brand-mark{background:var(--panel);width:36px;height:36px;color:var(--panel-ink);border-radius:11px;place-items:center;display:grid}.brand-mark svg{width:22px;height:22px}.top-actions{align-items:center;gap:14px;display:flex}.av-btn{border-radius:50%;display:grid}.av{font-family:var(--font-d);border-radius:50%;flex:none;place-items:center;font-weight:800;line-height:1;display:inline-grid}.av-sky{background:var(--person-sky);color:var(--person-sky-ink)}.av-sun{background:var(--person-sun);color:var(--person-sun-ink)}.av.xs{width:20px;height:20px;font-size:11px}.av.md{width:38px;height:38px;font-size:17px}.av.xl{width:58px;height:58px;font-size:25px}.btn{border-radius:15px;justify-content:center;align-items:center;gap:8px;height:50px;padding:0 20px;font-weight:700;display:inline-flex}.btn.primary{background:var(--btn);color:var(--btn-ink)}.btn.primary:disabled{opacity:.6}.btn.ghost{border:1.5px solid var(--line);color:var(--ink)}.btn.wide{width:100%}.login{flex-direction:column;flex:1;justify-content:center;padding:40px 0 32px;display:flex}.login-mark{background:var(--panel);width:84px;height:84px;color:var(--panel-ink);border-radius:26px;place-items:center;margin-bottom:22px;display:grid}.login-mark svg{width:48px;height:48px}.login h1{font-family:var(--font-d);letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(58px,18vw,78px);font-weight:800;line-height:.9}.login-sub{color:var(--ink-2);max-width:30ch;margin:0 0 28px;font-size:18px}.login .field input{background:var(--paper)}.login-error{color:var(--danger);margin:12px 0 0;font-size:15px;font-weight:700}.switch{background:var(--line);border-radius:999px;flex:none;width:52px;height:32px;transition:background .2s;position:relative}.switch i{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch[aria-checked=true]{background:var(--btn)}.switch[aria-checked=true] i{transform:translate(20px)}.switch:disabled{opacity:.5}.grab{background:var(--line);border-radius:5px;width:40px;height:5px;margin:0 auto 16px}.sh-title{font-family:var(--font-d);letter-spacing:-.02em;margin:0 0 4px;font-size:27px;font-weight:800;line-height:1.1}.sh-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.sh-head h2{font-family:var(--font-d);letter-spacing:-.02em;margin:0;font-size:25px;font-weight:800}.sh-head p{color:var(--ink-2);margin:0;font-size:15px}.flabel{color:var(--ink-2);margin:16px 0 8px;font-size:14px;font-weight:700}.apps{gap:18px;margin:0 0 20px;display:flex}.app-ico{color:var(--ink);border-radius:18px;flex-direction:column;align-items:center;gap:6px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.app-ico .tile{width:60px;height:60px;box-shadow:var(--shadow);border-radius:18px;place-items:center;display:grid}.app-ico .tile svg{width:32px;height:32px}.tile-shopping{background:var(--app-shopping);color:var(--app-shopping-ink)}.tile-cash{background:var(--app-cash);color:var(--app-cash-ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.login-sub{max-width:32ch}.field{color:var(--ink-2);flex-direction:column;gap:6px;min-width:0;margin-top:14px;font-size:14px;font-weight:700;display:flex}.field input{border:2px solid var(--line);background:var(--bg);width:100%;height:50px;color:var(--ink);border-radius:14px;outline:none;padding:0 14px;font-size:17px;font-weight:400}.field input:focus{border-color:var(--btn)}.save{margin-top:20px}.hint{color:var(--ink-2);margin:12px 0 18px;font-size:14px}.btn:disabled{opacity:.5}.backdrop{z-index:30;opacity:0;pointer-events:none;background:#03191473;transition:opacity .25s;position:fixed;inset:0}.backdrop.is-on{opacity:1;pointer-events:auto}.sheet{z-index:31;background:var(--paper);max-width:480px;max-height:90%;padding:10px 20px calc(24px + env(safe-area-inset-bottom,0px));visibility:hidden;border-radius:28px 28px 0 0;margin:0 auto;transition:transform .32s cubic-bezier(.2,.9,.3,1),visibility 0s linear .32s;position:fixed;bottom:0;left:0;right:0;overflow:auto;transform:translateY(105%)}.sheet.is-on{visibility:visible;transition:transform .32s cubic-bezier(.2,.9,.3,1),visibility;transform:none}.sheet:focus{outline:none}
