body.humans-open,body.experiment-open{height:100dvh;overflow:hidden}
.humans-screen,.human-invitation{height:calc(100dvh - var(--lab-header-height,76px));padding:12px 6.5vw 20px;display:grid;grid-template-rows:30px auto minmax(100px,1fr) 126px 58px;gap:10px;position:relative;overflow:hidden}
.human-tech{font:12px/1.5 monospace;letter-spacing:1.5px;color:var(--muted)}
.humans-meta{display:flex;align-items:center;justify-content:space-between}
.humans-meta button,.human-back{background:none;border:0;color:var(--muted);font:12px monospace;cursor:pointer;padding:10px 0}
.humans-meta button:hover,.human-back:hover{color:var(--acid)}
.humans-heading{text-align:center;padding:7px 0 0}
.human-system{margin:0 0 12px;color:var(--acid);font-size:11px}
.humans-title{font-size:clamp(32px,4.8vw,70px);line-height:1.05;letter-spacing:-.06em;font-weight:400;outline:none}
.human-field{position:relative;width:min(1120px,100%);margin:auto;height:100%;width:100%;isolation:isolate}
.human-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:-1}
.human-network line{stroke:var(--acid);stroke-width:.7;opacity:.25;stroke-dasharray:800;stroke-dashoffset:0;animation:human-link-arrives .6s ease-out}
.human-element{position:absolute;left:var(--hx);top:var(--hy);transform:translate(calc(-50% + var(--mx,0px)),calc(-50% + var(--my,0px)));padding:10px 14px;background:none;border:0;color:var(--white);cursor:pointer;transition:color .3s,opacity .3s,transform .4s ease-out;touch-action:manipulation}
.human-symbol{display:block;position:relative;font-size:clamp(38px,4.3vw,65px);font-weight:400;letter-spacing:-2px;line-height:1.2;padding-right:18px;animation:human-suspension 8s ease-in-out infinite;animation-delay:var(--human-delay)}
.human-symbol sup{position:absolute;right:0;top:0;font:14px Poppins,Arial,sans-serif;letter-spacing:0}
.human-element.is-active,.human-element:hover,.human-element:focus-visible{color:var(--acid);text-shadow:0 0 22px #d6f50033}
.human-field.has-human-focus .human-element:not(.is-active){opacity:.4}
.human-element[data-provisional=true]{color:#b3b6ac}
.human-element[data-provisional=true].is-active{color:var(--acid)}
.human-element.is-visited::after{content:'';display:block;width:3px;height:3px;border-radius:50%;background:var(--acid);position:absolute;left:50%;bottom:2px}
.human-profile{display:flex;justify-content:center;align-items:center;gap:25px;border-top:1px solid var(--line);min-width:0;position:relative;text-align:center}
.human-profile.empty{color:var(--muted)}
.human-profile h3{font-size:clamp(18px,2vw,27px);font-weight:400;letter-spacing:-.03em;margin:3px 0 4px}
.human-role{font:12px/1.4 monospace;letter-spacing:1.5px;color:var(--acid);margin:0 0 9px}
.human-properties{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:0;font:11px/1.4 monospace;color:var(--muted)}
.human-properties div{display:flex;gap:8px}.human-properties dt,.human-properties dd{margin:0}.human-properties dd{color:var(--white)}
.human-profile-copy{animation:human-copy-found .28s ease-out}
.human-portrait{position:absolute;right:6%;bottom:12px;width:140px;height:190px;object-fit:contain;object-position:bottom;filter:grayscale(1) contrast(1.15);mask-image:linear-gradient(transparent,#000 15%,#000 80%,transparent);opacity:.8;pointer-events:none;animation:human-copy-found .5s ease-out}
.humans-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line)}
.human-ending-copy{margin:0;font-size:14px;color:var(--muted)}
.human-start{border:1px solid #d6f50099;border-radius:999px;background:transparent;color:var(--white);font:12px/1.4 monospace;letter-spacing:1px;cursor:pointer;padding:12px 20px;min-height:44px;white-space:nowrap;transition:background .3s,box-shadow .3s}
.human-start:hover{background:#d6f50010;box-shadow:0 0 20px #d6f50030}
.human-loading{font:13px monospace;color:var(--muted);text-align:center;padding:35px}
.human-introducing .human-system{animation:human-copy-found .4s both}
.human-introducing .humans-title{animation:human-copy-found .6s .2s both}
.human-introducing .human-element{animation:human-signal-arrives .7s var(--human-arrival,.5s) both}
@keyframes human-signal-arrives{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}
.world-to-humans{font-size:11px;flex-shrink:0}
.human-invitation{grid-template-rows:30px minmax(0,1fr) auto;text-align:center}
.human-invitation .humans-meta{text-align:left}
.human-invitation-stage{align-self:center;display:flex;flex-direction:column;align-items:center;gap:30px}
.human-equation{display:flex;align-items:center;justify-content:center;gap:clamp(15px,4vw,60px);font-size:clamp(46px,9vw,140px);line-height:1;font-weight:500;letter-spacing:-.055em}
.human-equation sup{font-size:.35em;color:var(--acid);vertical-align:super}
.human-equation .equation-plus{color:var(--muted);font-size:.6em;font-weight:300}
.human-you{display:inline-grid;min-width:2.2em;color:var(--acid)}
.human-you span{grid-area:1/1;transition:opacity .5s,transform .6s;display:block}
.human-you .human-you-word{opacity:0;transform:translateY(12px)}
.human-invitation.identified .human-you-question{opacity:0;transform:translateY(-12px)}
.human-invitation.identified .human-you-word{opacity:1;transform:translateY(0)}
.human-invitation-title{font:clamp(11px,1.4vw,16px)/1.6 monospace;letter-spacing:2px;font-weight:400;color:var(--muted);outline:none}
.human-invitation-caption{margin:0;color:var(--acid);font:12px/1.6 monospace;letter-spacing:2px;opacity:0;transition:opacity .6s}
.identified .human-invitation-caption{opacity:1}
@keyframes human-suspension{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes human-link-arrives{from{stroke-dashoffset:800;opacity:0}to{stroke-dashoffset:0;opacity:.25}}
@keyframes human-copy-found{from{opacity:0;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:700px){.humans-screen,.human-invitation{padding:8px 5vw max(10px,env(safe-area-inset-bottom));gap:7px}.humans-screen{grid-template-rows:26px auto minmax(100px,1fr) 132px 70px}.human-tech{font-size:10px;letter-spacing:.8px}.humans-title{font-size:clamp(29px,8vw,44px)}.human-system{font-size:9px;margin-bottom:9px}.human-field{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);align-items:center;justify-items:center}.human-element{position:relative;left:auto;top:auto;transform:translate(var(--mx,0px),var(--my,0px));padding:10px}.human-symbol{font-size:clamp(30px,9vw,42px)}.human-symbol sup{font-size:11px}.human-profile h3{font-size:20px}.human-role{font-size:10px}.human-properties{gap:8px 14px;font-size:10px}.human-portrait{right:0;width:80px;height:110px;opacity:.3}.humans-footer{gap:10px}.human-ending-copy{font-size:12px;max-width:45%}.human-start{font-size:10px;padding:10px 12px;letter-spacing:.5px}.human-invitation-stage{gap:24px}.human-equation{font-size:clamp(42px,12vw,66px);gap:12px}}
@media(max-height:650px) and (min-width:701px){.humans-screen{grid-template-rows:26px auto minmax(80px,1fr) 106px 50px;gap:6px}.humans-title{font-size:38px}.human-system{margin-bottom:6px}.human-symbol{font-size:42px}}
@media(max-height:650px) and (max-width:700px){.humans-screen{grid-template-rows:24px auto minmax(68px,1fr) 100px 54px;gap:5px}.humans-title{font-size:25px}.human-system{margin-bottom:5px}.human-symbol{font-size:29px}.human-profile h3{font-size:17px}.human-element{padding:5px 10px}.human-start{min-height:38px}.human-ending-copy{font-size:11px}}
@media(prefers-reduced-motion:reduce){.human-symbol,.human-network line,.human-profile-copy,.human-portrait,.human-introducing .human-element,.human-introducing .human-system,.human-introducing .humans-title{animation:none}.human-element,.human-you span,.human-invitation-caption{transition:none}}

.human-equation .equation-brand{display:block;width:1em;flex:0 0 1em;letter-spacing:0}
.equation-brand>img{display:block;width:100%;height:auto;user-select:none}
.human-element[hidden],.human-pages[hidden]{display:none!important}
.human-pages{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;z-index:2}
.human-pages button{width:44px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--bg,#0b0c0b);color:var(--acid);font:22px monospace;cursor:pointer}
.human-pages button:disabled{opacity:.25;cursor:default}
@media(max-width:700px){.human-field{padding-bottom:42px;box-sizing:border-box}.human-pages button{height:36px}.human-profile-copy{max-width:100%}.human-profile h3{font-size:clamp(16px,5vw,20px);overflow-wrap:anywhere}}
