:root{color-scheme:light;--canvas: #f1f2ed;--surface: #fafaf6;--surface-strong: #e5e7df;--ink: #171916;--ink-soft: #575c54;--line: #c8ccc2;--accent: #b9df38;--accent-ink: #1a2308;--signal: #ee6b3b;--danger: #a93628;--focus: #3660e8;--shadow: 0 24px 70px rgba(35, 42, 29, .14);--radius-card: 22px;--radius-control: 12px;--radius-pill: 999px;--font-display: "Arial Narrow", "Avenir Next Condensed", "Helvetica Neue", sans-serif;--font-body: "Avenir Next", Avenir, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--canvas: #151815;--surface: #1e221e;--surface-strong: #2a3029;--ink: #f1f3ec;--ink-soft: #b6bdb1;--line: #41483f;--accent: #b9df38;--accent-ink: #172006;--signal: #ff7c4d;--danger: #ff8b7b;--focus: #8aa7ff;--shadow: 0 28px 80px rgba(0, 0, 0, .35)}}@media(prefers-reduced-motion:no-preference){.hero-copy{animation:rise-in .7s cubic-bezier(.16,1,.3,1) both}.hero-visual{animation:reveal-in .9s .1s cubic-bezier(.16,1,.3,1) both}.decision-stamp{animation:settle-in .8s .45s cubic-bezier(.16,1,.3,1) both}}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}}@keyframes reveal-in{0%{opacity:0;transform:scale(.965)}}@keyframes settle-in{0%{opacity:0;transform:rotate(-18deg) scale(.7)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;overflow-x:clip}body{margin:0;min-width:320px;overflow-x:clip;color:var(--ink);background:var(--canvas);font-family:var(--font-body)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-shell{min-height:100dvh;padding-bottom:max(24px,env(safe-area-inset-bottom))}.site-header{height:68px;display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:0 auto;padding:0 22px}.brand{text-decoration:none;font-family:var(--font-display);font-weight:900;font-stretch:condensed;font-size:1.4rem;letter-spacing:-.05em}.brand-mark{display:inline-block;width:13px;height:13px;margin-right:7px;border:4px solid var(--accent);border-radius:50%}.nav{display:flex;align-items:center;gap:20px}.nav a{color:var(--ink-soft);text-decoration:none;font-size:.84rem;font-weight:650}.nav a:hover{color:var(--ink)}.locale-switch{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface)}.locale-switch button{min-width:38px;min-height:30px;padding:0 8px;border:0;border-radius:var(--radius-pill);color:var(--ink-soft);background:transparent;font:800 .68rem/1 var(--font-mono)}.locale-switch button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent)}.mobile-dock{display:none}.demo-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid color-mix(in srgb,var(--accent) 70%,var(--ink));border-radius:var(--radius-pill);color:var(--ink);background:color-mix(in srgb,var(--accent) 22%,var(--surface));font:700 .68rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.055em}.home{max-width:1320px;margin:0 auto;padding:12px 22px 70px}.hero{min-height:calc(100dvh - 98px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);align-items:center;gap:clamp(32px,7vw,110px)}.hero-copy{position:relative;z-index:1}.hero-kicker{margin:0 0 18px;color:var(--ink-soft);font:700 .72rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.hero h1{max-width:720px;margin:0;font-family:var(--font-display);font-size:clamp(4.4rem,8.4vw,8.7rem);font-weight:950;font-stretch:condensed;line-height:.78;letter-spacing:-.085em}.hero h1 span{display:block;color:var(--signal);transform:translate(clamp(18px,5vw,70px))}.hero-lede{max-width:34ch;margin:30px 0 0;color:var(--ink-soft);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.5}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-action-note{margin:12px 0 0;color:var(--muted);font-size:.85rem}.context-summary{width:fit-content;margin:26px 0 0;padding:9px 13px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);background:var(--surface);font:750 .76rem/1 var(--font-mono)}.quick-states{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.quick-state{min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);background:transparent;font-size:.78rem;font-weight:800}.quick-state.selected{border-color:var(--accent-ink);color:var(--accent-ink);background:var(--accent)}.pick-meal-button{min-width:190px}.home-error{min-height:1.4em;margin:16px 0 0;color:var(--signal);font-size:.82rem}.primary-button,.secondary-button,.text-button{min-height:52px;border-radius:var(--radius-pill);padding:0 24px;font-weight:800;white-space:nowrap;transition:transform .2s ease,background .2s ease}.primary-button{border:1px solid var(--accent-ink);background:var(--accent);color:var(--accent-ink);box-shadow:0 8px color-mix(in srgb,var(--accent-ink) 22%,transparent)}.action-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;line-height:1;white-space:nowrap;text-decoration:none}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.text-button{min-height:42px;border:0;padding:0 6px;background:transparent;color:var(--ink-soft);text-decoration:underline;text-underline-offset:4px}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:active,.secondary-button:active{transform:translateY(1px) scale(.985)}.hero-visual{position:relative;align-self:stretch;min-height:630px}.hero-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:var(--radius-card);object-fit:cover;object-position:58% center;box-shadow:var(--shadow)}.decision-stamp{position:absolute;left:-34px;bottom:42px;width:170px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--surface);box-shadow:var(--shadow);text-align:center;transform:rotate(-8deg)}.decision-stamp strong{display:block;font:950 3.3rem/.8 var(--font-display);letter-spacing:-.07em}.decision-stamp small{display:block;max-width:11ch;margin-top:8px;color:var(--ink-soft);font:700 .62rem/1.25 var(--font-mono);text-transform:uppercase}.context-panel{max-width:920px;margin:80px auto 0;padding:clamp(24px,5vw,56px);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow)}.context-panel h2{margin:0 0 8px;font:900 clamp(2.4rem,5vw,4.8rem)/.9 var(--font-display);letter-spacing:-.06em}.context-panel>p{margin:0 0 34px;color:var(--ink-soft)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.field{display:grid;gap:7px}.field label{font-weight:750;font-size:.85rem}.field small{color:var(--ink-soft);line-height:1.35}.field input,.field textarea,.field select{width:100%;min-height:48px;padding:12px 14px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--canvas)}.field textarea{min-height:94px;resize:vertical}.span-two{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;margin-top:28px}details.advanced{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}details.advanced summary{cursor:pointer;font-weight:750}.sheet-backdrop{position:fixed;z-index:100;inset:0;display:grid;justify-items:end;background:color-mix(in srgb,var(--ink) 38%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profile-sheet{width:min(100%,560px);height:100%;overflow-y:auto;padding:clamp(24px,4vw,42px);color:var(--ink);background:var(--surface);box-shadow:-24px 0 70px color-mix(in srgb,var(--ink) 24%,transparent);animation:sheet-in .32s cubic-bezier(.2,.8,.2,1) both}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.sheet-header h2{margin:0;font:950 clamp(2.8rem,7vw,5rem)/.82 var(--font-display);letter-spacing:-.065em}.sheet-close{width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;font-size:1.8rem;line-height:1}.sheet-lede{margin:18px 0 28px;color:var(--ink-soft)}.allergen-fieldset{margin:24px 0;padding:0;border:0}.allergen-fieldset legend{margin-bottom:10px;font-size:.85rem;font-weight:750}.cuisine-fieldset p{margin:-3px 0 12px;color:var(--ink-soft);font-size:.72rem;line-height:1.4}.check-grid{display:flex;flex-wrap:wrap;gap:8px}.check-grid label{position:relative;cursor:pointer}.check-grid input{position:absolute;opacity:0;pointer-events:none}.check-grid span{display:grid;min-height:38px;place-items:center;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);font-size:.78rem;font-weight:750}.check-grid input:checked+span{border-color:var(--signal);color:var(--signal);background:color-mix(in srgb,var(--signal) 10%,var(--surface))}.check-grid input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.compact-form-grid{gap:16px}.sheet-actions{gap:10px}@keyframes sheet-in{0%{transform:translate(30px);opacity:0}}.page{max-width:1180px;margin:0 auto;padding:36px 22px 80px}.page-title{max-width:800px;margin:22px 0 12px;font:950 clamp(3.2rem,8vw,7.4rem)/.82 var(--font-display);letter-spacing:-.075em}.page-lede{max-width:52ch;color:var(--ink-soft);font-size:1.05rem;line-height:1.55}.error-state,.empty-state{max-width:620px;margin:12vh auto;padding:32px;border-radius:var(--radius-card);background:var(--surface);text-align:center}.elimination-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(34px,8vw,120px);align-items:start}.elimination-screen{min-height:calc(100dvh - 68px);display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);grid-template-rows:1fr auto auto;align-items:center;gap:16px clamp(34px,8vw,100px);padding-top:16px}.elimination-screen .page-title{margin-top:12px;font-size:clamp(3.4rem,7vw,6.7rem)}.elimination-screen .big-count{margin:34px 0 0}.animated-count{display:block;min-width:1.2em;font-variant-numeric:tabular-nums}.animated-count>span{display:block}.elimination-stack-wrap{width:min(100%,540px);justify-self:center}.stack-reason{min-height:1.5em;margin:0 0 20px;color:var(--signal);font-weight:850;text-align:center}.elimination-stack{position:relative;min-height:290px;margin:0;padding:0;list-style:none}.elimination-stack li{position:absolute;inset:34% auto auto 11%;width:min(78%,330px);min-height:92px;display:grid;place-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);text-align:center;font-weight:800}.elimination-stack li:nth-child(1){margin-top:-56px}.elimination-stack li:nth-child(2){margin-top:-18px}.elimination-stack li:nth-child(3){margin-top:20px}.elimination-stack .survivor-card{z-index:4;margin-top:62px;border-color:var(--accent-ink);background:var(--accent);color:var(--accent-ink)}.survivor-card strong{font:950 2.1rem/.9 var(--font-display)}.survivor-card span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.trace-progress{grid-column:1 / -1;height:4px;overflow:hidden;border-radius:4px;background:var(--line)}.trace-progress span{display:block;height:100%;background:var(--signal);transition:width .3s ease}.safe-area-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0 0}.safe-area-actions__primary,.safe-area-actions__secondary{display:flex;align-items:center;gap:10px}.big-count{margin:32px 0 12px;font:950 clamp(7rem,19vw,15rem)/.7 var(--font-display);letter-spacing:-.09em;color:var(--signal);font-variant-numeric:tabular-nums}.count-label{color:var(--ink-soft);font:700 .75rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.stage-list{margin:18px 0 0;padding:0;list-style:none}.stage-item{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);opacity:.32;transition:opacity .3s ease,transform .3s ease}.stage-item.visible{opacity:1}.stage-item.current{transform:translate(8px)}.stage-index{color:var(--ink-soft);font:700 .7rem/1 var(--font-mono)}.stage-name{font-weight:800}.stage-number{font:800 1.2rem/1 var(--font-mono)}.stage-reasons{grid-column:2 / -1;color:var(--ink-soft);font-size:.78rem}.winner{max-width:1320px;margin:0 auto;padding:10px 22px 80px}.winner-grid{min-height:calc(100dvh - 100px);display:grid;grid-template-columns:minmax(340px,1.08fr) minmax(330px,.92fr);gap:clamp(34px,6vw,90px);align-items:center}.winner-media{position:relative;height:min(76vh,780px);min-height:560px}.winner-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-card);box-shadow:var(--shadow)}.winner-copy h1{margin:14px 0 16px;font:950 clamp(3.5rem,7vw,7.3rem)/.8 var(--font-display);letter-spacing:-.075em}.restaurant-name{color:var(--signal);font-weight:800}.dish-description{max-width:48ch;color:var(--ink-soft);line-height:1.55}.nutrition{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.metric{padding:15px 0;border-top:1px solid var(--line)}.metric strong{display:block;font:850 1.25rem/1.1 var(--font-mono)}.metric span{display:block;margin-top:7px;color:var(--ink-soft);font-size:.72rem}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.chip{padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);font-size:.72rem}.winner-actions{display:flex;flex-wrap:wrap;gap:12px}.winner-evidence{margin:24px 0}.winner-evidence h2{margin:0 0 10px;font:900 1.1rem/1.1 var(--font-display)}.winner-evidence ol{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none}.winner-evidence li{min-height:92px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.winner-evidence li strong,.winner-evidence li span{display:block}.winner-evidence li strong{font-size:.78rem;line-height:1.25}.winner-evidence li span{margin-top:8px;color:var(--ink-soft);font-size:.68rem}.winner-action-block{margin-top:18px}.winner-details{margin-top:20px;color:var(--ink-soft);font-size:.78rem}.winner-details summary{cursor:pointer;color:var(--ink);font-weight:800}.nearby-controls{display:flex;align-items:end;gap:16px;margin-top:26px}.nearby-controls form{display:grid;gap:6px;flex:1;max-width:560px}.nearby-controls form label{font-size:.78rem;font-weight:800}.nearby-controls form>div{display:flex;gap:8px}.nearby-controls input{min-width:0;flex:1;min-height:52px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--surface)}.nearby-status{min-height:1.4em;color:var(--ink-soft)}.nearby-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:28px}.nearby-layout>section{min-width:0}.nearby-map{width:100%;height:min(52vh,520px);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.restaurant-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.restaurant-list li{display:grid;gap:12px;overflow:hidden;padding:10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.restaurant-list li:has(>img){grid-template-columns:92px 1fr}.restaurant-list li>img{width:92px;height:100%;min-height:110px;object-fit:cover;border-radius:calc(var(--radius-control) - 5px);background:var(--canvas)}.restaurant-copy{display:grid;align-content:center;gap:5px;min-width:0}.restaurant-copy strong,.restaurant-copy span{overflow:hidden;text-overflow:ellipsis}.restaurant-facts{display:flex;flex-wrap:wrap;gap:8px}.restaurant-copy small{color:var(--ink-soft);font-size:.66rem}.restaurant-list span,.restaurant-list a{color:var(--ink-soft);font-size:.78rem}.rejection-sheet{margin-top:20px;padding:22px;border-radius:var(--radius-card);background:var(--surface)}.reason-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.reason-grid button{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--canvas)}.orbit-grid{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,.8fr);align-items:center;gap:clamp(30px,8vw,120px);margin-top:40px}.orbit{width:min(100%,680px);overflow:visible}.orbit-ring{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:3 8}.orbit-node{stroke:var(--canvas);stroke-width:4}.orbit-label{fill:var(--ink);font:700 13px var(--font-body);text-anchor:middle}.orbit-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.orbit-stat{min-height:138px;padding:20px;border-radius:var(--radius-card);background:var(--surface)}.orbit-stat strong{display:block;font:950 2.7rem/.9 var(--font-display);letter-spacing:-.06em}.orbit-stat span{display:block;margin-top:12px;color:var(--ink-soft);font-size:.82rem}.orbit-heading-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.orbit-heading-row .page-title{max-width:700px}.orbit-range{display:inline-flex;flex:0 0 auto;padding:4px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface)}.orbit-range button{min-height:38px;padding:0 14px;border:0;border-radius:var(--radius-pill);color:var(--ink-soft);background:transparent;font:800 .72rem/1 var(--font-mono)}.orbit-range button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent)}.taste-orbit{max-width:780px;margin:20px auto 0}.orbit-stage{--orbit-angle: 0deg;position:relative;width:min(100%,590px);aspect-ratio:1;margin:0 auto;contain:layout paint}.radial-tracks,.orbit-node-layer{position:absolute;inset:0;width:100%;height:100%}.radial-tracks{overflow:visible;pointer-events:none}.radial-tracks circle{fill:none;stroke:var(--line);stroke-width:.22;stroke-dasharray:1.2 2.2;vector-effect:non-scaling-stroke}.orbit-node-layer{transform:rotate(var(--orbit-angle));transform-origin:50% 50%;will-change:transform}.radial-node-position{position:absolute;transform:translate(-50%,-50%)}.orbit-signal{display:grid;place-items:center;transform:scale(1);border:3px solid var(--canvas);border-radius:50%;color:#fff;background:var(--signal);box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 24%,transparent);transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .45s ease}.orbit-signal span{transform:rotate(calc(-1 * var(--orbit-angle)));font:850 .72rem/1 var(--font-mono);text-transform:uppercase;will-change:transform}.orbit-stage.has-focus .orbit-signal:not(.is-selected){transform:scale(.88);opacity:.42!important}.orbit-signal.is-selected{transform:scale(1.16)}.orbit-you{position:absolute;z-index:3;left:50%;top:50%;width:78px;height:78px;transform:translate(-50%,-50%);border:0;border-radius:50%;color:var(--accent-ink);background:var(--accent);box-shadow:0 0 0 14px color-mix(in srgb,var(--accent) 12%,transparent);font:900 .75rem/1 var(--font-mono)}.orbit-detail{min-height:82px;display:grid;gap:6px;margin-top:-12px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.orbit-detail strong{color:var(--signal);text-transform:uppercase}.orbit-detail span,.orbit-detail small{color:var(--ink-soft)}.orbit-empty{max-width:620px;margin:70px auto;padding:30px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);text-align:center}.privacy-page{overflow:hidden}.privacy-promise{max-width:62ch}.privacy-restaurant-boundary{max-width:920px;margin-top:28px;padding:22px;border-left:4px solid var(--accent);background:var(--surface)}.privacy-restaurant-boundary h2{margin:0 0 8px;font-size:1rem}.privacy-restaurant-boundary p{margin:7px 0;color:var(--ink-soft);line-height:1.5}.privacy-explorer{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);gap:18px;margin-top:40px}.privacy-map,.privacy-detail,.privacy-controls,.privacy-log{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.privacy-map{position:relative;width:100%;min-height:0;aspect-ratio:1;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 30%,var(--surface)) 0 15%,transparent 15.5%),var(--surface)}.privacy-map .radial-tracks{z-index:1}.privacy-connectors{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.privacy-connectors line{stroke:var(--signal);stroke-width:.7;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:x2 .65s cubic-bezier(.16,1,.3,1),y2 .65s cubic-bezier(.16,1,.3,1)}.privacy-connectors line.is-outbound{stroke-dasharray:2 2}.privacy-device{position:absolute;z-index:3;left:50%;top:50%;width:116px;height:116px;display:grid;place-items:center;padding:16px;border-radius:50%;transform:translate(-50%,-50%);color:var(--accent-ink);background:var(--accent);box-shadow:0 0 0 16px color-mix(in srgb,var(--accent) 16%,transparent);font:900 .72rem/1.15 var(--font-mono);text-align:center}.privacy-category-list{position:absolute;z-index:4;inset:0}.privacy-node-position{position:absolute;transform:translate(-50%,-50%)}.privacy-category-list button{min-height:42px;max-width:170px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);background:var(--canvas);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 8%,transparent);font-size:.72rem;font-weight:850;transition:color .65s cubic-bezier(.16,1,.3,1),background .65s cubic-bezier(.16,1,.3,1),border-color .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1),opacity .45s ease}.privacy-category-list button:hover{transform:scale(1.04)}.privacy-category-list button.is-selected{border-color:var(--signal);color:#fff;background:var(--signal);transform:scale(1.08)}.privacy-category-list:has(button.is-selected) button:not(.is-selected){opacity:.58}.privacy-receiver{position:absolute;z-index:5;max-width:112px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-pill);transform:translate(-100%,-50%);color:var(--signal);background:var(--surface);font:800 .62rem/1 var(--font-mono);white-space:nowrap}.privacy-detail{padding:clamp(24px,4vw,38px);animation:privacy-detail-in .65s cubic-bezier(.16,1,.3,1) both}.privacy-detail h2,.privacy-log h2{margin:0;font:950 clamp(2rem,4vw,3.6rem)/.88 var(--font-display);letter-spacing:-.055em}.privacy-detail dl{display:grid;gap:0;margin:30px 0 0}.privacy-detail dl div{padding:17px 0;border-top:1px solid var(--line)}.privacy-detail dt{color:var(--ink-soft);font:750 .67rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.privacy-detail dd{margin:9px 0 0;line-height:1.45}.privacy-controls{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:20px;margin-top:18px;padding:22px}.privacy-toggle{display:flex;align-items:center;gap:12px;font-weight:850}.privacy-toggle input{width:22px;height:22px;accent-color:var(--signal)}.privacy-sync{padding:16px 18px;border-left:1px solid var(--line)}.privacy-sync strong{font-size:.9rem}.privacy-sync p{margin:6px 0 12px;color:var(--ink-soft);font-size:.76rem}.privacy-sync button{min-height:32px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);background:transparent}.privacy-controls [role=status]{grid-column:1 / -1;min-height:1em;margin:0;color:var(--signal)}.privacy-log{margin-top:18px;padding:clamp(22px,4vw,36px)}.privacy-log h2{font-size:clamp(1.9rem,3vw,2.8rem)}.privacy-log>p{color:var(--ink-soft)}.privacy-log ol{margin:20px 0 0;padding:0;list-style:none}.privacy-log li{display:grid;grid-template-columns:minmax(150px,.7fr) 1fr 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.privacy-log time,.privacy-log span{color:var(--ink-soft);font-size:.78rem}.privacy-dialog-backdrop{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--ink) 45%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.privacy-dialog{width:min(100%,520px);padding:30px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);animation:privacy-detail-in .28s cubic-bezier(.16,1,.3,1) both}.privacy-dialog h2{margin:0;font:950 2.4rem/.9 var(--font-display);letter-spacing:-.05em}.privacy-dialog p{color:var(--ink-soft);line-height:1.5}.privacy-dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.location-consent{position:relative;overflow:hidden}.location-consent:before{content:"";position:absolute;width:220px;height:220px;right:-90px;top:-100px;border:1px dashed var(--signal);border-radius:50%}.location-consent .hero-kicker{color:var(--signal)}.location-consent dl{margin:24px 0 0}.location-consent dl div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.location-consent dt{color:var(--ink-soft);font:750 .68rem/1.2 var(--font-mono);text-transform:uppercase}.location-consent dd{margin:0;font-size:.85rem;line-height:1.35}.location-consent .location-consent-actions{display:flex}.location-recovery{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.location-recovery p{flex-basis:100%;margin:0;color:var(--signal)}.offline-demo-link{display:inline-flex;align-items:center;margin-top:16px}.choose-place-button{display:inline-flex;align-items:center;margin-top:14px}.choose-place-button:disabled,.offline-demo-link[aria-disabled=true]{cursor:not-allowed;opacity:.45}.restaurant-filter-visual{position:relative;width:min(100%,480px);aspect-ratio:1;display:grid;place-items:center;justify-self:center}.restaurant-filter-visual span{position:absolute;border:1px dashed var(--line);border-radius:50%;animation:restaurant-pulse 2.4s ease-in-out infinite}.restaurant-filter-visual span:nth-child(1){inset:6%}.restaurant-filter-visual span:nth-child(2){inset:20%;animation-delay:-.5s}.restaurant-filter-visual span:nth-child(3){inset:34%;animation-delay:-1s}.restaurant-filter-visual strong{width:116px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:var(--accent-ink);background:var(--accent);font:950 3rem/1 var(--font-display)}.restaurant-result-card{width:min(100%,820px);margin:6vh auto;padding:clamp(28px,7vw,80px);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow)}.restaurant-result-card h1{margin:10px 0;font:950 clamp(4rem,10vw,8.5rem)/.78 var(--font-display);letter-spacing:-.075em}.restaurant-source,.restaurant-category,.active-only-note{color:var(--ink-soft)}.restaurant-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.restaurant-fact-grid div{padding:16px 0;border-top:1px solid var(--line)}.restaurant-fact-grid strong,.restaurant-fact-grid span{display:block}.restaurant-fact-grid span{margin-top:8px;color:var(--ink-soft);font-size:.72rem}.restaurant-evidence ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.restaurant-evidence li{padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);font-size:.78rem}.landmark-dialog{position:fixed;z-index:150;inset:0;overflow:hidden;color:var(--ink);background:var(--canvas);isolation:isolate}.landmark-map{position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 74%,var(--accent)),var(--canvas))}.landmark-topbar{position:absolute;z-index:4;top:max(16px,env(safe-area-inset-top));left:50%;width:min(calc(100% - 28px),680px);display:flex;gap:10px;transform:translate(-50%)}.landmark-search{min-width:0;min-height:54px;display:flex;flex:1;align-items:center;gap:10px;padding:0 18px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.landmark-search>span{color:var(--ink-soft);font-size:1.25rem}.landmark-search input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);background:transparent}.landmark-search input::placeholder{color:var(--ink-soft)}.landmark-close{width:54px;height:54px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:1.8rem}.landmark-results{position:absolute;z-index:4;top:calc(max(16px,env(safe-area-inset-top)) + 64px);left:50%;width:min(calc(100% - 28px),616px);max-height:min(38dvh,340px);margin:0;padding:6px;overflow-y:auto;border:1px solid var(--line);border-radius:22px;transform:translate(calc(-50% - 32px));background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);list-style:none}.landmark-results button{width:100%;display:grid;gap:4px;padding:13px 14px;border:0;border-radius:16px;color:var(--ink);background:transparent;text-align:left}.landmark-results button:hover,.landmark-results button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 24%,var(--surface))}.landmark-results strong,.landmark-results span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landmark-results span{color:var(--ink-soft);font-size:.74rem}.landmark-confirmation{position:absolute;z-index:3;left:50%;bottom:max(16px,env(safe-area-inset-bottom));width:min(calc(100% - 28px),620px);padding:14px 22px 22px;border:1px solid var(--line);border-radius:28px;transform:translate(-50%);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 22px 70px color-mix(in srgb,var(--ink) 26%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:landmark-sheet-up .3s cubic-bezier(.16,1,.3,1) both}.landmark-handle{width:42px;height:4px;margin:0 auto 14px;border-radius:4px;background:var(--line)}.landmark-confirmation .hero-kicker{margin:0 0 7px}.landmark-confirmation h3{margin:0;font:950 clamp(2rem,7vw,3.6rem)/.9 var(--font-display);letter-spacing:-.055em}.landmark-address{min-height:1.2em;margin:9px 0 0;color:var(--ink-soft);font-size:.82rem}.landmark-radius-note{margin:18px 0 12px;color:var(--ink-soft);font-size:.78rem}.landmark-confirm{width:100%}.landmark-confirm:disabled{cursor:not-allowed;filter:saturate(.2);opacity:.48;box-shadow:none}.landmark-search-error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border-radius:var(--radius-control);color:var(--signal);background:color-mix(in srgb,var(--signal) 8%,var(--surface));font-size:.76rem}.landmark-search-error button{border:0;color:var(--signal);background:transparent;font-weight:850;text-decoration:underline}.landmark-suggestion-error{position:absolute;z-index:5;top:calc(max(16px,env(safe-area-inset-top)) + 68px);left:50%;width:max-content;max-width:calc(100% - 32px);margin:0;transform:translate(-50%);background:color-mix(in srgb,var(--signal) 8%,var(--surface) 96%);box-shadow:var(--shadow);pointer-events:none}.landmark-error{position:absolute;z-index:6;inset:50% auto auto 50%;width:min(calc(100% - 32px),430px);padding:26px;border-radius:var(--radius-card);transform:translate(-50%,-50%);background:var(--surface);box-shadow:var(--shadow);text-align:center}.landmark-error p{margin:0 0 20px}.landmark-error div{display:flex;justify-content:center;gap:10px}.landmark-map-status,.landmark-search-status{position:absolute;z-index:5;left:50%;padding:8px 12px;border-radius:var(--radius-pill);transform:translate(-50%);color:var(--ink-soft);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow);font-size:.74rem;pointer-events:none}.landmark-map-status{top:50%}.landmark-search-status{top:calc(max(16px,env(safe-area-inset-top)) + 72px)}@keyframes landmark-sheet-up{0%{transform:translate(-50%,22px);opacity:0}}@keyframes restaurant-pulse{50%{transform:scale(1.035);opacity:.55}}@keyframes privacy-detail-in{0%{transform:translateY(12px);opacity:0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:767px){.site-header{height:60px;padding:0 16px}.nav a:not(:last-child){display:none}.app-shell{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mobile-dock{position:fixed;z-index:20;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);min-height:56px;padding:5px;border:1px solid var(--line);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-dock a{display:grid;place-items:center;border-radius:var(--radius-pill);color:var(--ink-soft);font-size:.76rem;font-weight:800;text-decoration:none}.mobile-dock a:hover,.mobile-dock a:focus-visible{color:var(--accent-ink);background:var(--accent)}.landmark-results{transform:translate(-50%)}.home,.page,.winner{padding-left:16px;padding-right:16px}.hero{min-height:auto;grid-template-columns:1fr;gap:26px;padding-top:22px}.one-tap-home{padding-bottom:0}.one-tap-hero{min-height:calc(100dvh - 148px - env(safe-area-inset-bottom));grid-template-rows:auto minmax(170px,.58fr);align-content:center;gap:18px;padding-top:8px}.one-tap-hero .hero-copy{display:flex;flex-direction:column;justify-content:center}.one-tap-hero h1{font-size:clamp(3.6rem,18vw,5.3rem)}.one-tap-hero .hero-lede{margin-top:15px;font-size:.9rem}.one-tap-hero .context-summary{margin-top:17px}.one-tap-hero .quick-states{margin-top:15px}.one-tap-actions{margin-top:17px}.one-tap-actions .primary-button{flex:1 1 180px}.one-tap-actions .secondary-button{flex:0 0 auto}.hero h1{font-size:clamp(4.2rem,21vw,6.4rem)}.hero h1 span{transform:translate(18px)}.hero-lede{margin-top:22px}.hero-visual{min-height:390px}.one-tap-visual{min-height:170px;max-height:240px}.one-tap-visual .hero-photo{object-position:center 56%}.one-tap-visual .decision-stamp{width:96px;bottom:-8px}.one-tap-visual .decision-stamp strong{font-size:1.7rem}.decision-stamp{width:122px;left:auto;right:-5px;bottom:-20px}.decision-stamp strong{font-size:2.5rem}.context-panel{margin-top:70px;padding:24px 18px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.elimination-layout,.winner-grid,.orbit-grid{grid-template-columns:1fr}.elimination-screen{min-height:calc(100dvh - 148px - env(safe-area-inset-bottom));grid-template-columns:1fr;grid-template-rows:auto 1fr auto;align-content:start;gap:4px;padding-top:4px;padding-bottom:170px}.elimination-screen .page-title{margin:3px 0 0;font-size:clamp(2.6rem,14vw,4rem)}.elimination-screen .big-count{margin:12px 0 0;font-size:clamp(5rem,25vw,8rem)}.elimination-stack-wrap{align-self:start}.stack-reason{margin-bottom:2px;font-size:.88rem}.elimination-stack{min-height:210px}.elimination-stack li{min-height:66px;padding:10px;font-size:.78rem}.elimination-stack li:nth-child(1){margin-top:-44px}.elimination-stack li:nth-child(2){margin-top:-17px}.elimination-stack li:nth-child(3){margin-top:10px}.elimination-stack .survivor-card{margin-top:39px}.trace-progress{position:fixed;z-index:29;left:18px;right:18px;bottom:calc(152px + env(safe-area-inset-bottom))}.safe-area-actions{position:fixed;z-index:30;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));min-height:72px;padding:10px 12px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.safe-area-actions__primary{flex:1}.safe-area-actions__primary>button{width:100%}.safe-area-actions__secondary{gap:4px}.safe-area-actions__secondary .text-button{min-height:36px;font-size:.68rem}.elimination-layout{gap:26px}.big-count{margin-top:10px}.winner-grid{padding-top:16px}.winner-media{min-height:420px;height:52vh}.winner-copy h1{font-size:clamp(3.8rem,18vw,6rem)}.winner-evidence ol{grid-template-columns:1fr}.winner-evidence li{min-height:64px}.nearby-controls,.nearby-controls form>div{align-items:stretch;flex-direction:column}.nearby-layout{grid-template-columns:1fr}.nearby-map{height:42vh}.nutrition{gap:7px}.metric strong{font-size:.98rem}.orbit-grid{margin-top:12px}.orbit-page{padding-top:18px}.orbit-heading-row{align-items:flex-start}.orbit-heading-row .page-title{margin-top:8px;font-size:clamp(2.7rem,13vw,4rem)}.orbit-range{margin-top:4px}.orbit-range button{min-width:52px;padding:0 8px}.taste-orbit{margin-top:8px}.orbit-stage{width:min(100%,390px)}.orbit-detail{min-height:70px;margin-top:-4px}.privacy-page .page-title{font-size:clamp(3.2rem,16vw,5rem)}.privacy-explorer{grid-template-columns:1fr;margin-top:26px}.privacy-map{min-height:0}.privacy-device{width:92px;height:92px}.privacy-category-list button{max-width:132px;min-height:36px;padding:5px 10px;font-size:.63rem}.privacy-receiver{max-width:92px;padding:6px 8px;font-size:.54rem}.privacy-controls{grid-template-columns:1fr;align-items:stretch}.privacy-sync{border-left:0;border-top:1px solid var(--line)}.privacy-log li{grid-template-columns:1fr;gap:6px}.sheet-backdrop{align-items:end}.profile-sheet{width:100%;height:min(88dvh,760px);border-radius:26px 26px 0 0;padding:26px 18px calc(24px + env(safe-area-inset-bottom));animation-name:sheet-up}@keyframes sheet-up{0%{transform:translateY(28px);opacity:0}}}@media(prefers-reduced-motion:reduce){.profile-sheet,.privacy-detail,.privacy-dialog,.landmark-confirmation{animation:none}.privacy-connectors line,.privacy-category-list button{transition:none}}
