:root{--color-brand-gold:#c5a455;--color-brand-gold-light:#d4b96a;--color-brand-gold-dark:#a68b3c;--color-brand-olive:#8b9a3b;--color-brand-green:#6b8c42;--color-brand-green-dark:#2d5016;--color-bg-primary:#080808;--color-bg-secondary:#101010;--color-bg-surface:#181818;--color-bg-elevated:#202020;--color-bg-hover:#282828;--color-text-primary:#f5f0e8;--color-text-secondary:#a09888;--color-text-muted:#6b6358;--color-text-gold:var(--color-brand-gold);--color-text-inverse:#0a0a0a;--color-border:#2a2a2a;--color-border-gold:#c5a45559;--color-border-subtle:#ffffff0f;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 4px 20px #0009;--shadow-lg:0 8px 40px #000000b3;--shadow-gold:0 0 24px #c5a45533;--shadow-gold-strong:0 0 40px #c5a45559;--glass-bg:#181818d9;--glass-border:#c5a45526;--glass-blur:16px;--touch-min:44px;--header-height:64px;--cart-drawer-width:min(100vw, 420px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain;min-height:100dvh;font-family:Josefin Sans,system-ui,-apple-system,sans-serif}h1,h2,h3{letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif}h1{font-size:clamp(28px,7vw,42px);font-weight:700;line-height:1.15}h2{font-size:clamp(20px,5vw,28px);font-weight:600;line-height:1.25}h3{font-size:clamp(17px,4vw,22px);font-weight:600;line-height:1.3}p{line-height:1.6}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-brand-gold-dark)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-gold{0%,to{box-shadow:0 0 #c5a45566}50%{box-shadow:0 0 0 12px #c5a45500}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(80px)rotate(360deg)}}.animate-fade-in{animation:.4s ease-out both fadeIn}.animate-fade-in-scale{animation:.35s ease-out both fadeInScale}.animate-slide-in-up{animation:.4s ease-out both slideInUp}.animate-bounce-in{animation:.6s cubic-bezier(.175,.885,.32,1.275) both bounceIn}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse-gold{animation:2s ease-in-out infinite pulse-gold}.animate-spin{animation:1s linear infinite spin}.stagger>:first-child{animation-delay:50ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.skeleton{background:linear-gradient(90deg, var(--color-bg-surface) 25%, var(--color-bg-elevated) 50%, var(--color-bg-surface) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.btn{justify-content:center;align-items:center;gap:var(--space-sm);min-height:var(--touch-min);border-radius:var(--radius-md);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;outline:none;padding:12px 24px;font-family:Josefin Sans,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--color-brand-gold), var(--color-brand-gold-dark));color:var(--color-text-inverse);box-shadow:0 4px 16px #c5a45540}.btn-primary:hover{filter:brightness(1.08);box-shadow:var(--shadow-gold-strong)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-outline{color:var(--color-brand-gold);border:1.5px solid var(--color-brand-gold);background:0 0}.btn-outline:hover{background:#c5a4551a}.btn-ghost{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-ghost:hover{border-color:var(--color-brand-gold)}.btn-icon{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-full);flex-shrink:0;padding:0}.btn-full{width:100%}.btn-lg{min-height:54px;padding:16px 32px;font-size:15px}.input{width:100%;min-height:var(--touch-min);background:var(--color-bg-elevated);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);-webkit-appearance:none;outline:none;padding:12px 16px;font-family:Josefin Sans,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:var(--color-text-muted)}.input:focus{border-color:var(--color-brand-gold);box-shadow:0 0 0 3px #c5a45526}textarea.input{resize:none;min-height:88px;line-height:1.5}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:4px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.badge-gold{color:var(--color-brand-gold);background:#c5a4552e}.badge-green{color:#8bc34a;background:#6b8c4233}.badge-muted{color:var(--color-text-muted);background:#ffffff0f}.divider{background:var(--color-border);height:1px;margin:var(--space-md) 0;border:none}.divider-gold{background:var(--color-border-gold)}.qty-control{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);align-items:center;gap:0;display:inline-flex;overflow:hidden}.qty-btn{width:36px;height:36px;color:var(--color-brand-gold);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;transition:background .15s;display:flex}.qty-btn:hover{background:#c5a4551f}.qty-btn:active{background:#c5a45538;transform:scale(.92)}.qty-value{text-align:center;min-width:32px;color:var(--color-text-primary);font-size:15px;font-weight:700}.category-chip{border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-bg-surface);letter-spacing:.04em;color:var(--color-text-secondary);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.category-chip:hover{border-color:var(--color-brand-gold);color:var(--color-brand-gold)}.category-chip.active{background:linear-gradient(135deg, var(--color-brand-gold), var(--color-brand-gold-dark));color:var(--color-text-inverse);border-color:#0000;box-shadow:0 2px 12px #c5a4554d}.product-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden}.product-card:hover{border-color:var(--color-border-gold);box-shadow:var(--shadow-gold);transform:translateY(-2px)}.product-card:active{transform:scale(.98)}.product-card.in-cart{border-color:var(--color-brand-gold);box-shadow:0 0 0 1px var(--color-brand-gold), var(--shadow-gold)}.product-card-emoji{background:linear-gradient(180deg, var(--color-bg-elevated) 0%, var(--color-bg-surface) 100%);justify-content:center;align-items:center;height:90px;font-size:42px;line-height:1;display:flex}.product-card-body{padding:var(--space-sm) var(--space-md) var(--space-md);flex-direction:column;flex:1;gap:4px;display:flex}.product-card-name{color:var(--color-text-primary);font-size:14px;font-weight:700;line-height:1.3}.product-card-desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card-price{color:var(--color-brand-gold);margin-top:4px;font-family:Cormorant Garamond,Georgia,serif;font-size:18px;font-weight:700}.product-card-in-cart-badge{background:var(--color-brand-gold);color:var(--color-text-inverse);border-radius:var(--radius-full);justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.app-header{z-index:30;height:var(--header-height);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);padding:0 var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);background:#080808eb;display:flex;position:sticky;top:0}.cart-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;background:#000000a6;animation:.2s fadeIn;position:fixed;inset:0}.cart-drawer{width:var(--cart-drawer-width);background:var(--color-bg-secondary);border-left:1px solid var(--color-border);z-index:41;flex-direction:column;animation:.3s cubic-bezier(.32,.72,0,1) slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden}.cart-drawer-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.cart-drawer-body{padding:var(--space-md) var(--space-lg);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.cart-drawer-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);gap:var(--space-md);background:var(--color-bg-elevated);flex-direction:column;flex-shrink:0;display:flex}.cart-item{align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.cart-item-emoji{background:var(--color-bg-elevated);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:28px;display:flex}.cart-item-info{flex:1;min-width:0}.cart-item-name{color:var(--color-text-primary);font-size:14px;font-weight:600}.cart-item-price{color:var(--color-brand-gold);font-family:Cormorant Garamond,Georgia,serif;font-size:16px;font-weight:700}.cart-fab{z-index:35;align-items:center;gap:var(--space-sm);background:linear-gradient(135deg, var(--color-brand-gold), var(--color-brand-gold-dark));color:var(--color-text-inverse);border-radius:var(--radius-full);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;padding:14px 22px;font-family:Josefin Sans,sans-serif;font-size:14px;font-weight:700;transition:all .25s;animation:2.5s ease-in-out infinite pulse-gold;display:flex;position:fixed;bottom:24px;right:20px;box-shadow:0 4px 24px #c5a45573}.cart-fab:hover{box-shadow:var(--shadow-gold-strong);transform:translateY(-2px)}.cart-fab:active{transform:scale(.96)}.cart-fab-count{background:var(--color-text-inverse);color:var(--color-brand-gold);border-radius:var(--radius-full);justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:flex}.page-container{max-width:800px;padding:var(--space-md);margin:0 auto;padding-bottom:120px}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-lg);justify-content:center;align-items:center;gap:var(--space-md);color:var(--color-text-muted);flex-direction:column;display:flex}.empty-state-icon{opacity:.4;font-size:64px}.turn-number-display{background:linear-gradient(135deg, var(--color-brand-gold), var(--color-brand-gold-dark));width:180px;height:180px;box-shadow:var(--shadow-gold-strong), 0 0 80px #c5a45540;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;animation:.7s cubic-bezier(.175,.885,.32,1.275) .3s both bounceIn;display:flex}.turn-number-label{letter-spacing:.15em;text-transform:uppercase;color:#0a0a0a99;font-size:11px;font-weight:700}.turn-number-value{color:var(--color-text-inverse);font-family:Cormorant Garamond,Georgia,serif;font-size:72px;font-weight:700;line-height:1}@media (min-width:640px){.page-container{padding:var(--space-lg)}}@media (max-width:480px){.cart-fab{padding:12px 18px;font-size:13px;bottom:16px;right:16px}}
