.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.robot-float,.hero-art.hello .robot-float{animation:none!important;position:relative;filter:drop-shadow(0 25px 23px #43392317)}
.robot-rig,.tinkers-puppet{display:block;width:100%;height:100%;overflow:visible}
.tinkers-puppet{user-select:none;-webkit-user-select:none;pointer-events:none}
.robot-touch{position:absolute;inset:0 4%;width:92%;height:100%;background:none;border:0;padding:0;pointer-events:auto;cursor:pointer;border-radius:40%;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.robot-touch:focus-visible{outline:1px dashed var(--accent);outline-offset:10px}
.robot-thought{position:absolute;left:7%;top:9%;max-width:205px;display:flex;align-items:flex-start;gap:10px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;pointer-events:none;z-index:6;color:#45463f;font-size:13px;line-height:1.65;letter-spacing:-.02em}
.robot-thought.speaking{opacity:1;transform:translateY(0)}
.thought-spark{color:var(--accent);font-size:23px;line-height:1.1}
.hero-art:has(.robot-thought.speaking) .coord-top{opacity:0}
.coord-top{transition:opacity .3s}
.art-controls{width:68%;left:30%;gap:9px}
.art-controls #robot-wave,.art-controls #robot-surprise{font-size:10px;width:auto;min-height:40px;border-radius:100px;padding:0 16px;gap:10px;display:flex;align-items:center;background:transparent;transition:background .25s,transform .25s}
.art-controls #robot-surprise{border-color:transparent;color:#58645f;padding-inline:9px}
.art-controls #robot-wave:hover,.art-controls #robot-surprise:hover{background:#dce9e5;transform:translateY(-2px)}
.art-controls #scene-hint{letter-spacing:.08em}
.hero-art[data-robot-state="thinking"] .hero-aura{opacity:.7}
.hero-art[data-robot-state="delighted"] .hero-aura,.hero-art[data-robot-state="playful"] .hero-aura{opacity:1;filter:brightness(1.1)}
.robot-companion{position:fixed;right:30px;bottom:22px;z-index:35;display:block;isolation:isolate;animation:companion-arrive .7s both}
.robot-companion[hidden]{display:none}
.companion-touch{display:block;background:transparent;border:0;padding:0;width:85px;height:85px;cursor:pointer;filter:drop-shadow(0 8px 8px #5a482f24);transition:transform .3s;-webkit-tap-highlight-color:transparent}
.companion-touch:hover{transform:translateY(-4px)}
.companion-touch:focus-visible{outline:1px dashed var(--accent);outline-offset:8px;border-radius:50%}
#companion-rig{display:block;height:100%;width:100%}
.companion-dismiss{position:absolute;right:-10px;top:-7px;border:0;background:#f6f2e9d9;width:28px;height:28px;border-radius:50%;color:#657469;font-size:18px;opacity:0;transition:opacity .2s;cursor:pointer}
.robot-companion:hover .companion-dismiss,.robot-companion:focus-within .companion-dismiss{opacity:1}
.companion-thought{position:absolute;right:105px;bottom:18px;width:185px;font-size:12px;line-height:1.6;color:#42514b;padding:15px 18px;background:#f7f5edee;backdrop-filter:blur(10px);border:1px solid #a6b8ae57;border-radius:18px 18px 2px 18px;opacity:0;transform:translateX(6px);transition:opacity .3s,transform .3s;pointer-events:none}
.robot-companion.speaking .companion-thought{opacity:1;transform:translateX(0)}
body:has(dialog[open]) .robot-companion{display:none}
@keyframes companion-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.motion-paused .robot-companion{animation:none}
@media(max-width:1100px){.robot-thought{left:4%;top:9%;max-width:160px;font-size:11px}.art-controls{left:27%;width:72%;gap:7px}.art-controls #robot-wave,.art-controls #robot-surprise{font-size:9px;padding-inline:12px}}
@media(max-width:760px){.robot-thought{left:5%;top:10%;max-width:125px;font-size:11px;gap:7px}.thought-spark{font-size:19px}.art-controls{left:9%;width:88%;gap:6px}.art-controls #robot-wave,.art-controls #robot-surprise{font-size:9px;padding-inline:12px}.robot-companion{right:15px;bottom:18px}.companion-touch{width:65px;height:65px}.companion-dismiss{opacity:1;width:24px;height:24px;top:-8px;right:-5px}.companion-thought{right:80px;bottom:5px;width:175px;font-size:11px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.robot-companion,.robot-thought,.companion-thought{animation:none;transition:none}}

.robot-fallback{width:100%;height:100%;object-fit:contain}
