@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Julius+Sans+One&display=swap";:root{--ink: #0F1A16;--ink-2: rgba(15, 26, 22, .7);--ink-3: rgba(15, 26, 22, .6);--ink-mute: rgba(15, 26, 22, .38);--hairline: rgba(15, 26, 22, .12);--hairline-strong: rgba(15, 26, 22, .2);--ground: #F7F9F7;--surface: #FFFFFF;--surface-2: #EFF3F0;--ink-ground: #0B1411;--ink-raised: rgba(255, 255, 255, .06);--ink-hairline: rgba(255, 255, 255, .12);--on-ink: #F5F7F6;--on-ink-2: rgba(245, 247, 246, .7);--on-ink-3: rgba(245, 247, 246, .48);--brand: #176B59;--brand-press: #0F4A3E;--brand-wash: #E6EFEC;--brand-dark: #2E9C82;--link: #1B51A8;--link-hover: #143C7D;--ok: #1B6B43;--ok-wash: #E7F1EB;--warn: #8A5A00;--warn-wash: #F6EFE0;--stop: #A2342A;--stop-wash: #F6E9E7;--info: #1B51A8;--info-wash: #E8EEF8;--warn-on-ink: #E0A43A;--font: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-mark: "Julius Sans One", var(--font);--w-body: 400;--w-med: 500;--w-bold: 600;--t-display: clamp(2.5rem, 6vw, 4.25rem);--lh-display: 1;--tr-display: -.022em;--t-h1: clamp(2rem, 4.5vw, 2.75rem);--lh-h1: 1.05;--tr-h1: -.02em;--t-h2: clamp(1.5rem, 3vw, 2rem);--lh-h2: 1.15;--tr-h2: -.018em;--t-h3: 1.25rem;--lh-h3: 1.4;--tr-h3: -.013em;--t-body: 1rem;--lh-body: 1.6;--tr-body: -.011em;--t-sm: .875rem;--lh-sm: 1.5;--tr-sm: -.008em;--t-xs: .75rem;--lh-xs: 1.45;--tr-xs: 0;--t-over: .6875rem;--lh-over: 1.3;--tr-over: .06em;--r-field: 8px;--r-field-press: 12px;--r-card: 12px;--r-card-press: 16px;--r-sheet: 16px;--r-pill: 999px;--shadow-float: 0 1px 2px rgba(15, 26, 22, .08), 0 12px 32px -12px rgba(15, 26, 22, .14);--shadow-pop: 0 1px 2px rgba(15, 26, 22, .06), 0 4px 12px -4px rgba(15, 26, 22, .1);--t-quick: .1s;--t-micro: .16s;--t-regular: .25s;--ease: cubic-bezier(.25, .46, .45, .94);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--stroke-subtle: .5px;--stroke: 1px;--stroke-icon: 1.5px;--stroke-focus: 2px;--stroke-nav: 4px;--z-base: 1;--z-low: 100;--z-mid: 200;--z-high: 300;--z-top: 400;--wrap: 1200px;--tap: 44px}[data-density=compact]{--t-body: .875rem;--lh-body: 1.5;--t-sm: .8125rem;--lh-sm: 1.45;--s-5: 16px;--s-6: 24px;--s-7: 32px;--s-8: 48px;--r-card: 10px}[data-theme=dark]{--ground: #0B1411;--surface: #121D19;--surface-2: #16241F;--ink: #F5F7F6;--ink-2: rgba(245, 247, 246, .7);--ink-3: rgba(245, 247, 246, .62);--ink-mute: rgba(245, 247, 246, .38);--hairline: rgba(255, 255, 255, .12);--hairline-strong: rgba(255, 255, 255, .2);--brand: #2E9C82;--brand-wash: rgba(46, 156, 130, .14);--link: #7FB2F0;--shadow-float: none;--shadow-pop: none}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font:var(--w-body) var(--t-body) / var(--lh-body) var(--font);letter-spacing:var(--tr-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:var(--w-med);color:var(--ink)}h1{font-size:var(--t-h1);line-height:var(--lh-h1);letter-spacing:var(--tr-h1)}h2{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2)}h3{font-size:var(--t-h3);line-height:var(--lh-h3);letter-spacing:var(--tr-h3)}.display{font-size:var(--t-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);font-weight:var(--w-med)}.over{font-size:var(--t-over);line-height:var(--lh-over);letter-spacing:var(--tr-over);font-weight:var(--w-bold);text-transform:uppercase;color:var(--ink-3)}.wordmark{font-family:var(--font-mark);letter-spacing:.3em;margin-right:-.3em}a{color:var(--link);text-decoration-color:color-mix(in srgb,var(--link) 40%,transparent);text-underline-offset:3px}a:hover{color:var(--link-hover);text-decoration-color:currentColor}.money{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:0}td.money,th.money{text-align:right}:focus-visible{outline:none;box-shadow:0 0 0 1px var(--surface),0 0 0 4px #176b5980;border-radius:var(--r-field)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-5);font:var(--w-med) var(--t-sm) / 1 var(--font);border:var(--stroke) solid transparent;border-radius:var(--r-field);cursor:pointer;transition:background-color var(--t-quick) var(--ease),border-color var(--t-quick) var(--ease),color var(--t-quick) var(--ease),border-radius var(--t-quick) var(--ease)}.btn:active{border-radius:var(--r-field-press)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-press)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--hairline-strong)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:var(--stop);color:#fff}.card{background:var(--surface);border:var(--stroke) solid var(--hairline);border-radius:var(--r-card);transition:border-color var(--t-micro) var(--ease),background-color var(--t-micro) var(--ease)}[data-theme=dark] .card{background:var(--ink-raised);border-color:var(--ink-hairline)}.badge{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);font:var(--w-med) var(--t-xs) / 1.5 var(--font);border:var(--stroke) solid currentColor;border-radius:var(--r-pill);background:transparent}.badge-ok{color:var(--ok)}.badge-warn{color:var(--warn)}.badge-stop{color:var(--stop)}.badge-info{color:var(--info)}.verdict{border-radius:var(--r-card);padding:var(--s-5);border:var(--stroke) solid;animation:none}.verdict-ok{background:var(--ok-wash);border-color:var(--ok);color:var(--ok)}.verdict-stop{background:var(--stop-wash);border-color:var(--stop);color:var(--stop)}.verdict-warn{background:var(--warn-wash);border-color:var(--warn);color:var(--warn)}.flash{animation:flash-out .15s var(--ease) forwards}@keyframes flash-out{0%{opacity:1}to{opacity:0}}.hr{height:var(--stroke);background:var(--hairline);border:0;margin:0}.content-grid{display:grid;grid-template-columns:[full-start] 1fr [content-start] min(var(--wrap),100% - var(--s-5) * 2) [content-end] 1fr [full-end]}.content-grid>*{grid-column:content}.content-grid>.full{grid-column:full}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important}}html,body,#root{height:100%}body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}.app{min-height:100%;display:flex;flex-direction:column;max-width:480px;margin:0 auto;background:var(--ground);border-inline:var(--stroke) solid transparent}@media (min-width: 520px){.app{border-inline-color:var(--hairline);min-height:100vh}}.scroll{flex:1;overflow-y:auto;padding:var(--s-4) var(--s-4) calc(var(--s-8) + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.topbar{position:sticky;top:0;z-index:var(--z-low);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:calc(var(--s-3) + env(safe-area-inset-top)) var(--s-4) var(--s-3);background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px);border-bottom:var(--stroke) solid var(--hairline)}.topbar .who{min-width:0}.topbar .who strong{display:block;font-weight:var(--w-med);font-size:var(--t-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .who span{display:block;font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{flex:none;width:36px;height:36px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--brand-wash);color:var(--brand);font-weight:var(--w-bold);font-size:var(--t-sm);border:var(--stroke) solid transparent}.tabs{position:sticky;bottom:0;z-index:var(--z-low);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border-top:var(--stroke) solid var(--hairline);padding-bottom:env(safe-area-inset-bottom)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--s-1);padding:var(--s-3) 0 var(--s-2);min-height:var(--tap);color:var(--ink-3);font:var(--w-med) var(--t-xs) / 1 var(--font);border-top:var(--stroke-nav) solid transparent;margin-top:calc(var(--stroke-nav) * -1);transition:color var(--t-quick) var(--ease),border-color var(--t-quick) var(--ease)}.tab[aria-current=page]{color:var(--brand);border-top-color:var(--brand)}.tab svg{width:22px;height:22px;stroke-width:var(--stroke-icon)}.section{margin-top:var(--s-6)}.section:first-child{margin-top:var(--s-2)}.section>.over{margin-bottom:var(--s-3)}.stack{display:flex;flex-direction:column;gap:var(--s-3)}.row{display:flex;align-items:center;gap:var(--s-3)}.between{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.grow{flex:1;min-width:0}.muted{color:var(--ink-3)}.sm{font-size:var(--t-sm);line-height:var(--lh-sm)}.xs{font-size:var(--t-xs);line-height:var(--lh-xs)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offer{display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:var(--surface);border:var(--stroke) solid var(--hairline);border-radius:var(--r-card);padding:var(--s-4);color:inherit;font:inherit;transition:border-color var(--t-micro) var(--ease),background-color var(--t-micro) var(--ease),border-radius var(--t-quick) var(--ease)}.offer:active{border-radius:var(--r-card-press);background:var(--surface-2)}.offer:hover{border-color:var(--hairline-strong)}.offer[data-closed=true]{background:var(--ground)}.offer[disabled]{cursor:default}.offer[disabled]:hover{border-color:var(--hairline)}.offer[data-closed=true] .pct{color:var(--ink-3)}.offer .head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.offer .place{font-weight:var(--w-med)}.pct{flex:none;font-family:var(--font-mono);font-weight:var(--w-med);font-size:var(--t-h3);line-height:1;letter-spacing:0;color:var(--brand)}.offer .line{margin-top:var(--s-1);color:var(--ink-2);font-size:var(--t-sm)}.offer .foot{margin-top:var(--s-3);display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.code-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-top);background:var(--ink-ground);color:var(--on-ink);display:flex;flex-direction:column;padding:calc(var(--s-4) + env(safe-area-inset-top)) var(--s-4) calc(var(--s-5) + env(safe-area-inset-bottom));animation:rise var(--t-regular) var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.code-screen header{display:flex;align-items:center;justify-content:space-between}.code-screen .close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--ink-raised);border:var(--stroke) solid var(--ink-hairline);color:var(--on-ink);border-radius:var(--r-pill);width:var(--tap);height:var(--tap);display:grid;place-items:center;cursor:pointer}.code-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-4)}.qr{background:#fff;padding:var(--s-4);border-radius:var(--r-card);line-height:0}.qr img,.qr canvas{display:block;width:min(62vw,260px);height:auto;image-rendering:pixelated}.code-text{font-family:var(--font-mono);font-size:var(--t-h3);letter-spacing:.18em;color:var(--on-ink);text-align:center}.code-hint{color:var(--on-ink-3);font-size:var(--t-xs);text-align:center}.timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-sm);color:var(--on-ink-2)}.timer[data-low=true]{color:var(--warn-on-ink)}.code-state{width:100%;max-width:340px;text-align:center}.code-state h2{color:var(--on-ink);font-size:var(--t-h3);line-height:var(--lh-h3);letter-spacing:var(--tr-h3)}.code-state p{color:var(--on-ink-2);font-size:var(--t-sm);line-height:var(--lh-sm);margin:var(--s-2) 0 var(--s-5)}.btn-on-ink{background:var(--ink-raised);color:var(--on-ink);border-color:var(--ink-hairline)}.btn-on-ink:hover{background:color-mix(in srgb,var(--on-ink) 10%,transparent)}.code-offer{text-align:center}.code-offer .big{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2)}.code-offer .sub{color:var(--on-ink-2);font-size:var(--t-sm);margin-top:var(--s-1)}.signin{min-height:100%;display:grid;grid-template-columns:1fr}@media (min-width: 900px){.signin{grid-template-columns:1.1fr 1fr}}.signin .pitch{display:none;background:var(--ink-ground);color:var(--on-ink);padding:var(--s-8) var(--s-7);flex-direction:column;justify-content:space-between}@media (min-width: 900px){.signin .pitch{display:flex}}.signin .pitch h1{color:var(--on-ink);max-width:14ch}.signin .pitch p{color:var(--on-ink-2);max-width:42ch}.signin .pitch .over{color:var(--on-ink-3)}.signin .form{display:flex;flex-direction:column;padding:calc(var(--s-6) + env(safe-area-inset-top)) var(--s-5) var(--s-7);max-width:440px;width:100%;margin:0 auto}@media (min-width: 900px){.signin .form{justify-content:center;padding-top:var(--s-7)}.signin .form-mark{display:none}}.field{display:block}.field .label{display:block;margin-bottom:var(--s-2);font-size:var(--t-sm);font-weight:var(--w-med);color:var(--ink-2)}.input{width:100%;min-height:var(--tap);padding:0 var(--s-3);font:var(--w-body) var(--t-body) / var(--tap) var(--font);color:var(--ink);background:var(--surface);border:var(--stroke) solid var(--hairline-strong);border-radius:var(--r-field);transition:border-color var(--t-quick) var(--ease)}.input::placeholder{color:var(--ink-mute)}.input:hover{border-color:var(--ink-3)}.input[aria-invalid=true]{border-color:var(--stop)}.otp{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-2)}.otp input{width:100%;height:56px;padding:0;text-align:center;font:var(--w-med) var(--t-h3) / 1 var(--font-mono);color:var(--ink);background:var(--surface);border:var(--stroke) solid var(--hairline-strong);border-radius:var(--r-field);transition:border-color var(--t-quick) var(--ease)}.otp input:focus-visible{border-color:var(--brand)}.otp[data-invalid=true] input{border-color:var(--stop)}.btn-block{width:100%}.btn[disabled]{background:var(--surface-2);color:var(--ink-mute);cursor:not-allowed;border-color:var(--hairline)}.btn-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;cursor:pointer;color:var(--link);font:var(--w-med) var(--t-sm) / 1.4 var(--font);min-height:auto}.btn-link[disabled]{color:var(--ink-mute);cursor:default;background:none}.note{border-radius:var(--r-field);padding:var(--s-3) var(--s-4);border:var(--stroke) solid;font-size:var(--t-sm);line-height:var(--lh-sm)}.note-stop{background:var(--stop-wash);border-color:var(--stop);color:var(--stop)}.note-ok{background:var(--ok-wash);border-color:var(--ok);color:var(--ok)}.note-info{background:var(--info-wash);border-color:var(--info);color:var(--info)}.note-warn{background:var(--warn-wash);border-color:var(--warn);color:var(--warn)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:var(--r-card)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.skeleton.line{display:inline-block;height:1em;border-radius:var(--r-field)}.problem{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:var(--stroke) solid var(--hairline);border-radius:var(--r-card)}.problem svg{flex:none;width:20px;height:20px;margin-top:1px;color:var(--ink-3);stroke-width:var(--stroke-icon)}.problem p{margin:0;color:var(--ink-2);font-size:var(--t-sm);line-height:var(--lh-sm)}.problem .btn{margin-top:var(--s-3)}.offline-bar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--surface-2);color:var(--ink-2);font-size:var(--t-xs);line-height:var(--lh-xs);border-bottom:var(--stroke) solid var(--hairline)}.offline-bar svg{flex:none;width:16px;height:16px;stroke-width:var(--stroke-icon);color:var(--ink-3)}.empty{text-align:center;padding:var(--s-7) var(--s-4)}.empty h3{margin-bottom:var(--s-2)}.empty p{color:var(--ink-3);font-size:var(--t-sm);margin:0 auto;max-width:34ch}.entry{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:var(--stroke) solid var(--hairline);border-radius:var(--r-card)}.entry .saved{text-align:right;flex:none}.entry .saved strong{display:block;color:var(--ok)}.entry .saved[data-reversed=true] strong{color:var(--ink-3);text-decoration:line-through}.total{background:var(--brand);color:#fff;border-radius:var(--r-card);padding:var(--s-5)}.total .over{color:#fffc}.total .amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-h1);line-height:var(--lh-h1);letter-spacing:var(--tr-h1);margin-top:var(--s-1)}.total .sub{color:#fffc;font-size:var(--t-sm);margin-top:var(--s-2)}.total .placeholder{display:inline-block;height:.8em;vertical-align:middle;background:color-mix(in srgb,var(--surface) 18%,transparent);border-radius:var(--r-field)}.list{background:var(--surface);border:var(--stroke) solid var(--hairline);border-radius:var(--r-card);overflow:hidden}.list .item{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-4)}.list .item+.item{border-top:var(--stroke) solid var(--hairline)}.list .item .k{color:var(--ink-3);font-size:var(--t-sm)}.list .item .v{text-align:right}.install{position:fixed;inset-inline:0;bottom:0;z-index:var(--z-mid);max-width:480px;margin:0 auto;padding:0 var(--s-4);padding-bottom:calc(76px + env(safe-area-inset-bottom))}
