:root{color-scheme:dark;--bg: #070a1a;--text: rgba(248, 250, 252, .96);--text-muted: rgba(248, 250, 252, .72);--border: rgba(248, 250, 252, .12);--border-strong: rgba(248, 250, 252, .18);--card: rgba(14, 18, 40, .62);--card-strong: rgba(14, 18, 40, .86);--shadow: 0 14px 50px rgba(0, 0, 0, .35);--radius-sm: 12px;--radius: 18px;--accent: #6366f1;--accent-2: #22c55e;--danger: #ef4444;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}:focus-visible{outline:3px solid rgba(99,102,241,.38);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:0ms!important;animation-duration:0ms!important}}.appShell{min-height:100dvh;padding:clamp(14px,3.2vw,24px);padding-bottom:calc(clamp(14px,3.2vw,24px) + env(safe-area-inset-bottom,0px));color:var(--text);background:radial-gradient(1200px 520px at 10% -10%,rgba(99,102,241,.46),transparent 62%),radial-gradient(1100px 520px at 100% 0%,rgba(236,72,153,.38),transparent 60%),radial-gradient(900px 520px at 30% 115%,rgba(34,197,94,.24),transparent 55%),radial-gradient(700px 420px at 70% 120%,rgba(245,158,11,.18),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.06),transparent 35%),var(--bg)}.container{width:min(980px,100%);margin:0 auto;min-width:0}.topBar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:24px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;font-size:18px}.brandLink{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.logoMark{width:28px;height:28px;border-radius:10px;background:radial-gradient(12px 12px at 25% 25%,rgba(255,255,255,.72),transparent 60%),conic-gradient(from 220deg,#6366f1fa,#ec4899f0,#22c55eeb);box-shadow:0 14px 30px #0000005c;border:1px solid rgba(255,255,255,.22)}.topBarMeta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pill{padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:#0e122885;font-size:12px;color:#f8fafcc7}.card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cardBody{padding:18px}.grid2{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:880px){.grid2{grid-template-columns:1.1fr .9fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#111827;color:var(--text);padding:10px 14px;font-weight:650;min-height:44px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease;font-size:16px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px);border-color:#f8fafc4d;background:#1e293b;box-shadow:0 18px 36px #0000004d}.btnPrimary{border-color:#818cf89e;background:linear-gradient(135deg,#4f46e5,#db2777)}.btnDanger{border-color:#f871719e;background:linear-gradient(135deg,#dc2626,#be185d)}.btnPrimary:hover:not(:disabled){background:linear-gradient(135deg,#6366f1,#ec4899)}.btnDanger:hover:not(:disabled){background:linear-gradient(135deg,#ef4444,#e11d48)}.btnSmall{min-height:34px;padding:6px 10px;font-size:13px}.btnGroup{display:flex;flex-wrap:wrap;gap:10px}.btnGroup>.btn,.btnGroup>a.btn{flex:0 0 auto}.voteControls{position:sticky;bottom:12px;padding:10px;border-radius:calc(var(--radius) + 2px);background:#080a1ae6;border:1px solid rgba(248,250,252,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(max-width:520px){.voteControls{bottom:calc(12px + env(safe-area-inset-bottom,0px))}.voteControls.btnGroup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.voteControls.btnGroup>.btn,.voteControls.btnGroup>a.btn{width:100%}}.field{display:grid;gap:6px}.multiSelectActions{display:flex;justify-content:flex-end;gap:8px}.dropdownMenu{position:relative}.dropdownTrigger{display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;gap:10px}.dropdownChevron{opacity:.8;font-size:12px}.dropdownPanel{position:relative;margin-top:8px;z-index:1;padding:10px;border-radius:var(--radius);border:1px solid var(--border-strong);background:#080a1afa;box-shadow:0 16px 36px #0006;display:grid;gap:10px;max-height:min(48vh,360px);overflow:auto;overscroll-behavior:contain}.multiSelectGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.multiSelectGridCompact{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:640px){.multiSelectGridCompact{grid-template-columns:repeat(2,minmax(0,1fr))}}.multiSelectOption{display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;min-height:42px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--card-strong);color:var(--text);font-size:14px;cursor:pointer}.multiSelectOption.isSelected{border-color:#6366f1ad;box-shadow:inset 0 0 0 1px #6366f16b}.multiSelectCheck{width:18px;height:18px;border-radius:4px;border:1px solid rgba(248,250,252,.4);display:inline-grid;place-items:center;font-size:12px;line-height:1}.multiSelectOption.isSelected .multiSelectCheck{border-color:#a5b4fceb;background:#6366f1eb;color:#fff}.fieldLabel{font-size:13px;color:#f8fafcdb;font-weight:650}.input,.select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--card-strong);color:var(--text);min-height:44px;font-size:16px}.input::placeholder{color:#f8fafc8f}.input:focus,.select:focus{outline:none;border-color:#6366f18c;box-shadow:0 0 0 3px #6366f12e}.muted{color:var(--text-muted)}.h1{font-size:clamp(24px,4.6vw,32px);letter-spacing:-.04em;margin:0 0 6px}.h2{font-size:clamp(16px,2.8vw,18px);letter-spacing:-.02em;margin:0 0 12px}.badgeRow{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#0e122885;font-size:12px;color:#f8fafcd1;max-width:100%;white-space:normal;word-break:break-word}.splitRow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.listItem{display:grid;gap:6px;padding:12px;border-radius:14px;border:1px solid var(--border);background:#0e122885}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.row>*{min-width:0}.rowLeft{display:flex;gap:10px;align-items:baseline;min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.divider{height:1px;background:#f8fafc1f;margin:14px 0}.restaurantHero{height:clamp(190px,42vw,260px)}.restaurantHeroButton{border:0;background:transparent;padding:0;width:100%;display:grid;cursor:pointer}.restaurantHeroHint{margin-top:-34px;justify-self:end;margin-right:12px;margin-bottom:8px;border-radius:999px;border:1px solid rgba(248,250,252,.3);padding:4px 10px;font-size:12px;color:#f8fafceb;background:#0f172ac7;pointer-events:none}.restaurantHeroButton:focus-visible .restaurantHero{outline:3px solid rgba(99,102,241,.45);outline-offset:-3px}.restaurantProfileCard{display:grid;grid-template-rows:auto auto}.restaurantProfileBody{overflow:visible;display:grid;gap:12px}.restaurantDescription{margin:0;color:#f8fafcdb;line-height:1.55}.restaurantSection{display:grid;gap:8px}.restaurantMetaLink{color:#c4e1fff0;text-decoration:underline;text-decoration-color:#c4e1ffa3;text-underline-offset:2px}.restaurantMetaLink:hover{text-decoration-color:#c4e1ffe6}.restaurantReviewList .listItem{font-size:14px}.restaurantPhotoRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.restaurantPhotoButton{padding:0;border:0;background:transparent;cursor:pointer}.restaurantPhoto{width:100%;aspect-ratio:4 / 3;border-radius:14px;border:1px solid rgba(248,250,252,.1);overflow:hidden;background:#ffffff0f}.restaurantPhoto img{width:100%;height:100%;object-fit:cover;display:block}.restaurantPhotoButton:focus-visible .restaurantPhoto{outline:3px solid rgba(99,102,241,.45);outline-offset:2px}.photoLightbox{position:fixed;inset:0;z-index:60;background:#020617e0;display:grid;place-items:center;padding:min(5vw,22px)}.photoLightboxContent{position:relative;width:min(980px,calc(100vw - 24px));max-height:calc(100dvh - 24px);display:grid;place-items:center}.photoLightboxContent img{max-width:100%;max-height:calc(100dvh - 76px);border-radius:14px;border:1px solid rgba(248,250,252,.2);object-fit:contain}.photoLightboxClose{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(248,250,252,.36);background:#0f172ad6;color:#fff;font-size:28px;line-height:1;padding:0;cursor:pointer}.photoLightboxNav{position:absolute;top:50%;transform:translateY(-50%)}.photoLightboxPrev{left:10px}.photoLightboxNext{right:10px}.photoLightboxCounter{position:absolute;bottom:8px;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:999px;border:1px solid rgba(248,250,252,.2);background:#0e1228b8;font-size:12px}.profileModalBackdrop{position:fixed;inset:0;z-index:50;background:#020617d1;padding:18px;display:grid;place-items:center}.profileModalPanel{width:min(880px,100%);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:14px;display:grid;gap:10px}.rankingRow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rankingLeft{display:flex;gap:12px;align-items:center;min-width:0;flex:1 1 auto}.rankingThumb{width:44px;height:44px;border-radius:14px;border:1px solid rgba(248,250,252,.12);overflow:hidden;background:#ffffff0f;flex:0 0 auto}.rankingThumb img{width:100%;height:100%;object-fit:cover;display:block}.swipeHint{font-size:12px;color:#f8fafcbd}.swipeSurface{border-radius:var(--radius)}@media(max-width:720px){.cardBody{padding:14px}.btnGroup{width:100%}.btnGroup>.btn,.btnGroup>a.btn{flex:1 1 auto;min-width:0}.rankingRow{align-items:flex-start}.row{align-items:stretch}}
