:root{--ink: #1a1a1a;--paper: #fff;--ember: #ea4a06;--ink-20: rgba(26, 26, 26, .2);--ink-35: rgba(26, 26, 26, .35);--ink-70: rgba(26, 26, 26, .72);--paper-70: rgba(255, 255, 255, .78);--ember-12: rgba(234, 74, 6, .12);--bg: var(--ink);--surface: var(--paper);--surface-2: var(--paper);--line: var(--ink-20);--line-accent: var(--ink);--text: var(--paper);--muted: var(--paper-70);--accent: var(--ember);--accent-light: var(--ember);--accent-dark: var(--ink);--accent-soft: var(--ember-12);--on-accent: var(--ink);--ok: var(--ink);--ok-soft: var(--ember-12);--danger: var(--ink);--warn: var(--ink);--r-xl: 4px;--r-lg: 4px;--r: 4px;--r-sm: 4px;--space: 16px;--header: 64px;--nav-h: 58px;--shadow: none;--glow: none;--font-title: "Righteous", "Futura", "Avenir Next", "Trebuchet MS", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--paper);font:400 16px/1.55 var(--font-body)}body{overscroll-behavior-y:none}button,input,select{font:inherit;color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-title);font-weight:400;letter-spacing:.01em;line-height:1.08;text-transform:uppercase}h1{font-size:clamp(1.7rem,5.2vw,2.4rem)}h2{font-size:clamp(1.35rem,4vw,1.7rem)}h3{font-size:1.05rem}a{color:inherit}img{display:block;max-width:100%}:focus-visible{outline:3px solid var(--paper);outline-offset:3px;border-radius:4px}.card :focus-visible,.sheet :focus-visible,.member:focus-visible,.mini:focus-visible,.tx:focus-visible,.rcard :focus-visible{outline-color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:14px}.eyebrow{display:inline-block;margin:0 0 10px;padding:.35em .6em;font:700 .75rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:2px solid var(--ember);border-radius:4px}.cta-link{color:var(--ink);font:700 .8125rem/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}.app{max-width:560px;margin:0 auto;min-height:100dvh;position:relative}.page{padding:12px var(--space) calc(var(--nav-h) + env(safe-area-inset-bottom) + 36px)}.shell.bare{max-width:560px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 32px)}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.grow{flex:1;min-width:0}.head{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar{position:sticky;top:0;z-index:30;background:var(--ink);padding:env(safe-area-inset-top) 8px 0}.topbar-in{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;height:var(--header)}.topbar .logo{height:34px;width:auto;margin:0 auto}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:none;border-radius:4px;cursor:pointer;color:var(--paper)}.icon-btn:hover{background:transparent;color:var(--ember)}.icon-btn:active{transform:none}.icon-btn.accent{color:var(--ember)}.icon-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.menu-overlay{position:fixed;inset:0;z-index:60;background:#1a1a1a73}.menu-sheet{position:absolute;top:calc(env(safe-area-inset-top) + var(--header) - 6px);left:10px;width:260px;max-width:86%;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:4px;overflow:hidden;box-shadow:none;--muted: var(--ink-70)}.menu-sheet a,.menu-sheet button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 16px;border:0;background:none;text-align:left;font:700 .75rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none;cursor:pointer}.menu-sheet a:hover,.menu-sheet button:hover{background:var(--ember-12)}.menu-sheet svg{width:18px;height:18px;fill:none;stroke:var(--ember);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.menu-sheet hr{margin:0;border:0;border-top:2px dashed var(--ink-35)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;padding:6px 8px calc(env(safe-area-inset-bottom) + 6px);background:var(--ink);border-top:2px dashed rgba(255,255,255,.35);pointer-events:none}.tabbar-pill{pointer-events:auto;display:flex;justify-content:space-between;width:100%;max-width:560px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.tabbar a,.tabbar button{flex:1;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;background:none;color:var(--paper);cursor:pointer;text-decoration:none;border-radius:4px}.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tabbar [aria-current=page]{color:var(--ember)}.tabbar [aria-current=page] svg{transform:none}.webframe{position:fixed;z-index:25;left:0;right:0;top:calc(env(safe-area-inset-top) + var(--header));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));max-width:560px;margin:0 auto;background:var(--paper)}.webframe iframe{width:100%;height:100%;border:0;background:#fff}button.card{width:100%;text-align:left;cursor:pointer;color:var(--ink)}.card,.rcard,.tx,.mini,.coupon,.info,.member,.next-reward,.order-detail,.rhero,.sheet,.auth .card{--muted: var(--ink-70);--text: var(--ink);--line: var(--ink-20);color:var(--ink)}.card:not(.sk),.member,.rhero{--notch: 8px;--ny: 22px;--tmask: radial-gradient(circle var(--notch) at 0 var(--ny), transparent calc(100% - .5px) , #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at 100% var(--ny), transparent calc(100% - .5px) , #000) right / 51% 100% no-repeat;-webkit-mask:var(--tmask);mask:var(--tmask)}.card{background:var(--paper);border:0;border-radius:4px;padding:16px}.card.flat{padding:0;overflow:hidden}.card.hero{background:var(--paper);padding:18px}.list{list-style:none;margin:0;padding:0}.list>li{padding:14px 16px;border-top:2px dashed var(--ink-35)}.list>li:first-child{border-top:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title .link{background:none;border:0;padding:8px 0 8px 12px;min-height:44px;font:700 .75rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.pill-count{min-width:34px;height:34px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:transparent;border:2px solid var(--paper);font:700 .75rem/1 var(--font-mono);color:var(--paper)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:.7em 1.2em;border-radius:4px;border:2px solid var(--ink);background:var(--paper);font:700 .8125rem/1.15 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-align:center;text-decoration:none;color:var(--ink);box-shadow:none}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--ember);border-color:var(--ink);color:var(--ink)}.btn.danger{border-style:dashed;background:transparent;color:var(--ink)}.btn.ghost{background:transparent;color:var(--paper);border-color:var(--paper)}.card .btn.ghost{color:var(--ink);border-color:var(--ink)}.btn.block{width:100%}.btn.small{min-height:40px;padding:.45em .9em;font-size:.75rem}.btn:disabled{opacity:1;cursor:not-allowed;background:var(--ink-20);color:var(--ink-70);border-style:dashed;border-color:var(--ink-35)}.linkbtn{background:none;border:0;padding:8px 0;min-height:44px;color:inherit;font:700 .8125rem/1.2 var(--font-mono);text-decoration:underline;text-underline-offset:4px;cursor:pointer;text-align:left}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font:700 .75rem/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.input{width:100%;min-height:50px;padding:0 16px;border-radius:4px;border:2px solid var(--ink);background:var(--paper);color:var(--ink)}.input:focus{border-color:var(--ink);box-shadow:none}.input:focus-visible{outline:3px solid var(--ember);outline-offset:2px}.code-input{text-align:center;font:700 28px/1 var(--font-mono);letter-spacing:.4em}.hint{font-size:13px;color:var(--muted)}.hint a{text-decoration:underline;text-underline-offset:3px}.error{font-size:14px;font-weight:700;color:var(--paper);border-left:4px solid var(--ember);padding-left:.6rem}.card .error{color:var(--ink)}.check{display:flex;gap:12px;align-items:flex-start;min-height:44px}.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent);flex:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:.35em .55em;border-radius:4px;font:700 .6875rem/1.1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--ink);background:transparent;color:var(--ink)}.chip.ok{background:var(--ember);color:var(--ink);border-color:var(--ink)}.chip.warn{border-style:dashed;background:transparent}.chip.bad{color:var(--ink-70);border-style:dashed;border-color:var(--ink-35);background:transparent}.seg{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{flex:none;min-height:44px;padding:0 16px;border:2px solid var(--paper);border-radius:4px;background:transparent;color:var(--paper);font:700 .75rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.seg button[aria-pressed=true]{background:var(--ember);color:var(--ink);border-color:var(--ember)}.bar{height:14px;border-radius:4px;background:var(--paper);border:2px solid var(--ink);overflow:hidden}.bar>span{display:block;height:100%;background:var(--ember);border-radius:0;transition:width 1.1s var(--ease)}.bar.thin{height:10px}.banner{position:sticky;top:calc(env(safe-area-inset-top) + var(--header));z-index:25;margin:0 var(--space) 10px;padding:10px 16px;border-radius:4px;background:var(--ember);color:var(--ink);font:600 .875rem/1.4 var(--font-mono);border:0}.toast{position:fixed;left:16px;right:16px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);max-width:528px;margin:0 auto;padding:12px 18px;border-radius:4px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);font:700 .875rem/1.3 var(--font-mono);z-index:70;text-align:center;box-shadow:none}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.hero-title{margin-top:6px;overflow-wrap:anywhere}.hero-points{display:flex;align-items:center;gap:8px;color:var(--ember);font-family:var(--font-title);font-size:2.5rem;line-height:1;font-weight:400;font-variant-numeric:tabular-nums}.hero-points svg{width:28px;height:28px;fill:var(--ember)}.hero-tier{display:block;width:100%;margin-top:16px;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit}.hero-tier .meta{display:flex;justify-content:space-between;font:700 .75rem/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-70)}.hero-tier .bar{margin-top:8px}.hero-tier .copy{margin-top:8px;font-size:13px;font-weight:500;color:var(--ink-70)}.next-reward{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:12px;border-radius:4px;background:var(--paper);border:2px dashed var(--ink-35);width:100%;text-align:left;cursor:pointer}.next-reward.ready{background:var(--ember-12);border-style:solid;border-color:var(--ink);cursor:default}.next-reward .t{font:700 .8125rem/1.3 var(--font-mono);margin-bottom:8px}.next-reward.ready .t{margin:0;flex:1 1 150px}.next-reward .grow{flex:1 1 150px}.next-reward>svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--ember);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.next-reward .go{flex:none;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;border-radius:4px;background:var(--ember);color:var(--ink);border:2px solid var(--ink);font:700 .75rem/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.member{position:relative;display:flex;align-items:center;gap:16px;width:100%;text-align:left;cursor:pointer;padding:18px;border-radius:4px;border:0;background:var(--paper)}.member:active{transform:translateY(1px)}.member .qr-mini{flex:none;width:84px;height:84px;padding:6px;border-radius:4px;background:var(--paper);border:2px solid var(--ink)}.member .code{font:700 1.6rem/1.1 var(--font-mono);letter-spacing:.08em}.member .cta{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font:700 .75rem/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.rail{display:flex;gap:10px;overflow-x:auto;margin:0 calc(var(--space) * -1);padding:2px var(--space) 6px;scroll-snap-type:x proximity;scroll-padding:0 var(--space);scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.mini{flex:none;width:132px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:4px;background:var(--paper);border:0;text-align:left;cursor:pointer}.mini.ready{box-shadow:inset 0 0 0 2px var(--ember)}.mini .pic{width:100%;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--ink);display:flex;align-items:center;justify-content:center}.mini .pic img{width:100%;height:100%;object-fit:cover}.mini .pic svg,.pic-ph svg{width:34px;height:34px;fill:none;stroke:var(--ember);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mini .name{font:400 .95rem/1.15 var(--font-title);text-transform:uppercase;min-height:2.3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini .prog{font:700 .6875rem/1.2 var(--font-mono);color:var(--ink-70)}.mini .bar{height:8px}.info{display:flex;gap:14px;align-items:flex-start}.info .ic{flex:none;width:40px;height:40px;border-radius:4px;background:transparent;border:2px solid var(--ember);display:flex;align-items:center;justify-content:center}.info .ic svg{width:22px;height:22px;fill:none;stroke:var(--ember);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.rhero{--ny: 56px;border-radius:4px;background:var(--paper);overflow:hidden}.rhero-art{height:56px;background:var(--paper);border-bottom:2px dashed var(--ink-35);display:flex;align-items:center;justify-content:center}.rhero-art svg{width:28px;height:28px;fill:none;stroke:var(--ember);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rhero-body{background:var(--paper);color:var(--ink);padding:16px}.rhero-body h1{margin-top:4px}.stats{display:flex;gap:10px;margin-top:12px}.stat{flex:1;min-height:52px;padding:8px 12px;border-radius:4px;background:var(--paper);border:2px solid var(--ink);color:var(--ink);display:flex;flex-direction:column;justify-content:center}.stat .k{font:700 .625rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-70)}.stat .v{font:400 1.35rem/1.1 var(--font-title);color:var(--ember);font-variant-numeric:tabular-nums}.stat .v.lvl{font:700 .95rem/1.2 var(--font-mono);color:var(--ink);text-transform:uppercase}.rcard{display:flex;gap:12px;padding:12px;border-radius:4px;background:var(--paper);border:0}.rcard.locked .pic{opacity:.85}.rcard .pic,.pic-ph{flex:none;width:84px;height:84px;border-radius:4px;overflow:hidden;background:var(--ink);display:flex;align-items:center;justify-content:center}.rcard .pic img{width:100%;height:100%;object-fit:cover}.rcard .name{font-size:1.05rem;line-height:1.15}.rcard .desc{font-size:13px;color:var(--ink-70)}.pts-badge{flex:none;align-self:flex-start;min-width:64px;text-align:center;padding:6px 8px;border-radius:4px;background:var(--paper);border:2px solid var(--ink);font:400 1.05rem/1 var(--font-title);color:var(--ember)}.pts-badge small{display:block;margin-top:2px;font:700 .625rem/1 var(--font-mono);color:var(--ink-70);letter-spacing:.06em;text-transform:uppercase}.rcard.available .pts-badge{background:var(--ember);color:var(--ink)}.rcard.available .pts-badge small{color:var(--ink)}.coupon{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:4px;background:var(--paper);border:2px dashed var(--ink-35)}.coupon .code-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.coupon .qr-wrap{align-self:center}.tx{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:4px;background:var(--paper);border:0;width:100%;text-align:left}.tx .ic{flex:none;width:40px;height:40px;border-radius:4px;background:transparent;border:2px solid var(--ember);display:flex;align-items:center;justify-content:center}.tx .ic svg{width:20px;height:20px;fill:none;stroke:var(--ember);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.tx.out .ic{border-style:dashed;border-color:var(--ink-35)}.tx.out .ic svg{stroke:var(--ink-70)}button.tx{cursor:pointer}.order-detail{margin-top:-8px;padding:14px 16px;border-radius:0 0 4px 4px;background:var(--paper);border-top:2px dashed var(--ink-35)}.day{font:700 .6875rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-70);padding:6px 4px 0}.avatar{flex:none;width:56px;height:56px;border-radius:4px;background:var(--ember);border:2px solid var(--ink);color:var(--ink);display:flex;align-items:center;justify-content:center;font:400 1.4rem/1 var(--font-title)}.menu-btn{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:0 16px;background:none;border:0;border-top:2px dashed var(--ink-35);cursor:pointer;text-align:left;color:var(--ink);font:700 .8125rem/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.menu-btn:first-child{border-top:0}.menu-btn .ic{flex:none;width:36px;height:36px;border-radius:4px;background:transparent;border:2px solid var(--ember);display:flex;align-items:center;justify-content:center}.menu-btn .ic svg{width:19px;height:19px;fill:none;stroke:var(--ember);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.menu-btn:after{content:"›";margin-left:auto;color:var(--ink);font:400 1.4rem/1 var(--font-title);text-transform:none}.langs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.langs button[aria-pressed=true]{border-color:var(--ink);background:var(--ember);color:var(--ink)}.divider{display:flex;align-items:center;gap:12px;color:var(--paper-70);font:700 .75rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.divider:before,.divider:after{content:"";flex:1;height:0;border-top:2px dashed rgba(255,255,255,.35)}.card .divider{color:var(--ink-70)}.card .divider:before,.card .divider:after{border-top-color:var(--ink-35)}.back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:44px;padding:0 12px;border:2px solid var(--paper);border-radius:4px;background:transparent;color:var(--paper);font:700 .75rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.auth{background:var(--ink)}.auth-logo{height:44px;width:auto;margin:0 auto}.ring{width:112px;height:112px;border-radius:50%;padding:0;margin:0 auto;border:2px solid var(--paper)}.ring>div{width:100%;height:100%;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center}.ring svg{width:48px;height:48px;fill:none;stroke:var(--ember);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.auth h1{text-align:center;color:var(--paper)}.auth .lead{text-align:center;color:var(--paper);padding:0 8px}.auth .card{background:var(--paper)}select.input{appearance:none}.sheet-back{position:fixed;inset:0;z-index:80;background:#1a1a1a9e;display:flex;align-items:flex-end;justify-content:center}.sheet{position:relative;width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;background:var(--paper);border:0;border-radius:4px 4px 0 0;padding:10px 20px calc(env(safe-area-inset-bottom) + 24px)}.sheet .grab{width:44px;height:4px;border-radius:4px;background:var(--ink-35);margin:0 auto 14px}.sheet .x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:2px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center}.sheet .x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.qr{background:var(--paper);padding:10px;border-radius:4px;border:2px solid var(--ink);width:100%;max-width:280px;aspect-ratio:1;margin:0 auto;flex:none}.qr svg{width:100%;height:100%;display:block}.qr.small{max-width:180px;padding:8px}.code-big{font:700 2rem/1.1 var(--font-mono);letter-spacing:.12em;text-align:center}.tier-row{display:flex;gap:12px;padding:14px;border-radius:4px;background:var(--paper);border:2px solid var(--ink-20)}.tier-row.me{border-color:var(--ink);background:var(--ember-12)}.tier-dot{flex:none;width:36px;height:36px;border-radius:4px;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font:400 1rem/1 var(--font-title)}.sheet-enter-active,.sheet-leave-active{transition:opacity .25s var(--ease)}.sheet-enter-active .sheet,.sheet-leave-active .sheet{transition:transform .35s var(--ease)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .sheet,.sheet-leave-to .sheet{transform:translateY(100%)}.pop-enter-active,.pop-leave-active{transition:opacity .18s,transform .2s var(--ease);transform-origin:top left}.pop-enter-from,.pop-leave-to{opacity:0;transform:scale(.96)}.pg-enter-active{transition:opacity .28s var(--ease),transform .28s var(--ease)}.pg-leave-active{display:none}.pg-enter-from{opacity:0;transform:translateY(10px)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.sk{background:#ffffff24;border-radius:4px;animation:pulse 1.4s ease-in-out infinite}.sk.hero{height:190px}.sk.card{height:96px;border:0;padding:0}.sk.line{height:14px}@keyframes pulse{0%,to{opacity:.35}50%{opacity:.85}}.confetti{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:fall linear forwards}@keyframes fall{to{transform:translate3d(var(--dx),105vh,0) rotate(var(--rot));opacity:.9}}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;text-align:center;color:var(--muted)}.empty svg{width:36px;height:36px;fill:none;stroke:var(--ember);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.spinner{padding:28px;text-align:center;color:var(--muted)}.dot{width:12px;height:12px;border-radius:2px;display:inline-block;background:var(--ember)}.amount{font:700 1rem/1 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.amount.pos{color:var(--ink)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.confetti{display:none}}.menu-btn:disabled{cursor:default;opacity:.7}.menu-btn.install:after{content:none}.ic-step{flex:none;width:44px;height:44px;border-radius:4px;background:transparent;border:2px solid var(--ember);display:flex;align-items:center;justify-content:center}.ic-step svg{width:24px;height:24px;fill:none;stroke:var(--ember);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
