@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@300;400;500;600;700&family=Nunito:wght@300;400;600;700;800&display=swap";:root{--color-warm-yellow: #FFD93D;--color-soft-orange: #FF9E64;--color-fresh-green: #6ECB63;--color-soft-pink: #FF6B9D;--color-sky-blue: #4ECDC4;--color-cream: #FFF8DC;--color-pink-light: #FFE5F1;--color-pink-medium: #FFB3D6;--color-pink-dark: #FF6B9D;--color-dark-text: #2C3E50;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-display: "Fredoka", -apple-system, sans-serif;--font-body: "Nunito", -apple-system, sans-serif;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--font-label: clamp(1.05rem, 2.6vw, 1.3rem);--font-button: clamp(1.1rem, 2.8vw, 1.45rem);--font-price: clamp(1.1rem, 2.7vw, 1.5rem);--lh-tight: 1.2;--lh-normal: 1.5;--lh-relaxed: 1.75;--ls-tight: -.02em;--ls-normal: 0;--ls-wide: .04em;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:16px;font-weight:var(--fw-regular);background:linear-gradient(135deg,#ffe5f1,#ffb3d6,#ff6b9d,#ffb3d6,#ffe5f1);background-size:400% 400%;animation:gradientShift 8s ease infinite;color:var(--color-dark-text);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app{width:100vw;min-height:100dvh;background:linear-gradient(135deg,#ffe5f1,#ffb3d6,#ff6b9d,#ffb3d6,#ffe5f1);background-size:400% 400%;animation:gradientShift 8s ease infinite}@supports not (height: 100dvh){.app,.menu-view,.category-view,.cart-view,.image-uploader{min-height:100vh}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.splash-screen{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.splash-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.splash-video{width:80%;max-width:400px;height:auto;border-radius:24px;box-shadow:0 8px 32px #0000004d;object-fit:cover;aspect-ratio:9/16}.splash-overlay{position:absolute;bottom:20%;left:50%;transform:translate(-50%);text-align:center;background:#ffffffe6;padding:var(--spacing-lg);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0003}.splash-title{font-family:var(--font-display);font-size:clamp(32px,6vw,48px);font-weight:700;color:var(--color-dark-text);margin:0;text-shadow:0 2px 8px rgba(0,0,0,.1)}.splash-start-button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:clamp(16px,4vw,20px);font-weight:var(--fw-semibold);color:var(--color-dark-text);background:#ffffffe6;border:none;border-radius:999px;cursor:pointer;box-shadow:0 4px 16px #0003;transition:transform .2s ease,box-shadow .2s ease}.splash-start-button:hover,.splash-start-button:focus{transform:translateY(-2px);box-shadow:0 6px 20px #00000040;outline:none}.splash-start-button:active{transform:translateY(0);box-shadow:0 3px 12px #0003}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}h1{font-size:clamp(48px,8vw,72px);font-weight:var(--fw-bold)}h2{font-size:clamp(36px,6vw,52px);font-weight:var(--fw-bold)}h3{font-size:clamp(24px,4vw,32px);font-weight:var(--fw-semibold)}.menu-view{display:flex;flex-direction:column;min-height:100dvh;padding-inline:clamp(16px,4vw,32px);padding-top:calc(clamp(16px,4vw,32px) + var(--safe-top));padding-bottom:calc(clamp(16px,4vw,32px) + var(--safe-bottom));gap:clamp(24px,6vh,48px);background:linear-gradient(135deg,var(--color-warm-yellow) 0%,var(--color-cream) 100%)}.menu-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}.menu-header h1{font-family:var(--font-display);font-size:clamp(40px,8vw,56px);font-weight:700;color:var(--color-soft-orange);text-shadow:0 2px 8px rgba(0,0,0,.08);letter-spacing:var(--ls-wide)}.header-buttons{display:flex;gap:var(--spacing-md);align-items:center}.icon-button{width:50px;height:50px;border:none;border-radius:12px;background:#fff;font-size:24px;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-button:hover,.icon-button:active{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.cart-button{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:12px;background:#fff;font-family:var(--font-body);font-size:var(--font-button);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s;color:var(--color-dark-text)}.cart-button:hover,.cart-button:active{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.menu-grid{display:grid;flex:1;width:100%;max-width:min(900px,100%);margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:clamp(16px,3vw,32px);align-content:stretch;justify-items:stretch;height:100%;min-height:0}.menu-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,2vw,16px);border:none;border-radius:24px;cursor:pointer;box-shadow:0 4px 16px #0000001f;transition:all .3s cubic-bezier(.34,1.56,.64,1);padding:clamp(12px,3vw,24px);height:100%;min-height:0}.menu-card:hover,.menu-card:active{transform:scale(1.05);box-shadow:0 8px 24px #0003}.card-emoji{font-size:clamp(48px,12vw,96px);display:block}.card-name{font-family:var(--font-display);font-size:clamp(18px,3vw,28px);font-weight:700;color:#fff;text-align:center;line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}.breakfast-card{background:linear-gradient(135deg,#ffb347,#ff8c42);color:#fff}.lunch-card{background:linear-gradient(135deg,var(--color-fresh-green) 0%,#85DB63 100%);color:#fff}.dessert-card{background:linear-gradient(135deg,var(--color-soft-pink) 0%,#FF8FA3 100%);color:#fff}.drinks-card{background:linear-gradient(135deg,var(--color-sky-blue) 0%,#6DD8D0 100%);color:#fff}.category-view{display:flex;flex-direction:column;min-height:100dvh;background:linear-gradient(180deg,#f0f0f0 0%,var(--color-cream) 100%)}.category-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);gap:var(--spacing-md);padding-top:calc(var(--spacing-lg) + var(--safe-top));padding-bottom:calc(var(--spacing-lg) + var(--safe-bottom))}.category-header h2{flex:1;text-align:center;font-family:var(--font-display);font-size:clamp(32px,6vw,48px);font-weight:700;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.15);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.category-header.breakfast{background:linear-gradient(90deg,#ffb347,#ff8c42)}.category-header.lunch{background:linear-gradient(90deg,var(--color-fresh-green) 0%,#85DB63 100%)}.category-header.dessert{background:linear-gradient(90deg,var(--color-soft-pink) 0%,#FF8FA3 100%)}.category-header.drinks{background:linear-gradient(90deg,var(--color-sky-blue) 0%,#6DD8D0 100%)}.back-button{width:60px;height:60px;border:none;border-radius:16px;background:#ffffffe6;font-size:32px;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover,.back-button:active{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(var(--spacing-sm),3vw,var(--spacing-md));padding:var(--spacing-md);overflow-y:auto;flex:1;width:100%;height:100%}@media (orientation: landscape){.items-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.dish-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);border:none;border-radius:16px;background:#fff;cursor:pointer;box-shadow:0 2px 8px #00000014;transition:all .2s;aspect-ratio:1;min-height:120px;width:100%;height:100%;padding:var(--spacing-md)}.dish-card:hover,.dish-card:active{transform:scale(1.08);box-shadow:0 4px 16px #00000026}.dish-emoji{font-size:96px;display:block}.dish-image{width:100%;height:70%;object-fit:cover;border-radius:8px}.dish-name{font-family:var(--font-body);font-size:18px;font-weight:var(--fw-semibold);color:var(--color-dark-text);text-align:center;line-height:var(--lh-tight);letter-spacing:var(--ls-wide)}.dish-price{font-family:var(--font-body);font-size:var(--font-price);font-weight:var(--fw-bold);color:var(--color-soft-orange);text-align:center;line-height:var(--lh-tight)}.cart-view{display:flex;flex-direction:column;min-height:100dvh;background:linear-gradient(180deg,#f0f0f0 0%,var(--color-cream) 100%)}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:linear-gradient(90deg,#e85d75,#ff8fa3);gap:var(--spacing-md);padding-top:calc(var(--spacing-lg) + var(--safe-top));padding-bottom:calc(var(--spacing-lg) + var(--safe-bottom))}.cart-header h2{flex:1;text-align:center;font-family:var(--font-display);font-size:clamp(32px,6vw,48px);font-weight:700;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.15);letter-spacing:var(--ls-tight)}.clear-button{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:12px;background:linear-gradient(90deg,#fff,#ffe3eb);color:#e85d75;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--font-button);letter-spacing:var(--ls-wide);cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s;width:100%}.clear-button:hover,.clear-button:active{transform:scale(1.03);box-shadow:0 4px 12px #00000026}.clear-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none;background:linear-gradient(90deg,#f5f5f5,#f3f3f3);color:#b0b0b0}.cart-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-md)}.empty-cart p{font-family:var(--font-display);font-size:clamp(18px,4vw,28px);font-weight:var(--fw-semibold);color:var(--color-dark-text);text-align:center;line-height:var(--lh-normal)}.cart-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-lg)}.cart-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.cart-item-image{width:80px;height:80px;object-fit:cover;border-radius:8px;flex-shrink:0}.cart-item-emoji{font-size:48px;width:80px;height:80px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cart-item-info{display:flex;flex-direction:column;flex:1;gap:4px}.cart-item-name{font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:18px;color:var(--color-dark-text);letter-spacing:var(--ls-wide)}.cart-item-category{font-family:var(--font-body);font-size:16px;color:var(--color-dark-text);opacity:.6;text-transform:capitalize;font-weight:var(--fw-regular);letter-spacing:var(--ls-wide)}.cart-item-price{font-family:var(--font-body);font-size:var(--font-price);font-weight:var(--fw-bold);color:var(--color-soft-orange);letter-spacing:var(--ls-wide)}.remove-button{width:40px;height:40px;border:none;border-radius:8px;background:#ffe5e5;color:#e85d75;font-size:24px;cursor:pointer;flex-shrink:0;transition:all .2s}.remove-button:hover,.remove-button:active{background:#ff8fa3;color:#fff;transform:scale(1.1)}.cart-footer{padding:var(--spacing-lg);background:#fff;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:var(--spacing-md)}.order-summary{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.summary-line{display:flex;justify-content:space-between;font-family:var(--font-body);font-size:var(--font-price);color:var(--color-dark-text)}.summary-line.total{font-weight:var(--fw-bold);font-size:22px;color:var(--color-soft-orange);border-top:1px solid #e0e0e0;padding-top:var(--spacing-sm)}.checkout-buttons{display:grid;gap:var(--spacing-sm);width:100%;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.checkout-buttons button{width:100%}@media (min-width: 768px) and (max-width: 1023px){.checkout-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}.reveal-button{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:12px;background:linear-gradient(90deg,#ff6b9d,#ff8fa3);color:#fff;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--font-button);letter-spacing:var(--ls-wide);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s}.reveal-button:hover,.reveal-button:active{transform:scale(1.05);box-shadow:0 4px 12px #0003}.print-button{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:12px;background:linear-gradient(90deg,#6c7b95,#8a9ba8);color:#fff;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--font-button);letter-spacing:var(--ls-wide);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s}.print-button:hover,.print-button:active{transform:scale(1.05);box-shadow:0 4px 12px #0003}.item-count{font-family:var(--font-body);font-size:var(--font-label);font-weight:var(--fw-semibold);color:var(--color-dark-text);letter-spacing:var(--ls-wide)}.checkout-button{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:12px;background:linear-gradient(90deg,var(--color-soft-orange) 0%,#FFB347 100%);color:#fff;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--font-button);letter-spacing:var(--ls-wide);cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s}.checkout-button:hover,.checkout-button:active{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.image-uploader{display:flex;flex-direction:column;min-height:100dvh;background:linear-gradient(180deg,#f0f0f0 0%,var(--color-cream) 100%)}.uploader-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:linear-gradient(90deg,var(--color-warm-yellow) 0%,#FFE1A3 100%);padding-top:calc(var(--spacing-lg) + var(--safe-top));padding-bottom:calc(var(--spacing-lg) + var(--safe-bottom))}.uploader-header h2{flex:1;font-family:var(--font-display);font-size:clamp(24px,5vw,36px);font-weight:700;color:var(--color-dark-text);letter-spacing:var(--ls-tight)}.uploader-content{flex:1;overflow-y:auto;padding:var(--spacing-xl)}.selector-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}@media (max-width: 768px){.selector-section{grid-template-columns:1fr}}.selector-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.selector-group label{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--font-label);color:var(--color-dark-text);letter-spacing:var(--ls-wide)}.selector-group select{padding:var(--spacing-md);border:2px solid #e0e0e0;border-radius:8px;font-family:var(--font-body);font-size:var(--font-label);font-weight:var(--fw-regular);background:#fff;color:var(--color-dark-text);cursor:pointer}.preview-section{background:#fff;padding:var(--spacing-xl);border-radius:16px;box-shadow:0 2px 8px #00000014;max-width:600px;margin:0 auto}.preview-section h3{font-family:var(--font-display);font-size:clamp(20px,4vw,28px);font-weight:700;margin-bottom:var(--spacing-lg);color:var(--color-dark-text);letter-spacing:var(--ls-tight)}.current-image{margin-bottom:var(--spacing-xl);border:2px dashed #e0e0e0;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#fafafa}.current-image img{width:100%;height:100%;object-fit:cover}.no-image{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-family:var(--font-body);font-size:16px;font-weight:var(--fw-medium)}.remove-image-btn{width:100%;padding:var(--spacing-md);margin-top:var(--spacing-md);border:none;border-radius:8px;background:#ffe5e5;color:#e85d75;font-family:var(--font-body);font-weight:var(--fw-semibold);cursor:pointer;transition:all .2s}.remove-image-btn:hover{background:#ff8fa3;color:#fff}.upload-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.upload-label{display:block;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-warm-yellow) 0%,var(--color-soft-orange) 100%);color:#fff;text-align:center;border-radius:8px;font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--font-button);letter-spacing:var(--ls-wide);cursor:pointer;transition:all .2s}.upload-label:hover,.upload-label:active{transform:scale(1.02)}.preview-image{border:2px solid var(--color-warm-yellow);border-radius:12px;overflow:hidden;aspect-ratio:4/3;margin-bottom:var(--spacing-md)}.preview-image img{width:100%;height:100%;object-fit:cover}.save-button{padding:var(--spacing-md);border:none;border-radius:8px;background:linear-gradient(135deg,var(--color-fresh-green) 0%,#85DB63 100%);color:#fff;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--font-button);letter-spacing:var(--ls-wide);cursor:pointer;transition:all .2s}.save-button:hover,.save-button:active{transform:scale(1.05)}.cancel-button{padding:var(--spacing-md);border:none;border-radius:8px;background:#e0e0e0;color:var(--color-dark-text);font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--font-button);letter-spacing:var(--ls-wide);cursor:pointer;transition:all .2s}.cancel-button:hover,.cancel-button:active{background:#d0d0d0}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#0000004d}
