*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#120E12;--surface:#1D1620;--surface-modal:#221828;--border:#2C2230;--text-primary:#F2E8E0;--text-secondary:#9E8A8A;--text-muted:#5C4E56;--accent:#D88E7A;--dietary-bg:#2C1E2A;--flavor-bg:#1F1822;--serif:"Cormorant Garamond",Georgia,serif}[data-theme=editorial-noir]{--bg:#0F0E0D;--surface:#1A1816;--surface-modal:#1F1D1B;--border:#2E2A26;--text-primary:#EDE8DC;--text-secondary:#9B9285;--text-muted:#5E5750;--accent:#C9A84C;--dietary-bg:#2E2A1A;--flavor-bg:#232220;--serif:Georgia,"Times New Roman",serif}[data-theme=linen-daylight]{--bg:#F5F0E8;--surface:#FFFDF8;--surface-modal:#FFFFFF;--border:#E0D8CC;--text-primary:#2C2416;--text-secondary:#7A6E60;--text-muted:#A89E94;--accent:#7A4A28;--dietary-bg:#EDE5D8;--flavor-bg:#F0EAE0;--serif:"Fraunces",Georgia,serif}[data-theme=coastal-salt]{--bg:#0D1520;--surface:#132030;--surface-modal:#162840;--border:#1E3548;--text-primary:#E8F0F5;--text-secondary:#7A9AB0;--text-muted:#4A6880;--accent:#7CC4E0;--dietary-bg:#1A3040;--flavor-bg:#152030;--serif:"Playfair Display",Georgia,serif}body,html{background-color:var(--bg);color:var(--text-primary);-webkit-text-size-adjust:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5}#__next{min-height:100dvh}[vaul-overlay]{background:rgba(0,0,0,.75)!important;z-index:40!important}[vaul-drawer]{background:var(--surface-modal)!important;border-radius:20px 20px 0 0!important;outline:none!important;box-shadow:0 -10px 40px rgba(0,0,0,.5)!important;z-index:41!important}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.img-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07) 40%,rgba(255,255,255,.13) 50%,rgba(255,255,255,.07) 60%,transparent);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes qr-scan{0%{transform:translateY(0);opacity:0}8%{opacity:.9}92%{opacity:.9}to{transform:translateY(160px);opacity:0}}