/* Release 554: venue drawer polish (visual only; no handlers, IDs, activities or audio touched).
   One close control, a steady header, compact shared links, each venue panel as a clear card, 44px tap targets,
   readable contrast and visible keyboard focus. Scoped to the drawer opened by "✦ Dive into …". */
html body dialog.m551-dialog .vs-x,html body dialog.m551-dialog>.s144-share{display:none!important}
html body dialog.m551-dialog .m551-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 10px 8px 14px;box-shadow:0 2px 10px #2a174524}
html body dialog.m551-dialog .m551-head h2{flex:1;min-width:0;margin:0;font:800 18px/1.25 system-ui,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body dialog.m551-dialog .m551-close{min-height:44px!important;min-width:64px;border-radius:12px!important}
html body dialog.m551-dialog .m551-body{padding:12px 14px calc(28px + env(safe-area-inset-bottom,0px))!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* Shared links: music full width, contact and website side by side. */
html body dialog.m551-dialog .vm553-common{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding-bottom:12px!important}
html body dialog.m551-dialog .vm553-common>.vm553-music:first-child{grid-column:1/-1}
html body dialog.m551-dialog .vm553-common>*{margin:0!important;min-height:48px;border-radius:12px!important;display:flex!important;flex-direction:column;justify-content:center;text-align:left}
html body dialog.m551-dialog .vm553-common>a.m551-link{font-size:13px!important;line-height:1.25}
/* "Things to do here": the venue's own panels become clear cards. */
html body dialog.m551-dialog .m551-body>section>h3{margin:16px 0 2px;font:800 16px/1.3 system-ui,sans-serif;letter-spacing:.01em}
html body dialog.m551-dialog .m551-note{margin:0 0 6px;font-size:13px;opacity:.85}
html body dialog.m551-dialog[open] :is(.ra-panel,.pr-panel,.vs,.b535-room,.m519,.venue-audio-label){margin:10px 0!important;padding:12px!important;border:1px solid #e3d6ee!important;border-radius:14px!important;background:#fffdf9!important;box-shadow:none!important;box-sizing:border-box}
html body dialog.m551-dialog .ra-row{display:grid!important;grid-template-columns:1fr;gap:8px}
html body dialog.m551-dialog .ra-row>button{width:100%;text-align:left;justify-content:flex-start}
html body dialog.m551-dialog :is(.vs-deep,.vs-chip){width:100%;text-align:left}
html body dialog.m551-dialog .vs-chips{display:grid!important;grid-template-columns:1fr;gap:8px}
/* Tap targets and focus. */
html body dialog.m551-dialog .m551-body :is(button,a[href],select,summary,input:not([type=checkbox]):not([type=radio]):not([type=range])){min-height:44px;box-sizing:border-box}
html body dialog.m551-dialog .m551-body a[href]:not(.m551-link){display:inline-flex;align-items:center;padding-inline:12px}
html body dialog.m551-dialog .m551-body button{padding-inline:12px}
html body dialog.m551-dialog details>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:10px 0 4px;border-radius:12px;background:#f3ecf8;color:#3b2353;font:700 14px/1.3 system-ui;cursor:pointer;list-style:none}
html body dialog.m551-dialog details>summary::-webkit-details-marker{display:none}
html body dialog.m551-dialog details>summary::before{content:'▸';transition:transform .15s}
html body dialog.m551-dialog details[open]>summary::before{transform:rotate(90deg)}
html body dialog.m551-dialog :is(button,a,summary,select,input):focus-visible{outline:3px solid #f4cf79!important;outline-offset:2px}
/* Readable headings on the dark daily-prayer card (was about 1:1). */
html body dialog.m551-dialog [data-prayer-radio323] :is(h2,h3),html body .pr-panel [data-prayer-radio323] :is(h2,h3){color:#fff7df!important}
@media (prefers-reduced-motion:reduce){html body dialog.m551-dialog details>summary::before{transition:none}}

/* 564: a clean 3D view on a radio trip — the WakaGospel zone row, Contact, install, street-sound and clean-screen icons step
   aside (all reachable from Dive into / Change destination); the arrival note fades after a few seconds. */
body.radio530-map .gl-zone-bar,body.radio530-map :is(.wo-fab,.install218,.waka-sound290,.nav-clean){display:none!important}
body.radio530-map .rt530-map-status{animation:fade564 .8s 5s forwards}
@keyframes fade564{to{opacity:0;visibility:hidden}}
/* 564: collapsed activity sections look like something to tap. */
html body dialog.m551-dialog details>summary{background:linear-gradient(120deg,#f4cf79,#ffe3a3)!important;color:#30203e!important;border:2px solid #d9a63c;box-shadow:0 3px 10px #b8862f33;font-weight:800!important;flex-wrap:wrap}
html body dialog.m551-dialog details:not([open])>summary::after{content:'👇 Tap to open';margin-left:auto;padding:3px 10px;border-radius:999px;background:#59346f;color:#fff;font:800 12px/1.4 system-ui}
html body dialog.m551-dialog details[open]>summary::after{content:'Hide';margin-left:auto;padding:3px 10px;border-radius:999px;background:#efe6f7;color:#4b2a63;font:700 12px/1.4 system-ui}
@media (prefers-reduced-motion:no-preference){html body dialog.m551-dialog details:not([open])>summary{animation:nudge564 1.6s ease-in-out 2}}
@keyframes nudge564{50%{transform:translateY(-2px);box-shadow:0 6px 16px #b8862f55}}
/* 564: the camera says what it does. */
.waka-dock .t159-cam{position:relative;overflow:visible!important}
.waka-dock .t159-cam::before{content:'📍 Share\A location';white-space:pre;text-align:center;position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 7px);padding:3px 7px;border-radius:10px;background:#59346f;color:#fff;font:800 10.5px/1.2 system-ui;box-shadow:0 3px 10px #0003;pointer-events:none}
.waka-dock .t159-cam::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 2px);border:5px solid transparent;border-top-color:#59346f;border-bottom:0;pointer-events:none}/* 566: two short lines, centred on the camera */

html body.radio530-map:has(#scene) :is(nav.waka-trust-links .wo-fab,.map-utilities218 .wo-fab){display:none!important}

/* 565: radio trips — use the empty band at the top: the level/coins row sits at the top, the arrival note shows near the
   bottom instead, and the community bar is a little more compact (it is placed just below the row automatically). */
html body.radio530-map:has(#scene) .map-status227{top:6px!important}
body.radio530-map .rt530-map-status{top:auto!important;bottom:calc(150px + env(safe-area-inset-bottom,0px))!important}
@media (max-width:600px){html body.radio530-map .c534 .bar{gap:5px!important;padding:4px 6px!important}
 html body.radio530-map .c534 .bar button{min-height:36px!important;padding:0 9px!important;font-size:13px!important}
 html body.radio530-map .c534 .bar>span{font-size:12px}}
/* 565: "All faith activities" holds most of a venue's activities — say so. */
html body dialog.m551-dialog .faith-primary196,html body .ra-panel .faith-primary196{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 10px;text-align:left;height:auto!important;padding:10px 14px!important}
html body dialog.m551-dialog .faith-primary196::after,html body .ra-panel .faith-primary196::after{content:'👆 Tap to open · 20+ activities';display:inline-block;padding:4px 10px;border-radius:999px;background:#ffd27a;color:#30203e;font:800 12px/1.3 system-ui;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){html body dialog.m551-dialog .faith-primary196{animation:faith565 1.8s ease-in-out 3}}
@keyframes faith565{50%{box-shadow:0 0 0 5px #ffd27a88}}
/* 565: an empty collapsed section is not shown. */
html body dialog.m551-dialog details:not(:has(:is(button,a,input,select):not(summary *))){display:none!important}
/* 567: on phones the daily-goals pill gets its own row above the "Dive into" launcher and the camera's Share location tag, and stays left of the walking arrows while closed (tap it to open full width). Arranged, not stacked. */
html body.mobile218:has(#scene) section.life-goal.life-goal:not(.x567){bottom:calc(146px + env(safe-area-inset-bottom,0px))!important;left:8px!important;right:auto!important;width:auto!important;max-width:calc(100% - 16px)!important}
html body.mobile218:has(#scene) section.life-goal.life-goal:not(.open):not(.x567){max-width:calc(100% - 160px)!important}
/* 567 (wide screens): the "🎁 Free" chip moves below the community bar, and the Terms/Privacy panel (placed above the dock by official166.js) lifts 34px clear of the camera's Share location tag. */
@media (min-width:700px){html body:has(#scene):has(section.c534) button.bp-chip.bp-chip{top:202px!important}
html body:has(#scene) nav.waka-trust-links.waka-trust-links{margin-bottom:34px!important}}
/* 567 (tablet widths): the "You are in" zone bar moves right, under Tools and Clean screen, off the level/coins row; "Dive into" sits above the Terms/Privacy panel, clear of the bottom bar. */
@media (min-width:700px) and (max-width:1000px){html body:has(#scene) div.gl-zone-bar.gl-zone-bar{left:auto!important;right:12px!important;top:166px!important;transform:none!important}
html body:has(#scene) button.m551-launch.m551-launch{bottom:214px!important}}
/* 574: no more folded "More venue features" / "View, visibility & sound". The venue's own activities sit under "Things to do
   here" (repeated controls hidden, nothing shown when empty); the privacy switch and a labelled camera row share one card. */
html body dialog.m551-dialog .vm574-dup{display:none!important}
html body dialog.m551-dialog #studio-more551.vm574-empty{display:none!important}
html body dialog.m551-dialog .vm574-you{margin:12px 0 0;padding:12px;border:1px solid #e3d6ee;border-radius:14px;background:#fffdf9;box-sizing:border-box}
html body dialog.m551-dialog .vm574-you:empty{display:none}
html body dialog.m551-dialog .vm574-cam{margin:12px 0 6px;font:700 13px/1.3 system-ui,sans-serif;color:#5b4a73}
html body dialog.m551-dialog .vm574-you>*:first-child{margin-top:0}
html body dialog.m551-dialog #world-camera181{position:static!important;inset:auto!important;display:flex!important;flex-wrap:wrap;gap:8px;transform:none!important;background:none!important;box-shadow:none!important;border:0!important;padding:0!important;width:auto!important;height:auto!important}
html body dialog.m551-dialog #world-camera181 button{display:inline-flex!important;align-items:center;gap:6px;width:auto!important;height:auto!important;min-height:40px;padding:6px 12px!important;border-radius:999px!important;font:600 13px/1.2 system-ui,sans-serif}
html body dialog.m551-dialog #world-camera181 button::after{content:attr(title)}
html body dialog.m551-dialog #world-camera181 button svg{width:18px;height:18px;flex:0 0 auto}
html body dialog.m551-dialog #studio-more551 .room-activities .room-exit,html body dialog.m551-dialog #studio-more551 .room-activities .room-toggle{display:none!important}
/* 574: the old room panel was a floating card; inside the drawer it flows like the rest. */
html body dialog.m551-dialog #studio-more551{margin:10px 0 0}
html body dialog.m551-dialog #studio-more551 .room-activities{position:static!important;inset:auto!important;transform:none!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important;display:flex!important;flex-direction:column;gap:8px}
html body dialog.m551-dialog #studio-more551 .room-activities>*{position:static!important;margin:0!important;max-height:none!important}
html body dialog.m551-dialog #studio-more551 .room-activity-links{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
html body dialog.m551-dialog #studio-more551 .studio-artists{display:grid!important;gap:8px}
html body dialog.m551-dialog #studio-more551 .studio-artists article{position:static!important;margin:0!important;padding:12px!important;border:1px solid #e3d6ee;border-radius:14px;background:#fff}
html body dialog.m551-dialog #world-camera181 button{flex-direction:row!important;border:1px solid #d9cbe8!important;background:#f3ecf8!important;color:#3b2353!important;box-shadow:none!important}
html body dialog.m551-dialog .vm574-you a{display:inline-flex!important;font-size:14px!important}
