@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 999px;--tap: 44px;--maxw: 480px;--font: "Hanken Grotesk Variable", ui-sans-serif, system-ui, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--shadow-sm: 0 1px 2px oklch(var(--shadow-color) / .06);--shadow-md: 0 6px 22px -10px oklch(var(--shadow-color) / .18), 0 1px 3px oklch(var(--shadow-color) / .05);--shadow-brand: 0 10px 24px -10px oklch(var(--brand-strong-l) var(--brand-c) var(--brand-h) / .5)}:root,html[data-palette=emerald]{--brand-h: 159;--brand-c: .118;--nh: 160;--amber-h: 64;--amber-c: .13;--red-h: 27;--red-c: .18}html[data-palette=slate]{--brand-h: 158;--brand-c: .12;--nh: 250;--amber-h: 64;--amber-c: .13;--red-h: 25;--red-c: .19}html[data-palette=indigo]{--brand-h: 274;--brand-c: .135;--nh: 282;--amber-h: 60;--amber-c: .12;--red-h: 22;--red-c: .19}:root,html[data-theme=light]{--brand-l: .54;--brand-strong-l: .45;--brand-press-l: .4;--brand: oklch(var(--brand-l) var(--brand-c) var(--brand-h));--brand-strong: oklch(var(--brand-strong-l) var(--brand-c) var(--brand-h));--brand-press: oklch(var(--brand-press-l) var(--brand-c) var(--brand-h));--brand-tint: oklch(.955 .03 var(--brand-h));--brand-ring: oklch(var(--brand-l) var(--brand-c) var(--brand-h) / .18);--amber: oklch(.62 var(--amber-c) var(--amber-h));--amber-strong: oklch(.52 var(--amber-c) var(--amber-h));--amber-tint: oklch(.955 .045 var(--amber-h));--red: oklch(.55 var(--red-c) var(--red-h));--red-tint: oklch(.955 .04 var(--red-h));--bg: oklch(.981 .006 var(--nh));--surface: oklch(.998 .002 var(--nh));--surface-2: oklch(.963 .009 var(--nh));--ink: oklch(.26 .018 var(--nh));--ink-soft: oklch(.48 .016 var(--nh));--ink-faint: oklch(.62 .012 var(--nh));--line: oklch(.905 .01 var(--nh));--line-strong: oklch(.84 .012 var(--nh));--shadow-color: .26 .03 var(--nh)}html[data-theme=dark]{--brand-l: .68;--brand-strong-l: .62;--brand-press-l: .58;--brand: oklch(var(--brand-l) var(--brand-c) var(--brand-h));--brand-strong: oklch(var(--brand-strong-l) var(--brand-c) var(--brand-h));--brand-press: oklch(var(--brand-press-l) var(--brand-c) var(--brand-h));--brand-tint: oklch(.33 .055 var(--brand-h));--brand-ring: oklch(var(--brand-l) var(--brand-c) var(--brand-h) / .3);--amber: oklch(.76 var(--amber-c) var(--amber-h));--amber-strong: oklch(.7 var(--amber-c) var(--amber-h));--amber-tint: oklch(.33 .05 var(--amber-h));--red: oklch(.66 var(--red-c) var(--red-h));--red-tint: oklch(.32 .06 var(--red-h));--bg: oklch(.175 .009 var(--nh));--surface: oklch(.215 .012 var(--nh));--surface-2: oklch(.265 .014 var(--nh));--ink: oklch(.96 .008 var(--nh));--ink-soft: oklch(.75 .012 var(--nh));--ink-faint: oklch(.6 .012 var(--nh));--line: oklch(.31 .013 var(--nh));--line-strong: oklch(.42 .015 var(--nh));--shadow-color: 0 0 0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--text-base);line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;transition:background-color .28s ease,color .28s ease}.card,.storecard,.stat,.appbar,.tabbar,input,.btn,.chip{transition:background-color .28s ease,border-color .28s ease,color .28s ease}#root{display:flex;flex-direction:column}h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.02em;font-weight:700;color:var(--ink)}h1{font-size:var(--text-xl);font-weight:750}h2{font-size:var(--text-lg)}p{margin:0;color:var(--ink-soft)}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.app{display:flex;flex-direction:column;min-height:100dvh;max-width:var(--maxw);margin:0 auto;width:100%;background:var(--bg)}.appbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);padding-top:max(var(--space-4),env(safe-area-inset-top));position:sticky;top:0;z-index:20;background:color-mix(in oklch,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:750;font-size:var(--text-lg);letter-spacing:-.02em}.brand__mark{width:26px;height:26px;border-radius:8px;background:var(--brand);display:grid;place-items:center;color:#fff;box-shadow:var(--shadow-sm)}.brand__mark svg{width:15px;height:15px}.avatar{width:38px;height:38px;border-radius:var(--radius-full);border:1px solid var(--line-strong);background:var(--surface);color:var(--brand-strong);font-weight:700;font-size:var(--text-sm);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .14s var(--ease-out),border-color .28s ease}.avatar:active{background:var(--surface-2);transform:scale(.94)}.appbar__actions{display:flex;align-items:center;gap:var(--space-2)}.iconbtn{width:38px;height:38px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;transition:background-color .15s ease,transform .14s var(--ease-out),border-color .28s ease,color .28s ease}.iconbtn svg{width:18px;height:18px}.iconbtn:active{background:var(--surface-2);transform:scale(.94)}.tabview{flex:1;display:flex;flex-direction:column;padding:var(--space-5);padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom));gap:var(--space-5)}.tabbar{position:sticky;bottom:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding:var(--space-2) var(--space-4);padding-bottom:max(var(--space-2),env(safe-area-inset-bottom));background:color-mix(in oklch,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--line)}.tabbar__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-faint);font-family:inherit;font-size:var(--text-xs);font-weight:650;display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--space-2) 0;border-radius:var(--radius-md);cursor:pointer;min-height:var(--tap);transition:color .16s ease,transform .14s var(--ease-out)}.tabbar__item:active{transform:scale(.92)}.tabbar__item svg{width:23px;height:23px;stroke-width:1.9;transition:transform .18s var(--ease-out)}.tabbar__item[aria-selected=true]{color:var(--brand-strong)}.tabbar__item[aria-selected=true] svg{transform:translateY(-1px) scale(1.06)}.screen{display:flex;flex-direction:column;flex:1;padding:var(--space-5);padding-top:max(var(--space-6),env(safe-area-inset-top));padding-bottom:max(var(--space-5),env(safe-area-inset-bottom));gap:var(--space-5);max-width:var(--maxw);margin:0 auto;width:100%}.screen--center{justify-content:center;text-align:center;align-items:center}.stack{display:flex;flex-direction:column;gap:var(--space-2)}.lead{font-size:var(--text-base);color:var(--ink-soft);max-width:32ch}.glyph{width:72px;height:72px;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--brand-tint);color:var(--brand-strong)}.glyph svg{width:36px;height:36px}.glyph--warn{background:var(--amber-tint);color:var(--amber-strong)}.glyph--danger{background:var(--red-tint);color:var(--red)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card--pad-lg{padding:var(--space-5) var(--space-5) var(--space-5)}.section-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--space-3)}.storecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.storecard__head{padding:var(--space-5) var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.storecard__eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--brand-strong)}.storecard__eyebrow svg{width:14px;height:14px}.storecard__name{font-size:var(--text-xl);font-weight:750;letter-spacing:-.02em;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.storecard__addr{font-size:var(--text-sm);color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storecard__body{padding:0 var(--space-5) var(--space-5)}.timeline{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0 var(--space-4)}.timeline__step{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-faint);font-weight:600}.timeline__dot{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}.timeline__step--done{color:var(--ink)}.timeline__step--done .timeline__dot{background:var(--brand)}.timeline__bar{flex:1;height:2px;border-radius:2px;background:var(--line)}.timeline__bar--done{background:var(--brand)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-weight:700;cursor:pointer;min-height:var(--tap);font-size:var(--text-base);padding:var(--space-3) var(--space-5);transition:transform .14s var(--ease-out),background-color .15s ease,box-shadow .15s ease,border-color .28s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn svg{width:19px;height:19px;flex-shrink:0}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn--block{width:100%}.btn--primary{background:var(--brand);color:#fff}.btn--primary:active{background:var(--brand-press)}.btn--ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn--ghost:active{background:var(--surface-2)}.btn--subtle{background:transparent;color:var(--ink-soft);min-height:var(--tap);padding:var(--space-2) var(--space-3)}.markbtn{width:100%;min-height:60px;font-size:var(--text-lg);font-weight:750;letter-spacing:-.01em;border-radius:var(--radius-md);color:#fff;border:none;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:transform .14s var(--ease-out),box-shadow .2s var(--ease-out),background-color .15s ease}.markbtn svg{width:22px;height:22px}.markbtn:active{transform:scale(.97)}.markbtn--in{background:var(--brand);box-shadow:var(--shadow-brand)}.markbtn--in:active{background:var(--brand-press)}.markbtn--out{background:var(--amber-strong);box-shadow:0 8px 20px -8px #9a550580}.donepill{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:56px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand-strong);font-weight:700;font-size:var(--text-base)}.donepill svg{width:20px;height:20px}.field{display:flex;flex-direction:column;gap:var(--space-2)}label{font-size:var(--text-sm);font-weight:650;color:var(--ink)}input{font-family:inherit;font-size:var(--text-lg);padding:var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);width:100%;min-height:54px;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--ink-faint);opacity:.6}input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}input.code{text-transform:uppercase;text-align:center;font-weight:750;letter-spacing:.22em}input.pin{text-align:center;letter-spacing:.4em;font-weight:750}.hint{font-size:var(--text-xs);color:var(--ink-faint)}.banner{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-weight:600;font-size:var(--text-sm);border:1px solid transparent}.banner--error{background:var(--red-tint);color:var(--red);border-color:color-mix(in oklch,var(--red) 25%,transparent)}.banner--info{background:var(--amber-tint);color:var(--amber-strong);border-color:color-mix(in oklch,var(--amber) 30%,transparent);text-align:left}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:650;background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}.chip--soon{background:var(--brand-tint);color:var(--brand-strong);border-color:transparent}.chip--pending{background:var(--amber-tint);color:var(--amber-strong);border-color:transparent}.datepill{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-soft);font-weight:600}.datepill svg{width:16px;height:16px;color:var(--brand)}.greeting h1{font-size:var(--text-2xl);font-weight:750}.greeting p{margin-top:2px}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4) var(--space-3);text-align:center}.stat__val{font-size:var(--text-xl);font-weight:750;color:var(--ink-faint);letter-spacing:-.02em}.stat__label{font-size:var(--text-xs);color:var(--ink-faint);margin-top:2px}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.cardhead h2{font-size:var(--text-base);font-weight:700}.placeholder-rows{display:flex;flex-direction:column;gap:var(--space-3)}.prow{display:flex;align-items:center;gap:var(--space-3)}.prow__dot{width:36px;height:36px;border-radius:var(--radius-full);background:var(--surface-2);flex-shrink:0}.prow__lines{flex:1;display:flex;flex-direction:column;gap:6px}.prow__line{height:9px;border-radius:5px;background:var(--surface-2)}.prow__line--short{width:45%}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row__k{font-size:var(--text-sm);color:var(--ink-soft);font-weight:600}.segmented{display:inline-flex;background:var(--surface-2);border-radius:var(--radius-md);padding:3px;gap:2px}.segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-soft);font-family:inherit;font-size:var(--text-xs);font-weight:650;padding:7px 12px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background-color .18s var(--ease-out),color .18s ease,box-shadow .18s ease}.segmented button[data-on=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.swatch{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001f}.swatch--emerald{background:#158355}.swatch--slate{background:#5e748b}.swatch--indigo{background:#4d5aaf}.account-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line);font-size:var(--text-sm)}.account-row:first-of-type{border-top:none}.account-row__k{color:var(--ink-soft)}.account-row__v{font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}.center-stack{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-7) var(--space-4)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-7) var(--space-4)}.empty .lead{max-width:28ch}.spinner{width:26px;height:26px;border:3px solid color-mix(in oklch,var(--brand) 22%,transparent);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}.spinner--lg{width:48px;height:48px;border-width:4px}.spinner--light{border-color:#ffffff4d;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.marking{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:color-mix(in oklch,var(--ink) 86%,transparent);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);text-align:center;padding:var(--space-6);animation:fade .2s ease}.marking p{color:#ffffffeb;font-size:var(--text-base)}.feedback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-5);padding:var(--space-6);padding-top:max(var(--space-6),env(safe-area-inset-top));padding-bottom:max(var(--space-6),env(safe-area-inset-bottom));animation:fb-in .32s cubic-bezier(.16,1,.3,1)}.feedback--success{background:var(--brand);color:#fff}.feedback--warn{background:var(--amber-strong);color:#fff}.feedback--error{background:var(--red);color:#fff}.feedback__badge{width:96px;height:96px;border-radius:50%;background:#ffffff29;display:grid;place-items:center;animation:pop .4s cubic-bezier(.16,1,.3,1) .05s both}.feedback__badge svg{width:50px;height:50px}.feedback__title{color:#fff;font-size:var(--text-2xl);font-weight:750}.feedback__time{color:#fff;font-size:var(--text-3xl);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:-6px}.feedback p{color:#fffffff0;font-size:var(--text-base);max-width:26ch}.feedback__actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:340px;margin-top:var(--space-2)}.feedback .btn--ghost{background:#fff;color:var(--ink);border:none}.feedback .btn--clear{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}@keyframes fade{0%{opacity:0}}@keyframes fb-in{0%{opacity:0;transform:scale(1.04)}}@keyframes pop{0%{opacity:0;transform:scale(.86)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.reveal>*{animation:rise .42s var(--ease-out) both}.reveal>*:nth-child(1){animation-delay:0ms}.reveal>*:nth-child(2){animation-delay:55ms}.reveal>*:nth-child(3){animation-delay:.11s}.reveal>*:nth-child(4){animation-delay:165ms}.reveal>*:nth-child(5){animation-delay:.22s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@media(hover:hover)and (pointer:fine){.btn--ghost:hover{background:var(--surface-2)}.storecard:hover{box-shadow:var(--shadow-md),0 0 0 1px var(--line-strong)}.tabbar__item:hover{color:var(--ink-soft)}.stat:hover{border-color:var(--line-strong)}}
