/* Thoughts clear the face quickly, coast outward, then rest before fading. */
#home .thought-bubbles{--bubble-room:clamp(0px,calc((100vw - 760px)/2),150px);inset:0 calc(-1 * var(--bubble-room))}
@media(max-width:740px){#home .artwork{padding-top:40px}#home .thought-bubbles{inset:-40px 0 -55px}#home .art-controls{margin-top:62px}}

.expressive-eyes[data-expression="panic"] [data-eye="panic"]{display:inline;stroke-width:5}
#home .logo-stage{touch-action:none;user-select:none;-webkit-user-select:none}
#home .logo-stage[data-string-state="stretching"],#home .logo-stage[data-string-state="detached"]{cursor:grabbing}
#logo-stage[data-string-state="returning"],.robot-thumb[data-string-state="returning"]{pointer-events:none}
.robot-thumb{transform:translateX(-50%) translate(var(--string-x,0px),var(--string-y,0px))}
.lyre-track .rail-frame{overflow:visible}
.robot-manipulating,.robot-manipulating *{user-select:none!important;-webkit-user-select:none!important}
.central-robot-feet,.side-robot-feet{display:none;pointer-events:none}
#logo-stage[data-return-style="run"] .central-robot-feet{display:inline}
.central-robot-feet path{transform-box:fill-box;transform-origin:top;animation:central-run-step .13s ease-in-out infinite alternate}
.central-robot-feet path:nth-child(2){animation-delay:-.13s}
.robot-thumb[data-return-style="run"] .side-robot-feet{display:block;position:absolute;bottom:-5px;left:15%;right:15%;height:7px}
.side-robot-feet i{position:absolute;width:9px;height:3px;background:#bb8749;border-radius:3px;left:1px;animation:side-run-step .13s ease-in-out infinite alternate}
.side-robot-feet i:nth-child(2){left:auto;right:0;animation-delay:-.13s}
.robot-thumb[data-return-style="run"] .robot-visual{animation:robot-run-hop .13s ease-in-out infinite alternate}
.string-sound-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px;padding-top:15px;border-top:1px solid #dbe3eb;font-size:10px;color:var(--muted)}
.string-audio-pulse{display:inline-block;margin-left:5px;color:#bb8749;opacity:.35;transition:opacity .15s}
.string-sounding .string-audio-pulse{opacity:1}
@keyframes central-run-step{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}
@keyframes side-run-step{from{transform:translateY(-2px) rotate(-15deg)}to{transform:translateY(2px) rotate(15deg)}}
@keyframes robot-run-hop{from{transform:translateY(-1px) rotate(-4deg)}to{transform:translateY(1px) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.central-robot-feet path,.side-robot-feet i,.robot-thumb[data-return-style="run"] .robot-visual{animation:none}}
.robot-thumb[data-caption-side="right"] .robot-aside{right:auto;left:calc(100% + 11px)}
.robot-thumb[data-caption-side="right"] .robot-aside::after{right:auto;left:-4px;transform:rotate(225deg)}

/* Curved strings are open strokes; SVG must never fill their implicit closure. */
.lyre-track .rail-frame path{fill:none;stroke-linecap:round;stroke-linejoin:round}
