.tool-orbit{--size:min(46vw, 560px);--chip:52px;width:var(--size);height:var(--size);position:relative}@media (width>=768px){.tool-orbit{--chip:60px}}.tool-orbit__ring,.tool-orbit__sweep{border-radius:9999px;position:absolute;inset:0}.tool-orbit__line{border:1px solid hsl(var(--forest-foreground) / .12);border-radius:9999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tool-orbit__ring{animation:tool-orbit-spin var(--dur) linear infinite;animation-direction:var(--dir)}.tool-orbit__chip{width:var(--chip);height:var(--chip);margin:calc(var(--chip) / -2) 0 0 calc(var(--chip) / -2);transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a)));position:absolute;top:50%;left:50%}.tool-orbit__upright{width:100%;height:100%;animation:tool-orbit-spin var(--dur) linear infinite;animation-direction:var(--counter)}.tool-orbit__sweep{background:conic-gradient(from 0deg, transparent 0deg 300deg, hsl(var(--primary) / .14) 350deg, transparent 360deg);animation:9s linear infinite tool-orbit-spin;-webkit-mask:radial-gradient(circle,#0000 0 18%,#000 19% 70.5%,#0000 71%);mask:radial-gradient(circle,#0000 0 18%,#000 19% 70.5%,#0000 71%)}.tool-orbit__glow{background:radial-gradient(circle, hsl(var(--primary) / .34), transparent 65%);border-radius:9999px;width:46%;height:46%;animation:4.8s ease-in-out infinite alternate tool-orbit-breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tool-orbit:hover .tool-orbit__ring,.tool-orbit:hover .tool-orbit__upright,.tool-orbit:hover .tool-orbit__sweep{animation-play-state:paused}@keyframes tool-orbit-spin{to{transform:rotate(360deg)}}@keyframes tool-orbit-breathe{0%{opacity:.55;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1.06)}}@media (prefers-reduced-motion:reduce){.tool-orbit__ring,.tool-orbit__upright,.tool-orbit__sweep,.tool-orbit__glow{animation:none}}.ss-stage{perspective:1800px;touch-action:pan-y;-webkit-user-select:none;user-select:none;height:clamp(440px,50vw,680px);margin-top:48px;position:relative}@media (width>=768px){.ss-stage{margin-top:64px}}.ss-slot{--w:min(80vw, 540px);width:var(--w);height:100%;margin-left:calc(var(--w) / -2);transform:translateX(calc(var(--off) * 64%)) translateZ(calc(var(--abs) * -240px)) rotateY(calc(var(--off) * -26deg));opacity:calc(1 - var(--abs) * .38);z-index:calc(10 - var(--abs));transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .6s;position:absolute;top:0;left:50%}.ss-slot[aria-hidden=true]{cursor:pointer}.ss-window{background:hsl(var(--card));height:100%;box-shadow:0 0 0 1px hsl(var(--foreground) / .08), 0 50px 90px -40px hsl(var(--forest) / .55);border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.ss-window__bar{border-bottom:1px solid hsl(var(--foreground) / .08);flex-shrink:0;align-items:center;gap:12px;height:44px;padding:0 14px;display:flex}.ss-window__dots{gap:6px;display:flex}.ss-window__dots i{background:hsl(var(--foreground) / .14);border-radius:50%;width:10px;height:10px}.ss-window__url{background:hsl(var(--background));height:26px;font-family:var(--font-mono);letter-spacing:.04em;text-align:center;color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:1;font-size:12px;line-height:26px;overflow:hidden}.ss-window__view{flex:1;position:relative;overflow:hidden;container-type:size}.ss-window__page{width:100%;height:auto;display:block}.ss-window__page.is-panning{animation:ss-pan var(--pan,12s) ease-in-out 1.2s infinite alternate}@keyframes ss-pan{to{transform:translateY(calc(100cqh - 100cqw * var(--ratio,1)))}}.ss-nav{border:1px solid hsl(var(--foreground) / .25);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .2s,color .2s;display:inline-flex}.ss-nav:hover{background:hsl(var(--foreground));color:hsl(var(--background))}.ss-dot,.ss-mark{justify-content:center;align-items:center;width:28px;height:44px;display:inline-flex}.ss-dot:before,.ss-mark:before{content:"";background:hsl(var(--foreground) / .25);border-radius:999px;width:8px;height:8px;transition:width .4s cubic-bezier(.22,1,.36,1),background-color .3s}.ss-dot[aria-pressed=true]:before,.ss-mark[data-on=true]:before{background:hsl(var(--foreground));width:22px}@media (width<64rem){.ss-dot{width:44px}}@media (prefers-reduced-motion:reduce){.ss-slot{transition:none}.ss-window__page.is-panning{animation:none}}
