:root{--paper:#f4f6f2;--grid-line:#1c5e520f;--card:#fff;--line:#dde3dc;--ink:#1c2b33;--ink-soft:#5a6b74;--ink-faint:#93a1a8;--debit:#1e5edc;--debit-bg:#e5edff;--debit-ink:#173f94;--credit:#d97706;--credit-bg:#ffedd5;--credit-ink:#8a4b03;--stamp-ok:#0e7d45;--stamp-ok-bg:#e2f3e9;--stamp-no:#c2413b;--stamp-no-bg:#fbe9e7;--gold:#b98a2f;--radius:14px;--radius-sm:8px;--shadow:0 1px 3px #1c2b3314, 0 4px 16px #1c2b330f;--font-body:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, -apple-system, sans-serif;--font-num:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);font-family:var(--font-body);background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:24px 24px;margin:0;line-height:1.65}h1,h2,h3{margin:0;line-height:1.3}button{font-family:inherit;font-size:inherit;cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible,label:focus-within{outline:3px solid var(--debit);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:.01em}.voucher{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.eyebrow{letter-spacing:.14em;color:var(--ink-faint);text-transform:uppercase;font-size:.72rem;font-weight:700}.btn{background:var(--ink);color:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4em;padding:.7em 1.5em;font-weight:700;transition:transform 80ms,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-ghost{color:var(--ink);border:1.5px solid var(--line);background:0 0}.stamp{letter-spacing:.25em;text-indent:.25em;border:2.5px solid;border-radius:6px;padding:.15em .7em;font-weight:900;display:inline-block;transform:rotate(-4deg)}.stamp-ok{color:var(--stamp-ok);background:var(--stamp-ok-bg)}.stamp-no{color:var(--stamp-no);background:var(--stamp-no-bg)}.frame.svelte-12qhfyh{flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;padding:0 16px 48px;display:flex}header.svelte-12qhfyh{justify-content:space-between;align-items:center;padding:14px 2px;display:flex}.brand.svelte-12qhfyh{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark.svelte-12qhfyh{background:linear-gradient(100deg, var(--debit-bg) 0 49%, var(--credit-bg) 51% 100%);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:.8rem;font-weight:700}.brand-name.svelte-12qhfyh{letter-spacing:.06em;font-size:1.05rem;font-weight:900}.fitness.svelte-12qhfyh{background:var(--card);border:1px solid var(--line);border-radius:999px;align-items:baseline;gap:8px;padding:4px 14px;display:flex}.fitness-value.svelte-12qhfyh{font-size:1.05rem;font-weight:700}main.svelte-12qhfyh{flex:1}footer.svelte-12qhfyh{color:var(--ink-faint);text-align:center;margin-top:40px;font-size:.75rem}
