.video-helper{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:80;color:#f4faff;font:14px/1.45 system-ui,sans-serif}.video-helper [hidden]{display:none!important}.vh-launch{display:block;margin-left:auto;border:0;background:transparent;cursor:pointer;padding:0}.vh-pet{display:block;width:96px;height:104px;background:url('/assets/finmotors-assistant.webp') 0 0/768px 1144px no-repeat;animation:vh-idle 2s steps(7) infinite;filter:drop-shadow(0 4px 10px #1884ff66)}.vh-paused .vh-pet{animation:none}.vh-greeting{max-width:210px;background:#14283ff2;border:1px solid #66b9ef88;border-radius:16px;padding:9px 12px;margin:0 0 4px;box-shadow:0 5px 18px #0006}.vh-panel{width:min(330px,calc(100vw - 32px));max-height:calc(100dvh - 145px);overflow:auto;box-sizing:border-box;background:#11243bf8;border:1px solid #67bbf399;border-radius:18px;padding:16px;box-shadow:0 12px 40px #0008}.vh-panel h2{font-size:19px;margin:0 0 10px}.vh-panel p{margin:10px 0}.vh-panel textarea{display:block;width:100%;box-sizing:border-box;min-height:88px;color:#fff;background:#071725;border:1px solid #6096be;border-radius:10px;padding:10px;font:inherit}.vh-panel button,.vh-panel a{display:inline-block;padding:9px 11px;margin:6px 4px 0 0;border:1px solid #73a7ce;border-radius:10px;color:#fff;background:linear-gradient(140deg,#286ccc,#15314a);font:inherit;text-decoration:none;cursor:pointer}.vh-panel button[data-vh-close]{float:right;margin:0;padding:2px 9px;background:transparent}.vh-note{font-size:13px;color:#d4e6f9}.vh-panel [data-vh-motion]{background:transparent;font-size:12px}@keyframes vh-idle{from{background-position-x:0}to{background-position-x:-672px}}@media(max-width:600px){.video-helper{right:10px;bottom:max(12px,env(safe-area-inset-bottom))}.vh-launch{width:64px;height:70px}.vh-pet{transform:scale(.67);transform-origin:top left}.vh-greeting{font-size:12px;max-width:180px}.vh-panel{max-height:calc(100dvh - 110px)}}@media(prefers-reduced-motion:reduce){.vh-pet{animation:none}}@media print{.video-helper{display:none}}
/* Phrase changes follow speech start/end events, never a guessed reading timer. */
.vh-thought{position:relative;margin:12px 0 26px;padding:16px 18px;border:1px solid #a5e5ffb0;border-radius:34px 30px 36px 14px;background:radial-gradient(ellipse at 20% 0%,#4ea8f68c,transparent 75%),linear-gradient(145deg,#234467,#10253c);box-shadow:0 5px 24px #0b7bdd30,inset 0 1px #d4f6ff55;color:#f4fbff;overflow:visible}.vh-thought::after,.vh-thought::before{content:'';position:absolute;border:1px solid #91dbff9c;border-radius:50%;background:#1a3856;pointer-events:none}.vh-thought::after{width:13px;height:13px;right:24px;bottom:-15px}.vh-thought::before{width:7px;height:7px;right:15px;bottom:-25px}.vh-thought .vh-thought-words{margin:0;font-size:15px;line-height:1.45;overflow-wrap:anywhere;min-height:44px}.vh-phrase-enter{animation:vh-thought-appear .28s ease-out both}.vh-speaking .vh-thought{border-color:#aff4ff;box-shadow:0 5px 24px #1bacff40,inset 0 1px #d4f6ff77}.vh-speaking .vh-pet{filter:drop-shadow(0 0 10px #5bc9ffd9)}.vh-speech-status{display:block;font-size:12px;color:#c1ddef;margin:5px 0;min-height:18px}.vh-panel .vh-instructions{font-size:12px;color:#c6daed}.vh-panel [data-vh-speak]{margin-top:2px}.vh-panel{max-height:calc(100dvh - 145px);overscroll-behavior:contain}@keyframes vh-thought-appear{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:600px){.vh-thought{padding:12px 14px;margin-top:8px}.vh-thought .vh-thought-words{font-size:14px}.vh-panel{padding:13px;max-height:calc(100dvh - 110px)}}@media(prefers-reduced-motion:reduce){.vh-phrase-enter{animation:none}}.vh-paused .vh-phrase-enter{animation:none}

/* Shared fixed sprite geometry: 8 columns, 11 rows. No changes to the source artwork. */
.fm-companion-sprite{width:96px!important;height:104px!important;background-size:768px 1144px!important;flex:0 0 96px!important;background-position:0 0;animation:fm-pet-idle 2.8s steps(7) infinite!important}
.fm-companion-sprite.fm-pose-jump{background-position-y:-416px!important;animation:fm-pet-jump 1.6s steps(5) infinite!important}
.fm-companion-sprite.fm-pose-read{background-position-y:-728px!important;animation:fm-pet-six 4s steps(6) infinite!important}
.fm-companion-sprite.fm-pose-sit{background-position:0 -416px!important;animation:fm-pet-rest 3s ease-in-out infinite!important}
.fm-companion-sprite.fm-pose-wave{background-position-y:-312px!important;animation:fm-pet-wave 1.6s steps(4) infinite!important}
.fm-pet-paused .fm-companion-sprite,.vh-paused .fm-companion-sprite{animation-play-state:paused!important}
.fm-pet-dock{display:flex;flex-direction:column;align-items:center;width:144px;max-width:calc(100vw - 16px);transition:none!important;gap:4px}.fm-pet-dock .fm-assistant-launch{margin:0 auto!important}
.fm-pet-tools{display:flex;justify-content:center;gap:0;border:1px solid #b9dbf58c;border-radius:22px;background:linear-gradient(140deg,#285a7ccd,#13253cee);padding:4px;box-shadow:0 4px 15px #0005;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}
.fm-pet-menu-open .fm-pet-tools{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.fm-pet-tools button{display:grid!important;place-items:center;width:40px;height:36px;padding:0!important;margin:0!important;border:0!important;border-radius:15px!important;background:transparent!important;box-shadow:none!important;color:#eafaff!important;font:18px system-ui;cursor:pointer}.fm-pet-tools button+button{border-left:1px solid #cde6ff44!important;border-radius:0!important}.fm-pet-tools button:hover,.fm-pet-tools button:focus-visible{background:#58a9dd55!important;outline:2px solid #90d4fa!important;outline-offset:-2px}
.fm-pet-activities{position:absolute;right:0;bottom:100%;margin-bottom:4px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;width:224px;max-width:calc(100vw - 20px);box-sizing:border-box;border:1px solid #8cc9fa9c;border-radius:16px;background:#112a40f5;box-shadow:0 8px 28px #0006;z-index:2}.fm-pet-activities button{padding:9px 7px!important;min-height:40px;border:1px solid #90c4ee55!important;border-radius:9px!important;background:#22486c!important;color:#f4fbff!important;font:12px/1.3 system-ui!important;margin:0!important;cursor:pointer;white-space:normal!important}.fm-pet-activities button[aria-pressed=true]{background:#296eb0!important;border-color:#b4eaff!important}.fm-pet-activities button:last-child{grid-column:1/-1}
.fm-assistant-dock .fm-pet-activities{right:auto;left:0;width:144px;bottom:44px;max-height:min(340px,calc(100dvh - 70px));overflow:auto}
@keyframes fm-pet-idle{from{background-position-x:0}to{background-position-x:-672px}}
@keyframes fm-pet-jump{from{background-position-x:0}to{background-position-x:-480px}}
@keyframes fm-pet-six{from{background-position-x:0}to{background-position-x:-576px}}
@keyframes fm-pet-wave{from{background-position-x:0}to{background-position-x:-384px}}
@keyframes fm-pet-rest{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
@media(hover:none){.fm-pet-tools button{height:44px}.fm-pet-dock{width:144px}}
@media(max-width:600px){.fm-pet-dock .fm-assistant-launch{height:94px}.fm-pet-dock .fm-companion-sprite{transform:scale(.75);transform-origin:center bottom}.fm-pet-dock .fm-assistant-label{position:absolute;bottom:46px}.fm-companion-sprite.fm-pose-sit{animation:none!important}.fm-companion-sprite.fm-pose-jump{animation-duration:2.4s!important}.fm-companion-sprite.fm-pose-read{animation-duration:5s!important}}
@media(prefers-reduced-motion:reduce){.fm-pet-tools{transition:none}.fm-companion-sprite.fm-pose-sit{animation:none!important}}

.video-helper .fm-pet-dock{margin-left:auto}.video-helper .vh-launch{margin-left:0}.video-helper .fm-pet-tools{margin-top:4px}.video-helper .fm-pet-activities{bottom:44px;width:144px}.video-helper .vh-panel{max-height:calc(100dvh - 225px)}@media(max-width:600px){.video-helper .vh-panel{max-height:calc(100dvh - 180px)}.video-helper .fm-pet-dock .vh-launch{height:78px;width:96px}.video-helper .fm-pet-dock .fm-companion-sprite{transform:scale(.75);transform-origin:top center}}

.fm-pet-activities{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fm-pet-activities button{min-width:0!important;max-width:100%;box-sizing:border-box}

.fm-pet-tools{background:linear-gradient(135deg,#87929850,#37404977);border:1px solid #d3d9dd99;box-shadow:inset 0 1px 0 #ffffff20,0 3px 10px #0003;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:24px;padding:5px 7px;gap:0}.fm-pet-tools button{color:#f8f5de!important;width:40px;height:30px;border-radius:12px!important}.fm-pet-tools button+button{position:relative;border-left:0!important}.fm-pet-tools button+button::before{content:'';position:absolute;left:0;height:22px;width:1px;background:#f5f1da60}.fm-pet-tools svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.fm-pet-tools button:disabled{opacity:.4;cursor:default}@media(hover:none){.fm-pet-tools button{height:40px}}

.fm-dock-voice{width:224px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:10px;border:1px solid #89c9ff80;border-radius:14px;background:#132b43f5;color:white;font:13px/1.4 system-ui;overflow-wrap:anywhere}.fm-dock-voice button{margin-top:8px!important;font:12px system-ui!important;min-width:0!important;width:auto!important;padding:7px!important}

.video-helper .fm-pet-activities{width:224px}.fm-pet-activities button{overflow-wrap:normal;word-break:normal}

/* Inline greeting stays available without opening the comment dialog. */
.video-helper .vh-greeting-voice{display:block;margin-top:6px;padding:6px 10px;border:1px solid #91caff88;border-radius:12px;background:#24547b;color:#f4faff;font:inherit;cursor:pointer}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .video-helper:not(.vh-paused) .vh-pet{translate:var(--vh-look-x,0px) var(--vh-look-y,0px);transition:translate .14s ease-out}
}
@media(prefers-reduced-motion:reduce){.video-helper .fm-companion-sprite{animation:none!important;translate:none!important}}

@media(prefers-reduced-motion:no-preference){.video-helper{translate:var(--vh-walk-x,0px) 0;transition:translate 3s ease-in-out}.video-helper.vh-paused{transition:none}.video-helper .fm-companion-sprite.fm-pose-walk{background-position-y:-208px!important;animation:vh-pet-walk .9s steps(8) infinite!important}}
@keyframes vh-pet-walk{from{background-position-x:0}to{background-position-x:-768px}}

/* Keep the phone companion present without a persistent overlay on the videos. */
@media(max-width:600px){
 .video-helper{width:auto;max-width:calc(100vw - 24px);translate:none!important}
 .video-helper .vh-greeting{display:none!important}
 .video-helper .fm-pet-dock{width:56px;position:relative;gap:0}
 .video-helper .fm-pet-dock .vh-launch{width:56px;height:58px;min-height:44px;overflow:hidden;position:relative}
 .video-helper .fm-pet-dock .fm-companion-sprite{position:absolute;top:0;left:1px;transform:scale(.55);transform-origin:top left}
 .video-helper .fm-pet-tools{position:absolute;right:0;bottom:64px;margin:0;display:none}
 .video-helper .fm-pet-menu-open .fm-pet-tools{display:flex}
 .video-helper .fm-pet-tools button{height:44px;width:44px}
 .video-helper .fm-pet-activities{right:0;bottom:122px;width:224px;max-height:calc(100dvh - 200px);overflow:auto}
 .video-helper .vh-panel{width:min(310px,calc(100vw - 24px));max-height:calc(100dvh - 110px);margin-bottom:8px;padding:12px}
 .video-helper .vh-panel [data-vh-close]{min-width:44px;min-height:44px}
}
