@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=Playfair+Display:wght@600;700&display=swap";:root{--primary: #0d631b;--primary-container: #2e7d32;--on-primary: #ffffff;--on-primary-container: #cbffc2;--secondary-container: #c6e9be;--on-secondary-container: #4c6a48;--secondary-fixed-dim: #add0a6;--background: #f8faf8;--surface: #f8faf8;--surface-container-low: #f2f4f2;--surface-container: #eceeec;--surface-container-high: #e6e9e7;--surface-container-highest: #e1e3e1;--surface-lowest: #ffffff;--on-surface: #191c1b;--on-surface-variant: #40493d;--outline-variant: rgba(191, 202, 186, .15);--error: #ba1a1a;--on-error: #ffffff;--tertiary: #923357;--radius-8: 8px;--radius-12: 12px;--radius-24: 24px;--font-headline: "Manrope", sans-serif;--font-body: "Inter", sans-serif;--shadow-ambient: 0px 12px 32px rgba(25, 28, 27, .06);--shadow-card: 0px 4px 16px rgba(25, 28, 27, .04)}.dark{--primary: #91d595;--primary-container: #1b5321;--on-primary: #00390a;--on-primary-container: #cbffc2;--secondary-container: #3d4e3a;--on-secondary-container: #c6e9be;--secondary-fixed-dim: #add0a6;--background: #0a0c0a;--surface: #0a0c0a;--surface-container-low: #141714;--surface-container: #1b1f1b;--surface-container-high: #242924;--surface-container-highest: #2d332d;--surface-lowest: #050605;--on-surface: #e1e3e1;--on-surface-variant: #bfcaba;--outline-variant: rgba(191, 202, 186, .1);--shadow-ambient: 0px 12px 32px rgba(0, 0, 0, .4);--shadow-card: 0px 4px 16px rgba(0, 0, 0, .3)}body{font-family:var(--font-body);margin:0;background-color:var(--background);color:var(--on-surface);transition:background-color .3s ease,color .3s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#root{height:100vh}h1,h2,h3,h4,h5,h6,.display-text{font-family:var(--font-headline);margin:0}button{font-family:inherit;transition:transform .1s active,opacity .2s;touch-action:manipulation}button:active{transform:scale(.97)}button:disabled{opacity:.65;cursor:not-allowed}.press-effect,.surface-card,.filter-chip,.category-chip,.btn-qty{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app-container{display:flex;flex-direction:column;height:100%;box-sizing:border-box;background-color:var(--background);overflow:hidden;transition:background-color .3s ease}.main-header{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:60px;background-color:var(--surface-lowest);border-bottom:1px solid var(--surface-container-high);transition:background-color .3s ease,border-color .3s ease}.scroll-content{overflow-y:auto;flex:1;padding:16px}.skeleton{background:linear-gradient(90deg,var(--surface-container) 25%,var(--surface-container-high) 50%,var(--surface-container) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-8)}.skeleton-text{height:1.2rem;margin-bottom:.5rem}.skeleton-card-layout{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:16px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.page-fade-in{animation:fadeIn .4s ease-out forwards}.hover-scale{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.hover-scale:hover{transform:scale(1.02)}.press-effect{transition:transform .1s ease}.press-effect:active{transform:scale(.96)}.fade-in{animation:fadeIn .3s ease-in-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:24px;color:#fff;font-weight:600;z-index:2000;box-shadow:0 8px 16px #00000026;animation:toastIn .3s ease-out forwards}@keyframes toastIn{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.toast-success{background-color:var(--primary)}.toast-error{background-color:var(--error)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-container));color:var(--on-primary);border:none;border-radius:var(--radius-8);padding:16px;font-size:1.1rem;font-weight:700;cursor:pointer;width:100%;transition:transform .2s,box-shadow .2s;font-family:var(--font-headline)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-ambient)}.btn-back{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--surface-container-highest);color:var(--on-surface);border:none;border-radius:20px;padding:10px 20px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s ease;width:auto;margin-bottom:16px;box-shadow:var(--shadow-card)}.btn-back:hover{background-color:var(--secondary-fixed-dim);transform:translate(-4px)}.btn-back:active{transform:scale(.95)}.btn-secondary{background-color:var(--secondary-container);color:var(--on-secondary-container);border:none;border-radius:var(--radius-8);padding:16px;font-size:1rem;font-weight:600;cursor:pointer;width:100%;transition:background-color .2s}.btn-danger{background-color:var(--error);color:var(--on-error);border:none;border-radius:var(--radius-8);padding:16px;font-size:1rem;font-weight:600;cursor:pointer}.surface-card{background-color:var(--surface-lowest);border-radius:var(--radius-12);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-card);border:none}.input-minimal{width:100%;padding:16px;font-size:1rem;background-color:var(--surface-container-high);border:2px solid transparent;border-radius:var(--radius-8);outline:none;box-sizing:border-box;margin-bottom:16px;color:var(--on-surface);transition:border-color .2s,box-shadow .2s}.input-minimal:focus{border-color:#0d631b66}.glass-modal-overlay{position:fixed;inset:0;background-color:#191c1b66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.dark .glass-modal-overlay{background-color:#0009}.glass-modal-content{background-color:var(--surface-lowest);border-radius:var(--radius-24);padding:32px;width:100%;max-width:400px;box-shadow:var(--shadow-ambient);border:1px solid var(--surface-container-high)}.modal-title{font-size:1.5rem;font-weight:700;margin-bottom:24px;color:var(--on-surface);font-family:var(--font-headline)}.horizontal-scroll-container{display:flex;flex-direction:row;padding:16px;gap:12px;overflow-x:auto;white-space:nowrap;background-color:var(--background);scrollbar-width:none}.horizontal-scroll-container::-webkit-scrollbar{display:none}.filter-chip{padding:10px 24px;background-color:var(--surface-container);color:var(--on-surface-variant);border-radius:24px;border:none;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease;flex-shrink:0}.filter-chip.active{background-color:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px #0d631b33}.dark .filter-chip.active{box-shadow:0 4px 12px #0000004d}.flex-row-between{display:flex;justify-content:space-between;align-items:center}.flex-row-center{display:flex;justify-content:center;align-items:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--surface-container-high);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-body{font-size:1rem;color:var(--on-surface)}.text-body-secondary{font-size:.9rem;color:var(--on-surface-variant)}.text-price{font-family:var(--font-body);font-weight:700;color:var(--primary)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .4s ease-out both}.quantity-control{display:flex;align-items:center;gap:12px}.btn-qty{width:44px;height:44px;border-radius:var(--radius-8);display:flex;justify-content:center;align-items:center;border:none;cursor:pointer;font-size:1.2rem;font-weight:700;background-color:var(--surface-container-high);color:var(--on-surface)}.btn-qty.plus{background-color:var(--primary);color:var(--on-primary)}.switch{position:relative;display:inline-block;width:46px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--surface-container-highest);transition:.3s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}input:checked+.slider{background-color:var(--primary)}input:focus+.slider{box-shadow:0 0 1px var(--primary)}input:checked+.slider:before{transform:translate(22px)}@keyframes splashFadeOut{0%,85%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes logoEntrance{0%{transform:scale(.3) rotate(-10deg);opacity:0;filter:blur(20px)}40%{transform:scale(1.08) rotate(2deg);opacity:1;filter:blur(0)}60%{transform:scale(.97) rotate(-1deg);opacity:1}75%{transform:scale(1.02) rotate(0);opacity:1}85%{transform:scale(1);opacity:1}to{transform:scale(1.15) rotate(0);opacity:0;filter:blur(8px)}}@keyframes logoGlow{0%,to{box-shadow:0 0 30px #ffffff1a,0 12px 40px #0000004d}50%{box-shadow:0 0 60px #ffffff40,0 12px 40px #0000004d}}@keyframes logoRingPulse{0%{transform:scale(.8);opacity:0;border-width:3px}30%{opacity:.6}to{transform:scale(1.8);opacity:0;border-width:1px}}@keyframes typewriterChar{0%{opacity:0;transform:translateY(10px) scale(.8);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes splashSubtextReveal{0%{opacity:0;transform:translateY(15px);letter-spacing:8px}50%{opacity:1;transform:translateY(0);letter-spacing:4px}85%{opacity:1}to{opacity:0;transform:translateY(-5px)}}@keyframes particleFloat{0%{transform:translateY(0) translate(0) scale(0);opacity:0}15%{opacity:1;transform:scale(1)}to{transform:translateY(-100vh) translate(var(--drift-x, 30px)) scale(.3);opacity:0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.splash-container{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#0d3311,#1b5e20,#2e7d32 60%,#1a472a);background-size:300% 300%;animation:splashFadeOut 3s forwards,gradientShift 3s ease infinite;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.splash-particle{position:absolute;bottom:-20px;width:var(--size, 6px);height:var(--size, 6px);background:radial-gradient(circle,#ffffffb3,#fff0 70%);border-radius:50%;animation:particleFloat var(--duration, 3s) var(--delay, 0s) ease-out forwards;pointer-events:none}.splash-particle:nth-child(1){left:10%;--size: 4px;--duration: 2.8s;--delay: .2s;--drift-x: 20px}.splash-particle:nth-child(2){left:20%;--size: 6px;--duration: 3.2s;--delay: .4s;--drift-x: -15px}.splash-particle:nth-child(3){left:35%;--size: 3px;--duration: 2.6s;--delay: .1s;--drift-x: 25px}.splash-particle:nth-child(4){left:50%;--size: 5px;--duration: 3s;--delay: .6s;--drift-x: -30px}.splash-particle:nth-child(5){left:65%;--size: 4px;--duration: 2.9s;--delay: .3s;--drift-x: 15px}.splash-particle:nth-child(6){left:75%;--size: 7px;--duration: 3.4s;--delay: .5s;--drift-x: -20px}.splash-particle:nth-child(7){left:85%;--size: 3px;--duration: 2.7s;--delay: .7s;--drift-x: 10px}.splash-particle:nth-child(8){left:40%;--size: 5px;--duration: 3.1s;--delay: .8s;--drift-x: -25px}.splash-particle:nth-child(9){left:55%;--size: 4px;--duration: 2.5s;--delay: .15s;--drift-x: 35px}.splash-particle:nth-child(10){left:90%;--size: 6px;--duration: 3.3s;--delay: .45s;--drift-x: -10px}.splash-particle:nth-child(11){left:15%;--size: 8px;--duration: 3.5s;--delay: .55s;--drift-x: 40px}.splash-particle:nth-child(12){left:70%;--size: 3px;--duration: 2.4s;--delay: .25s;--drift-x: -35px}.splash-logo-wrapper{position:relative;width:160px;height:160px;margin-bottom:32px}.splash-logo{width:160px;height:160px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.25);animation:logoEntrance 3s forwards cubic-bezier(.34,1.56,.64,1),logoGlow 2s ease-in-out infinite;position:relative;z-index:2}.splash-logo-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.3);animation:logoRingPulse 2s ease-out infinite;pointer-events:none}.splash-logo-ring:nth-child(3){animation-delay:.5s}.splash-logo-ring:nth-child(4){animation-delay:1s}.splash-title{display:flex;gap:2px;margin-bottom:12px;perspective:600px}.splash-title .char{color:#fff;font-family:Playfair Display,serif;font-size:2rem;font-weight:700;animation:typewriterChar .4s ease-out forwards;opacity:0}.splash-subtitle{color:#ffffffb3;font-size:.95rem;font-weight:400;letter-spacing:4px;text-transform:uppercase;animation:splashSubtextReveal 3s forwards}@keyframes heroGradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes logoShine{0%{box-shadow:0 8px 32px #0003,0 0 #fff0}50%{box-shadow:0 8px 32px #0003,0 0 40px #ffffff1a}to{box-shadow:0 8px 32px #0003,0 0 #fff0}}.public-menu-hero{display:flex;flex-direction:column;align-items:center;padding:48px 20px 36px;background:linear-gradient(135deg,#0d3311,#1b5e20,#2e7d32,#1a472a,#0d3311);background-size:300% 300%;animation:heroGradientFlow 8s ease infinite;color:#fff;position:relative;overflow:hidden}.public-menu-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 85%,rgba(255,255,255,.06) 0%,transparent 50%),radial-gradient(circle at 85% 15%,rgba(255,255,255,.04) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.02) 0%,transparent 70%);pointer-events:none}.public-menu-hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(to top,#111 0%,transparent 100%);pointer-events:none}.hero-logo{width:130px;height:130px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.2);animation:floatSlow 4s ease-in-out infinite,logoShine 3s ease-in-out infinite;position:relative;z-index:1;margin-bottom:20px;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.hero-title{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;margin:0 0 6px;letter-spacing:-.5px;position:relative;z-index:1;text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero-subtitle{font-size:.9rem;opacity:.7;font-weight:400;margin:0;position:relative;z-index:1;letter-spacing:2px;text-transform:uppercase}.hero-deco-line{position:absolute;width:120px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);z-index:1}.hero-deco-line.left{top:30%;left:5%;transform:rotate(-25deg)}.hero-deco-line.right{top:40%;right:5%;transform:rotate(25deg)}.public-category-nav{display:flex;gap:8px;padding:14px 20px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;position:sticky;top:0;z-index:10;background:#111111d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06)}.public-category-nav::-webkit-scrollbar{display:none}.category-chip{padding:10px 22px;border-radius:24px;border:1.5px solid rgba(255,255,255,.1);background:#ffffff0d;cursor:pointer;font-size:.88rem;font-weight:500;color:#fff9;white-space:nowrap;flex-shrink:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);font-family:inherit}.category-chip:hover{color:#ffffffe6;background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.category-chip.active{background:linear-gradient(135deg,#2e7d32,#43a047);color:#fff;border:1.5px solid rgba(67,160,71,.5);box-shadow:0 4px 15px #2e7d3266,inset 0 1px #ffffff1a}.public-menu-container{display:flex;flex-direction:column;min-height:100vh;background-color:#0a0c0a;color:#f0f0f0}.public-menu-content{padding:24px 20px;max-width:700px;margin:0 auto;width:100%;box-sizing:border-box}.menu-category-section{margin-bottom:36px}.menu-category-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.menu-category-title{font-family:Playfair Display,serif;font-size:1.35rem;font-weight:600;color:#66bb6a;margin:0;letter-spacing:-.3px}.menu-category-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(102,187,106,.3),transparent)}@keyframes revealUp{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-item-card{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#ffffff0a;border-radius:16px;margin-bottom:10px;border:1px solid rgba(255,255,255,.06);transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;opacity:0;transform:translateY(30px)}.menu-item-card.revealed{animation:revealUp .5s ease-out forwards}.menu-item-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,125,50,.08) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none}.menu-item-card:hover{transform:translateY(-3px) scale(1.01);border-color:#2e7d3240;box-shadow:0 8px 30px #0000004d,0 0 0 1px #2e7d321a}.menu-item-card:hover:before{opacity:1}.menu-item-card:active{transform:translateY(-1px) scale(.99)}.menu-item-name{font-size:1rem;font-weight:500;color:#ffffffe6;letter-spacing:-.2px}.menu-item-price{font-size:.95rem;font-weight:700;color:#81c784;background:#2e7d3226;padding:7px 16px;border-radius:20px;white-space:nowrap;flex-shrink:0;margin-left:12px;min-width:90px;text-align:center;border:1px solid rgba(46,125,50,.2);transition:all .3s ease}.menu-item-card:hover .menu-item-price{background:#2e7d3240;border-color:#2e7d3266;color:#a5d6a7}.public-menu-footer{text-align:center;padding:32px 20px;color:#fff3;font-size:.8rem;position:relative}.public-menu-footer:before{content:"";display:block;width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);margin:0 auto 16px}.public-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:#0a0c0a;gap:16px}.public-loading-container .skeleton{background:linear-gradient(90deg,#1a1a1a 25%,#252525,#1a1a1a 75%);background-size:800px 100%;animation:shimmer 1.5s infinite ease-in-out}.public-empty-message{padding:80px 20px;text-align:center;font-size:1.1rem;color:#fff6;font-family:Playfair Display,serif}.dnd-poly-drag-image{opacity:.5!important}.dnd-poly-drag-image.dnd-poly-snapback{transition-property:transform,-webkit-transform!important;transition-duration:.25s!important;transition-timing-function:ease-out!important}
