/* Island map: rules copied verbatim from live.lovebird.show live.css (sha256 4a621688...), so play
   and live draw ONE map. Re-extract, never restyle. Play-only medallion rules follow the block. */
#island-map{position:fixed;inset:0;z-index:60;overflow:hidden;background:radial-gradient(ellipse at 63% 35%,#674c8059,transparent 48%),linear-gradient(145deg,#151020 0%,#22172c 46%,#101823 100%);isolation:isolate;touch-action:none}
#island-map[hidden]{display:none!important}
#island-map canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab}
#island-map canvas:active{cursor:grabbing}
.island-map-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 52% 50%,transparent 32%,#08071088 83%,#080710d9 100%),linear-gradient(118deg,#e6b6d20a,transparent 40%);z-index:2}
#island-map>header{position:absolute;z-index:6;left:max(28px,env(safe-area-inset-left));top:max(30px,env(safe-area-inset-top));display:block;padding:0;pointer-events:none;max-width:min(460px,70vw)}
#island-map>header small{display:block;color:#d9b782;letter-spacing:.27em;font:9px/1.2 Arial,sans-serif}
#island-map>header h2{font:500 clamp(33px,5.2vw,74px)/.9 'Display',Impact,sans-serif;letter-spacing:-.025em;margin:13px 0 10px;text-wrap:balance}
#island-map>header p{font:10px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#c9b9ce;text-transform:uppercase;margin:0}
.island-map-pins{position:absolute;inset:0;z-index:5;pointer-events:none}
.island-map-pins>button{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;display:flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 10px 7px 7px;border-radius:18px;background:#171321d9;border:1px solid #fff3;box-shadow:0 5px 18px #0009;color:#fff;font:600 9px/1 Arial,sans-serif;letter-spacing:.05em;transition:transform .2s,border-color .2s,opacity .2s}
.island-map-pins>button:hover,.island-map-pins>button:focus-visible{transform:translate(-50%,-100%) scale(1.08);border-color:#fff8}
.island-map-pins>button i{display:block;width:10px;height:10px;border-radius:50%;background:#768079;box-shadow:0 0 0 3px #82908a26}
.island-map-pins>button[data-status=available] i{background:#76f29f;box-shadow:0 0 0 3px #76f29f22,0 0 15px #76f29f99}
.island-map-pins>button[data-status=coming-soon]{opacity:.62;cursor:default}
.island-map-pins>button[data-status=coming-soon] span:after{content:' · SOON';font-size:7px;color:#a99ead}
.island-map-pins>button[aria-pressed=true]{border-color:#dfffe9;box-shadow:0 7px 25px #000b,0 0 0 2px #76f29f55}
.island-map-card{position:absolute;z-index:7;right:auto;bottom:auto;overflow:clip;isolation:isolate;transform:translate(-50%,calc(-100% - 26px));width:min(310px,calc(100vw - 30px));padding:28px 34px 25px;border:0;border-radius:47% 53% 49% 51%/40% 44% 56% 60%;background:radial-gradient(circle at 21% 8%,#fff8 0,transparent 34%),radial-gradient(circle at 82% 88%,#50edb64d 0,transparent 43%),linear-gradient(145deg,#5e4369df 0%,#292034e8 47%,#112d32e3 100%);box-shadow:0 22px 55px #05030bc7,0 0 42px #6af1c42b,inset 0 1px 0 #fff8,inset -15px -18px 35px #0a152975;backdrop-filter:blur(26px) saturate(1.55);color:#fff;pointer-events:auto;text-align:center;max-height:none;overscroll-behavior:none}
.island-map-card:not([hidden]){animation:island-bubble-in .48s cubic-bezier(.18,.9,.22,1.2) both}
.island-map-card:before{content:'';position:absolute;z-index:-1;inset:-42%;background:conic-gradient(from 30deg,transparent 0 18%,#fff3 25%,transparent 33% 66%,#68f1c42e 75%,transparent 83%);animation:island-bubble-glow 8s linear infinite}
.island-map-card small,.island-map-card h3,.island-map-card p,.island-map-card button,.island-map-card b{position:relative;z-index:1}
.island-map-card small{display:block;color:#9cfdc2;font:700 8px/1 Arial,sans-serif;letter-spacing:.24em;text-shadow:0 0 14px #62eda88c}
.island-map-card h3{margin:7px 0 6px;font:500 25px/.95 'Display',Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em;text-shadow:0 4px 18px #07040db3}
.island-map-card p{margin:0 auto;max-width:240px;color:#f2eaf4;font:12px/1.38 Arial,sans-serif;text-shadow:0 2px 12px #08040ca6}
.island-map-card button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:112px;margin:14px auto 0;padding:10px 18px;border:0;border-radius:999px;background:radial-gradient(circle at 25% 5%,#e4ffef 0,#9dffc4 20%,#55e5a2 62%,#36c6b3 100%);box-shadow:0 8px 22px #43dda45c,inset 0 1px 0 #fff,color-mix(in srgb,#38d5ac 40%,transparent) 0 0 18px;color:#102b27;font:800 10px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .2s,filter .2s}
.island-map-card button:hover,.island-map-card button:focus-visible{transform:translateY(-2px) scale(1.04);filter:brightness(1.08)}
.island-map-card button i{font:700 16px/1 Arial,sans-serif}
.island-map-card button[hidden],.island-map-card b[hidden]{display:none}
.island-map-card b{display:block;margin:12px auto 0;color:#d9cddd;font:700 8px/1 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
@keyframes island-bubble-in{0%{opacity:0;filter:blur(8px);transform:translate(-50%,calc(-100% - 8px)) scale(.72)}65%{opacity:1;filter:blur(0);transform:translate(-50%,calc(-100% - 30px)) scale(1.035)}100%{opacity:1;transform:translate(-50%,calc(-100% - 26px)) scale(1)}}
@keyframes island-bubble-glow{to{transform:rotate(360deg)}}
.island-map-close{position:absolute;z-index:8;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));width:46px;height:46px;border:1px solid #fff3;border-radius:50%;background:#18121fc9;backdrop-filter:blur(16px);font:200 30px/1 Arial;color:#f8eff8}
.island-map-key{position:absolute;z-index:6;right:max(28px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));display:flex;gap:18px;color:#bfb0c5;font:9px/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.island-map-key span{display:flex;align-items:center;gap:7px}
.island-map-key i{width:8px;height:8px;border-radius:50%;background:#768079}
.island-map-key i.available{background:#76f29f;box-shadow:0 0 12px #76f29faa}
.island-map-travel{position:absolute;inset:0;z-index:20;display:grid;place-content:center;text-align:center;opacity:0;pointer-events:none;background:radial-gradient(circle,#4b254b 0,#171020 55%,#09070d 100%);clip-path:circle(0 at 50% 55%)}
.island-map-travel small{color:#d7b984;letter-spacing:.34em;font-size:9px}
.island-map-travel strong{font:500 clamp(48px,9vw,120px)/.9 'Display',Impact,sans-serif;text-transform:uppercase;margin-top:18px;max-width:800px}
.traveling .island-map-travel{animation:island-travel .68s cubic-bezier(.76,0,.24,1) both}
@keyframes island-travel{0%{opacity:0;clip-path:circle(0 at 50% 55%)}55%,100%{opacity:1;clip-path:circle(75vmax at 50% 55%)}}
@media(max-width:760px){#island-map>header{top:max(25px,env(safe-area-inset-top));left:22px;max-width:72vw}#island-map>header h2{font-size:39px}.island-map-pins>button{padding:6px;border-radius:50%;width:25px;height:25px}.island-map-pins>button span{display:none}.island-map-card{width:min(300px,calc(100vw - 26px));padding:25px 31px 23px;border-radius:48% 52% 47% 53%/42% 39% 61% 58%}.island-map-card h3{font-size:23px}.island-map-card p{font-size:11.5px}.island-map-card button{margin-top:12px;padding:10px 18px}.island-map-key{left:22px;right:auto;bottom:max(20px,env(safe-area-inset-bottom));gap:13px;font-size:7px}.island-map-close{right:18px;top:max(18px,env(safe-area-inset-top));width:40px;height:40px}.island-map-travel strong{font-size:54px;padding:0 24px}}
@media(prefers-reduced-motion:reduce){.traveling .island-map-travel,.island-map-card:not([hidden]),.island-map-card:before{animation-duration:.01ms}}
/* ---- play: the map medallion under YOU ARE HERE (art: Maestro, /assets/hud, byte-for-byte) ---- */
:root{--map-medallion-size:64px;--map-medallion-slot:78px}
.location .map-medallion{display:block;width:var(--map-medallion-size);height:var(--map-medallion-size);margin:6px 0 8px;padding:0;border:0;border-radius:50%;background:none;pointer-events:auto;cursor:pointer;box-shadow:0 6px 22px rgba(10,7,16,.45),0 0 0 1px rgba(255,246,251,.35);transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.location .map-medallion[hidden]{display:none}
.location .map-medallion:hover,.location .map-medallion:active,.location .map-medallion[aria-expanded=true]{transform:scale(1.06) rotate(6deg)}
.location .map-medallion picture,.location .map-medallion img{display:block;width:100%;height:100%;border-radius:50%;pointer-events:none}
/* One slot per element: the cue card and the joystick above the place readout move up by exactly the medallion's slot. */
html:not([data-presentation=cinematic]) #play-ui:has(.location:not([hidden]) .map-medallion:not([hidden])) #opening-cue,
html:not([data-presentation=cinematic]) #play-ui:has(.location:not([hidden]) .map-medallion:not([hidden])) #joystick{translate:0 calc(-1 * var(--map-medallion-slot))}
#island-map[data-travel=withheld] [data-map-go]{display:none}
.island-map-pins>button[data-here]{border-color:#ffb4cb;box-shadow:0 7px 25px #000b,0 0 0 2px #ff9cb666,0 0 18px #ff9cb688}
.island-map-pins>button[data-here] i{background:#ff9cb6;box-shadow:0 0 0 3px #ff9cb633,0 0 15px #ff9cb6aa}
body.island-map-open #play-ui{visibility:hidden}
@media(max-width:600px){:root{--map-medallion-size:56px;--map-medallion-slot:70px}
 /* On a phone the held-prop card shares the cue card's band; it rises clear of the cue instead of sitting on it. */
 html:not([data-presentation=cinematic]) #play-ui:has(.location:not([hidden]) .map-medallion:not([hidden])) #held-prop{translate:0 calc(-1 * (var(--map-medallion-slot) + 24px))}}
@media(prefers-reduced-motion:reduce){.location .map-medallion{transition:none}}
