/* The second laboratory follows the same six-stop trail, in a floating world. */
.adventure-map.gravity-room{--floor:#eae4f7;--road:#fbfaff;--edge:#b9abd8;background:var(--floor)}
.gravity-room .gravity-scenery{height:600px;justify-content:flex-start;align-items:center;background:#e9e0f8;isolation:isolate}
.gravity-hero-art{position:absolute;inset:0;z-index:0;overflow:hidden}
.gravity-hero-art>img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.gravity-room .gravity-scenery:after{height:75px;z-index:1;pointer-events:none;background:linear-gradient(transparent,var(--floor))}
.gravity-room .map-heading{max-width:40%;padding:30px 24px 45px 36px;text-align:left;z-index:2}
.gravity-room .map-heading h1{font-size:clamp(34px,4.3vw,57px);line-height:1.08;letter-spacing:-.045em;color:#51467e;text-shadow:0 2px 15px #faf7ff}
.gravity-room .map-heading .eyebrow{max-width:260px;font-size:10px;line-height:1.7;letter-spacing:.11em;color:#716199}
.gravity-room .map-heading p:not(.eyebrow){max-width:285px;margin:20px 0;font-size:16px;line-height:1.7;color:#5d5a79}
.gravity-room .map-progress{padding:9px 15px;background:#fffaffeb;border:1px solid #fff;box-shadow:0 4px 16px #6650920b;color:#64528b}
.gravity-room .lab-progress-dots i{border-color:#bfb1da;background:#fffaffb8;color:#fff}
.gravity-room .lab-progress-dots i.done{background:#8270b5;border-color:#8270b5}
.gravity-room .level-trail{height:850px;background:radial-gradient(ellipse at 18% 6%,#fff9,transparent 42%),radial-gradient(circle at 7% 30%,#d0e8f3 0 24px,#fafaff 25px 27px,transparent 28px),radial-gradient(circle at 91% 76%,#ead5f0 0 29px,#fafaff 30px 32px,transparent 33px),radial-gradient(circle at 49% 38%,#fff 0 3px,transparent 4px) 0 0/137px 161px,radial-gradient(circle at 70% 80%,#b6a3d560 0 2px,transparent 3px) 0 0/97px 127px,linear-gradient(var(--floor),#dfeef6)}
.gravity-room .level-trail:before,.gravity-room .level-trail:after{content:'✦';position:absolute;color:#a497c8;text-shadow:0 2px 0 #fff;pointer-events:none;font-size:28px}
.gravity-room .level-trail:before{left:49%;top:34%}.gravity-room .level-trail:after{left:49%;top:64%;color:#8eafc5;font-size:21px}
.gravity-room .road-shadow{stroke:#bbaed9}.gravity-room .road-fill{stroke:#fcfaff}.gravity-room .road-dashes{stroke:#bdaddb;stroke-width:.35;stroke-dasharray:.7 2.2}
.gravity-room .path-level .level-orb{border-color:#fefcff}
.gravity-room .path-level.current .level-orb{background:radial-gradient(circle at 35% 25%,#fffaff,#d9c5f8);outline-color:#9273c2;box-shadow:0 7px 0 #a48bc9,0 15px 25px #71599225}
.gravity-room .current .path-number{color:#66508a}.gravity-room .current .path-caption small{background:#fbf5ff;color:#66508a;border:1px solid #d9c8ed}
.gravity-room .path-level.locked .level-orb{background:linear-gradient(145deg,#e1deeb,#c5c1d9);color:#817799;border-color:#f4f2fc;box-shadow:0 7px 0 #aaa1c5,0 13px 14px #66518a1a}
.gravity-room .path-level.completed .level-orb{background:linear-gradient(135deg,#e8e0fa,#e3f3f6);box-shadow:0 7px 0 #aaa1c5,0 13px 14px #66518a1a}
.gravity-room .path-check{background:#8270b5}.gravity-room .path-caption{color:#544b70}
.gravity-room .path-level:focus-visible .level-orb{outline-color:#674596}
.gravity-room .level-trail .path-prop{width:16%;max-width:145px}
.gravity-room .path-prop[data-prop-index="4"]{top:84%}.gravity-room .path-prop[data-prop-index="5"]{top:86%}
.gravity-float{position:relative;width:100%;height:100%;animation:gravity-drift 5s ease-in-out infinite}
.gravity-room .path-prop:nth-of-type(even) .gravity-float{animation-delay:-2.5s}
.gravity-room .path-prop .prop-art{position:relative;display:block;width:100%;height:100%;margin:0;border:0;border-radius:0;background:none}
.gravity-room .path-prop.unbuilt{opacity:.8}
.gravity-prop-joke{position:absolute;left:50%;top:100%;transform:translateX(-50%) rotate(-4deg);width:max-content;max-width:160px;padding:5px 10px;border-radius:9px;background:#fffaffd9;color:#71648d;font-size:11px;line-height:1.4;text-align:center;box-shadow:0 3px 8px #66518a14}
.gravity-start{position:absolute;left:32%;top:5%;transform:translateX(-50%);padding:7px 13px;border:1px solid #d8c9e9;border-radius:20px;background:#fffaffcf;color:#756195;font-size:12px;font-weight:bold;white-space:nowrap}
.gravity-room .trail-end{color:#6a6085}
@keyframes gravity-drift{0%,100%{transform:translateY(3px) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}
@media(min-width:761px){.gravity-room .gravity-scenery:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#eee7f9ec,#eee7f9a6 26%,transparent 44%)}}
@media(min-width:761px) and (max-width:1050px){.gravity-room .map-heading{max-width:42%;padding-left:23px}.gravity-room .map-heading h1{font-size:38px}.gravity-room .gravity-scenery{height:490px}.gravity-hero-art>img{object-position:60% 25%}}
@media(max-width:760px){
 .gravity-room .gravity-scenery{height:auto;flex-direction:column;align-items:stretch}
 .gravity-room .map-heading{max-width:none;text-align:center;padding:25px 18px 16px;background:linear-gradient(135deg,#f1e8fb,#e4edf9)}
 .gravity-room .map-heading h1{font-size:33px;max-width:420px;margin:0 auto 10px}
 .gravity-room .map-heading .eyebrow{max-width:none;font-size:9px;margin-bottom:12px}
 .gravity-room .map-heading p:not(.eyebrow){font-size:14px;max-width:340px;margin:12px auto}
 .gravity-room .map-progress{font-size:11px;padding:7px 12px}
 .gravity-hero-art{position:relative;inset:auto;height:310px}
 .gravity-hero-art>img{object-position:82% center}
 .gravity-room .gravity-scenery:after{height:40px}
 .gravity-room .level-trail{height:820px}
 .gravity-room .level-trail .path-prop{width:19%}
 .gravity-room .path-prop[data-prop-index="4"]{top:88%}.gravity-room .path-prop[data-prop-index="5"]{top:93%}
 .gravity-prop-joke{display:none}.gravity-start{font-size:10px;padding:6px 10px}.gravity-room .trail-end{padding:0 16px;font-size:12px}
 .gravity-room .path-caption{width:min(138px,30vw)}
 .gravity-room .level-orb{width:86px;height:86px}
}
@media(max-width:380px){.gravity-room .map-heading h1{font-size:28px}.gravity-room .map-heading p:not(.eyebrow){font-size:13px}.gravity-hero-art{height:280px}}
@media(prefers-reduced-motion:reduce){.gravity-float{animation:none}}
.calm .gravity-float{animation:none}

/* Photo rewards use the first room's booth and outfits in a lavender sky. */
.photo-stage.photo-gravity{background:radial-gradient(ellipse at 50% 40%,#ffffffad,transparent 65%),radial-gradient(circle at 13% 22%,#fff 0 3px,transparent 4px),radial-gradient(circle at 83% 31%,#fff 0 2px,transparent 3px),linear-gradient(145deg,#e9def8,#dfedf9 60%,#f4e8f4)}
.photo-gravity .photo-floor{background:radial-gradient(ellipse at center,#bcb0db55,transparent 70%)}
