@import "https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap";:root{--np-bg:#faf8f5;--np-surface:#fff;--np-text:#1a1612;--np-text-muted:#7a7168;--np-text-faint:#b0a99f;--np-border:#e8e3dc;--np-border-light:#f0ece6;--np-accent:#c2703a;--np-accent-soft:#f5ece4;--np-success:#3a7c6a;--np-success-soft:#e6f3ef;--np-warn:#c9963a;--np-warn-soft:#fdf5e6;--np-danger:#b34040;--np-font-body:"Lexend", system-ui, sans-serif;--np-font-display:"Lexend", system-ui, sans-serif;--np-radius-sm:6px;--np-radius-md:12px;--np-radius-lg:20px;--np-radius-full:999px;--np-shadow-sm:0 1px 3px #1a16120f;--np-shadow-md:0 4px 16px #1a161214;--np-shadow-lg:0 8px 32px #1a16121a;--np-ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--np-font-body);background:var(--np-bg);color:var(--np-text);min-height:100dvh;line-height:1.5;overflow-x:hidden}.np-app{max-width:480px;margin:0 auto;padding:0 16px 100px;box-shadow:0 0 40px #00000080}.np-banner{background:var(--np-warn-soft);color:#6b5b2e;z-index:100;border-bottom:1px solid #e8dcc6;align-items:flex-start;gap:8px;max-width:480px;margin:0 auto;padding:10px 16px;font-size:.8rem;line-height:1.4;display:flex;position:sticky;top:0}.np-banner-icon{flex-shrink:0;font-size:1rem;line-height:1.2}.np-banner-dismiss{color:#6b5b2e;cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 2px;font-size:1.1rem}.np-banner-dismiss:hover{opacity:1}.np-header{padding:28px 0 4px}.np-header-brand{font-family:var(--np-font-display);letter-spacing:-.02em;color:var(--np-text);font-size:1.5rem;font-weight:700}.np-header-brand span{color:var(--np-accent)}.np-header-sub{color:var(--np-text-muted);margin-top:2px;font-size:.85rem}.np-toolbar{justify-content:space-between;align-items:center;padding:20px 0 12px;display:flex}.np-toolbar-label{font-family:var(--np-font-display);color:var(--np-text);font-size:1.1rem;font-weight:600}.np-view-toggle{background:var(--np-border-light);border-radius:var(--np-radius-full);gap:2px;padding:3px;display:flex}.np-view-btn{border-radius:var(--np-radius-full);cursor:pointer;width:34px;height:30px;color:var(--np-text-muted);transition:all .2s var(--np-ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.np-view-btn[data-active=true]{background:var(--np-surface);color:var(--np-text);box-shadow:var(--np-shadow-sm)}.np-view-btn svg{width:16px;height:16px}.np-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;gap:16px;width:calc(100% + 32px);margin-left:-16px;margin-right:-16px;padding:4px 7.5% 20px;scroll-padding-left:7.5%;display:flex;overflow-x:auto}.np-carousel::-webkit-scrollbar{display:none}.np-carousel-slide{scroll-snap-align:center;flex:0 0 85%;min-width:0}.np-dots{justify-content:center;gap:6px;padding-bottom:24px;display:flex}.np-dot{background:var(--np-border);cursor:pointer;width:6px;height:6px;transition:all .3s var(--np-ease);border:none;border-radius:50%;padding:0}.np-dot[data-active=true]{background:var(--np-text);border-radius:3px;width:20px}.np-card{border-radius:var(--np-radius-lg);box-shadow:var(--np-shadow-md);transition:transform .4s var(--np-ease);overflow:hidden}.np-card-top{color:#fff;padding:24px 24px 20px;position:relative;overflow:hidden}.np-card-fav{cursor:pointer;z-index:2;color:#ffffff80;transition:color .2s var(--np-ease), transform .2s var(--np-ease);background:0 0;border:none;padding:4px;position:absolute;top:14px;right:14px}.np-card-fav:hover{color:#ffffffd9;transform:scale(1.15)}.np-star-icon--filled{color:#fbbf24}.np-card-fav .np-star-icon--filled{color:#fbbf24;filter:drop-shadow(0 1px 2px #0003)}.np-card-top:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1f 0%,#0000 50%);position:absolute;inset:0}.np-card-venue{text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-bottom:4px;font-size:.75rem}.np-card-name{font-family:var(--np-font-display);letter-spacing:-.01em;margin-bottom:16px;font-size:1.35rem;font-weight:700}.np-card-progress{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.np-card-count{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;line-height:1}.np-card-cap{opacity:.65;font-size:.85rem}.np-card-full-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--np-radius-full);text-transform:uppercase;letter-spacing:.06em;background:#fff3;margin-left:8px;padding:3px 10px;font-size:.7rem;font-weight:600;animation:2s ease-in-out infinite np-pulse;display:inline-block}@keyframes np-pulse{0%,to{opacity:1}50%{opacity:.6}}.np-stamps{background:var(--np-surface);padding:20px 24px 24px}.np-stamp-grid{gap:8px;display:grid}.np-stamp-grid[data-cols="5"]{grid-template-columns:repeat(5,1fr)}.np-stamp-grid[data-cols="4"]{grid-template-columns:repeat(4,1fr)}.np-stamp{aspect-ratio:1;border-radius:var(--np-radius-md);transition:all .3s var(--np-ease);justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:relative}.np-stamp--empty{border:2px dashed var(--np-border);background:var(--np-bg)}.np-stamp--filled{color:#fff;box-shadow:var(--np-shadow-sm)}.np-stamp--filled svg{width:20px;height:20px}.np-stamp--filled{animation:np-stamp-in .4s var(--np-ease) both}@keyframes np-stamp-in{0%{opacity:0;transform:scale(.5)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.np-list{flex-direction:column;gap:10px;padding:4px 0 24px;display:flex}.np-list-item{background:var(--np-surface);border-radius:var(--np-radius-md);box-shadow:var(--np-shadow-sm);cursor:pointer;transition:transform .2s var(--np-ease), box-shadow .2s var(--np-ease);align-items:center;gap:10px;padding:14px 16px;display:flex}.np-list-item:hover{box-shadow:var(--np-shadow-md);transform:translateY(-1px)}.np-list-fav{cursor:pointer;color:var(--np-text-faint);transition:color .2s var(--np-ease), transform .2s var(--np-ease);background:0 0;border:none;flex-shrink:0;padding:2px}.np-list-fav:hover{color:var(--np-text-muted);transform:scale(1.15)}.np-list-fav .np-star-icon--filled{color:#fbbf24}.np-list-pip{border-radius:var(--np-radius-sm);color:#fff;width:40px;height:40px;font-family:var(--np-font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.np-list-info{flex:1;min-width:0}.np-list-name{font-size:.9rem;font-weight:600;line-height:1.3}.np-list-venue{color:var(--np-text-muted);font-size:.78rem}.np-list-balance{text-align:right;flex-shrink:0}.np-list-balance-count{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.np-list-balance-label{color:var(--np-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.np-rewards{padding-bottom:24px}.np-section-title{font-family:var(--np-font-display);color:var(--np-text);margin-bottom:12px;font-size:1.05rem;font-weight:600}.np-reward-item{background:var(--np-surface);border-radius:var(--np-radius-md);box-shadow:var(--np-shadow-sm);align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.np-reward-icon{border-radius:var(--np-radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.np-reward-info{flex:1}.np-reward-name{font-size:.88rem;font-weight:600}.np-reward-desc{color:var(--np-text-muted);font-size:.76rem}.np-reward-cost{border-radius:var(--np-radius-full);white-space:nowrap;flex-shrink:0;padding:4px 10px;font-size:.75rem;font-weight:600}.np-reward-cost--available{background:var(--np-success-soft);color:var(--np-success)}.np-reward-cost--locked{background:var(--np-border-light);color:var(--np-text-faint)}.np-terms-toggle{color:var(--np-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:4px;padding:4px 0;font-size:.78rem;display:flex}.np-terms-toggle svg{width:14px;height:14px;transition:transform .3s var(--np-ease)}.np-terms-toggle[data-open=true] svg{transform:rotate(90deg)}.np-terms-content{transition:grid-template-rows .35s var(--np-ease);grid-template-rows:0fr;display:grid}.np-terms-content[data-open=true]{grid-template-rows:1fr}.np-terms-inner{overflow:hidden}.np-terms-text{color:var(--np-text-muted);border-top:1px solid var(--np-border-light);margin-top:8px;padding:8px 0 4px;font-size:.76rem;line-height:1.55}.np-history{padding-bottom:20px}.np-tx-item{border-bottom:1px solid var(--np-border-light);align-items:center;gap:12px;padding:11px 0;display:flex}.np-tx-item:last-child{border-bottom:none}.np-tx-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;display:flex}.np-tx-icon--earn{background:var(--np-success-soft)}.np-tx-icon--spend{background:#fce8e8}.np-tx-info{flex:1;min-width:0}.np-tx-note{font-size:.85rem;font-weight:500}.np-tx-meta{color:var(--np-text-muted);font-size:.73rem}.np-tx-amount{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.88rem;font-weight:700}.np-tx-amount--earn{color:var(--np-success)}.np-tx-amount--spend{color:var(--np-danger)}.np-qr-fab{z-index:200;background:var(--np-text);color:#fff;border-radius:var(--np-radius-full);font-family:var(--np-font-body);cursor:pointer;transition:transform .2s var(--np-ease), box-shadow .2s var(--np-ease);border:none;align-items:center;gap:8px;padding:14px 24px 14px 18px;font-size:.88rem;font-weight:600;display:flex;position:fixed;bottom:24px;right:50%;transform:translate(50%);box-shadow:0 6px 24px #1a16124d}.np-qr-fab:hover{transform:translate(50%)translateY(-2px);box-shadow:0 8px 32px #1a161266}.np-qr-fab:active{transform:translate(50%)translateY(0)}.np-qr-fab svg{width:20px;height:20px}.np-qr-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:300;animation:np-fade-in .2s var(--np-ease);background:#1a161299;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes np-fade-in{0%{opacity:0}to{opacity:1}}.np-qr-modal{background:var(--np-surface);border-radius:var(--np-radius-lg);text-align:center;width:90%;max-width:340px;box-shadow:var(--np-shadow-lg);animation:np-slide-up .35s var(--np-ease);padding:32px 28px}@keyframes np-slide-up{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.np-qr-title{font-family:var(--np-font-display);margin-bottom:4px;font-size:1.2rem;font-weight:700}.np-qr-sub{color:var(--np-text-muted);margin-bottom:20px;font-size:.82rem}.np-qr-code{background:var(--np-bg);border-radius:var(--np-radius-md);justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto 20px;display:flex;position:relative;overflow:hidden}.np-qr-pattern{grid-template-rows:repeat(11,1fr);grid-template-columns:repeat(11,1fr);gap:2px;width:160px;height:160px;display:grid}.np-qr-cell{border-radius:1px}.np-qr-cell--dark{background:var(--np-text)}.np-qr-cell--light{background:0 0}.np-qr-close{background:var(--np-border-light);border-radius:var(--np-radius-full);font-family:var(--np-font-body);color:var(--np-text);cursor:pointer;border:none;padding:10px 28px;font-size:.88rem;font-weight:600;transition:background .15s}.np-qr-close:hover{background:var(--np-border)}.np-divider{background:var(--np-border-light);height:1px;margin:8px 0 24px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
