.lab-home{--lab-gutter:max(4.5vw, calc((100vw - 1560px) / 2));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:clip}html:has(.lab-creator[open]){overflow:hidden}.lab-home a{text-decoration:none}.lab-hero-stage{min-height:170svh}.lab-hero-stage .lab-hero{min-height:calc(100svh - 104px);position:sticky;top:0}.lab-machine[data-hero-machine]{aspect-ratio:auto;background:#e8e5dc;border-radius:28px;padding:45px 0 92px;display:block}.lab-machine[data-hero-machine] .lab-machine-art{aspect-ratio:4/3;width:100%;position:relative}.lab-machine[data-hero-machine] .lab-machine-art img{object-fit:contain;display:block}.lab-machine-art video{object-fit:contain;opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lab-machine-art video[data-ready=true]{opacity:1}.lab-machine[data-hero-machine] .lab-machine-label{inset:19px 24px auto}.lab-scroll-cue{justify-content:space-between;align-items:center;gap:12px;padding:0 24px;font-size:11px;display:flex;position:relative}.lab-scroll-cue button{text-underline-offset:4px;min-height:44px;color:var(--lab-text-muted);text-decoration:underline}.lab-scroll-cue i{background:#171a1620;height:2px;position:absolute;bottom:0;left:24px;right:24px}.lab-scroll-cue i span{background:var(--lab-ink);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.lab-machine:has([data-active=true]) .lab-scroll-cue{visibility:hidden}.lab-machine[data-hero-machine] [data-signal-field][data-active=false] [role=status]{display:none}@media (max-width:900px){.lab-hero-stage{min-height:165svh}.lab-hero-stage .lab-hero{gap:16px;min-height:calc(100svh - 88px);padding-top:16px;padding-bottom:62px}.lab-hero-stage .lab-machine{max-width:460px}.lab-hero-stage .lab-hero h1,.lab-hero-stage .lab-intro{margin-top:14px}.lab-hero-stage .lab-hero-actions{margin-top:18px}}@media (max-width:600px){.lab-hero-stage .lab-hero{min-height:calc(100svh - 80px);padding-bottom:24px}.lab-hero-stage .lab-hero-footer{display:none}.lab-hero-stage .lab-machine{padding-top:25px;padding-bottom:66px}.lab-machine[data-hero-machine] .lab-machine-label{inset:11px 18px auto}.lab-machine[data-hero-machine] .lab-machine-label span:last-child{font-size:16px}.lab-scroll-cue{padding-inline:16px;font-size:10px}.lab-scroll-cue i{left:16px;right:16px}.lab-machine[data-hero-machine] [data-signal-field] [role=status]{display:none}}@media (max-height:740px) and (max-width:900px),(prefers-reduced-motion:reduce){.lab-hero-stage{min-height:auto}.lab-hero-stage .lab-hero{position:relative}}@media (prefers-reduced-motion:reduce){.lab-scroll-cue,.lab-machine-art video{display:none}}.lab-header{min-height:104px;padding:24px var(--lab-gutter);border-bottom:1px solid var(--lab-line);justify-content:space-between;align-items:center;gap:24px;display:flex}.lab-nav{align-items:center;gap:30px;font-size:14px;display:flex}.lab-nav a,.lab-nav button,.lab-account{align-items:center;min-height:44px;display:inline-flex}.lab-nav a:hover,.lab-nav button:hover{text-underline-offset:7px;text-decoration:underline}.lab-account{white-space:nowrap;gap:9px;font-size:13px}.lab-account>span{font-size:25px}.lab-skip{z-index:100;color:var(--lab-ink);background:var(--lab-accent);padding:12px 20px;position:fixed;top:-100px;left:16px}.lab-skip:focus{top:16px}.lab-hero{min-height:calc(100svh - 104px);padding:60px var(--lab-gutter) 100px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4%;display:grid;position:relative}.lab-eyebrow{font:11px var(--font-geist-mono), monospace;letter-spacing:.1em;align-items:center;gap:10px;display:flex}.lab-eyebrow>span:first-child:empty{background:var(--lab-ink);border-radius:50%;width:7px;height:7px}.lab-edition{color:var(--lab-text-muted);margin-left:auto}.lab-hero h1{letter-spacing:-.065em;text-wrap:balance;margin-top:32px;font-size:clamp(45px,5.8vw,88px);font-weight:650;line-height:1.23}.lab-title-mark{z-index:0;white-space:nowrap;position:relative}.lab-title-mark:before{content:"";z-index:-1;background:var(--lab-accent);height:.38em;position:absolute;bottom:.05em;left:-.01em;right:-.03em;transform:rotate(-2deg)}.lab-intro{color:var(--lab-text-muted);margin-top:26px;font-size:16px;line-height:1.9}.lab-hero-actions{flex-wrap:wrap;align-items:center;gap:25px;margin-top:32px;display:flex}.lab-hero-actions .fp-lab-primary{border-radius:6px;gap:36px;padding:16px 24px;font-size:14px}.lab-text-button{align-items:center;gap:16px;min-height:44px;font-size:14px;display:inline-flex}.lab-hero-note{align-items:center;gap:18px;margin-top:50px;display:flex}.lab-stamp{font:12px/.94 var(--font-geist-mono), monospace;letter-spacing:-.08em;border:1px solid var(--lab-ink);text-align:center;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;display:flex;transform:rotate(-9deg)}.lab-hero-note p{color:var(--lab-text-muted);font-size:12px;line-height:1.8}.lab-machine{isolation:isolate;aspect-ratio:1.03;border:1px solid var(--lab-line);background:#e9e8dc;border-radius:160px 160px 12px 12px;align-items:center;width:100%;max-width:680px;margin-inline:auto;padding:30px 0;display:flex;position:relative;overflow:hidden}.lab-machine-art{transition:transform .3s cubic-bezier(.23,1,.32,1);display:block;position:absolute;inset:0}.lab-machine-art img{object-fit:cover;object-position:50% 44%;width:100%;height:100%}.lab-machine-label{z-index:1;font:10px var(--font-geist-mono), monospace;letter-spacing:.06em;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:35px;left:14%;right:14%}.lab-machine-label span:last-child{font-size:24px}.lab-hero-footer{left:var(--lab-gutter);right:var(--lab-gutter);border-top:1px solid var(--lab-line);font:10px var(--font-geist-mono), monospace;letter-spacing:.07em;color:var(--lab-text-muted);justify-content:space-between;align-items:center;padding-top:14px;display:flex;position:absolute;bottom:22px}.lab-hero-footer a{align-items:center;min-height:44px;display:inline-flex}.lab-library{padding:72px var(--lab-gutter) 90px;border-top:1px solid var(--lab-line);scroll-margin-top:24px}.lab-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.lab-section-heading h2{letter-spacing:-.04em;align-items:start;gap:16px;margin-top:18px;font-size:clamp(30px,3vw,44px);font-weight:600;line-height:1.2;display:flex}.lab-section-heading h2 span{font:12px var(--font-geist-mono), monospace;background:var(--lab-accent);border:1px solid var(--lab-ink);border-radius:50%;place-items:center;min-width:28px;height:28px;display:grid}.lab-search{width:min(300px,100%);color:var(--lab-text-muted);flex-direction:column;gap:7px;font-size:11px;display:flex}.lab-search input{color:var(--lab-ink);border-bottom:1px solid var(--lab-ink);background:0 0;border-radius:0;min-height:44px;padding:8px 0;font-size:16px}.lab-search input::placeholder{color:var(--lab-text-muted)}.lab-library-rule{border-top:1px solid var(--lab-ink);color:var(--lab-text-muted);justify-content:space-between;gap:12px;margin-top:30px;margin-bottom:30px;padding-top:12px;font-size:11px;display:flex}.lab-worlds{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;display:grid}.lab-world{min-width:0;display:block}.lab-world-image{outline-offset:-1px;aspect-ratio:4/3;background:#dedfcf;border-radius:5px;outline:1px solid #0000001a;outline:1px solid lab(0% 0 0/.1);position:relative;overflow:hidden}.lab-world-image>img{object-fit:cover;width:100%;height:100%;transition:transform .3s cubic-bezier(.23,1,.32,1)}.lab-world-image>.fp-wave-core{width:100%;height:100%}.lab-world-format{color:#f3f0e7;font:10px var(--font-geist-mono), monospace;background:#171a16e8;border-radius:3px;padding:5px 8px;position:absolute;top:12px;left:12px}.lab-world-arrow{background:var(--lab-paper);width:36px;height:36px;color:var(--lab-ink);border-radius:50%;place-items:center;font-size:20px;display:grid;position:absolute;bottom:12px;right:12px}.lab-world-caption{padding-top:15px}.lab-world-caption h3{overflow-wrap:anywhere;font-size:18px;font-weight:550;line-height:1.5}.lab-world-caption p{color:var(--lab-text-muted);margin-top:5px;font-size:11px}.lab-empty{text-align:center;border:1px dashed var(--lab-line);flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:250px;padding:30px;display:flex}.lab-empty h3{font-size:23px;font-weight:550}.lab-empty p{color:var(--lab-text-muted);font-size:14px}.lab-empty .fp-lab-primary{margin-top:7px}.lab-empty-art{object-fit:contain;width:150px;height:150px}.lab-loading{border:2px solid #171a1640;border-top-color:var(--lab-ink);border-radius:50%;width:18px;height:18px;animation:1s linear infinite fp-spin;display:inline-block}.lab-story{padding:74px var(--lab-gutter);color:var(--lab-paper);background:var(--lab-ink);grid-template-columns:1fr 1fr;gap:12%;display:grid}.lab-story h2{letter-spacing:-.04em;margin:20px 0;font-size:clamp(30px,3vw,43px);font-weight:500;line-height:1.5}.lab-story p{color:#bcc0b4;font-size:14px;line-height:1.9}.lab-story .fp-lab-primary{margin-top:30px}.lab-journey{flex-direction:column;justify-content:center;display:flex}.lab-journey li{border-bottom:1px solid #ffffff26;align-items:center;gap:28px;padding:28px 0;display:flex}.lab-journey li>img{object-fit:contain;flex-shrink:0;width:100px;height:100px}.lab-journey li>div{min-width:0}.lab-journey li>div>span{font:10px var(--font-geist-mono), monospace;letter-spacing:.1em;color:var(--lab-accent);margin-bottom:8px;display:block}.lab-journey h3{margin-bottom:8px;font-size:18px}.lab-footer{min-height:110px;padding:24px var(--lab-gutter);align-items:center;gap:20px;font-size:12px;display:flex}.lab-footer a{white-space:nowrap;align-items:center;min-height:44px;margin-left:auto;display:flex}.lab-creator{background:var(--lab-paper);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--lab-ink);overscroll-behavior:contain;border:0;margin:0;padding:0;position:fixed;inset:0}.lab-creator::backdrop{background:var(--lab-paper)}.lab-creator-header{z-index:10;padding:max(20px,env(safe-area-inset-top)) max(4%,env(safe-area-inset-right)) 20px max(4%,env(safe-area-inset-left));background:var(--lab-paper);border-bottom:1px solid var(--lab-line);justify-content:space-between;align-items:center;gap:20px;display:flex;position:sticky;top:0}.lab-creator-tools{align-items:center;gap:16px;display:flex}.lab-close{align-items:center;gap:22px;min-height:44px;font-size:13px;display:inline-flex}.lab-close span{font-size:28px;font-weight:300}.lab-fullscreen{width:44px;height:44px;font-size:26px}.lab-creator-body{grid-template-columns:1fr 1fr;min-height:calc(100dvh - 85px);display:grid}.lab-create-preview{border-right:1px solid var(--lab-line);background:#e7e8db;flex-direction:column;align-self:start;height:calc(100dvh - 85px);padding:40px 8%;display:flex;position:sticky;top:85px}.lab-create-preview>img{object-fit:contain;flex:1;width:100%;min-height:0;margin:20px 0}.lab-create-preview-art{color:var(--lab-paper);background:#171a16}.lab-create-preview-art>img{border-radius:8px}.lab-create-preview>p{margin:10px 0 25px;font-size:28px;font-weight:350;line-height:1.5}.lab-create-preview>p strong{font-weight:600}.lab-create-preview>span{font:10px var(--font-geist-mono),monospace;letter-spacing:.1em}.lab-create-form{min-width:0;padding:44px 10% max(42px,env(safe-area-inset-bottom));width:100%;max-width:780px;margin:0 auto}.lab-create-form h2{letter-spacing:-.04em;margin-top:18px;font-size:clamp(34px,3.3vw,52px);font-weight:580;line-height:1.28}.lab-create-intro{color:var(--lab-text-muted);margin-top:15px;font-size:13px;line-height:1.8}.lab-create-form form{margin-top:30px}.lab-submit-area{z-index:2;padding-block:16px max(12px, env(safe-area-inset-bottom));background:var(--lab-paper);box-shadow:0 -12px 20px var(--lab-paper);position:sticky;bottom:0}.lab-creator{scroll-padding-block:110px 180px}.lab-create-form :is(textarea,[role=alert],.lab-examples button){scroll-margin-block:110px 180px}.lab-image-picker>label,.lab-seed-label{align-items:center;gap:10px;margin-bottom:10px;font-size:13px;font-weight:550;display:flex}.lab-image-picker>label>span,.lab-seed-label>span{color:var(--lab-text-muted);font-size:11px;font-weight:400}.lab-image-picker{margin-bottom:25px}.lab-image-picker>div{background:#e5e7d9;border-color:#bcc2aa}.lab-image-picker [class*=text-white],.lab-image-picker [class*=text-amber]{color:var(--lab-ink)}.lab-image-picker button{min-height:44px;color:var(--lab-ink);border-color:#abb09c}.lab-image-picker [role=dialog],.lab-image-picker [role=dialog] [class*=text-white],.lab-image-picker [role=dialog] [class*=text-amber]{color:var(--lab-ink)}.lab-image-picker [role=dialog] button{color:#171a16}.lab-create-form textarea{resize:vertical;background:#fbfaf5;border-radius:5px;width:100%;min-height:128px;padding:16px;font-size:16px;line-height:1.8;display:block}.lab-seed-hint{color:var(--lab-text-muted);justify-content:space-between;gap:16px;margin-top:8px;font-size:10px;display:flex}.lab-examples{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 25px;font-size:11px;display:flex}.lab-examples>span{width:100%;color:var(--lab-text-muted)}.lab-examples>button{border:1px solid var(--lab-line);border-radius:4px;min-height:44px;padding:8px 10px}.lab-submit{border-radius:5px;gap:14px;width:100%;min-height:56px;font-size:14px}.lab-submit>span:last-child{margin-left:auto}.lab-cost{color:var(--lab-text-muted);margin-top:14px;font-size:11px;line-height:1.8}.lab-form-error{color:#852e22;background:#f9dfd8;border:1px solid #c47865;margin:14px 0;padding:12px;font-size:13px}.lab-created{border:1px solid var(--lab-ink);background:#e5edca;margin-top:26px;padding:20px}.lab-created h3{margin:12px 0;font-weight:600}.lab-created p{font-size:13px;line-height:1.7}.lab-default-seed{align-items:center;gap:14px;margin-bottom:25px;font-size:13px;line-height:1.8;display:flex}.lab-default-seed img{object-fit:cover;border-radius:4px;width:95px;height:65px}.lab-default-seed span{color:var(--lab-text-muted);font-size:11px}@media (hover:hover) and (pointer:fine){a.lab-world:hover img{transform:scale(1.035)}a.lab-world:hover .lab-world-arrow{background:var(--lab-accent)}}@media (prefers-reduced-motion:no-preference){.lab-hero-copy>:is(h1,.lab-intro,.lab-hero-actions,.lab-hero-note){animation:fp-fade-in .42s var(--ease-out) both}.lab-hero-copy>.lab-intro{animation-delay:60ms}.lab-hero-copy>.lab-hero-actions{animation-delay:.12s}.lab-hero-copy>.lab-hero-note{animation-delay:.18s}.lab-machine{animation:fp-fade-in .6s 80ms var(--ease-out) both}}.lab-creator{opacity:0;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out), display .18s allow-discrete, overlay .18s allow-discrete;transform:translateY(8px)}.lab-creator[open]{opacity:1;transform:none}.lab-creator::backdrop{transition:display .18s allow-discrete, overlay .18s allow-discrete}@starting-style{.lab-creator[open]{opacity:0;transform:translateY(16px)}}.lab-creator[data-motion=off],.lab-creator[data-motion=off]::backdrop{transition:none;transform:none}.lab-machine [data-signal-field] canvas{transition:opacity .16s var(--ease-out)}.lab-machine [data-signal-field] [role=status]{min-height:2.8em}@media (prefers-reduced-motion:reduce){.lab-creator,.lab-creator[open]{transition-duration:.1s;transform:none}@starting-style{.lab-creator[open]{transform:none}}}@media (max-width:900px){.lab-header{gap:14px;min-height:88px}.lab-nav{gap:18px}.lab-nav a:last-child{display:none}.lab-hero{grid-template-columns:1fr;gap:32px;min-height:calc(100svh - 88px);padding-top:42px}.lab-hero-copy{width:100%;max-width:640px;margin-inline:auto}.lab-machine{aspect-ratio:auto;max-width:520px;padding:0 0 90px;display:block}.lab-machine-art{aspect-ratio:4/3;position:relative}.lab-hero h1{font-size:54px}.lab-hero-note{margin-top:28px}.lab-machine{border-radius:100px 100px 8px 8px}.lab-machine-label{font-size:8px;top:24px}.lab-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-story{gap:7%}.lab-creator-header>.lab-eyebrow{display:none}.lab-create-form{padding-inline:7%}}@media (max-width:1000px){.lab-creator-body{grid-template-columns:1fr}.lab-create-preview{display:none}.lab-create-form{max-width:680px;padding-inline:32px}}@media (max-width:600px){.lab-header{min-height:80px;padding:max(17px,env(safe-area-inset-top)) 20px 17px}.lab-header .fp-brand-code{display:none}.lab-header .fp-brand-name{font-size:18px}.lab-header .fp-brand-mark{width:32px;height:32px}.lab-nav{display:none}.lab-account{gap:5px;font-size:11px}.lab-account>span{font-size:20px}.lab-hero{grid-template-columns:1fr;gap:28px;padding:33px 22px 68px}.lab-hero h1{margin-top:23px;font-size:clamp(42px,11.8vw,65px)}.lab-intro{margin-top:22px;font-size:13px}.lab-hero-actions{gap:22px;margin-top:25px}.lab-hero-actions .fp-lab-primary{gap:24px;padding:13px 17px;font-size:12px}.lab-text-button{gap:10px;font-size:12px}.lab-hero-note{display:none}.lab-machine{border-radius:90px 90px 8px 8px;width:min(100%,430px);margin:0 auto}.lab-machine-label{top:19px}.lab-hero-footer{font-size:9px;bottom:12px;left:22px;right:22px}.lab-hero-footer>span:last-child{display:none}.lab-library{padding:44px 22px 50px}.lab-section-heading{flex-direction:column;align-items:start;gap:20px}.lab-section-heading h2{margin-top:12px}.lab-search{width:100%}.lab-library-rule{margin-top:22px;font-size:10px}.lab-library-rule>span:last-child{display:none}.lab-worlds{gap:26px 14px}.lab-world-image{aspect-ratio:9/16}.lab-world-format{padding:4px;font-size:8px;top:7px;left:7px}.lab-world-arrow{width:30px;height:30px;bottom:8px;right:8px}.lab-world-caption h3{font-size:14px}.lab-world-caption p{font-size:10px}.lab-story{grid-template-columns:1fr;gap:32px;padding:45px 24px}.lab-story h2{font-size:32px}.lab-journey li{gap:16px;padding:22px 0}.lab-journey li>img{width:78px;height:78px}.lab-footer{padding:25px 22px max(25px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:14px}.lab-footer>span{flex:1;font-size:10px}.lab-footer a{font-size:10px}.lab-creator-header{padding-inline:20px}.lab-creator-header .fp-brand-name{font-size:17px}.lab-creator-header .fp-brand-code{display:none}.lab-creator-header .fp-brand-mark{width:30px;height:30px}.lab-creator-tools{gap:5px}.lab-fullscreen{display:none}.lab-close{gap:12px}.lab-creator-body{grid-template-columns:1fr}.lab-create-preview{display:none}.lab-create-form{min-width:0;padding:30px 24px max(36px,env(safe-area-inset-bottom))}.lab-create-form h2{font-size:40px}.lab-create-intro{font-size:12px}.lab-create-form form{margin-top:24px}}@media (prefers-reduced-motion:reduce){.lab-machine-art,.lab-world-image>img{transition:none;transform:none!important}.lab-loading{animation:none}}.lab-machine [data-signal-field]>div{bottom:18px}.lab-machine [data-signal-field] button{background:var(--lab-paper);border-color:#acb097;min-height:44px;font-size:12px}.lab-machine [data-signal-field] [role=status]{font-size:10px}@media (max-width:600px){.lab-machine>.fp-wave-core{transform:translateY(-20px)}.lab-machine [data-signal-field]>div{gap:3px;bottom:10px}.lab-machine [data-signal-field] button{min-height:44px;padding:7px 13px;font-size:10px}.lab-machine [data-signal-field] [role=status]{font-size:9px;line-height:1.4}}@media (max-width:360px){.lab-hero-actions{gap:12px}.lab-worlds{grid-template-columns:1fr;gap:28px}.lab-world-caption h3{font-size:18px}.lab-world-caption p{font-size:12px}.lab-create-form{padding-inline:20px}}.lab-hero h1{letter-spacing:-.045em;font-weight:700;line-height:1.2}.lab-hero-copy,.lab-machine,.lab-hero-copy>:is(h1,.lab-intro,.lab-hero-actions,.lab-hero-note){animation:none}.lab-machine:has([data-signal-field][data-active=true]){background:#101b12}.lab-machine:has([data-signal-field][data-active=true]) .lab-machine-art{opacity:0;pointer-events:none}.lab-machine:has([data-signal-field][data-active=true]) .lab-machine-label{color:#d7ff3f}.lab-machine [data-signal-field][data-active=true] [role=status]{color:#dce8c7;font-size:11px}.lab-machine-art{transition:transform .3s var(--ease-out), opacity .2s var(--ease-out)}.lab-curated{grid-template-columns:.85fr 1.4fr;gap:24px;display:grid}.lab-case-card{aspect-ratio:1.26;text-align:left;isolation:isolate;color:#fff;background:#141a17;border-radius:12px;position:relative;overflow:hidden}.lab-case-card:after{content:"";z-index:-1;background:linear-gradient(#0000,#101610eb);position:absolute;inset:30% 0 0}.lab-case-card>img{z-index:-2;object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-out);position:absolute;inset:0}.lab-case-rainy-alley>img{object-position:50% 41%}.lab-case-top,.lab-case-bottom{justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;left:24px;right:24px}.lab-case-top{font:11px var(--font-geist-mono),monospace;text-shadow:0 2px 8px #000;top:20px}.lab-case-bottom{bottom:24px}.lab-case-bottom strong{letter-spacing:-.03em;font-size:clamp(24px,3vw,42px);font-weight:650;display:block}.lab-case-bottom small{color:#e7e9df;margin-top:10px;font-size:13px;display:block}.lab-case-play{min-width:72px;height:48px;color:var(--lab-ink);background:var(--lab-accent);border-radius:24px;place-content:center;font-size:14px;display:grid}.lab-case-note{color:var(--lab-text-muted);margin-top:20px;font-size:13px;line-height:1.8}.lab-community-heading{align-items:center;gap:18px;margin:52px 0 22px;font-size:21px;display:flex}.lab-community-heading>span{color:var(--lab-text-muted);font-size:12px;font-weight:400}.lab-contour{padding:80px var(--lab-gutter);background:#e4e9d9;grid-template-columns:1fr 1fr;align-items:center;gap:8%;display:grid}.lab-contour h2,.lab-app h2{letter-spacing:-.035em;margin:24px 0;font-size:clamp(32px,4.2vw,64px);font-weight:650;line-height:1.23}.lab-contour-copy>p:not(.lab-eyebrow){color:var(--lab-text-muted);font-size:15px;line-height:1.9}.lab-contour-actions{flex-wrap:wrap;align-items:center;gap:18px;margin:28px 0;display:flex}.lab-contour-copy>p.lab-evidence-note{font-size:12px}.lab-contour-art{background:#16211a;border-radius:30px;height:520px;position:relative;overflow:hidden}.lab-contour-art>img{object-fit:contain;width:100%;height:100%}.lab-contour-art>span{color:#d7ff3f;font:10px var(--font-geist-mono),monospace;background:#171a16;padding:8px 10px;position:absolute;bottom:18px;left:20px}.character-signal{width:100%;height:100%;position:relative}.character-signal canvas{touch-action:pan-y;width:100%;height:100%}.character-signal p{text-align:center;color:#e8eddf;pointer-events:none;font-size:12px;position:absolute;bottom:20px;left:20px;right:20px}.lab-app{padding:80px var(--lab-gutter);border-bottom:1px solid var(--lab-line);grid-template-columns:180px 1fr;align-items:center;gap:60px;display:grid}.lab-app-icon img{border-radius:38px;width:180px;height:180px;box-shadow:0 16px 35px #171a1614}.lab-app h2{margin:18px 0;font-size:clamp(30px,3.5vw,48px)}.lab-app p{color:var(--lab-text-muted);font-size:14px;line-height:1.8}.lab-app-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:24px;display:flex}.lab-store{color:#f3f0e7;background:#171a16;border-radius:12px;align-items:center;gap:12px;padding:10px 18px;font:21px/1.2 system-ui;display:inline-flex}.lab-store>span:first-child{font-size:32px}.lab-store small{letter-spacing:.04em;margin-bottom:2px;font-size:10px;display:block}.lab-store-pending{background:#333b2d}.lab-header-tools{align-items:center;gap:12px;display:flex}.lab-locale-toggle,.lab-region-toggle button{border:1px solid var(--lab-line);color:var(--lab-ink);font:11px var(--font-geist-mono),monospace;background:0 0;border-radius:999px;min-height:36px;padding:7px 11px}.lab-locale-toggle:hover,.lab-region-toggle button[aria-pressed=true]{background:var(--lab-ink);color:var(--lab-paper)}.lab-region-toggle{color:var(--lab-text-muted);font:11px var(--font-geist-mono),monospace;align-items:center;gap:8px;margin-top:16px;display:flex}.lab-app p.lab-app-note{max-width:65ch;margin-top:16px;font-size:12px}html:has(.case-theater[open]){overflow:hidden}.case-theater{color:#f3f0e7;background:#111810;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow-y:auto}.case-theater::backdrop{background:#111810}.case-header{padding:20px max(24px,env(safe-area-inset-right));border-bottom:1px solid #ffffff20;justify-content:space-between;align-items:center;gap:18px;display:flex}.case-kicker{font:10px/1.8 var(--font-geist-mono),monospace;letter-spacing:.08em;color:#c3d0b7}.case-header h2{margin-top:6px;font-size:16px}.case-tools{gap:16px;display:flex}.case-tools button{min-width:44px;min-height:44px}.case-stage{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);align-items:center;gap:5%;min-height:calc(100dvh - 95px);padding:24px 4%;display:grid}.case-picture{isolation:isolate;background:#080d09;border-radius:8px;justify-self:center;position:relative;overflow:hidden}.case-still{object-fit:cover;width:100%;height:100%;display:block}.case-picture video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.case-scene-no{color:#ecf3dd;pointer-events:none;background:#151a13ce;padding:6px 10px;font-size:11px;position:absolute;top:18px;left:18px}.case-hotspot{place-items:center;width:48px;height:48px;display:grid;position:absolute;transform:translate(-50%,-50%)}.case-hotspot>span{background:#d7ff3f;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 6px #d7ff3f30,0 0 0 1px #171a16}.case-hotspot[aria-pressed=true]>span{box-shadow:0 0 0 12px #d7ff3f28,0 0 0 2px #fff}.case-step{flex-direction:column;align-items:flex-start;gap:22px;padding:20px 0;display:flex}.case-step p{color:#d2d9c9;font-size:16px;line-height:1.85}.case-object-list{flex-wrap:wrap;gap:8px;display:flex}.case-object-list button{border:1px solid #ffffff30;border-radius:24px;min-height:44px;padding:10px 15px;font-size:13px}.case-object-list button[aria-pressed=true]{color:#171a16;background:#d7ff3f;border-color:#d7ff3f}.case-choice{color:#171a16;text-align:left;background:#d7ff3f;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:24px;display:flex}.case-choice strong{font-size:18px;font-weight:600;line-height:1.7}.case-choice span{font-size:11px}.case-proof{text-underline-offset:5px;color:#c3d0b7;align-items:center;min-height:44px;font-size:12px;display:flex;text-decoration:underline!important}@media (hover:hover) and (prefers-reduced-motion:no-preference){.lab-case-card:hover>img{transform:scale(1.04)}}@media (max-width:900px){.lab-curated{grid-template-columns:1fr 1fr;gap:16px}.lab-case-card{aspect-ratio:.85}.lab-contour{gap:28px}.lab-contour-art{height:420px}.lab-app{grid-template-columns:140px 1fr;gap:32px}.lab-app-icon img{border-radius:30px;width:140px;height:140px}.case-stage{grid-template-columns:1fr;gap:12px}.case-picture{max-width:100%}.case-step{max-width:640px;margin:auto}}@media (max-width:600px){.lab-curated{grid-template-columns:1fr}.lab-case-card{aspect-ratio:1.18}.lab-case-top,.lab-case-bottom{left:18px;right:18px}.lab-case-bottom strong{font-size:28px}.lab-community-heading{flex-direction:column;align-items:flex-start;gap:8px}.lab-contour{grid-template-columns:1fr;padding-block:48px}.lab-contour-art{height:440px}.lab-app{grid-template-columns:1fr;gap:24px;padding-block:48px}.lab-app-icon img{border-radius:22px;width:96px;height:96px}.lab-app-actions{align-items:flex-start;gap:14px}.case-header{padding:12px 16px}.case-header h2{font-size:13px}.case-tools{gap:4px;font-size:12px}.case-stage{padding:16px}.case-picture{max-width:100%;max-height:70dvh;width:auto!important}.case-step p{font-size:14px}}@media (prefers-reduced-motion:reduce){.lab-machine-art,.lab-case-card>img{transition:none}}@media (max-width:600px){.case-theater[data-aspect="9:16"]{overflow:hidden}.case-theater[data-aspect="9:16"] .case-header{z-index:2;padding-top:max(12px,env(safe-area-inset-top));background:linear-gradient(#111810d9,#0000);border:0;position:absolute;inset:0 0 auto}.case-theater[data-aspect="9:16"] .case-stage{height:100dvh;padding:0;display:block;position:relative;overflow:hidden}.case-theater[data-aspect="9:16"] .case-picture{height:max(100dvh,calc(100vw / var(--scene-ratio)));border-radius:0;max-width:none;max-height:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100vw,calc(100dvh * var(--scene-ratio)))!important}.case-theater[data-aspect="9:16"] .case-scene-no{display:none}.case-theater[data-aspect="9:16"] .case-step{z-index:1;overscroll-behavior:contain;max-height:40dvh;padding:22px 16px max(18px,env(safe-area-inset-bottom));background:linear-gradient(#111810b8,#111810f5 25%);gap:12px;position:absolute;inset:auto 0 0;overflow-y:auto}.case-theater[data-mode=scene][data-aspect="9:16"] .case-step{background:linear-gradient(#0000,#111810dc 45%);padding-top:48px}.case-theater[data-aspect="9:16"] .case-step p{font-size:13px;line-height:1.65}.case-theater[data-aspect="9:16"] .case-object-list{flex-wrap:nowrap;flex-shrink:0;width:100%;overflow-x:auto}.case-theater[data-aspect="9:16"] .case-object-list button{white-space:nowrap}.case-theater[data-aspect="9:16"] .case-choice{gap:6px;padding:14px 16px}.case-theater[data-aspect="9:16"] .case-choice strong{font-size:15px;line-height:1.6}.case-theater[data-aspect="9:16"] .case-step>:not(.case-object-list){flex-shrink:0}}.lab-brand-films{padding:64px var(--lab-gutter);border-bottom:1px solid var(--lab-line);grid-template-columns:.65fr 1.35fr;align-items:center;gap:6%;display:grid}.lab-brand-films h2{letter-spacing:-.03em;margin:20px 0;font-size:clamp(32px,3.4vw,48px);font-weight:600}.lab-brand-films p{color:var(--lab-text-muted);font-size:13px;line-height:1.8}.lab-film-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.lab-film-grid button{text-align:left}.lab-film-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%;height:auto}.lab-film-grid span{margin-top:14px;font-size:16px;display:block}.lab-film-grid small{color:var(--lab-text-muted);margin-top:8px;font-size:11px;display:block}.brand-film-dialog{background:#111810;border:none;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:64px 20px 20px;position:fixed;inset:0}.brand-film-dialog::backdrop{background:#111810}.brand-film-dialog video{object-fit:contain;width:100%;height:100%}.brand-film-dialog button{color:#f3f0e7;z-index:1;min-height:44px;padding:0 16px;position:absolute;top:12px;right:20px}@media (prefers-reduced-motion:no-preference){.lab-header .fp-brand-mark path{stroke-dasharray:1;animation:.9s cubic-bezier(.23,1,.32,1) both phonewave-logo-draw}@keyframes phonewave-logo-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}}@media (max-width:900px){.lab-brand-films{grid-template-columns:1fr;gap:30px}}@media (max-width:600px){.lab-film-grid{gap:12px}.lab-film-grid span{font-size:13px}}
