.hub-page{overflow:clip;--halo:#1414130a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hub-page{--halo:#698ccc16}}:root[data-theme=dark] .hub-page{--halo:#698ccc16}.hub-intro{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;grid-gap:clamp(24px,4vw,64px);gap:clamp(24px,4vw,64px);padding-block:clamp(32px,4vw,56px) clamp(40px,5vw,72px)}.hub-intro-copy{position:relative;z-index:2}.hub-intro .back-link{margin-bottom:clamp(28px,4vw,48px)}.hub-intro h1{font-size:clamp(46px,4.9vw,72px);line-height:1;letter-spacing:-.058em;margin-top:22px}.hub-intro .lede{margin-top:28px;max-width:26em}.hub-download{margin-top:36px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.download-meta{font-size:14px;color:var(--text-2)}.requirements{font:500 12px/1.5 var(--font-mono);letter-spacing:.04em;color:var(--text-3)}.copy-group{margin-top:16px}.copy-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;font-size:15px;color:var(--text-2)}.copy-link:hover{color:var(--text)}.copy-status{display:block;min-height:20px;font-size:13px;color:var(--text-2)}.handoff{margin:0;min-width:0}.handoff-stage{position:relative;aspect-ratio:1/1.04;perspective:1400px;isolation:isolate}.handoff-take{position:absolute;inset:0;transform-style:preserve-3d}.handoff-halo{position:absolute;inset:8% -12% 4%;background:radial-gradient(ellipse at 50% 50%,var(--halo),transparent 66%);z-index:-1}.handoff-window{position:absolute;width:52%;left:24%;top:2%;border-radius:3%/2%;box-shadow:0 0 0 1px #ffffff18,var(--shadow-device);transform-origin:50% 53%;will-change:transform,opacity;overflow:hidden}.handoff-window>img{display:block;width:100%;height:auto}.handoff-window>.handoff-selected{position:absolute;inset:0;opacity:0}.handoff-cursor{position:absolute;top:0;left:0;width:4.4%;filter:drop-shadow(0 3px 5px #0005);opacity:0;z-index:5;will-change:transform}.handoff-cursor svg{width:100%;height:auto}.handoff-cursor>span{position:absolute;top:88%;left:75%;font-size:12px;font-weight:500;background:var(--amber);color:var(--on-amber);border-radius:20px;padding:3px 9px}.handoff-click{position:absolute;left:83.5%;top:48.5%;width:15%;aspect-ratio:1;border-radius:50%;border:1px solid var(--amber);background:var(--amber-tint);transform:translate(-50%,-50%) scale(0);opacity:0}.handoff-ipad{position:absolute;width:100%;left:0;top:17%;opacity:0;transform:translate3d(34%,22%,-90px) rotate(8deg) scale(.62);transform-origin:50% 50%;will-change:transform,opacity}.handoff-label{position:absolute;bottom:0;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font:500 12px/1.4 var(--font-mono);color:var(--text-2)}.handoff-label>span{width:6px;height:6px;border-radius:50%;background:var(--blue)}.handoff-label-ipad{opacity:0}.handoff-label-ipad>span{background:var(--amber)}.handoff-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px;line-height:1.5;color:var(--text-3)}.handoff-caption>span{max-width:34em}.handoff-caption button{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);font-size:14px;color:var(--text)}.handoff-caption button:hover{border-color:var(--text-3)}.is-ready .handoff-window{animation:handoff-window 10s both}.is-ready .handoff-selected{animation:handoff-select 10s both}.is-ready .handoff-cursor{animation:handoff-pointer 10s both}.is-ready .handoff-click{animation:handoff-click 10s both}.is-ready .handoff-ipad{animation:handoff-deck-front 10s both}.is-ready .handoff-label-mac{animation:handoff-mac-label 10s both}.is-ready .handoff-label-ipad{animation:handoff-ipad-label 10s both}.handoff-stage[data-playing=false] .handoff-take *{animation-play-state:paused!important}@keyframes handoff-window{0%{opacity:0;transform:translateY(20px) scale(.97)}44%,9%{opacity:1;transform:translateZ(0) rotate(0) scale(1);animation-timing-function:cubic-bezier(.4,0,.2,1)}54%{opacity:.9;transform:translate3d(-24%,-5%,-50px) rotate(-8deg) scale(.9);animation-timing-function:cubic-bezier(.2,.7,.2,1)}70%,to{opacity:1;transform:translate3d(-48%,-5%,-20px) rotate(0) scale(.96)}}@keyframes handoff-select{0%,25%{opacity:0}26%,to{opacity:1}}@keyframes handoff-pointer{0%,8%{opacity:0;left:86%;top:68%;transform:rotate(-10deg)}13%{opacity:1;left:80%;top:65%;transform:rotate(0)}23%,28%{opacity:1;left:69%;top:41.5%;transform:rotate(-4deg)}32%{opacity:1;left:67%;top:43%;transform:rotate(0)}42%{opacity:1;left:78%;top:31%;transform:rotate(4deg)}47%,to{opacity:0;left:80%;top:28%;transform:rotate(6deg)}}@keyframes handoff-click{0%,23%{opacity:0;transform:translate(-50%,-50%) scale(.1)}25%{opacity:1;transform:translate(-50%,-50%) scale(.45)}31%,to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}@keyframes handoff-deck-front{0%,44%{opacity:0;transform:translate3d(34%,22%,-90px) rotate(8deg) scale(.62)}50%{opacity:1;transform:translate3d(30%,20%,-70px) rotate(8deg) scale(.64);animation-timing-function:cubic-bezier(.4,0,.2,1)}57%{opacity:1;transform:translate3d(22%,17%,30px) rotate(4deg) scale(.72);animation-timing-function:cubic-bezier(.16,1,.3,1)}74%,to{opacity:1;transform:translate3d(15%,16.5%,0) rotate(0) scale(.7)}}@keyframes handoff-mac-label{0%,45%{opacity:1}54%,to{opacity:0}}@keyframes handoff-ipad-label{0%,67%{opacity:0;transform:translateY(8px)}78%,to{opacity:1;transform:none}}.hub-bridge{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-top:clamp(24px,3vw,40px)}.hub-bridge>div{padding:32px 32px 32px 0}.hub-bridge>div+div{padding-left:32px;border-left:1px solid var(--line)}.hub-bridge h2{font-size:22px;font-weight:400;line-height:1.25;letter-spacing:-.03em;margin-top:14px}.hub-bridge p{font-size:15px;line-height:1.6;color:var(--text-2);margin-top:8px;max-width:22em}.installation{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);grid-gap:24px clamp(40px,6vw,96px);gap:24px clamp(40px,6vw,96px);align-items:start;padding-block:var(--section) clamp(56px,6vw,88px)}.installation h2{font-size:clamp(36px,4.2vw,56px);line-height:1.05;letter-spacing:-.052em;margin-top:18px}.installation>.install-steps,.installation>.tutorial{grid-column:2}.install-steps{list-style:none;margin:0;padding:0}.install-steps li{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:16px;gap:16px;padding:32px 0;border-top:1px solid var(--line)}.install-steps li:last-child{border-bottom:1px solid var(--line)}.step-index{font:500 12px/1 var(--font-mono);letter-spacing:.1em;color:var(--text-3);padding-top:9px}.install-steps h3{font-size:clamp(22px,2.2vw,28px);font-weight:400;letter-spacing:-.035em;line-height:1.2}.install-steps p{font-size:16px;line-height:1.65;color:var(--text-2);max-width:36em;margin-top:10px}.tutorial{margin-bottom:24px}.tutorial video{width:100%;border-radius:16px;background:var(--surface);box-shadow:0 0 0 1px var(--line)}.tutorial p{font-size:13px;color:var(--text-3);margin-top:12px}.hub-faq{padding-bottom:var(--section);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);grid-gap:24px clamp(40px,6vw,96px);gap:24px clamp(40px,6vw,96px)}.hub-faq>.eyebrow{padding-top:24px}@media (max-width:1000px){.hub-intro{grid-template-columns:1fr;gap:48px}.hub-intro-copy{max-width:620px}.handoff{max-width:640px;width:100%;margin-inline:auto}}@media (max-width:700px){.hub-intro{padding-top:20px}.hub-intro h1{font-size:clamp(44px,12vw,60px)}.hub-download{align-items:stretch}.hub-download .button{justify-content:center}.handoff-caption{flex-direction:column;align-items:flex-start}.handoff-cursor>span{padding:2px 7px}.hub-bridge{grid-template-columns:1fr}.hub-bridge>div,.hub-bridge>div+div{padding:26px 0;border-left:0}.hub-bridge>div+div{border-top:1px solid var(--line)}.installation{grid-template-columns:1fr}.installation>.install-steps,.installation>.tutorial{grid-column:1}.install-steps li{grid-template-columns:44px minmax(0,1fr);gap:8px;padding:26px 0}.hub-faq{display:block}.hub-faq>.eyebrow{padding-top:0;margin-bottom:20px}}@media (prefers-reduced-motion:reduce){.handoff-take *{animation:none!important}.handoff-window{opacity:1;transform:translate3d(-48%,-5%,-20px) rotate(0) scale(.96)}.handoff-window>.handoff-selected{opacity:1}.handoff-ipad{opacity:1;transform:translate3d(15%,16.5%,0) rotate(0) scale(.7)}.handoff-click,.handoff-cursor,.handoff-label-mac{display:none}.handoff-label-ipad{opacity:1}}