@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b0b0b;--paper:#151515;--ink:#f4f4f2;--muted:#a3a39c;--accent:#e4f21c;--accent-strong:#eef75e;--on-accent:#0b0b0b;--line:#2a2a2a;--field:#707070;--soft:#1f1f1f;--input:#101010;--tint:#e4f21c12;--danger:#ff6b5b;--danger-bg:#ff6b5b21;--danger-ink:#ffb3a9;--ok:#4ade80;--ok-bg:#4ade8021;--ok-ink:#9ff0bd;--warn:#f5b83d;--warn-bg:#f5b83d21;--warn-ink:#ffd98a;--focus:#e4f21c;--display:"Geist Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;font-family:Geist Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background-color:var(--bg);background-image:radial-gradient(60rem 32rem at 0 0,#e4f21c0f,#0000 65%);background-attachment:fixed;min-height:100vh;margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:.2em 0 .4em;font-weight:800;line-height:1.15}h1{font-size:2rem}h2{font-size:1.3rem}h3{font-size:1.1rem}p{margin:.5em 0}a{color:var(--accent);text-underline-offset:3px;font-weight:600}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}code{background:var(--soft);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:.95em}.page{max-width:36rem;margin:0 auto;padding:16px 16px 48px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin:16px 0;padding:20px}.center{text-align:center}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:.92rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.btn{border:2px solid var(--accent);background:var(--accent);width:100%;min-height:52px;color:var(--on-accent);font:inherit;text-align:center;cursor:pointer;border-radius:12px;margin-top:12px;padding:12px 18px;font-size:1.05rem;font-weight:700;text-decoration:none;display:block}.btn:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-big{min-height:76px;font-size:1.25rem}.btn-dark{border-color:var(--field);color:var(--ink);background:#000}.btn-dark:hover:not(:disabled){background:var(--soft);border-color:var(--ink)}.btn-outline,.btn-ghost{color:var(--accent);background:0 0}.btn-ghost{border-color:var(--field);color:var(--ink)}.btn-outline:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--soft);color:var(--ink)}.btn-danger{background:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#e0503f;border-color:#e0503f}.btn-small,.btn-inline{width:auto;margin-top:0}.btn-small{min-height:44px;padding:8px 16px;font-size:.95rem;display:inline-block}.field .btn-small{margin-top:10px}.field{margin-top:16px}.field label{margin-bottom:6px;font-weight:700;display:block}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input:not([type]){border:2px solid var(--field);background:var(--input);width:100%;min-height:50px;color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px;font-size:max(16px,1rem)}#code{text-transform:uppercase;letter-spacing:.08em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.row{gap:8px;display:flex}.row input{flex:1;min-width:0}.check{align-items:flex-start;gap:12px;margin-top:16px;display:flex}.check input{width:24px;height:24px;accent-color:var(--accent);flex:none;margin:2px 0 0}.terms{margin-left:36px}.terms summary{width:fit-content;color:var(--accent);cursor:pointer;padding:10px 0;font-weight:600}.terms ul{margin:0;padding-left:1.2em}.alert{background:var(--danger-bg);color:var(--danger-ink);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-radius:10px;padding:12px 14px}.note{background:var(--soft);border-radius:10px;padding:12px 14px}.badge{background:var(--danger-bg);color:var(--danger-ink);border-radius:999px;padding:4px 12px;font-weight:700;display:inline-block}.badge-soft{background:var(--soft);color:var(--ink);font-size:.9rem}.list,.plain{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:12px 0;display:flex}.list li:last-child{border-bottom:0}.plain li{padding:4px 0}.history time{color:var(--muted)}.brand{border-radius:16px;margin-top:8px;padding:24px 20px}.brand h1{font-size:2.2rem}.brand-offer{font-size:1.15rem;font-weight:700}.brand a{color:inherit}.brand a:focus-visible{outline-color:currentColor}.brand-link{margin-bottom:0;font-size:.95rem}.brand-cta{border:2px solid;border-radius:999px;align-items:center;min-height:44px;margin-top:8px;padding:8px 18px;text-decoration:none;display:inline-flex}.brand-cta:hover{text-decoration:underline}.member-card{border-radius:20px;margin-top:8px;padding:20px;box-shadow:0 12px 32px #0000008c}.member-head p{margin:0}.member-tenant{letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;font-weight:700}.member-name{font-family:var(--display);font-size:1.7rem;line-height:1.2}.reward{border-radius:12px;margin:14px 0 0;padding:12px 14px;font-size:1.1rem;font-weight:700}.reward span{font-size:.95rem;font-weight:500;display:block}.stamps{grid-template-columns:repeat(var(--cols,4), 1fr);gap:10px;max-width:320px;margin:18px auto 8px;display:grid}.stamp{aspect-ratio:1;border:2px dashed;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:700;display:grid}.stamp.on{border-style:solid;border-color:#0000;font-size:1.4rem}@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.stamp.fresh{animation:none}}.member-progress,.notice{text-align:center;margin:4px 0;font-weight:700}.notice{min-height:1.5em;font-size:1.1rem}.qr-box{color:#1f1a16;text-align:center;background:#fff;border-radius:16px;margin-top:12px;padding:16px}.qr{max-width:100%;height:auto;margin:0 auto;display:block}.code{letter-spacing:.12em;margin:8px 0 0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.6rem;font-weight:700}.code-small{color:var(--muted);margin:0;font-size:1.05rem}.qr-help{color:#4a4a4a;margin:4px 0 0}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.topbar p{margin:0}.topbar-tenant{font-family:var(--display);font-size:1.3rem;font-weight:700}@media (width<=639px){.topbar{flex-wrap:wrap}.topbar-actions{flex:100%}.topbar-actions .btn{flex:auto;padding-inline:12px}}.stats{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 8px;display:grid}.stats div{background:var(--soft);border:1px solid var(--line);border-radius:12px;flex-direction:column;justify-content:space-between;padding:12px;display:flex}.stats dt{color:var(--muted);font-size:.9rem}.stats dd{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:800}.stats-ready{color:var(--accent);letter-spacing:0;font-size:.95rem;display:block}.receipt{border:2px solid var(--ok);background:var(--ok-bg);color:var(--ok-ink);border-radius:12px;margin:12px 0;padding:12px 14px}.receipt p{margin:2px 0}.receipt .muted{color:var(--ok-ink)}.receipt-dup{border-color:var(--warn);background:var(--warn-bg);color:var(--warn-ink)}.receipt-dup .muted{color:var(--warn-ink)}.receipt-title{font-size:1.1rem;font-weight:700}.confirm{border:2px solid var(--danger);background:var(--danger-bg);border-radius:12px;margin-top:12px;padding:12px}.scanner{aspect-ratio:1;background:#000;border-radius:16px;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{border:3px solid var(--accent);border-radius:16px;position:absolute;inset:16%;box-shadow:0 0 0 999px #00000059}.scanner-hint{color:#fff;text-align:center;text-shadow:0 1px 3px #000;margin:0;font-weight:700;position:absolute;bottom:8px;left:0;right:0}@property --sweep{syntax:"<percentage>";inherits:false;initial-value:-40%}:root{--glass:#16161494;--glass-edge:#ffffff14;--glass-lip:#ffffff0f;--glow:#e4f21c61;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}body{isolation:isolate;background-image:none}body:before,body:after{content:"";z-index:-1;pointer-events:none;position:fixed}body:before{background:radial-gradient(38vmax 30vmax at 18% 12%,#e4f21c26,#0000 70%),radial-gradient(34vmax 28vmax at 86% 78%,#ffa8261c,#0000 70%),radial-gradient(26vmax 22vmax at 70% 8%,#e4f21c0d,#0000 70%);animation:38s ease-in-out infinite alternate drift;inset:-20vmax}body:after{opacity:.09;mix-blend-mode:overlay;background-image:var(--grain);inset:0}@keyframes drift{50%{transform:translate(4vmax,3vmax)rotate(8deg)scale(1.06)}to{transform:translate(-3vmax,5vmax)rotate(-6deg)scale(1.02)}}.panel{background:var(--glass);border-color:var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(1.25);backdrop-filter:blur(18px)saturate(1.25);box-shadow:inset 0 1px 0 var(--glass-lip), 0 24px 48px -28px #000000e6}.stats div{border-color:var(--glass-edge);background:#ffffff09}h1{letter-spacing:-.035em;font-size:clamp(2rem,1.4rem + 3vw,2.75rem)}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.eyebrow{letter-spacing:.22em}.stats dd,.code{font-variant-numeric:tabular-nums}.page>*{animation:rise .28s var(--ease-out) backwards}.page>:nth-child(2){animation-delay:30ms}.page>:nth-child(n+3){animation-delay:60ms}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;filter:none;transform:none}}.btn{isolation:isolate;transition:transform .35s var(--spring), box-shadow .3s var(--ease-out), background-color .2s, border-color .2s, color .2s;position:relative;overflow:hidden}.btn:after{content:"";z-index:-1;background:linear-gradient(105deg,#0000 0 40%,#ffffff8c 50%,#0000 60%) 0 0/250% 100% no-repeat;background-position:var(--sweep) 0;opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.btn:not(.btn-ghost,.btn-outline,.btn-dark,.btn-danger):hover:not(:disabled){box-shadow:0 0 0 1px var(--accent), 0 10px 34px -6px var(--glow), 0 0 60px -20px var(--glow);transform:translateY(-1px)}.btn:not(.btn-ghost,.btn-outline,.btn-dark,.btn-danger):hover:not(:disabled):after{opacity:.55;animation:sweep .9s var(--ease-out)}@keyframes sweep{0%{--sweep:140%}to{--sweep:-40%}}.btn-ghost:hover:not(:disabled),.btn-outline:hover:not(:disabled),.btn-dark:hover:not(:disabled){border-color:#e4f21c8c;transform:translateY(-1px)}.btn:active:not(:disabled){transition-duration:80ms;transform:translateY(1px)scale(.98)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input:not([type]){transition:border-color .2s, box-shadow .25s var(--ease-out);background:#00000073}input:not([type=checkbox],[type=radio]):focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px #e4f21c24, 0 0 24px -6px var(--glow);outline:none}a:not(.btn,.brand-cta){transition:text-decoration-color .2s, text-underline-offset .25s var(--spring);text-decoration-color:#e4f21c59;text-decoration-thickness:1px}a:not(.btn,.brand-cta):hover{text-underline-offset:5px;text-decoration-color:currentColor}.brand a:not(.btn,.brand-cta){text-decoration-color:currentColor}.brand{isolation:isolate;position:relative;overflow:hidden;box-shadow:0 28px 60px -30px #000000f2}.brand:before,.brand:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.brand:before{background:radial-gradient(120% 90% at 100% 0,#ffffff14,#0000 55%),linear-gradient(#0000 55%,#00000014)}.brand:after{opacity:.18;mix-blend-mode:overlay;background-image:var(--grain)}.brand-cta{transition:transform .35s var(--spring), background-color .2s}.brand-cta:hover{background-color:#ffffff1f;transform:translateY(-1px)}.member-card{isolation:isolate;transform-origin:50% 100%;transition:transform .6s var(--spring), box-shadow .4s var(--ease-out);position:relative;overflow:hidden;transform:perspective(900px)rotateX(0);box-shadow:inset 0 1px #ffffff40,0 30px 60px -28px #000000f2,0 12px 24px -16px #000c}.member-card:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:soft-light;animation:holo 7s var(--ease-out) 1.2s 1;background:linear-gradient(115deg,#0000 30%,#ffffff0d 42%,#ffffff47 50%,#e4f21c1f 53%,#ffffff0d 58%,#0000 70%);position:absolute;inset:-50% -10%;transform:translate(-70%)}.member-card:after{content:"";z-index:-1;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:var(--grain);position:absolute;inset:0}@keyframes holo{0%{transform:translate(-70%)}28%,to{transform:translate(70%)}}@media (hover:hover){.member-card:hover{transform:perspective(900px)rotateX(5deg)translateY(-3px);box-shadow:inset 0 1px #ffffff4d,0 40px 70px -30px #000,0 16px 30px -18px #000000d9}}.reward{box-shadow:0 10px 24px -14px #0009}.stamp{position:relative}.stamp.on{box-shadow:inset 0 -3px 6px #0000002e,0 4px 12px -4px #00000073}.stamp.fresh{animation:stamp-in .7s var(--spring) backwards}.stamp.fresh:after{content:"";animation:ripple 1.1s var(--ease-out) .15s both;pointer-events:none;border:2px solid;border-radius:50%;position:absolute;inset:-2px}@keyframes stamp-in{0%{opacity:0;transform:scale(1.8)rotate(-18deg)}60%{opacity:1;transform:scale(.92)rotate(4deg)}to{transform:none}}@keyframes ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.notice:not(:empty){animation:rise .5s var(--spring) backwards}.qr-box{box-shadow:0 0 0 1px #fff9, 0 22px 50px -22px #000000e6, 0 0 70px -30px var(--glow)}.receipt{animation:receipt-in .6s var(--spring) backwards}@keyframes receipt-in{0%{opacity:0;transform:translateY(10px)scale(.96);box-shadow:0 0 #4ade8080}60%{opacity:1;box-shadow:0 0 0 10px #4ade8000}to{transform:none}}.confirm{animation:rise .45s var(--spring) backwards}.scanner{box-shadow:0 0 0 1px var(--glass-edge), 0 30px 60px -30px #000000f2}.scanner-frame{--c:var(--accent);--l:34px;--t:4px;background:linear-gradient(var(--c), var(--c)) top left / var(--l) var(--t), linear-gradient(var(--c), var(--c)) top left / var(--t) var(--l), linear-gradient(var(--c), var(--c)) top right / var(--l) var(--t), linear-gradient(var(--c), var(--c)) top right / var(--t) var(--l), linear-gradient(var(--c), var(--c)) bottom left / var(--l) var(--t), linear-gradient(var(--c), var(--c)) bottom left / var(--t) var(--l), linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--t), linear-gradient(var(--c), var(--c)) bottom right / var(--t) var(--l);background-repeat:no-repeat;border:0;border-radius:18px;box-shadow:0 0 0 999px #00000073}.scanner-frame:after{content:"";background:linear-gradient(180deg, transparent calc(50% - 10px), #e4f21c2e calc(50% - 2px), var(--accent) 50%, #e4f21c2e calc(50% + 2px), transparent calc(50% + 10px));animation:2.2s ease-in-out infinite alternate laser;position:absolute;inset:8%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}@keyframes laser{0%{transform:translateY(-50%)}to{transform:translateY(50%)}}.scanner-hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:max-content;max-width:calc(100% - 24px);text-shadow:none;background:#0000008c;border-radius:999px;margin:0 auto;padding:6px 14px;font-size:.92rem;bottom:12px}[aria-busy=true]{animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.55}}.member-name{letter-spacing:-.02em;font-weight:700}.home{position:relative}.welcome{padding:28px 0 4px}.greet{color:var(--accent);margin:0;font-weight:700}.welcome h1{letter-spacing:-.045em;min-height:1em;margin:.15em 0 .1em;font-size:clamp(2.6rem,1.4rem + 5.5vw,4.6rem);line-height:.95}.welcome .muted{margin:0}.qr-tiles{gap:20px;margin-top:26px;display:grid}@media (width>=640px){.qr-tiles{grid-template-columns:1.15fr 1fr;align-items:stretch}}.qr-tile{isolation:isolate;text-align:center;border:1px solid var(--glass-edge);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.25);backdrop-filter:blur(18px)saturate(1.25);box-shadow:inset 0 1px 0 var(--glass-lip), 0 24px 48px -30px #000000e6;border-radius:24px;flex-direction:column;align-items:center;padding:26px 22px 22px;display:flex;position:relative}.qr-tile h2{margin:14px 0 2px;font-size:1.45rem}.qr-tile .muted{margin:0}.qr-tile-primary{border-color:#e4f21c47}.qr-tile-primary:before{content:"";z-index:-1;border-radius:inherit;border:1px solid var(--accent);opacity:0;animation:beckon 3.6s var(--ease-out) 1.2s 1;pointer-events:none;position:absolute;inset:-1px}@keyframes beckon{0%{opacity:.7;transform:scale(1)}60%,to{opacity:0;transform:scale(1.06)}}.qr-tile-zoom{color:inherit;font:inherit;cursor:zoom-in;background:0 0;border:0;border-radius:20px;justify-items:center;gap:12px;padding:0;display:grid}.qr-tile-zoom:focus-visible{outline-offset:6px}.qr-frame{transition:transform .5s var(--spring);padding:14px;line-height:0;display:block;position:relative}.qr-frame .qr{box-shadow:0 0 0 1px #ffffff80, 0 22px 46px -22px #000000f2, 0 0 70px -30px var(--glow);border-radius:14px}.qr-frame:before{content:"";--c:var(--accent);--l:30px;--t:3px;background:linear-gradient(var(--c), var(--c)) top left / var(--l) var(--t), linear-gradient(var(--c), var(--c)) top left / var(--t) var(--l), linear-gradient(var(--c), var(--c)) top right / var(--l) var(--t), linear-gradient(var(--c), var(--c)) top right / var(--t) var(--l), linear-gradient(var(--c), var(--c)) bottom left / var(--l) var(--t), linear-gradient(var(--c), var(--c)) bottom left / var(--t) var(--l), linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--t), linear-gradient(var(--c), var(--c)) bottom right / var(--t) var(--l);filter:drop-shadow(0 0 6px var(--glow));pointer-events:none;background-repeat:no-repeat;border-radius:6px;animation:2.8s ease-in-out aim;position:absolute;inset:0}@keyframes aim{50%{opacity:.75;transform:scale(.965)}}.qr-frame:after{content:"";mix-blend-mode:multiply;opacity:0;animation:pass 4.5s var(--ease-out) .8s 1;pointer-events:none;background:linear-gradient(#0000 calc(50% - 14px),#e4f21c29 calc(50% - 2px),#e4f21ce6 50%,#e4f21c29 calc(50% + 2px),#0000 calc(50% + 14px));border-radius:14px;position:absolute;inset:14px}@keyframes pass{0%{opacity:0;transform:translateY(-50%)}8%{opacity:1}42%{opacity:1;transform:translateY(50%)}50%,to{opacity:0;transform:translateY(50%)}}@media (hover:hover){.qr-tile-zoom:hover .qr-frame{transform:scale(1.035)rotate(-1deg)}}.qr-tile-zoom:active .qr-frame{transition-duration:.12s;transform:scale(.98)}.qr-tile-hint{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.qr-tile-hint:before{content:"";border:2px solid;border-radius:50%;width:10px;height:10px;box-shadow:5px 5px 0 -3.5px}@media (hover:hover){.qr-tile-zoom:hover .qr-tile-hint{color:var(--accent)}}.qr-tile-open{align-items:center;gap:6px;min-height:44px;margin-top:10px;font-weight:700;display:inline-flex}.qr-tile-open:after{content:"→";transition:transform .3s var(--spring)}.qr-tile-open:hover:after,.my-card:hover .qr-tile-open:after{transform:translate(4px)}@media (hover:none) and (width<=639px){.qr-tile-primary .qr-tile-open{background:var(--accent);width:100%;min-height:52px;color:var(--on-accent);box-shadow:0 12px 30px -12px var(--glow);border-radius:14px;justify-content:center;margin-top:16px;text-decoration:none}}.my-card{color:var(--ink);text-decoration:none}.my-card .member-card{width:100%;transition:transform .6s var(--spring);margin:0;transform:rotate(-1.6deg)}@media (hover:hover){.my-card:hover .member-card{transform:rotate(0)translateY(-3px)}}.qr-zoom{border:1px solid var(--glass-edge);width:min(92vw,460px);max-height:94dvh;color:var(--ink);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#121210db;border-radius:28px;margin:auto;padding:0;overflow:auto;box-shadow:0 40px 120px -30px #000}.qr-zoom::backdrop{-webkit-backdrop-filter:blur(10px)saturate(.8);backdrop-filter:blur(10px)saturate(.8);background:#050505b8}.qr-zoom-body{text-align:center;justify-items:center;gap:6px;padding:26px 22px 22px;display:grid}.qr-zoom-body h2{margin:0;font-size:1.6rem}.qr-zoom-body .muted{margin:0 0 10px}.qr-zoom-code{width:100%;padding:0;line-height:0}.qr-zoom-code .qr{width:100%;height:auto;box-shadow:0 0 0 1px #ffffffb3, 0 0 0 10px #e4f21c1a, 0 0 90px -20px var(--glow);border-radius:20px}.qr-zoom-help{margin:12px 0 0;font-weight:700}.qr-zoom-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.qr-zoom-actions .btn{margin-top:6px;padding-inline:22px}::view-transition-group(*){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.9,.2,1.05)}::view-transition-old(root){animation-duration:.3s}::view-transition-new(root){animation-duration:.3s}.config{margin-top:28px;padding:0}.config summary{min-height:52px;color:var(--muted);cursor:pointer;align-items:center;gap:10px;padding:12px 20px;font-weight:700;list-style:none;display:flex}.config summary::-webkit-details-marker{display:none}.config summary:before{content:"+";border:1px solid var(--field);width:22px;height:22px;transition:transform .3s var(--spring);border-radius:6px;place-items:center;display:grid}.config[open] summary:before{transform:rotate(45deg)}.config .field,.config .alert,.config>.hint{margin:0 20px 20px}@media (width>=1000px){.home{max-width:62rem;padding:64px 32px 72px}.qr-tiles{gap:28px}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.order-hint{color:var(--muted);border:1px dashed #e4f21c73;border-radius:16px;margin:16px 0 0;padding:14px 16px}.order-hint strong{color:var(--accent)}.order-here{background:var(--accent);color:var(--on-accent);box-shadow:0 14px 34px -14px var(--glow);transition:transform .35s var(--spring);border-radius:16px;gap:2px;margin-top:16px;padding:16px 64px 16px 18px;text-decoration:none;display:grid;position:relative}.order-here strong{font-size:1.15rem}.order-here span{opacity:.75;font-size:.9rem}.order-here:after{content:"→";font-size:1.4rem;font-weight:800;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.order-here:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}.member-card:hover{transform:none}}.staff-help{align-items:center;gap:6px;display:inline-flex}.staff-help svg{color:var(--accent);flex:none}.howto{border:1px solid var(--line);background:#ffffff05;border-radius:12px;margin:12px 0 0}.howto>summary{min-height:44px;color:var(--muted);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:8px 14px;font-weight:600;list-style:none;display:flex}.howto>summary::-webkit-details-marker{display:none}.howto>summary:after{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:8px;height:8px;margin:-4px 2px 0 auto;transition:transform .2s cubic-bezier(.23,1,.32,1);transform:rotate(45deg)}.howto[open]>summary:after{margin-top:4px;transform:rotate(-135deg)}.howto>summary:hover{color:var(--ink)}.howto>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.howto-icon{color:var(--accent);flex:none}.howto[open]>summary{color:var(--ink)}.howto-body{padding:0 16px 14px;font-size:.95rem}.howto .howto-body ol,.howto .howto-body ul{list-style:revert;margin:0;padding:0 0 0 1.3em;display:block}.howto .howto-body li{background:0 0;border:0;padding:0;display:list-item}.howto .howto-body li+li{margin-top:6px}.howto-body p{margin:8px 0 0}.howto-body>:first-child{margin-top:0}.howto-more a{color:var(--accent);font-weight:600}@media (prefers-reduced-motion:reduce){.howto>summary:after{transition:none}}.offers h2{scroll-margin-top:16px}.offers h2:focus,.offer h3:focus,.offer-code:focus{outline:none}.offers-list{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.offer{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:14px 16px;scroll-margin-top:16px}.offer.is-target{background:#e4f21c0d;border-color:#e4f21c8c}.offer h3{overflow-wrap:anywhere;align-items:flex-start;gap:8px;margin:0;font-size:1.05rem;display:flex}.offer-icon{color:var(--accent);flex:none;margin-top:2px}.offer-desc{margin:6px 0 0}.offer-when{color:var(--muted);gap:8px;margin:8px 0 0;font-size:.9rem;display:flex}.offer-when svg{flex:none;margin-top:3px}.offer-go{margin-top:14px}.offer .hint{margin:8px 0 0}.offer-why{background:var(--input);color:var(--ink);border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.92rem}.offer-terms{margin-top:10px;font-size:.9rem}.offer-terms summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;font-weight:600;display:flex}.offer-terms p{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;margin:0 0 4px}.offer-code{color:#1f1a16;text-align:center;animation:offer-code-in .24s var(--ease-out) both;background:#fff;border-radius:14px;justify-items:center;gap:6px;margin-top:14px;padding:16px;display:grid}.offer-code-title{margin:0;font-weight:700}.offer-code-text{color:#5b534c;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;max-width:100%;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.75rem}.offer-code-left{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.offer-code .btn-ghost{color:#1f1a16;border-color:#b9b2aa;margin-top:4px}.offer-code .btn-ghost:hover:not(:disabled){color:#1f1a16;background:#f1eeea}@keyframes offer-code-in{0%{opacity:0;transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.offer-code{animation:none}}.offers-error{border:1px solid #ff6b5b59;margin:10px 0 0}.offers-recent-title{margin:18px 0 4px;font-size:1rem}.offers-recent time{color:var(--muted);font-size:.9rem}.offer-desk h1{overflow-wrap:anywhere;margin-top:0}.offer-desk .eyebrow{color:var(--accent)}.offer-desk-who{margin:0}.offer-desk-who .code-small{display:inline}.offer-desk-left{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600;display:block}.offer-desk-blocked{border:2px solid var(--warn);background:var(--warn-bg);color:var(--warn-ink);border-radius:12px;margin:12px 0;padding:12px 14px;font-weight:600}.offer-desk-blocked p{margin:2px 0}.offer-desk-error{border:1px solid #ff6b5b59}.offer-desk textarea{width:100%}.carta{--c-surface:#121212;--c-surface-2:#1a1a1a;--c-line:#ffffff14;--c-line-strong:#ffffff29;--c-muted:#a1a1a1;--c-subtle:#737373;--c-ease:cubic-bezier(.23, 1, .32, 1);max-width:64rem;font-family:Geist Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.carta h1,.carta h2,.carta h3{font-family:inherit}.carta-hero{border-radius:22px;justify-items:start;gap:6px;padding:24px 20px 20px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 24px 48px -28px #000000e6}.carta-hero-art{opacity:.16;pointer-events:none;position:absolute;bottom:-36px;right:-28px;transform:rotate(-14deg)}.carta-hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,1.5rem + 2.4vw,2.75rem);font-weight:700;line-height:1.05}.carta-hero-sub{opacity:.78;margin:0 0 10px;font-size:.9375rem;font-weight:500}.carta-hero-cta{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-height:44px;transition:background-color .15s, transform .1s var(--c-ease);background:#ffffff1a;border:1.5px solid;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.carta-hero-cta:active{transform:scale(.97)}.carta-order,.carta-club{border:1px solid var(--c-line);background:var(--c-surface);color:var(--ink);border-radius:16px;align-items:center;gap:14px;margin:14px 0 0;padding:14px 16px;font-size:.875rem;line-height:1.4;text-decoration:none;display:flex}.carta-order>span:not(.carta-order-icon),.carta-club>span:not(.carta-order-icon){gap:2px;min-width:0;display:grid}.carta-order strong,.carta-club strong{font-size:.9375rem;font-weight:600}.carta-order span span,.carta-club span span{color:var(--c-muted);font-weight:400}.carta-order-icon{width:40px;height:40px;color:var(--accent);background:#e4f21c1f;border-radius:12px;flex:none;place-items:center;display:grid}.carta-order-go{color:var(--c-muted);flex:none;margin-left:auto}.carta-order.is-table{border-color:#e4f21c66}.carta-bar{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--c-line);background:#0a0a0adb;gap:12px;margin:20px -16px 8px;padding:12px 16px;display:grid;position:sticky;top:0}.carta-search{align-items:center;display:flex;position:relative}.carta-search svg{color:var(--c-subtle);pointer-events:none;position:absolute;left:14px}.carta-search input{border:1px solid var(--c-line-strong);background:var(--c-surface);width:100%;min-height:46px;color:var(--ink);font:inherit;border-radius:999px;padding:0 14px 0 42px;font-size:1rem}.carta-search input:focus-visible{border-color:#e4f21cb3;outline:none;box-shadow:0 0 0 3px #e4f21c29}.carta-tiles{scroll-snap-type:x proximity;scrollbar-width:none;grid-auto-columns:132px;grid-auto-flow:column;gap:10px;margin:0 -16px;padding:0 16px 2px;list-style:none;display:grid;overflow-x:auto}.carta-tiles::-webkit-scrollbar{display:none}.carta-tiles li{scroll-snap-align:start}.carta-tile{border:1px solid var(--c-line);background:var(--c-surface);width:100%;min-height:84px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .15s, border-color .15s, transform .1s var(--c-ease);border-radius:16px;align-content:end;gap:2px;padding:12px 14px;display:grid;position:relative;overflow:hidden}.carta-tile:active{transform:scale(.97)}.carta-tile-art{opacity:.08;pointer-events:none;position:absolute;top:-10px;right:-12px;transform:rotate(-12deg)}.carta-tile-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;overflow:hidden}.carta-tile-count{color:var(--c-muted);font-size:.75rem}.carta-tile[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.carta-tile[aria-pressed=true] .carta-tile-count{color:#0a0a0aad}.carta-tile[aria-pressed=true] .carta-tile-art{opacity:.18}.carta-section{margin-top:22px;scroll-margin-top:150px}.carta-section h2{letter-spacing:-.025em;align-items:center;gap:8px;margin:0 0 12px;font-size:1.25rem;font-weight:700;display:flex}.carta-count{color:var(--c-muted);letter-spacing:0;background:#ffffff14;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:500}.carta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.carta-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}}.carta-card{border:1px solid var(--c-line);background:var(--c-surface);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.carta-media{aspect-ratio:1;background:radial-gradient(circle at 50% 40%, #232323, var(--c-surface-2) 70%);place-items:center;display:grid;position:relative}.carta-media img{object-fit:cover;width:100%;height:100%}.carta-media-empty{color:var(--c-subtle)}.carta-out{color:var(--danger-ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a0ac7;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:600;position:absolute;top:10px;left:10px}.carta-card.is-out .carta-media img,.carta-card.is-out .carta-media-empty{filter:grayscale();opacity:.45}.carta-body{flex-direction:column;flex:1;gap:4px;padding:12px 12px 14px;display:flex}.carta-body h3{letter-spacing:-.01em;margin:0;font-size:.9375rem;font-weight:600;line-height:1.25}.carta-desc{color:var(--c-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.carta-price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:auto 0 0;padding-top:8px;font-size:1.0625rem;font-weight:700}.carta-card.is-out .carta-price{color:var(--c-muted)}.carta-empty{color:var(--c-muted);margin:24px 0}.link-button{color:var(--accent);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.carta-club{margin-top:28px}@media (hover:hover) and (pointer:fine){.carta-tile:hover:not([aria-pressed=true]){border-color:var(--c-line-strong);background:var(--c-surface-2)}.carta-hero-cta:hover{background:#ffffff2e}.carta-order.is-table:hover,.carta-club:hover{border-color:var(--c-line-strong)}}.waiter-wrap{margin:12px 0 0}.waiter{width:100%;min-height:52px;color:var(--ink);font:inherit;cursor:pointer;background:#121212;border:1px solid #ffffff29;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:1rem;font-weight:600;transition:background-color .15s,border-color .15s,transform .1s cubic-bezier(.23,1,.32,1);display:flex}.waiter:active:not(:disabled){transform:scale(.97)}.waiter:disabled{opacity:.6}.waiter-icon{width:34px;height:34px;color:var(--accent);background:#e4f21c1f;border-radius:10px;flex:none;place-items:center;display:grid}.waiter.is-called{cursor:default;background:#e4f21c0f;border-color:#e4f21c73;justify-content:flex-start;gap:12px;padding:10px 12px 10px 14px;font-size:.875rem;font-weight:400}.waiter.is-called .waiter-icon{background:var(--accent);color:var(--on-accent);animation:1.6s ease-in-out 2 waiter-ring}.waiter-text{gap:1px;min-width:0;display:grid}.waiter-text strong{font-size:.9375rem;font-weight:600}.waiter-text span{color:var(--muted)}.waiter-cancel{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;margin-left:auto;padding:0 12px;font-weight:500}@media (hover:hover) and (pointer:fine){.waiter:hover:not(:disabled,.is-called){background:#171717;border-color:#e4f21c80}.waiter-cancel:hover{color:var(--ink)}}@keyframes waiter-ring{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-14deg)}20%,40%{transform:rotate(14deg)}50%{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.waiter.is-called .waiter-icon{animation:none}}
