*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}button,a,[role=button],.card-pressable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:root{--bg-primary:#0f1115;--bg-secondary:#171a20;--bg-tertiary:#1e2128;--bg-elevated:#242831;--card-bg:#171a20;--border:#2b2f38;--border-subtle:#1e2128;--border-hover:#3a3f4a;--accent:#14b8a6;--accent-hover:#0d9488;--accent-light:#2dd4bf;--accent-subtle:#14b8a61a;--accent-muted:#14b8a629;--accent-glow:#14b8a640;--reward:#f5a524;--reward-hover:#d88a0f;--reward-subtle:#f5a5241a;--reward-muted:#f5a5242e;--text-primary:#f5f5f4;--text-secondary:#b8b8b3;--text-muted:#8a8a85;--error:#f43f5e;--error-subtle:#f43f5e1a;--warning:#f59e0b;--warning-subtle:#f59e0b1a;--success:#14b8a6;--success-subtle:#14b8a61a;--info:#3b82f6;--info-subtle:#3b82f61a;--gradient-primary:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);--gradient-accent:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%);--gradient-reward:linear-gradient(135deg,#f5a524 0%,#d88a0f 100%);--gradient-warm:linear-gradient(135deg,#f5a524 0%,#f43f5e 100%);--glass:#171a20d1;--glass-border:#ffffff0f;--nav-bg:#0f1115f2;--nav-border:#ffffff0d;--card-inset:inset 0 1px 0 #ffffff0a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 20px #00000073;--shadow-lg:0 16px 40px #0000008c;--spacing-xs:.5rem;--spacing-sm:.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--touch-target-min:44px;--border-radius-sm:10px;--border-radius-md:14px;--border-radius-lg:20px;--border-radius-xl:24px;--font-display:"Space Grotesk",-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11","ss01";overscroll-behavior-y:contain;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.55}[data-theme=light]{--bg-primary:#f7f2e8;--bg-secondary:#fffdf7;--bg-tertiary:#f1ebdb;--bg-elevated:#fffdf7;--card-bg:#fffdf7;--border:#e6dcc4;--border-subtle:#efe7d2;--border-hover:#d4c8a8;--accent:#0f766e;--accent-hover:#0b5a54;--accent-light:#14b8a6;--accent-subtle:#0f766e17;--accent-muted:#0f766e29;--accent-glow:#0f766e33;--reward:#d97706;--reward-hover:#b45309;--reward-subtle:#d977061f;--reward-muted:#d9770633;--text-primary:#2a2119;--text-secondary:#584b3d;--text-muted:#827666;--error:#b91c1c;--error-subtle:#b91c1c17;--warning:#b45309;--warning-subtle:#b453091a;--success:#0f766e;--success-subtle:#0f766e17;--info:#1d4ed8;--info-subtle:#1d4ed814;--gradient-primary:linear-gradient(135deg,#0f766e 0%,#0b5a54 100%);--gradient-accent:linear-gradient(135deg,#0f766e 0%,#0b5a54 100%);--gradient-reward:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);--gradient-warm:linear-gradient(135deg,#f59e0b 0%,#f43f5e 100%);--glass:#fffdf7e0;--glass-border:#78551e14;--nav-bg:#fffdf7f5;--nav-border:#78551e14;--card-inset:inset 0 1px 0 #ffffffe6;--shadow-sm:0 1px 2px #78551e0f;--shadow-md:0 2px 10px #78551e12,0 1px 3px #78551e0d;--shadow-lg:0 16px 40px #78551e1f,0 2px 8px #78551e0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] body{background:radial-gradient(ellipse 80% 60% at 20% 0%,#f5a5240f 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 100% 100%,#0f766e0d 0%,transparent 60%),var(--bg-primary);background-attachment:fixed}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.025em;font-weight:650}html{scroll-behavior:smooth;overflow-x:hidden}body{min-height:100vh;background:var(--bg-primary);overscroll-behavior:none;min-width:320px;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root{min-height:100vh;min-height:100dvh}input,button,textarea,select,a{min-height:var(--touch-target-min);font-family:inherit;font-size:16px}button{appearance:none;cursor:pointer;touch-action:manipulation}button:active:not(:disabled),a:active{opacity:.9;transform:scale(.97)}input:focus,button:focus,textarea:focus,select:focus{outline:none}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=search],textarea,select{appearance:none;border-radius:var(--border-radius-md);min-height:48px;padding:12px 16px;font-size:16px}input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--bg-tertiary)inset!important;-webkit-text-fill-color:var(--text-primary)!important}input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--bg-tertiary)inset!important;-webkit-text-fill-color:var(--text-primary)!important}input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--bg-tertiary)inset!important;-webkit-text-fill-color:var(--text-primary)!important}::selection{background:var(--accent);color:#fff}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}input[type=text],input[type=email],input[type=password],input[type=number],textarea{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:12px;padding:.875rem 1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}input::placeholder{color:var(--text-muted);opacity:.75}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideHint{0%,to{opacity:1;transform:translate(0)}50%{opacity:.6;transform:translate(5px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow),0 0 60px var(--accent-subtle)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes stampIn{0%{opacity:0;transform:scale(0)rotate(-180deg)}50%{transform:scale(1.3)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes stampPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes stampGlow{0%,to{box-shadow:0 0 #14b8a666}50%{box-shadow:0 0 20px 5px #14b8a699}}@keyframes rewardBounce{0%,to{transform:translateY(0)}25%{transform:translateY(-10px)}50%{transform:translateY(0)}75%{transform:translateY(-5px)}}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-card{background:var(--glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px}.stamp-new{animation:.6s ease-out stampIn}.stamp-collected{animation:2s ease-in-out infinite stampGlow}.card-active{transition:transform .1s;transform:scale(.98)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.animate-fade-in{animation:.4s ease-out fadeIn}.animate-slide-up{animation:.5s ease-out slideUp}.animate-scale-in{animation:.3s ease-out scaleIn}button{-webkit-user-select:none;user-select:none;transition:all .15s}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled){transform:translateY(-1px)}}button:active:not(:disabled){transform:scale(.97)}.pull-indicator{background:var(--bg-secondary);z-index:1000;opacity:0;border-radius:0 0 12px 12px;padding:8px 16px;transition:opacity .2s;position:fixed;top:0;left:50%;transform:translate(-50%)}.pull-indicator.visible{opacity:1}@media screen and (max-width:428px){:root{--spacing-lg:1.25rem;--spacing-xl:1.75rem}button,a{min-height:48px}}@media screen and (max-height:500px) and (orientation:landscape){:root{--spacing-lg:1rem;--spacing-xl:1.25rem}}@supports (-webkit-touch-callout:none){.scroll-container{-webkit-overflow-scrolling:touch}.fixed-bottom{position:fixed;bottom:0;left:0;right:0;transform:translateZ(0)}}@keyframes haptic{0%,to{transform:scale(1)}50%{transform:scale(.95)}}.haptic-tap{animation:.1s haptic}.card-pressable{transition:transform .15s,box-shadow .15s}.card-pressable:active{box-shadow:none;transform:scale(.98)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-transition{animation:.25s ease-out pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
