/* Location discovery: Lumina Glass — one transparent place, one light anchor. */
.nearby > md-content.greybg { background:radial-gradient(ellipse 95% 42% at 50% -10%,rgba(104,92,214,.19),transparent 72%),linear-gradient(160deg,#10172a 0%,#0b1121 58%,#090d19 100%); }
.nearby .search-input-wrap,.nearby .location-categories,.nearby .location-rail { background:transparent; }
.nearby .search-input-wrap { padding:11px 16px 8px; }.nearby .search-input { width:100%; height:42px; box-sizing:border-box; border-color:rgba(191,211,244,.14); border-radius:14px; background:rgba(7,12,25,.34); color:#eef4ff; font-size:12px; }.nearby .search-input:focus { border-color:rgba(137,209,225,.54); box-shadow:0 0 0 3px rgba(88,196,218,.10); outline:0; }
.nearby .location-categories { gap:7px; padding:4px 16px 14px; }.nearby .location-categories button { display:inline-flex; min-height:35px; align-items:center; gap:6px; padding:6px 10px; border-color:rgba(186,206,239,.13); border-radius:11px; background:rgba(255,255,255,.02); color:#aebbd0; font-size:9px; font-weight:760; letter-spacing:.025em; line-height:1.05; }.nearby .location-categories button .material-icons { color:#8fa4c5; font-size:16px; }.nearby .location-categories button.active { border-color:rgba(159,229,224,.34); background:linear-gradient(135deg,rgba(64,177,168,.25),rgba(92,94,202,.18)); box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 5px 14px rgba(0,0,0,.15); color:#f3fbff; }.nearby .location-categories button.active .material-icons { color:#bff8ee; }

.nearby .location-rail { position:relative; isolation:isolate; padding:9px 0 0; }.nearby .location-rail::before { position:absolute; z-index:-1; inset:20px -28% 0; content:''; pointer-events:none; background:radial-gradient(ellipse 28% 22% at 50% 42%,rgba(130,168,255,.11),transparent 72%); opacity:.82; transform:translate3d(0,0,0); animation:lup-lumina-drift 18s ease-in-out infinite alternate; }.nearby .location-rail .lup-room-slide-outer { position:relative; z-index:1; padding:0 11px; transform:translate3d(0,var(--lup-rail-lift,7px),0) scale(var(--lup-rail-scale,.93)); opacity:var(--lup-rail-opacity,.62); transition:transform 180ms cubic-bezier(.2,.8,.2,1),opacity 150ms linear; will-change:transform,opacity; }.nearby .location-rail .lup-room-slide-outer.lup-room-slide-current { transform:translate3d(0,0,0) scale(1); opacity:1; }@keyframes lup-lumina-drift { from { opacity:.48; transform:translate3d(-3%,0,0); } to { opacity:.85; transform:translate3d(3%,-2%,0); } }

/* Filtering is a deliberate choice; the underline only reports where the
   centred location belongs.  Both can coexist without making a swipe look
   like it changed the filter. */
.nearby .location-categories button.is-filter-active { border-color:rgba(159,229,224,.34); background:linear-gradient(135deg,rgba(64,177,168,.25),rgba(92,94,202,.18)); box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 5px 14px rgba(0,0,0,.15); color:#f3fbff; }
.nearby .location-categories button.is-filter-active .material-icons { color:#bff8ee; }
.nearby .location-categories button { position:relative; }
.nearby .location-categories button::after { position:absolute; right:28%; bottom:3px; left:28%; display:block; height:2px; content:''; border-radius:999px; background:currentColor; box-shadow:0 0 8px currentColor; opacity:0; transform:scaleX(0); transform-origin:center; transition:transform 190ms cubic-bezier(.2,.85,.25,1),opacity 120ms ease-out; }
.nearby .location-categories button.is-current-category::after { opacity:1; transform:scaleX(1); }
@media (prefers-reduced-motion:reduce) { .nearby .location-categories button::after { transition:none; } }

.lup-discovery-card { --discovery-accent:#89c9ef; --discovery-glow:rgba(96,190,230,.24); --discovery-deep:#1e3c59; position:relative; display:flex; min-height:min(560px,calc(100svh - 236px)); overflow:hidden; flex-direction:column; border:1px solid color-mix(in srgb,var(--discovery-accent) 31%,rgba(255,255,255,.13)); border-radius:26px; background:linear-gradient(145deg,rgba(28,40,66,.39),rgba(7,13,26,.30) 68%); box-shadow:inset 0 1px 0 rgba(255,255,255,.15),inset 0 0 35px color-mix(in srgb,var(--discovery-accent) 5%,transparent),0 20px 42px rgba(0,0,0,.18),0 0 28px color-mix(in srgb,var(--discovery-accent) 8%,transparent); }.lup-discovery-card::before { position:absolute; inset:0; content:''; pointer-events:none; background:linear-gradient(118deg,color-mix(in srgb,var(--discovery-accent) 12%,transparent),transparent 35%,rgba(255,255,255,.018) 70%,transparent); }.lup-discovery-card::after { position:absolute; right:-42px; bottom:-68px; width:220px; height:170px; content:''; pointer-events:none; background:radial-gradient(ellipse,color-mix(in srgb,var(--discovery-accent) 14%,transparent),transparent 67%); filter:blur(7px); }
.lup-discovery-card__hero { position:relative; z-index:1; display:flex; min-height:244px; padding:23px 21px 7px; isolation:isolate; flex-direction:column; align-items:flex-start; cursor:pointer; text-align:left; }.lup-discovery-card__hero::after { position:absolute; z-index:0; bottom:-73px; left:-31%; width:165%; height:139px; content:''; pointer-events:none; border:1px solid color-mix(in srgb,var(--discovery-accent) 26%,transparent); border-top-color:color-mix(in srgb,var(--discovery-accent) 67%,#e5f8ff); border-radius:50%; background:radial-gradient(ellipse at 50% 13%,color-mix(in srgb,var(--discovery-accent) 11%,transparent),transparent 36%); box-shadow:0 -1px 15px var(--discovery-glow),0 -6px 31px color-mix(in srgb,var(--discovery-accent) 8%,transparent),inset 0 1px 12px color-mix(in srgb,var(--discovery-accent) 7%,transparent); transform-origin:50% 100%; animation:lup-discovery-signal-arc 13s ease-in-out infinite alternate; }.lup-discovery-card__hero > * { position:relative; z-index:1; }.lup-discovery-card__category { display:inline-flex; align-items:center; min-height:20px; color:color-mix(in srgb,var(--discovery-accent) 82%,#f1fbff); font-size:8px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }.lup-discovery-card__category::before { width:18px; height:1px; margin-right:8px; content:''; background:var(--discovery-accent); box-shadow:0 0 10px var(--discovery-glow); }.lup-discovery-card__name { display:block; max-width:100%; margin:8px 0 5px; overflow-wrap:anywhere; color:#f6f9ff; font-size:clamp(23px,6.1vw,31px); font-weight:760; letter-spacing:-.052em; line-height:1.02; text-shadow:0 0 22px color-mix(in srgb,var(--discovery-accent) 17%,transparent); }.lup-discovery-card__name.room-hero-name--long { font-size:clamp(18px,4.9vw,22px); letter-spacing:-.03em; }.lup-discovery-card__name.room-hero-name--longword { font-size:clamp(16px,4.35vw,19px); letter-spacing:-.025em; }.lup-discovery-card__place { display:inline-flex; align-items:center; gap:4px; color:#b8c6d8; font-size:10px; line-height:1.2; }.lup-discovery-card__place .material-icons { color:var(--discovery-accent); font-size:14px; }
.lup-discovery-card__anchor { position:relative; display:flex; width:100%; min-height:92px; margin-top:9px; align-items:center; justify-content:center; color:#eefdff; text-decoration:none; }.lup-discovery-card__anchor-line { position:absolute; right:7%; left:1%; height:1px; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--discovery-accent) 73%,#dffbff),transparent); box-shadow:0 0 14px var(--discovery-glow); transform:translateY(7px); }.lup-discovery-card__symbol { position:relative; z-index:1; display:grid; width:64px; height:64px; place-items:center; border:1px solid color-mix(in srgb,var(--discovery-accent) 64%,rgba(255,255,255,.24)); border-radius:50%; background:radial-gradient(circle at 33% 26%,rgba(255,255,255,.28),transparent 27%),color-mix(in srgb,var(--discovery-accent) 33%,rgba(10,21,39,.80)); box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 0 0 8px color-mix(in srgb,var(--discovery-accent) 4%,transparent),0 0 27px var(--discovery-glow); color:#fff; }.lup-discovery-card__symbol::after { position:absolute; inset:-16px; content:''; border:1px solid color-mix(in srgb,var(--discovery-accent) 27%,transparent); border-radius:50%; opacity:.72; }.lup-discovery-card__symbol .material-icons { font-size:34px; text-shadow:0 3px 7px rgba(0,0,0,.28); }.lup-discovery-card__distance { display:grid; grid-template-columns:18px minmax(0,1fr); min-width:112px; margin-left:12px; column-gap:5px; align-items:center; color:#e7f7ff; }.lup-discovery-card__distance .material-icons { grid-row:1 / span 2; color:var(--discovery-accent); font-size:17px; }.lup-discovery-card__distance strong { font-size:17px; font-weight:820; letter-spacing:-.04em; line-height:1.02; }.lup-discovery-card__distance small { color:color-mix(in srgb,var(--discovery-accent) 62%,#aab8cc); font-size:7px; font-weight:820; letter-spacing:.11em; line-height:1.2; text-transform:uppercase; }
.lup-discovery-card__anchor { position:relative; display:flex; width:100%; min-height:145px; margin-top:7px; padding-left:24px; box-sizing:border-box; align-items:center; justify-content:flex-start; color:#eefdff; text-decoration:none; }.lup-discovery-card__anchor-line { display:none; }.lup-discovery-card__symbol { position:relative; z-index:1; display:grid; width:76px; height:76px; place-items:center; border:1px solid color-mix(in srgb,var(--discovery-accent) 72%,rgba(255,255,255,.28)); border-radius:50% 50% 50% 8%; background:radial-gradient(circle at 33% 26%,rgba(255,255,255,.31),transparent 27%),color-mix(in srgb,var(--discovery-accent) 37%,rgba(10,21,39,.82)); box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 0 9px color-mix(in srgb,var(--discovery-accent) 4%,transparent),0 0 34px var(--discovery-glow); color:#fff; transform:rotate(-45deg); transform-origin:50% 88%; animation:lup-discovery-pin-bob 4.8s cubic-bezier(.36,.08,.22,1) infinite; }.lup-discovery-card__symbol::after { position:absolute; inset:-14px -13px -17px -16px; content:''; border:1px solid color-mix(in srgb,var(--discovery-accent) 29%,transparent); border-radius:50% 50% 50% 8%; opacity:.72; }.lup-discovery-card__symbol .material-icons { font-size:39px; text-shadow:0 3px 7px rgba(0,0,0,.28); transform:rotate(45deg); }.lup-discovery-card__distance { position:absolute; bottom:1px; left:84px; display:grid; grid-template-columns:18px minmax(0,1fr); min-width:112px; column-gap:5px; align-items:center; color:#e7f7ff; }.lup-discovery-card__distance .material-icons { grid-row:1 / span 2; color:var(--discovery-accent); font-size:17px; }.lup-discovery-card__distance strong { font-size:17px; font-weight:820; letter-spacing:-.04em; line-height:1.02; }.lup-discovery-card__distance small { color:color-mix(in srgb,var(--discovery-accent) 62%,#aab8cc); font-size:7px; font-weight:820; letter-spacing:.11em; line-height:1.2; text-transform:uppercase; }@keyframes lup-discovery-pin-bob { 0%,100% { transform:rotate(-45deg) translate3d(0,0,0) scale(1); } 40% { transform:rotate(-42deg) translate3d(2px,-6px,0) scale(1.025); } 58% { transform:rotate(-47deg) translate3d(-1px,1px,0) scale(.992); } 72% { transform:rotate(-44deg) translate3d(1px,-2px,0) scale(1.008); } }@keyframes lup-discovery-signal-arc { 0% { transform:translate3d(-2%,8px,0) scale(.96); opacity:.34; } 52% { transform:translate3d(2%,-5px,0) scale(1.035); opacity:.82; } 100% { transform:translate3d(-1%,-1px,0) scale(1); opacity:.50; } }
.lup-discovery-card__presence { position:relative; z-index:1; display:flex; min-height:54px; margin:0 18px; padding:9px 0 8px; align-items:center; justify-content:space-between; border-top:0; }.lup-discovery-card__presence-label { display:inline-flex; order:2; min-height:32px; align-items:center; gap:6px; padding:0; border:0; background:transparent; color:#ccebdc; cursor:pointer; font:760 10px/1 inherit; transform:translateY(17px); }.lup-discovery-card__presence-label::before { width:clamp(26px,10vw,46px); height:1px; content:''; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--discovery-accent) 70%,#e8fbff)); box-shadow:0 0 10px var(--discovery-glow); }.lup-discovery-card__presence-label b { color:#f2fff8; font-size:13px; }.lup-discovery-card__presence-dot { width:7px; height:7px; border-radius:50%; background:#7fe1a7; box-shadow:0 0 0 4px rgba(127,225,167,.10),0 0 12px rgba(127,225,167,.46); }.lup-discovery-card__presence-label:not(.has-visitors) .lup-discovery-card__presence-dot { background:#8395af; box-shadow:none; }.lup-discovery-card__people { display:flex; order:1; min-width:0; min-height:32px; align-items:center; justify-content:flex-start; padding-right:8px; }.lup-discovery-card__people .lup-avatar { width:30px; height:30px; margin-left:-9px; border:2px solid #111b30; border-radius:50%; box-shadow:0 4px 10px rgba(0,0,0,.22); }.lup-discovery-card__people .lup-avatar:first-child { margin-left:0; }.lup-discovery-card__more { width:30px; height:30px; margin-left:-9px; border:2px solid #111b30; border-radius:50%; background:color-mix(in srgb,var(--discovery-accent) 42%,#31435f); color:#f5fbff; cursor:pointer; font:800 8px/1 inherit; }
.lup-discovery-entry { position:relative; z-index:2; display:grid; grid-template-columns:48px minmax(0,1fr); min-height:50px; margin:auto 17px 15px; padding:0; align-items:center; border:0; background:transparent; box-shadow:none; }.lup-discovery-entry::before { position:absolute; right:1px; bottom:0; left:54px; height:1px; content:''; background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 34%,transparent),transparent); box-shadow:0 0 11px color-mix(in srgb,var(--discovery-accent) 13%,transparent); }.lup-discovery-entry__qr { position:relative; display:grid; width:39px; height:39px; place-items:center; border:1px solid color-mix(in srgb,var(--discovery-accent) 35%,rgba(255,255,255,.12)); border-radius:13px 13px 13px 5px; background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.19),transparent 27%),color-mix(in srgb,var(--discovery-accent) 13%,rgba(8,15,29,.32)); box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 17px color-mix(in srgb,var(--discovery-accent) 9%,transparent); color:color-mix(in srgb,var(--discovery-accent) 82%,#f4eaff); cursor:pointer; }.lup-discovery-entry__qr .material-icons { font-size:20px; }.lup-discovery-entry > button:not(.lup-discovery-entry__qr),.lup-discovery-entry > div { display:inline-flex; min-height:38px; align-items:center; justify-content:flex-start; gap:8px; border:0; background:transparent; color:#d7f7e3; cursor:pointer; font:800 10px/1 inherit; letter-spacing:.04em; }.lup-discovery-entry > div { color:#9babbe; cursor:default; font-size:9px; }.lup-discovery-entry > button:not(.lup-discovery-entry__qr) > .material-icons { color:#a1edbc; font-size:15px; }.lup-discovery-entry > div .material-icons { color:#9eb8d1; font-size:14px; }.lup-discovery-entry__pulse { position:relative; display:grid; width:18px; height:18px; place-items:center; border-radius:50%; background:rgba(125,228,170,.13); }.lup-discovery-entry__pulse::before { position:absolute; width:100%; height:100%; content:''; border:1px solid rgba(125,228,170,.58); border-radius:50%; animation:lup-discovery-entry-pulse 2.2s ease-out infinite; }.lup-discovery-entry__pulse .material-icons { color:#b8ffd0; font-size:13px; }@keyframes lup-discovery-entry-pulse { 0% { opacity:.7; transform:scale(1); } 74%,100% { opacity:0; transform:scale(1.8); } }
.lup-discovery--country { --discovery-accent:#9aa8ea; --discovery-glow:rgba(142,154,234,.22); --discovery-deep:#34365f; }.lup-discovery--city { --discovery-accent:#8ecbff; --discovery-glow:rgba(99,180,255,.22); --discovery-deep:#25456b; }.lup-discovery--bar,.lup-discovery--pub { --discovery-accent:#f0a978; --discovery-glow:rgba(240,142,104,.22); --discovery-deep:#5b3140; }.lup-discovery--cafe,.lup-discovery--food { --discovery-accent:#e7bf85; --discovery-glow:rgba(229,173,105,.22); --discovery-deep:#5a4231; }.lup-discovery--club { --discovery-accent:#e78cdd; --discovery-glow:rgba(229,93,212,.22); --discovery-deep:#512d66; }.lup-discovery--culture { --discovery-accent:#b09be8; --discovery-glow:rgba(164,130,229,.20); --discovery-deep:#403660; }.lup-discovery--education,.lup-discovery--university { --discovery-accent:#68d0bf; --discovery-glow:rgba(71,207,187,.22); --discovery-deep:#184f58; }.lup-discovery--sport,.lup-discovery--outdoors { --discovery-accent:#85d59f; --discovery-glow:rgba(86,206,132,.20); --discovery-deep:#205041; }.lup-discovery--health { --discovery-accent:#ef9ab4; --discovery-glow:rgba(232,107,148,.20); --discovery-deep:#5a3046; }.lup-discovery--business,.lup-discovery--shop,.lup-discovery--salon,.lup-discovery--town,.lup-discovery--hotel,.lup-discovery--religion,.lup-discovery--default { --discovery-accent:#aebbd0; --discovery-glow:rgba(153,177,209,.18); --discovery-deep:#354359; }
@media (max-width:360px) { .nearby .search-input-wrap,.nearby .location-categories { padding-right:11px; padding-left:11px; }.nearby .location-rail .lup-room-slide-outer { padding-right:8px; padding-left:8px; }.lup-discovery-card { min-height:min(530px,calc(100svh - 220px)); }.lup-discovery-card__hero { min-height:228px; padding-right:16px; padding-left:16px; }.lup-discovery-card__anchor { min-height:128px; padding-left:17px; }.lup-discovery-card__distance { bottom:1px; left:75px; }.lup-discovery-card__symbol { width:66px; height:66px; }.lup-discovery-card__symbol .material-icons { font-size:34px; }.lup-discovery-card__presence { margin-right:14px; margin-left:14px; } }
@media (prefers-reduced-motion:reduce) { .nearby .location-rail::before,.lup-discovery-entry__pulse::before,.lup-discovery-card__hero::after,.lup-discovery-card__symbol { animation:none; }.nearby .location-rail .lup-room-slide-outer { transition:none; } }

/* The location name is a real entry point: give it one quiet, tactile signal
   instead of another card or a competing action label. */
.lup-discovery-card__identity { position:relative; display:flex; width:100%; padding:0; align-items:flex-start; flex-direction:column; border:0; background:transparent; color:inherit; cursor:pointer; font:inherit; text-align:left; touch-action:manipulation; }
.lup-discovery-card__identity::before { position:absolute; top:20px; bottom:2px; left:-13px; width:1px; content:''; background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--discovery-accent) 88%,#effcff),transparent); box-shadow:0 0 10px var(--discovery-glow); opacity:.76; transform-origin:50% 50%; animation:lup-discovery-identity-signal 4.8s ease-in-out infinite; }
.lup-discovery-card__identity::after { position:absolute; top:29px; left:-17px; width:9px; height:9px; content:''; border:1px solid color-mix(in srgb,var(--discovery-accent) 72%,#effcff); border-radius:50%; box-shadow:0 0 12px var(--discovery-glow); opacity:.88; }
.lup-discovery-card__identity:active { transform:translate3d(2px,0,0); }
.lup-discovery-card__identity:focus-visible { outline:1px solid color-mix(in srgb,var(--discovery-accent) 88%,#fff); outline-offset:5px; border-radius:3px; }
.lup-discovery-card__identity .lup-discovery-card__name { padding-left:0; }
.lup-discovery-card__anchor { min-height:174px; padding-top:12px; align-items:flex-start; }
.lup-discovery-card__symbol { margin-top:0; }
.lup-discovery-card__distance { bottom:3px; left:24px; }
.lup-discovery-card__presence { min-height:70px; padding-top:14px; padding-bottom:10px; }
.lup-discovery-card__presence-label { transform:translateY(31px); }
@keyframes lup-discovery-identity-signal { 0%,100% { opacity:.40; transform:scaleY(.72); } 46% { opacity:.95; transform:scaleY(1); } 62% { opacity:.62; transform:scaleY(.86); } }
@media (max-width:360px) { .lup-discovery-card__anchor { min-height:156px; }.lup-discovery-card__distance { left:17px; }.lup-discovery-card__presence-label { transform:translateY(22px); } }
@media (prefers-reduced-motion:reduce) { .lup-discovery-card__identity::before { animation:none; } }

/* The room action is a threshold, not a generic rounded button. */
.lup-discovery-entry { grid-template-columns:48px minmax(0,1fr); min-height:55px; }
.lup-discovery-entry::before { display:none; }
.lup-discovery-entry__chat,.lup-discovery-entry__locked { position:relative; display:flex; min-height:46px; padding:0 11px 1px; align-items:center; gap:9px; border:0; border-left:1px solid rgba(125,228,170,.62); border-radius:0 13px 13px 0; background:linear-gradient(90deg,rgba(125,228,170,.13),rgba(125,228,170,.035) 68%,transparent); color:#e6fff0; cursor:pointer; font-size:11px; font-weight:850; letter-spacing:.055em; text-transform:uppercase; transition:transform 180ms ease,background 180ms ease,box-shadow 180ms ease; }
.lup-discovery-entry__chat::after { width:17px; height:1px; margin-left:auto; content:''; background:#a4f3bf; box-shadow:0 0 10px rgba(125,228,170,.75); transition:width 180ms ease; }
.lup-discovery-entry__chat:hover,.lup-discovery-entry__chat:focus-visible { background:linear-gradient(90deg,rgba(125,228,170,.21),rgba(125,228,170,.06) 68%,transparent); box-shadow:inset 11px 0 18px -17px rgba(125,228,170,.85),0 0 18px rgba(125,228,170,.08); }
.lup-discovery-entry__chat:active { transform:translate3d(3px,0,0); }
.lup-discovery-entry__chat:active::after { width:26px; }
.lup-discovery-entry__chat > .material-icons { order:4; color:#bcffd2; font-size:16px; }
.lup-discovery-entry__chat .lup-discovery-entry__pulse { width:21px; height:21px; background:rgba(125,228,170,.17); }
.lup-discovery-entry__locked { border-left-color:color-mix(in srgb,var(--discovery-accent) 38%,#61728a); background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 7%,transparent),transparent 75%); color:#aebdce; cursor:default; font-size:9px; letter-spacing:.065em; }
.lup-discovery-entry__locked .material-icons { color:color-mix(in srgb,var(--discovery-accent) 72%,#bfd7eb); }
@media (prefers-reduced-motion:reduce) { .lup-discovery-entry__chat { transition:none; } }

/* Room door: the QR seal is the knob; a short downward pull on the curved
   handle closes the location surface before the actual chat route opens. */
.lup-discovery-entry__qr { width:42px; height:42px; border-radius:50%; background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.27),transparent 26%),color-mix(in srgb,var(--discovery-accent) 22%,rgba(8,15,29,.50)); box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 0 5px color-mix(in srgb,var(--discovery-accent) 5%,transparent),0 0 17px color-mix(in srgb,var(--discovery-accent) 12%,transparent); }
.lup-discovery-entry__qr::after { position:absolute; top:50%; left:40px; width:17px; height:1px; content:''; background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 74%,#effcff),transparent); box-shadow:0 0 8px var(--discovery-glow); }
.lup-discovery-door { min-height:54px; padding-left:4px; gap:11px; border-left:0; background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 12%,transparent),rgba(125,228,170,.045) 67%,transparent); touch-action:none; user-select:none; -webkit-user-select:none; }
.lup-discovery-door::after { display:none; }
.lup-discovery-door__handle { position:relative; display:block; width:69px; height:33px; flex:0 0 69px; transform:translate3d(0,var(--lup-up-pull,0px),0); transform-origin:14px 12px; transition:transform 150ms ease; }
.lup-discovery-door__neck { position:absolute; top:14px; left:4px; width:18px; height:8px; border:2px solid color-mix(in srgb,var(--discovery-accent) 78%,#f2fbff); border-right:0; border-radius:11px 0 0 11px; box-shadow:0 0 9px var(--discovery-glow),inset 0 1px 0 rgba(255,255,255,.42); }
.lup-discovery-door__neck::before { position:absolute; top:-6px; left:-9px; width:14px; height:14px; content:''; border:2px solid color-mix(in srgb,var(--discovery-accent) 78%,#f2fbff); border-radius:50%; background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.46),color-mix(in srgb,var(--discovery-accent) 30%,#16243b)); box-shadow:0 0 10px var(--discovery-glow); }
.lup-discovery-door__grip { position:absolute; top:5px; left:20px; width:43px; height:20px; border:3px solid color-mix(in srgb,var(--discovery-accent) 78%,#f5fcff); border-bottom-width:4px; border-radius:3px 18px 18px 11px; box-shadow:0 0 10px var(--discovery-glow),inset 0 2px 0 rgba(255,255,255,.36); transform:skewX(-13deg); }
.lup-discovery-door.is-pulling .lup-discovery-door__handle { filter:brightness(1.13); }
.lup-discovery-door.is-door-latched .lup-discovery-door__handle { animation:lup-discovery-door-latch 420ms cubic-bezier(.2,.92,.26,1); }
.lup-discovery-door__copy { min-width:0; color:#e9fff1; text-shadow:0 0 13px rgba(125,228,170,.25); }
.lup-discovery-door > .material-icons { margin-left:auto; color:#b9ffd0; opacity:.9; transform:translateX(0); transition:transform 180ms ease; }
.lup-discovery-door:hover > .material-icons,.lup-discovery-door:focus-visible > .material-icons { transform:translateX(4px); }
.lup-discovery-card > * { transition:opacity 300ms ease,transform 420ms cubic-bezier(.25,.76,.24,1); }
.lup-discovery-card--door-opening > * { opacity:0; transform:translate3d(-16px,0,0); }
.lup-discovery-card--door-opening::before { z-index:10; background:linear-gradient(90deg,rgba(2,5,10,.96),rgba(5,10,18,.94) 65%,rgba(10,19,31,.64)); box-shadow:inset -28px 0 42px rgba(0,0,0,.72); opacity:1; transform:scaleX(1); transform-origin:right center; }
@keyframes lup-discovery-door-latch { 0% { transform:translate3d(0,var(--lup-up-pull,0px),0); } 42% { transform:translate3d(0,39px,0) rotate(8deg); } 100% { transform:translate3d(0,0,0); } }
@media (prefers-reduced-motion:reduce) { .lup-discovery-door__handle,.lup-discovery-card > * { transition:none; }.lup-discovery-door.is-door-latched .lup-discovery-door__handle { animation:none; } }

/* One connected door mechanism: the QR seal is the pivot, not a second button
   sitting beside an unrelated chat control. */
.lup-discovery-entry { grid-template-columns:64px minmax(0,1fr); min-height:68px; margin-bottom:25px; }
.lup-discovery-entry__qr { z-index:3; width:58px; height:58px; border-radius:50%; color:color-mix(in srgb,var(--discovery-accent) 88%,#fff); box-shadow:inset 0 2px 0 rgba(255,255,255,.30),0 0 0 7px color-mix(in srgb,var(--discovery-accent) 5%,transparent),0 0 24px color-mix(in srgb,var(--discovery-accent) 22%,transparent); }
.lup-discovery-entry__qr .material-icons { font-size:24px; }
.lup-discovery-entry__qr::after { top:50%; left:53px; width:34px; background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 88%,#effcff),color-mix(in srgb,var(--discovery-accent) 26%,transparent)); }
.lup-discovery-door { z-index:2; min-height:58px; padding:0; overflow:visible; gap:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.lup-discovery-door::before { position:absolute; top:29px; left:-39px; width:96px; height:1px; content:''; background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 84%,#effcff),color-mix(in srgb,var(--discovery-accent) 32%,transparent)); box-shadow:0 0 11px var(--discovery-glow); }
.lup-discovery-door__handle { z-index:1; width:116px; height:58px; flex:0 0 116px; transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(0deg); transform-origin:-35px 29px; transition:transform 170ms cubic-bezier(.25,.76,.24,1),filter 170ms ease; }
.lup-discovery-door__neck { top:25px; left:-39px; width:57px; height:9px; border-width:2px; border-right:0; border-radius:13px 0 0 13px; }
.lup-discovery-door__neck::before { top:-7px; left:-9px; width:16px; height:16px; }
.lup-discovery-door__grip { top:13px; left:13px; width:77px; height:23px; border-width:3px; border-bottom-width:4px; border-radius:4px 23px 23px 12px; transform:skewX(-13deg); }
.lup-discovery-door.is-pulling .lup-discovery-door__handle { transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(24deg); filter:brightness(1.18); }
.lup-discovery-door.is-door-latched .lup-discovery-door__handle { animation:lup-discovery-door-pivot 420ms cubic-bezier(.2,.92,.26,1); }
.lup-discovery-door__copy { position:absolute; z-index:4; top:34px; left:-61px; width:59px; overflow:hidden; color:#f4feff; font-size:6px; font-weight:900; letter-spacing:.035em; line-height:1.02; pointer-events:none; text-align:center; text-shadow:0 1px 4px rgba(0,0,0,.75); text-transform:uppercase; white-space:normal; }
.lup-discovery-door > .material-icons { position:absolute; right:12px; color:color-mix(in srgb,var(--discovery-accent) 68%,#c4ffd7); }
@keyframes lup-discovery-door-pivot { 0% { transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(0deg); } 42% { transform:translate3d(0,35px,0) rotate(30deg); } 100% { transform:translate3d(0,0,0) rotate(0deg); } }
@media (max-width:360px) { .lup-discovery-entry { grid-template-columns:58px minmax(0,1fr); margin-bottom:20px; }.lup-discovery-entry__qr { width:52px; height:52px; }.lup-discovery-door__handle { transform-origin:-31px 26px; }.lup-discovery-door__copy { left:-55px; width:54px; font-size:5.5px; } }

/* Larger, resolved door geometry: QR and the entry label no longer compete. */
.lup-discovery-entry { grid-template-columns:74px minmax(0,1fr); min-height:88px; margin-bottom:36px; }
.lup-discovery-entry__qr { width:66px; height:66px; align-self:center; }
.lup-discovery-entry__qr .material-icons { font-size:27px; }
.lup-discovery-entry__qr::after { left:61px; width:42px; }
.lup-discovery-door { min-height:74px; align-self:center; }
.lup-discovery-door::before { top:37px; left:-48px; width:112px; }
.lup-discovery-door__handle { width:100%; height:74px; flex:1 1 auto; transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(var(--lup-pull-angle,0deg)); transform-origin:-41px 37px; }
.lup-discovery-door__neck { top:32px; left:-48px; width:70px; height:10px; border-radius:15px 0 0 15px; }
.lup-discovery-door__neck::before { top:-8px; left:-10px; width:18px; height:18px; }
.lup-discovery-door__grip { top:18px; left:17px; width:calc(100% - 61px); min-width:112px; height:27px; border-width:3px; border-bottom-width:5px; border-radius:5px 28px 28px 14px; }
.lup-discovery-door.is-pulling .lup-discovery-door__handle { transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(var(--lup-pull-angle,0deg)); }
.lup-discovery-door__copy { top:29px; left:38px; width:calc(100% - 88px); overflow:visible; color:#f6fff9; font-size:10px; font-weight:900; letter-spacing:.075em; line-height:1; pointer-events:none; text-align:center; text-shadow:0 1px 5px rgba(0,0,0,.78); white-space:nowrap; }
.lup-discovery-door > .material-icons { right:17px; font-size:18px; }
@media (max-width:360px) { .lup-discovery-entry { grid-template-columns:65px minmax(0,1fr); min-height:78px; margin-bottom:27px; }.lup-discovery-entry__qr { width:58px; height:58px; }.lup-discovery-door__handle { transform-origin:-36px 34px; }.lup-discovery-door__neck { left:-43px; }.lup-discovery-door__copy { left:31px; width:calc(100% - 70px); font-size:8.5px; }.lup-discovery-door__grip { min-width:92px; left:14px; } }

/* Resolve the first door experiment: one clear handle, an opaque QR knob and
   a real opening leaf. No dark overlay and no floating label. */
.lup-discovery-entry__qr { background:radial-gradient(circle at 31% 24%,rgba(255,255,255,.35),transparent 24%),#132744; border-color:color-mix(in srgb,var(--discovery-accent) 82%,#eafbff); box-shadow:inset 0 2px 0 rgba(255,255,255,.34),0 0 0 7px color-mix(in srgb,var(--discovery-accent) 7%,transparent),0 0 26px color-mix(in srgb,var(--discovery-accent) 30%,transparent); }
.lup-discovery-entry__qr::after,.lup-discovery-door::before,.lup-discovery-door__neck { display:none; }
.lup-discovery-door { background:transparent; -webkit-tap-highlight-color:transparent; }
.lup-discovery-door:focus:not(:focus-visible) { outline:none; box-shadow:none; }
.lup-discovery-door__handle { width:100%; height:74px; transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(var(--lup-pull-angle,0deg)); transform-origin:-41px 37px; }
.lup-discovery-door__grip { top:17px; left:5px; width:calc(100% - 54px); min-width:118px; height:29px; border:3px solid color-mix(in srgb,var(--discovery-accent) 84%,#f4fcff); border-left:0; border-bottom-width:5px; border-radius:0 28px 28px 0; background:linear-gradient(180deg,color-mix(in srgb,var(--discovery-accent) 13%,transparent),rgba(9,18,31,.18)); box-shadow:0 0 13px var(--discovery-glow),inset 0 2px 0 rgba(255,255,255,.30); transform:skewX(-11deg); }
.lup-discovery-door__copy { top:29px; left:24px; width:calc(100% - 78px); color:#f8fffb; font-size:10px; font-weight:900; letter-spacing:.07em; line-height:1; text-align:center; text-shadow:0 1px 5px rgba(0,0,0,.88); white-space:nowrap; }
.lup-discovery-door.is-pulling .lup-discovery-door__handle { transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(var(--lup-pull-angle,0deg)); filter:brightness(1.16); }
.lup-discovery-card__door-leaf { position:absolute; z-index:20; inset:0; display:block; pointer-events:none; opacity:0; border-left:2px solid color-mix(in srgb,var(--discovery-accent) 85%,#edfcff); background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 35%,rgba(14,28,48,.88)),rgba(21,38,62,.32) 58%,rgba(255,255,255,.04)); box-shadow:inset -18px 0 28px rgba(0,0,0,.20),0 0 22px var(--discovery-glow); transform:perspective(900px) rotateY(0deg); transform-origin:left center; }
.lup-discovery-card--door-opening > :not(.lup-discovery-card__door-leaf) { opacity:1; transform:none; }
.lup-discovery-card--door-opening::before { z-index:auto; background:linear-gradient(118deg,color-mix(in srgb,var(--discovery-accent) 12%,transparent),transparent 35%,rgba(255,255,255,.018) 70%,transparent); box-shadow:none; opacity:1; transform:none; }
.lup-discovery-card--door-opening .lup-discovery-card__door-leaf { animation:lup-discovery-door-open 330ms cubic-bezier(.24,.76,.24,1) forwards; }
@keyframes lup-discovery-door-open { 0% { opacity:.93; transform:perspective(900px) rotateY(0deg); } 100% { opacity:0; transform:perspective(900px) rotateY(-86deg); } }
@media (max-width:360px) { .lup-discovery-door__grip { left:4px; min-width:94px; width:calc(100% - 45px); }.lup-discovery-door__copy { left:15px; width:calc(100% - 58px); font-size:8.5px; } }
@media (prefers-reduced-motion:reduce) { .lup-discovery-card--door-opening .lup-discovery-card__door-leaf { animation:none; opacity:0; } }

/* Shared placement for open and locked states; the old chat-button focus glow
   must not turn a physical handle into a green rectangle on touch. */
.lup-discovery-entry { margin-right:17px; margin-bottom:48px; margin-left:33px; }
.lup-discovery-door,.lup-discovery-door:hover,.lup-discovery-door:focus,.lup-discovery-door:focus-visible,.lup-discovery-door:active { outline:0; background:transparent; box-shadow:none; }
.lup-discovery-door__handle { transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(var(--lup-pull-angle,0deg)); }
.lup-discovery-entry__locked { min-height:74px; padding:0; align-self:center; justify-content:center; border:0; border-radius:0; background:transparent; box-shadow:none; }
.lup-discovery-entry__lock { display:grid; width:42px; height:42px; place-items:center; background:transparent; color:color-mix(in srgb,var(--discovery-accent) 88%,#effcff); }
.lup-discovery-entry__lock .material-icons { color:inherit; font-size:28px; filter:drop-shadow(0 0 7px color-mix(in srgb,var(--discovery-accent) 56%,transparent)); }
@media (max-width:360px) { .lup-discovery-entry { margin-bottom:36px; margin-left:25px; }.lup-discovery-entry__lock { width:38px; height:38px; } }

/* Final handle direction: a single tubular light, not an outlined button. */
.lup-discovery-entry { margin-bottom:88px; }
.lup-discovery-entry__qr { transform:translate3d(0,-11px,0); }
.lup-discovery-door { position:relative; top:-11px; min-height:68px; }
.lup-discovery-door__handle { height:68px; transform-origin:-41px 34px; }
.lup-discovery-door__grip { top:39px; left:4px; width:calc(100% - 68px); min-width:104px; height:4px; border:0; border-radius:999px; background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 96%,#effcff),color-mix(in srgb,var(--discovery-accent) 56%,#eafcff)); box-shadow:0 0 7px var(--discovery-glow),0 0 15px color-mix(in srgb,var(--discovery-accent) 34%,transparent); transform:none; }
.lup-discovery-door__grip::before { position:absolute; top:-5px; left:-5px; width:13px; height:13px; content:''; border-radius:50%; background:color-mix(in srgb,var(--discovery-accent) 90%,#effcff); box-shadow:0 0 10px var(--discovery-glow); }
.lup-discovery-door__grip::after { position:absolute; top:-10px; right:-17px; width:23px; height:23px; content:''; border:3px solid color-mix(in srgb,var(--discovery-accent) 82%,#effcff); border-left:0; border-radius:0 18px 18px 0; box-shadow:0 0 10px var(--discovery-glow); }
.lup-discovery-door__copy { top:15px; left:3px; width:calc(100% - 55px); color:#f7fbff; font-size:9px; font-weight:850; letter-spacing:.12em; text-align:left; text-shadow:0 1px 6px rgba(0,0,0,.86); }
.lup-discovery-door.is-pulling .lup-discovery-door__handle { transform:translate3d(0,var(--lup-up-pull,0px),0) rotate(var(--lup-pull-angle,0deg)); }
.lup-discovery-entry__locked { position:relative; top:-11px; }
@media (max-width:360px) { .lup-discovery-entry { margin-bottom:66px; }.lup-discovery-door__grip { min-width:86px; width:calc(100% - 53px); }.lup-discovery-door__copy { font-size:7.5px; letter-spacing:.08em; } }

/* Room gateway: a clear, quiet entry point instead of a faux door handle.
   QR remains its own action; the conversation entry has no copy inside its light. */
.lup-discovery-entry { grid-template-columns:74px minmax(0,1fr); min-height:88px; margin-bottom:28px; }
.lup-discovery-entry__qr { transform:translate3d(0,8px,0); }
.lup-discovery-gateway,.lup-discovery-gateway:hover,.lup-discovery-gateway:focus,.lup-discovery-gateway:focus-visible,.lup-discovery-gateway:active {
	position:relative;
	display:grid;
	min-height:74px;
	padding:0;
	align-self:center;
	transform:translate3d(0,8px,0);
	justify-items:center;
	gap:5px;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	color:#e9fff1;
	outline:0;
	-webkit-tap-highlight-color:transparent;
}
.lup-discovery-gateway::before,.lup-discovery-gateway::after,.lup-discovery-gateway > .material-icons { display:none; }
.lup-discovery-gateway__mark { position:relative; display:grid; width:min(176px,74vw); height:39px; grid-template-columns:1fr 42px 1fr; align-items:center; column-gap:9px; }
.lup-discovery-gateway__rail { display:block; height:1px; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--discovery-accent) 88%,#eaffff)); box-shadow:0 0 10px var(--discovery-glow); }
.lup-discovery-gateway__rail:last-child { background:linear-gradient(90deg,color-mix(in srgb,var(--discovery-accent) 88%,#eaffff),transparent); }
.lup-discovery-gateway__core { position:relative; display:grid; width:39px; height:39px; place-items:center; border:1px solid color-mix(in srgb,var(--discovery-accent) 82%,#ecffff); border-radius:50%; background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.32),transparent 24%),color-mix(in srgb,var(--discovery-accent) 24%,rgba(9,19,33,.68)); box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 0 6px color-mix(in srgb,var(--discovery-accent) 5%,transparent),0 0 17px var(--discovery-glow); color:#efffff; }
.lup-discovery-gateway__core::after { position:absolute; inset:-8px; content:''; border:1px solid color-mix(in srgb,var(--discovery-accent) 40%,transparent); border-radius:50%; opacity:.72; animation:lup-discovery-gateway-pulse 2.8s ease-out infinite; }
.lup-discovery-gateway__core .material-icons { font-size:18px; text-shadow:0 2px 5px rgba(0,0,0,.48); }
.lup-discovery-gateway__label { color:color-mix(in srgb,var(--discovery-accent) 66%,#e8fff0); font-size:8px; font-weight:850; letter-spacing:.14em; line-height:1; text-transform:uppercase; }
.lup-discovery-gateway:active .lup-discovery-gateway__core { transform:scale(.92); filter:brightness(1.15); }
.lup-discovery-card__door-leaf { display:none; }
.lup-discovery-entry__locked { top:auto; transform:translate3d(0,8px,0); }
@keyframes lup-discovery-gateway-pulse { 0% { opacity:.78; transform:scale(.72); } 78%,100% { opacity:0; transform:scale(1.52); } }
@media (max-width:360px) { .lup-discovery-entry { grid-template-columns:65px minmax(0,1fr); min-height:78px; margin-bottom:21px; }.lup-discovery-entry__qr { transform:translate3d(0,6px,0); }.lup-discovery-gateway,.lup-discovery-gateway:hover,.lup-discovery-gateway:focus,.lup-discovery-gateway:focus-visible,.lup-discovery-gateway:active { transform:translate3d(0,6px,0); }.lup-discovery-entry__locked { transform:translate3d(0,6px,0); }.lup-discovery-gateway__mark { width:min(145px,70vw); grid-template-columns:1fr 35px 1fr; column-gap:7px; }.lup-discovery-gateway__core { width:34px; height:34px; }.lup-discovery-gateway__label { font-size:7px; } }
@media (prefers-reduced-motion:reduce) { .lup-discovery-gateway__core::after { animation:none; } }

/* Keep route and distance as one landmark; lower it without disturbing entry controls. */
.lup-discovery-card__anchor { transform:translate3d(0,16px,0); }
@media (max-width:360px) { .lup-discovery-card__anchor { transform:translate3d(0,12px,0); } }

/* Final optical alignment: QR and the matching chat/lock marker share one
   axis, lifted slightly from the lower edge and offset from the card centre. */
.lup-discovery-entry { margin-right:9px; margin-bottom:38px; margin-left:42px; }
.lup-discovery-entry__qr { transform:translate3d(0,4px,0); }
.lup-discovery-gateway,.lup-discovery-gateway:hover,.lup-discovery-gateway:focus,.lup-discovery-gateway:focus-visible,.lup-discovery-gateway:active { transform:translate3d(0,4px,0); }
.lup-discovery-entry__locked { transform:translate3d(0,4px,0); }
@media (max-width:360px) { .lup-discovery-entry { margin-right:7px; margin-bottom:30px; margin-left:31px; }.lup-discovery-entry__qr,.lup-discovery-gateway,.lup-discovery-gateway:hover,.lup-discovery-gateway:focus,.lup-discovery-gateway:focus-visible,.lup-discovery-gateway:active,.lup-discovery-entry__locked { transform:translate3d(0,3px,0); } }

/* Location name is the primary destination; the map is a compact route aid. */
.lup-discovery-card__identity { padding-right:38px; }
.lup-discovery-card__open-mark { position:absolute; top:28px; right:0; display:grid; width:27px; height:27px; place-items:center; border:1px solid color-mix(in srgb,var(--discovery-accent) 40%,transparent); border-radius:10px 10px 10px 3px; background:color-mix(in srgb,var(--discovery-accent) 10%,rgba(7,15,28,.22)); box-shadow:0 0 13px color-mix(in srgb,var(--discovery-accent) 10%,transparent); color:color-mix(in srgb,var(--discovery-accent) 86%,#effcff); }
.lup-discovery-card__open-mark .material-icons { font-size:16px; }
.lup-discovery-card__anchor { min-height:148px; }
.lup-discovery-card__symbol { width:64px; height:64px; box-shadow:inset 0 1px 0 rgba(255,255,255,.31),0 0 0 7px color-mix(in srgb,var(--discovery-accent) 4%,transparent),0 0 25px var(--discovery-glow); }
.lup-discovery-card__symbol::after { inset:-11px -10px -14px -13px; }
.lup-discovery-card__symbol .material-icons { font-size:34px; }
@media (max-width:360px) { .lup-discovery-card__identity { padding-right:33px; }.lup-discovery-card__open-mark { top:25px; width:24px; height:24px; }.lup-discovery-card__open-mark .material-icons { font-size:14px; }.lup-discovery-card__anchor { min-height:132px; }.lup-discovery-card__symbol { width:57px; height:57px; }.lup-discovery-card__symbol .material-icons { font-size:31px; } }

/* --------------------------------------------------------------------------
   Ortsrad — a location is one instrument, not a stack of unrelated cards.
   Only transform and opacity animate so the native touch rail stays fluent.
   -------------------------------------------------------------------------- */
.nearby .location-categories {
	position:relative;
	gap:6px;
	padding:5px 14px 11px;
	background:
		radial-gradient(ellipse 72% 78% at 50% 114%,rgba(55,123,187,.10),transparent 70%),
		linear-gradient(180deg,rgba(8,13,24,.76) 0%,rgba(9,16,29,.42) 74%,rgba(9,16,29,0) 100%);
	border-bottom:0;
	mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
.nearby .location-categories::after { display:none; }
.nearby .location-categories button {
	position:relative;
	display:grid;
	min-width:54px;
	min-height:48px;
	padding:6px 8px;
	place-items:center;
	border:1px solid rgba(176,217,255,.12);
	border-radius:18px 18px 8px 18px;
	background:rgba(18,31,51,.34);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
	color:#aabbd0;
	font-size:7px;
	transition:transform 180ms ease,background 180ms ease,border-color 180ms ease,box-shadow 180ms ease;
}
.nearby .location-categories button::before { width:4px; height:4px; content:''; border-radius:50%; background:rgba(151,185,219,.5); box-shadow:0 0 0 rgba(118,205,255,0); transition:background 180ms ease,box-shadow 180ms ease; }
.nearby .location-categories button .material-icons { font-size:18px; }
.nearby .location-categories button span { display:block; max-width:47px; margin-top:1px; line-height:1.05; text-align:center; }
.nearby .location-categories button.active {
	border-color:color-mix(in srgb,#8fd7ff 52%,transparent);
	background:linear-gradient(145deg,rgba(105,195,255,.22),rgba(54,79,151,.25));
	box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 0 15px rgba(87,185,255,.15);
	color:#f3fbff;
	transform:translate3d(0,-1px,0);
}
.nearby .location-categories button.active::before { background:#bff6ff; box-shadow:0 0 10px rgba(105,221,255,.75); }

.nearby .location-rail {
	position:relative;
	padding:8px 7% 28px;
	scroll-padding-inline:7%;
	background:transparent;
}
.nearby .location-rail::before {
	inset:-82px -20% 0;
	background:
		radial-gradient(circle at 18% 31%,rgba(130,218,255,.42) 0 1px,transparent 2px),
		radial-gradient(circle at 77% 23%,rgba(173,136,255,.35) 0 1px,transparent 2px),
		radial-gradient(circle at 67% 68%,rgba(108,197,255,.27) 0 1px,transparent 2px),
		radial-gradient(circle at 34% 76%,rgba(188,151,255,.25) 0 1px,transparent 2px),
		radial-gradient(ellipse 35% 27% at 50% 39%,rgba(79,140,223,.09),transparent 72%);
	opacity:.72;
	animation:lup-orbit-field-drift 16s ease-in-out infinite alternate;
}
.nearby .location-rail::after {
	position:absolute;
	inset:8% 5% 12%;
	content:'';
	pointer-events:none;
	border:0;
	border-radius:50%;
	box-shadow:0 0 90px rgba(68,139,217,.06);
}
.nearby .location-rail .lup-room-slide-outer {
	padding:0 7px;
	transform:translate3d(0,var(--lup-rail-lift,7px),0) scale(var(--lup-rail-scale,.93));
	transition:transform 180ms cubic-bezier(.2,.8,.2,1),opacity 150ms linear;
}
.nearby .location-rail.location-rail-dragging { scroll-snap-type:none; }
@media (min-width:760px) {
	.nearby .location-rail {
		padding-right:max(7%,calc((100% - 560px) / 2));
		padding-left:max(7%,calc((100% - 560px) / 2));
		scroll-padding-inline:max(7%,calc((100% - 560px) / 2));
	}
}
.nearby .location-rail.location-rail-dragging .lup-room-slide-outer {
	transition:none;
}

.lup-orbit-card {
	--orbit-accent:var(--discovery-accent,#89c9ef);
	--orbit-glow:var(--discovery-glow,rgba(96,190,230,.24));
	position:relative;
	display:flex;
	min-height:min(548px,calc(100svh - 232px));
	overflow:hidden;
	flex-direction:column;
	border:1px solid color-mix(in srgb,var(--orbit-accent) 37%,rgba(211,239,255,.13));
	border-radius:50% 50% 34px 34px / 14% 14% 7% 7%;
	background:
		radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--orbit-accent) 16%,transparent),transparent 28%),
		linear-gradient(160deg,rgba(20,34,57,.86),rgba(7,13,25,.95) 62%,rgba(5,10,19,.98));
	box-shadow:inset 0 1px 0 rgba(255,255,255,.15),inset 0 0 52px color-mix(in srgb,var(--orbit-accent) 5%,transparent),0 24px 48px rgba(0,0,0,.30),0 0 34px color-mix(in srgb,var(--orbit-accent) 9%,transparent);
	isolation:isolate;
}
.lup-orbit-card::before {
	position:absolute;
	z-index:-1;
	top:35%; left:50%; width:130%; aspect-ratio:1;
	content:'';
	border:0;
	border-radius:50%;
	box-shadow:0 0 0 20px color-mix(in srgb,var(--orbit-accent) 3%,transparent),0 0 72px color-mix(in srgb,var(--orbit-accent) 10%,transparent);
	transform:translate3d(-50%,-50%,0);
}
.lup-orbit-card::after {
	position:absolute;
	z-index:-1;
	right:-31%; bottom:-35%; width:80%; aspect-ratio:1;
	content:'';
	border-radius:50%;
	background:
		radial-gradient(circle at 28% 23%,color-mix(in srgb,var(--orbit-accent) 68%,transparent) 0 1px,transparent 2px),
		radial-gradient(circle at 74% 31%,color-mix(in srgb,var(--orbit-accent) 48%,transparent) 0 1px,transparent 2px),
		radial-gradient(circle at 48% 72%,color-mix(in srgb,var(--orbit-accent) 39%,transparent) 0 1px,transparent 2px),
		conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb,var(--orbit-accent) 12%,transparent) 56deg,transparent 126deg,color-mix(in srgb,var(--orbit-accent) 6%,transparent) 208deg,transparent 292deg);
	filter:blur(10px);
	animation:lup-orbit-ambient-turn 24s linear infinite;
}
.lup-orbit-card__dial {
	position:absolute;
	top:34%; left:50%; width:min(310px,83vw); aspect-ratio:1;
	pointer-events:none;
	border:1px solid color-mix(in srgb,var(--orbit-accent) 27%,transparent);
	border-radius:50%;
	box-shadow:inset 0 0 30px color-mix(in srgb,var(--orbit-accent) 5%,transparent),0 0 28px color-mix(in srgb,var(--orbit-accent) 8%,transparent);
	opacity:.94;
	transform:translate3d(-50%,-50%,0) rotate(var(--lup-rail-tilt,0deg));
	transition:transform 160ms linear;
}
.lup-orbit-card__dial::before,.lup-orbit-card__dial::after {
	position:absolute;
	content:'';
	border:1px solid color-mix(in srgb,var(--orbit-accent) 16%,transparent);
	border-radius:50%;
}
.lup-orbit-card__dial::before { inset:11%; border-color:color-mix(in srgb,var(--orbit-accent) 11%,transparent); }
.lup-orbit-card__dial::after { display:none; }
.lup-orbit-card__dial span {
	position:absolute;
	top:50%; left:50%; width:7px; height:7px;
	border-radius:50%;
	background:color-mix(in srgb,var(--orbit-accent) 76%,#effcff);
	box-shadow:0 0 12px var(--orbit-glow);
	transform:rotate(calc(var(--i, 0) * 60deg)) translateY(clamp(-142px,-38vw,-116px));
}
.lup-orbit-card__dial span:nth-child(1) { --i:0; }
.lup-orbit-card__dial span:nth-child(2) { --i:1; }
.lup-orbit-card__dial span:nth-child(3) { --i:2; }
.lup-orbit-card__dial span:nth-child(4) { --i:3; }
.lup-orbit-card__dial span:nth-child(5) { --i:4; }
.lup-orbit-card__dial span:nth-child(6) { --i:5; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__dial span {
	animation:lup-orbit-dial-signal 4.8s ease-in-out infinite;
}
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__dial span:nth-child(2) { animation-delay:.18s; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__dial span:nth-child(3) { animation-delay:.36s; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__dial span:nth-child(4) { animation-delay:.54s; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__dial span:nth-child(5) { animation-delay:.72s; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__dial span:nth-child(6) { animation-delay:.90s; }

.lup-orbit-card__signage {
	position:relative;
	z-index:2;
	padding:27px 24px 0;
	text-align:center;
}
.lup-orbit-card__category {
	display:inline-flex;
	align-items:center;
	gap:7px;
	color:color-mix(in srgb,var(--orbit-accent) 82%,#ecfaff);
	font-size:8px;
	font-weight:850;
	letter-spacing:.18em;
	text-transform:uppercase;
}
.lup-orbit-card__category::before,.lup-orbit-card__category::after { display:none; }
.lup-orbit-card__identity {
	position:relative;
	display:grid;
	width:100%;
	margin:10px 0 0;
	padding:0 32px;
	border:0;
	background:transparent;
	color:#f5f9ff;
	cursor:pointer;
	font:inherit;
	text-align:center;
	touch-action:manipulation;
}
.lup-orbit-card__identity strong {
	display:block;
	font-size:clamp(24px,6.6vw,34px);
	font-weight:760;
	letter-spacing:-.058em;
	line-height:1.01;
	text-shadow:0 0 22px color-mix(in srgb,var(--orbit-accent) 22%,transparent);
	overflow-wrap:anywhere;
}
.lup-orbit-card__identity strong.room-hero-name--long { font-size:clamp(19px,5.1vw,25px); letter-spacing:-.035em; }
.lup-orbit-card__identity strong.room-hero-name--longword { font-size:clamp(17px,4.5vw,21px); letter-spacing:-.025em; }
.lup-orbit-card__identity > span {
	display:inline-flex;
	margin:6px auto 0;
	align-items:center;
	gap:4px;
	color:#afc2d8;
	font-size:10px;
}
.lup-orbit-card__identity > span .material-icons { color:var(--orbit-accent); font-size:13px; }
.lup-orbit-card__open-mark {
	position:absolute;
	top:50%; right:1px;
	width:26px; height:26px;
	display:grid;
	place-items:center;
	border:1px solid color-mix(in srgb,var(--orbit-accent) 41%,transparent);
	border-radius:50% 50% 50% 6px;
	box-shadow:0 0 14px color-mix(in srgb,var(--orbit-accent) 16%,transparent);
	color:color-mix(in srgb,var(--orbit-accent) 88%,#effcff);
	font-size:15px;
	transform:translateY(-40%);
}
.lup-orbit-card__identity:active { transform:translate3d(0,1px,0); }
.lup-orbit-card__identity:focus-visible,.lup-orbit-card__route:focus-visible,.lup-orbit-card__seal:focus-visible,.lup-orbit-card__gate:focus-visible { outline:1px solid color-mix(in srgb,var(--orbit-accent) 88%,#fff); outline-offset:5px; }

.lup-orbit-card__route {
	position:relative;
	z-index:2;
	display:grid;
	width:100%;
	min-height:194px;
	margin-top:-7px;
	place-items:center;
	color:#eefdff;
	text-decoration:none;
}
.lup-orbit-card__route::before { display:none; }
.lup-orbit-card__needle {
	position:relative;
	z-index:1;
	display:grid;
	width:80px; height:80px;
	margin-top:-18px;
	place-items:center;
	border:1px solid color-mix(in srgb,var(--orbit-accent) 70%,rgba(234,250,255,.28));
	border-radius:50% 50% 50% 13%;
	background:radial-gradient(circle at 32% 25%,rgba(255,255,255,.31),transparent 26%),color-mix(in srgb,var(--orbit-accent) 35%,rgba(8,19,35,.86));
	box-shadow:inset 0 1px 0 rgba(255,255,255,.33),0 0 0 9px color-mix(in srgb,var(--orbit-accent) 4%,transparent),0 0 29px var(--orbit-glow);
	color:#fff;
	transform:translate3d(0,-9px,0) rotate(-45deg);
}
.lup-orbit-card__needle::before {
	position:absolute;
	inset:-15px -14px -17px -17px;
	content:'';
	border:1px solid color-mix(in srgb,var(--orbit-accent) 25%,transparent);
	border-radius:50% 50% 50% 13%;
}
.lup-orbit-card__needle .material-icons { font-size:42px; text-shadow:0 3px 7px rgba(0,0,0,.28); transform:rotate(45deg); }
.lup-orbit-card__distance {
	position:absolute;
	bottom:3px; left:50%;
	display:grid;
	grid-template-columns:18px minmax(0,1fr);
	min-width:112px;
	column-gap:5px;
	align-items:center;
	color:#e7f7ff;
	transform:translateX(-50%);
}
.lup-orbit-card__distance .material-icons { grid-row:1 / span 2; color:var(--orbit-accent); font-size:17px; }
.lup-orbit-card__distance strong { font-size:17px; font-weight:820; letter-spacing:-.04em; line-height:1.02; }
.lup-orbit-card__distance small { color:color-mix(in srgb,var(--orbit-accent) 62%,#aab8cc); font-size:7px; font-weight:820; letter-spacing:.11em; line-height:1.2; text-transform:uppercase; }

.lup-orbit-card__presence {
	position:relative;
	z-index:2;
	display:flex;
	min-height:52px;
	margin:auto 22px 0;
	padding:3px 0 7px;
	align-items:center;
	justify-content:space-between;
	border-top:0;
}
.lup-orbit-card__people { display:flex; min-width:0; min-height:32px; align-items:center; padding-right:7px; }
.lup-orbit-card__people .lup-avatar,.lup-orbit-card__people > button {
	width:30px; height:30px;
	margin-left:-9px;
	border:2px solid #0b1323;
	border-radius:50%;
	box-shadow:0 4px 10px rgba(0,0,0,.26);
}
.lup-orbit-card__people .lup-avatar:first-child { margin-left:0; }
.lup-orbit-card__people > button { background:color-mix(in srgb,var(--orbit-accent) 42%,#31435f); color:#f5fbff; cursor:pointer; font:800 8px/1 inherit; }
.lup-orbit-card__people-label { display:inline-flex; min-height:32px; align-items:center; gap:5px; padding:0; border:0; background:transparent; color:#ccebdc; cursor:pointer; font:760 10px/1 inherit; }
.lup-orbit-card__people-label > span { width:7px; height:7px; border-radius:50%; background:#8395af; box-shadow:none; }
.lup-orbit-card__people-label.has-visitors > span { background:#7fe1a7; box-shadow:0 0 0 4px rgba(127,225,167,.10),0 0 12px rgba(127,225,167,.46); }
.lup-orbit-card__people-label b { color:#f2fff8; font-size:13px; }

.lup-orbit-card__entry {
	position:relative;
	z-index:2;
	display:grid;
	min-height:84px;
	margin:0 31px 12px;
	grid-template-columns:1fr 1fr;
	align-items:center;
	border-top:0;
}
.lup-orbit-card__seal,.lup-orbit-card__gate,.lup-orbit-card__lock {
	display:grid;
	width:39px; height:39px;
	place-items:center;
	border:1px solid color-mix(in srgb,var(--orbit-accent) 42%,rgba(255,255,255,.14));
	border-radius:50% 50% 50% 7px;
	background:color-mix(in srgb,var(--orbit-accent) 10%,rgba(8,17,31,.56));
	box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 16px color-mix(in srgb,var(--orbit-accent) 13%,transparent);
	color:color-mix(in srgb,var(--orbit-accent) 90%,#effcff);
}
.lup-orbit-card__seal { justify-self:center; cursor:pointer; transform:translate3d(7px,5px,0); }
.lup-orbit-card__seal .material-icons { font-size:21px; }
.lup-orbit-card__gate {
	position:relative;
	justify-self:center;
	width:54px; height:54px;
	border-radius:50%;
	background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.30),transparent 24%),color-mix(in srgb,var(--orbit-accent) 28%,rgba(8,18,32,.7));
	box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 0 7px color-mix(in srgb,var(--orbit-accent) 4%,transparent),0 0 24px var(--orbit-glow);
	cursor:pointer;
	transform:translate3d(-7px,5px,0);
}
.lup-orbit-card__gate::before,.lup-orbit-card__gate::after { display:none; }
.lup-orbit-card__gate .material-icons { font-size:23px; }
.lup-orbit-card__gate:active { transform:translate3d(-7px,5px,0) scale(.92); }
.lup-orbit-card__lock { justify-self:center; border:0; background:transparent; box-shadow:none; color:color-mix(in srgb,var(--orbit-accent) 78%,#c4d9ec); }
.lup-orbit-card__lock .material-icons { font-size:21px; }
.lup-orbit-card--live .lup-orbit-card__gate { animation:lup-orbit-gate-breath 2.7s ease-in-out infinite; }
@keyframes lup-orbit-gate-breath { 0%,100% { filter:brightness(1); } 50% { filter:brightness(1.16); } }
@keyframes lup-orbit-ambient-turn { from { transform:rotate(0deg) scale(1); } to { transform:rotate(360deg) scale(1.04); } }
@keyframes lup-orbit-field-drift { from { transform:translate3d(-2%,-1%,0) scale(1); } to { transform:translate3d(2%,2%,0) scale(1.035); } }
@keyframes lup-orbit-dial-signal { 0%,100% { opacity:.52; } 9%,18% { opacity:1; } 28% { opacity:.66; } }

@media (max-width:360px) {
	.lup-orbit-card { min-height:min(512px,calc(100svh - 217px)); }
	.lup-orbit-card__signage { padding:22px 17px 0; }
	.lup-orbit-card__identity { padding-right:27px; padding-left:27px; }
	.lup-orbit-card__identity strong { font-size:clamp(21px,6.1vw,27px); }
	.lup-orbit-card__route { min-height:174px; }
	.lup-orbit-card__needle { width:67px; height:67px; }
	.lup-orbit-card__needle .material-icons { font-size:34px; }
	.lup-orbit-card__presence { margin-right:16px; margin-left:16px; }
	.lup-orbit-card__entry { margin-right:20px; margin-bottom:10px; margin-left:20px; }
}
@media (prefers-reduced-motion:reduce) {
	.nearby .location-categories button,.nearby .location-rail .lup-room-slide-outer,.lup-orbit-card__dial { transition:none; }
	.nearby .location-rail::before,.lup-orbit-card--live .lup-orbit-card__gate,.lup-orbit-card::after,.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__dial span { animation:none; }
}

/* Location front — one quiet night field, one category signal.
   Keep the room's category colour for orientation; do not let it recolour
   every surrounding surface. */
.nearby .location-categories {
	border:1px solid rgba(183,204,233,.10);
	background:rgba(10,16,29,.58);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.nearby .location-categories button {
	--category-accent:#b9c9e8;
	color:color-mix(in srgb,var(--category-accent) 58%,#8f9caf);
	background:transparent;
}
.nearby .location-categories button:nth-child(2) { --category-accent:#9dbce4; }
.nearby .location-categories button:nth-child(3) { --category-accent:#e3ae7d; }
.nearby .location-categories button:nth-child(4) { --category-accent:#dc9bd8; }
.nearby .location-categories button:nth-child(5) { --category-accent:#86d0cd; }
.nearby .location-categories button:nth-child(6) { --category-accent:#91d39f; }
.nearby .location-categories button .material-icons {
	color:currentColor;
	text-shadow:none;
}
.nearby .location-categories button.active {
	color:var(--category-accent);
	border-color:color-mix(in srgb,var(--category-accent) 30%,transparent);
	background:color-mix(in srgb,var(--category-accent) 9%,transparent);
	box-shadow:inset 0 1px 0 color-mix(in srgb,var(--category-accent) 13%,transparent);
}
.nearby .location-categories button.active::after {
	background:var(--category-accent);
	box-shadow:0 0 9px color-mix(in srgb,var(--category-accent) 50%,transparent);
}
.lup-orbit-card {
	background:linear-gradient(148deg,rgba(18,27,45,.78),rgba(6,11,22,.86) 72%);
	border-color:color-mix(in srgb,var(--orbit-accent) 22%,rgba(205,227,249,.12));
	box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 0 42px color-mix(in srgb,var(--orbit-accent) 3%,transparent),0 24px 48px rgba(0,0,0,.27);
}
.lup-orbit-card::before { opacity:.52; }
.lup-orbit-card::after { opacity:.45; }
.lup-orbit-card__dial {
	border-color:color-mix(in srgb,var(--orbit-accent) 17%,transparent);
	box-shadow:inset 0 0 24px color-mix(in srgb,var(--orbit-accent) 3%,transparent),0 0 20px color-mix(in srgb,var(--orbit-accent) 5%,transparent);
}
.lup-orbit-card__dial span { opacity:.65; }

/* Live concept: "Wegmarke". The place is read as a direction in space,
   not as a decorative dial. The same HTML actions and swipe rail remain. */
.lup-orbit-card {
	min-height:min(554px,calc(100svh - 226px));
	border-radius:28px 28px 18px 18px / 22px 22px 18px 18px;
	background:
		radial-gradient(ellipse 68% 38% at 28% 55%,color-mix(in srgb,var(--orbit-accent) 12%,transparent),transparent 74%),
		linear-gradient(156deg,#162238 0%,#0c1526 48%,#070c16 100%);
}
.lup-orbit-card__dial { display:none; }
.lup-orbit-card__signage {
	padding:27px 26px 0;
	text-align:left;
}
.lup-orbit-card__category {
	gap:9px;
	letter-spacing:.15em;
}
.lup-orbit-card__category::before {
	display:block;
	width:26px;
	height:1px;
	content:'';
	background:var(--orbit-accent);
	box-shadow:0 0 12px var(--orbit-glow);
}
.lup-orbit-card__identity {
	margin-top:12px;
	padding:0 42px 0 0;
	text-align:left;
}
.lup-orbit-card__identity > span { margin:7px 0 0; }
.lup-orbit-card__open-mark {
	top:50%; right:0;
	width:34px; height:34px;
	border-radius:11px 11px 11px 4px;
	background:color-mix(in srgb,var(--orbit-accent) 8%,transparent);
	transform:translateY(-50%);
}
.lup-orbit-card__route {
	min-height:224px;
	margin-top:0;
	padding:0 28px;
	box-sizing:border-box;
	place-items:start;
}
.lup-orbit-card__route::before {
	position:absolute;
	z-index:0;
	inset:12px 7% 8px;
	display:block;
	content:'';
	pointer-events:none;
	background:
		radial-gradient(circle at 14% 24%,color-mix(in srgb,var(--orbit-accent) 74%,#effcff) 0 1.4px,transparent 2.4px),
		radial-gradient(circle at 76% 17%,color-mix(in srgb,var(--orbit-accent) 58%,#effcff) 0 1px,transparent 2px),
		radial-gradient(circle at 84% 61%,color-mix(in srgb,var(--orbit-accent) 67%,#effcff) 0 1.2px,transparent 2.2px),
		radial-gradient(circle at 21% 74%,color-mix(in srgb,var(--orbit-accent) 48%,#effcff) 0 .8px,transparent 1.8px),
		radial-gradient(circle at 57% 82%,color-mix(in srgb,var(--orbit-accent) 55%,#effcff) 0 1px,transparent 2px);
	filter:drop-shadow(0 0 6px color-mix(in srgb,var(--orbit-accent) 45%,transparent));
	opacity:0;
	transform:translate3d(0,0,0);
	will-change:transform,opacity;
}
.lup-orbit-card__route::after {
	position:absolute;
	z-index:0;
	inset:18px 10% 12px;
	display:block;
	content:'';
	pointer-events:none;
	background:
		radial-gradient(circle at 10% 68%,color-mix(in srgb,var(--orbit-accent) 72%,#effcff) 0 1.1px,transparent 2.2px),
		radial-gradient(circle at 36% 43%,color-mix(in srgb,var(--orbit-accent) 48%,#effcff) 0 .8px,transparent 1.8px),
		radial-gradient(circle at 66% 24%,color-mix(in srgb,var(--orbit-accent) 74%,#effcff) 0 1.4px,transparent 2.5px),
		radial-gradient(circle at 92% 38%,color-mix(in srgb,var(--orbit-accent) 42%,#effcff) 0 .8px,transparent 1.8px);
	filter:drop-shadow(0 0 6px color-mix(in srgb,var(--orbit-accent) 42%,transparent));
	opacity:0;
	will-change:transform,opacity;
}
.lup-orbit-card__needle {
	width:92px; height:92px;
	margin:31px 0 0 calc(37% - 46px);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 0 11px color-mix(in srgb,var(--orbit-accent) 4%,transparent),0 0 37px var(--orbit-glow);
	transform:rotate(-45deg);
}
.lup-orbit-card__distance {
	bottom:31px; left:calc(37% + 59px);
	z-index:1;
	transform:none;
}
.lup-orbit-card__presence {
	margin:0 26px;
	padding:15px 0 12px;
	border-top:0;
}
.lup-orbit-card__entry {
	min-height:68px;
	margin:0 26px 13px;
	grid-template-columns:39px 54px;
	justify-content:center;
	column-gap:44px;
	margin-bottom:5px;
	border-top:0;
	transform:translate3d(0,8px,0);
}
.lup-orbit-card__seal,.lup-orbit-card__gate,.lup-orbit-card__lock { justify-self:center; transform:none; }
.lup-orbit-card__gate:active { transform:scale(.92); }

/* The selected place has a living field: background particles drift toward
   its marker while the marker emits one restrained, category-coloured signal. */
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card::before {
	animation:lup-orbit-field-drift 12s cubic-bezier(.38,.05,.3,1) infinite alternate;
}
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__needle::before {
	animation:lup-orbit-needle-signal 3.8s cubic-bezier(.24,.72,.32,1) infinite;
}
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__route::before {
	animation:lup-orbit-particle-pass-one 5.8s cubic-bezier(.18,.72,.28,1) infinite;
}
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__route::after {
	animation:lup-orbit-particle-pass-two 7.4s cubic-bezier(.22,.68,.32,1) 1.1s infinite;
}
@keyframes lup-orbit-needle-signal {
	0%,100% { opacity:.32; transform:scale(.94); }
	38% { opacity:.86; transform:scale(1.16); }
	62% { opacity:.48; transform:scale(1.05); }
}
@keyframes lup-orbit-particle-pass-one {
	0%,12% { opacity:0; transform:translate3d(-46px,22px,0) scale(.88); }
	28% { opacity:.72; }
	70% { opacity:.46; }
	100% { opacity:0; transform:translate3d(70px,-34px,0) scale(1.08); }
}
@keyframes lup-orbit-particle-pass-two {
	0%,16% { opacity:0; transform:translate3d(52px,-25px,0) scale(.9); }
	33% { opacity:.58; }
	74% { opacity:.34; }
	100% { opacity:0; transform:translate3d(-66px,38px,0) scale(1.06); }
}
@media (prefers-reduced-motion:reduce) {
	.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card::before,
	.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__needle::before,
	.lup-orbit-card__route::before,.lup-orbit-card__route::after { animation:none; }
}

/* Independent particles replace the repeated "star group".  They share a
   direction field, but each point has a different route, pace and arrival. */
.lup-orbit-card__route::before,.lup-orbit-card__route::after { display:none; }
.lup-orbit-card__particles {
	position:absolute;
	z-index:0;
	inset:8px 3% 5px;
	overflow:hidden;
	pointer-events:none;
}
.lup-orbit-card__particles i {
	position:absolute;
	display:block;
	width:4px; height:4px;
	border-radius:50%;
	background:color-mix(in srgb,var(--orbit-accent) 78%,#effcff);
	box-shadow:0 0 7px color-mix(in srgb,var(--orbit-accent) 76%,transparent),0 0 15px var(--orbit-glow);
	opacity:0;
	will-change:transform,opacity;
}
.lup-orbit-card__particles i:nth-child(1) { top:18%; left:7%; }
.lup-orbit-card__particles i:nth-child(2) { top:67%; left:15%; width:3px; height:3px; }
.lup-orbit-card__particles i:nth-child(3) { top:32%; right:4%; width:5px; height:5px; }
.lup-orbit-card__particles i:nth-child(4) { top:79%; left:43%; width:2px; height:2px; }
.lup-orbit-card__particles i:nth-child(5) { top:8%; left:53%; width:3px; height:3px; }
.lup-orbit-card__particles i:nth-child(6) { top:52%; right:18%; width:2px; height:2px; }
.lup-orbit-card__particles i:nth-child(7) { top:89%; right:8%; width:4px; height:4px; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__particles i:nth-child(1) { animation:lup-orbit-current-a 7.1s cubic-bezier(.19,.7,.28,1) .2s infinite; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__particles i:nth-child(2) { animation:lup-orbit-current-b 8.9s cubic-bezier(.22,.65,.31,1) 1.4s infinite; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__particles i:nth-child(3) { animation:lup-orbit-current-c 6.4s cubic-bezier(.24,.73,.34,1) 2.8s infinite; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__particles i:nth-child(4) { animation:lup-orbit-current-a 10.3s cubic-bezier(.18,.68,.25,1) 3.6s infinite; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__particles i:nth-child(5) { animation:lup-orbit-current-b 9.7s cubic-bezier(.2,.75,.3,1) 4.4s infinite; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__particles i:nth-child(6) { animation:lup-orbit-current-c 7.8s cubic-bezier(.21,.68,.32,1) 5.5s infinite; }
.lup-room-slide-outer.lup-room-slide-current .lup-orbit-card__particles i:nth-child(7) { animation:lup-orbit-current-a 11.6s cubic-bezier(.2,.7,.3,1) 6.1s infinite; }
@keyframes lup-orbit-current-a {
	0%,16% { opacity:0; transform:translate3d(-30px,24px,0) scale(.55); }
	29% { opacity:.78; }
	62% { opacity:.38; transform:translate3d(46px,-34px,0) scale(1.04); }
	100% { opacity:0; transform:translate3d(76px,-58px,0) scale(.72); }
}
@keyframes lup-orbit-current-b {
	0%,19% { opacity:0; transform:translate3d(40px,-30px,0) scale(.5); }
	33% { opacity:.6; }
	67% { opacity:.32; transform:translate3d(-38px,37px,0) scale(1.12); }
	100% { opacity:0; transform:translate3d(-70px,58px,0) scale(.65); }
}
@keyframes lup-orbit-current-c {
	0%,14% { opacity:0; transform:translate3d(-10px,48px,0) scale(.48); }
	30% { opacity:.72; }
	69% { opacity:.28; transform:translate3d(23px,-46px,0) scale(1.08); }
	100% { opacity:0; transform:translate3d(38px,-76px,0) scale(.62); }
}
@media (prefers-reduced-motion:reduce) {
	.lup-orbit-card__particles i { animation:none; }
}
@media (max-width:360px) {
	.lup-orbit-card__signage { padding-right:20px; padding-left:20px; }
	.lup-orbit-card__route { min-height:201px; padding-right:22px; padding-left:22px; }
	.lup-orbit-card__needle { width:78px; height:78px; margin-left:calc(37% - 39px); }
	.lup-orbit-card__distance { left:calc(37% + 49px); bottom:25px; }
	.lup-orbit-card__presence,.lup-orbit-card__entry { margin-right:20px; margin-left:20px; }
}
