.scrollbar-thin{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.scrollbar-thin::-webkit-scrollbar{height:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent;border-radius:2px}.scrollbar-thin::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px;-webkit-transition:all .3s cubic-bezier(.16,1,.3,1);transition:all .3s cubic-bezier(.16,1,.3,1)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3);transform:scaleY(1.5)}.scrollbar-thin{scroll-snap-type:x mandatory}.image-transition{transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s cubic-bezier(.16,1,.3,1),filter .3s cubic-bezier(.16,1,.3,1)}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}@keyframes iosFadeIn{0%{opacity:0;transform:scale(.92) translateY(8px);filter:blur(4px)}60%{opacity:.8;transform:scale(1.02) translateY(-2px);filter:blur(0)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}.fade-in{animation:iosFadeIn .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes iosElasticBounce{0%{transform:scale(1)}30%{transform:scale(.98)}50%{transform:scale(1.02)}70%{transform:scale(.99)}to{transform:scale(1)}}.ios-bounce{animation:iosElasticBounce .4s cubic-bezier(.16,1,.3,1)}@keyframes iosSelection{0%{transform:scale(1) translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1)}to{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}}.ios-selected{animation:iosSelection .4s cubic-bezier(.16,1,.3,1) forwards}@media (max-width:640px){.thumbnail-strip{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding:16px}.thumbnail-strip button{scroll-snap-align:center;scroll-margin:8px}.image-container{overscroll-behavior-x:contain}}.ios-glass{background-color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.2)}.ios-glass,.ios-glass-dark{backdrop-filter:blur(20px) saturate(180%)}.ios-glass-dark{background-color:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.1)}@keyframes iosHaptic{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.ios-haptic{animation:iosHaptic .1s ease-in-out}.thumbnail-button{transition:all .4s cubic-bezier(.16,1,.3,1);transform-origin:center center}.thumbnail-button:hover{transform:scale(1.05) translateY(-2px)}.thumbnail-button.active{transform:scale(1.1) translateY(-4px)}.momentum-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.cart-drawer-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.pb-safe{padding-bottom:env(safe-area-inset-bottom,1rem)}.touch-manipulation{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRightMobile{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@media (max-width:640px){.slideInRight{animation:slideInRightMobile .4s cubic-bezier(.16,1,.3,1) forwards}}@supports (backdrop-filter:blur(20px)){.cart-backdrop{backdrop-filter:blur(20px) saturate(150%);background-color:rgba(0,0,0,.4)}}@keyframes mobilePress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.mobile-press:active{animation:mobilePress .1s ease-in-out}.quantity-button{transition:all .2s cubic-bezier(.16,1,.3,1)}.quantity-button:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(0,0,0,.15)}.quantity-button:active{transform:scale(.95);box-shadow:0 1px 3px rgba(0,0,0,.2)}@media (max-width:640px){.cart-drawer{width:100vw;max-width:none}.cart-item{padding:1rem;border-radius:12px}.cart-button{min-height:48px;min-width:48px}}@keyframes itemRemove{0%{opacity:1;transform:translateX(0) scale(1);max-height:200px}50%{opacity:.5;transform:translateX(20px) scale(.95)}to{opacity:0;transform:translateX(40px) scale(.8);max-height:0;padding:0;margin:0}}.item-removing{animation:itemRemove .3s ease-out forwards}.counter-update{transition:all .2s cubic-bezier(.16,1,.3,1)}.counter-update.updating{transform:scale(1.1);color:#3B82F6}.loading-pulse{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:loading 2s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.cart-drawer{border:2px solid}.cart-button{border:1px solid}}@media (prefers-color-scheme:dark){.cart-drawer{background-color:#1f2937;color:#f9fafb}.cart-backdrop{background-color:rgba(0,0,0,.7)}}:root{--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-secondary-50:#faf5ff;--color-secondary-100:#f3e8ff;--color-secondary-200:#e9d5ff;--color-secondary-300:#d8b4fe;--color-secondary-400:#c084fc;--color-secondary-500:#a855f7;--color-secondary-600:#9333ea;--color-secondary-700:#7c3aed;--color-secondary-800:#6b21a8;--color-secondary-900:#581c87;--color-accent-500:#ef4444;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-background:#ffffff;--color-surface:#f9fafb;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-disabled:#9ca3af;--color-text-inverse:#ffffff;--fontFamily-sans:"General Sans",system-ui,-apple-system,sans-serif;--fontFamily-serif:Georgia,serif;--fontFamily-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;--fontSize-xs:0.75rem;--fontSize-sm:0.875rem;--fontSize-base:1rem;--fontSize-lg:1.125rem;--fontSize-xl:1.25rem;--fontSize-2xl:1.5rem;--fontSize-3xl:1.875rem;--fontSize-4xl:2.25rem;--fontSize-5xl:3rem;--fontWeight-light:300;--fontWeight-normal:400;--fontWeight-medium:500;--fontWeight-semibold:600;--fontWeight-bold:700;--lineHeight-tight:1.25;--lineHeight-normal:1.5;--lineHeight-relaxed:1.75;--borderRadius-none:0;--borderRadius-sm:0.125rem;--borderRadius-base:0.25rem;--borderRadius-md:0.375rem;--borderRadius-lg:0.5rem;--borderRadius-xl:0.75rem;--borderRadius-2xl:1rem;--borderRadius-full:9999px;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--container-maxWidth:80rem;--container-padding:1rem;--boxShadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--boxShadow-md:0 4px 6px -1px rgba(0,0,0,0.1);--boxShadow-lg:0 10px 15px -3px rgba(0,0,0,0.1);--transition-fast:150ms;--transition-base:200ms;--transition-slow:300ms}body.theme-loading{opacity:.95;transition:opacity var(--transition-base) ease-in-out}.theme-text-primary{color:var(--color-text-primary)}.theme-text-secondary{color:var(--color-text-secondary)}.theme-text-disabled{color:var(--color-text-disabled)}.theme-bg-primary{background-color:var(--color-primary-500)}.theme-bg-secondary{background-color:var(--color-secondary-500)}.theme-bg-accent{background-color:var(--color-accent-500)}.theme-bg-background{background-color:var(--color-background)}.theme-bg-surface{background-color:var(--color-surface)}.theme-rounded-sm{border-radius:var(--borderRadius-sm)}.theme-rounded-md{border-radius:var(--borderRadius-md)}.theme-rounded-lg{border-radius:var(--borderRadius-lg)}.theme-rounded-full{border-radius:var(--borderRadius-full)}.theme-shadow-sm{box-shadow:var(--boxShadow-sm)}.theme-shadow-md{box-shadow:var(--boxShadow-md)}.theme-shadow-lg{box-shadow:var(--boxShadow-lg)}.theme-transition-fast{transition-duration:var(--transition-fast)}.theme-transition-base{transition-duration:var(--transition-base)}.theme-transition-slow{transition-duration:var(--transition-slow)}