:root{--glass-bg:linear-gradient(145deg, #ffffff94, #ffffff38);--glass-border:#ffffff9e;--glass-shadow:0 24px 70px -34px #141d2b6b, 0 2px 10px #141d2b0f, inset 0 1px 0 #ffffffb8;--ink:#101318;--muted:#10131894;--accent:#4b8dff;--accent-2:#7a63ff;--accent-green:#2fd97f;--gutter-x:clamp(14px, 1.6vw, 32px);--gutter-top:clamp(12px, 1.6vh, 22px);--gutter-bottom:clamp(12px, 1.6vh, 22px);--finale-side-x:clamp(28px, 6vw, 140px);--font-display:"Space Grotesk", "IBM Plex Sans SC OT60", "Inter", system-ui, sans-serif;--font-sc:"IBM Plex Sans SC OT60", "Inter", "Google Sans Flex", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box}.ot60-mount{width:100%;height:100%;margin:0;overflow:hidden}.ot60-shell button{font:inherit}.app-shell{isolation:isolate;width:100%;height:100%;position:relative}.scene-canvas{touch-action:none;inset:0;position:absolute!important}.app-shell.is-explore .scene-canvas,.app-shell.is-landing .scene-canvas{cursor:grab}.app-shell.is-explore .scene-canvas.is-dragging,.app-shell.is-landing .scene-canvas.is-dragging{cursor:grabbing}.app-shell.is-explore .scene-canvas.is-locked,.app-shell.is-landing .scene-canvas.is-locked,.scene-canvas.is-locked{cursor:default}.scene-canvas.is-imu{cursor:grab}.scene-canvas.is-imu.is-dragging{cursor:grabbing}.app-shell.is-finale .scene-canvas.is-finale-grab{cursor:grab}.app-shell.is-finale .scene-canvas.is-finale-grab.is-dragging{cursor:grabbing}.vignette{z-index:5;inset:0}.ambient,.vignette{pointer-events:none;position:absolute}.ambient{z-index:0;filter:blur(22px);opacity:.72;border-radius:999px}.ambient-a{background:radial-gradient(circle,#ffffffe0,#0000 68%);width:34vw;height:34vw;top:-12vw;right:-8vw}.ambient-b{background:radial-gradient(circle,#a5beff85,#0000 70%);width:40vw;height:40vw;bottom:-18vw;left:-16vw}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(24px)saturate(1.35)}.ui-root{z-index:10;pointer-events:none;color:var(--ink);position:absolute;inset:0}.ui-root .glass,.ui-root button{pointer-events:auto}.brand-mark-wrap,.loading-mark{font-family:var(--font-display);letter-spacing:-.01em;color:#101318;font-weight:600}.brand-mark-wrap{top:var(--gutter-top);left:var(--gutter-x);z-index:13;pointer-events:none;transition:color calc(var(--layer-fade,.52s)*.7) ease;font-size:clamp(15px,1.15vw,22px);position:absolute}.brand-mark-wrap.is-on-dark{color:#fff}.brand-link{pointer-events:auto;color:inherit;text-decoration:none;transition:opacity .18s}.brand-link:hover{opacity:.68}.explore-intro{text-align:center;width:min(44em,68vw);font-family:var(--font-sc);transition:opacity .3s cubic-bezier(.32,0,.24,1),transform .3s cubic-bezier(.32,0,.24,1);position:absolute;top:clamp(76px,10.5vh,132px);left:50%;transform:translate(-50%)}.explore-intro.is-aside{opacity:0;transform:translate(-50%)translateY(-12px)}.explore-intro-title{font-family:var(--font-display);letter-spacing:-.012em;color:#101318;text-wrap:balance;margin:0;font-size:clamp(26px,2.9vw,44px);font-weight:600;line-height:1.18}.explore-intro-body{color:#101318c7;text-wrap:pretty;width:min(38em,62vw);margin:clamp(12px,1.6vh,18px) auto 0;font-size:clamp(13.5px,1.02vw,16px);font-weight:400;line-height:1.68}.explore-intro-next{color:inherit;margin-top:clamp(8px,1vh,12px);display:block}@media (width<=820px){.explore-intro{width:calc(100vw - 48px);top:96px}.explore-intro-title{font-size:22px}.explore-intro-body{width:100%;font-size:13px}}.hero-intro{top:var(--hero-top,clamp(72px,14vh,142px));left:var(--hero-left,clamp(20px,4.8vw,100px));z-index:12;font-family:var(--font-sc);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--layer-fade,.42s) ease,transform var(--layer-fade,.42s) ease,visibility var(--layer-fade,.42s) ease;flex-direction:column;align-items:flex-start;display:flex;position:absolute;transform:translateY(12px)}.hero-intro.is-in{opacity:1;visibility:visible;transition-duration:.82s;transition-delay:calc(var(--layer-fade,.42s)*.9);transition-timing-function:cubic-bezier(.22,1,.36,1);transform:none}.hero-mark{font-family:var(--font-display);letter-spacing:-.035em;text-indent:-.04em;color:#fff;margin:0;font-size:clamp(55px,6.7vw,124px);font-weight:600;line-height:.94}.hero-lede{letter-spacing:.005em;color:#ffffffd6;max-width:min(38ch,46vw);margin:clamp(16px,2.4vh,26px) 0 0;font-size:clamp(15px,1.1vw,19.5px);font-weight:400;line-height:1.6}.hero-tags{letter-spacing:.005em;color:#ffffff85;flex-wrap:wrap;gap:6px 14px;margin:clamp(10px,1.6vh,18px) 0 0;font-size:clamp(12px,.86vw,15px);line-height:1.5;display:flex}.hero-tags-break{flex-basis:100%;height:0}.site-footer{right:var(--gutter-x);bottom:var(--gutter-bottom);z-index:12;font-family:var(--font-sc);letter-spacing:.04em;color:#1013188c;opacity:0;visibility:hidden;pointer-events:none;transition:color calc(var(--layer-fade,.52s)*.7) ease,opacity .78s ease,visibility .78s ease;font-size:clamp(10.5px,.78vw,13px);position:absolute}.site-footer.is-on-dark{color:#ffffffb8}.site-footer.is-in{opacity:1;visibility:visible;transition-delay:0s,calc(var(--layer-fade,.42s)*.9),calc(var(--layer-fade,.42s)*.9)}.finale-actions{right:var(--finale-side-x);z-index:12;opacity:0;visibility:hidden;pointer-events:auto;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1),visibility .9s;transition-delay:var(--finale-side-delay,1.5s);flex-direction:column;align-items:flex-end;gap:clamp(10px,1vw,15px);display:flex;position:absolute;bottom:clamp(56px,8vh,104px);transform:translateY(12px)}.finale-actions.is-shown{opacity:1;visibility:visible;transform:none}.finale-actions button{min-width:clamp(150px,11.5vw,190px);font-family:var(--font-sc);white-space:nowrap;color:#ffffffc2;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:12px 22px 13px;font-size:clamp(13px,.94vw,15px);font-weight:600;transition:background .22s,border-color .22s,color .22s;display:inline-flex}.finale-actions button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.finale-actions button:focus-visible,.finale-actions button:hover:not(:disabled){color:#fff;background:#ffffff1a;border-color:#ffffff57}.finale-actions button:disabled{cursor:default;opacity:.5}.share-button.is-done{color:#fff;border-color:#ffffff57}.hero-copy{top:clamp(88px,13vh,150px);left:var(--gutter-x);z-index:12;width:min(30em,44vw);font-family:var(--font-sc);font-weight:400;position:absolute}[data-locale=en] .hero-copy{width:min(36em,46vw)}.ui-layer{pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--layer-fade,.42s) ease,visibility var(--layer-fade,.42s) ease;position:absolute;inset:0}.ui-layer.is-active{opacity:1;visibility:visible;transition-duration:.62s;transition-delay:calc(var(--layer-fade,.42s)*.9)}.ui-layer[data-layer=finale]:not(.is-active){opacity:0;visibility:hidden;transition:none}.shot-capsules{top:clamp(88px,13vh,150px);left:var(--gutter-x);z-index:12;width:min(326px,27vw);font-family:var(--font-sc);opacity:0;visibility:hidden;transition:opacity calc(var(--layer-fade,.42s)*.6) ease,transform calc(var(--layer-fade,.42s)*.6) ease,visibility calc(var(--layer-fade,.42s)*.6) ease;pointer-events:none;flex-direction:column;align-items:stretch;gap:10px;display:flex;position:absolute;transform:translateY(10px)}[data-locale=en] .shot-capsules{width:min(360px,30vw)}.shot-capsules.is-active{opacity:1;visibility:visible;transition-duration:.62s;transition-delay:calc(var(--layer-fade,.42s)*.9);transform:none}.shot-capsule{border:1px solid var(--glass-border);width:100%;color:var(--ink);text-align:left;cursor:pointer;pointer-events:auto;border-radius:999px;flex-direction:column;padding:11px 20px;transition:border-radius .26s cubic-bezier(.32,0,.24,1) 80ms,padding .42s cubic-bezier(.4,0,.2,1),background .26s,box-shadow .24s;display:flex}.shot-capsule:hover{background:linear-gradient(145deg,#fffc,#ffffff70)}.shot-capsule.is-open{background:linear-gradient(145deg,#ffffffd1,#ffffff80);border-radius:22px;padding:16px 20px 18px;transition:border-radius .26s cubic-bezier(.32,0,.24,1),padding .42s cubic-bezier(.4,0,.2,1),background .26s,box-shadow .24s}.shot-capsule-head{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.shot-capsule-title{font-family:var(--font-display);letter-spacing:.01em;font-size:clamp(15px,1.2vw,18px);font-weight:600}.shot-capsule-index{letter-spacing:.14em;color:#10131852;font-size:10px;font-weight:600;transition:color .26s}.shot-capsule.is-open .shot-capsule-index{color:var(--accent)}.shot-capsule-reveal{grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1);display:grid}.shot-capsule.is-open .shot-capsule-reveal{grid-template-rows:1fr}.shot-capsule-body{color:#101318b8;opacity:0;margin:0;font-size:13.5px;line-height:1.62;transition:opacity .14s,transform .14s;transform:translateY(3px)}.shot-capsule-reveal-inner{display:block;overflow:hidden}.shot-capsule.is-open .shot-capsule-body{opacity:1;transition:opacity .3s .26s,transform .3s .26s;transform:none}.shot-capsule-legend{opacity:0;border-top:1px solid #1013181a;margin-top:12px;padding-top:11px;transition:opacity .26s;display:block}.shot-capsule.is-open .shot-capsule-legend{opacity:1;transition-delay:.22s}.legend-group{display:block}.legend-group+.legend-group{margin-top:9px}.legend-caption{letter-spacing:.06em;color:#1013186b;margin-bottom:5px;font-size:10px;font-weight:600;display:block}.legend-row{flex-wrap:wrap;gap:5px 10px;display:flex}.legend-chip{color:#101318ad;align-items:center;gap:5px;font-size:11px;display:inline-flex}.legend-chip i{border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 2px #ffffffb3}.dimension-label{font-family:var(--font-sc);white-space:nowrap;-webkit-backdrop-filter:blur(14px)saturate(1.2);background:#ffffffb8;border:1px solid #1013181a;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;line-height:1.2;display:inline-flex;box-shadow:0 14px 30px -24px #141d2ba6}.dimension-label strong{font-family:var(--font-display);letter-spacing:.005em;color:#101318e6;font-size:15px;font-weight:600}.dimension-label em{color:#10131885;font-size:12px;font-style:normal}.dimension-dot{background:#2b313b;border-radius:999px;flex:none;width:7px;height:7px;box-shadow:0 0 0 2px #2b313b1f}.coin-mark[data-guide=efh] strong{color:#1d86a8}.coin-mark[data-guide=efh] .dimension-dot{background:#42d9ff;box-shadow:0 0 0 2px #42d9ff33}.coin-mark[data-guide=full] strong{color:#6b4fd0}.coin-mark[data-guide=full] .dimension-dot{background:#b06bff;box-shadow:0 0 0 2px #b06bff33}.coin-mark{transform:translate(calc(-100% - 8px),-50%)}.coin-mark[data-guide=full]{transform:translate(calc(-100% - 32px),-50%)}.coin-mark[data-guide=efh]{transform:translate(calc(-100% - 8px),-50%)}.lab-group{border-top:1px solid #1013181a;flex-direction:column;gap:4px;padding:8px 0 2px;display:flex}.lab-group-title{color:#101318a8;margin-bottom:2px;font-size:11px;font-weight:600}.lab-note{color:#10131880;margin-top:8px;font-size:10px;line-height:1.5}.haptic-lab .lab-source{height:116px}.sound-lab{width:300px;top:auto;bottom:24px;right:96px}.lab-drop{font-family:var(--font-sc);cursor:pointer;background:#ffffff80;border:1px dashed #1013183d;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:16px 10px;transition:border-color .2s,background-color .2s;display:flex}.lab-drop:hover{background:#fffc;border-color:#4b8dff8c}.lab-drop strong{color:#101318c2;font-size:12px;font-weight:600}.lab-drop em{color:#10131875;font-size:10px;font-style:normal}.lab-file{display:none}.lab-source.is-tall{height:158px}.lab-buttons button:disabled{opacity:.45;cursor:not-allowed}.chat-lab{width:360px}.chat-lab,.pad-lab{max-height:calc(100vh - 180px);top:clamp(96px,12vh,150px);right:96px;overflow-y:auto}.pad-lab{width:340px}.vig-lab{width:320px;max-height:calc(100vh - 180px);top:clamp(96px,12vh,150px);right:96px;overflow-y:auto}.vig-lab input[type=color]{background:0 0;border:1px solid #10131829;border-radius:6px;flex:none;width:34px;height:22px;padding:0}.light-lab{width:330px;max-height:calc(100vh - 180px);top:clamp(96px,12vh,150px);right:96px;overflow-y:auto}.lab-readout{color:#10131899;font-variant-numeric:tabular-nums;background:#1013180d;border-radius:10px;gap:2px;margin-top:8px;padding:8px 10px;font-size:10px;line-height:1.5}.lab-readout,.pad-list{flex-direction:column;display:flex}.pad-list{gap:3px}.pad-row{align-items:center;gap:7px;display:flex}.pad-row input[type=checkbox]{accent-color:#2f6fe0;flex:none}.pad-id{width:104px;font-family:var(--font-mono,ui-monospace,monospace);color:#1013188c;white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:10px;overflow:hidden}.pad-text{min-width:0;font-family:var(--font-sc);color:#101318;background:#ffffffb8;border:1px solid #10131829;border-radius:8px;flex:auto;padding:3px 7px;font-size:11.5px}.pad-text:focus{border-color:#2f6fe099;outline:none}.font-list{gap:8px}.font-card,.font-list{flex-direction:column;display:flex}.font-card{color:#101318cc;text-align:left;cursor:pointer;background:#fff9;border:1px solid #1013181f;border-radius:14px;gap:4px;padding:10px 12px;transition:border-color .2s,background-color .2s}.font-card:hover{background:#ffffffd9}.font-card.is-active{background:#ffffffeb;border-color:#4b8dff99}.font-card-name{font-family:var(--font-sc);justify-content:space-between;align-items:baseline;gap:8px;font-size:11.5px;font-weight:600;display:flex}.font-card-name em{color:#1013186b;font-size:10px;font-style:normal;font-weight:500}.font-card.is-active .font-card-name em{color:var(--accent)}.font-card-sample{white-space:nowrap;color:#16191fe0;display:block;overflow:hidden}.font-card-note{font-family:var(--font-sc);color:#10131880;font-size:10px;line-height:1.5}.lab-chips{flex-wrap:wrap;gap:6px;display:flex}.lab-chip{color:#101318bd;font-family:var(--font-sc);cursor:pointer;background:#fff9;border:1px solid #10131824;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:600;transition:border-color .18s,background-color .18s}.lab-chip:hover{background:#ffffffe6}.lab-chip.is-active{color:#14285ae6;background:#4b8dff1f;border-color:#4b8dff99}.lab-script{color:#101318d1;resize:vertical;background:#ffffffb3;border:1px solid #1013181f;border-radius:12px;width:100%;height:108px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.55}.lab-script::placeholder{color:#10131857}.hero-title{font-family:var(--font-display);letter-spacing:-.012em;color:#101318;text-wrap:balance;margin:0;font-size:clamp(30px,3.2vw,48px);font-weight:600;line-height:1.12}.hero-body{font-size:clamp(13.5px,1.05vw,16px);font-weight:inherit;color:#101318c7;margin:12px 0 0;line-height:1.58}.hero-key{font-family:inherit;font-size:.92em;font-weight:inherit;color:#1b2027;white-space:nowrap;background:#ffffffc7;border:1px solid #10131838;border-radius:7px;padding:1px 7px 2px;line-height:1.35;display:inline-block;box-shadow:inset 0 1px #ffffffe6,0 4px 10px -8px #11182780}.hero-key-group{align-items:baseline;gap:3px;display:inline-flex}.hero-key-group .hero-key{text-align:center;min-width:1.5em;padding-left:4px;padding-right:4px}.spec-table{width:100%;margin:clamp(16px,2.4vh,26px) 0 0;padding:0}.spec-row{border-top:1px solid #1013181a;grid-template-columns:minmax(5.5em,auto) 1fr;align-items:baseline;gap:clamp(10px,1.2vw,22px);padding:clamp(6px,.78vh,9px) 0;display:grid}.spec-row:first-child{border-top:0;padding-top:0}.spec-label,.spec-value{margin:0}.spec-label{letter-spacing:.01em;color:#10131880;white-space:nowrap;font-size:clamp(11.5px,.8vw,13px);font-weight:500;line-height:1.4}.spec-value{color:#101318e0;text-wrap:pretty;font-size:clamp(12.5px,.9vw,15px);font-weight:500;line-height:1.45}.hero-body-next{color:inherit;margin-top:10px;display:block}.zone-legend{flex-wrap:wrap;gap:10px 20px;margin:18px 0 0;padding:0;list-style:none;display:flex}.zone-legend li{letter-spacing:.01em;color:#101318cc;align-items:center;gap:9px;font-size:15.5px;font-weight:600;display:inline-flex}.zone-swatch{opacity:.92;border:1px solid;border-radius:6px;width:17px;height:17px}.page-rail{align-items:center;transition:opacity .42s,visibility .42s;display:flex;position:absolute;top:50%;right:clamp(8px,.7vw,14px);transform:translateY(-50%)}.page-rail.is-menu-less{pointer-events:none}.page-rail.is-menu-less .rail-tab{display:none}.page-rail.is-folded .page-dots{opacity:0;visibility:hidden;pointer-events:none;transform:translate(calc(100% + 26px))}.page-dots{flex-direction:column;align-items:flex-end;gap:8px;margin:0;padding:0;list-style:none;transition:opacity .34s,transform .46s cubic-bezier(.22,1,.36,1),visibility .46s;display:flex}.rail-tab{color:#10131875;cursor:default;pointer-events:none;opacity:.72;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;padding:0;transition:opacity .28s;display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}.page-rail.is-open .rail-tab{opacity:0;pointer-events:none}.page-rail.is-folded .rail-tab{transition-delay:.46s}.rail-tab svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.page-card{color:#101318a8;min-width:clamp(150px,15vw,208px);font-family:var(--font-sc);text-align:left;cursor:pointer;border-radius:14px;align-items:baseline;gap:12px;padding:11px 16px 12px;transition:transform .2s cubic-bezier(.32,0,.24,1),color .24s;display:flex;position:relative}.page-card:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:#ffffffeb;transition:opacity .26s;position:absolute;inset:0;box-shadow:0 18px 34px -20px #141d2b80,inset 0 1px #ffffffe6}.page-card>*{position:relative}.page-card:hover:not(:disabled){color:var(--ink);transform:translate(-3px)}.page-card:disabled{cursor:default}.page-card.is-current{color:var(--ink);cursor:default}.page-card.is-current:before{opacity:1}.page-card-number{font-family:var(--font-display);letter-spacing:.04em;color:#1013186b;font-size:11px;font-weight:600}.page-card.is-current .page-card-number{color:#101318b8}.page-card-title{font-size:clamp(12.5px,.9vw,14.5px);font-weight:500;line-height:1.3}.camera-lab{z-index:14;width:320px;font-family:var(--font-sc);pointer-events:auto;border-radius:18px;gap:6px;padding:14px 16px 16px;position:absolute;top:clamp(96px,12vh,150px);right:96px}.camera-lab,.lab-head{flex-direction:column;display:flex}.lab-head{gap:4px;margin-bottom:4px}.lab-head strong{letter-spacing:.02em;font-size:13px;font-weight:600}.lab-head span{color:#10131885;font-size:10.5px;line-height:1.5}.lab-head-sub{border-top:1px solid #1013181f;margin-top:14px;padding-top:12px}.breakout-invite{margin-top:clamp(14px,2vh,22px)}.breakout-open{border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.62em;padding:10px 18px 11px;font-size:clamp(12.5px,.95vw,14px);font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.breakout-open:hover{background:#ffffffeb;transform:translateY(-1px)}.breakout-open-mark{color:var(--accent);font-size:.78em}.breakout-open-note{color:#10131880;max-width:34em;margin:9px 0 0;font-size:clamp(11.5px,.82vw,12.5px);line-height:1.55}.breakout-frame{z-index:40;background:#000;place-items:center;display:grid;position:fixed;inset:0}.breakout-stage{text-align:center;color:#f2f2ef}.breakout-title{font-family:var(--font-display);letter-spacing:.04em;margin:0;font-size:clamp(34px,4.5vw,72px);font-weight:700}.breakout-subtitle{font-family:var(--font-sc);color:#f2f2efc7;margin:10px 0 0;font-size:clamp(15px,1.3vw,20px)}.breakout-note{font-family:var(--font-mono);letter-spacing:.08em;color:#f2f2ef80;margin:clamp(18px,3vh,30px) 0 0;font-size:clamp(11px,.85vw,13px)}.breakout-note-esc{color:#f2f2ef61;margin-top:10px;display:block}.lab-row{grid-template-columns:84px 1fr 46px;align-items:center;gap:8px;font-size:11px;display:grid}.lab-label{color:#1013189e}.lab-value{font-variant-numeric:tabular-nums;text-align:right;color:#101318c7}.lab-row input[type=range]{width:100%;height:14px;accent-color:var(--accent)}.lab-buttons{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.lab-buttons button{border:1px solid var(--glass-border);background:var(--glass-bg);color:#101318c7;font-family:var(--font-sc);cursor:pointer;border-radius:999px;flex:auto;padding:7px 10px;font-size:11px;font-weight:600}.lab-buttons button.is-primary{background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#fff;border-color:#0000}.lab-source{color:#101318cc;resize:none;background:#ffffffb3;border:1px solid #1013181f;border-radius:12px;height:138px;margin-top:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.5}.scene-canvas.is-lab{cursor:grab}.scene-canvas.is-lab.is-dragging{cursor:grabbing}.agent-lab,.finale-lab{inset:auto auto clamp(16px,2.4vh,32px) clamp(16px,1.6vw,32px)}.ui-layer[data-layer=agents] .hero-copy{width:min(26vw,30em);top:clamp(60px,9.4vh,116px)}.loading-screen{z-index:30;opacity:0;visibility:hidden;pointer-events:none;background:#e9edf2;place-items:center;transition:opacity .32s,visibility .32s;display:grid;position:absolute;inset:0}.loading-screen.is-visible{opacity:1;visibility:visible;pointer-events:auto}.loading-mark{margin:0;font-size:clamp(30px,3.4vw,60px);display:flex}.loading-mark span{color:#1013182e;transition:color .26s}.loading-mark span.is-filled{color:#101318}.shortcut-hud{pointer-events:none;flex-direction:column;align-items:center;gap:14px;width:min(780px,100vw - 56px);display:flex;position:absolute;top:104px;left:50%;transform:translate(-50%)}.shortcut-otp{gap:12px;display:flex}.agent-panel{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);width:min(1040px,42vw);font-size:clamp(13.5px,.78vw,19px);font-family:var(--font-sc);opacity:0;background:linear-gradient(145deg,#ffffff94,#ffffff38);border:1px solid #ffffff9e;border-radius:18px;padding:.85em 1.1em 1em;transition:opacity .42s;box-shadow:0 24px 70px -34px #141d2b6b,0 2px 10px #141d2b0f,inset 0 1px #ffffffb8}.agent-panel.is-active{opacity:1}.agent-panel-head{border-bottom:1px solid #10131814;align-items:center;gap:.7em;padding:.15em .15em .7em;display:flex}.agent-window-dots{gap:5px;display:inline-flex}.agent-window-dots i{background:#10131829;border-radius:999px;width:.62em;height:.62em}.agent-panel-title{font-family:var(--font-mono);letter-spacing:.02em;color:#1013189e;font-size:1em;font-weight:500}.agent-body{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1em;margin-top:.75em;display:grid}.agent-list{flex-direction:column;gap:.15em;margin:0;padding:0;list-style:none;display:flex}.agent-line{font-family:var(--font-mono);color:#1013189e;border-radius:.7em;align-items:baseline;gap:.7em;padding:.6em .85em;font-size:1em;line-height:1.5;transition:background .22s,transform .22s;display:flex;position:relative}.agent-line.is-selected{color:var(--ink);background:#ffffffb8;box-shadow:inset 0 0 0 1px #1013180f}.agent-line.is-selected:before{content:"";background:#101318b8;border-radius:999px;width:.22em;position:absolute;top:.6em;bottom:.6em;left:-.15em}.agent-line.is-pressed{transform:translate(2px)}.agent-dot{border-radius:999px;width:.78em;height:.78em;transform:translateY(-1px)}.agent-line.is-waiting .agent-dot{animation:1.5s ease-in-out infinite agent-wait}@keyframes agent-wait{0%,to{box-shadow:0 0 #f7d77400}50%{box-shadow:0 0 0 4px #f7d77459}}.agent-name{text-overflow:ellipsis;color:#101318b8;overflow:hidden}.agent-name,.agent-state{white-space:nowrap;font-weight:500}.agent-state{letter-spacing:.01em;margin-left:auto;font-size:.85em}.agent-detail{min-width:0;font-family:var(--font-mono);background:#ffffff8c;border-radius:.85em;flex-direction:column;gap:.45em;padding:.7em .9em .75em;display:flex;box-shadow:inset 0 0 0 1px #1013180d}.agent-detail-name{font-family:var(--font-sc);letter-spacing:-.005em;color:var(--ink);align-items:center;gap:.55em;margin:0;font-size:1.08em;font-weight:600;display:flex}.agent-detail-state{color:#101318d1;margin:0;font-size:.97em;line-height:1.5}.agent-log{color:#10131880;border-top:1px solid #10131814;flex-direction:column;gap:.1em;margin:.15em 0 0;padding:.45em 0 0;font-size:.9em;line-height:1.5;list-style:none;display:flex}.agent-log li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.agent-prompt{margin-right:7px;font-weight:600}.agent-chip{font-family:var(--font-sc);letter-spacing:.08em;color:#10131899;border:1px solid #10131829;border-radius:999px;padding:.08em .5em .15em;font-size:.75em;font-weight:600}.agent-line.is-running .agent-dot{animation:1s ease-in-out infinite agent-work}@keyframes agent-work{0%,to{box-shadow:0 0 #7ea6f700}50%{box-shadow:0 0 0 4px #7ea6f759}}.agent-goal{letter-spacing:.01em;color:#101318a8;border-top:1px solid #10131814;align-items:center;gap:.8em;margin-top:.7em;padding:.7em .5em .1em;font-size:.92em;font-weight:600;transition:color .24s;display:flex}.agent-goal.is-done{color:#2f8f5a}.agent-goal-pips{gap:5px;margin-left:auto;display:inline-flex}.agent-goal-pips i{border-radius:999px;width:2.1em;height:.4em;transition:background .24s,opacity .24s}.agent-panel.is-done{border-color:#2f8f5a80}.shortcut-hud.is-caption-only{padding-top:118px}.shortcut-slot{width:86px;height:104px;position:relative}.shortcut-cell{-webkit-backdrop-filter:blur(16px);background:#ffffffc2;border:2px solid #1013183d;border-radius:18px;place-items:center;width:100%;height:100%;transition:border-color .18s,box-shadow .18s,background-color .22s;display:grid;position:relative;box-shadow:0 14px 38px -34px #1118276b,inset 0 1px #fffc}.shortcut-placeholder{letter-spacing:-.04em;color:#10131824;font-size:34px;font-weight:800;transition:opacity .14s}.shortcut-cell.is-hold{overflow:hidden}.shortcut-fill{background:var(--accent-green);opacity:.82;pointer-events:none;height:0;transition:height 60ms linear;position:absolute;inset:auto 0 0}.shortcut-cell.is-hold .shortcut-placeholder{color:#10131852;transition:color .18s;position:relative}.shortcut-cell.is-hold.is-filling .shortcut-placeholder,.shortcut-cell.is-hold.is-held .shortcut-placeholder{color:#101318eb}.shortcut-cell.is-filling,.shortcut-cell.is-held{border-color:#2fd97fe6}.practice-caption{font-family:var(--font-sc);letter-spacing:.01em;color:#101318d1;text-align:center;margin:0;font-size:clamp(15px,1.15vw,18px);font-weight:500}.finale-backdrop{z-index:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--layer-fade,.52s) ease,visibility var(--layer-fade,.52s) ease;background:#000;position:absolute;inset:0}.app-shell.is-finale .ambient{opacity:0}.finale-veil{z-index:6}.finale-mask,.finale-veil{opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--finale-veil-ms,.7s) ease,visibility var(--finale-veil-ms,.7s) ease;background:#000;position:absolute;inset:0}.finale-mask{z-index:13}.app-shell.is-finale .finale-mask{opacity:1;visibility:visible}.app-shell.is-finale.is-reveal .finale-mask{opacity:0;visibility:hidden;transition-duration:var(--finale-reveal-ms,1.5s)}.app-shell.is-finale .finale-veil{opacity:1;visibility:visible}.app-shell.is-finale.is-reveal .finale-veil{opacity:0;visibility:hidden;transition-duration:var(--finale-reveal-ms,1.5s)}.ui-layer[data-layer=finale]{z-index:14}.app-shell.is-finale .finale-backdrop{opacity:1;visibility:visible}.finale-line{white-space:nowrap;display:block}.finale-line:first-child{text-indent:-.018em}.finale-copy{text-align:center;width:min(52em,88vw);font-family:var(--font-sc);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.finale-tagline{letter-spacing:-.01em;color:#fff;margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(20px,2.6vw,48px);font-weight:500;line-height:1.34;transition:opacity .9s}.finale-row{white-space:nowrap;display:block}.finale-line{display:inline-block;position:relative}.finale-ghost{visibility:hidden}.finale-typed{text-align:left;white-space:pre;position:absolute;top:0;bottom:0;left:0}.finale-caret{vertical-align:-.08em;background:currentColor;width:.06em;height:.92em;margin-left:.06em;display:inline-block}.finale-side{opacity:0;visibility:hidden;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1),visibility .9s;transition-delay:var(--finale-side-delay,1.4s);position:absolute;top:clamp(84px,12vh,140px);transform:translateY(18px)}.finale-side.is-shown{opacity:1;visibility:visible;transform:none}.finale-copy.is-out .finale-caret,.finale-copy.is-out .finale-tagline{opacity:0}.finale-caret{transition:opacity .9s}.finale-brand{left:var(--finale-side-x);color:#ffffffdb;width:min(27em,29vw)}.finale-brand-mark{font-family:var(--font-display);letter-spacing:-.035em;color:#fff;align-items:baseline;gap:clamp(10px,1.1vw,20px);margin:0;font-size:clamp(38px,4.6vw,76px);font-weight:600;line-height:.94;display:flex}.finale-brand-spec{font-family:var(--font-sc);letter-spacing:.34em;text-transform:uppercase;color:#ffffff6b;font-size:clamp(12px,.95vw,15px);font-weight:600}.finale-brand .spec-table{gap:clamp(14px,2.1vh,24px);margin-top:clamp(28px,4.4vh,52px);display:grid}.finale-brand .spec-row{border-top:0;grid-template-columns:minmax(6em,9.5em) 1fr;align-items:start;gap:clamp(18px,1.8vw,40px);padding:0;display:grid}.finale-brand .spec-label{color:#ffffff80;font-size:clamp(12px,.86vw,13.5px)}.finale-brand .spec-value{color:#fff;text-wrap:pretty;font-size:clamp(12.5px,.9vw,14.5px)}.finale-contact{top:calc(clamp(84px,12vh,140px) + clamp(38px,4.6vw,76px)/1.06383 + clamp(28px,4.4vh,52px));right:var(--finale-side-x);--finale-side-delay:1.6s;width:min(17em,18vw)}.finale-side-title{font-family:var(--font-sc);letter-spacing:.18em;text-transform:uppercase;color:#ffffff73;margin:0 0 clamp(10px,1.4vh,14px);font-size:clamp(10.5px,.72vw,12px);font-weight:600}[data-locale=zh] .finale-side-title{letter-spacing:.1em;font-size:clamp(12px,.82vw,13px)}.finale-qrs{grid-template-columns:1fr 1fr;gap:clamp(14px,1.5vw,24px);margin:0;padding:0;list-style:none;display:grid}.finale-qr{color:inherit;justify-items:start;gap:9px;text-decoration:none;display:grid}.ui-layer[data-layer=finale].is-active .finale-qr{pointer-events:auto}.finale-qr-code{outline-offset:6px;border-radius:5px;outline:2px solid #fff0;width:100%;height:auto;transition:outline-color .2s,transform .2s;display:block}.finale-qr:focus-visible .finale-qr-code,.finale-qr:hover .finale-qr-code{outline-color:#ffffff3d;transform:translateY(-2px)}.finale-qr-label{font-family:var(--font-sc);color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(11.5px,.82vw,13px);font-weight:600;overflow:hidden}@media (width<=820px){.finale-copy{width:calc(100vw - 40px)}.finale-tagline{font-size:clamp(17px,5vw,26px)}.finale-side{top:74px}.finale-brand{width:auto;left:20px;right:20px}.finale-brand-mark{font-size:clamp(30px,9vw,40px)}.finale-brand .spec-table{grid-template-columns:1fr;gap:9px;margin-top:12px;display:grid}.finale-brand .spec-row{grid-template-columns:minmax(5.5em,7em) 1fr;gap:12px;padding:0}.finale-brand .spec-label{font-size:11px}.finale-brand .spec-value{font-size:11.5px}.finale-contact{width:auto;inset:auto 20px 52px}.finale-side-title{margin-bottom:8px}.finale-qrs{grid-template-columns:repeat(4,1fr);gap:10px}.finale-actions{flex-direction:row;justify-content:center;gap:10px;bottom:202px;left:20px;right:20px;transform:translateY(12px)}.finale-actions button{min-width:0;padding:10px 18px 11px;font-size:12.5px}.finale-actions button svg{width:16px;height:16px}.finale-qr{gap:6px}.finale-qr-label{font-size:10.5px}}.app-shell.is-finale .brand-mark-wrap,.app-shell.is-finale .site-footer{color:#ffffffc7}.app-shell.is-finale .page-card{color:#ffffffb3;background:#ffffff14;border-color:#ffffff29}.app-shell.is-finale .page-card:before{background:#ffffff29;box-shadow:0 18px 34px -20px #000c,inset 0 1px #ffffff38}.app-shell.is-finale .page-card.is-current{color:#fff}.app-shell.is-finale .page-card-number{color:#ffffff6b}.app-shell.is-finale .page-card.is-current .page-card-number{color:#ffffffb8}.app-shell.is-finale .rail-tab{color:#fff9;background:#ffffff1a;border-color:#ffffff29}.loop-mask{z-index:30;opacity:0;pointer-events:none;background:#000;transition:opacity .7s;position:fixed;inset:0}.loop-mask.is-up{opacity:1;pointer-events:auto}.haptic-slot{flex-direction:column;justify-content:center;align-items:center;display:flex}.haptic-button{--haptic-color:#7fc9ff;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(22px)saturate(1.3);cursor:pointer;border-radius:999px;place-items:center;width:74px;height:74px;transition:transform .22s cubic-bezier(.32,0,.24,1),box-shadow .24s,border-color .24s;display:grid;position:relative;box-shadow:0 0 0 1px #17203024,0 0 0 2px #ffffff80,0 18px 40px -30px #141d2b99,inset 0 1px #fffffff2,inset 0 -1px 1px #1720300f}.haptic-button.is-focused{border-color:#17203057;transform:translateY(-3px);box-shadow:0 0 0 1px #17203029,0 0 0 4px #fffc,0 0 0 6px #17203017,0 22px 44px -30px #141d2b9e,inset 0 1px #fffffff2}.haptic-button.is-hit{transform:scale(.93);box-shadow:0 0 0 1px #17203029,0 0 0 7px #fff9,0 0 0 9px #17203012,0 12px 26px -22px #141d2b99,inset 0 1px #fffffff2}.haptic-wave{width:44px;height:20px;overflow:visible}.haptic-wave polyline{fill:none;stroke:color-mix(in srgb,var(--haptic-color) 72%,#2b3340);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.haptic-wave .haptic-area{fill:color-mix(in srgb,var(--haptic-color) 26%,transparent);stroke:none}.scene-canvas.is-haptic-hover{cursor:pointer}.shortcut-cell.is-filled .shortcut-placeholder{opacity:0}.shortcut-cell strong{color:#101318;place-items:center;font-size:38px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.shortcut-cell.is-error strong{transform:none}.shortcut-cell.is-filled{border-color:#1013182e}.shortcut-cell.is-focused{border-width:4px}.shortcut-cell.is-focused:not(.is-correct):not(.is-error){border-color:#1013188f}.shortcut-cell.is-error{border-color:#ff5c6ce0}.shortcut-cell.is-error strong{color:#101318}.shortcut-cell.is-correct{background:#2fd97f1f;border-color:#2fd97fd9}.shortcut-cell.is-solved{background:var(--accent-green);border-color:#2fd97ff2;box-shadow:0 16px 40px -28px #0b5a328c,inset 0 1px #ffffff73}.shortcut-cell.is-solved .shortcut-placeholder,.shortcut-cell.is-solved strong{color:#06281a}.shortcut-hit{cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0}.shortcut-hit:focus{outline:none}.shortcut-guide{color:#101318;white-space:nowrap;-webkit-backdrop-filter:blur(12px);background:#ffffffd1;border:1px solid #ffffffb3;border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:10px;font-weight:750;transition:opacity .52s;display:inline-flex;box-shadow:0 12px 30px -24px #1118278c}.shortcut-guide.is-hidden{opacity:0}@media (width>=821px) and (width<=1259px){.shortcut-hud{top:clamp(196px,29vh,250px)}.ui-layer[data-layer=agents] .shortcut-hud{top:96px}.hero-copy{width:min(360px,56vw);top:clamp(106px,13vh,146px);left:clamp(18px,2.4vw,28px)}.hero-title{font-size:clamp(26px,3vw,38px)}.hero-body{margin-top:10px;font-size:13.5px}}@media (width<=820px){.page-rail{right:8px}.page-card{border-radius:12px;min-width:128px;padding:9px 12px 10px}.page-card-title{font-size:12px}.page-card-number{display:none}.shortcut-hud{gap:10px;width:calc(100vw - 24px);top:56px}.ui-layer[data-layer=agents] .agent-panel{width:100%}.ui-layer[data-layer=agents] .agent-body{grid-template-columns:minmax(0,1fr);gap:8px}.ui-layer[data-layer=agents] .agent-detail{display:none}.ui-layer[data-layer=agents] .agent-line{padding:4px 8px;font-size:12px}.shortcut-hud.is-caption-only{padding-top:68px}.hero-copy{width:auto;top:188px;left:16px;right:16px}.ui-layer[data-layer=agents] .hero-copy{width:auto;top:250px}.ui-layer[data-layer=agents] .hero-title{font-size:26px}.ui-layer[data-layer=agents] .hero-body{font-size:11.5px;line-height:1.45}.hero-title{font-size:30px}.hero-body{margin-top:10px;font-size:13.5px;line-height:1.45}.shot-capsules{gap:8px;width:auto;top:80px;left:16px;right:16px}.shot-capsule{padding:9px 16px}.shot-capsule.is-open{padding:12px 16px 14px}.shot-capsule-body{font-size:13px}.dimension-label{gap:6px;padding:4px 9px}.dimension-label strong{font-size:12.5px}.dimension-label em{font-size:10.5px}.dimension-dot{width:6px;height:6px}.coin-mark[data-guide=full]{transform:translate(calc(-100% - 8px),-50%)translateY(-13px)}.coin-mark[data-guide=efh]{transform:translate(calc(-100% - 8px),-50%)translateY(13px)}.shortcut-otp{gap:6px}.shortcut-cell{border-radius:12px}.haptic-button{width:42px;height:42px}.haptic-wave{width:26px;height:13px}.shortcut-slot{width:46px;height:58px}.shortcut-placeholder{font-size:18px}.shortcut-cell strong{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
