/* MPShift document-world hero letter physics. */
.hero-physics-source-letter{visibility:visible;position:relative;cursor:grab;-webkit-user-select:none;user-select:none}
.hero-physics-source-letter:hover{filter:brightness(1.04)}
.hero-physics-source-letter.is-hovered:not(.is-detached){-webkit-text-stroke:1px var(--hero-hover-outline,rgba(216,255,95,.48));filter:brightness(1.04);text-shadow:0 0 12px rgba(216,255,95,.08)}
/* The silhouette is the real source glyph itself, so it cannot drift from its original position. */
.hero-physics-source-letter.is-detached{color:transparent!important;-webkit-text-stroke:1px var(--hero-source-outline,rgba(216,255,95,.34));text-shadow:none;cursor:pointer}
.hero-physics-source-letter.is-detached:hover{-webkit-text-stroke-color:rgba(216,255,95,.62);filter:brightness(1.08)}
.hero-physics-source-letter.is-recalling{-webkit-text-stroke-color:rgba(216,255,95,.46)}
.hero-physics-layer{position:fixed;inset:0;width:100vw;height:100vh;z-index:28;pointer-events:none;overflow:visible;contain:style}
.hero-physics-letter{position:absolute;left:0;top:0;display:block;margin:0;padding:0;transform-origin:50% 50%;z-index:2;pointer-events:none;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;will-change:transform;opacity:0;color:transparent!important;transition:filter 120ms ease,text-shadow 120ms ease,opacity 70ms ease}.hero-physics-letter__glyph{position:absolute;inset:0;display:block;margin:0;padding:0;pointer-events:none}
.hero-physics-letter:not(.is-detached):hover{opacity:0;filter:none;text-shadow:none}
.hero-physics-letter.is-detached{opacity:1;z-index:4;pointer-events:auto}
.hero-physics-letter.is-dragging{cursor:grabbing;filter:brightness(1.12);text-shadow:0 0 17px rgba(216,255,95,.2)}
.hero-physics-letter.is-returning{filter:brightness(1.08);text-shadow:0 0 12px rgba(216,255,95,.12)}
.hero-physics-letter.is-sleeping{will-change:auto}
.hero-physics-tether{position:fixed;inset:0;width:100vw;height:100vh;overflow:visible;pointer-events:none;z-index:27;opacity:0;transition:opacity 80ms ease}
.hero-physics-tether.is-visible{opacity:1}
.hero-physics-tether__line{stroke:rgba(216,255,95,.46);stroke-width:1.1;stroke-dasharray:4 7;vector-effect:non-scaling-stroke}
@media(prefers-reduced-motion:reduce),(any-hover:none),(any-pointer:coarse){.hero-physics-layer,.hero-physics-tether{display:none!important}.hero-physics-source-letter{cursor:inherit!important}}
