.lab-private{display:flex;align-items:center;gap:9px;margin:22px 0 0;font-size:14px;color:var(--ink-3)}.lab-private svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}.lab-status{min-height:1.4em;margin:10px 0 0;font-size:12px;letter-spacing:.04em;color:var(--accent-ink)}.lab-index{display:grid;gap:10px;margin:0;padding:0;list-style:none}.stand-lab .lab-index{position:absolute;left:50%;top:56%;z-index:3;width:min(430px,96%);gap:10px;translate:-50% -50%}.stand-lab .lab-index a{padding:16px 18px;background:#ffffffe6}.lab-index a{display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 12px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}@media(hover:hover){.lab-index a:hover{transform:translateY(-2px);border-color:var(--line-2);box-shadow:var(--shadow)}}.lab-index .mono{grid-row:span 2;padding-top:3px;font-size:12px;color:var(--accent-ink)}.lab-index b{font-size:18px;font-weight:620;letter-spacing:-.02em}.lab-index a span:last-child{font-size:14.5px;color:var(--ink-3)}.game{scroll-margin-top:70px}.game-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:20px 48px;margin-bottom:26px}.how{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:15px;line-height:1.5;color:var(--ink-2)}.how li{display:grid;grid-template-columns:124px minmax(0,1fr);gap:10px}.how b{padding-top:2px;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.game-stage{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;border:1px solid var(--line);border-radius:28px;background:#ffffffbd;box-shadow:var(--shadow-sm)}.game-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:14px}.game-status{margin:0;font-size:15px;color:var(--ink-2)}.game-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.game-hud{position:absolute;left:16px;top:16px;z-index:2;display:flex;flex-wrap:wrap;gap:8px}.score{display:inline-flex;align-items:baseline;gap:10px;margin:0;padding:8px 12px;border-radius:10px;background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 0 1px var(--line);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.score b{font-size:20px;font-weight:600;letter-spacing:0;color:var(--ink)}.score b.is-bump{animation:bump .5s var(--ease)}@keyframes bump{30%{transform:scale(1.45);color:var(--accent-ink)}}.stage-note{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:30px;text-align:center;color:var(--ink-2)}.stage-cam{position:absolute;right:14px;bottom:14px;z-index:3}.cam-pip{position:relative;width:176px;aspect-ratio:4 / 3;overflow:hidden;border-radius:14px;background:#0b0c0e;box-shadow:0 0 0 1px #0b0c0e1a,0 18px 36px -18px #0b0c0e80}.cam-pip video,.cam-pip canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.cam-dot{position:absolute;left:9px;top:9px;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e4d}.stage-toss{height:clamp(440px,64vh,600px)}.stage-toss canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.toss-grab{position:absolute;left:0;top:0;z-index:1;border-radius:12px;touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent}.toss-grab:active{cursor:grabbing}.toss-grab:focus-visible{outline:2px dashed var(--ink);outline-offset:6px}.stage-build{height:clamp(480px,66vh,620px);container-type:inline-size}.build-frame{position:absolute;top:26px;right:26px;bottom:26px;width:62%;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 0 0 1px #0b0c0e14,0 30px 60px -34px #0b0c0e73}.bf-bar{display:flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-bottom:1px solid var(--line);background:#f7f7f5}.bf-bar i{width:9px;height:9px;border-radius:50%;background:#d9dad6}.bf-url{margin:0 auto;padding:3px 14px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:11px;color:var(--ink-3)}.bf-page{flex:1;display:grid;grid-template-rows:13% minmax(0,1fr) 15%;gap:12px;padding:14px;transition:background-color .8s var(--ease)}.bf-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px;min-height:0}.slot{display:grid;place-items:center;min-height:0;border:1.5px dashed var(--line-2);border-radius:12px;transition:border-color .25s,background-color .25s}.slot span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.slot-cta{justify-self:center;width:46%}.slot.is-near{border-color:var(--accent);background:var(--accent-soft)}.slot.is-filled{border-color:transparent}.slot.is-filled span{visibility:hidden}.build-frame.is-live .bf-page{background:var(--tint, #fff)}.build-frame.is-over{box-shadow:0 0 0 2px var(--accent),0 0 0 8px var(--accent-soft),0 30px 60px -34px #0b0c0e73}.bk-logo,.bk-btn{background:var(--acc, var(--accent));transition:background-color .5s var(--ease)}.swatches{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border-radius:999px;background:var(--surface);box-shadow:0 0 0 1px var(--line-2)}.swatches .mono{margin-right:4px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.swatches button{width:26px;height:26px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--sw);box-shadow:0 0 0 1px var(--line-2);cursor:pointer;transition:transform .2s var(--ease)}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink);transform:scale(1.08)}.swatches:not([hidden]){animation:pop-in .5s var(--ease)}.build-frame.is-live{box-shadow:0 0 0 1px #0b0c0e14,0 0 0 6px var(--accent-soft),0 30px 60px -30px #0b0c0e80}.bf-live{position:absolute;top:5px;right:10px;animation:pop-in .5s var(--ease)}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}}.block{position:absolute;left:0;top:0;z-index:2;display:block;padding:0;overflow:visible;border:0;border-radius:12px;background:#fff;box-shadow:0 0 0 1px #0b0c0e14,0 16px 30px -16px #0b0c0e66;color:var(--ink2, var(--ink));text-align:left;cursor:grab;touch-action:none;translate:0 var(--bob, 0px);container-type:size;transition:transform .5s var(--ease),width .5s var(--ease),height .5s var(--ease),box-shadow .25s,translate .3s;-webkit-tap-highlight-color:transparent}.block.is-drag{z-index:5;cursor:grabbing;transition:width .3s var(--ease),height .3s var(--ease);box-shadow:0 0 0 2px var(--accent),0 28px 50px -20px #0b0c0e80}.block.is-placed{cursor:default;translate:none;box-shadow:none;background:transparent}.block:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.bk-tag{position:absolute;left:2px;bottom:calc(100% + 5px);font-size:10px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--ink-3);transition:opacity .3s}.block.is-placed .bk-tag{opacity:0}.bk-body{position:absolute;inset:0;display:flex;overflow:hidden;border-radius:inherit}.block-nav .bk-body{align-items:center;gap:4cqw;padding:0 5cqw}.bk-logo{flex:none;width:max(10px,9cqh);height:max(10px,9cqh);max-width:22px;max-height:22px;border-radius:4px}.block-nav b{font-size:clamp(9px,6.5cqw,17px);font-weight:650;letter-spacing:-.02em;white-space:nowrap}.bk-links{display:flex;gap:3cqw;margin-left:auto}.bk-links i{width:7cqw;height:3px;border-radius:2px;background:currentColor;opacity:.35}.block-head .bk-body{flex-direction:column;justify-content:center;gap:4cqh;padding:6cqh 7cqw}.bk-h{font-size:clamp(11px,9cqw,34px);font-weight:680;line-height:1.02;letter-spacing:-.035em}.bk-p{font-size:clamp(8px,4.2cqw,15px);line-height:1.35;opacity:.7}.block-photo img{width:100%;height:100%;object-fit:cover}.block-cta .bk-body{align-items:center;justify-content:center}.bk-btn{padding:.6em 1.3em;border-radius:999px;font-size:clamp(9px,7cqw,17px);font-weight:650;color:#fff;white-space:nowrap}.block-cta.is-placed .bk-btn{box-shadow:0 10px 20px -10px #00000080}.hand-cursor{position:absolute;left:-18px;top:-18px;z-index:6;width:36px;height:36px;border:2px solid var(--ink);border-radius:50%;background:#ffffff59;pointer-events:none;transition:scale .15s var(--ease),border-color .15s}.hand-cursor i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--ink)}.hand-cursor.is-pinching{scale:.62;border-color:var(--accent)}.stage-rps{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-height:460px;padding:32px}.rps-side{display:grid;justify-items:center;align-content:center;gap:14px;height:100%}.rps-card{display:grid;place-items:center;align-content:center;gap:8px;width:150px;height:170px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm);transition:border-color .3s,box-shadow .3s}.rps-card svg{width:70px;height:70px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rps-card span{font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.rps-card.is-set{animation:card-in .45s var(--ease)}@keyframes card-in{0%{transform:scale(.85) rotate(-4deg);opacity:.3}}.rps-q{font-size:56px!important;font-family:var(--ff-body)!important;font-weight:300;letter-spacing:0!important;color:var(--line-2)!important}.stage-rps.is-win .rps-you .rps-card,.stage-rps.is-lose .rps-ghost .rps-card{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),var(--shadow)}.rps-seat{width:100%;height:150px}.rps-mid{display:grid;justify-items:center;gap:18px;min-width:220px;text-align:center}.rps-call{min-height:1.1em;margin:0;font-size:clamp(30px,3.4vw,48px);font-weight:650;letter-spacing:-.04em}.rps-call.is-pop{animation:call-pop .45s var(--ease)}@keyframes call-pop{0%{transform:scale(.7);opacity:0}}.rps-score{display:flex;align-items:center;gap:10px;margin:0;padding:8px 14px;border-radius:12px;background:#ffffffd9;box-shadow:0 0 0 1px var(--line);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.rps-score b{font-size:22px;font-weight:600;color:var(--ink)}.rps-score i{width:1px;height:18px;background:var(--line-2)}.rps-cam{position:relative;right:auto;bottom:auto}.rps-cam .cam-pip{width:150px}.rps-choices{display:flex;gap:6px}.rps-card.is-seeing{border-style:dashed;opacity:.75}.rps-choice{display:inline-flex;align-items:center;gap:6px;height:48px;padding:0 16px 0 10px;font-weight:560;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-size:13.5px;cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s var(--ease)}.rps-choice svg{width:28px;height:28px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rps-choice:active{transform:scale(.96)}@media(hover:hover){.rps-choice:hover{border-color:var(--ink)}}@media(max-width:900px){.game-head{grid-template-columns:minmax(0,1fr)}.stand-lab .lab-index a{padding:12px 14px}.stand-lab .lab-index b{font-size:16px}}@media(max-width:700px){.how li{grid-template-columns:minmax(0,1fr);gap:0}.game-stage{border-radius:20px}.stage-toss{height:min(72svh,540px)}.cam-pip{width:120px}.stage-build{height:600px}.build-frame{inset:14px 14px auto;width:auto;height:300px}.bf-page{gap:8px;padding:10px}.bf-hero{gap:8px}.stage-rps{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;min-height:0;padding:20px 14px}.rps-mid{grid-column:1 / -1;grid-row:1;min-width:0;gap:12px}.rps-card{width:118px;height:132px}.rps-card svg{width:54px;height:54px}.rps-seat{height:110px}.rps-cam .cam-pip{width:118px}.game-bar{align-items:stretch}.game-actions,.rps-choices{width:100%}.rps-choice{flex:1;justify-content:center}}
