@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/inter-latin-var.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/inter-latin-ext-var.woff2) format("woff2");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}:root{--ink:#17140f;--ink-soft:#6b645a;--paper:#f7f3ec;--line:#e2dbd0;--brand:#17140f;--brand-bg:#f7f3ec;--surface:#fff;--radius:18px;--font:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:var(--paper)}a{color:inherit}button,input,select,textarea{font:inherit}.page{max-width:480px;margin:0 auto;padding:24px 16px 48px}.page h1{font-size:28px;margin:0 0 8px}.muted{color:var(--ink-soft)}.small{font-size:13px}.prose{max-width:640px;margin:0 auto;padding:32px 16px 48px;line-height:1.6;font-family:var(--font)}.prose h1{font-size:28px;margin:0 0 20px}.prose h2{font-size:18px;margin:24px 0 6px}.prose p{margin:0 0 12px}.flash{background:var(--brand);color:var(--brand-bg);padding:12px 16px;border-radius:var(--radius);margin:0 0 20px;font-weight:600}.flash a{color:inherit}.offer{display:block;width:100%;background:var(--brand);color:#fff;padding:12px;border-radius:12px;margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px;margin:8px 0 16px}.dot{aspect-ratio:1;border-radius:50%;border:3px solid var(--brand);background:transparent;transition:transform .2s ease}.dot.filled{background:var(--brand)}.dot.icon{background:#fff;border-color:var(--brand);overflow:hidden;display:grid;place-items:center}.dot.icon img{width:100%;height:100%;object-fit:cover}.wallet-btn{display:inline-block;margin:4px 0 16px;line-height:0}.wallet-btn img{height:48px;width:auto}.wallet-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 16px}.wallet-row .wallet-btn{margin:0}.apple-wallet-btn{display:inline-flex;align-items:center;height:48px;padding:0 20px;border-radius:10px;background:#000;color:#fff;font-size:16px;font-weight:600;line-height:1;text-decoration:none}.count{font-size:40px;margin:0 0 8px}.count,.redeem{font-weight:700}.redeem{width:100%;padding:18px;border:0;border-radius:var(--radius);background:var(--brand);color:var(--brand-bg);font-size:18px}a.redeem{display:block;box-sizing:border-box;text-align:center;text-decoration:none}.redeem-question{font-weight:700}.redeem-cancel{text-align:center;margin:12px 0 0}.staff-qr{margin:0 0 16px}.qr-box{background:#fff;color:#17140f;padding:12px;border-radius:12px;width:-moz-fit-content;width:fit-content;text-align:center}.qr-box,.qr-box svg{max-width:100%;margin:0 auto}.qr-box svg{display:block;width:220px;height:auto}.qr-box p{margin:6px 0 0;font-size:13px;line-height:1.3;max-width:220px}.card-foot{font-size:13px;color:var(--ink-soft)}.card-foot,.msg-switch{margin-top:24px;text-align:center}.msg-switch p{margin:0}.link-btn{background:none;border:0;padding:12px 8px;font:inherit;font-size:13px;color:var(--ink-soft);text-decoration:underline;cursor:pointer}.link-btn:hover{color:var(--ink)}.code-form{margin-top:24px;display:grid;grid-gap:8px;gap:8px}.code-form input{padding:10px;border:2px solid var(--brand);border-radius:10px;font:inherit;width:100%}.code-form button{padding:12px;border:0;border-radius:10px;background:var(--brand);color:var(--brand-bg);font-weight:700}.tick-mark{width:120px;height:120px;border-radius:50%;margin:0 auto 24px;background:var(--brand);position:relative}.tick-mark:after{content:"";position:absolute;left:44px;top:26px;width:26px;height:54px;border:solid var(--brand-bg);border-width:0 8px 8px 0;transform:rotate(45deg)}.admin{max-width:720px;margin:0 auto;padding:16px}.admin-nav{display:flex;gap:16px;padding:8px 0 16px;border-bottom:1px solid var(--line);margin-bottom:16px}.form{display:grid;grid-gap:14px;gap:14px}.form label{display:grid;grid-gap:6px;gap:6px;font-weight:600}.form label.choice{display:flex;flex-direction:row;align-items:center;gap:8px}.form input,.form select,.form textarea{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.form button{padding:14px;border:0;border-radius:12px;background:var(--ink);color:#fff;font-weight:700}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.hours{display:grid;grid-template-columns:60px 1fr;grid-gap:8px 12px;gap:8px 12px;align-items:center}.link-box{font-family:ui-monospace,monospace;background:#fff;border:1px solid var(--line);padding:10px;border-radius:10px;word-break:break-all}.form-error,.form-note{padding:12px 14px;border-radius:12px;margin:0 0 18px;font-size:14px}.form-note{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft)}.form-error{background:#fdecec;color:#7a1f1f}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.table-scroll{overflow-x:auto}.table-scroll table{min-width:560px}.location-list{display:grid;grid-gap:16px;gap:16px;margin:0 0 20px}.location-tags{margin-top:14px;display:grid;grid-gap:4px;gap:4px}.location-tags code{word-break:break-all}.location-remove{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px}.location-remove button{padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:600;cursor:pointer}.location-remove button:disabled{opacity:.5;cursor:not-allowed}.tag-move{display:flex;gap:6px;align-items:center}.auth{--tt-ink:#1d1d1f;--tt-mid:#6e6e73;--tt-fine:#6e6e73;--tt-blue:#0066cc;--tt-blue-focus:#0071e3;--tt-canvas:#f5f5f7;--tt-line:#e6e6e9;min-height:100dvh;display:flex;flex-direction:column;background:var(--tt-canvas);color:var(--tt-ink);font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.auth ::selection{background:var(--tt-blue);color:#fff}.auth-head{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(16px,4vw,32px)}.auth-brand{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:17px;letter-spacing:-.01em;text-decoration:none;color:inherit}.auth-by{font-size:13px;color:var(--tt-mid);text-decoration:none}.auth-by:hover{color:var(--tt-ink)}.auth-card{width:min(100%,440px);margin:clamp(16px,6vh,64px) auto auto;background:#fff;border:1px solid var(--tt-line);border-radius:18px;padding:clamp(24px,4vw,36px);box-shadow:0 10px 30px rgba(29,29,31,.06)}.auth-card-wide{width:min(100%,640px)}.auth-card h1{font-size:28px;line-height:1.1;letter-spacing:-.02em;margin:0 0 8px;font-weight:700}.auth-lead{margin:0 0 20px;color:var(--tt-mid);line-height:1.5}.auth-card .form-error,.auth-card .form-note{margin:0 0 16px;border-radius:12px}.auth-form label{font-weight:600;font-size:14px}.auth-form input{padding:12px 14px;border:1px solid #86868b;border-radius:12px;background:#fff;font-size:16px}.auth-form input:focus-visible{outline:2px solid var(--tt-blue-focus);outline-offset:2px;border-color:var(--tt-blue)}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:14px 24px;border:0;border-radius:9999px;cursor:pointer;background:var(--tt-blue);color:#fff;font-weight:600;font-size:16px;text-decoration:none;transition:transform .12s ease-out,background-color .16s ease}.auth-btn:hover{background:#0058b0}.auth-btn:active{transform:scale(.97)}.auth-btn:focus-visible{outline:2px solid var(--tt-blue-focus);outline-offset:2px}.auth-form .auth-btn,.auth-form button.auth-btn{width:100%;margin-top:4px;background:var(--tt-blue);color:#fff;border-radius:9999px;font-weight:600}.auth-form button.auth-btn:hover{background:#0058b0}.auth-btn-quiet{background:transparent;color:var(--tt-blue);border:1px solid var(--tt-blue)}.auth-btn-quiet:hover{background:rgba(0,102,204,.06)}.auth-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;font-size:14px}.auth-links a{color:var(--tt-blue);text-decoration:none;text-underline-offset:3px}.auth-links a:hover{text-decoration:underline}.auth-fine{margin:20px 0 0;font-size:13px;color:var(--tt-fine);line-height:1.5}.auth-fine a{color:var(--tt-blue);text-decoration:none}.auth-foot{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;padding:32px 16px 28px;font-size:13px}.auth-foot a{color:var(--tt-mid);text-decoration:none}.auth-foot a:hover{color:var(--tt-ink)}.loyal-foot{--tt-ink:currentColor;--tt-blue:#0066cc;margin:16px 0 0;text-align:center;font-size:13px;color:var(--brand)}.loyal-foot a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;padding:6px 0}.loyal-foot a:focus-visible span,.loyal-foot a:hover span{text-decoration:underline}.cx{container:cx/inline-size;min-height:100dvh;background:var(--cx-bg);color:var(--cx-ink);font-family:var(--font);font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%}.cx-framed{min-height:0}.cx-col{max-width:480px;margin:0 auto}.cx a{color:var(--cx-ink);text-underline-offset:3px}.cx :focus-visible{outline:3px solid var(--cx-ink);outline-offset:2px}.cx .muted{color:var(--cx-muted)}.cx .small{font-size:13px}.cx-band{background:var(--cx-main);color:var(--cx-on-main);border-radius:0 0 20px 20px}.cx-id{display:flex;align-items:center;gap:12px;padding:14px 16px}.cx-logo{flex:none;width:44px;height:44px;border-radius:10px;background:#fff;object-fit:contain}.cx-band h1{margin:0;font-size:22px;line-height:1.2;font-weight:700;overflow-wrap:anywhere;color:inherit}.cx-strip{position:relative;isolation:isolate;overflow:hidden;margin:0 16px;padding:12px;border-radius:14px;background:var(--cx-bg)}.cx-strip-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.cx-strip--photo:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:-1}.cx-strip .grid{grid-template-columns:repeat(5,minmax(0,40px));justify-content:center;gap:10px;margin:0}.cx-band--compact .cx-strip .grid{grid-template-columns:repeat(5,minmax(0,32px));gap:8px}.cx .dot{border-color:var(--cx-accent)}.cx .dot.filled{background:var(--cx-main)}.cx-same .cx-strip:not(.cx-strip--photo) .dot.filled{background:var(--cx-accent)}.cx-strip--photo .dot{border-color:#fff;background:rgba(255,255,255,.18)}.cx-strip--photo .dot.filled{background:var(--cx-main)}.cx-strip--photo .dot.icon,.cx-strip--white .dot.filled{background:#fff}.cx-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 16px 12px}.cx-reward{margin:0;font-size:16px;font-weight:600;overflow-wrap:anywhere}.cx-band .count{flex:none;margin:0;font-size:20px;font-weight:700}@container cx (max-width: 359px){.cx-id{padding:12px 16px}.cx-logo{width:40px;height:40px}.cx-band h1{font-size:20px}}.cx-body{padding:16px 16px 24px}.cx-body h2{margin:0 0 4px;font-size:22px;line-height:1.25;font-weight:700}.cx-welcome{margin:0 0 16px}.cx .flash{background:var(--cx-main);color:var(--cx-on-main);font-weight:600}.cx .flash,.cx .offer{border:2px solid var(--cx-accent);border-radius:14px;padding:12px 14px;margin:0 0 16px}.cx .offer{background:transparent;color:var(--cx-ink)}.cx-form{display:grid;grid-gap:12px;gap:12px;margin:0 0 12px}.cx .code-form label,.cx-form label{display:grid;grid-gap:6px;gap:6px;font-size:15px;font-weight:600}.cx .code-form input,.cx .cx-input{width:100%;height:48px;padding:0 14px;border:2px solid var(--cx-accent);border-radius:12px;background:#fff;color:#17140f;font-size:17px}.cx-terms{font-size:14px;line-height:1.45}.cx-terms p{margin:2px 0 0}.cx-terms p+p{margin-top:4px}.cx-terms a{position:relative}.cx-terms a:after{content:"";position:absolute;inset:-9px -6px}.cx .cx-btn,.cx .redeem{display:block;width:100%;min-height:52px;padding:12px 16px;border:2px solid var(--cx-accent);border-radius:14px;background:var(--cx-main);color:var(--cx-on-main);font-size:18px;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.cx .redeem{min-height:56px}.cx .cx-btn:disabled{opacity:.7;cursor:default}.cx .code-form{margin:0 0 16px}.cx .code-form button{min-height:48px;border:2px solid var(--cx-accent);border-radius:12px;background:transparent;color:var(--cx-ink);font-weight:700}.cx .wallet-row{margin:0 0 16px}.cx .wallet-row:empty{display:none}.cx .apple-wallet-btn{color:#fff;box-shadow:0 0 0 1px var(--cx-ink)}.cx .wallet-btn:not(.apple-wallet-btn){border-radius:24px;box-shadow:0 0 0 1px var(--cx-ink)}.cx .staff-qr{margin-bottom:12px}.cx .qr-box{border:2px solid var(--cx-accent)}.cx .cx-offers-line{margin:0 0 8px;text-align:center;line-height:1.35}.cx .redeem-question{font-size:18px;font-weight:700}.cx .link-btn{display:inline-flex;align-items:center;justify-content:center;color:var(--cx-ink);min-height:44px}.cx .card-foot{margin-top:8px;font-size:14px;color:var(--cx-muted)}.cx .foot-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center}.cx .foot-links>a,.cx .foot-links>form{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0}.cx .foot-links>:not(:last-child):after{content:"\00b7";margin:0 6px;color:var(--cx-muted);text-decoration:none}.cx .foot-links .link-btn,.cx .foot-links a{color:var(--cx-muted);font-size:13px;padding:0}.cx .foot-links .link-btn{min-height:44px}.cx-code-heading{margin:0 0 12px}.cx .cx-data-section{margin:0 0 20px;padding-top:16px;border-top:1px solid var(--cx-muted)}.cx .cx-data-section h3{margin:0 0 4px;font-size:18px;line-height:1.3;font-weight:700}.cx .cx-data-section p{margin:0 0 12px}.cx .cx-data-section p.muted{margin:0}.cx .cx-btn-quiet{background:transparent;color:var(--cx-ink)}.cx .cx-newcode{margin:0;text-align:center}.cx .cx-newcode .link-btn{font-size:14px;color:var(--cx-ink);text-decoration:underline;padding:0 8px}.cx .cx-scope{margin:0;padding:0;border:0;min-width:0;display:grid;grid-gap:0;gap:0}.cx .cx-radio{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:600}.cx .cx-radio input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--cx-accent)}.cx .cx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cx .cx-pointer{margin:16px 0 0}.cx .cx-pointer a{position:relative}.cx .cx-pointer a:after{content:"";position:absolute;inset:-12px -6px}@container cx (max-width: 369px){.cx .foot-links:has(>:nth-child(4)){display:grid;grid-template-columns:1fr 1fr;justify-items:center}.cx .foot-links:has(>:nth-child(4))>:after{content:none}}.cx .loyal-foot{color:var(--cx-ink)}.cx .loyal-foot a{min-height:44px}.cx-tick{text-align:center;padding-top:32px}.cx-tick h2{font-size:26px;margin:0 0 8px}.cx-tick p{margin:0 0 4px}.cx .tick-mark{background:var(--cx-accent)}.cx .tick-mark:after{border-color:var(--cx-on-accent)}.cx-state{margin:0 0 16px}.cx-state p{margin:0 0 12px}.cx-state>:last-child{margin-bottom:0}.cx .cx-link{display:inline-flex;align-items:center;min-height:44px}.cx-ready{font-size:20px;line-height:1.3;font-weight:700}.cx-locked{padding:12px 14px}.cx-confirm,.cx-locked{border:2px solid var(--cx-accent);border-radius:14px}.cx-confirm{padding:16px}.cx-confirm .redeem-question{margin:0 0 4px;font-size:20px;line-height:1.3}.cx-confirm .muted{margin:0 0 16px}.cx-confirm .redeem-cancel{margin:12px 0 0}.cx .redeem-cancel a{display:flex;align-items:center;justify-content:center;min-height:48px;font-weight:600}.cx-stop>p:not(.flash):not(.muted){margin:0 0 16px;font-size:20px;line-height:1.3;font-weight:700}.cx-deleted>p:not(.flash){margin:0 0 14px}.cx-deleted>p:first-of-type{font-size:20px;line-height:1.3;font-weight:700}@container cx (max-width: 359px){.cx-meta{padding:8px 16px 10px}.cx-meta p{line-height:1.2}.cx-body{padding-top:12px}.cx-welcome{margin-bottom:12px}.cx-form{gap:10px}}@keyframes cx-stamp-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.cx .dot.cx-land{animation:cx-stamp-in .32s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.2s + var(--i) * 80ms)}.cx .cx-btn:active,.cx .redeem:active{transform:scale(.98)}}.scan-figure{margin:4px 0 6px;font-size:34px;line-height:1.1;letter-spacing:-.02em;font-weight:700}.scan-result{margin:4px 0 14px;font-size:22px;line-height:1.3;font-weight:600}.auth-form select{padding:12px 14px;border:1px solid #86868b;border-radius:12px;background:#fff;font-size:16px}