*{box-sizing:border-box}
html,body{height:100%}
body.lab-page{margin:0;background:#080709;color:#f5ece9;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%}
.lab-bar{width:min(1280px,96vw);display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 4px}
.lab-bar strong{font-size:11px;letter-spacing:.18em;color:#d8b77a;margin-right:auto}
.lab-bar button,.lab-bar select{background:#171116;color:#e8d5d8;border:1px solid #68404a;padding:7px 11px;font:inherit;font-size:11px;cursor:pointer}
.lab-bar button:hover{border-color:#c06b7c}
.lab-bar input[type=range]{width:min(360px,45vw);accent-color:#c06b7c}
.lab-bar label{font-size:10px;color:#bfa9ab;display:flex;align-items:center;gap:5px}
.lab-phase{font-size:10px;color:#ad9599;min-width:86px;text-align:right}
.lab-stage{position:relative;width:min(1280px,96vw);aspect-ratio:16/9;background:radial-gradient(ellipse at 70% 25%,#32141e 0%,#100d11 42%,#080709 82%);overflow:hidden;isolation:isolate;box-shadow:0 24px 80px #0009}
.lab-stage:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:9;background:radial-gradient(ellipse at 50% 42%,transparent 0 35%,#0007 85%)}
.lab-contact-copy{position:absolute;left:6.5%;top:35%;z-index:7;max-width:50%;text-shadow:0 2px 18px #000}
.lab-kicker{font-size:11px;letter-spacing:.25em;color:#c86d7c}
.lab-contact-copy h1{font-family:Georgia,"Songti SC",serif;font-weight:400;font-size:clamp(26px,3.2vw,46px);line-height:1.2;margin:10px 0 4px;color:#f3e9e7}
.lab-contact-copy p{font-size:12px;color:#ad9599;margin:0}
.lab-contact-details{margin-top:6px;font-size:12px;line-height:1.65;color:#ad9599}
.lab-contact-details span{display:block}
.lab-contact-details b{color:#d8b77a;font-weight:400}
.lab-lake{position:absolute;left:0;right:0;bottom:0;height:38%;z-index:1;overflow:hidden;background:radial-gradient(ellipse at 50% -10%,rgba(210,230,226,.045),transparent 58%),linear-gradient(180deg,rgba(210,230,226,0),rgba(210,230,226,.018) 46%,rgba(210,230,226,.04))}
.lab-lake:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(220,235,230,.028) 0 1px,transparent 1px 9px);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 76%,transparent);animation:labShimmer 14s ease-in-out infinite alternate}
.lab-lake:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(210,230,226,.2),transparent)}
@keyframes labShimmer{0%{transform:translateY(0);opacity:.55}100%{transform:translateY(7px);opacity:.9}}
.lab-ripple{position:absolute;left:var(--x);top:var(--y);width:var(--size);aspect-ratio:3.3;border:1px solid rgba(205,230,226,.32);border-radius:50%;transform:translate(-50%,-50%) scale(.2);animation:labRipple var(--dur,9s) ease-out var(--delay,0s) infinite;box-shadow:0 0 14px rgba(190,225,220,.08)}
@keyframes labRipple{0%{opacity:0;transform:translate(-50%,-50%) scale(.16)}14%{opacity:.55}100%{opacity:0;transform:translate(-50%,-50%) scale(1)}}
.lab-petal-layer{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.lab-petal{position:absolute;left:var(--x);top:var(--start, -12%);width:var(--w);height:var(--h);animation:labPetalFall var(--dur) linear var(--delay) infinite;will-change:transform,opacity;opacity:0;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.lab-petal-guaranteed{animation:none!important;opacity:.72!important}
.lab-petal i{display:block;width:100%;height:100%;background:linear-gradient(138deg,var(--c1),var(--c2) 52%,var(--c3));clip-path:polygon(50% 2%,66% 7%,86% 22%,97% 44%,90% 66%,72% 85%,50% 98%,31% 88%,13% 71%,3% 48%,10% 25%,31% 9%);border-radius:50%;transform:scaleY(.55) rotate(var(--rot,0deg));animation:labPetalFlutter var(--flutter,4s) ease-in-out var(--fdelay,0s) infinite alternate}
.lab-parade-canvas{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}
@keyframes labPetalFall{0%{opacity:0;transform:translate3d(0,-12px,0) rotate(0)}8%,12%{opacity:var(--o,.7)}88%{opacity:var(--o,.7)}100%{opacity:0;transform:translate3d(var(--dx,20px),calc(110vh),0) rotate(var(--spin,360deg))}}
@keyframes labPetalFlutter{0%{transform:scaleY(.55) rotate(calc(var(--rot,0deg) - 4deg))}100%{transform:scaleY(.55) rotate(calc(var(--rot,0deg) + 4deg))}}
.lab-boat{position:absolute;right:4%;bottom:12.7%;width:clamp(132px,16vw,200px);z-index:5;opacity:1;transform-origin:50% 88%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5)) drop-shadow(0 0 5px rgba(207,164,103,.18));animation:labBoatDrift 10s linear infinite alternate}
.lab-boat:after{content:"";position:absolute;right:-20%;bottom:7%;width:62%;aspect-ratio:4.6;border:1px solid rgba(190,225,220,.25);border-radius:50%;pointer-events:none;animation:labBoatWake 4.2s ease-out infinite}
.lab-boat svg{display:block;width:100%;height:auto;overflow:visible;transform-origin:50% 88%;animation:labBoatBob 7s ease-in-out infinite alternate}
@keyframes labBoatDrift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-76px,0,0)}}
@keyframes labBoatBob{0%{transform:rotate(-.8deg) translateY(0)}100%{transform:rotate(.8deg) translateY(-3px)}}
@keyframes labBoatWake{0%{opacity:0;transform:scale(.45)}18%{opacity:.55}100%{opacity:0;transform:scale(1.25)}}
.lab-story-canvas{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none;image-rendering:pixelated;filter:brightness(.8) saturate(.82)}
.lab-bubble-canvas{position:absolute;inset:0;z-index:5;width:100%;height:100%;pointer-events:none}
@media(max-width:720px){.lab-bar{gap:7px}.lab-bar strong{width:100%}.lab-contact-copy{top:29%;max-width:68%}.lab-kicker{font-size:10px}.lab-contact-copy h1{font-size:26px}.lab-contact-copy p,.lab-contact-details{font-size:10px}.lab-stage{aspect-ratio:4/3}.lab-lake{height:40%}.lab-boat{bottom:13.4%}}
@media(prefers-reduced-motion:reduce){.lab-bar input{pointer-events:none}.lab-petal,.lab-ripple,.lab-boat,.lab-boat svg,.lab-boat:after{animation:none!important}.lab-petal,.lab-boat:after{display:none!important}}
