.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#fffaf5fa,#fff5ebfa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -4px 24px #ff6b351a;border-top:1px solid rgba(255,107,53,.1);border-radius:20px 20px 0 0;padding-bottom:var(--safe-area-bottom)}body.dark-mode .bottom-nav{background:var(--bg-primary);border-top-color:var(--border-color);box-shadow:none}.nav-inner{display:flex;justify-content:space-around;align-items:center;padding:10px 0;max-width:600px;margin:0 auto;position:relative}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-md);transition:all .3s ease;color:#6b7280}.nav-item:active{transform:scale(.9)}.nav-item:hover{background:#ff6b350d;color:var(--primary)}.nav-item.active{color:var(--primary)}.nav-icon{font-size:24px;line-height:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-icon svg{width:24px;height:24px}.nav-label{font-size:var(--font-size-xs);font-weight:500;transition:color .2s ease}.nav-item.active .nav-label{font-weight:600;color:var(--primary)}.cart-badge{position:absolute;top:-8px;right:10%;background:var(--primary);color:#fff;font-size:var(--font-size-sm);font-weight:700;padding:4px 10px;border-radius:var(--radius-full);box-shadow:var(--shadow-md);animation:scaleIn .3s ease}.cart-badge:active{transform:scale(.9)}.dish-card{min-width:180px;max-width:220px;background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0;scroll-snap-align:start;cursor:pointer;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dish-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-active)}.dish-card:focus-visible{outline:3px solid rgba(255,107,53,.35);outline-offset:2px}.dish-card:active{transform:scale(.985)}.dish-card-image{height:154px;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-secondary));background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;isolation:isolate}.dish-card-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}.dish-card:hover .dish-card-image img{transform:scale(1.04)}.dish-card-image.is-fallback{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.25),transparent 34%),linear-gradient(135deg,#ff6b3538,#fdc50042)}.dish-card-image-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,transparent 48%,rgba(0,0,0,.35) 100%)}.dish-emoji{position:relative;z-index:0;font-size:clamp(42px,12vw,58px);filter:drop-shadow(0 8px 16px rgba(0,0,0,.12))}.dish-card-badges{position:absolute;z-index:2;left:8px;right:48px;bottom:8px;display:flex;flex-wrap:wrap;gap:5px;pointer-events:none}.dish-badge{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:var(--radius-full);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1px;line-height:1.1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.dish-badge-popular{background:#be5609d1}.dish-badge-vegan{background:#0a7545d6}.fav-btn{position:absolute;z-index:3;top:8px;right:8px;font-size:18px;width:34px;height:34px;border-radius:var(--radius-full);background:#00000061;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease}.fav-btn:hover{background:#00000085}.fav-btn:active{transform:scale(1.18)}.dish-card-body{min-width:0;padding:12px 12px 13px}.dish-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.dish-card-title{min-width:0;font-size:var(--font-size-sm);font-weight:800;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.dish-price{font-size:var(--font-size-md);font-weight:850;color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums}.dish-price-top{flex-shrink:0;color:var(--orange-dark)}.dish-card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:30px;margin:0 0 7px;color:var(--text-secondary);font-size:11px;line-height:1.35}.dish-card-restaurant{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:4px;margin-bottom:6px;font-size:11px;font-weight:650}.restaurant-link{min-width:0;color:var(--text-secondary);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer;transition:color .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.restaurant-link:hover{color:var(--orange)}.dish-rating{color:var(--orange-dark);white-space:nowrap;font-variant-numeric:tabular-nums}.dish-card-meta{display:flex;flex-wrap:wrap;gap:6px 9px;min-height:17px;margin-bottom:7px;color:var(--text-muted);font-size:10px}.dish-card-allergens{display:flex;align-items:flex-start;gap:5px;min-height:29px;margin-bottom:9px;padding:6px 7px;border-radius:9px;font-size:10px;line-height:1.3}.dish-card-allergens>span:last-child{min-width:0;overflow-wrap:anywhere}.dish-card-allergens.verified{color:#087443;background:#10b9811a}.dish-card-allergens.unverified,.dish-card-allergens.unknown{color:#9a5b00;background:#fbbf2424}body.dark-mode .dish-card-allergens.verified{color:#6ee7b7}body.dark-mode .dish-card-allergens.unverified,body.dark-mode .dish-card-allergens.unknown{color:#fcd34d}.dish-allergen-icon{flex:0 0 auto;font-weight:900}.dish-card-footer{display:flex;align-items:center;gap:8px}.dish-fulfillment{min-width:0;flex:1;overflow:hidden;color:var(--text-muted);font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.cart-add-btn{width:36px;height:36px;flex:0 0 auto;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--orange),var(--secondary));color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #ff6b3540;transition:transform .15s ease,box-shadow .15s ease}.cart-add-btn:hover{box-shadow:0 6px 16px #ff6b3559}.cart-add-btn:active{transform:scale(.88)}@media (max-width: 360px){.dish-card{min-width:0}.dish-card-image{height:132px}.dish-card-body{padding-inline:10px}.dish-card-description{font-size:10px}}@media (min-width: 640px){.dish-card-image{height:170px}.dish-card-title{font-size:var(--font-size-md)}}.dish-modal-overlay{position:fixed;inset:0;z-index:2000;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.dish-modal{width:100%;max-width:500px;max-height:90vh;background:var(--bg-secondary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow-y:auto;animation:slideUp .3s ease}.modal-image{height:260px;background:var(--bg-card);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;position:relative}.modal-emoji{font-size:80px}.modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:var(--radius-full);background:#00000080;backdrop-filter:blur(8px);font-size:18px;color:#fff;display:flex;align-items:center;justify-content:center}.modal-body{padding:var(--spacing-lg)}.modal-title{font-size:var(--font-size-2xl);font-weight:800;margin-bottom:var(--spacing-md)}.modal-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--spacing-md)}.meta-chip{padding:6px 12px;background:var(--bg-card);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.restaurant-chip{cursor:pointer;color:var(--orange)}.modal-description{font-size:var(--font-size-md);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.modal-section{margin-bottom:var(--spacing-lg)}.modal-section h3{font-size:var(--font-size-md);font-weight:700;margin-bottom:var(--spacing-sm)}.ingredients-list,.allergens-list{display:flex;flex-wrap:wrap;gap:6px}.ingredient-chip{padding:4px 10px;background:var(--bg-card);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--text-secondary)}.allergen-chip{padding:4px 10px;background:#ff444426;border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--red);font-weight:600}.modal-bottom{position:sticky;bottom:0;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom));background:var(--bg-secondary);border-top:1px solid var(--border-color)}.qty-controls{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--bg-card);border-radius:var(--radius-lg);padding:4px}.qty-controls .qty-btn{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg-elevated);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}.qty-controls .qty-btn:active{transform:scale(.9)}.qty-controls .qty-value{font-weight:700;min-width:28px;text-align:center;font-size:var(--font-size-lg)}.add-to-cart-btn{flex:1;padding:14px;background:var(--orange);color:#fff;font-size:var(--font-size-md);font-weight:700;border-radius:var(--radius-lg);transition:all .2s ease}.add-to-cart-btn:active{transform:scale(.97);background:var(--orange-dark)}.filter-overlay{position:fixed;inset:0;z-index:8000;background:#00000073;animation:fadeIn .2s ease;display:flex;align-items:flex-end}.filter-sheet{width:100%;max-height:85vh;background:var(--bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.22,.61,.36,1)}.filter-handle{display:flex;justify-content:center;padding:12px 0 4px}.filter-handle-bar{width:40px;height:4px;background:var(--border-color);border-radius:2px}.filter-header{display:flex;align-items:center;justify-content:space-between;padding:8px var(--spacing-lg) var(--spacing-md)}.filter-title{font-size:var(--font-size-xl);font-weight:800}.filter-reset{font-size:var(--font-size-sm);font-weight:600;color:var(--orange)}.filter-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 var(--spacing-lg)}.filter-section{margin-bottom:var(--spacing-lg)}.filter-section-title{font-size:var(--font-size-md);font-weight:700;margin-bottom:var(--spacing-sm)}.filter-sort-row{display:flex;flex-wrap:wrap;gap:8px}.filter-pill{padding:8px 14px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;background:var(--bg-elevated);color:var(--text-secondary);border:1.5px solid transparent;transition:all .2s ease}.filter-pill.active{background:#ff6b351a;color:var(--orange);border-color:var(--orange)}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;background:var(--bg-card);border:1.5px solid var(--border-color);color:var(--text-secondary);transition:all .2s ease}.filter-chip:active{transform:scale(.95)}.filter-chip.active{border-color:var(--orange);background:#ff6b3514;color:var(--orange)}.filter-price-sliders{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.filter-footer{padding:var(--spacing-md) var(--spacing-lg) calc(var(--spacing-lg) + var(--safe-area-bottom))}.filter-apply{width:100%;padding:16px;background:var(--orange);color:#fff;font-size:var(--font-size-lg);font-weight:700;border-radius:var(--radius-lg);transition:all .2s ease}.filter-apply:active{transform:scale(.98);background:var(--orange-dark)}.page{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--nav-height) + var(--safe-area-bottom) + 10px)}.page-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);min-height:300px;text-align:center;gap:var(--spacing-sm)}.placeholder-icon{font-size:48px;margin-bottom:var(--spacing-md);animation:pulse 2s infinite}.placeholder-text{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.placeholder-sub{font-size:var(--font-size-sm);color:var(--text-muted)}.text-muted{color:var(--text-muted)}.text-orange{color:var(--orange);font-weight:600}.search-bar{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px var(--spacing-md);margin:var(--spacing-md)}.search-icon{font-size:18px}.search-input{flex:1;font-size:var(--font-size-md);background:transparent;color:var(--text-primary)}.search-input::placeholder{color:var(--text-muted)}.mode-tabs{display:flex;gap:var(--spacing-sm);padding:0 var(--spacing-md);margin-bottom:var(--spacing-md);overflow-x:auto;-webkit-overflow-scrolling:touch}.mode-tabs::-webkit-scrollbar{display:none}.mode-tab{padding:8px 16px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;white-space:nowrap;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);transition:all .2s ease}.mode-tab.active{background:var(--orange);color:#fff;border-color:var(--orange)}.mode-tab:active{transform:scale(.95)}.sections{display:flex;flex-direction:column;gap:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-md)}.section-title{font-size:var(--font-size-xl);font-weight:700}.section-more{font-size:var(--font-size-sm);color:var(--orange);font-weight:600}.cards-scroll{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.cards-scroll::-webkit-scrollbar{display:none}.card-placeholder{min-width:200px;height:220px;border-radius:var(--radius-lg);flex-shrink:0;scroll-snap-align:start}.tab-bar{display:flex;border-bottom:1px solid var(--border-color);padding:0 var(--spacing-md)}.tab{flex:1;padding:12px;font-size:var(--font-size-md);font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .2s ease;text-align:center}.tab.active{color:var(--orange);border-bottom-color:var(--orange)}.profile-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-md)}.profile-avatar-lg{width:64px;height:64px;border-radius:var(--radius-full);background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;border:2px solid var(--orange)}.profile-avatar-lg img{width:100%;height:100%;object-fit:cover}.profile-info h2{font-size:var(--font-size-xl);font-weight:700}.profile-info p{font-size:var(--font-size-sm)}.xp-card{margin:0 var(--spacing-md) var(--spacing-md);padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-lg)}.xp-header{display:flex;justify-content:space-between;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-secondary)}.xp-bar{height:6px;background:var(--bg-primary);border-radius:var(--radius-full);overflow:hidden}.xp-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--orange));border-radius:var(--radius-full);transition:width .8s cubic-bezier(.4,0,.2,1)}.menu-list{display:flex;flex-direction:column;padding:0 var(--spacing-md);gap:2px}.menu-item{display:flex;align-items:center;gap:var(--spacing-md);padding:16px var(--spacing-md);background:var(--bg-card);font-size:var(--font-size-md);font-weight:500;transition:all .2s ease;text-align:left;width:100%}.menu-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.menu-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.menu-item:active{background:var(--bg-elevated)}.menu-item.logout{color:var(--red)}.menu-arrow{margin-left:auto;color:var(--text-muted)}.cart-items{display:flex;flex-direction:column;gap:1px;padding:var(--spacing-md)}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-md)}.cart-item-info h3{font-size:var(--font-size-md);font-weight:600;margin-bottom:4px}.cart-item-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.qty-btn{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-elevated);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}.qty-btn:active{transform:scale(.9)}.qty-value{font-weight:700;min-width:24px;text-align:center}.cart-summary{padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-lg);margin:var(--spacing-md)}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:var(--font-size-md);color:var(--text-secondary)}.total-row{font-weight:700;font-size:var(--font-size-lg);color:var(--text-primary);border-top:1px solid var(--border-color);margin-top:8px;padding-top:12px}.checkout-btn{width:100%;padding:16px;background:var(--orange);color:#fff;font-size:var(--font-size-lg);font-weight:700;border-radius:var(--radius-lg);margin-top:var(--spacing-md);transition:all .2s ease}.checkout-btn:active{transform:scale(.98);background:var(--orange-dark)}.page-auth{background:var(--bg-primary);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.auth-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-logo{text-align:center;margin-bottom:var(--spacing-lg)}.auth-logo-icon{font-size:56px;display:block;margin-bottom:var(--spacing-sm)}.auth-logo-text{font-size:36px;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-tagline{color:var(--text-muted);font-size:var(--font-size-md);margin-top:4px}.google-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-weight:600;width:100%;transition:all .2s ease}.google-btn:active{transform:scale(.98)}.auth-redirect-btn{padding:10px 14px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;width:100%}.auth-redirect-btn:disabled{opacity:.5;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:var(--spacing-md);color:var(--text-muted);font-size:var(--font-size-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-input{padding:14px var(--spacing-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-size-md);color:var(--text-primary);width:100%;transition:border-color .2s ease}.auth-input:focus{border-color:var(--orange)}.auth-input::placeholder{color:var(--text-muted)}.auth-error{color:var(--red);font-size:var(--font-size-sm);text-align:center}.auth-submit{padding:14px;background:var(--orange);color:#fff;font-size:var(--font-size-lg);font-weight:700;border-radius:var(--radius-lg);transition:all .2s ease}.auth-submit:active{transform:scale(.98);background:var(--orange-dark)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-switch{font-size:var(--font-size-sm);color:var(--orange);text-align:center;font-weight:600}.smart-pilot-auth .auth-container{max-width:420px;gap:14px}.smart-pilot-auth .auth-logo{margin-bottom:2px}.auth-pilot-note{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid rgba(255,107,53,.2);border-radius:var(--radius-lg);background:#ff6b3514;color:var(--text-secondary);font-size:12px;line-height:1.35}.auth-pilot-note strong{color:var(--text-primary);font-size:14px}.auth-email-toggle,.auth-guest-btn{width:100%;min-height:42px;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:650}.auth-email-toggle{color:var(--orange-dark);border-color:#ff6b3547}.auth-guest-btn{background:var(--bg-elevated);color:var(--text-primary)}.auth-email-toggle:active,.auth-guest-btn:active{transform:scale(.985)}.snaktok-header,.ai-header{display:flex;align-items:center;justify-content:center;height:var(--header-height);padding-top:var(--safe-area-top)}.snaktok-logo,.ai-logo{font-size:var(--font-size-xl);font-weight:800}.dishes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);padding:0 var(--spacing-md) var(--spacing-md)}.dishes-grid .dish-card{min-width:unset;max-width:unset}.restaurants-list{display:flex;flex-direction:column;padding:0 var(--spacing-md);gap:var(--spacing-sm)}.restaurant-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color)}.restaurant-row:active{transform:scale(.98)}.restaurant-emoji-lg{font-size:36px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0}.restaurant-row-info{flex:1;min-width:0}.restaurant-row-info h3{font-size:var(--font-size-md);font-weight:700;margin-bottom:2px}.restaurant-row-info p{font-size:var(--font-size-sm);color:var(--text-secondary)}.restaurant-arrow{color:var(--text-muted);font-size:20px}.search-clear{width:24px;height:24px;border-radius:var(--radius-full);background:var(--bg-elevated);font-size:14px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.tab-badge{background:var(--orange);color:#fff;font-size:10px;padding:1px 6px;border-radius:var(--radius-full);margin-left:4px;font-weight:700}.snaktok-top-bar{position:absolute;top:0;left:0;right:0;z-index:100;padding:var(--safe-area-top) var(--spacing-md) 0;height:calc(var(--header-height) + var(--safe-area-top));display:flex;align-items:center;justify-content:center;pointer-events:none}.snaktok-logo-text{font-size:var(--font-size-xl);font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}.settings-card{display:flex;align-items:center;justify-content:space-between;margin:0 var(--spacing-md) var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-lg)}.settings-label{font-size:var(--font-size-md);font-weight:600}.settings-value{font-size:var(--font-size-sm);color:var(--text-secondary)}.lang-switcher{display:flex;gap:4px;background:var(--bg-elevated);border-radius:var(--radius-md);padding:3px}.lang-btn{padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;transition:all .2s ease;color:var(--text-muted)}.lang-btn.active{background:var(--orange);color:#fff}.theme-toggle{width:48px;height:26px;background:var(--bg-elevated);border-radius:var(--radius-full);position:relative;transition:background .3s ease;border:1px solid var(--border-color)}.theme-toggle.dark{background:var(--primary);border-color:var(--primary)}.theme-toggle-thumb{width:20px;height:20px;background:#fff;border-radius:var(--radius-full);position:absolute;top:2px;left:2px;transition:transform .3s ease;box-shadow:0 1px 3px #0003}.theme-toggle.dark .theme-toggle-thumb{transform:translate(22px)}.auth-logo-img{width:100px;height:100px;margin:0 auto var(--spacing-md);display:block;filter:drop-shadow(0 8px 24px rgba(255,107,53,.25))}.categories-bar{display:flex;gap:10px;padding:0 var(--spacing-md) var(--spacing-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.categories-bar::-webkit-scrollbar{display:none}.category-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;border-radius:var(--radius-lg);background:var(--bg-card);border:1.5px solid var(--border-color);min-width:64px;flex-shrink:0;transition:all .2s ease}.category-chip:active{transform:scale(.95)}.category-chip.active{border-color:var(--orange);background:#ff6b3514}.category-icon{font-size:22px;line-height:1}.category-label{font-size:10px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.category-chip.active .category-label{color:var(--orange)}.filter-btn{width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;position:relative;border:1px solid var(--border-color);transition:all .2s ease}.filter-btn:active{transform:scale(.95)}.filter-btn.has-filters{border-color:var(--orange);background:#ff6b3514}.filter-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--orange);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.page-restaurant{background:var(--bg-secondary)}.rest-hero{position:relative;background:linear-gradient(135deg,var(--orange) 0%,var(--secondary) 100%);padding:calc(var(--safe-area-top) + 16px) var(--spacing-lg) var(--spacing-xl);overflow:hidden;flex-shrink:0}.rest-hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.15) 0%,transparent 60%)}.rest-back-float{position:relative;z-index:2;width:36px;height:36px;border-radius:var(--radius-full);background:#fff3;backdrop-filter:blur(8px);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md)}.rest-back-float:active{transform:scale(.9)}.rest-hero-content{position:relative;z-index:2}.rest-emoji{font-size:48px;display:block;margin-bottom:8px}.rest-name{font-size:var(--font-size-2xl);font-weight:800;color:#fff;line-height:1.1;margin-bottom:4px}.rest-cuisine{font-size:var(--font-size-md);color:#fffc;margin-bottom:var(--spacing-sm)}.rest-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rest-meta-item{font-size:var(--font-size-sm);font-weight:600;color:#ffffffe6}.rest-meta-dot{color:#fff6}.rest-min-order{font-size:var(--font-size-sm);color:#ffffffb3;margin-top:6px}.rest-categories{display:flex;gap:8px;padding:var(--spacing-md) var(--spacing-md) 0;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}.rest-categories::-webkit-scrollbar{display:none}.rest-cat-btn{padding:8px 14px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;background:var(--bg-card);color:var(--text-secondary);border:1.5px solid var(--border-color);white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:6px;transition:all .2s ease}.rest-cat-btn.active{background:var(--orange);color:#fff;border-color:var(--orange)}.rest-cat-btn:active{transform:scale(.95)}.rest-cat-count{font-size:10px;background:#0000001a;padding:1px 6px;border-radius:var(--radius-full)}.rest-cat-btn.active .rest-cat-count{background:#ffffff40}.rest-menu-content{padding-top:var(--spacing-md)}.rest-dish-count{padding:0 var(--spacing-md) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted)}.streak-card{display:flex;align-items:center;gap:var(--spacing-md);margin:0 var(--spacing-md) var(--spacing-sm);padding:var(--spacing-md);background:linear-gradient(135deg,#ff6b3514,#fdc50014);border:1.5px solid rgba(255,107,53,.2);border-radius:var(--radius-lg)}.streak-fire{font-size:36px;animation:streakPulse 2s infinite}@keyframes streakPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.streak-info{display:flex;flex-direction:column}.streak-count{font-size:var(--font-size-2xl);font-weight:800;color:var(--orange);line-height:1}.streak-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary)}.streak-sub{margin-left:auto;font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted)}.address-card{margin:0 var(--spacing-md) var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-lg)}.address-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:8px}.address-icon{font-size:20px}.address-title{font-size:var(--font-size-md);font-weight:700;flex:1}.address-edit-btn{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-elevated);font-size:14px;display:flex;align-items:center;justify-content:center}.address-edit-btn:active{transform:scale(.9)}.address-text{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.address-edit{display:flex;gap:8px}.address-input{flex:1;padding:10px 14px;background:var(--bg-elevated);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--text-primary)}.address-input:focus{border-color:var(--orange)}.address-input::placeholder{color:var(--text-muted)}.address-save-btn{padding:10px 16px;background:var(--orange);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap}.address-save-btn:active{transform:scale(.95)}.darkmode-btn{width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;border:1px solid var(--border-color);transition:all .2s ease}.darkmode-btn:active{transform:scale(.95)}.cart-header{display:flex;align-items:center;gap:12px;padding:0 16px 12px}.cart-header h2{flex:1;font-weight:700;font-size:var(--font-size-xl)}.cart-back,.cart-clear{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-elevated);font-size:18px;display:flex;align-items:center;justify-content:center}.cart-back:active,.cart-clear:active{transform:scale(.9)}.cart-restaurant{display:flex;align-items:center;gap:8px;padding:8px 16px;margin:0 16px 8px;background:var(--bg-card);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;border:1px solid var(--border-color)}.cart-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-card);border-bottom:1px solid var(--border-color)}.cart-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.cart-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-bottom:none}.cart-item:only-child{border-radius:var(--radius-lg)}.cart-item-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.cart-item-img{width:48px;height:48px;border-radius:var(--radius-md);background:var(--bg-elevated);background-size:cover;background-position:center;flex-shrink:0;display:flex;align-items:center;justify-content:center}.cart-item-emoji{font-size:24px}.cart-item-info h3{font-size:var(--font-size-sm);font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.cart-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.cart-item-total{font-size:var(--font-size-sm);font-weight:700;color:var(--orange)}.free-delivery-hint{margin:8px 16px;padding:10px 14px;background:#ff6b350f;border:1px solid rgba(255,107,53,.2);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;color:var(--orange);text-align:center}.cart-tip{margin:12px 16px 0;padding:14px;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.cart-tip-title{font-size:var(--font-size-md);font-weight:700;margin-bottom:10px;color:var(--text-primary)}.cart-tip-row{display:flex;flex-wrap:wrap;gap:8px}.tip-btn{flex:1 1 auto;min-width:64px;padding:10px 12px;border-radius:99px;border:1.5px solid var(--border-color);background:var(--bg-elevated);color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.tip-btn:active{transform:scale(.96)}.tip-btn.active{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border-color:transparent;box-shadow:0 4px 12px #ff6b354d}.tip-btn-custom{font-style:italic}.tip-custom-input{margin-top:10px;width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1.5px solid var(--orange);background:var(--bg-elevated);color:var(--text-primary);font-size:15px;font-weight:600;box-sizing:border-box;outline:none}.card-form-overlay{position:fixed;inset:0;z-index:9999;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;animation:cf-fade .2s ease}@keyframes cf-fade{0%{opacity:0}to{opacity:1}}@keyframes cf-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.card-form-sheet{width:100%;max-width:480px;background:var(--bg-card);border-radius:22px 22px 0 0;padding:14px 18px 28px;box-shadow:0 -10px 40px #0006;max-height:92vh;overflow-y:auto;animation:cf-up .25s ease}.card-form-handle{width:44px;height:4px;border-radius:99px;background:var(--border-color, #444);margin:-2px auto 12px}.card-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-form-title{font-size:18px;font-weight:800;color:var(--text-primary)}.card-form-close{background:transparent;border:none;padding:4px;color:var(--text-muted);cursor:pointer}.card-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.card-row{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-elevated);border:1.5px solid var(--border-color);border-radius:14px;cursor:pointer;transition:border-color .15s,transform .1s}.card-row:active{transform:scale(.99)}.card-row.selected{border-color:var(--orange)}.card-row-icon{color:var(--orange);display:flex}.card-row-text{flex:1;min-width:0}.card-row-brand{font-size:15px;font-weight:700;color:var(--text-primary)}.card-row-exp{font-size:12px;color:var(--text-muted);margin-top:2px}.card-row-delete{background:transparent;border:none;padding:6px;color:var(--text-muted);cursor:pointer}.card-row-delete:hover{color:#ef4444}.card-form-add{width:100%;padding:13px;background:transparent;border:1.5px dashed var(--border-color);border-radius:14px;color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center}.card-form-add:active{transform:scale(.99)}.card-preview{position:relative;padding:18px 18px 16px;border-radius:16px;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);color:#fff;margin-bottom:16px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 24px #0000004d}.card-preview.brand-visa{background:linear-gradient(135deg,#1a1f71,#4f5ad9)}.card-preview.brand-mastercard{background:linear-gradient(135deg,#c93c2a,#f7991e)}.card-preview.brand-maestro{background:linear-gradient(135deg,#0099df,#f56b04)}.card-preview.brand-amex{background:linear-gradient(135deg,#006fcf,#009dde)}.card-preview-brand{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;opacity:.85}.card-preview-number{font-size:19px;font-weight:600;letter-spacing:2px;font-variant-numeric:tabular-nums;margin:18px 0 4px}.card-preview-row{display:flex;justify-content:space-between;align-items:flex-end;font-variant-numeric:tabular-nums}.card-preview-hint{font-size:9px;opacity:.65;text-transform:uppercase;letter-spacing:1px}.card-preview-value{font-size:13px;font-weight:600;margin-top:2px}.card-form-fields{display:flex;flex-direction:column;gap:12px}.card-field{display:flex;flex-direction:column;gap:6px;flex:1}.card-field>span{font-size:12px;color:var(--text-muted);font-weight:600}.card-field input{padding:11px 13px;background:var(--bg-elevated);border:1.5px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:15px;font-variant-numeric:tabular-nums;outline:none;transition:border-color .15s}.card-field input:focus{border-color:var(--orange)}.card-field-row{display:flex;gap:10px}.card-field-err{font-size:11px;color:#ef4444;font-weight:600}.card-form-secure-note{font-size:11px;color:var(--text-muted);margin-top:4px;display:flex;align-items:center;background:#ffffff08;padding:8px 10px;border-radius:8px}.card-form-actions{display:flex;gap:10px;margin-top:18px}.card-form-btn{flex:1;padding:14px;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .1s}.card-form-btn:active:not(:disabled){transform:scale(.98)}.card-form-btn:disabled{opacity:.5;cursor:not-allowed}.card-form-btn.ghost{background:transparent;color:var(--text-muted);border:1.5px solid var(--border-color)}.card-form-btn.primary{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;box-shadow:0 4px 14px #ff6b354d}.card-pick-btn{width:100%;margin-top:8px;padding:10px;background:var(--bg-elevated);color:var(--orange);border:1.5px dashed var(--orange);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.card-pick-btn:active{transform:scale(.99)}.checkout-section{padding:12px 16px;margin-bottom:4px}.checkout-label{font-size:var(--font-size-md);font-weight:700;margin-bottom:10px}.checkout-address{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-md);cursor:pointer;transition:border-color .2s}.checkout-address:active{border-color:var(--orange)}.checkout-input{width:100%;padding:12px 14px;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--text-primary);transition:border-color .2s}.checkout-input:focus{border-color:var(--orange)}.checkout-input::placeholder{color:var(--text-muted)}.checkout-cancel{padding:8px 14px;border-radius:var(--radius-md);background:var(--bg-elevated);font-weight:600;color:var(--text-secondary);border:1px solid var(--border-color)}.payment-options{display:flex;gap:10px}.payment-option{flex:1;display:flex;align-items:center;gap:10px;padding:14px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:all .2s;text-align:left}.payment-option:active{transform:scale(.97)}.payment-option.active{border-color:var(--orange);background:#ff6b350a}.payment-icon{font-size:24px}.payment-name{font-weight:700;font-size:var(--font-size-md)}.payment-desc{font-size:11px;color:var(--text-muted)}.promo-row{display:flex;gap:8px}.promo-apply{padding:10px 18px;background:var(--orange);color:#fff;font-weight:700;border-radius:var(--radius-md);font-size:var(--font-size-sm);white-space:nowrap;transition:all .2s}.promo-apply:active{transform:scale(.95)}.promo-apply:disabled{opacity:.4}.promo-success{margin-top:8px;font-size:var(--font-size-sm);font-weight:600;color:#10b981}.secondary-btn{background:var(--bg-card)!important;color:var(--text-primary)!important;border:1.5px solid var(--border-color)}.secondary-btn:active{background:var(--bg-elevated)!important}.order-success{display:flex;flex-direction:column;align-items:center;padding:20px 16px 40px;text-align:center}.success-check{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:36px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1)}.success-title{font-size:var(--font-size-2xl);font-weight:800;margin-bottom:4px}.success-sub{font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:20px}.success-card{width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:16px}.success-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.success-row+.success-row{border-top:1px solid var(--border-color)}.success-eta{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#ff6b350f;border:1px solid rgba(255,107,53,.2);border-radius:var(--radius-lg);margin-bottom:16px;width:100%}.orders-list{display:flex;flex-direction:column;gap:10px;padding:12px 16px 32px}.order-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px;transition:all .2s ease}.order-card-header{display:flex;justify-content:space-between;align-items:flex-start}.order-card-left{display:flex;align-items:center;gap:10px}.order-status-icon{font-size:28px}.order-restaurant{font-weight:700;font-size:var(--font-size-md);color:var(--text-primary)}.order-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.order-card-right{text-align:right}.order-total{font-weight:700;font-size:var(--font-size-md);color:var(--text-primary)}.order-status-label{font-size:12px;font-weight:600;margin-top:2px}.order-progress{margin-top:12px}.order-progress-bar{height:4px;background:var(--bg-elevated, #f3f4f6);border-radius:2px;overflow:hidden}body.dark-mode .order-progress-bar{background:var(--bg-elevated, #1f2937)}.order-progress-fill{height:100%;border-radius:2px;transition:width .6s ease}.order-progress-steps{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;color:var(--text-muted)}.order-progress-steps span.active{color:#10b981;font-weight:700}.order-items-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.order-item-row{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--text-primary)}.order-item-qty{font-weight:700;color:var(--orange, #ff6b35);min-width:24px}.order-item-name{flex:1}.order-item-price{font-weight:600}.snaktok-feed{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch}.snaktok-feed::-webkit-scrollbar{display:none}.snaktok-item{height:100vh;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always}.snaktok-content{height:100%;position:relative;display:flex;align-items:center;justify-content:center}.snaktok-emoji{font-size:120px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.4));animation:snaktokFloat 3s ease-in-out infinite}@keyframes snaktokFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(3deg)}}.snaktok-info{position:absolute;bottom:0;left:0;right:60px;padding:20px 16px;padding-bottom:calc(var(--nav-height) + var(--safe-area-bottom) + 20px);background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.5) 50%,transparent 100%);color:#fff}.snaktok-dish-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.snaktok-dish-name{font-size:18px;font-weight:800;text-shadow:0 1px 4px rgba(0,0,0,.5);flex:1;margin-right:8px}.snaktok-dish-price{font-size:18px;font-weight:800;color:var(--orange-light);text-shadow:0 1px 4px rgba(0,0,0,.5)}.snaktok-details{display:flex;gap:10px;font-size:13px;margin-top:4px;opacity:.9}.snaktok-details span{cursor:pointer}.snaktok-sidebar{position:absolute;right:10px;bottom:calc(var(--nav-height) + var(--safe-area-bottom) + 30px);display:flex;flex-direction:column;gap:18px;align-items:center}.snaktok-action{width:44px;height:44px;border-radius:var(--radius-full);background:#00000059;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;transition:transform .15s ease}.snaktok-action:active{transform:scale(1.2)}.snaktok-action.liked{color:#f44;font-size:26px}.snaktok-action svg{width:22px;height:22px}.snaktok-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:48px}.snaktok-empty p{font-size:var(--font-size-lg);color:var(--text-muted)}.page-ai-chat{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);touch-action:pan-x pan-y}.snk-ai-decisions{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;flex-shrink:0;background:var(--bg-primary);border-bottom:1px solid var(--border-color);scrollbar-width:none}.snk-ai-decisions::-webkit-scrollbar{display:none}.snk-ai-decisions button{flex:0 0 auto;border:1px solid rgba(255,107,53,.22);background:#ff6b3512;color:var(--text-primary);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}.snk-ai-decisions button:first-child{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border-color:transparent}.snk-ai-decisions button:active{transform:scale(.96)}.ai-top-actions{background:var(--bg-primary);border-bottom:1px solid var(--border-color);flex-shrink:0;padding-top:var(--safe-area-top)}.ai-top-actions-row{display:flex;align-items:center;gap:8px;padding:10px var(--spacing-md)}.ai-header-back{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-elevated);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-header-back:active{transform:scale(.9)}.ai-new-chat{padding:6px 14px;border-radius:var(--radius-full);background:var(--bg-elevated);font-size:var(--font-size-sm);font-weight:700;color:var(--orange);border:1px solid var(--border-color);flex-shrink:0}.ai-new-chat:active{transform:scale(.95)}.ai-settings-toggle{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:var(--font-size-sm);font-weight:700;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-full);flex-shrink:0}.ai-chevron{transition:transform .2s ease;font-size:10px}.ai-chevron.open{transform:rotate(180deg)}.ai-count-selector{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600;margin-left:auto;flex-shrink:0}.ai-count-selector select{padding:4px 8px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:700}.ai-quick-panel{padding:8px var(--spacing-md) 10px;border-top:1px solid var(--border-color);animation:slideDown .2s ease}.ai-quick-btns{display:flex;gap:6px;flex-wrap:wrap}.ai-qbtn{padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color);white-space:nowrap;transition:all .15s ease}.ai-qbtn:active{transform:scale(.94);background:#ff6b3514;border-color:var(--orange);color:var(--orange)}.ai-qbtn-recipe{background:#ff6b350f;border-color:var(--orange);color:var(--orange)}.ai-chat-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--spacing-md);padding-bottom:24px;display:flex;flex-direction:column;gap:12px;touch-action:pan-x pan-y;overscroll-behavior-x:none}.ai-msg{display:flex;gap:8px;max-width:90%;animation:slideUp .2s ease both}.ai-msg.user{margin-left:auto;flex-direction:row-reverse}.ai-msg-avatar{width:30px;height:30px;border-radius:var(--radius-full);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;margin-top:2px}.ai-msg-bubble{padding:10px 14px;border-radius:var(--radius-lg);font-size:var(--font-size-md);line-height:1.5;word-break:break-word}.ai-msg.assistant .ai-msg-bubble{background:var(--bg-card);border:1px solid var(--border-color);border-top-left-radius:4px}.ai-msg.user .ai-msg-bubble{background:var(--orange);color:#fff;border-top-right-radius:4px}.ai-msg-text strong{font-weight:700;color:var(--orange)}.ai-msg.user .ai-msg-text strong{color:#fff}.chat-line{min-height:1.3em}.chat-line:empty:before{content:" "}.ai-dish-cards{display:flex;flex-direction:column;gap:6px}.ai-dish-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color)}.ai-dish-emoji{font-size:28px;flex-shrink:0}.ai-dish-info{flex:1;display:flex;flex-direction:column;min-width:0}.ai-dish-name{font-size:var(--font-size-sm);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-dish-rest{font-size:11px;color:var(--text-muted)}.ai-dish-price{font-size:var(--font-size-sm);font-weight:700;color:var(--orange)}.ai-dish-add{width:32px;height:32px;border-radius:var(--radius-full);background:var(--orange);color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-dish-add:active{transform:scale(1.15)}.ai-typing{display:flex;gap:5px;padding:4px 0}.ai-typing span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.4s infinite}.ai-typing span:nth-child(2){animation-delay:.2s}.ai-typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.ai-input-area{background:var(--bg-primary);border-top:1px solid var(--border-color);flex-shrink:0;padding-bottom:calc(var(--nav-height) + var(--safe-area-bottom) + 8px);touch-action:pan-x pan-y}.ai-input-row{display:flex;align-items:flex-end;gap:8px;padding:10px var(--spacing-md)}.ai-textarea{flex:1;padding:10px 14px;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-size-md);font-family:inherit;color:var(--text-primary);resize:none;max-height:120px;line-height:1.4;transition:border-color .2s ease;touch-action:pan-x pan-y}.ai-textarea:focus{border-color:var(--orange)}.ai-textarea::placeholder{color:var(--text-muted)}.ai-send-btn{width:38px;height:38px;border-radius:var(--radius-full);background:var(--orange);color:#fff;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.ai-send-btn:disabled{opacity:.3}.ai-send-btn:active:not(:disabled){transform:scale(.88);background:var(--orange-dark)}.ai-recipe-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--spacing-lg);padding-bottom:calc(var(--nav-height) + var(--safe-area-bottom) + 20px)}.ai-recipe-icon-big{font-size:64px;text-align:center;margin-bottom:var(--spacing-md)}.ai-recipe-field{margin-bottom:var(--spacing-md)}.ai-recipe-field label{display:block;font-size:var(--font-size-sm);font-weight:700;color:var(--text-secondary);margin-bottom:6px}.ai-recipe-input-row{display:flex;gap:8px}.ai-recipe-input-row input{flex:1;padding:12px 14px;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--text-primary)}.ai-recipe-input-row input:focus{border-color:var(--orange)}.ai-recipe-input-row input::placeholder{color:var(--text-muted)}.ai-recipe-input-row button{width:44px;height:44px;border-radius:var(--radius-md);background:var(--orange);color:#fff;font-size:24px;font-weight:700}.ai-recipe-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ai-recipe-tag{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#ff6b351a;border:1px solid var(--orange);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;color:var(--orange)}.ai-recipe-tag button{font-size:14px;color:var(--orange);opacity:.6}.ai-recipe-selects{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.ai-recipe-field select{width:100%;padding:10px 12px;background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--text-primary);font-weight:600}.ai-recipe-generate{width:100%;padding:16px;background:linear-gradient(135deg,var(--orange),var(--secondary));color:#fff;font-size:var(--font-size-lg);font-weight:700;border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);transition:all .2s ease}.ai-recipe-generate:active{transform:scale(.98)}.ai-recipe-generate:disabled{opacity:.4}.ai-recipe-result{padding:var(--spacing-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);line-height:1.6}.ai-recipe-result strong{color:var(--orange)}body.dark-mode .ai-dish-card{background:var(--bg-elevated)}body.dark-mode .ai-top-actions{background:var(--bg-primary)}.questionnaire{position:fixed;inset:0;z-index:9999;background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden}.quest-bg-shape{position:absolute;border-radius:50%;pointer-events:none;opacity:.06}.quest-bg-1{width:340px;height:340px;background:var(--orange);top:-80px;right:-100px}.quest-bg-2{width:260px;height:260px;background:var(--gold);bottom:-60px;left:-80px}.quest-progress-bar{height:4px;background:var(--bg-elevated);position:relative;z-index:2;flex-shrink:0}.quest-progress-fill{height:100%;background:linear-gradient(90deg,var(--orange),var(--gold));border-radius:0 2px 2px 0;transition:width .4s cubic-bezier(.4,0,.2,1)}.quest-header{display:flex;align-items:center;justify-content:space-between;padding:12px var(--spacing-lg);flex-shrink:0;position:relative;z-index:2}.quest-step-label{font-size:var(--font-size-sm);font-weight:700;color:var(--orange);background:#ff6b351a;padding:4px 12px;border-radius:var(--radius-full)}.quest-back-btn{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);padding:6px 14px;border-radius:var(--radius-full);background:var(--bg-elevated);transition:all .2s ease}.quest-back-btn:active{transform:scale(.95)}.quest-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;z-index:1;animation:questSlideIn .35s cubic-bezier(.22,.61,.36,1) both}.quest-content[data-dir=next]{animation-name:questSlideInNext}.quest-content[data-dir=prev]{animation-name:questSlideInPrev}@keyframes questSlideInNext{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes questSlideInPrev{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.quest-step{padding:8px var(--spacing-lg) var(--spacing-xl)}.quest-emoji-hero{font-size:52px;text-align:center;margin-bottom:8px;animation:questBounce .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.1s}@keyframes questBounce{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.quest-title{font-size:var(--font-size-2xl);font-weight:800;text-align:center;margin-bottom:4px;line-height:1.2}.quest-hint{font-size:var(--font-size-sm);color:var(--text-muted);text-align:center;margin-bottom:var(--spacing-lg)}.quest-grid{display:grid;gap:10px}.quest-grid-2{grid-template-columns:repeat(2,1fr)}.quest-grid-3{grid-template-columns:repeat(3,1fr)}.quest-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 8px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:all .2s cubic-bezier(.4,0,.2,1);min-height:80px;-webkit-tap-highlight-color:transparent}.quest-option:active{transform:scale(.95)}.quest-option.selected{border-color:var(--orange);background:#ff6b3514;box-shadow:0 0 0 1px var(--orange),0 4px 12px #ff6b3526}.quest-option-icon{font-size:28px;line-height:1}.quest-option-compact .quest-option-icon{font-size:24px}.quest-option-label{font-size:var(--font-size-sm);font-weight:600;text-align:center;line-height:1.2}.quest-option-compact{padding:12px 6px;min-height:70px}.quest-option-compact .quest-option-label{font-size:11px}.quest-select-all{display:block;margin:0 auto var(--spacing-md);padding:8px 20px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;background:var(--bg-elevated);color:var(--text-secondary);border:2px solid var(--border-color);transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.quest-select-all:active{transform:scale(.95)}.quest-select-all.active{background:#ff6b351a;border-color:var(--orange);color:var(--orange)}.quest-budget{padding:0 var(--spacing-sm)}.quest-budget-display{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.quest-budget-value{font-size:36px;font-weight:800;background:linear-gradient(135deg,var(--orange),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.quest-budget-dash{font-size:24px;color:var(--text-muted)}.quest-slider-group{margin-bottom:var(--spacing-lg)}.quest-slider-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.quest-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--bg-elevated);outline:none}.quest-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:var(--orange);cursor:pointer;box-shadow:0 2px 8px #ff6b3566;border:3px solid white;transition:transform .15s ease}.quest-slider::-webkit-slider-thumb:active{transform:scale(1.15)}.quest-slider::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--orange);cursor:pointer;box-shadow:0 2px 8px #ff6b3566;border:3px solid white}.quest-spice{padding:0 var(--spacing-sm);margin-top:var(--spacing-md)}.quest-spice-label{font-size:var(--font-size-xl)!important;font-weight:700!important;color:var(--text-primary)!important}.quest-spice-slider{margin-bottom:var(--spacing-lg)}.quest-spice-dots{display:flex;justify-content:space-between;padding:0 2px}.quest-spice-dot{font-size:22px;opacity:.3;transition:all .3s ease;filter:grayscale(1)}.quest-spice-dot.active{opacity:1;filter:grayscale(0);transform:scale(1.15)}.quest-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.quest-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.quest-input-group{display:flex;flex-direction:column;gap:6px}.quest-input-group.quest-full{grid-column:1 / -1}.quest-input-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary)}.quest-input-group input{padding:12px var(--spacing-md);background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);width:100%;transition:border-color .2s ease}.quest-input-group input:focus{border-color:var(--orange)}.quest-input-group input::placeholder{color:var(--text-muted);font-weight:400}.quest-gender-btns{display:flex;gap:8px}.quest-gender-btn{flex:1;padding:10px;font-size:24px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);transition:all .2s ease}.quest-gender-btn.selected{border-color:var(--orange);background:#ff6b3514}.quest-gender-btn:active{transform:scale(.95)}.quest-activity-btns{display:flex;flex-wrap:wrap;gap:8px}.quest-activity-btn{padding:8px 14px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-secondary);transition:all .2s ease}.quest-activity-btn.selected{border-color:var(--orange);background:#ff6b3514;color:var(--orange)}.quest-activity-btn:active{transform:scale(.95)}.quest-time-btns{display:flex;flex-wrap:wrap;gap:8px}.quest-time-btn{padding:8px 14px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-secondary);transition:all .2s ease}.quest-time-btn.selected{border-color:var(--orange);background:#ff6b3514;color:var(--orange)}.quest-time-btn:active{transform:scale(.95)}.quest-footer{padding:var(--spacing-md) var(--spacing-lg) calc(var(--spacing-lg) + var(--safe-area-bottom));flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-sm);position:relative;z-index:2}.quest-next-btn{width:100%;padding:16px;background:var(--orange);color:#fff;font-size:var(--font-size-lg);font-weight:700;border-radius:var(--radius-lg);transition:all .2s ease;letter-spacing:.3px}.quest-next-btn:active{transform:scale(.98);background:var(--orange-dark)}.quest-next-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.quest-finish-btn{background:linear-gradient(135deg,var(--orange),var(--secondary));font-size:var(--font-size-xl);padding:18px}.quest-skip-btn{width:100%;padding:12px;font-size:var(--font-size-md);font-weight:600;color:var(--text-muted);text-align:center}.quest-skip-btn:active{color:var(--text-secondary)}body.dark-mode .quest-bg-1,body.dark-mode .quest-bg-2{opacity:.04}body.dark-mode .quest-option.selected{background:#ff6b351f}body.dark-mode .quest-slider::-webkit-slider-thumb{border-color:var(--bg-primary)}:root{--primary: #ff6b35;--secondary: #f7931e;--accent: #fdc500;--success: #4ade80;--danger: #ef4444;--warning: #fbbf24;--orange: #ff6b35;--orange-light: #ff8c5a;--orange-dark: #e55a25;--green: #4ade80;--red: #ef4444;--gold: #fdc500;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-card: #ffffff;--bg-elevated: #f3f4f6;--bg-input: #f9fafb;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-color: #e5e7eb;--border-active: rgba(255, 107, 53, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--nav-height: 70px;--header-height: 56px}body.dark-mode{--bg-primary: #1f2937;--bg-secondary: #111827;--bg-card: #1f2937;--bg-elevated: #374151;--bg-input: #1f2937;--text-primary: #f9fafb;--text-secondary: #9ca3af;--text-muted: #6b7280;--border-color: #374151;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5)}body.dark-mode{background:linear-gradient(135deg,#1f2937,#111827,#0f172a)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100%;overflow:hidden}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}#root{height:100%;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit}input,textarea{font-family:inherit;border:none;outline:none;background:none;color:inherit}img{display:block;max-width:100%}::-webkit-scrollbar{width:0;height:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-inline-header{display:flex!important;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px!important;background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important;position:sticky;top:0;z-index:90}body.dark-mode .home-inline-header{background:#1f2937d9!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:none!important}.header-search{flex:1!important;margin:0!important;padding:8px 12px!important;height:38px;border-radius:12px!important}.header-search .search-input{font-size:14px}.home-header-actions{flex-shrink:0;gap:6px!important}.home-header-btn{width:36px!important;height:36px!important;font-size:16px!important}.language-switcher{position:relative;flex-shrink:0}.language-trigger{width:auto!important;min-width:56px;padding:0 8px!important;gap:4px;display:inline-flex;align-items:center;justify-content:center}.language-trigger-flag{font-size:16px;line-height:1}.language-trigger-code{font-size:11px;font-weight:800;letter-spacing:.04em}.language-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:220;min-width:156px;padding:6px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 12px 30px #0f172a29;animation:fadeIn .14s ease-out}body.dark-mode .language-menu{box-shadow:0 16px 34px #0000005c}.language-menu-option{width:100%;min-height:40px;display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;color:var(--text-primary);font-size:13px;text-align:left}.language-menu-option:hover,.language-menu-option:focus-visible{background:var(--bg-elevated);outline:none}.language-menu-option.active{background:#ff6b351f;color:var(--orange-dark);font-weight:700}.language-menu-option>svg{margin-left:auto;color:var(--orange)}.language-menu-flag{font-size:17px;line-height:1}@media (max-width: 380px){.language-trigger{min-width:38px;padding:0 6px!important}.language-trigger-code{display:none}}.logo-img{width:36px;height:36px;object-fit:contain}.category-icon{font-size:24px;line-height:1}.category-label{font-size:11px}.categories-bar{margin-top:6px}.sections,.dishes-grid{padding-top:4px!important}.bottom-nav{position:fixed!important;bottom:0!important;transform:none!important;transition:none!important;animation:none!important;touch-action:manipulation;will-change:auto!important}body.cart-page-active .bottom-nav{display:none!important}.snk-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg-primary, #fff);overflow-y:auto;overflow-x:hidden;animation:snkSlideIn .25s ease;padding-bottom:100px}@keyframes snkSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.snk-overlay.closing{animation:snkSlideOut .2s ease forwards}@keyframes snkSlideOut{to{transform:translate(100%)}}.snk-top{display:flex;align-items:center;gap:12px;padding:16px;position:sticky;top:0;background:var(--bg-primary,#fff);z-index:2;border-bottom:1px solid var(--border-color,#eee)}.snk-back{width:36px;height:36px;border-radius:50%;background:var(--bg-secondary,#f3f4f6);display:flex;align-items:center;justify-content:center;font-size:18px;border:none;cursor:pointer}.snk-top h2{flex:1;font-size:18px;font-weight:700;margin:0;color:var(--text-primary,#111)}body.dark-mode .snk-overlay{background:var(--bg-primary, #111827)}body.dark-mode .snk-top{background:var(--bg-primary, #111827);border-color:var(--border-color, #374151)}body.dark-mode .snk-back{background:var(--bg-secondary, #1f2937);color:#fff}.ach-section{padding:16px}.ach-section h3{font-size:15px;font-weight:700;margin:0 0 12px;color:var(--text-primary,#111)}.ach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ach-card{background:var(--bg-card,#fff);border-radius:16px;padding:16px 8px;text-align:center;border:1px solid var(--border-color,#eee);transition:transform .15s}.ach-card.unlocked{border-color:#ff6b35;background:linear-gradient(135deg,#fff5f0,#fff)}body.dark-mode .ach-card{background:var(--bg-card,#1f2937);border-color:var(--border-color,#374151)}body.dark-mode .ach-card.unlocked{background:linear-gradient(135deg,#2d1a0e,#1f2937);border-color:#ff6b35}.ach-card .ach-icon{font-size:32px;margin-bottom:6px}.ach-card.locked .ach-icon{filter:grayscale(1) opacity(.4)}.ach-card .ach-name{font-size:11px;font-weight:600;color:var(--text-primary,#111)}.ach-card .ach-desc{font-size:10px;color:var(--text-muted,#888);margin-top:2px}.ach-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.ach-stat{background:var(--bg-card,#fff);border-radius:14px;padding:14px;border:1px solid var(--border-color,#eee)}body.dark-mode .ach-stat{background:var(--bg-card,#1f2937);border-color:var(--border-color,#374151)}.ach-stat .stat-val{font-size:24px;font-weight:800;color:#ff6b35}.ach-stat .stat-lbl{font-size:12px;color:var(--text-muted,#888);margin-top:2px}.ach-xp-bar{height:8px;background:var(--bg-secondary,#f3f4f6);border-radius:99px;overflow:hidden;margin:8px 0 4px}.ach-xp-fill{height:100%;background:linear-gradient(90deg,#ff6b35,#ff9a5c);border-radius:99px;transition:width .5s ease}.stg-section{padding:0 16px;margin-bottom:8px}.stg-group{background:var(--bg-card,#fff);border-radius:14px;overflow:hidden;border:1px solid var(--border-color,#eee)}body.dark-mode .stg-group{background:var(--bg-card,#1f2937);border-color:var(--border-color,#374151)}.stg-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-color,#eee);cursor:pointer}.stg-item:last-child{border-bottom:none}body.dark-mode .stg-item{border-color:var(--border-color, #374151)}.stg-item .stg-icon{font-size:20px;width:28px;text-align:center}.stg-item .stg-label{flex:1;font-size:14px;font-weight:500;color:var(--text-primary,#111)}.stg-item .stg-value{font-size:13px;color:var(--text-muted,#888)}.stg-item .stg-arrow{color:var(--text-muted,#ccc);font-size:14px}.stg-label-sm{padding:16px 4px 8px;font-size:12px;font-weight:600;color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.5px}.stg-toggle{width:44px;height:26px;border-radius:99px;background:#ccc;position:relative;transition:.2s;border:none;cursor:pointer;flex-shrink:0}.stg-toggle.on{background:#ff6b35}.stg-toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}.stg-toggle.on:after{left:21px}.stg-version{text-align:center;padding:24px;font-size:12px;color:var(--text-muted,#aaa)}.profile-avatar-lg{position:relative;cursor:pointer}.profile-avatar-lg img{width:100%;height:100%;object-fit:cover;border-radius:50%}.snk-edit-modal{position:fixed;inset:0;z-index:10000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px}.snk-edit-box{background:var(--bg-card,#fff);border-radius:20px;padding:24px;width:100%;max-width:340px}body.dark-mode .snk-edit-box{background:var(--bg-card,#1f2937)}.snk-edit-box h3{margin:0 0 16px;font-size:17px;font-weight:700;color:var(--text-primary)}.snk-edit-box input{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border-color,#ddd);font-size:15px;background:var(--bg-secondary,#f9f9f9);color:var(--text-primary);box-sizing:border-box}body.dark-mode .snk-edit-box input{background:var(--bg-secondary,#111827);border-color:var(--border-color,#374151);color:#fff}.snk-edit-btns{display:flex;gap:8px;margin-top:16px}.snk-edit-btns button{flex:1;padding:12px;border-radius:12px;border:none;font-size:14px;font-weight:600;cursor:pointer}.snk-btn-cancel{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary)}.snk-btn-save{background:#ff6b35;color:#fff}.snaktok-feed{scroll-snap-stop:always}.snaktok-content{position:relative}.snaktok-content:before{content:"";position:absolute;width:55vmin;height:55vmin;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-55%);background:radial-gradient(circle,rgba(255,255,255,.15) 0%,rgba(255,255,255,.04) 40%,transparent 70%);pointer-events:none;z-index:1}.snaktok-emoji{filter:drop-shadow(0 20px 50px rgba(0,0,0,.45))!important;transform-style:preserve-3d;z-index:2;position:relative}.snaktok-info{right:0!important;padding-right:70px!important;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.7) 35%,rgba(0,0,0,.3) 65%,transparent 100%)!important}.snaktok-dish-name{letter-spacing:-.3px!important;text-shadow:0 1px 6px rgba(0,0,0,.7)!important}.snaktok-dish-header{margin-bottom:4px!important}.snaktok-sidebar{gap:10px!important}.snaktok-action{transition:transform .15s!important}.snaktok-action:active{transform:scale(.85)!important}.snk-dbl-heart{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:100px;z-index:20;pointer-events:none;opacity:0}.snk-dbl-heart.pop{animation:snkHeartBurst .8s ease forwards}@keyframes snkHeartBurst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}25%{transform:translate(-50%,-50%) scale(1.4);opacity:1}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.9}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.snk-scroll-progress{display:none!important}.ai-chat-messages{scroll-behavior:smooth}.ai-msg-content{word-break:break-word}.snk-ai-dish{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:6px 0;background:var(--bg-card, #fff);border:1px solid var(--border-color, #eee);border-radius:14px;cursor:pointer;transition:transform .12s}body.dark-mode .snk-ai-dish{background:var(--bg-card, #1f2937);border-color:var(--border-color, #374151)}.snk-ai-dish:active{transform:scale(.97)}.snk-ai-dish-emo{font-size:30px}.snk-ai-dish-info{flex:1}.snk-ai-dish-name{font-size:13px;font-weight:700;color:var(--text-primary, #111)}body.dark-mode .snk-ai-dish-name{color:#f1f5f9}.snk-ai-dish-meta{font-size:11px;color:var(--text-muted, #888)}.snk-ai-dish-price{font-size:14px;font-weight:800;color:#ff6b35;margin-right:6px}.snk-ai-dish-add{width:30px;height:30px;border-radius:10px;background:#ff6b35;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:transform .12s}.snk-ai-dish-add:active{transform:scale(.8)}.snk-voice-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-secondary, #f3f4f6);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;flex-shrink:0;transition:all .2s}.snk-voice-btn.recording{background:#ef4444!important;color:#fff!important;animation:snkPulse 1s infinite}@keyframes snkPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.snk-photo-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-secondary, #f3f4f6);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;flex-shrink:0;transition:all .2s}.snk-photo-btn:active{transform:scale(.85)}.snk-photo-preview{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-secondary, #f3f4f6);border-radius:12px;margin-bottom:6px}body.dark-mode .snk-photo-preview{background:var(--bg-secondary, #1f2937)}.snk-photo-preview img{width:48px;height:48px;border-radius:10px;object-fit:cover}.snk-photo-preview .snk-photo-name{flex:1;font-size:12px;font-weight:500}.snk-photo-preview .snk-photo-rm{font-size:18px;cursor:pointer;color:var(--text-muted);border:none;background:none;padding:4px}.snk-chat-history-item{padding:10px 12px;border-radius:10px;cursor:pointer;font-size:13px;color:var(--text-primary, #111);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s}.snk-chat-history-item:hover{background:var(--bg-secondary, #f3f4f6)}body.dark-mode .snk-chat-history-item{color:#f1f5f9}body.dark-mode .snk-chat-history-item:hover{background:var(--bg-secondary, #1f2937)}.snk-history-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111);font-size:20px;font-weight:700;cursor:pointer;transition:.15s}body.dark-mode .snk-history-btn{background:var(--bg-secondary, #1f2937);color:#f1f5f9}.snk-history-btn:active{transform:scale(.95)}.snk-history-panel{position:fixed;inset:0;z-index:9999;background:var(--bg-primary, #fff);animation:snkSlideIn .25s ease;overflow-y:auto;padding-bottom:100px}body.dark-mode .snk-history-panel{background:var(--bg-primary, #111827)}.snk-history-list{padding:8px 16px}.snk-history-entry{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--bg-card, #fff);border:1px solid var(--border-color, #eee);margin-bottom:8px;cursor:pointer;transition:all .15s}body.dark-mode .snk-history-entry{background:var(--bg-card, #1f2937);border-color:var(--border-color, #374151)}.snk-history-entry:active{transform:scale(.98)}.snk-history-entry-icon{font-size:20px;flex-shrink:0}.snk-history-entry-info{flex:1;min-width:0}.snk-history-entry-title{font-size:14px;font-weight:600;color:var(--text-primary, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dark-mode .snk-history-entry-title{color:#f1f5f9}.snk-history-entry-time{font-size:11px;color:var(--text-muted, #888);margin-top:2px}.snk-history-entry-arrow{color:var(--text-muted, #ccc);font-size:14px}.snk-hist-check{display:flex;align-items:center;flex-shrink:0;cursor:pointer}.snk-hist-cb{display:none}.snk-hist-checkmark{width:22px;height:22px;border-radius:7px;border:2px solid var(--border-color,#ddd);background:var(--bg-secondary,#f5f5f5);display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:0}.snk-hist-cb:checked+.snk-hist-checkmark{background:#ef4444;border-color:#ef4444}.snk-hist-cb:checked+.snk-hist-checkmark:after{content:"✓";font-size:13px;color:#fff}body.dark-mode .snk-hist-checkmark{background:var(--bg-elevated,#1f2937);border-color:var(--border-color,#374151)}.snk-review-overlay{position:fixed;inset:0;z-index:10001;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;animation:snkFadeIn .2s}@keyframes snkFadeIn{0%{opacity:0}}.snk-review-card{background:var(--bg-card, #fff);border-radius:24px;padding:28px;width:100%;max-width:380px;text-align:center;animation:snkScaleIn .3s ease}body.dark-mode .snk-review-card{background:var(--bg-card, #1f2937)}@keyframes snkScaleIn{0%{transform:scale(.9);opacity:0}}.snk-review-emoji{font-size:56px;margin-bottom:10px}.snk-review-title{font-size:20px;font-weight:800;margin-bottom:4px;color:var(--text-primary, #111)}body.dark-mode .snk-review-title{color:#f1f5f9}.snk-review-sub{font-size:14px;color:var(--text-muted, #888);margin-bottom:20px}.snk-review-stars{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.snk-review-star{font-size:36px;cursor:pointer;transition:transform .12s;filter:grayscale(1) opacity(.3)}.snk-review-star.active{filter:none;transform:scale(1.1)}.snk-review-star:active{transform:scale(.85)}.snk-review-textarea{width:100%;border:2px solid var(--border-color, #ddd);border-radius:14px;padding:12px 16px;font-size:14px;color:var(--text-primary);background:var(--bg-secondary, #f9f9f9);resize:none;height:80px;outline:none;margin-bottom:16px;font-family:inherit;box-sizing:border-box}body.dark-mode .snk-review-textarea{background:var(--bg-secondary, #111827);border-color:var(--border-color, #374151);color:#fff}.snk-review-textarea:focus{border-color:#ff6b35}.snk-review-submit{width:100%;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.snk-review-skip{margin-top:10px;font-size:13px;color:var(--text-muted);border:none;background:none;cursor:pointer}.snk-map-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg-primary,#fff);overflow-y:auto;animation:snkSlideIn .25s ease}.snk-map-overlay.closing{animation:snkSlideOut .2s ease forwards}.snk-map-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-primary,#fff);border-bottom:1px solid var(--border-color,#eee);position:sticky;top:0;z-index:2}.snk-map-header h2{flex:1;font-size:18px;font-weight:700;margin:0}.snk-map-container{margin:0;overflow:hidden}.snk-map-container #snkLeafletMap{z-index:1}.snk-map-geo-btn{display:block;width:calc(100% - 32px);margin:8px 16px;padding:12px;border-radius:12px;border:1px solid var(--border-color,#eee);background:var(--bg-secondary,#f3f4f6);font-size:14px;font-weight:600;cursor:pointer;text-align:center;color:var(--text-primary)}.snk-map-districts{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}.snk-map-district{padding:8px 14px;border-radius:20px;border:1px solid var(--border-color,#ddd);background:var(--bg-card,#fff);font-size:13px;cursor:pointer;transition:.15s;color:var(--text-primary)}.snk-map-district.selected{background:#ff6b35;color:#fff;border-color:#ff6b35}.snk-map-confirm{display:block;width:calc(100% - 32px);margin:12px 16px 24px;padding:14px;border-radius:14px;background:#ff6b35;color:#fff;border:none;font-size:15px;font-weight:700;cursor:pointer}body.dark-mode .snk-map-overlay{background:var(--bg-primary,#111827)}body.dark-mode .snk-map-header{background:var(--bg-primary,#111827);border-color:var(--border-color,#374151)}body.dark-mode .snk-map-geo-btn{background:var(--bg-secondary,#1f2937);border-color:var(--border-color,#374151);color:#fff}body.dark-mode .snk-map-district{background:var(--bg-card,#1f2937);border-color:var(--border-color,#374151);color:#fff}.snk-map-overlay{position:fixed;inset:0;z-index:10000;background:var(--bg-primary, #fff);animation:snkSlideIn .3s ease;overflow:hidden}body.dark-mode .snk-map-overlay{background:var(--bg-primary, #111827)}.snk-map-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color, #eee)}.snk-map-header h2{flex:1;font-size:16px;font-weight:700;margin:0}.snk-map-container{width:100%;height:calc(100dvh - 160px)}.snk-map-container iframe{width:100%;height:100%;border:none}.snk-map-districts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 16px;max-width:400px;margin:0 auto}.snk-map-district{padding:10px 6px;border-radius:12px;text-align:center;background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-color, #eee);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.snk-map-district:active,.snk-map-district.selected{background:#ff6b35;color:#fff;border-color:#ff6b35}body.dark-mode .snk-map-district{background:var(--bg-secondary, #1f2937);border-color:var(--border-color, #374151);color:#f1f5f9}.snk-map-geo-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin:8px 16px;padding:12px;border-radius:12px;background:#3b82f6;color:#fff;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:transform .12s}.snk-map-geo-btn:active{transform:scale(.97)}.snk-map-confirm{position:fixed;bottom:20px;left:16px;right:16px;padding:16px;border-radius:16px;border:none;background:#ff6b35;color:#fff;font-size:16px;font-weight:700;text-align:center;cursor:pointer;z-index:10001;box-shadow:0 4px 20px #ff6b3566}.snk-map-open-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;margin-top:8px;background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-color, #ddd);color:var(--text-primary, #333);font-size:12px;font-weight:600;cursor:pointer}.snk-recipe-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg-primary, #fff);overflow-y:auto;animation:snkSlideIn .25s ease;padding-bottom:100px}body.dark-mode .snk-recipe-overlay{background:var(--bg-primary, #111827)}.snk-recipe-tabs{display:flex;gap:4px;padding:8px 16px}.snk-recipe-tab{flex:1;padding:10px;border-radius:12px;text-align:center;font-size:12px;font-weight:700;cursor:pointer;border:none;background:var(--bg-secondary, #f3f4f6);color:var(--text-muted, #888);transition:all .2s}.snk-recipe-tab.active{background:#ff6b35;color:#fff}.snk-bubbles{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:16px;max-width:500px;margin:0 auto}.snk-bubble{padding:10px 18px;border-radius:25px;border:2px solid var(--border-color, #eee);background:var(--bg-card, #fff);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .25s;animation:snkBubblePop .4s ease backwards}body.dark-mode .snk-bubble{background:var(--bg-card, #1f2937);border-color:var(--border-color, #374151);color:#f1f5f9}.snk-bubble.selected{background:#ff6b35!important;color:#fff!important;border-color:#ff6b35!important;box-shadow:0 2px 10px #ff6b354d;transform:scale(1.05)}.snk-bubble:nth-child(1){animation-delay:.03s}.snk-bubble:nth-child(2){animation-delay:.07s}.snk-bubble:nth-child(3){animation-delay:.11s}.snk-bubble:nth-child(4){animation-delay:.15s}.snk-bubble:nth-child(5){animation-delay:.19s}.snk-bubble:nth-child(6){animation-delay:.23s}.snk-bubble:nth-child(7){animation-delay:.27s}.snk-bubble:nth-child(8){animation-delay:.31s}.snk-bubble:nth-child(9){animation-delay:.35s}.snk-bubble:nth-child(10){animation-delay:.39s}@keyframes snkBubblePop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.snk-shuffle-btn{padding:8px 20px;border-radius:12px;border:none;background:var(--bg-secondary, #f3f4f6);font-size:13px;font-weight:600;cursor:pointer;color:var(--text-primary, #111)}body.dark-mode .snk-shuffle-btn{background:var(--bg-secondary, #1f2937);color:#f1f5f9}.snk-gen-btn{display:block;width:calc(100% - 32px);max-width:468px;margin:12px auto;padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.snk-recipe-result{padding:16px;margin:12px 16px;border-radius:16px;background:var(--bg-card, #fff);border:1px solid var(--border-color, #eee);white-space:pre-wrap;font-size:14px;line-height:1.7;color:var(--text-primary, #111)}body.dark-mode .snk-recipe-result{background:var(--bg-card, #1f2937);border-color:var(--border-color, #374151);color:#f1f5f9}.snk-dish-search{padding:0 16px;max-width:500px;margin:12px auto}.snk-dish-search-input{width:100%;padding:14px 16px 14px 44px;border-radius:16px;border:2px solid var(--border-color, #eee);font-size:15px;background:var(--bg-card, #fff);color:var(--text-primary);outline:none;font-family:inherit;box-sizing:border-box}body.dark-mode .snk-dish-search-input{background:var(--bg-card, #1f2937);border-color:var(--border-color, #374151);color:#f1f5f9}.snk-dish-search-input:focus{border-color:#ff6b35}.snk-dish-search-wrap{position:relative}.snk-dish-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px}.snk-dish-hints{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;max-width:500px;margin:0 auto}.snk-dish-hint{padding:7px 14px;border-radius:20px;border:1px solid var(--border-color, #eee);background:var(--bg-secondary, #f3f4f6);font-size:13px;font-weight:600;cursor:pointer;color:var(--text-primary);transition:all .15s}body.dark-mode .snk-dish-hint{background:var(--bg-secondary, #1f2937);border-color:var(--border-color, #374151);color:#f1f5f9}.snk-dish-hint:active{background:#ff6b35;color:#fff;border-color:#ff6b35}.snk-bow{padding:12px 16px;max-width:500px;margin:0 auto}.snk-bow-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-card, #fff);border-radius:16px;border:1px solid var(--border-color, #eee);margin-bottom:10px}body.dark-mode .snk-bow-card{background:var(--bg-card, #1f2937);border-color:var(--border-color, #374151)}.snk-bow-rank{font-size:22px;font-weight:900;color:#ff6b35;width:30px;text-align:center}.snk-bow-emo{font-size:36px}.snk-bow-info{flex:1}.snk-bow-name{font-size:15px;font-weight:700;color:var(--text-primary, #111)}body.dark-mode .snk-bow-name{color:#f1f5f9}.snk-bow-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.snk-bow-score{font-size:13px;font-weight:700;color:#10b981;background:#10b9811a;padding:4px 10px;border-radius:8px}.snaktok-feed{background:#000!important;scroll-snap-stop:always!important}.snaktok-item,.snaktok-content{position:relative!important}.snaktok-content:before{content:""!important;position:absolute!important;width:60vmin!important;height:60vmin!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,.05) 40%,transparent 70%)!important;pointer-events:none!important;top:50%!important;left:50%!important;transform:translate(-50%,-55%)!important;z-index:1!important}.snaktok-emoji{font-size:clamp(120px,30vmin,200px)!important;animation:snkDishFloat 4s ease-in-out infinite!important;filter:drop-shadow(0 20px 60px rgba(0,0,0,.45))!important;transform-style:preserve-3d!important;margin-top:-6vh!important;z-index:2!important;position:relative!important}@keyframes snkDishFloat{0%,to{transform:translateY(0) scale(1) rotate(0)}25%{transform:translateY(-15px) scale(1.05) rotate(-3deg)}50%{transform:translateY(0) scale(1.08) rotate(0)}75%{transform:translateY(-10px) scale(1.05) rotate(3deg)}}.snaktok-info{right:0!important;padding:100px 75px 40px 16px!important;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.7) 40%,rgba(0,0,0,.3) 70%,transparent 100%)!important;z-index:10!important}.snaktok-dish-name{font-size:18px!important;font-weight:700!important;letter-spacing:-.3px!important;text-shadow:0 1px 4px rgba(0,0,0,.8)!important;line-height:1.3!important}.snaktok-dish-price{font-weight:700!important;font-size:18px!important;background:linear-gradient(135deg,#22c55e,#16a34a)!important;padding:4px 10px!important;border-radius:6px!important;text-shadow:none!important;color:#fff!important}.snaktok-details{font-size:13px!important;gap:8px!important;color:#ffffffe6!important}.snaktok-sidebar{right:12px!important;bottom:max(100px,14vh)!important;gap:6px!important;z-index:15!important}.snaktok-action{width:44px!important;height:44px!important;background:transparent!important;backdrop-filter:none!important}.snaktok-action .action-icon,.snaktok-action{font-size:26px!important;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.6)!important}.snaktok-action.liked{color:#fe2c55!important;text-shadow:0 0 20px rgba(254,44,85,.6)!important}.snaktok-action svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))!important}.page-ai-chat .ai-top-actions{display:none!important}.snk-ai-header{background:#fff;color:#1a1a1a;padding:12px 16px;padding-top:calc(env(safe-area-inset-top,0px) + 12px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;position:relative;top:0;z-index:100;flex-shrink:0}body.dark-mode .snk-ai-header{background:var(--bg-primary, #1f2937);border-color:var(--border-color, #374151);color:#f1f5f9}.snk-ai-header-left{display:flex;align-items:center;gap:12px}.snk-ai-header-title{font-size:16px;font-weight:600;color:#1a1a1a}body.dark-mode .snk-ai-header-title{color:#f1f5f9}.snk-ai-header-model{font-size:11px;color:#16a34a;background:#f0fdf4;padding:4px 10px;border-radius:12px;font-weight:700;letter-spacing:.5px;border:1px solid rgba(22,163,74,.2)}body.dark-mode .snk-ai-header-model{background:#10b9811f;border-color:#10b98140;color:#34d399}.snk-ai-header-btn{width:36px;height:36px;border:none;background:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:18px;padding:0;transition:background .2s}.snk-ai-header-btn:hover{background:#f3f4f6}.snk-ai-header-btn:active{transform:scale(.92)}body.dark-mode .snk-ai-header-btn{color:#9ca3af}body.dark-mode .snk-ai-header-btn:hover{background:var(--bg-secondary, #374151)}.snk-ai-sidebar-overlay{position:fixed;inset:0;background:#0006;z-index:10000;opacity:0;visibility:hidden;transition:all .3s}.snk-ai-sidebar-overlay.active{opacity:1;visibility:visible}.snk-ai-sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;height:100dvh;background:#f9fafb;z-index:10001;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}.snk-ai-sidebar.active{transform:translate(0)}body.dark-mode .snk-ai-sidebar{background:var(--bg-primary, #111827)}.snk-ai-sidebar-header{padding:16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}body.dark-mode .snk-ai-sidebar-header{border-color:var(--border-color, #374151)}.snk-ai-sidebar-title{font-size:15px;font-weight:600;color:#1a1a1a}body.dark-mode .snk-ai-sidebar-title{color:#f1f5f9}.snk-ai-sidebar-close{width:32px;height:32px;border:none;background:none;border-radius:6px;cursor:pointer;color:#6b7280;font-size:18px}.snk-ai-sidebar-close:hover{background:#f3f4f6}body.dark-mode .snk-ai-sidebar-close{color:#9ca3af}.snk-ai-sidebar-content{flex:1;overflow-y:auto;padding:12px}.snk-ai-sidebar-newchat{width:100%;padding:12px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;transition:all .2s}.snk-ai-sidebar-newchat:hover{background:linear-gradient(135deg,#16a34a,#15803d)}.snk-ai-sidebar-newchat:active{transform:scale(.97)}.snk-ai-sidebar-section{margin-bottom:16px}.snk-ai-sidebar-section-title{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;padding:8px 12px}body.dark-mode .snk-ai-sidebar-section-title{color:var(--text-secondary, #6b7280)}.snk-ai-sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;color:#374151;font-size:14px;transition:background .2s;border:none;background:none;width:100%;text-align:left}.snk-ai-sidebar-item:hover{background:#e5e7eb}.snk-ai-sidebar-item:active{background:#d1d5db}body.dark-mode .snk-ai-sidebar-item{color:var(--text-primary, #f1f5f9)}body.dark-mode .snk-ai-sidebar-item:hover{background:var(--bg-secondary, #1f2937)}.snk-ai-sidebar-item-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.snk-voice-status-bar{display:none;align-items:center;gap:8px;padding:8px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:20px;font-size:13px;color:#dc2626;margin-bottom:10px}.snk-voice-status-bar.active{display:flex}body.dark-mode .snk-voice-status-bar{background:#ef44441a;border-color:#ef44444d}.snk-voice-wave{display:flex;align-items:center;gap:2px;height:20px}.snk-voice-wave-bar{width:3px;background:#ef4444;border-radius:2px;animation:snkWaveBar .5s infinite ease-in-out}.snk-voice-wave-bar:nth-child(1){animation-delay:0s;height:8px}.snk-voice-wave-bar:nth-child(2){animation-delay:.1s;height:16px}.snk-voice-wave-bar:nth-child(3){animation-delay:.2s;height:12px}.snk-voice-wave-bar:nth-child(4){animation-delay:.3s;height:18px}.snk-voice-wave-bar:nth-child(5){animation-delay:.4s;height:10px}@keyframes snkWaveBar{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}.snk-pending-photo-bar{display:none;align-items:center;gap:10px;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:10px}.snk-pending-photo-bar.active{display:flex}body.dark-mode .snk-pending-photo-bar{background:var(--bg-elevated, #1f2937);border-color:var(--border-color, #374151)}.snk-pending-photo-bar img{width:48px;height:48px;border-radius:8px;object-fit:cover}.snk-pending-photo-bar .snk-pp-info{flex:1}.snk-pending-photo-bar .snk-pp-name{font-size:13px;font-weight:500;color:#1a1a1a}body.dark-mode .snk-pending-photo-bar .snk-pp-name{color:#f1f5f9}.snk-pending-photo-bar .snk-pp-size{font-size:11px;color:#9ca3af}.snk-pending-photo-bar .snk-pp-rm{width:28px;height:28px;border-radius:50%;background:#f3f4f6;border:none;color:#6b7280;font-size:14px;cursor:pointer}.snk-pending-photo-bar .snk-pp-rm:hover{background:#fee2e2;color:#ef4444}.page-ai-chat .ai-quick-buttons,.ai-qbtn,.ai-qbtn-recipe{display:none!important}.page-ai-chat .ai-chat-messages{background:#fff!important;padding:20px 16px 80px!important;flex:1 1 0!important;min-height:0!important;overflow-y:auto!important}body.dark-mode .page-ai-chat .ai-chat-messages{background:var(--bg-secondary)!important}.page-ai-chat{display:flex!important;flex-direction:column!important;height:100%!important}.ai-msg.assistant .ai-msg-avatar{width:28px!important;height:28px!important;min-width:28px!important;background:linear-gradient(135deg,#2dd87a,#5ec9a8)!important;border-radius:8px!important;font-size:14px!important}.ai-msg.user .ai-msg-avatar{display:none!important}.ai-msg.assistant .ai-msg-bubble{padding:10px 14px!important;font-size:14.5px!important;line-height:1.55!important;background:#f1f5f9!important;color:#1e293b!important;border-radius:18px 18px 18px 4px!important;border:1px solid #e2e8f0!important}body.dark-mode .ai-msg.assistant .ai-msg-bubble{background:var(--bg-elevated, #374151)!important;color:#f1f5f9!important;border-color:var(--border-color, #4b5563)!important}.ai-msg.user .ai-msg-bubble{padding:10px 14px!important;font-size:14.5px!important;line-height:1.55!important;border-radius:18px 18px 4px!important;color:#fff!important;background:linear-gradient(135deg,#ff6b35,#f7931e)!important;box-shadow:0 2px 8px #ff6b3540!important;border:none!important}.ai-msg-text strong{color:#059669!important;font-weight:700!important}.ai-msg.user .ai-msg-text strong{color:#fff!important}body.dark-mode .ai-msg-text strong{color:#34d399!important}.ai-typing span{background:#10b981!important}.ai-dish-card{border-radius:16px!important;border:1px solid #e2e8f0!important;transition:all .2s!important}.ai-dish-card:active{transform:scale(.98)!important}.ai-dish-add{width:32px!important;height:32px!important;border-radius:50%!important;background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 2px 8px #10b9814d!important}body.dark-mode .ai-dish-card{border-color:var(--border-color)!important}.page-ai-chat .ai-input-area{position:fixed!important;bottom:calc(var(--nav-height, 70px) + var(--safe-area-bottom, 0px))!important;left:0!important;right:0!important;background:#fff!important;border-top:1px solid #e5e7eb!important;padding:10px 16px!important;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;z-index:90!important;flex-shrink:0!important}body.dark-mode .page-ai-chat .ai-input-area{background:var(--bg-primary)!important;border-color:var(--border-color)!important}.ai-input-row{display:flex!important;align-items:flex-end!important;gap:10px!important;background:linear-gradient(135deg,#f8fafc,#f1f5f9)!important;border-radius:24px!important;padding:8px 8px 8px 18px!important;border:2px solid #e2e8f0!important;transition:all .3s!important;box-shadow:0 2px 8px #0000000a!important}.ai-input-row:focus-within{border-color:#10b981!important;background:#fff!important;box-shadow:0 4px 20px #10b98126!important}body.dark-mode .ai-input-row{background:var(--bg-elevated)!important;border-color:var(--border-color)!important}body.dark-mode .ai-input-row:focus-within{border-color:#10b981!important}.ai-textarea{border:none!important;background:none!important;font-size:15px!important;padding:10px 0!important}.ai-send-btn{width:42px!important;height:42px!important;border-radius:50%!important;background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 4px 12px #10b9814d!important;font-size:18px!important;transition:all .3s!important}.ai-send-btn:hover:not(:disabled){transform:scale(1.05)!important;box-shadow:0 6px 20px #10b98166!important}.ai-send-btn:disabled{background:#e5e7eb!important;color:#9ca3af!important;box-shadow:none!important}.ai-send-btn:active:not(:disabled){background:linear-gradient(135deg,#059669,#047857)!important}.snk-history-btn,.ai-new-chat,.ai-settings-toggle,.ai-count-selector{display:none!important}.rest-hero{background:linear-gradient(180deg,#fff5f0,#fff)!important;padding:calc(env(safe-area-inset-top,0px) + 16px) 20px 30px!important;text-align:center!important;border-bottom:1px solid #e5e7eb!important;display:flex!important;flex-direction:column!important;align-items:center!important}body.dark-mode .rest-hero{background:linear-gradient(180deg,#1a1a2e 0%,var(--bg-primary) 100%)!important;border-color:var(--border-color)!important}.rest-hero-overlay{display:none!important}.rest-back-float{position:absolute!important;top:calc(env(safe-area-inset-top,0px) + 12px)!important;left:16px!important;background:#ff6b3526!important;color:#ff6b35!important;backdrop-filter:none!important;font-size:14px!important;font-weight:600!important;z-index:10!important}.rest-back-float:hover{background:#ff6b3540!important;transform:translate(-3px)!important}body.dark-mode .rest-back-float{background:#ff6b3533!important;color:#ff8c5a!important}.rest-hero-content{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;z-index:2!important}.rest-emoji{font-size:72px!important;margin-bottom:12px!important;filter:drop-shadow(0 4px 12px rgba(255,107,53,.3))!important;animation:snkBounceIn .5s ease!important}@keyframes snkBounceIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.rest-emoji img{border-radius:20px!important;box-shadow:0 4px 16px #00000026!important}.rest-hero[style*="url("] .rest-hero-content{z-index:2!important}.rest-hero[style*="url("] .rest-back-float{color:#fff!important;background:#fff3!important}.dish-price .snk-orig-price{text-decoration:line-through;color:var(--text-muted, #999);font-size:11px;margin-right:4px}.dish-price .snk-discount-badge{background:#ef4444;color:#fff;font-size:9px;padding:1px 5px;border-radius:6px;margin-left:4px}.rest-name{font-size:26px!important;font-weight:800!important;color:#1f2937!important;margin-bottom:8px!important;line-height:1.2!important}body.dark-mode .rest-name{color:#f9fafb!important}.rest-cuisine{font-size:14px!important;color:#ff6b35!important;font-weight:600!important;margin-bottom:20px!important;padding:6px 16px!important;background:#ff6b351a!important;border-radius:20px!important;display:inline-block!important}body.dark-mode .rest-cuisine{background:#ff6b3526!important;color:#ff8c5a!important}.rest-meta{display:flex!important;justify-content:center!important;gap:24px!important;flex-wrap:wrap!important}.rest-meta-item{display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;font-size:14px!important;font-weight:600!important;color:#1f2937!important}body.dark-mode .rest-meta-item{color:#f9fafb!important}.rest-meta-dot{display:none!important}.rest-min-order{margin-top:8px!important;font-size:13px!important;color:#6b7280!important}.rest-categories{padding:12px 16px!important;border-bottom:1px solid #e5e7eb!important;background:#fff!important;position:sticky!important;top:0!important;z-index:40!important}body.dark-mode .rest-categories{background:var(--bg-primary)!important;border-color:var(--border-color)!important}.rest-cat-btn{padding:8px 16px!important;border:2px solid #e5e7eb!important;background:#fff!important;border-radius:20px!important;font-weight:600!important;color:#6b7280!important;font-size:13px!important;transition:all .3s!important}.rest-cat-btn:hover{border-color:#ff6b35!important;color:#ff6b35!important}.rest-cat-btn.active{background:linear-gradient(135deg,#ff6b35,#f7931e)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 2px 8px #ff6b354d!important}body.dark-mode .rest-cat-btn{background:var(--bg-card)!important;border-color:var(--border-color)!important;color:var(--text-secondary)!important}body.dark-mode .rest-cat-btn.active{background:linear-gradient(135deg,#ff6b35,#f7931e)!important;color:#fff!important}.rest-menu-content{padding:16px 16px 100px!important}.rest-dish-count{font-size:13px!important;font-weight:600!important;color:#6b7280!important;margin-bottom:12px!important}.order-progress-fill{background:linear-gradient(90deg,#10b981,#3b82f6,#8b5cf6)!important;background-size:200% 100%!important;animation:snkProgShim 2s linear infinite!important}@keyframes snkProgShim{0%{background-position:0% 50%}to{background-position:200% 50%}}.order-status-icon{font-size:36px!important;animation:snkStBounce 2s ease infinite!important}@keyframes snkStBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.08)}}body.snaktok-active .bottom-nav{display:none!important}.snk-snaktok-back{position:fixed;top:calc(env(safe-area-inset-top,0px)+12px);right:12px;z-index:1000;width:40px;height:40px;border-radius:50%;background:#0006;backdrop-filter:blur(8px);color:#fff;border:none;font-size:20px;font-weight:700;display:none;align-items:center;justify-content:center;cursor:pointer}.snk-snaktok-back:active{transform:scale(.85)}.order-progress-fill{background:linear-gradient(90deg,#10b981,#3b82f6,#8b5cf6)!important;background-size:200% 100%!important;animation:progShim 2s linear infinite!important}@keyframes progShim{0%{background-position:0% 50%}to{background-position:200% 50%}}.order-status-icon{font-size:36px!important;animation:stBounce 2s ease infinite!important}@keyframes stBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.08)}}.order-progress-steps span.active{background:#10b9811a!important;color:#10b981!important;font-weight:700!important;padding:3px 8px!important;border-radius:8px!important}.success-check{width:80px!important;height:80px!important;font-size:40px!important;background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 8px 30px #10b9814d!important}.success-eta{background:linear-gradient(135deg,#10b9811a,#3b82f61a)!important;border:1px solid rgba(16,185,129,.2)!important}.cart-badge{position:fixed!important;bottom:calc(var(--nav-height) + var(--safe-area-bottom) + 10px)!important;left:16px!important;right:16px!important;transform:none!important;background:linear-gradient(135deg,#ff6b35,#e55a25)!important;color:#fff!important;font-size:15px!important;font-weight:700!important;padding:14px 20px!important;border-radius:16px!important;box-shadow:0 8px 30px #ff6b3566!important;z-index:999!important;max-width:500px!important;margin:0 auto!important;width:auto!important;height:auto!important;white-space:nowrap!important}.snk-cart-warn-overlay{position:fixed;inset:0;z-index:99999;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px}.snk-cart-warn{background:var(--bg-card,#fff);border-radius:20px;padding:28px 24px;max-width:320px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}body.dark-mode .snk-cart-warn{background:var(--bg-card,#1f2937)}.snk-cart-warn h3{font-size:17px;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.snk-cart-warn p{font-size:13px;color:var(--text-muted);margin-bottom:20px;line-height:1.5}.snk-cart-warn-btns{display:flex;gap:10px}.snk-cart-warn-btns button{flex:1;padding:12px;border-radius:12px;border:none;font-size:14px;font-weight:700;cursor:pointer}.snk-warn-cancel{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary)}.snk-warn-replace{background:#ff6b35;color:#fff}.modal-description.snk-truncated{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;cursor:pointer}.snk-desc-toggle{display:inline-block;color:#ff6b35;font-size:13px;font-weight:600;margin-top:4px;cursor:pointer;background:none;border:none;padding:0}.ai-count-selector{display:none!important}.page-profile .settings-card{height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;border:none!important;opacity:0!important}.snk-search-suggest{position:absolute;top:100%;left:0;right:0;background:var(--bg-card,#fff);border-radius:0 0 16px 16px;box-shadow:0 10px 30px #0000001f;z-index:100;border:1px solid var(--border-color,#eee);border-top:none}body.dark-mode .snk-search-suggest{background:var(--bg-card,#1f2937)}.snk-suggest-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer}.snk-suggest-item:active{background:var(--bg-secondary,#f3f4f6)}.snk-suggest-name{font-size:14px;font-weight:600;color:var(--text-primary)}body.dark-mode .snk-suggest-name{color:#f1f5f9}.snk-suggest-meta{font-size:11px;color:var(--text-muted)}.snk-suggest-price{font-size:13px;font-weight:700;color:#ff6b35;flex-shrink:0}.snk-st-search-btn{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);right:12px;z-index:999;width:40px;height:40px;border-radius:50%;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;color:#fff;display:none;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.snk-st-search-btn:active{transform:scale(.85);background:#0009}.snk-st-search-btn svg{width:20px;height:20px}.snk-st-menu-btn{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:12px;z-index:999;height:40px;padding:0 14px 0 10px;border-radius:20px;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;color:#fff;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:600}.snk-st-menu-btn:active{transform:scale(.92);background:#0009}.snk-st-menu-btn svg{width:18px;height:18px}.snk-st-menu-btn-label{white-space:nowrap}.snk-st-search-overlay{position:fixed;inset:0;background:linear-gradient(180deg,#000000fa,#141414fa);z-index:10002;opacity:0;visibility:hidden;transition:all .3s ease;display:flex;flex-direction:column;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.snk-st-search-overlay.active{opacity:1;visibility:visible}.snk-st-search-header{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px 20px}.snk-st-search-back{width:44px;height:44px;background:#ffffff14;border:none;border-radius:12px;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.snk-st-search-back:active{background:#ffffff26;transform:scale(.95)}.snk-st-search-wrapper{position:relative;flex:1}.snk-st-search-input{width:100%;padding:14px 16px 14px 48px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:14px;font-size:16px;color:#fff;transition:all .2s;font-family:inherit;box-sizing:border-box}.snk-st-search-input::placeholder{color:#fff6}.snk-st-search-input:focus{outline:none;background:#ffffff1f;border-color:#ff6b3580;box-shadow:0 0 0 3px #ff6b351a}.snk-st-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;color:#fff6}.snk-st-search-body{padding:8px 16px 20px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.snk-st-section-title{color:#ffffff80;font-size:12px;font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}.snk-st-history{margin-bottom:24px}.snk-st-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.snk-st-clear-btn{background:none;border:none;color:#ffffff80;font-size:13px;cursor:pointer;font-family:inherit}.snk-st-clear-btn:hover{color:#fffc}.snk-st-history-list{display:flex;flex-direction:column;gap:8px}.snk-st-history-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0d;border-radius:12px;cursor:pointer;transition:all .2s}.snk-st-history-item:hover{background:#ffffff1a}.snk-st-history-icon{font-size:16px;opacity:.6}.snk-st-history-text{flex:1;color:#fff;font-size:15px}.snk-st-history-del{background:none;border:none;color:#fff6;font-size:18px;cursor:pointer;padding:4px}.snk-st-history-del:hover{color:#ef4444}.snk-st-hints{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.snk-st-hint{padding:12px 20px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:25px;font-size:14px;color:#ffffffe6;cursor:pointer;transition:all .2s;font-weight:500}.snk-st-hint:hover{background:#ffffff1f;border-color:#fff3}.snk-st-hint:active{background:linear-gradient(135deg,#ff6b35,#fe2c55);border-color:transparent;transform:scale(.95)}.snk-st-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.snk-st-cat{background:#ffffff0d;border-radius:16px;padding:16px 12px;text-align:center;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.1)}.snk-st-cat:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.snk-st-cat:active{background:linear-gradient(135deg,#ff6b354d,#fe2c554d);transform:scale(.98)}.snk-st-cat-icon{display:block;font-size:28px;margin-bottom:8px}.snk-st-cat-label{color:#fffc;font-size:12px;font-weight:600}.snk-st-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:10px 20px;border-radius:12px;z-index:99999;font-size:14px;font-weight:600;animation:snkStToastIn .3s ease}@keyframes snkStToastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}}.snk-st-restaurant-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.snk-st-restaurant-icon svg{width:22px;height:22px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.snk-live-banner{position:fixed;bottom:70px;left:8px;right:8px;background:var(--bg-card,#fff);border-radius:12px;box-shadow:0 4px 24px #00000026;z-index:9998;padding:10px 12px;font-family:system-ui;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s;transform:translateY(120%);opacity:0}.snk-live-banner.show{transform:translateY(0);opacity:1}body.dark-mode .snk-live-banner{background:#1e1e1e;box-shadow:0 4px 24px #0006}.snk-lb-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.snk-lb-icon{font-size:22px;animation:snkStBounce 2s ease infinite}.snk-lb-title{font-weight:700;font-size:12px;color:var(--text-primary,#111)}body.dark-mode .snk-lb-title{color:#f3f3f3}.snk-lb-sub{font-size:10px;color:var(--text-muted,#888);margin-top:1px}.snk-lb-eta{margin-left:auto;font-size:13px;font-weight:700;color:#10b981;white-space:nowrap}.snk-lb-steps{display:flex;gap:2px;margin-bottom:6px}.snk-lb-step{flex:1;height:3px;border-radius:2px;background:var(--border-color,#e5e7eb);transition:background .5s}body.dark-mode .snk-lb-step{background:#333}.snk-lb-step.done{background:#10b981}.snk-lb-step.active{background:#f59e0b;animation:snkPulseBar 1.5s ease infinite}.snk-lb-step{transition:background .6s ease}.snk-live-banner.delivered .snk-lb-step{background:#10b981!important;animation:none!important}.snk-live-banner.delivered .snk-lb-icon{animation:snkCelebrate 1s ease!important}@keyframes snkCelebrate{0%{transform:scale(1)}50%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1)}}.snk-live-banner.delivered{border:2px solid #10b981;box-shadow:0 4px 24px #10b9814d}.snk-live-banner.fade-out{opacity:0!important;transform:translateY(120%)!important;transition:opacity .6s ease,transform .6s ease!important}.snk-lb-countdown{margin-left:auto;text-align:right;white-space:nowrap}.snk-lb-countdown-time{font-size:13px;font-weight:800;color:#10b981;font-variant-numeric:tabular-nums}.snk-lb-countdown-label{font-size:9px;color:var(--text-muted,#888)}@keyframes snkPulseBar{0%,to{opacity:1}50%{opacity:.5}}.snk-lb-actions{display:flex;gap:6px}.snk-lb-btn{flex:1;padding:5px 8px;border-radius:8px;border:1px solid var(--border-color,#e5e7eb);background:var(--bg-secondary,#f9fafb);color:var(--text-primary,#111);font-size:11px;font-weight:600;cursor:pointer;text-align:center;transition:background .2s}body.dark-mode .snk-lb-btn{background:#2a2a2a;border-color:#444;color:#eee}.snk-lb-btn:active{background:#f0f0f0}body.dark-mode .snk-lb-btn:active{background:#333}.snk-lb-close{position:absolute;top:6px;right:10px;font-size:16px;cursor:pointer;color:var(--text-muted,#888);background:none;border:none;padding:4px}.snk-geo-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#10b981;background:#10b9811a;padding:2px 8px;border-radius:8px;margin-left:8px}.snk-order-btn{padding:8px 14px;border-radius:10px;border:1px solid var(--border-color, #ddd);background:var(--bg-secondary, #f3f4f6);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--text-primary);transition:all .15s}.snk-order-btn:active{transform:scale(.96)}body.dark-mode .snk-order-btn{background:var(--bg-secondary, #1f2937);border-color:var(--border-color, #374151);color:#f1f5f9}.snk-recipe-tabs{display:flex;gap:8px;padding:0 16px 12px}.snk-recipe-tab{padding:8px 14px;border-radius:99px;font-size:13px;font-weight:600;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.snk-recipe-tab.active{background:#ff6b35;color:#fff;border-color:#ff6b35}body.dark-mode .snk-recipe-tab{background:var(--bg-secondary, #1f2937);color:var(--text-muted, #64748b)}body.dark-mode .snk-recipe-tab.active{background:#ff6b35;color:#fff}@keyframes heartPop{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}30%{transform:translate(-50%,-50%) scale(1.3)}to{opacity:0;transform:translate(-50%,-50%) scale(1.6) translateY(-20px)}}.snk-dbl-heart{animation:heartPop .9s ease forwards}.cart-badge{position:fixed!important;bottom:calc(var(--nav-height, 64px) + var(--safe-area-bottom, 0px) + 10px)!important;left:50%!important;right:auto!important;transform:translate(-50%)!important;width:calc(100% - 32px)!important;max-width:500px!important;height:auto!important;margin:0!important;padding:14px 20px!important;background:linear-gradient(135deg,#ff6b35,#e55a25)!important;color:#fff!important;font-size:15px!important;font-weight:700!important;border-radius:16px!important;border:none!important;box-shadow:0 8px 30px #ff6b3566!important;z-index:900!important;white-space:nowrap!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;animation:none!important;top:auto!important}.cart-badge:active{transform:translate(-50%) scale(.97)!important}.snk-st-search-btn{display:flex!important}.snk-st-search-overlay{opacity:1!important;visibility:visible!important}.page-content{width:100%;min-width:0;overscroll-behavior-y:contain}button,[role=button]{touch-action:manipulation}button:focus-visible,input:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid rgba(255,107,53,.35);outline-offset:2px}.checkout-input,.tip-custom-input,.promo-row .checkout-input,.search-input{font-size:16px}.cards-scroll{padding-bottom:6px;scroll-padding-inline:16px}.cards-scroll .dish-card{width:min(78vw,220px);max-width:220px}.dishes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px 16px calc(var(--nav-height) + var(--safe-area-bottom) + 22px)!important}.dishes-grid .dish-card{min-width:0;max-width:none;width:100%}.page-restaurant .rest-hero{padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px))}.rest-logo{width:72px;height:72px;margin:0 auto 12px;object-fit:cover;border-radius:20px;background:var(--bg-elevated);border:3px solid rgba(255,255,255,.9);box-shadow:0 8px 24px #00000026}.rest-mode-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;margin-bottom:8px;padding:5px 10px;border-radius:var(--radius-full);background:#ff6b351a;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.2px}.rest-mode-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #4ade802e}.rest-address{max-width:min(100%,420px);margin:8px auto 0;color:var(--text-secondary);font-size:12px;line-height:1.35}.rest-menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 10px}.rest-menu-toolbar .rest-dish-count{padding:0;margin:0}.rest-allergen-hint{flex:0 1 auto;min-width:0;color:var(--text-muted);font-size:10px;line-height:1.25;text-align:right}.rest-cat-icon{font-size:16px;line-height:1}.page-restaurant .rest-categories{padding:10px max(16px,env(safe-area-inset-left,0px)) 10px max(16px,env(safe-area-inset-right,0px))!important;gap:8px;box-shadow:0 4px 14px #0f172a0d;scrollbar-width:none}.page-restaurant .rest-cat-btn{min-height:42px;padding-inline:12px!important}.page-restaurant .rest-menu-content{padding:14px 0 calc(var(--nav-height) + var(--safe-area-bottom) + 18px)!important}.pickup-checkout-card{display:flex;align-items:center;gap:12px;margin:0 16px 12px;padding:13px 14px;border:1px solid rgba(255,107,53,.22);border-radius:var(--radius-lg);background:linear-gradient(135deg,#ff6b351a,#fdc5001a)}.pickup-checkout-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:13px;background:var(--bg-card);font-size:22px;box-shadow:var(--shadow-sm)}.pickup-checkout-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.pickup-checkout-copy strong{font-size:14px;line-height:1.2}.pickup-checkout-copy span{color:var(--text-secondary);font-size:11px;line-height:1.35}.pickup-free-pill{flex:0 0 auto;color:#087443;font-size:11px;font-weight:800}body.dark-mode .pickup-free-pill{color:#6ee7b7}.checkout-section{width:min(100%,720px);margin-inline:auto}.checkout-submit-wrap{position:sticky;bottom:0;z-index:20;margin-top:4px;padding:12px 16px calc(16px + var(--safe-area-bottom));background:var(--bg-primary);background:color-mix(in srgb,var(--bg-primary) 88%,transparent);border-top:1px solid var(--border-color);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.checkout-submit-wrap .checkout-btn{width:min(100%,680px);margin-inline:auto}.checkout-summary-card{margin:0;background:var(--bg-elevated);border-radius:var(--radius-lg)}.payment-options{flex-wrap:wrap}.payment-option{min-height:68px;min-width:min(100%,220px)}.promo-row{align-items:stretch}.promo-row .promo-apply{min-width:92px}.orders-list{width:min(100%,800px);margin-inline:auto}.order-card-header{gap:12px}.order-card-left,.order-card-right{min-width:0}.order-card-right{flex:0 0 auto}.order-restaurant,.order-meta,.order-status-label{overflow-wrap:anywhere}.pickup-code-card{margin-top:12px;padding:14px 16px;border:1px solid rgba(253,197,0,.4);border-radius:12px;background:linear-gradient(135deg,#fdc50026,#ff8c0014);text-align:center}.pickup-code-title{color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.pickup-code-value{margin-top:6px;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(28px,9vw,38px);font-weight:800;letter-spacing:clamp(4px,2vw,8px)}.pickup-code-hint{margin-top:4px;color:var(--text-muted);font-size:11px}.order-progress-bar{height:7px;border-radius:var(--radius-full)}.order-progress-fill{border-radius:var(--radius-full)}.order-progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;align-items:start}.order-progress-steps span{min-width:0;overflow-wrap:anywhere;text-align:center}.snk-order-actions{gap:8px!important}.snk-order-btn{min-height:42px;padding-inline:12px}.cart-badge{white-space:normal!important;line-height:1.25;text-align:center}.smart-pilot-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100%,1180px);margin:0 auto;padding:12px max(16px,env(safe-area-inset-left,0px)) 8px max(16px,env(safe-area-inset-right,0px))}.smart-pilot-topbar-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.smart-pilot-eyebrow{color:var(--orange-dark);font-size:11px;font-weight:850;letter-spacing:.2px;line-height:1.2}.smart-pilot-topbar-hint{max-width:560px;color:var(--text-muted);font-size:10px;line-height:1.3}.smart-pilot-cart,.smart-pilot-ai-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;flex:0 0 auto;border:1px solid rgba(255,107,53,.28);border-radius:var(--radius-full);background:#ff6b351a;color:var(--orange-dark);font-size:11px;font-weight:800;padding:8px 12px}.smart-pilot-cart span{min-width:18px;padding:1px 5px;border-radius:var(--radius-full);background:var(--orange);color:#fff;font-size:10px;text-align:center}.smart-menu-pilot{margin:6px 0 18px;padding:14px 0 2px;border:1px solid rgba(255,107,53,.2);border-radius:18px;background:radial-gradient(circle at 100% 0%,rgba(253,197,0,.15),transparent 38%),linear-gradient(135deg,#ff6b3514,#ffffff05)}.smart-pilot-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 14px}.smart-pilot-heading{min-width:0}.smart-pilot-heading h2{margin:4px 0 3px;color:var(--text-primary);font-size:clamp(19px,5vw,24px);line-height:1.12}.smart-pilot-heading p{max-width:520px;margin:0;color:var(--text-secondary);font-size:11px;line-height:1.4}.smart-pilot-ai-btn{min-height:38px;background:linear-gradient(135deg,var(--orange),var(--secondary));border-color:transparent;color:#fff;box-shadow:0 5px 14px #ff6b3538}.smart-pilot-disclaimer{margin:10px 14px 0;color:var(--text-muted);font-size:10px;line-height:1.35}.smart-pilot-cards{gap:10px;padding:10px 14px 14px}.smart-pilot-reco{min-width:min(78vw,220px);max-width:220px;flex:0 0 min(78vw,220px)}.smart-pilot-reco .dish-card{width:100%;max-width:none}.smart-pilot-reason{display:block;width:fit-content;max-width:100%;min-height:19px;margin:0 0 5px 2px;overflow:hidden;padding:3px 7px;border-radius:var(--radius-full);background:#0f172a14;color:var(--text-secondary);font-size:9px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.smart-pilot-reason-admin,.smart-pilot-reason-history{background:#ff6b3524;color:var(--orange-dark)}.smart-pilot-reason-popular{background:#fdc5002e;color:#916800}.smart-pilot-reason-rating{background:#10b9811f;color:#087443}.smart-pilot-reco-note{margin:5px 2px 0;color:var(--text-muted);font-size:9px;line-height:1.3}body.dark-mode .smart-menu-pilot{background:radial-gradient(circle at 100% 0%,rgba(253,197,0,.12),transparent 38%),linear-gradient(135deg,#ff6b351a,#0f172a26)}body.dark-mode .smart-pilot-reason-popular{color:#fcd34d}body.dark-mode .smart-pilot-reason-rating{color:#6ee7b7}@media (max-width: 360px){.smart-pilot-topbar{padding-inline:10px}.smart-pilot-topbar-hint{font-size:9px}.smart-menu-pilot{border-radius:14px}.smart-pilot-header{padding-inline:11px}.smart-pilot-disclaimer{margin-inline:11px}.smart-pilot-cards{padding-inline:11px}.smart-pilot-reco{min-width:76vw;flex-basis:76vw}}@media (min-width: 640px){.smart-menu-pilot{width:min(calc(100% - 48px),920px);margin-inline:auto}.smart-pilot-topbar{padding-inline:24px}}@media (min-width: 640px){.dishes-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:920px;margin-inline:auto;gap:16px;padding-inline:24px!important}.page-restaurant .rest-hero{padding-top:calc(var(--safe-area-top) + 24px);padding-bottom:26px}.rest-logo{width:84px;height:84px}.rest-menu-toolbar{max-width:920px;margin-inline:auto;padding-inline:24px}.pickup-checkout-card{max-width:688px;margin-inline:auto}.checkout-section,.checkout-submit-wrap,.orders-list{padding-inline:24px}}@media (min-width: 1024px){.dishes-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1180px;gap:18px}.page-restaurant .rest-hero-content{max-width:1180px;margin-inline:auto}.page-restaurant .rest-categories{justify-content:center}}@media (max-width: 360px){.dishes-grid{gap:8px;padding-inline:10px!important}.rest-menu-toolbar{padding-inline:10px}.pickup-checkout-card{margin-inline:10px}.pickup-free-pill{display:none}.checkout-section{padding-inline:10px}.order-card{padding:12px}.order-card-header{align-items:flex-start}.order-card-right{max-width:34%}.order-progress-steps{font-size:9px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.dish-card:hover,.dish-card:active,.snk-order-btn:active{transform:none!important}}
