@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Oswald:wght@400;500;600;700&display=swap');
:root{--bg:#100f0d;--panel:#1b1916;--panel2:#26221d;--line:#38312a;--cream:#f5efdf;--muted:#a49a8b;--accent:#e7a84d;--radius:23px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font:15px/1.5 'DM Sans',sans-serif;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}p{margin:0 0 18px}h1,h2,h3{font-family:Oswald,Impact,'Arial Narrow',sans-serif;line-height:1.06;letter-spacing:-.026em;margin:0;font-weight:600}h1{font-size:clamp(54px,7.1vw,103px);text-transform:uppercase}h1 em,h3 em{font-style:normal;color:var(--accent)}h2{font-size:32px}h3{font-size:32px}.wrap{width:min(1160px,calc(100% - 42px));margin-inline:auto}.ambient{position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 550px 420px at 79% 14%,rgba(151,85,25,.11),transparent 74%),radial-gradient(ellipse 400px 450px at 0% 70%,rgba(146,78,24,.07),transparent 78%)}.topbar{min-height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #302a24;gap:20px}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--accent);transform:rotate(-8deg);border-radius:12px;color:var(--accent);font:700 34px Oswald;position:relative}.brand-mark span{font-size:9px;position:absolute;right:5px;top:2px}.brand-type{font-family:Oswald;font-weight:600;letter-spacing:.04em;font-size:19px;line-height:1.2;max-width:265px}.brand-type small{display:block;font:700 9px 'DM Sans';letter-spacing:.23em;color:var(--accent);margin-top:5px}.header-right{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--muted)}.live-dot,.pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);flex:none}.header-link{color:var(--accent);margin-left:10px}.customer-stage{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:48px;align-items:start;padding-top:66px;padding-bottom:90px}.intro{grid-column:1;grid-row:1;padding:35px 0 0}.eyebrow,.overline{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.mini-line{display:inline-block;width:21px;height:1px;background:var(--accent);vertical-align:middle;margin-right:8px}.intro h1{margin:24px 0}.intro>p{max-width:485px;font-size:17px;color:#c9bbaa;line-height:1.8}.intro-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:36px;color:#9c8f80;font-size:10px;font-weight:700;letter-spacing:.07em}.membership{grid-column:2;grid-row:1/span 2;position:relative;overflow:hidden;padding:29px;border:1px solid #68513a;border-radius:25px;background:linear-gradient(150deg,#31251a 0%,#201b16 27%,#171613 80%);box-shadow:0 32px 75px #0008,0 0 0 5px #ffffff05;min-height:610px}.card-glow{position:absolute;pointer-events:none;top:-170px;right:-100px;width:400px;height:380px;background:radial-gradient(circle,rgba(237,158,66,.19),transparent 69%)}.membership-top,.section-top,.qr-head,.stamps-heading,.membership-footer,.timer-row,.dash-hero{display:flex;justify-content:space-between;align-items:center;gap:14px}.membership-top{position:relative}.membership-top h2{font-size:37px;margin-top:8px}.outline-text{-webkit-text-stroke:1px var(--accent);color:transparent}.card-icon{font-size:38px;color:var(--accent)}.rule{height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.55;margin:26px 0}.welcome-area h3{font-size:45px;margin:13px 0}.welcome-area>p{color:var(--muted);font-size:13px;line-height:1.8}.form{display:flex;flex-direction:column;gap:16px;margin-top:20px}.form label,.panel>form label{display:flex;flex-direction:column;gap:8px;color:#b7a994;font-size:11px;font-weight:800;letter-spacing:.11em}.form input:not([type='checkbox']),.form select,.panel input:not([type='checkbox']),.panel select{width:100%;background:#12110f;color:var(--cream);border:1px solid #514436;outline:none;border-radius:11px;padding:15px 14px;min-height:52px;letter-spacing:normal;font-size:14px}.form input:focus,.panel input:focus,.panel select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e7a84d14}.form input[type=color]{height:55px;padding:5px;cursor:pointer}.consent{display:flex!important;flex-direction:row!important;align-items:start;line-height:1.4;letter-spacing:0!important;font-weight:500!important;font-size:11px!important}.consent input{margin-top:3px;accent-color:var(--accent)}.consent a{border-bottom:1px solid var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;background:var(--accent);color:#17120a;border:1px solid var(--accent);font-weight:800;font-size:12px;letter-spacing:.10em;text-transform:uppercase;border-radius:10px;padding:17px 19px;min-height:50px;transition:transform .2s,filter .2s}.btn:hover{filter:brightness(1.12);transform:translateY(-2px)}.btn span{font-size:20px}.btn.ghost{background:transparent;color:var(--accent)}.main-btn{width:100%}.fineprint,.hint,.qr-caption{color:#8b8074;font-size:11px;line-height:1.65}.fineprint{margin-top:16px}.membership-footer{margin-top:24px;padding-top:17px;border-top:1px solid #4b3c2f;color:#998977;font-size:9px;letter-spacing:.13em;font-weight:800}.stamps-heading h3{font-size:36px;margin-top:6px}.count{font-size:17px;color:#c5b6a4}.count strong{color:var(--accent);font:600 39px Oswald}.stamp-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:10px;margin:25px 0 21px}.stamp{aspect-ratio:1;display:grid;place-items:center;border:1px dashed #66523d;background:#2d251c;border-radius:13px;color:#78644e;font-size:25px}.stamp.filled{background:var(--accent);border-color:var(--accent);color:#1b120a;box-shadow:inset 0 0 0 4px #0002}.progress,.timer-track{height:5px;border-radius:30px;background:#4a3b2e;overflow:hidden}.progress>div,.timer-track>div{height:100%;background:var(--accent);transition:width .24s linear}.reward-status{font-size:12px;color:#dfbc88;margin:13px 0 22px}.qr-zone{background:#100f0e;border:1px solid #534332;border-radius:17px;padding:22px;text-align:center}.qr-head{text-align:left;margin-bottom:16px}.qr-head h3{font-size:29px;margin-top:5px}.rotating-icon{font-size:32px;color:var(--accent)}.qr-paper{padding:14px;border-radius:13px;background:white;display:flex;justify-content:center;align-items:center;max-width:255px;min-height:245px;margin:auto}.qr-paper img{display:block}.qr-error{color:#6b2020;font-size:12px}.timer-row{margin:18px 0 12px;color:#d3bb9a;font-size:10px;letter-spacing:.09em;font-weight:700}.timer-row span:last-child{color:#857869}.timer-track{height:3px}.qr-caption{margin:14px 0 0}.perks{grid-column:1;grid-row:2;border-top:1px solid #362c23;padding-top:24px;max-width:575px}.perk{display:flex;gap:20px;padding:19px 0;border-bottom:1px solid #302923}.perk b{font:500 28px Oswald;color:var(--accent)}.perk div{display:flex;flex-direction:column;gap:4px}.perk strong{font-size:15px}.perk span{color:var(--muted);font-size:12px}.perk-notice{font-size:11px;color:var(--accent);padding-top:19px}.footer{border-top:1px solid #322c24;padding:26px 0 37px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;color:#857b70;font-size:10px;letter-spacing:.1em}.footer strong{color:var(--accent)}.alert,.success{margin-top:20px;padding:15px;border-radius:12px;border:1px solid #9f6049;background:#40251e;color:#ffe2d5;font-size:13px}.success{background:#193d2d;border-color:#297953;color:#bbefcd}.workspace{padding:56px 0 85px}.workspace h1{margin:15px 0}.lead{color:var(--muted);max-width:570px;font-size:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-top:28px}.panel{background:#1b1916;border:1px solid #42372b;border-radius:22px;padding:29px}.panel h2{font-size:28px}.narrow{width:min(100%,490px);margin:auto}.center-stage{padding:75px 0;min-height:70vh}.center-stage .panel h1,.install h1{font-size:65px;margin:17px 0}.center-stage .panel p,.install p{color:var(--muted)}.install{padding-top:70px}.chip{font-size:9px;border:1px solid #554535;padding:7px 10px;border-radius:30px;letter-spacing:.08em;color:#c1ab91;display:inline-block}.chip.selected{background:var(--accent);color:#15110d;border-color:var(--accent)}.camera{width:100%;background:#0c0c0c;min-height:180px;max-height:320px;object-fit:cover;border-radius:12px;margin:20px 0 5px}.scan-result{margin-top:26px;border:1px dashed #574530;border-radius:15px;min-height:260px;padding:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:14px;color:var(--muted)}.scan-result h3{font-size:30px;color:var(--cream)}.scan-result p{margin:0}.scan-result .btn{width:100%}.big-symbol{font-size:74px;color:var(--accent)}.big-count{font:600 28px Oswald;color:var(--accent)}.dash-hero{align-items:end}.dash-actions{display:flex;gap:10px;flex-wrap:wrap}.merchant-nav{display:flex;gap:10px;overflow:auto;margin-top:28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.stat{background:linear-gradient(135deg,#282119,#191714);border:1px solid #4b3929;border-radius:19px;padding:25px;display:flex;flex-direction:column;gap:8px}.stat span{font-size:10px;color:var(--accent);letter-spacing:.15em;font-weight:800}.stat strong{font:600 58px Oswald}.stat small{color:var(--muted);font-size:11px}.customer-list{margin-top:15px}.customer-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #352d25;padding:13px 0}.customer-row div{display:flex;flex-direction:column;gap:3px}.customer-row small{color:var(--muted)}.link-btn{background:transparent;color:var(--accent);border:0;text-decoration:underline;font-size:11px}.muted{color:var(--muted);font-size:13px}.lower{margin-top:28px}.inline-fields{display:grid;grid-template-columns:1fr 1fr auto;align-items:end}.privacy-modal{position:fixed;inset:0;background:#000d;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.privacy-modal[hidden]{display:none}.privacy-modal .panel{max-width:570px;max-height:80vh;overflow:auto;position:relative}.privacy-modal p{color:var(--muted);margin:18px 0}.close-btn{position:absolute;right:20px;top:20px;background:transparent;border:0;color:white;font-size:20px}.honeypot{position:absolute!important;left:-10000px!important;opacity:0!important;width:1px!important;height:1px!important}
@media(max-width:940px){.customer-stage{grid-template-columns:1fr;gap:30px;padding-top:32px}.intro,.membership,.perks{grid-column:1;grid-row:auto}.intro{padding:0}.intro h1{font-size:clamp(50px,11vw,75px)}.intro-meta{margin-top:20px}.membership{max-width:520px;width:100%;margin:auto}.perks{max-width:520px;margin:auto;width:100%}.split{grid-template-columns:1fr}.dash-hero{align-items:start;flex-direction:column}.inline-fields{grid-template-columns:1fr}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1160px)}.topbar{min-height:80px}.brand-mark{height:40px;width:40px;font-size:29px}.brand-type{font-size:16px}.brand-type small{font-size:8px}.header-right{font-size:0}.header-right .live-dot{width:6px;height:6px}.header-link{font-size:10px}.customer-stage{padding-top:23px;padding-bottom:46px}.intro h1{font-size:58px;margin:13px 0}.intro>p{font-size:13px;line-height:1.7;margin-bottom:0}.intro-meta{font-size:8px;gap:12px}.membership{padding:21px;border-radius:20px;min-height:0}.membership-top h2{font-size:31px}.membership-footer{font-size:8px}.stamp-grid{gap:7px}.stamp{border-radius:9px;font-size:21px}.qr-zone{padding:16px}.qr-paper{min-height:237px}.timer-row{font-size:9px}.perks{padding-top:10px}.stats{gap:8px}.stat{padding:15px}.stat strong{font-size:35px}.panel{padding:20px}.footer{font-size:9px}.workspace h1{font-size:60px}.center-stage .panel h1{font-size:55px}}

/* BEEFALO V4 — Immersive member scanner and enhanced loyalty feel */
body.scan-open{overflow:hidden}.qr-zone-upgraded{background:radial-gradient(circle at 90% 0%,rgba(233,169,81,.15),transparent 43%),linear-gradient(140deg,#282019,#171412);border:1px solid rgba(237,179,96,.28);padding:25px!important;border-radius:20px;box-shadow:inset 0 1px rgba(255,255,255,.06)}
.qr-zone-upgraded h3{font-size:clamp(22px,4vw,31px)!important;letter-spacing:-.05em}.qr-zone-upgraded .qr-caption{max-width:450px;line-height:1.7}.card-identity{margin:20px 0;padding:15px 18px;border:1px solid rgba(238,184,112,.22);border-radius:12px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:rgba(0,0,0,.24)}.card-identity span{font-size:10px;color:#b7a597;letter-spacing:.12em}.card-identity strong{font-size:16px;color:#fff;letter-spacing:.05em;margin-right:auto}.scan-cta{width:100%;min-height:65px;display:flex!important;align-items:center;justify-content:center;gap:13px;font-size:14px;letter-spacing:.1em;box-shadow:0 12px 30px rgba(225,142,45,.15)}.scan-cta-icon{font-size:27px}.scan-helper{text-align:center;font-size:11px;color:#ae9982;margin:13px 0 0;letter-spacing:.03em}
.scanner-modal[hidden]{display:none!important}.scanner-modal{position:fixed;inset:0;z-index:300;background:rgba(3,3,3,.88);backdrop-filter:blur(16px);display:flex;justify-content:center;align-items:center;padding:18px;overflow:auto}.scanner-shell{width:min(100%,480px);background:radial-gradient(circle at 50% 2%,#382719,#141210 45%);border:1px solid #52402c;border-radius:24px;overflow:hidden;box-shadow:0 20px 95px rgba(0,0,0,.75)}.scanner-bar{display:flex;justify-content:space-between;align-items:center;padding:19px 23px;border-bottom:1px solid #332920}.scanner-bar .eyebrow{font-size:10px;color:#e9b56d}.scanner-close{color:#ffebcc;background:#30251c;border:1px solid #56432c;width:37px;height:37px;border-radius:50%;cursor:pointer}.scanner-content{padding:23px;text-align:center}.scanner-orbit{color:#e5ad61;font-size:30px}.scanner-content h2{font-size:clamp(29px,7vw,42px);color:#fff;letter-spacing:-.06em;margin:5px 0}.scanner-content h2 em{color:#e9ab56}.scanner-content p{color:#ae9b89;font-size:13px;margin:0 auto 17px;max-width:320px;line-height:1.6}.scanner-frame{position:relative;overflow:hidden;border-radius:18px;border:1px solid #59432b;background:#090909;min-height:235px;aspect-ratio:1.16;margin:0 auto 15px;isolation:isolate}.scanner-frame #customerReader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.scanner-frame video,.scanner-frame #customerReader video{width:100%!important;height:100%!important;object-fit:cover!important}.scanner-frame #customerReader img{max-width:100%}.scanner-frame #customerReader button{color:#151515}.scanner-corner{position:absolute;width:33px;height:33px;border:solid #e5aa60;z-index:4;pointer-events:none}.c1{left:18px;top:18px;border-width:3px 0 0 3px;border-radius:8px 0 0}.c2{right:18px;top:18px;border-width:3px 3px 0 0;border-radius:0 8px 0 0}.c3{left:18px;bottom:18px;border-width:0 0 3px 3px;border-radius:0 0 0 8px}.c4{right:18px;bottom:18px;border-width:0 3px 3px 0;border-radius:0 0 8px}.scanner-sweep{position:absolute;z-index:3;left:17%;width:66%;top:50%;height:2px;background:#efb568;box-shadow:0 0 17px #f3ae5d;animation:sweep 3s ease-in-out infinite alternate;pointer-events:none}@keyframes sweep{from{top:18%}to{top:82%}}.scanner-status{font-size:12px;min-height:35px;color:#d9c9b4;line-height:1.5;margin-bottom:13px}.scanner-status.success-state{color:#a7efb7}.scanner-content>.btn{width:100%;margin-bottom:12px}.scanner-fallback{display:flex;flex-direction:column;gap:7px;align-items:center}.scanner-fallback .link-btn{background:none;border:none;color:#eaba7c;text-decoration:underline;cursor:pointer}.manual-hint{font-size:10px;color:#85776a}@media(max-width:600px){.scanner-modal{padding:8px}.scanner-shell{max-height:96dvh;overflow:auto}.scanner-content{padding:17px}.scanner-frame{min-height:205px}.card-identity{gap:7px}.qr-zone-upgraded{padding:18px!important}}

/* ===== V5 — Canlı tarama, kutlama ve kasa deneyimi ===== */
#fxCanvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:500;display:none}
.toast{position:fixed;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%,30px);opacity:0;z-index:600;background:#193d2d;color:#c8f5d6;border:1px solid #2f8d5f;padding:14px 22px;border-radius:14px;font-weight:700;font-size:14px;letter-spacing:.02em;box-shadow:0 18px 50px #000a;transition:transform .35s cubic-bezier(.2,1.2,.4,1),opacity .35s;max-width:calc(100% - 32px);text-align:center}
.toast.show{transform:translate(-50%,0);opacity:1}.toast.bad{background:#40251e;border-color:#9f6049;color:#ffe2d5}

/* damga animasyonları */
.stamp.filled{animation:stampIn .5s cubic-bezier(.2,1.3,.4,1) both;animation-delay:calc(var(--i,0)*35ms)}
.stamp.just-earned{animation:stampPop .9s cubic-bezier(.2,1.4,.4,1) .15s both;position:relative;z-index:2}
.stamp.just-earned::after{content:"";position:absolute;inset:-6px;border-radius:18px;border:2px solid var(--accent);opacity:0;animation:stampRing 1.1s ease-out .3s}
@keyframes stampIn{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes stampPop{0%{transform:scale(.2) rotate(-25deg);opacity:0}55%{transform:scale(1.35) rotate(6deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes stampRing{0%{opacity:.9;transform:scale(.8)}100%{opacity:0;transform:scale(1.7)}}
.reward-status.ready{color:#1b120a;background:linear-gradient(100deg,var(--accent),#ffd58a);border-radius:12px;padding:13px 15px;font-weight:700;animation:glow 2s ease-in-out infinite}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(231,168,77,.0)}50%{box-shadow:0 0 28px 2px rgba(231,168,77,.45)}}

/* tarayıcı */
.scanner-frame{aspect-ratio:1;max-height:62vh}
.scanner-frame.hit{border-color:#53d38a;box-shadow:0 0 0 3px rgba(83,211,138,.35)}
.scanner-frame.hit .scanner-corner{border-color:#53d38a}.scanner-frame.hit .scanner-sweep{display:none}
.scanner-flash{position:absolute;inset:0;background:#fff;opacity:0;z-index:6;pointer-events:none}
.scanner-flash.go{animation:camFlash .5s ease-out}@keyframes camFlash{0%{opacity:.85}100%{opacity:0}}
.scanner-tools{position:absolute;right:10px;bottom:10px;z-index:7;display:flex;gap:8px}
.tool-btn{min-width:42px;height:42px;border-radius:50%;border:1px solid #ffffff55;background:#000a;color:#fff;font-size:16px;font-weight:700;backdrop-filter:blur(6px)}
.tool-btn.on{background:var(--accent);color:#17120a;border-color:var(--accent)}
.insecure-note{margin:0 0 12px;padding:12px 14px;border:1px solid #6b5230;background:#2a2016;border-radius:12px;color:#ecd2ab;font-size:12px;line-height:1.55;text-align:left}
.photo-btn{width:100%;justify-content:center}
.btn.ghost.active{background:var(--accent);color:#17120a}

/* kasa QR ekranı */
.qr-stage{position:relative;max-width:340px;margin:22px auto 6px}
.qr-ring{position:relative;padding:14px}
.qr-ring svg{position:absolute;inset:0;width:100%;height:100%}
.ring-bg{fill:none;stroke:#3a3026;stroke-width:2.2}
.ring-fg{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;transition:stroke-dashoffset .1s linear}
.qr-ring .qr-paper{position:relative;max-width:none;width:100%;aspect-ratio:1;min-height:0;padding:16px;border-radius:18px}
.qr-paper[data-kind="redeem"].live{box-shadow:0 0 0 5px var(--accent)}
.qr-paper canvas{width:100%!important;height:auto!important}
.qr-idle[hidden]{display:none}.qr-idle{display:flex;flex-direction:column;align-items:center;gap:8px;color:#a39786;font-size:54px;text-align:center}
.qr-idle small{font-size:12px;letter-spacing:.04em}
.qr-done{position:absolute;inset:14px;border-radius:18px;background:rgba(18,56,40,.96);color:#c8f5d6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;animation:doneIn .35s cubic-bezier(.2,1.3,.4,1)}
.qr-done[hidden]{display:none}
.qr-done-icon{width:72px;height:72px;border-radius:50%;background:#53d38a;color:#0b2a1b;display:grid;place-items:center;font-size:40px;font-weight:800}
.qr-done strong{font:600 26px Oswald,sans-serif;letter-spacing:.02em}.qr-done span{font-size:13px;opacity:.85}
@keyframes doneIn{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
.qr-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.qr-actions .btn{flex:1 1 200px;justify-content:center}

/* canlı hareketler */
.feed-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #352d25}
.feed-row div{display:flex;flex-direction:column;flex:1;min-width:0}.feed-row small{color:var(--muted)}.feed-row time{font-size:11px;color:var(--muted);white-space:nowrap}
.feed-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#2d251c;color:var(--accent);font-size:15px;flex:none}.feed-dot.reward{background:var(--accent);color:#17120a}

/* damga bağlantı sayfası */
.scan-result .big-icon{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:44px;font-weight:800;background:#2d251c;color:var(--accent)}
.scan-result.ok-state{border-color:#2f8d5f;border-style:solid;background:#12281e}.scan-result.ok-state .big-icon{background:#53d38a;color:#0b2a1b;animation:stampPop .8s cubic-bezier(.2,1.4,.4,1)}
.scan-result.err-state{border-color:#9f6049;border-style:solid}.scan-result.err-state .big-icon{background:#40251e;color:#ffb199}
.spinner{width:38px;height:38px;border-radius:50%;border:3px solid #4a3b2e;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.stamp,.stamp.filled,.stamp.just-earned,.stamp.just-earned::after,.reward-status.ready,.scanner-sweep,.qr-done{animation:none!important}}
