/* BEGIN GENERATED COLORS — scripts/generate-colors.py */
:root{
  --color-black:#000000;
  --color-white:#FFFFFF;
  --color-brand-primary-50:#FEF2F2;
  --color-brand-primary-100:#FFE2E0;
  --color-brand-primary-200:#FFCAC7;
  --color-brand-primary-300:#FFA39D;
  --color-brand-primary-400:#FF6660;
  --color-brand-primary-500:#F52320;
  --color-brand-primary-600:#E80000;
  --color-brand-primary-700:#C20000;
  --color-brand-primary-800:#9F0C0A;
  --color-brand-primary-900:#821916;
  --color-brand-primary-950:#460907;
  --color-neutral-50:#F7F6F6;
  --color-neutral-100:#EDECEC;
  --color-neutral-200:#DBDADA;
  --color-neutral-300:#C3C2C2;
  --color-neutral-400:#A5A4A4;
  --color-neutral-500:#888787;
  --color-neutral-600:#6E6D6D;
  --color-neutral-700:#565555;
  --color-neutral-800:#3F3E3E;
  --color-neutral-900:#282727;
  --color-neutral-950:#141414;
  --color-red-50:#FEF2F2;
  --color-red-100:#FFE2E0;
  --color-red-200:#FFCAC7;
  --color-red-300:#FFA39D;
  --color-red-400:#FF6660;
  --color-red-500:#F52320;
  --color-red-600:#E80000;
  --color-red-700:#C20000;
  --color-red-800:#9F0C0A;
  --color-red-900:#821916;
  --color-red-950:#460907;
  --color-amber-50:#FFFBED;
  --color-amber-100:#FDF3CD;
  --color-amber-200:#FCE697;
  --color-amber-300:#FBD35C;
  --color-amber-400:#F8BC2C;
  --color-amber-500:#F5A524;
  --color-amber-600:#D7791D;
  --color-amber-700:#B0561B;
  --color-amber-800:#8E431B;
  --color-amber-900:#74381B;
  --color-amber-950:#421D0A;
  --color-green-50:#EFFCF5;
  --color-green-100:#DAF9E7;
  --color-green-200:#B8F1D2;
  --color-green-300:#86E6B6;
  --color-green-400:#4FD192;
  --color-green-500:#39BA7B;
  --color-green-600:#30A46C;
  --color-green-700:#237952;
  --color-green-800:#1F5F43;
  --color-green-900:#1C4E39;
  --color-green-950:#0C2B20;
  --color-blue-50:#F0F4FC;
  --color-blue-100:#DFE9FA;
  --color-blue-200:#C5D8F7;
  --color-blue-300:#9EBFF4;
  --color-blue-400:#6F9BEF;
  --color-blue-500:#507BE8;
  --color-blue-600:#3E63DD;
  --color-blue-700:#324DC4;
  --color-blue-800:#2B409D;
  --color-blue-900:#293A7B;
  --color-blue-950:#1B2349;
  --color-orange-50:#FFF7EE;
  --color-orange-100:#FEEDD8;
  --color-orange-200:#FCD7AF;
  --color-orange-300:#FDB979;
  --color-orange-400:#FA8D38;
  --color-orange-500:#F76B15;
  --color-orange-600:#EB550C;
  --color-orange-700:#C14012;
  --color-orange-800:#993518;
  --color-orange-900:#792F19;
  --color-orange-950:#41160B;
  --color-yellow-50:#FBFCEB;
  --color-yellow-100:#F7FACC;
  --color-yellow-200:#F2F39B;
  --color-yellow-300:#ECE65B;
  --color-yellow-400:#E5D115;
  --color-yellow-500:#D9BC00;
  --color-yellow-600:#BA9100;
  --color-yellow-700:#946900;
  --color-yellow-800:#7A5300;
  --color-yellow-900:#67450D;
  --color-yellow-950:#3B2403;
  --color-cyan-50:#F1FDFA;
  --color-cyan-100:#D0FAF0;
  --color-cyan-200:#A1F4E2;
  --color-cyan-300:#65E9D1;
  --color-cyan-400:#26D2BA;
  --color-cyan-500:#16B8A4;
  --color-cyan-600:#12A594;
  --color-cyan-700:#15766C;
  --color-cyan-800:#155E58;
  --color-cyan-900:#194E49;
  --color-cyan-950:#0A2E2D;
  --color-purple-50:#F9F6FC;
  --color-purple-100:#F2EAF8;
  --color-purple-200:#E7D8F3;
  --color-purple-300:#D6B9EC;
  --color-purple-400:#BB8BE1;
  --color-purple-500:#A468D7;
  --color-purple-600:#8E4EC6;
  --color-purple-700:#7A40AD;
  --color-purple-800:#67378C;
  --color-purple-900:#542E6F;
  --color-purple-950:#381B50;
  --color-pink-50:#FBF3F9;
  --color-pink-100:#F8E8F5;
  --color-pink-200:#F4D2ED;
  --color-pink-300:#F0ADDF;
  --color-pink-400:#E876C8;
  --color-pink-500:#E052B2;
  --color-pink-600:#D6409F;
  --color-pink-700:#B32977;
  --color-pink-800:#932562;
  --color-pink-900:#792453;
  --color-pink-950:#4A1130;
  --color-layer-page:var(--color-neutral-50);
  --color-layer-layer:var(--color-neutral-100);
  --color-layer-overlay:color-mix(in srgb,var(--color-black) 60%,transparent);
  --color-layer-island:var(--color-white);
  --color-content-primary:var(--color-neutral-900);
  --color-content-secondary:var(--color-neutral-500);
  --color-content-tertiary:var(--color-neutral-400);
  --color-content-action-primary:var(--color-brand-primary-700);
  --color-content-action-secondary:var(--color-brand-primary-500);
  --color-content-danger-primary:var(--color-red-700);
  --color-content-danger-secondary:var(--color-red-500);
  --color-content-warning-primary:var(--color-amber-800);
  --color-content-warning-secondary:var(--color-amber-600);
  --color-content-positive-primary:var(--color-green-700);
  --color-content-positive-secondary:var(--color-green-600);
  --color-content-primary-inverted:var(--color-white);
  --color-content-secondary-inverted:var(--color-neutral-300);
  --color-content-action-primary-inverted:var(--color-brand-primary-200);
  --color-content-white:var(--color-white);
  --color-content-black:var(--color-black);
  --color-content-active-action-primary:var(--color-brand-primary-800);
  --color-content-active-action-primary-inverted:var(--color-brand-primary-100);
  --color-bg-neutral-primary:var(--color-white);
  --color-bg-neutral-secondary:var(--color-neutral-100);
  --color-bg-neutral-secondary-dark:var(--color-neutral-200);
  --color-bg-action-primary:var(--color-brand-primary-500);
  --color-bg-action-secondary:var(--color-brand-primary-50);
  --color-bg-danger-primary:var(--color-red-600);
  --color-bg-danger-secondary:var(--color-red-50);
  --color-bg-warning-primary:var(--color-amber-500);
  --color-bg-warning-secondary:var(--color-amber-50);
  --color-bg-positive-primary:var(--color-green-600);
  --color-bg-positive-secondary:var(--color-green-50);
  --color-bg-white:var(--color-white);
  --color-bg-black:var(--color-black);
  --color-bg-active-neutral-primary:var(--color-neutral-50);
  --color-bg-active-neutral-secondary:var(--color-neutral-200);
  --color-bg-active-neutral-secondary-dark:var(--color-neutral-300);
  --color-bg-active-action-primary:var(--color-brand-primary-600);
  --color-bg-active-action-secondary:var(--color-brand-primary-100);
  --color-bg-active-danger-primary:var(--color-red-700);
  --color-bg-active-danger-secondary:var(--color-red-100);
  --color-bg-active-warning-primary:var(--color-amber-600);
  --color-bg-active-warning-secondary:var(--color-amber-100);
  --color-bg-active-positive-primary:var(--color-green-700);
  --color-bg-active-positive-secondary:var(--color-green-100);
  --color-border-neutral-primary:var(--color-neutral-300);
  --color-border-neutral-secondary:var(--color-neutral-200);
  --color-border-separator:var(--color-neutral-100);
  --color-border-separator-inverted:var(--color-neutral-700);
  --color-border-action-primary:var(--color-brand-primary-500);
  --color-border-action-secondary:var(--color-brand-primary-200);
  --color-border-danger-primary:var(--color-red-500);
  --color-border-danger-secondary:var(--color-red-200);
  --color-border-warning-primary:var(--color-amber-500);
  --color-border-warning-secondary:var(--color-amber-200);
  --color-border-positive-primary:var(--color-green-500);
  --color-border-positive-secondary:var(--color-green-200);
  --color-border-white:var(--color-white);
  --color-border-black:var(--color-black);
  --color-border-active-neutral-primary:var(--color-neutral-400);
  --color-border-active-neutral-secondary:var(--color-neutral-300);
  --color-border-active-action-primary:var(--color-brand-primary-600);
  --color-border-active-danger-primary:var(--color-red-600);
  --color-shadow-card:color-mix(in srgb,var(--color-black) 8.235%,transparent);
  --color-shadow-subtle:color-mix(in srgb,var(--color-black) 3.137%,transparent);
  --color-shadow-floating:color-mix(in srgb,var(--color-black) 12.549%,transparent);
  --color-shadow-input-focus:color-mix(in srgb,var(--color-neutral-950) 8%,transparent);
  --color-joystick-gradient-start:#FF3028;
  --color-joystick-gradient-center:var(--color-brand-primary-500);
  --color-joystick-gradient-end:#E81720;
  --color-joystick-label:var(--color-yellow-300);
  --color-joystick-label-active:var(--color-white);
  --color-progress-track:var(--color-neutral-100);
  --color-progress-fill:var(--color-brand-primary-500);
  --color-wordmark-muted:var(--color-neutral-300);
}
/* END GENERATED COLORS */
/* BEGIN GENERATED TYPOGRAPHY */
:root{
  --font-body:"Geist",sans-serif;
  --font-joystick:"Geist Mono",monospace;
  --type-body-m-regular:400 16px/24px var(--font-body);
  --type-body-m-emphasis:500 16px/24px var(--font-body);
  --type-body-m-compact-regular:400 16px/20px var(--font-body);
  --type-body-m-compact-emphasis:500 16px/20px var(--font-body);
  --type-body-s-regular:400 14px/20px var(--font-body);
  --type-body-s-emphasis:500 14px/20px var(--font-body);
  --type-body-s-compact-regular:400 14px/18px var(--font-body);
  --type-body-s-compact-emphasis:500 14px/18px var(--font-body);
  --type-joystick:400 13px/20px var(--font-joystick);
  --type-joystick-tracking:0.9px;
  --type-joystick-transform:uppercase;
}
.type-body-m-regular{font:var(--type-body-m-regular);letter-spacing:normal}
.type-body-m-emphasis{font:var(--type-body-m-emphasis);letter-spacing:normal}
.type-body-m-compact-regular{font:var(--type-body-m-compact-regular);letter-spacing:normal}
.type-body-m-compact-emphasis{font:var(--type-body-m-compact-emphasis);letter-spacing:normal}
.type-body-s-regular{font:var(--type-body-s-regular);letter-spacing:normal}
.type-body-s-emphasis{font:var(--type-body-s-emphasis);letter-spacing:normal}
.type-body-s-compact-regular{font:var(--type-body-s-compact-regular);letter-spacing:normal}
.type-body-s-compact-emphasis{font:var(--type-body-s-compact-emphasis);letter-spacing:normal}
.type-joystick{font:var(--type-joystick);letter-spacing:var(--type-joystick-tracking);text-transform:var(--type-joystick-transform)}
/* END GENERATED TYPOGRAPHY */
:root{font:var(--type-body-m-regular);letter-spacing:normal}*{font:inherit;letter-spacing:inherit}
:root{color:var(--color-content-primary);background:var(--color-layer-page);color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--color-border-active-neutral-primary);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}.login-screen{min-height:100svh;display:grid;place-items:center;padding:16px}.pin-fields{display:flex;gap:12px;justify-content:center}.pin-digit{width:52px;height:64px;border:0;border-radius:12px;background:var(--color-bg-neutral-primary);text-align:center;caret-color:var(--color-content-secondary);box-shadow:none}input:focus,input:focus-visible{outline:none;box-shadow:0 2px 16px var(--color-shadow-input-focus)}.pin-error{position:absolute;text-align:center;color:var(--color-content-secondary);margin:20px 0 0;max-width:300px;left:50%;transform:translateX(-50%);width:calc(100% - 32px)}.app-shell{height:100svh;min-height:320px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0 max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left))}.app-header,.bottom-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:16px}.app-header{padding-top:calc(8px + env(safe-area-inset-top));min-height:calc(56px + env(safe-area-inset-top))}.app-header>.icon-button:last-child,.bottom-nav>.icon-button:last-child{margin-right:-10px}.bottom-nav>.icon-button:first-child{margin-left:-10px}.progress{width:24px;height:24px;display:grid;place-items:center;color:var(--color-content-secondary)}.progress-ring{display:block;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--color-content-secondary);border-radius:0;cursor:pointer;text-decoration:none}.icon-button:disabled{opacity:.28;cursor:default}.icon-button svg{width:24px;height:24px}.discover-main{display:grid;place-items:center;padding:8px 0;min-width:0;min-height:0}.venue-stage{width:min(100%,640px);height:100%;min-width:0;min-height:0}.place-card{width:100%;height:100%;min-width:0;min-height:0}gmp-place-details{display:block;width:100%;height:100%;border-radius:16px;box-shadow:0 14px 44px var(--color-shadow-card),0 2px 8px var(--color-shadow-subtle);color-scheme:light}.joystick-reserved{position:fixed;z-index:2;left:50%;bottom:env(safe-area-inset-bottom);transform:translateX(-50%);display:grid;place-items:center;padding:16px;pointer-events:none}.joystick-reserved pre{color:var(--color-content-secondary);margin:0;user-select:none;text-shadow:0 1px 3px var(--color-layer-island),0 0 8px var(--color-layer-island)}.bottom-nav{min-height:56px;padding-bottom:8px}dialog{border:1px solid var(--color-border-neutral-secondary);border-radius:20px;background:var(--color-bg-active-neutral-primary);color:var(--color-content-primary);width:min(calc(100% - 32px),440px);padding:24px;box-shadow:0 22px 80px var(--color-shadow-floating)}dialog::backdrop{background:var(--color-layer-overlay);backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-heading h2{margin:0}.modal-heading .icon-button{margin:-10px -8px -10px 0}fieldset{margin:0;padding:0;border:0}legend{color:var(--color-content-secondary);text-transform:uppercase;margin-bottom:16px}.sort-option{display:flex;gap:12px;align-items:flex-start;padding:14px 0;}.sort-option input{accent-color:var(--color-border-active-neutral-primary);margin:2px 0}.sort-option small{display:block;margin-top:7px;color:var(--color-content-secondary);}.unavailable{opacity:.5}.lists-shell{min-height:100svh;max-width:800px;margin:auto;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left))}.lists-heading{display:flex;align-items:center;gap:4px;height:64px}.lists-heading>.icon-button{margin-left:-10px}.lists-heading h1{}.list-tabs{position:relative;display:flex;gap:0;border-bottom:0.5px solid var(--color-border-neutral-secondary);overflow:visible}.list-tabs button{flex:1;background:none;border:0;padding:14px 6px;color:var(--color-content-secondary);cursor:pointer;border-bottom:0.5px solid transparent}.list-tabs button[aria-pressed=true]{color:var(--color-content-primary)}.search-label{display:block;margin-top:24px}.search-label input{width:100%;height:44px;border:0;border-radius:10px;background:var(--color-bg-neutral-primary);padding:0 14px;}.list-empty{text-align:center;padding:110px 12px}.list-empty p{color:var(--color-content-secondary);margin-bottom:10px}.list-empty span{color:var(--color-content-secondary)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Custom SVG silhouette; labels deform with the control. */
.discover{overflow:hidden}.joystick-reserved{pointer-events:none;bottom:env(safe-area-inset-bottom,0px)}
.cloud-joystick{position:relative;display:grid;place-items:center;width:160px;height:160px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-content-white);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:auto;isolation:isolate;will-change:transform}
.cloud-joystick:active{cursor:grabbing}.cloud-stretch{position:absolute;inset:0;z-index:-1;pointer-events:none}
.cloud-shape{display:block;width:100%;height:100%}
.cloud-copy{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;display:block;text-align:center;white-space:nowrap;color:var(--color-joystick-label)}.cloud-row{display:block;padding-block:1px}.cloud-label{opacity:var(--inactive-opacity,1);transition:color 80ms}.cloud-center{color:var(--color-joystick-label);opacity:var(--inactive-opacity,1)}
.cloud-joystick[data-direction=up] [data-direction=up],.cloud-joystick[data-direction=down] [data-direction=down],.cloud-joystick[data-direction=left] [data-direction=left],.cloud-joystick[data-direction=right] [data-direction=right]{color:var(--color-joystick-label-active);opacity:1}
@media(prefers-reduced-motion:reduce){.cloud-label{transition:none}}

.cloud-rubber{position:relative;display:grid;place-items:center;width:100%;height:100%;isolation:isolate;will-change:transform;pointer-events:none}

.joystick-float{display:grid;place-items:center;width:100%;height:100%;pointer-events:none}

.local-venue-card{height:100%;padding:32px;border-radius:16px;background:var(--color-layer-island);display:flex;flex-direction:column;gap:12px;overflow:auto;box-shadow:0 14px 44px var(--color-shadow-card)}.local-venue-card h1{margin:0}.local-venue-card p{margin:0;color:var(--color-content-secondary)}.local-venue-card small{color:var(--color-content-secondary)}.local-venue-card small:last-child{margin-top:auto}.saved-venue{padding:20px 0;border-bottom:0.5px solid var(--color-border-neutral-secondary)}.saved-venue h2{margin:0}.saved-venue p,#saved-empty{color:var(--color-content-secondary)}

:where(a:any-link){color:var(--color-content-action-primary)}input::placeholder{color:var(--color-content-secondary)}

input{transition:box-shadow 160ms ease}
@media(prefers-reduced-motion:reduce){input{transition:none}}

/* Press feedback: icon controls keep their existing hit area and layout. */
.icon-button{transition:color 160ms ease;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.icon-button:not(:disabled):not([aria-disabled="true"]):active{color:var(--color-content-primary)}
@media(prefers-reduced-motion:reduce){.icon-button{transition:none}}

@media(hover:hover) and (pointer:fine){.icon-button:not(:disabled):not([aria-disabled="true"]):hover{color:var(--color-content-primary)}}

.search-label{position:relative}
.search-label input{padding-right:48px;appearance:none;-webkit-appearance:none}
.search-label input::-webkit-search-cancel-button,.search-label input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.search-label .input-clear{position:absolute;right:0;top:0}

.lists-shell .search-label{margin-top:0;margin-bottom:16px}.tab-count{color:var(--color-content-secondary)}

/* Product typography roles. The joystick retains its separate Mono style. */
.lists-heading h1,.local-venue-card h1,.saved-venue h2,.modal-heading h2{font:var(--type-body-m-emphasis)}
.list-tabs button{font:var(--type-body-m-compact-emphasis)}


.list-tabs .tab-count{font:var(--type-body-s-compact-regular);color:var(--color-content-secondary)}
.local-venue-card small,.saved-venue p,#saved-empty,.pin-error,.sort-option small,.list-empty span{font:var(--type-body-s-regular)}
legend{font:var(--type-body-s-compact-emphasis)}

.list-tabs::after{content:"";position:absolute;left:0;bottom:-0.5px;width:20%;height:1px;background:var(--color-border-action-primary);transform:translateX(0);transition:transform 160ms cubic-bezier(0.23,1,0.32,1);pointer-events:none}
.list-tabs[data-selected="1"]::after{transform:translateX(100%)}
.list-tabs[data-selected="2"]::after{transform:translateX(200%)}
.list-tabs[data-selected="3"]::after{transform:translateX(300%)}
@media(prefers-reduced-motion:reduce){.list-tabs::after{transition:none}}

.icon-button:not(:disabled):not([aria-disabled="true"]){color:var(--color-content-black)}
@media(hover:hover) and (pointer:fine){.icon-button:not(:disabled):not([aria-disabled="true"]):hover{color:var(--color-content-primary)}}
.icon-button:not(:disabled):not([aria-disabled="true"]):active{color:var(--color-content-primary)}

.saved-venue p{margin:0}

.saved-venue{display:grid;grid-template-columns:24px minmax(0,1fr) 48px;column-gap:12px;align-items:center}.saved-venue-icon{display:flex;color:var(--color-content-black)}.saved-venue-icon svg{width:24px;height:24px}.saved-venue-copy{min-width:0;overflow-wrap:anywhere}

.app-wordmark{text-transform:none;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--color-wordmark-muted)}
.progress{width:24px;height:24px;flex:none;margin-left:auto}
.progress svg{display:block;width:24px;height:24px;fill:none;stroke-width:2}
.progress-track{stroke:var(--color-progress-track)}
.progress-value{stroke:var(--color-progress-fill)}

.app-header{position:relative}

.venue-open{display:inline;width:auto;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.venue-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
.venue-dialog::backdrop{background:var(--color-layer-overlay);backdrop-filter:none}
.venue-dialog .app-shell{width:100%;max-width:none}.venue-dialog .app-header>*{visibility:hidden}.venue-dialog .bottom-nav>*{visibility:hidden}
.venue-dialog-close{position:absolute;right:6px;top:calc(8px + env(safe-area-inset-top));z-index:5}
body:has(.venue-dialog[open]){overflow:hidden}
@media(hover:hover) and (pointer:fine){.venue-open:hover{color:var(--color-content-active-action-primary)}}

.venue-dialog .venue-dialog-close:not(:disabled):not([aria-disabled="true"]){right:auto;color:var(--color-content-white)}
@media(hover:hover) and (pointer:fine){.venue-dialog .venue-dialog-close:not(:disabled):not([aria-disabled="true"]):hover{color:var(--color-content-secondary-inverted)}}
.venue-dialog .venue-dialog-close:not(:disabled):not([aria-disabled="true"]):active{color:var(--color-content-secondary-inverted)}
body:has(.venue-dialog[open]) .lists-heading .progress{visibility:hidden}

.venue-map{display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:44px;margin-block:-20px;padding-inline:12px;color:var(--color-content-tertiary);touch-action:manipulation}
.venue-map svg{width:24px;height:24px;flex:none}
@media(hover:hover) and (pointer:fine){.venue-map:hover{color:var(--color-content-secondary)}}
.venue-map:active{color:var(--color-content-primary)}

/* Full-width list; each item owns its content and separator insets. */
.lists-shell{--list-item-inset-left:max(16px,env(safe-area-inset-left));--list-item-inset-right:max(16px,env(safe-area-inset-right))}
#saved-venues{padding-inline:0;margin-left:calc(-1 * var(--list-item-inset-left));margin-right:calc(-1 * var(--list-item-inset-right))}
.saved-venue{position:relative;grid-template-columns:24px minmax(0,1fr);padding:20px calc(var(--list-item-inset-right) + 44px) 20px var(--list-item-inset-left);border-bottom:0}
.saved-venue::after{content:"";position:absolute;left:var(--list-item-inset-left);right:var(--list-item-inset-right);bottom:0;height:0.5px;background:var(--color-border-neutral-secondary);pointer-events:none}
.venue-map{position:absolute;top:0;bottom:0;right:0;width:calc(var(--list-item-inset-right) + 28px);margin:0;padding:0}
.venue-map svg{transform:translateX(2px)}

#saved-venues:has(.saved-venue:not([hidden])){padding-top:8px;padding-bottom:32px}
.saved-venue[data-last-visible="true"]::after{display:none}

.google-load-notice{font:var(--type-body-s-regular);color:var(--color-content-secondary);padding:12px;margin:0}.place-card:has(.google-load-notice){display:flex;flex-direction:column;gap:8px}.place-card:has(.google-load-notice) .local-venue-card{flex:1;min-height:0}

.google-retry{align-self:flex-start;background:var(--color-bg-action-primary);color:var(--color-content-primary-inverted);border:0;border-radius:8px;padding:8px 12px;cursor:pointer}

.cloud-joystick:focus,.cloud-joystick:focus-visible,.venue-dialog-close:focus,.venue-dialog-close:focus-visible{outline:none}

/* Separate full-height tap regions: details on the left, Maps in the right 80px. */
.saved-venue{padding-right:92px}
.saved-venue .venue-open{position:absolute;inset:0 80px 0 0;z-index:1;display:block;width:auto;min-height:44px;touch-action:manipulation}
.saved-venue .venue-map{z-index:2;width:80px;justify-content:flex-end;padding-right:calc(var(--list-item-inset-right) - 6px)}

.google-load-notice.google-loading{color:var(--color-content-tertiary);width:100%;height:100%;min-height:0;flex:1;display:grid;place-items:center;border-radius:16px;background:var(--color-layer-island);box-shadow:0 14px 44px var(--color-shadow-card),0 2px 8px var(--color-shadow-subtle);pointer-events:none}

.list-tabs[data-selected="4"]::after{transform:translateX(400%)}

/* Independent press feedback for the two list-item tap areas. */
.saved-venue-icon,.saved-venue-copy,.venue-map svg{transition:opacity 120ms ease}
.venue-open:active~.saved-venue-icon,.venue-open:active~.saved-venue-copy,.venue-map:active svg{opacity:.65;transition-duration:40ms}
.venue-map:active{color:var(--color-content-tertiary)}
@media(prefers-reduced-motion:reduce){.saved-venue-icon,.saved-venue-copy,.venue-map svg{transition:none}}

.app-shell:has(.place-card[data-budget-exhausted="true"]) .joystick-reserved{display:none}
.google-limit-notice{position:fixed;inset:0;display:grid;place-items:center;text-align:center;padding:24px;pointer-events:none}
