:root{--accent: #f59e0b;--accent-dim: rgba(245,158,11,.15);--accent-glow: rgba(245,158,11,.3);--accent2: #ef4444;--accent2-dim: rgba(239,68,68,.12);--text: #fafaf9;--text-secondary: rgba(250,250,249,.65);--text-muted: rgba(250,250,249,.35);--font-display: "Playfair Display", Georgia, serif;--font-body: "Instrument Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 16px;--radius-sm: 8px;--transition: .35s cubic-bezier(.4, 0, .2, 1);--bg-card: rgba(255,255,255,.03);--bg-card-hover: rgba(255,255,255,.06);--bg-glass: rgba(255,255,255,.04);--bg-glass-border: rgba(255,255,255,.08)}body{font-family:var(--font-body);background:#0c0a09;color:var(--text)}body:before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E")}html::-webkit-scrollbar-track{background:#0c0a09}html::-webkit-scrollbar-thumb{background:#f59e0b4d}.menu-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;overflow:hidden}.menu-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(245,158,11,.08) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 70% 60%,rgba(239,68,68,.05) 0%,transparent 60%);pointer-events:none}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border:1px solid var(--bg-glass-border);border-radius:100px;background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem;animation:fadeDown .8s ease both}.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}.menu-hero h1{font-family:var(--font-display);font-size:clamp(3.5rem,12vw,9rem);font-weight:900;line-height:.9;letter-spacing:-.03em;margin-bottom:1.5rem;animation:fadeUp 1s ease .15s both}.menu-hero h1 .accent{color:var(--accent);font-style:italic}.menu-hero h1 .outline{-webkit-text-stroke:1.5px var(--text);color:transparent}.hero-sub{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);max-width:480px;margin:0 auto 3rem;animation:fadeUp 1s ease .3s both}.hero-cta{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background:var(--accent);color:#0c0a09;font-family:var(--font-body);font-size:1rem;font-weight:600;border:none;border-radius:100px;cursor:pointer;transition:var(--transition);animation:fadeUp 1s ease .45s both;text-decoration:none}.hero-cta:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 40px var(--accent-glow)}.hero-cta svg{transition:transform .3s ease}.hero-cta:hover svg{transform:translate(4px)}.scroll-hint{position:absolute;bottom:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;animation:fadeUp 1s ease .6s both}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollPulse 2s ease-in-out infinite}.categories-bar{position:sticky;top:0;z-index:100;background:#0c0a09d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--bg-glass-border);padding:1rem 0;transition:var(--transition)}.categories-bar.scrolled{box-shadow:0 4px 30px #0000004d}.categories-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory}.categories-inner::-webkit-scrollbar{display:none}.cat-btn{flex-shrink:0;padding:.6rem 1.5rem;border:1px solid var(--bg-glass-border);border-radius:100px;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition);scroll-snap-align:start;white-space:nowrap}.cat-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.cat-btn.active{background:var(--accent);border-color:var(--accent);color:#0c0a09}.cat-btn .cat-icon{display:inline-block;margin-right:.4rem;font-size:1rem}.menu-section{max-width:1200px;margin:0 auto;padding:4rem 2rem}.menu-section-header{margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--bg-glass-border)}.menu-section-header h2{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:.5rem}.menu-section-header p{color:var(--text-secondary);font-size:1rem}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.menu-card{position:relative;background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius);padding:1.75rem;cursor:pointer;transition:var(--transition);overflow:hidden;display:flex;flex-direction:column;gap:1rem}.menu-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%),rgba(245,158,11,.06) 0%,transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none}.menu-card:hover:before{opacity:1}.menu-card:hover{border-color:#f59e0b33;transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.card-emoji{font-size:2.5rem;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.card-price{font-family:var(--font-mono);font-size:1.25rem;font-weight:500;color:var(--accent);white-space:nowrap}.card-name{font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1.2}.card-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.6;flex-grow:1}.card-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{padding:.2rem .6rem;border-radius:100px;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.tag-spicy{background:var(--accent2-dim);color:var(--accent2)}.tag-popular{background:var(--accent-dim);color:var(--accent)}.tag-new{background:#22c55e1f;color:#22c55e}.tag-vegan{background:#84cc161f;color:#84cc16}.tag-chef{background:#a855f71f;color:#a855f7}.card-arrow{position:absolute;bottom:1.5rem;right:1.5rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--bg-glass-border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:var(--transition)}.menu-card:hover .card-arrow{border-color:var(--accent);color:var(--accent);transform:rotate(-45deg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.modal-overlay.open{opacity:1;visibility:visible}.modal{position:relative;width:100%;max-width:680px;max-height:90vh;background:#1c1917;border:1px solid var(--bg-glass-border);border-radius:var(--radius);overflow-y:auto;transform:translateY(30px) scale(.95);transition:transform .4s cubic-bezier(.4,0,.2,1);scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent}.modal-overlay.open .modal{transform:translateY(0) scale(1)}.modal::-webkit-scrollbar{width:6px}.modal::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:3px}.modal-hero{position:relative;height:220px;background:linear-gradient(135deg,var(--accent-dim),var(--accent2-dim));display:flex;align-items:center;justify-content:center;overflow:hidden}.modal-hero-emoji{font-size:6rem;filter:drop-shadow(0 8px 24px rgba(0,0,0,.4));animation:floatEmoji 3s ease-in-out infinite}.modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:10}.modal-close:hover{background:#0009;transform:rotate(90deg)}.modal-body{padding:2rem}.modal-category{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.modal-name{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:.5rem}.modal-price-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-price{font-family:var(--font-mono);font-size:1.75rem;font-weight:500;color:var(--accent)}.modal-rating{display:flex;align-items:center;gap:.25rem;color:#fbbf24;font-size:.9rem}.modal-rating span{color:var(--text-secondary);font-size:.8rem;margin-left:.25rem}.modal-desc{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.modal-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.detail-item{text-align:center;padding:1rem;background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-sm)}.detail-item .detail-icon{font-size:1.5rem;margin-bottom:.5rem}.detail-item .detail-label{font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.detail-item .detail-value{font-size:.9rem;font-weight:500;color:var(--text)}.modal-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.modal-tags .tag{font-size:.75rem;padding:.35rem .85rem}.modal-add-btn{width:100%;padding:1.1rem;background:var(--accent);color:#0c0a09;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.5rem}.modal-add-btn:hover{background:#fbbf24;transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow)}.cart-float{position:fixed;bottom:2rem;right:2rem;z-index:500;width:60px;height:60px;border-radius:50%;background:var(--accent);color:#0c0a09;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 8px 30px var(--accent-glow);transition:var(--transition);transform:scale(0)}.cart-float.visible{transform:scale(1)}.cart-float:hover{transform:scale(1.1);box-shadow:0 12px 40px #f59e0b80}.cart-count{position:absolute;top:-4px;right:-4px;width:22px;height:22px;border-radius:50%;background:var(--accent2);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.cart-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:420px;z-index:1001;background:#1c1917;border-left:1px solid var(--bg-glass-border);transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.cart-panel.open{transform:translate(0)}.cart-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.cart-panel-overlay.open{opacity:1;visibility:visible}.cart-header{padding:1.5rem;border-bottom:1px solid var(--bg-glass-border);display:flex;justify-content:space-between;align-items:center}.cart-header h3{font-family:var(--font-display);font-size:1.5rem;font-weight:700}.cart-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--bg-glass-border);background:transparent;color:var(--text);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.cart-close:hover{border-color:var(--accent2);color:var(--accent2)}.cart-items{flex:1;overflow-y:auto;padding:1.5rem}.cart-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--bg-glass-border);border-radius:var(--radius-sm);margin-bottom:.75rem}.cart-item-emoji{font-size:1.75rem}.cart-item-info{flex:1}.cart-item-name{font-weight:600;font-size:.9rem;margin-bottom:.25rem}.cart-item-price{font-family:var(--font-mono);font-size:.85rem;color:var(--accent)}.cart-item-qty{display:flex;align-items:center;gap:.5rem}.qty-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--bg-glass-border);background:transparent;color:var(--text);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.qty-btn:hover{border-color:var(--accent);color:var(--accent)}.qty-num{font-family:var(--font-mono);font-size:.9rem;min-width:20px;text-align:center}.cart-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.cart-empty-icon{font-size:3rem;margin-bottom:1rem}.cart-footer{padding:1.5rem;border-top:1px solid var(--bg-glass-border)}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cart-total-label{font-size:1rem;color:var(--text-secondary)}.cart-total-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:500;color:var(--accent)}.cart-checkout-btn{width:100%;padding:1rem;background:var(--accent);color:#0c0a09;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition)}.cart-checkout-btn:hover{background:#fbbf24;transform:translateY(-2px)}.demo-footer{text-align:center;padding:4rem 2rem;border-top:1px solid var(--bg-glass-border);margin-top:4rem}.demo-footer p{color:var(--text-muted);font-size:.85rem;margin-bottom:.5rem}.demo-footer a{color:var(--accent);text-decoration:none}.demo-footer a:hover{text-decoration:underline}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}@keyframes floatEmoji{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.menu-grid{grid-template-columns:1fr}.modal-details-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.modal-body{padding:1.5rem}.modal-name{font-size:1.5rem}.cart-panel{max-width:100%}}@media (max-width: 480px){.menu-hero h1{font-size:clamp(2.5rem,15vw,4rem)}.modal-details-grid{grid-template-columns:1fr}}.menu-section{display:none}.menu-section.active{display:block}
