/* A lower stratum of the same mineral world. Movement expresses the descent,
   never worker presence. Team links converge on a shared experiment intake. */
#lab-world{position:fixed;inset:0;z-index:45;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);transform:translateY(100dvh);transition:transform .9s var(--ease);padding:0 5vw 45px;scrollbar-gutter:stable}
body.lab-open #lab-world{transform:translateY(0)}
body.lab-open #viewport{transform:translateY(-8vh) scale(.94)}
#viewport{transition:transform .9s var(--ease)}
.lab-top{display:flex;align-items:center;justify-content:space-between;padding:25px 0;gap:25px}
.lab-top>button{font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}
.lab-top>button span{margin-left:30px;color:var(--red)}
.lab-intro{position:relative;margin:35px auto 0;max-width:1200px;padding-left:13%;display:grid;grid-template-columns:1.3fr 1fr;gap:18px 65px;align-items:end}
.lab-intro h1{font-weight:450;font-size:clamp(34px,4.3vw,56px);line-height:1.08;letter-spacing:-.035em;margin:0;text-wrap:balance}
.lab-intro>p{font-size:15px;line-height:1.7;max-width:47ch;margin:0}
.lab-intro .lab-north{font-family:Hand,cursive;font-size:28px;line-height:1.2;color:var(--red);grid-column:1/-1;max-width:600px;margin:20px 0 0}
.lab-depth{position:absolute;left:0;top:-22px;width:90px;height:160px;transform:rotate(-9deg)}
.lab-depth span{position:absolute;left:0;top:30px;width:85px;height:80px;border:1px solid var(--line);transform:skewY(-20deg)}
.lab-depth span:nth-child(2){top:55px;left:5px}.lab-depth span:nth-child(3){top:80px;left:2px;border-color:var(--red)}
.lab-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:6%;max-width:1200px;margin:0 auto 0;align-items:center}
.lab-field{position:relative;height:560px;min-width:0}
.lab-connections{position:absolute;width:100%;height:100%;overflow:visible;pointer-events:none}
.lab-connections path{fill:none;stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .3s}
.lab-connections path.selected{stroke:var(--red)}
.lab-team{position:absolute;transform:translate(-50%,-50%);width:140px;padding:12px 4px;text-align:center;line-height:1.2}
.lab-team strong{display:block;font-size:16px;font-weight:500}
.lab-team small{display:block;font-size:12px;color:var(--muted);line-height:1.4;margin-top:7px}
.lab-team:before{content:'';display:block;margin:0 auto 10px;width:7px;height:7px;background:var(--ink);border-radius:50%}
.lab-team[aria-pressed="true"]{color:var(--red)}
.lab-team[aria-pressed="true"]:before{background:var(--red);outline:1px solid var(--red);outline-offset:5px}
.lab-submit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:225px;min-height:157px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;text-align:center;color:var(--red)}
.lab-submit>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.lab-submit path{stroke:var(--red);stroke-width:1;fill:none}
.lab-submit>span{font-family:Hand,cursive;font-size:32px;line-height:1}
.lab-submit strong{font-size:12px;font-weight:500;position:absolute;bottom:-10px;padding:3px 5px;background:var(--paper);white-space:nowrap}
.lab-submit:hover path{stroke-width:1.8}
.lab-team-detail{border-top:1px solid var(--line);padding:25px 0;scroll-margin-top:25px}
.lab-team-detail h2{font-size:30px;font-weight:450;letter-spacing:-.025em;margin:0 0 18px}
.lab-team-detail .lab-question{font-family:Hand,cursive;font-size:28px;line-height:1.15;margin-bottom:25px}
.lab-team-detail p{font-size:14px;line-height:1.65;max-width:50ch}
.lab-team-detail dl{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:13px;line-height:1.5;margin:25px 0}
.lab-team-detail dt{color:var(--muted)}.lab-team-detail dd{margin:0}
.lab-team-detail a{font-size:13px;display:inline-block;color:var(--red);margin:8px 20px 0 0}
.lab-team-detail .lab-work-links{display:flex;flex-wrap:wrap;gap:0 20px}
.lab-team-detail .lab-work-links a{margin-right:0}
.lab-projection{max-width:1200px;margin:0 auto 100px;display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}
.lab-projection p{font-size:12px;line-height:1.6;max-width:75ch;margin:0}
.lab-projection button{flex-shrink:0;font-size:12px;border-bottom:1px solid;padding:7px 0;margin-left:auto}
.lab-projection button:disabled{cursor:wait;opacity:.6}
.lab-evidence{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:10%;padding-top:40px;border-top:1px solid var(--ink)}
.lab-evidence h2{font-size:38px;line-height:1.1;font-weight:450;letter-spacing:-.03em;margin:0 0 25px}
.lab-evidence-heading p{font-size:15px;line-height:1.7;max-width:42ch}
.lab-evidence-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:30px}
.lab-evidence-tabs button{font-size:13px;text-align:left;line-height:1.4;padding:0 0 15px;border-bottom:1px solid transparent}
.lab-evidence-tabs button[aria-pressed="true"]{border-color:var(--red);color:var(--red)}
#lab-record h3{font-size:28px;line-height:1.2;font-weight:450;letter-spacing:-.02em;margin:0 0 20px}
#lab-record p{font-size:15px;line-height:1.7;max-width:65ch}
#lab-record .lab-result{font-family:Hand,cursive;font-size:26px;line-height:1.3;color:var(--red)}
#lab-record .lab-small,.lab-small{font-size:12px;line-height:1.6;color:var(--muted)}
#lab-record a{font-size:14px;display:inline-block;margin-top:10px;color:var(--red)}
.lab-invitation{max-width:900px;margin:130px auto 100px;padding-left:10%;position:relative}
.lab-invitation h2{font-size:clamp(30px,3.4vw,48px);font-weight:450;line-height:1.15;letter-spacing:-.03em;margin:25px 0}
.lab-invitation>p{max-width:62ch;line-height:1.7;font-size:15px}
.lab-invitation .lab-hand{font:30px/1.1 Hand,cursive;color:var(--red);transform:rotate(-3deg);transform-origin:left;margin-bottom:25px}
.lab-invitation-link{color:var(--red);font-size:18px;display:inline-block;padding:12px 0;border-bottom:1px solid;text-decoration:none;margin:15px 0}
.lab-invitation-link span{margin-left:35px}
.lab-invitation .lab-small{font-size:12px}
.lab-footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;padding-top:25px;font-size:12px;line-height:1.6}
.lab-footer p{margin:0 auto 0 0}.lab-footer button{font-size:12px;text-align:left;padding:0;text-decoration:underline;text-underline-offset:4px}
/* The lower world is available from every scene, not only the widest shot. */
body #lab-door{opacity:1;visibility:visible;pointer-events:auto;bottom:65px}
.entry-links button[data-enter-lab]{color:var(--red)}
@media(max-width:900px){.lab-intro{padding-left:10%;gap:25px}.lab-depth{width:55px;opacity:.7}.lab-depth span{width:50px}.lab-workspace{gap:25px;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}.lab-field{height:570px}.lab-team{width:110px}.lab-team strong{font-size:14px}.lab-submit{width:170px;height:140px}.lab-submit>span{font-size:28px}.lab-submit strong{font-size:11px}.lab-evidence{gap:6%}}
@media(max-width:600px){#lab-world{padding:0 17px 30px}.lab-top{padding:18px 0}.lab-top>button{font-size:12px}.lab-top>button span{margin-left:12px}.lab-intro{display:block;margin-top:50px;padding-left:0}.lab-intro h1{font-size:38px;max-width:320px;margin-bottom:25px}.lab-intro>p{font-size:14px}.lab-intro .lab-north{font-size:26px;margin-top:25px;max-width:320px}.lab-depth{left:auto;right:0;top:-25px;width:45px;height:85px;opacity:.35;z-index:-1}.lab-depth span{width:38px;height:45px}.lab-workspace{display:block;margin-top:20px}.lab-field{height:530px}.lab-team{width:91px;padding:12px 2px}.lab-team strong{font-size:13px}.lab-team small{font-size:11px}.lab-team:before{margin-bottom:8px}.lab-submit{width:155px;min-height:132px;height:132px}.lab-submit>span{font-size:25px}.lab-submit strong{font-size:11px;margin-top:12px}.lab-team-detail{padding-top:25px}.lab-team-detail h2{font-size:28px}.lab-team-detail .lab-question{font-size:27px}.lab-team-detail p{font-size:14px}.lab-team-detail dl{font-size:12px;grid-template-columns:85px 1fr}.lab-team-detail a{font-size:13px}.lab-projection{display:block;margin-bottom:65px}.lab-projection p{font-size:12px}.lab-projection button{margin-top:10px}.lab-evidence{display:block;padding-top:30px}.lab-evidence h2{font-size:34px}.lab-evidence-heading p{font-size:14px;margin-bottom:35px}.lab-evidence-tabs{gap:20px}.lab-evidence-tabs button{font-size:12px}#lab-record h3{font-size:26px}#lab-record p{font-size:14px}#lab-record .lab-small{font-size:12px}.lab-invitation{margin:90px 0 65px;padding:0}.lab-invitation h2{font-size:32px}.lab-invitation h2 br{display:none}.lab-invitation>p{font-size:14px}.lab-invitation .lab-hand{font-size:27px}.lab-invitation .lab-small{font-size:12px}.lab-footer{display:block}.lab-footer p{margin-bottom:20px}.lab-footer a,.lab-footer button{display:block;margin-top:16px}.entry-links{gap:5px!important}.entry-links button{font-size:11px!important}.entry-links button[data-enter-lab]{order:3}}
@media(prefers-reduced-motion:reduce){#lab-world,#viewport{transition:none!important}}
