:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--page-bg);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;--page-bg: #090b0c;--page-glow: rgb(255 209 138 / 7%);--text: #f7f2e9;--text-strong: #fffaf2;--text-muted: #aaa9a5;--text-faint: #77797a;--accent: #f0c987;--accent-strong: #f6d89f;--accent-text: #151719;--glass: rgb(25 27 28 / 54%);--glass-strong: rgb(23 25 26 / 72%);--glass-soft: rgb(255 255 255 / 8%);--glass-border: rgb(255 255 255 / 9%);--glass-highlight: rgb(255 255 255 / 8%);--glass-edge: rgb(255 255 255 / 28%);--glass-glow: rgb(247 197 120 / 16%);--glass-reflection: rgb(255 255 255 / 16%);--divider: rgb(255 255 255 / 10%);--field-bg: rgb(24 26 27 / 78%);--overlay: rgb(0 0 0 / 66%);--shadow: rgb(0 0 0 / 38%);--nav-bg: rgb(255 255 255 / 7%);--danger: #ef8f88}@media(prefers-color-scheme:light){:root{color-scheme:light;--page-bg: #f4efe6;--page-glow: rgb(212 159 77 / 17%);--text: #26231f;--text-strong: #171512;--text-muted: #6f6a62;--text-faint: #8b857c;--accent: #9a6726;--accent-strong: #c68b3d;--accent-text: #211b13;--glass: rgb(255 252 247 / 48%);--glass-strong: rgb(255 253 249 / 68%);--glass-soft: rgb(255 255 255 / 18%);--glass-border: rgb(255 255 255 / 78%);--glass-highlight: rgb(255 255 255 / 74%);--glass-edge: rgb(255 255 255 / 96%);--glass-glow: rgb(217 153 66 / 20%);--glass-reflection: rgb(255 255 255 / 72%);--divider: rgb(76 61 42 / 13%);--field-bg: rgb(255 253 249 / 76%);--overlay: rgb(54 45 34 / 32%);--shadow: rgb(74 57 34 / 17%);--nav-bg: rgb(255 255 255 / 16%);--danger: #b64d48}}:root[data-theme=dark]{color-scheme:dark;--page-bg: #090b0c;--page-glow: rgb(255 209 138 / 7%);--text: #f7f2e9;--text-strong: #fffaf2;--text-muted: #aaa9a5;--text-faint: #77797a;--accent: #f0c987;--accent-strong: #f6d89f;--accent-text: #151719;--glass: rgb(25 27 28 / 54%);--glass-strong: rgb(23 25 26 / 72%);--glass-soft: rgb(255 255 255 / 8%);--glass-border: rgb(255 255 255 / 9%);--glass-highlight: rgb(255 255 255 / 8%);--glass-edge: rgb(255 255 255 / 28%);--glass-glow: rgb(247 197 120 / 16%);--glass-reflection: rgb(255 255 255 / 16%);--divider: rgb(255 255 255 / 10%);--field-bg: rgb(24 26 27 / 78%);--overlay: rgb(0 0 0 / 66%);--shadow: rgb(0 0 0 / 38%);--nav-bg: rgb(255 255 255 / 7%);--danger: #ef8f88}:root[data-theme=light]{color-scheme:light;--page-bg: #f4efe6;--page-glow: rgb(212 159 77 / 17%);--text: #26231f;--text-strong: #171512;--text-muted: #6f6a62;--text-faint: #8b857c;--accent: #9a6726;--accent-strong: #c68b3d;--accent-text: #211b13;--glass: rgb(255 252 247 / 48%);--glass-strong: rgb(255 253 249 / 68%);--glass-soft: rgb(255 255 255 / 18%);--glass-border: rgb(255 255 255 / 78%);--glass-highlight: rgb(255 255 255 / 74%);--glass-edge: rgb(255 255 255 / 96%);--glass-glow: rgb(217 153 66 / 20%);--glass-reflection: rgb(255 255 255 / 72%);--divider: rgb(76 61 42 / 13%);--field-bg: rgb(255 253 249 / 76%);--overlay: rgb(54 45 34 / 32%);--shadow: rgb(74 57 34 / 17%);--nav-bg: rgb(255 255 255 / 16%);--danger: #b64d48}*{box-sizing:border-box}html{background:var(--page-bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--page-bg);transition:color .24s ease,background-color .24s ease}#root{min-height:100vh}.liquid-glass-filters{position:fixed;width:0;height:0;pointer-events:none}button,a{-webkit-tap-highlight-color:transparent}button{border:0;outline:none;color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline:2px solid #f0c987;outline-offset:3px}button,a{cursor:pointer}.app-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;padding:calc(82px + env(safe-area-inset-top)) 16px calc(138px + env(safe-area-inset-bottom));background:radial-gradient(circle at 12% 14%,rgb(255 223 170 / 5%),transparent 26%),#090b0c}.app-content{min-height:100vh;opacity:.001;pointer-events:none;transition:opacity .26s ease;will-change:opacity}.app-content--visible{opacity:1;pointer-events:auto}.splash-screen{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:16px;min-height:100vh;min-height:100svh;padding:28px 24px 38px;color:var(--text);background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 26%),radial-gradient(circle at 18% 14%,var(--page-glow),transparent 34%),radial-gradient(circle at 82% 76%,rgb(91 65 38 / 30%),transparent 28%),var(--page-bg);opacity:1;overflow:hidden;transform:scale(1);transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}.splash-screen:before,.splash-screen:after{position:absolute;inset:auto;display:block;border-radius:999px;content:"";pointer-events:none}.splash-screen:before{top:9%;left:50%;width:290px;height:290px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 66%);filter:blur(4px);opacity:.65;transform:translate(-50%)}.splash-screen:after{right:-92px;bottom:-70px;width:230px;height:230px;background:radial-gradient(circle,rgb(255 255 255 / 5%),transparent 64%)}.splash-screen--leaving{opacity:0;pointer-events:none;transform:scale(1.015)}.splash-preview{position:relative;z-index:1;width:min(320px,84vw);height:336px;margin-bottom:-2px;animation:splash-preview-float 2.5s cubic-bezier(.45,0,.2,1) infinite}.splash-preview:before{position:absolute;right:18px;bottom:18px;left:18px;height:76px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 30%,transparent),transparent 70%);content:"";filter:blur(18px);opacity:.75;transform:perspective(240px) rotateX(64deg)}.splash-camera-flash{position:absolute;z-index:6;top:56px;right:36px;width:52px;height:52px;border:1px solid rgb(255 255 255 / 14%);border-radius:50%;background:radial-gradient(circle,rgb(255 255 255 / 86%) 0 8%,transparent 10%),radial-gradient(circle,color-mix(in srgb,var(--accent) 72%,white),transparent 58%);box-shadow:0 0 42px color-mix(in srgb,var(--accent) 72%,transparent);opacity:0;animation:splash-flash 2.5s ease-in-out infinite}.splash-scan-ring{position:absolute;z-index:5;top:84px;left:50%;width:168px;height:168px;border:1px solid color-mix(in srgb,var(--accent) 58%,transparent);border-radius:50%;box-shadow:inset 0 0 26px #ffffff0a,0 0 34px color-mix(in srgb,var(--accent) 24%,transparent);opacity:.72;transform:translate(-50%) rotate(0);animation:splash-scan 2.6s linear infinite}.splash-scan-ring:before{position:absolute;top:-4px;left:50%;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent);content:""}.splash-card{--card-x: 0px;--card-y: 0px;--card-rotate: 0deg;--card-scale: 1;--card-scale-active: 1.015;position:absolute;top:38px;left:50%;width:218px;height:286px;overflow:hidden;border:1px solid color-mix(in srgb,var(--glass-edge) 86%,transparent);border-radius:34px;background:linear-gradient(145deg,var(--glass-reflection),transparent 36%),var(--glass-strong);box-shadow:inset 0 1px #ffffff24,0 24px 58px color-mix(in srgb,var(--shadow) 70%,transparent),0 0 32px color-mix(in srgb,var(--accent) 12%,transparent);transform:translate3d(calc(-50% + var(--card-x)),var(--card-y),0) rotate(var(--card-rotate)) scale(var(--card-scale));transform-origin:50% 86%;animation:splash-card-breathe 2.5s cubic-bezier(.45,0,.2,1) infinite;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}.splash-card:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgb(0 0 0 / 20%),transparent 32%),linear-gradient(0deg,rgb(0 0 0 / 78%),transparent 58%);content:"";pointer-events:none}.splash-card--1{--card-x: -72px;--card-y: 30px;--card-rotate: -13deg;--card-scale: .84;--card-scale-active: .855;z-index:1;opacity:.74;animation-delay:-.36s}.splash-card--2{--card-x: 74px;--card-y: 26px;--card-rotate: 12deg;--card-scale: .86;--card-scale-active: .875;z-index:2;opacity:.82;animation-delay:-.16s}.splash-card--3{--card-x: 0px;--card-y: 0px;--card-rotate: -1.5deg;--card-scale: 1;--card-scale-active: 1.015;z-index:3}.splash-card-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:splash-photo-zoom 2.5s ease-in-out infinite}.splash-card-top,.splash-card-meta,.splash-save-badge{position:absolute;z-index:2}.splash-card-top{top:16px;right:16px;left:16px;display:flex;align-items:center;justify-content:space-between}.splash-mini-logo,.splash-photo-count{display:inline-grid;place-items:center;box-shadow:inset 0 1px #ffffff29,0 10px 26px #00000047;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}.splash-mini-logo{width:46px;height:46px;border:1px solid rgb(255 255 255 / 20%);border-radius:50%;color:#151515;background:#f4e6c7;font-size:18px;font-weight:850}.splash-photo-count{min-width:46px;min-height:32px;padding:0 10px;border:1px solid rgb(255 255 255 / 12%);border-radius:999px;color:#fffaf0;background:#0c0d0e94;font-size:13px;font-weight:780}.splash-card-meta{right:16px;bottom:72px;left:16px;display:grid;gap:4px;color:#fff;text-shadow:0 2px 12px rgb(0 0 0 / 58%)}.splash-card-meta span{color:#ffffffb3;font-size:12px;font-weight:720}.splash-card-meta strong{font-size:22px;font-weight:900;letter-spacing:-.04em;line-height:1.02}.splash-save-badge{right:16px;bottom:18px;left:16px;display:grid;min-height:38px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;color:#17130d;background:linear-gradient(180deg,rgb(255 255 255 / 36%),transparent 38%),var(--accent);box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 34%,transparent),inset 0 1px #ffffff73;font-size:13px;font-weight:850;letter-spacing:-.01em;animation:splash-badge-pulse 1.5s ease-in-out infinite}.splash-wordmark{position:relative;z-index:1;width:184px;height:57px;margin-top:-10px}.splash-wordmark .wordmark-art{width:100%;height:100%}.splash-screen p{position:relative;z-index:1;max-width:280px;margin:-10px 0 0;color:var(--text-muted);font-size:15px;font-weight:650;line-height:1.35;text-align:center}.splash-loader{position:relative;z-index:1;display:flex;gap:7px;align-items:center;justify-content:center;margin-top:2px}.splash-loader span{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.35;animation:splash-dot .9s ease-in-out infinite}.splash-loader span:nth-child(2){animation-delay:.12s}.splash-loader span:nth-child(3){animation-delay:.24s}.coming-soon-screen{display:grid;min-height:calc(100vh - 220px);min-height:calc(100svh - 220px);place-items:center}.coming-soon-card{position:relative;display:grid;gap:14px;width:min(100%,430px);padding:24px 22px;overflow:hidden;border:1px solid var(--glass-border);border-radius:34px;background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 32%),radial-gradient(circle at 88% 92%,rgb(255 255 255 / 8%),transparent 38%),var(--glass-strong);box-shadow:inset 0 1px 0 var(--glass-highlight),inset 0 -18px 32px #ffffff08,0 26px 70px var(--shadow);text-align:center;-webkit-backdrop-filter:blur(26px) saturate(138%);backdrop-filter:blur(26px) saturate(138%)}.coming-soon-card .splash-preview{width:min(270px,76vw);height:210px;justify-self:center;margin:-8px 0 -6px}.coming-soon-card .splash-card{top:10px;width:154px;height:202px;border-radius:25px}.coming-soon-card .splash-card--1{--card-x: -58px;--card-y: 18px}.coming-soon-card .splash-card--2{--card-y: -4px}.coming-soon-card .splash-card--3{--card-x: 58px;--card-y: 20px}.coming-soon-card .splash-card-top,.coming-soon-card .splash-card-meta,.coming-soon-card .splash-save-badge{transform:scale(.78);transform-origin:left bottom}.coming-soon-card .splash-camera-flash{top:30px;right:42px;width:42px;height:42px}.coming-soon-card .splash-scan-ring{top:47px;width:124px;height:124px}.coming-soon-card:before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:linear-gradient(138deg,rgb(255 255 255 / 16%),transparent 28% 74%,rgb(255 255 255 / 7%)),linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 18%,transparent),transparent);content:"";opacity:.72;pointer-events:none}.coming-soon-card>*{position:relative;z-index:1}.coming-soon-wordmark{justify-self:center;width:166px;height:51px;margin-bottom:2px}.coming-soon-wordmark .wordmark-art{width:100%;height:100%}.coming-soon-eyebrow{justify-self:center;padding:7px 13px;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:999px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 13%,transparent);font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.coming-soon-card h1{margin:0;color:var(--text-strong);font-size:clamp(29px,9vw,42px);font-weight:900;letter-spacing:-.06em;line-height:.98}.coming-soon-card p{max-width:340px;margin:0 auto;color:var(--text-muted);font-size:16px;font-weight:620;line-height:1.48}.prelaunch-user-card{display:flex;align-items:center;gap:12px;width:min(100%,330px);margin:2px auto 0;padding:11px 13px;border:1px solid color-mix(in srgb,var(--glass-edge) 72%,transparent);border-radius:22px;background:linear-gradient(145deg,rgb(255 255 255 / 12%),transparent 50%),color-mix(in srgb,var(--glass-strong) 84%,transparent);box-shadow:inset 0 1px #ffffff1f,0 14px 28px #00000029;text-align:left}.prelaunch-user-avatar{display:grid;flex:0 0 auto;width:46px;height:46px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 34%,white 18%);border-radius:50%;background:var(--avatar-bg);color:#111;font-weight:900}.prelaunch-user-card span{display:grid;min-width:0;gap:2px}.prelaunch-user-card b,.prelaunch-user-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prelaunch-user-card b{color:var(--text-strong);font-size:15px;font-weight:850}.prelaunch-user-card small{color:var(--text-muted);font-size:13px;font-weight:650}.prelaunch-submit{width:min(100%,330px);min-height:58px;justify-self:center;margin-top:2px;border:1px solid color-mix(in srgb,var(--accent) 54%,white 16%);border-radius:999px;color:#15120e;background:linear-gradient(145deg,#ffe9bd,var(--accent) 58%,#c79143);box-shadow:0 16px 42px color-mix(in srgb,var(--accent) 35%,transparent),inset 0 1px #ffffff94,inset 0 -10px 20px #7e4b101f;font-size:17px;font-weight:900;transition:transform .18s ease,box-shadow .22s ease,opacity .18s ease}.prelaunch-submit:active{transform:scale(.985)}.prelaunch-submit:disabled{opacity:.78}.prelaunch-submit--done{color:#172015;background:linear-gradient(145deg,#edf8d4,#d8ed9a 58%,#afc86b)}.coming-soon-card .prelaunch-note{max-width:320px;color:color-mix(in srgb,var(--text-muted) 88%,var(--accent));font-size:13px;line-height:1.42}.coming-soon-loader{display:flex;gap:7px;justify-content:center;padding-top:6px}.coming-soon-loader span{width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.35;animation:splash-dot 1.1s ease-in-out infinite}.coming-soon-loader span:nth-child(2){animation-delay:.15s}.coming-soon-loader span:nth-child(3){animation-delay:.3s}@keyframes splash-preview-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes splash-card-breathe{0%,to{transform:translate3d(calc(-50% + var(--card-x)),var(--card-y),0) rotate(var(--card-rotate)) scale(var(--card-scale))}50%{transform:translate3d(calc(-50% + var(--card-x)),calc(var(--card-y) - 9px),0) rotate(calc(var(--card-rotate) + .8deg)) scale(var(--card-scale-active))}}@keyframes splash-photo-zoom{0%,to{transform:scale(1.04)}50%{transform:scale(1.09)}}@keyframes splash-flash{0%,58%,to{opacity:0;transform:scale(.8)}64%{opacity:.85;transform:scale(1)}74%{opacity:.18;transform:scale(1.26)}}@keyframes splash-scan{to{transform:translate(-50%) rotate(360deg)}}@keyframes splash-badge-pulse{0%,to{transform:translateY(0);box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 34%,transparent),inset 0 1px #ffffff73}50%{transform:translateY(-2px);box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 48%,transparent),inset 0 1px #ffffff8c}}@keyframes splash-dot{0%,to{opacity:.32;transform:scale(.86)}50%{opacity:1;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.splash-preview,.splash-card,.splash-card-photo,.splash-camera-flash,.splash-scan-ring,.splash-save-badge,.splash-loader span,.nav-item--pulse .nav-icon,.saved-expanded-card{animation:none}.nav-item--pulse:after{display:none}}.topbar{position:fixed;z-index:20;top:0;right:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:min(100%,520px);min-height:82px;margin:0 auto;padding:calc(8px + env(safe-area-inset-top)) 20px 4px;background:transparent;transform:translateY(0);transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .22s ease;will-change:transform}.topbar--hidden{opacity:0;pointer-events:none;transform:translateY(calc(-100% - env(safe-area-inset-top)))}.wordmark{display:block;width:142px;height:44px;border:0;padding:0;background:transparent;text-decoration:none}.wordmark-art{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 0 rgb(255 255 255 / 68%)) drop-shadow(0 4px 7px rgb(0 0 0 / 17%)) drop-shadow(0 9px 18px rgb(0 0 0 / 12%))}.location{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 10px;color:#8e8d8d;background:transparent;font-size:17px;font-weight:650;line-height:1}.location>svg{display:block;flex:0 0 auto}.location>svg:first-child{width:18px;height:18px;color:#d2a866}.location>svg:last-child{width:15px;height:15px;margin-left:-1px;color:#77797a}.location>span{display:block}.profile-button{display:grid;width:40px;height:40px;margin-left:auto;padding:0;place-items:center;border:1px solid #343637;border-radius:50%;color:#f2cf94;background:#131516b8;box-shadow:inset 0 1px #ffffff08}.profile-button>svg{display:block;width:22px;height:22px}.profile-button-avatar{display:block;overflow:hidden;width:100%;height:100%;border-radius:inherit}.profile-button-avatar img,.profile-avatar img,.settings-avatar img,.profile-edit-avatar img{display:block;width:100%;height:100%;object-fit:cover}.profile-button.active{border-color:#e9bb75;background:#2a251e}.feed{display:grid;gap:14px;padding:8px 0 16px}.dish-card{position:relative;overflow:hidden;border:1px solid rgb(255 255 255 / 5%);border-radius:21px;background:#17191a;box-shadow:0 18px 50px #00000059}.restaurant{position:absolute;z-index:2;top:13px;left:13px;display:flex;align-items:center;gap:10px;padding:0;border:0;color:#fff;background:transparent;text-align:left;text-decoration:none}.restaurant--plain{pointer-events:none}.restaurant-logo{display:block;overflow:hidden;width:44px;height:44px;border:1px solid rgb(255 255 255 / 40%);border-radius:50%;background:#f3e5c7;box-shadow:0 6px 22px #00000040}.restaurant-logo img{display:block;width:100%;height:100%;object-fit:cover}.restaurant-copy{display:grid;gap:3px;text-shadow:0 2px 10px #000}.restaurant-copy strong{font-size:17px}.restaurant-copy>span{display:flex;align-items:center;gap:5px;color:#e5e1da;font-size:11px}.restaurant-copy em{width:fit-content;padding:3px 8px;border:1px solid rgb(255 255 255 / 32%);border-radius:999px;color:#fff4dc;background:#1a181485;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.01em;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.restaurant-copy svg{color:#f2bf72}.more-button{display:flex;width:40px;height:40px;align-items:center;justify-content:center;gap:3px;border:1px solid color-mix(in srgb,var(--glass-edge) 62%,transparent);border-radius:50%;color:#e7e0d5;background:linear-gradient(145deg,rgb(255 255 255 / 11%),transparent 48%),color-mix(in srgb,var(--glass-strong) 82%,#151718);box-shadow:inset 0 1px #ffffff24,0 10px 24px #00000038;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}.more-button span{width:3.5px;height:3.5px;border-radius:50%;background:currentColor}.dish-photo{position:relative;height:clamp(230px,36vh,290px);min-height:0;background:#272727}.dish-photo:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgb(0 0 0 / 70%) 0,transparent 29%,transparent 78%,rgb(0 0 0 / 18%) 100%);content:"";pointer-events:none}.photo-track{display:flex;overflow-x:auto;width:100%;height:100%;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.photo-track::-webkit-scrollbar{display:none}.photo-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo-dots{position:absolute;z-index:4;bottom:10px;left:50%;display:flex;gap:5px;transform:translate(-50%);pointer-events:none}.photo-dots span{width:6px;height:6px;border-radius:50%;background:#ffffff7a;box-shadow:0 1px 4px #00000059;transition:width .18s ease,background-color .18s ease}.photo-dots span.active{width:14px;border-radius:999px;background:#fff}.photo-viewer{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#000000f5;overscroll-behavior:contain}.photo-viewer-track{display:flex;overflow-x:auto;width:100%;height:100%;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.photo-viewer-track::-webkit-scrollbar{display:none}.photo-viewer-slide{display:grid;flex:0 0 100%;width:100%;height:100%;place-items:center;padding:calc(72px + env(safe-area-inset-top)) 0 calc(72px + env(safe-area-inset-bottom));scroll-snap-align:start;scroll-snap-stop:always}.photo-viewer-slide img{display:block;max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo-viewer-close{position:fixed;z-index:1002;top:calc(14px + env(safe-area-inset-top));right:16px;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgb(255 255 255 / 28%);border-radius:50%;color:#fff;background:#23232394;box-shadow:inset 0 1px #ffffff38,0 8px 24px #0000004d;font-size:31px;font-weight:300;line-height:1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.photo-viewer-dots{position:fixed;z-index:1002;bottom:calc(28px + env(safe-area-inset-bottom));left:50%;display:flex;gap:6px;transform:translate(-50%);pointer-events:none}.photo-viewer-dots span{width:7px;height:7px;border-radius:50%;background:#ffffff61;box-shadow:0 1px 5px #0000008c;transition:width .18s ease,background-color .18s ease}.photo-viewer-dots span.active{width:18px;border-radius:999px;background:#fff}.dish-content{position:relative;z-index:2;margin:0;padding:13px 14px 14px;border-radius:0 0 20px 20px;background:radial-gradient(circle at 75% 10%,rgb(255 211 145 / 4%),transparent 30%),#17191a}.dish-content h1{margin:0;font-size:clamp(20px,5.2vw,25px);line-height:1.1;letter-spacing:-.035em}.price{margin:5px 0 6px;color:#f2c886;font-size:18px;font-weight:750}.dish-description{max-width:370px;margin:0;color:#aeada9;overflow:hidden;display:-webkit-box;font-size:13px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dish-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #303233;color:#a9a9a7;font-size:11px}.author,.interest{display:flex;align-items:center;gap:9px}.avatar{display:grid;overflow:hidden;flex:0 0 auto;width:26px;height:26px;place-items:center;border:1px solid #636363;border-radius:50%;color:#17191a;background:linear-gradient(145deg,#9ab1a6,#dfbe7b);font-weight:800}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.interest{color:#e9b96f;white-space:nowrap}.actions{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;gap:8px;margin-top:12px}.actions--with-map{grid-template-columns:minmax(0,1fr) repeat(3,42px)}.save-button{display:flex;min-height:46px;align-items:center;justify-content:center;gap:9px;border-radius:999px;color:#111313;background:linear-gradient(145deg,#fff0c9,#f4c97d 56%,#c89043);box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 28%,transparent),inset 0 1px #ffffffb8,inset 0 -9px 18px #7346111f;font-size:14px;font-weight:850}.save-button--saved{color:#f7deb2;background:#292b2b;box-shadow:inset 0 0 0 1px #5f513a}.save-icon{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;color:#f6ce91;background:#16191a}.map-button,.share-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--glass-edge) 62%,transparent);border-radius:50%;color:#e7e0d5;background:linear-gradient(145deg,rgb(255 255 255 / 12%),transparent 48%),color-mix(in srgb,var(--glass-strong) 84%,#151718);box-shadow:inset 0 1px #ffffff24,0 10px 24px #00000038}.share-button{font-size:18px;font-weight:800}.bottom-nav{position:fixed;z-index:10;right:0;bottom:calc(10px + env(safe-area-inset-bottom));left:0;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,520px);height:78px;margin:0 auto;padding:0 12px;border-top:1px solid #272929;background:#101213f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateY(0);transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .22s ease;will-change:transform}.bottom-nav--hidden{opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px + env(safe-area-inset-bottom)))}.nav-item{position:relative;display:flex;width:100%;min-width:0;height:78px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 4px 6px;border-radius:16px;color:#777879;background:transparent;font-size:13px;font-weight:600;line-height:1}.nav-item:active{background:#ffffff0a}.nav-icon{display:grid;width:32px;height:30px;place-items:center}.nav-icon>svg{width:28px;height:28px}.nav-item--active{color:#f0c987}.nav-item--pulse .nav-icon{animation:saved-nav-pulse .62s cubic-bezier(.2,.8,.2,1)}.nav-item--pulse:after{position:absolute;z-index:-1;top:9px;left:50%;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 32%,transparent),transparent 64%);content:"";opacity:0;transform:translate(-50%) scale(.58);animation:saved-nav-ripple .76s cubic-bezier(.2,.8,.2,1);pointer-events:none}@keyframes saved-nav-pulse{0%,to{transform:scale(1)}45%{transform:scale(1.16)}}@keyframes saved-nav-ripple{0%{opacity:0;transform:translate(-50%) scale(.55)}35%{opacity:.9;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(1.38)}}.nav-item--add{justify-content:flex-start;gap:3px;padding-top:0;transform:translateY(-15px)}.add-circle{display:grid;width:62px;height:62px;flex:0 0 62px;place-items:center;border:4px solid #121415;border-radius:50%;color:#17191a;background:#f5d49b;box-shadow:0 4px 20px #00000059}.add-circle>svg{display:block;width:34px;height:34px}.page{min-height:calc(100vh - 180px);padding:12px 4px 30px}.page-heading{margin-bottom:25px}.page-heading p{margin:0 0 7px;color:#d9ad6b;font-size:13px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.page-heading h1,.profile-card h1{margin:0;font-size:34px;letter-spacing:-.045em}.dish-form{display:grid;gap:17px}.dish-form>label:not(.photo-upload),.form-field{display:grid;gap:8px;color:#d7d3cc;font-size:14px;font-weight:650}.form-field>label{color:inherit}.dish-form input,.dish-form textarea{width:100%;border:1px solid #303233;border-radius:15px;outline:none;padding:15px 16px;color:#f5f1e9;background:#17191a;font:inherit}.dish-form input:focus,.dish-form textarea:focus{border-color:#d4a968}.dish-form textarea{min-height:105px;resize:vertical}.business-cabinet-form{margin-top:18px}.business-logo-upload{position:relative;display:grid;overflow:hidden;min-height:128px;padding:18px;place-items:center;gap:8px;border:1px dashed rgb(255 255 255 / 22%);border-radius:22px;background:linear-gradient(145deg,rgb(255 255 255 / 8%),transparent 58%),var(--field-bg);color:var(--text);text-align:center;cursor:pointer}.business-logo-upload.has-logo{border-style:solid;min-height:156px}.business-logo-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.business-logo-upload img{width:74px;height:74px;object-fit:cover;border:1px solid rgb(255 255 255 / 30%);border-radius:22px;box-shadow:0 14px 34px #00000047}.business-logo-placeholder{display:grid;width:74px;height:74px;place-items:center;border:1px solid rgb(255 255 255 / 18%);border-radius:22px;color:var(--accent);background:#ffffff14;font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.business-logo-upload b{color:var(--text-strong);font-size:15px}.business-logo-upload small{color:var(--text-muted);font-size:12px;font-weight:600}.business-logo-upload:has(input:disabled){cursor:default;opacity:.62}.dish-form input:disabled,.dish-form textarea:disabled{opacity:.58}.author--official{gap:8px;color:var(--text)}.official-badge{display:inline-grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 58%,transparent);border-radius:50%;color:#17130c;background:linear-gradient(145deg,#fff5d9,var(--accent));box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 28%,transparent)}.business-dishes-section{padding-bottom:12px}.business-dish-form{margin-top:12px}.business-dish-list{display:grid;gap:10px;margin-top:14px}.business-dish-card,.business-dish-empty{border:1px solid var(--glass-border);border-radius:20px;background:linear-gradient(145deg,var(--glass-reflection),transparent 42%),var(--glass);box-shadow:inset 0 1px var(--glass-edge),0 14px 30px color-mix(in srgb,var(--shadow) 32%,transparent)}.business-dish-card{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:center;padding:10px}.business-dish-card img,.business-dish-placeholder{width:74px;height:74px;border-radius:16px}.business-dish-card img{display:block;object-fit:cover}.business-dish-placeholder{display:grid;place-items:center;color:var(--accent);background:var(--glass-soft);font-size:12px;font-weight:800;text-transform:uppercase}.business-dish-card div,.business-dish-empty{display:grid;gap:4px}.business-dish-card b,.business-dish-empty b{color:var(--text-strong);font-size:15px}.business-dish-card span,.business-dish-empty span{color:var(--text-muted);font-size:13px}.business-dish-card small{width:fit-content;padding:3px 8px;border-radius:999px;color:color-mix(in srgb,var(--accent) 86%,var(--text));background:color-mix(in srgb,var(--accent) 13%,transparent);font-size:11px;font-weight:800}.business-dish-empty{padding:16px}.restaurant-field{position:relative;z-index:6}.restaurant-search-status{padding:0 4px;color:var(--text-muted);font-size:12px;font-weight:600}.restaurant-options{position:absolute;z-index:20;top:calc(100% - 1px);right:0;left:0;display:grid;overflow:hidden;border:1px solid var(--glass-edge);border-radius:18px;background:var(--glass-strong);box-shadow:inset 0 1px var(--glass-highlight),0 18px 44px var(--shadow);backdrop-filter:blur(32px) saturate(170%);-webkit-backdrop-filter:blur(32px) saturate(170%)}.restaurant-options button{display:grid;gap:4px;min-height:58px;padding:11px 14px;color:var(--text);background:transparent;text-align:left}.restaurant-options button+button{border-top:1px solid var(--divider)}.restaurant-options button:active{background:var(--glass-soft)}.restaurant-options strong{font-size:15px}.restaurant-options span{color:var(--text-muted);font-size:12px;font-weight:500}.selected-place-card{display:grid;gap:6px;margin-top:4px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--glass-edge));border-radius:18px;color:var(--text);background:radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 42%),linear-gradient(145deg,var(--glass-reflection),transparent 50%),var(--glass-soft);box-shadow:inset 0 1px var(--glass-highlight),0 14px 34px color-mix(in srgb,var(--shadow) 30%,transparent);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}.selected-place-card strong{color:var(--text-strong);font-size:17px}.selected-place-card small,.selected-place-card em{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:600;line-height:1.35}.selected-place-badge{width:fit-content;padding:4px 9px;border-radius:999px;color:#17130c;background:linear-gradient(145deg,#fff4d3,var(--accent));font-size:11px;font-weight:850}.selected-place-card button{width:fit-content;margin-top:3px;padding:7px 11px;border:1px solid var(--glass-edge);border-radius:999px;color:var(--text);background:var(--glass-soft);font-size:12px;font-weight:750}.form-helper{padding:0 4px;color:var(--text-faint);font-size:11px;font-weight:600;line-height:1.35}.suggest-restaurant-button{min-height:46px;border:1px solid var(--glass-edge);border-radius:15px;color:var(--accent);background:var(--glass-soft);font-size:13px;font-weight:700;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.suggest-restaurant-button:disabled{opacity:.6}.review-field{position:relative}.review-hint{color:var(--text-muted);font-size:12px;font-weight:600}.review-suggestions{display:flex;flex-wrap:wrap;gap:7px}.review-suggestions button{min-height:34px;padding:7px 11px;border:1px solid var(--glass-edge);border-radius:999px;color:var(--text);background:linear-gradient(145deg,rgb(255 255 255 / 14%),transparent 48%),var(--glass-soft);box-shadow:inset 0 1px var(--glass-highlight);font-size:12px;font-weight:650;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.review-suggestions button:active{color:var(--accent);transform:scale(.97)}.review-counter{justify-self:end;color:var(--text-faint);font-size:11px;font-weight:600}.photo-upload{position:relative;display:grid;overflow:hidden;min-height:220px;place-items:center;align-content:center;gap:7px;border:1px dashed #65553e;border-radius:22px;color:#bcb7ae;background:#17191a;text-align:center}.photo-upload b{display:grid;width:58px;height:58px;margin-bottom:5px;place-items:center;border-radius:50%;color:#17191a;background:#f1ca8a;font-size:35px;font-weight:350}.photo-upload span{color:#747575;font-size:13px}.photo-upload input{position:absolute;width:1px;height:1px;opacity:0}.photo-upload.has-photo{border-style:solid}.photo-upload img{position:absolute;width:100%;height:100%;object-fit:cover}.photo-upload .preview-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.photo-upload .preview-grid img{position:static;min-width:0}.photo-upload .preview-grid img:only-child{grid-column:1 / -1}.photo-upload .preview-grid img:first-child:nth-last-child(2),.photo-upload .preview-grid img:first-child:nth-last-child(2)+img{grid-column:span 1;width:100%}.photo-upload .preview-grid:has(img:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.primary-button,.empty-state button{min-height:57px;border-radius:999px;color:#17191a;background:linear-gradient(100deg,#f1ca8a,#ffe2a8);font-weight:800}.saved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.saved-page-note{display:block;max-width:300px;margin-top:9px;color:var(--text-muted);font-size:13px;font-weight:650;line-height:1.35}.saved-expanded-card{grid-column:1 / -1;animation:saved-expanded-enter .36s cubic-bezier(.22,1,.36,1)}.saved-card{position:relative;display:block;overflow:hidden;min-width:0;aspect-ratio:.82;border:1px solid #292b2c;border-radius:22px;background:#17191a;cursor:pointer;transition:opacity .18s ease,transform .18s ease,border-color .18s ease}.saved-card:active{transform:scale(.985)}.saved-card:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:3px}@keyframes saved-expanded-enter{0%{opacity:0;transform:translate3d(0,16px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}.saved-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.saved-card:before{position:absolute;z-index:1;top:34%;right:0;bottom:0;left:0;width:auto;height:auto;border-radius:0;background:linear-gradient(to bottom,transparent,rgb(8 9 9 / 28%) 24%,rgb(8 9 9 / 88%) 100%);filter:none;transform:none;content:""}.saved-card-copy{position:absolute;z-index:2;right:0;bottom:0;left:0;display:grid;gap:4px;padding:30px 13px 13px;color:#fff}.saved-card strong{overflow:hidden;color:#fff;font-size:16px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.saved-card-copy span{overflow:hidden;color:#ffffffb8;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.saved-card-copy b{color:#f2cb8d;font-size:13px}.saved-card button{position:absolute;z-index:6;top:9px;right:9px;display:grid;width:34px;height:34px;padding:0;place-items:center;border-radius:50%;color:#fff;background:#1617177a;box-shadow:inset 0 1px #ffffff40,0 5px 14px #0000003d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.saved-card button>svg{display:block;width:18px;height:18px}.empty-state{display:grid;min-height:430px;place-items:center;align-content:center;padding:30px;color:#787a7a;text-align:center}.empty-state>svg{width:48px;height:48px;color:#d4ae72}.empty-state h2{margin:18px 0 7px;color:#f0ece5}.empty-state p{max-width:310px;margin:0 0 24px;line-height:1.5}.empty-state button{padding:0 28px}.profile-card{display:grid;padding:24px 22px 20px;border:1px solid #282a2b;border-radius:28px;background:#17191a}.profile-identity{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:17px}.profile-avatar{display:grid;overflow:hidden;width:76px;height:76px;place-items:center;border:1px solid rgb(255 255 255 / 52%);border-radius:50%;color:#17191a;background:radial-gradient(circle at 30% 18%,rgb(255 255 255 / 86%),transparent 34%),linear-gradient(145deg,#c9d6cf,#e0b96f);box-shadow:inset 0 2px 2px #ffffffad,inset 0 -3px 5px #5e411b2e,0 10px 28px color-mix(in srgb,var(--shadow) 60%,transparent);font-size:29px;font-weight:800}.profile-eyebrow{display:block;margin-bottom:5px;color:var(--accent);font-size:10px;font-weight:780;letter-spacing:.1em;line-height:1.3;text-transform:uppercase}.profile-identity h1{font-size:28px}.profile-identity p{max-width:270px;margin:5px 0 0;color:var(--text-muted);font-size:13px;line-height:1.42}.profile-stats{display:grid;grid-template-columns:.8fr .9fr 1.3fr;width:100%;margin-top:22px;border-top:1px solid var(--divider);padding-top:17px}.profile-stats button{display:grid;min-width:0;gap:2px;padding:0 9px;color:var(--text-muted);background:transparent;text-align:center}.profile-stats button+button{border-left:1px solid var(--divider)}.profile-stats b{overflow:hidden;color:#f1d09b;font-size:20px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.profile-stats span{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.profile-section{margin-top:22px}.profile-section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 4px 10px}.profile-section-heading h2{margin:0;color:var(--text);font-size:15px;letter-spacing:-.01em}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px}.profile-action{position:relative;display:grid;min-height:132px;align-content:space-between;overflow:hidden;padding:16px;border:1px solid var(--glass-border);border-radius:22px;background:linear-gradient(145deg,var(--glass-reflection),transparent 34%),var(--glass);box-shadow:inset 0 1px var(--glass-edge),0 16px 36px color-mix(in srgb,var(--shadow) 46%,transparent);text-align:left;backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%)}.profile-action--accent{background:radial-gradient(circle at 20% 4%,rgb(255 255 255 / 46%),transparent 38%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 35%,var(--glass)),var(--glass))}.profile-action-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--glass-edge) 82%,transparent);border-radius:15px;color:var(--accent);background:var(--glass-soft);box-shadow:inset 0 1px #ffffff4d}.profile-action-icon svg{width:25px;height:25px}.profile-action>span:last-child{display:grid;gap:3px}.profile-action b{color:var(--text-strong);font-size:15px}.profile-action small{color:var(--text-muted);font-size:11px}.settings-list{display:grid;overflow:hidden;margin-top:18px;border:1px solid #282a2b;border-radius:20px;background:#17191a}.settings-list button,.sheet button{display:flex;min-height:57px;align-items:center;justify-content:space-between;padding:0 19px;background:transparent;text-align:left}.settings-list button+button,.sheet button+button{border-top:1px solid #292b2c}.settings-list button{min-height:68px;gap:13px;color:var(--text)}.settings-list button>svg{flex:0 0 auto;color:var(--text-faint)}.settings-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--glass-edge) 64%,transparent);border-radius:13px;color:var(--accent);background:var(--glass-soft);box-shadow:inset 0 1px #ffffff3d}.settings-icon svg{width:21px;height:21px}.settings-copy{display:grid;min-width:0;flex:1;gap:3px}.settings-copy b{font-size:15px;font-weight:670}.settings-copy small{overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.settings-list button{color:var(--text-faint)}.settings-page{padding-bottom:28px}.nested-heading{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:24px}.nested-heading>button{display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--glass-border);border-radius:50%;color:var(--text);background:radial-gradient(circle at 28% 12%,rgb(255 255 255 / 28%),transparent 40%),var(--glass-soft);box-shadow:inset 0 1px var(--glass-edge),0 8px 22px color-mix(in srgb,var(--shadow) 42%,transparent);backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%)}.nested-heading span{color:var(--accent);font-size:11px;font-weight:760;letter-spacing:.1em;text-transform:uppercase}.nested-heading h1{margin:2px 0 0;color:var(--text-strong);font-size:31px;letter-spacing:-.045em}.settings-group+.settings-group{margin-top:23px}.settings-group h2{margin:0 4px 9px;color:var(--text-muted);font-size:12px;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.settings-group .settings-list{margin-top:0}.settings-avatar{display:grid;overflow:hidden;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid rgb(255 255 255 / 48%);border-radius:50%;color:var(--accent-text);background:radial-gradient(circle at 28% 15%,rgb(255 255 255 / 70%),transparent 36%),linear-gradient(145deg,#c9d6cf,#e0b96f);font-size:16px;font-weight:800}.switch{position:relative;width:48px;height:28px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--glass-edge) 65%,transparent);border-radius:999px;background:color-mix(in srgb,var(--text-faint) 28%,transparent);box-shadow:inset 0 2px 4px color-mix(in srgb,var(--shadow) 35%,transparent);transition:background .18s ease}.switch i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000003d;transition:transform .18s ease}.switch--on{background:var(--accent)}.switch--on i{transform:translate(20px)}.delete-account-button{width:100%;min-height:54px;margin-top:24px;border:1px solid color-mix(in srgb,var(--danger) 28%,transparent);border-radius:18px;color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--glass))}.profile-edit-card{display:grid;gap:18px;padding:24px 20px;border:1px solid var(--glass-border);border-radius:27px;background:linear-gradient(145deg,var(--glass-reflection),transparent 25%),var(--glass);box-shadow:inset 0 1px var(--glass-edge),0 24px 64px var(--shadow);backdrop-filter:blur(30px) saturate(175%);-webkit-backdrop-filter:blur(30px) saturate(175%)}.profile-avatar-editor{display:grid;justify-items:center;gap:10px}.profile-edit-avatar{display:grid;overflow:hidden;width:86px;height:86px;margin:0 auto;place-items:center;border:1px solid rgb(255 255 255 / 54%);border-radius:50%;color:var(--accent-text);background:radial-gradient(circle at 28% 16%,rgb(255 255 255 / 78%),transparent 36%),linear-gradient(145deg,#c9d6cf,#e0b96f);box-shadow:inset 0 2px 2px #fff9,0 12px 30px color-mix(in srgb,var(--shadow) 50%,transparent);font-size:30px;font-weight:800}.profile-edit-card .avatar-upload-button{display:flex;width:fit-content;min-height:42px;align-items:center;justify-content:center;padding:0 18px;border:1px solid color-mix(in srgb,var(--glass-edge) 72%,transparent);border-radius:999px;color:var(--accent-text);background:radial-gradient(ellipse 66% 90% at 22% 0%,rgb(255 255 255 / 62%),transparent 58%),linear-gradient(100deg,#e0a652d1,#ffe2aad1);box-shadow:inset 0 1px #ffffff8a,0 10px 24px color-mix(in srgb,var(--shadow) 42%,transparent);font-size:13px;font-weight:760}.profile-edit-card .avatar-upload-button input{display:none}.avatar-remove-button{min-height:34px;padding:0 12px;color:var(--danger);background:transparent;font-size:12px;font-weight:650}.profile-edit-card>p{margin:-7px auto 2px;max-width:310px;color:var(--text-muted);font-size:12px;line-height:1.45;text-align:center}.profile-edit-card label{display:grid;gap:8px;color:var(--text);font-size:13px;font-weight:650}.profile-edit-card input,.profile-edit-card textarea,.username-field{width:100%;border:1px solid var(--glass-edge);border-radius:16px;outline:none;color:var(--text);background:linear-gradient(145deg,var(--glass-reflection),transparent 34%),var(--field-bg);box-shadow:inset 0 1px var(--glass-highlight),inset 0 -1px color-mix(in srgb,var(--glass-edge) 32%,transparent)}.profile-edit-card input,.profile-edit-card textarea{padding:14px 15px;font:inherit}.profile-edit-card textarea{min-height:92px;resize:vertical}.username-field{display:flex;align-items:center;padding-left:15px;color:var(--text-muted)}.username-field input{border:0;background:transparent;box-shadow:none}.profile-edit-card input:focus,.profile-edit-card textarea:focus,.username-field:focus-within{border-color:var(--accent)}.overlay{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#000000ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet{width:min(100%,520px);padding:10px 18px calc(22px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:#1b1d1e;box-shadow:0 -20px 50px #00000059;touch-action:none;transform:translateZ(0);will-change:transform}.sheet-handle{width:42px;height:5px;margin:0 auto 20px;border-radius:99px;background:#4b4d4d}.sheet h2{margin:0 0 14px;font-size:25px}.sheet button{width:100%;color:#dedad3}.sheet button.selected{color:#f0c987}.sheet button.danger{color:#ef8f88}.sheet.compact button:last-child{margin-top:10px;border:0;border-radius:14px;justify-content:center;background:#27292a}.map-picker h2{margin-bottom:6px}.map-picker p{display:grid;gap:4px;margin:0 0 13px;color:var(--text-strong);font-size:15px;font-weight:720}.map-picker p span{color:var(--text-muted);font-size:12px;font-weight:520}.map-picker small{display:block;margin:-3px 0 13px;color:var(--text-muted);font-size:12px;font-weight:560;line-height:1.35}.map-picker button{justify-content:center}.toast{position:fixed;z-index:50;right:50%;bottom:calc(103px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 40px);transform:translate(50%);padding:12px 18px;border:1px solid #48433a;border-radius:999px;color:#f7e2bd;background:#1f2020f5;box-shadow:0 10px 30px #0006;font-size:14px}@media(max-width:390px){.app-shell{padding-right:10px;padding-bottom:calc(132px + env(safe-area-inset-bottom));padding-left:10px}.topbar{min-height:70px;padding-right:14px;padding-left:14px}.wordmark{width:128px;height:40px}.location{font-size:15px}.dish-photo{height:clamp(220px,34vh,270px);min-height:0}.restaurant-logo{width:44px;height:44px}.restaurant-copy strong{font-size:17px}.dish-meta{align-items:center;flex-direction:row}}@media(min-width:700px){body{background:var(--page-bg)}.app-shell{box-shadow:0 0 80px var(--shadow)}}.app-shell{color:var(--text);background:radial-gradient(ellipse 58% 30% at -4% 9%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 68%),radial-gradient(ellipse 72% 32% at 108% 47%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),radial-gradient(circle at 12% 14%,var(--page-glow),transparent 28%),radial-gradient(circle at 88% 62%,color-mix(in srgb,var(--page-glow) 72%,transparent),transparent 31%),var(--page-bg)}.wordmark,.dish-content h1,.page-heading h1,.profile-card h1,.sheet h2,.saved-card strong{color:var(--text-strong)}.location,.dish-description,.dish-meta,.saved-card span,.empty-state,.profile-card>p,.profile-stats span,.photo-upload span{color:var(--text-muted)}.profile-button,.more-button,.photo-counter,.photo-arrow,.map-button,.share-button,.saved-card button,.sheet.compact button:last-child{overflow:hidden;border:1px solid color-mix(in srgb,var(--glass-edge) 82%,transparent);background:radial-gradient(circle at 28% 12%,rgb(255 255 255 / 24%),transparent 38%),linear-gradient(145deg,rgb(255 255 255 / 12%),transparent 44%),var(--glass-soft);box-shadow:inset 0 2px 2px #ffffff57,inset 0 -2px 3px #00000024,inset 2px 0 2px #82dcff14,inset -2px 0 2px #ff9ecb12,0 8px 24px color-mix(in srgb,var(--shadow) 48%,transparent);backdrop-filter:blur(14px) saturate(170%) contrast(1.08);-webkit-backdrop-filter:blur(14px) saturate(170%) contrast(1.08)}.profile-button,.map-button,.share-button{color:var(--accent)}.profile-button.active{border-color:color-mix(in srgb,var(--accent) 62%,transparent);color:var(--accent);background:color-mix(in srgb,var(--glass-strong) 82%,var(--accent) 18%)}.dish-card,.profile-card,.settings-list,.saved-card{position:relative;isolation:isolate;overflow:hidden;border-color:var(--glass-border);background:linear-gradient(135deg,var(--glass-reflection),transparent 23%),linear-gradient(315deg,color-mix(in srgb,var(--glass-glow) 42%,transparent),transparent 28%),var(--glass);box-shadow:inset 0 1px 1px var(--glass-edge),inset 1px 0 var(--glass-highlight),inset 0 -1px color-mix(in srgb,var(--glass-edge) 42%,transparent),0 24px 64px var(--shadow);backdrop-filter:blur(34px) saturate(175%) brightness(1.06);-webkit-backdrop-filter:blur(34px) saturate(175%) brightness(1.06)}.dish-card:before,.profile-card:before,.settings-list:before,.bottom-nav:before,.sheet:before{position:absolute;z-index:0;top:-42%;left:-18%;width:82%;height:76%;border-radius:50%;background:radial-gradient(ellipse,var(--glass-reflection) 0,color-mix(in srgb,var(--glass-reflection) 45%,transparent) 34%,transparent 72%);filter:blur(8px);transform:rotate(-16deg);content:"";pointer-events:none}@media(max-width:340px){.saved-grid{grid-template-columns:1fr}.saved-card{aspect-ratio:1.35}}.dish-card:after,.profile-card:after,.settings-list:after,.saved-card:after{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;border:1px solid color-mix(in srgb,var(--glass-edge) 62%,transparent);border-radius:inherit;box-shadow:inset 1px 1px 0 var(--glass-highlight),inset -1px -1px color-mix(in srgb,var(--shadow) 18%,transparent);content:"";pointer-events:none}.dish-content{color:var(--text);background:linear-gradient(152deg,var(--glass-reflection),transparent 24%),linear-gradient(90deg,rgb(126 218 255 / 8%),transparent 18%,transparent 78%,rgb(255 150 196 / 7%)),radial-gradient(circle at 76% 8%,var(--glass-glow),transparent 36%),var(--glass-strong);box-shadow:inset 0 1px var(--glass-edge),inset 1px 0 #81d9ff1f,inset -1px 0 #ff97c61a,inset 0 -1px color-mix(in srgb,var(--shadow) 14%,transparent);backdrop-filter:blur(38px) saturate(175%) brightness(1.06);-webkit-backdrop-filter:blur(38px) saturate(175%) brightness(1.06)}.dish-content:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse 54% 22% at 28% 0%,var(--glass-reflection),transparent 72%),linear-gradient(180deg,rgb(255 255 255 / 8%),transparent 24%);content:"";pointer-events:none}.dish-content:after{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid color-mix(in srgb,var(--glass-edge) 76%,transparent);border-radius:inherit;box-shadow:inset 0 2px 2px color-mix(in srgb,var(--glass-edge) 58%,transparent),inset 0 -2px 3px color-mix(in srgb,var(--shadow) 18%,transparent),-1px 0 #7cdaff17,1px 0 #ff97c914;content:"";pointer-events:none}.price,.interest,.page-heading p,.empty-state>svg,.profile-stats b,.sheet button.selected,.nav-item--active{color:var(--accent)}.dish-meta,.profile-stats,.profile-stats span+span,.settings-list button+button,.sheet button+button{border-color:var(--divider)}.save-button,.primary-button,.empty-state button,.add-circle{position:relative;overflow:hidden;color:var(--accent-text);border:1px solid rgb(255 255 255 / 66%);background:radial-gradient(ellipse 66% 90% at 22% 0%,rgb(255 255 255 / 72%),transparent 58%),linear-gradient(105deg,rgb(255 255 255 / 26%),transparent 38%),linear-gradient(100deg,#e0a652e0,#ffe2aadb);box-shadow:inset 0 1px 2px #ffffffe0,inset 0 -1px #8955162e,0 12px 34px color-mix(in srgb,var(--accent) 34%,transparent);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%)}.save-button--saved{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 44%,transparent);background:var(--glass-soft)}.save-icon{color:#f6ce91;background:#17191a}.bottom-nav{isolation:isolate;overflow:visible;height:78px;width:min(calc(100% - 20px),500px);margin:0 auto;padding-bottom:0;border:1px solid color-mix(in srgb,var(--glass-edge) 88%,transparent);border-radius:30px;color:var(--text);background:radial-gradient(ellipse 42% 80% at 20% 0%,rgb(255 255 255 / 30%),transparent 62%),radial-gradient(ellipse 40% 90% at 83% 115%,color-mix(in srgb,var(--glass-glow) 46%,transparent),transparent 68%),linear-gradient(165deg,rgb(255 255 255 / 15%),transparent 42%),color-mix(in srgb,var(--nav-bg) 68%,rgb(255 255 255 / 18%));box-shadow:inset 0 2px 2px #ffffff70,inset 0 -3px 5px #00000024,inset 2px 0 3px #7edaff17,inset -2px 0 3px #ff97c914,0 14px 42px color-mix(in srgb,var(--shadow) 58%,transparent);backdrop-filter:blur(24px) saturate(155%) contrast(1.04);-webkit-backdrop-filter:blur(24px) saturate(155%) contrast(1.04)}.bottom-nav:after{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid rgb(255 255 255 / 16%);border-radius:inherit;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #00000014;content:"";pointer-events:none}.bottom-nav:before{display:none}.bottom-nav>*{z-index:1}.nav-item{color:var(--text-faint)}.nav-item:active{background:color-mix(in srgb,var(--glass-soft) 78%,transparent)}.nav-item--active{color:var(--accent)}.add-circle{color:var(--text-strong);border:1px solid rgb(255 255 255 / 62%);background:radial-gradient(circle at 32% 18%,rgb(255 255 255 / 62%),transparent 34%),radial-gradient(circle at 68% 82%,color-mix(in srgb,var(--glass-glow) 60%,transparent),transparent 48%),#ffffff21;box-shadow:inset 0 3px 3px #ffffff94,inset 0 -4px 5px #00000024,inset 3px 0 3px #7edaff1a,inset -3px 0 3px #ff97c917,0 10px 30px color-mix(in srgb,var(--shadow) 52%,transparent);backdrop-filter:blur(12px) saturate(190%) contrast(1.12);-webkit-backdrop-filter:blur(12px) saturate(190%) contrast(1.12)}.dish-form label:not(.photo-upload),.form-field>label,.sheet button{color:var(--text)}.dish-form input,.dish-form textarea,.photo-upload{border-color:var(--glass-edge);color:var(--text);background:linear-gradient(145deg,var(--glass-reflection),transparent 34%),var(--field-bg);box-shadow:inset 0 1px 1px var(--glass-highlight),inset 0 -1px color-mix(in srgb,var(--glass-edge) 32%,transparent);backdrop-filter:blur(26px) saturate(160%);-webkit-backdrop-filter:blur(26px) saturate(160%)}.dish-form input::placeholder,.dish-form textarea::placeholder{color:var(--text-faint)}.dish-form input:focus,.dish-form textarea:focus{border-color:var(--accent)}.photo-upload{border-style:dashed}.overlay{background:var(--overlay);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.sheet{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--glass-border);color:var(--text);background:linear-gradient(145deg,var(--glass-reflection),transparent 28%),var(--glass-strong);box-shadow:inset 0 1px var(--glass-edge),0 -20px 50px var(--shadow);backdrop-filter:blur(40px) saturate(185%) brightness(1.06);-webkit-backdrop-filter:blur(40px) saturate(185%) brightness(1.06)}.sheet-handle{background:color-mix(in srgb,var(--text-muted) 48%,transparent)}.sheet button.danger{color:var(--danger)}.toast{border-color:var(--glass-border);color:var(--text-strong);background:var(--glass-strong);box-shadow:inset 0 1px var(--glass-highlight),0 10px 30px var(--shadow);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}:root[data-theme=light] .restaurant-copy{text-shadow:0 2px 12px rgb(0 0 0 / 68%)}:root[data-theme=light] .dish-photo:after{background:linear-gradient(to bottom,rgb(0 0 0 / 62%) 0,transparent 30%,transparent 80%,rgb(255 248 238 / 10%) 100%)}:root[data-theme=light] .more-button,:root[data-theme=light] .photo-counter,:root[data-theme=light] .photo-arrow{color:#fff;background:#221f1b7a;border-color:#ffffff40}.location{border:1px solid color-mix(in srgb,var(--glass-edge) 82%,transparent);border-radius:999px;background:radial-gradient(circle at 28% 10%,rgb(255 255 255 / 28%),transparent 40%),linear-gradient(145deg,rgb(255 255 255 / 10%),transparent 48%),var(--glass-soft);box-shadow:inset 0 2px 2px #ffffff57,inset 0 -2px 3px #0000001a,0 6px 18px color-mix(in srgb,var(--shadow) 38%,transparent);backdrop-filter:blur(12px) saturate(180%) contrast(1.08);-webkit-backdrop-filter:blur(12px) saturate(180%) contrast(1.08);transition:background .18s ease,border-color .18s ease,transform .18s ease}@supports ((backdrop-filter: url(#liquid-glass-panel) blur(20px))){.dish-content,.bottom-nav,.dish-card,.profile-card,.settings-list,.saved-card,.sheet{backdrop-filter:url(#liquid-glass-panel) blur(30px) saturate(185%) brightness(1.08);-webkit-backdrop-filter:url(#liquid-glass-panel) blur(30px) saturate(185%) brightness(1.08)}.profile-button,.location,.more-button,.photo-counter,.photo-arrow,.map-button,.share-button,.save-button,.primary-button,.add-circle,.dish-form input,.dish-form textarea{backdrop-filter:url(#liquid-glass-control) blur(18px) saturate(190%) brightness(1.1);-webkit-backdrop-filter:url(#liquid-glass-control) blur(18px) saturate(190%) brightness(1.1)}}.location:active,.profile-button:active,.more-button:active,.map-button:active,.share-button:active,.save-button:active,.primary-button:active,.add-circle:active{transform:scale(.96)}.location:hover{border-color:var(--glass-edge);background:linear-gradient(145deg,var(--glass-reflection),transparent 48%),color-mix(in srgb,var(--glass-soft) 88%,transparent)}@media(prefers-reduced-motion:no-preference){.profile-button,.more-button,.map-button,.share-button,.save-button,.primary-button,.add-circle{transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background .22s ease}}
