/* The exact earlier mature guide, animated as a layered still; no replacement identity. */
.sg-root{--sg-slate:var(--slate,#001838);position:fixed!important;inset:0!important;width:0!important;height:0!important;pointer-events:none;isolation:isolate}
.sg-root .sg-panel,.sg-root.sg-open:before,.sg-root .rv-context-bubble{pointer-events:auto}
.sg-root .sg-dock,.control-scene .sg-root:not(.sg-open) .sg-dock{display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;position:fixed;width:115px;right:22px!important;bottom:var(--rv-bottom,18px)!important;gap:0;filter:none;z-index:4}
.rv-avatar{display:block;width:100%;aspect-ratio:540/1536;position:relative;border:0;border-radius:0;background:none;perspective:600px;overflow:visible;transform-origin:50% 100%;animation:none}
.rv-body,.rv-head,.rv-hand{position:absolute;inset:0;display:block;background:url('river-guide.svg?v=compact-art-20260925') 0 0/100% 100% no-repeat}
.rv-head{clip-path:polygon(0 0,100% 0,100% 13.8%,54.7% 13.8%,50.9% 15.3%,46.2% 17%,35.8% 17.3%,29.2% 15.8%,26.4% 13.8%,0 13.8%);transform-origin:40.5% 16.8%;transition:transform .65s cubic-bezier(.2,.75,.25,1)}
.rv-body{clip-path:polygon(0 13.7%,26.4% 13.7%,29.2% 15.7%,35.8% 17.2%,46.2% 16.9%,50.9% 15.2%,54.7% 13.7%,100% 13.7%,100% 100%,0 100%)}
.rv-avatar[data-gaze] .rv-head{transform:translate(var(--rv-head-x,0px),var(--rv-head-y,0px)) rotateY(var(--rv-head-yaw,0deg)) rotateX(var(--rv-head-pitch,0deg)) rotateZ(var(--rv-head-roll,0deg));transition:transform .42s cubic-bezier(.2,.7,.25,1)}
/* Separate the pocket-side forearm from the still body; reuse the exact portrait. */
.rv-body{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='white' fill-rule='evenodd' d='M0 0H100V100H0Z M71.23 36.38L85.49 38.53L76.43 42.13L68.3 44.98L61.31 45.93L52.81 45.28L48.56 45.78L42.43 45.08L42.05 44.48L48.56 42.88L58.95 41.88L63.96 40.13Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='white' fill-rule='evenodd' d='M0 0H100V100H0Z M71.23 36.38L85.49 38.53L76.43 42.13L68.3 44.98L61.31 45.93L52.81 45.28L48.56 45.78L42.43 45.08L42.05 44.48L48.56 42.88L58.95 41.88L63.96 40.13Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;mask-size:100% 100%}
.rv-hand{clip-path:polygon(71.23% 36.38%,85.49% 38.53%,76.43% 42.13%,68.3% 44.98%,61.31% 45.93%,52.81% 45.28%,48.56% 45.78%,42.43% 45.08%,42.05% 44.48%,48.56% 42.88%,58.95% 41.88%,63.96% 40.13%);transform-origin:78.3% 37.3%;pointer-events:none}
.rv-avatar[data-gesture=hand] .rv-hand{animation:rv-hand-rest 1.35s cubic-bezier(.4,0,.2,1) both}
@keyframes rv-hand-rest{0%,100%{transform:none}35%{transform:translateY(-.25px) rotate(1.5deg)}65%{transform:translateY(-.1px) rotate(.7deg)}}
.rv-speaking-cue{position:absolute;right:1px;top:27%;display:flex;gap:3px;align-items:center;height:15px;opacity:0;transition:opacity .2s;pointer-events:none}
.rv-speaking-cue i{display:block;width:2px;height:4px;background:var(--sg-slate);box-shadow:0 0 2px var(--paper,#f4f0ea)}
.rv-avatar[data-speaking=true] .rv-speaking-cue{opacity:1}
.rv-avatar[data-speaking=true] .rv-speaking-cue i{animation:rv-speaking .7s ease-in-out infinite alternate}
.rv-avatar[data-speaking=true] .rv-speaking-cue i:nth-child(2){animation-delay:-.2s}
.rv-avatar[data-speaking=true] .rv-speaking-cue i:nth-child(3){animation-delay:-.4s}
.rv-avatar[data-speaking=true] .rv-head{animation:rv-speaking-nod 1.7s ease-in-out infinite}
.rv-motion-rest .rv-avatar,.rv-motion-rest .rv-head,.rv-motion-rest .rv-hand,.rv-motion-rest .rv-speaking-cue i{animation:none!important;transform:none!important;transition:none!important}
.rv-avatar[data-failed=true] .rv-head,.rv-avatar[data-failed=true] .rv-body,.rv-avatar[data-failed=true] .rv-hand{display:none}
.rv-avatar[data-failed=true]:after{content:'Ask River';position:absolute;inset:15%;display:grid;place-items:center;font:20px Georgia,serif;color:var(--sg-slate)}
@keyframes rv-breathe{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1px) scaleY(1.006)}}
@keyframes rv-speaking{from{transform:scaleY(.7)}to{transform:scaleY(2.4)}}
@keyframes rv-speaking-nod{0%,100%{transform:none}50%{transform:translateY(.5px) rotateX(-3deg) rotateZ(.45deg)}}
.sg-root .sg-character-control,.sg-root .sg-dock .sg-character{width:115px!important;height:173px!important;min-width:115px!important;min-height:173px!important;position:relative;transform:none!important;border:0!important;border-radius:0!important;background:none!important;padding:0!important;box-shadow:none!important;animation:none!important;filter:none!important}
.sg-root .sg-character-control:before,.sg-root .sg-character-control:after{display:none!important}
.sg-root .sg-dock-label{font-size:11px;font-weight:600;line-height:1.4;color:var(--sg-slate);background:none!important;border:0;border-radius:0;box-shadow:none;padding:0;margin:0;white-space:nowrap;text-shadow:0 0 3px var(--paper,#f4f0ea),0 0 7px var(--paper,#f4f0ea)}
.sg-root .sg-motion-control{position:relative;border:0!important;background:none!important;color:var(--sg-slate);min-width:80px;min-height:28px;border-radius:0;padding:4px 5px;display:block;font-size:10px;line-height:1.4;text-decoration:underline;text-underline-offset:3px;text-shadow:0 0 3px var(--paper,#f4f0ea),0 0 7px var(--paper,#f4f0ea);box-shadow:none!important;opacity:1}
.sg-root .sg-motion-control:hover{color:var(--gold,#ba8747)}
.sg-root.sg-open.rv-guide-in-header .sg-dock-label,.sg-root.sg-open.rv-guide-in-header .sg-motion-control,.sg-root.rv-dark-context .sg-dock-label,.sg-root.rv-dark-context .sg-motion-control{color:var(--paper,#f4f0ea);text-shadow:none}
.sg-root .sg-invitation{display:none!important}
.sg-root .rv-context-bubble{position:fixed;right:155px;bottom:calc(var(--rv-bottom,18px) + 70px);width:292px;max-width:calc(100vw - 177px);padding:0;background:var(--paper,#f4f0ea);color:var(--sg-slate);border:1px solid #00183814;border-radius:22px 22px 6px 22px;box-shadow:0 8px 28px #0018381a,0 2px 5px #00183809;z-index:4;text-align:left;animation:rv-context-arrive .25s ease-out;transition:width .25s ease,border-radius .25s ease}
.sg-root .rv-context-bubble:after{content:'';position:absolute;right:-7px;bottom:10px;width:11px;height:11px;background:var(--paper,#f4f0ea);border-radius:50%;pointer-events:none;box-shadow:1px 1px 1px #00183809}
.sg-root .rv-context-bubble:before{content:'';position:absolute;right:-16px;bottom:4px;width:5px;height:5px;background:var(--paper,#f4f0ea);border-radius:50%;pointer-events:none}
.sg-root .rv-context-open{display:block;width:100%;min-height:58px;padding:18px 46px 14px 18px;border:0;border-radius:inherit;background:none!important;box-shadow:none;color:inherit;text-align:left;cursor:pointer;font:inherit;line-height:1.45;text-transform:none;letter-spacing:0}
.sg-root .rv-context-open:hover{background:#00183804!important}
.sg-root .rv-context-open:focus-visible,.sg-root .rv-context-dismiss:focus-visible{outline:2px solid var(--sg-slate);outline-offset:3px}
.sg-root .rv-context-copy{display:block;font-size:14px;font-weight:400;line-height:1.5;margin:0 0 8px;letter-spacing:0}
.sg-root .rv-context-hint{display:block;font-size:11px;font-weight:600;line-height:1.4;color:var(--sg-slate)}
.sg-root .rv-context-dismiss{position:absolute;right:0;top:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:0 22px 0 0;background:none!important;box-shadow:none;color:var(--sg-slate);font:22px/1 Arial,sans-serif;opacity:.65}
.sg-root .rv-context-dismiss:hover{opacity:1}
.sg-root .rv-context-bubble.rv-pending{width:108px!important;max-width:108px!important;min-height:58px;border-radius:24px 24px 6px 24px}
.sg-root .rv-typing{display:flex;align-items:center;gap:4px;min-height:24px}
.sg-root .rv-typing i{display:block;width:5px;height:5px;border-radius:50%;background:var(--sg-slate);opacity:.4;animation:rv-typing-dot .9s ease-in-out infinite}
.sg-root .rv-typing i:nth-child(2){animation-delay:.12s}
.sg-root .rv-typing i:nth-child(3){animation-delay:.24s}
.sg-root .rv-context-bubble [hidden]{display:none!important}
@keyframes rv-typing-dot{0%,70%,100%{opacity:.32;transform:translateY(0)}35%{opacity:.85;transform:translateY(-2px)}}
.sg-root .sg-panel-brand .sg-character{display:none!important}
.sg-root .sg-panel-brand{gap:0;padding-left:0}
.sg-root .sg-panel-head{min-height:90px;padding:16px 24px}
/* Same character and same size beside the open conversation, clear of its controls. */
.sg-root.sg-open .sg-dock{left:calc(var(--rv-panel-left,180px) - 137px)!important;right:auto!important;top:auto!important;bottom:18px!important;z-index:5}
/* A narrow viewport has no outside gutter: reserve a proper character header. */
.sg-root.sg-open.rv-guide-in-header .sg-dock{left:calc(var(--rv-panel-left,0px) + 12px)!important;top:calc(var(--rv-panel-top,0px) + 9px)!important;bottom:auto!important}
.sg-root.sg-open.rv-guide-in-header .sg-panel-head{min-height:229px;padding-left:143px;gap:20px}
.sg-root .sg-evidence>img{object-fit:contain;background:var(--paper,#f4f0ea);max-height:235px}
.sg-root .sg-evidence-brief>img{min-height:130px;max-height:190px;object-fit:contain}
.sg-root .sg-owner-evidence img{object-fit:contain;background:var(--paper,#f4f0ea)}
@keyframes rv-context-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
/* Desktop scenes reserve this rail in their own layout; the explanation sits above the character. */
@media(min-width:1000px){
 .sg-root.rv-scene-rail:not(.sg-open) .rv-context-bubble{right:20px;bottom:250px;width:210px;max-width:210px;padding:0}
 .sg-root.rv-scene-rail:not(.sg-open) .rv-context-bubble:after{right:38px;bottom:-7px}.sg-root.rv-scene-rail:not(.sg-open) .rv-context-bubble:before{right:30px;bottom:-15px}.sg-root.rv-scene-rail:not(.sg-open) .rv-context-bubble.rv-pending{width:108px}
 .sg-root.rv-scene-rail .rv-context-copy{font-size:12px;line-height:1.5}
 .sg-root.rv-scene-rail .rv-context-question{font-size:11px;min-height:40px}
}
@media(min-width:1280px){.sg-root.rv-scene-rail:not(.sg-open) .rv-context-bubble{width:210px;max-width:210px}.sg-root.rv-scene-rail .rv-context-copy{font-size:13px}}
@media(max-width:700px){
 .sg-root .sg-dock,.control-scene .sg-root:not(.sg-open) .sg-dock{width:76px;right:12px!important;bottom:max(var(--rv-bottom,12px),env(safe-area-inset-bottom))!important}
 .sg-root .sg-character-control,.sg-root .sg-dock .sg-character{width:76px!important;height:115px!important;min-width:76px!important;min-height:115px!important}
 .sg-root .sg-dock-label{font-size:10px;padding:0}
 .sg-root .sg-motion-control{font-size:9px;min-height:27px;min-width:80px;padding:3px 0}
 .sg-root .rv-context-bubble{right:101px;bottom:calc(var(--rv-bottom,12px) + 55px);width:245px;max-width:calc(100vw - 115px);padding:0}
 .sg-root .rv-context-copy{display:block;font-size:12px;line-height:1.45}.sg-root .rv-context-open{padding:14px 44px 12px 14px;min-height:54px}.sg-root .rv-context-dismiss{min-width:44px;width:44px}.sg-root .rv-context-hint{font-size:11px}
 .sg-root .rv-context-question{font-size:11px;line-height:1.3;min-height:30px;padding:2px 0}
 .sg-root .sg-panel-head{padding-right:15px}
 .sg-root.sg-open.rv-guide-in-header .sg-dock{left:calc(var(--rv-panel-left,0px) + 10px)!important;top:calc(var(--rv-panel-top,0px) + 10px)!important;right:auto!important;bottom:auto!important}
 .sg-root.sg-open.rv-guide-in-header .sg-panel-head{min-height:174px;padding-left:105px;gap:12px}
 .sg-root.sg-open.rv-guide-in-header .sg-panel-brand{font-size:11px;line-height:1.5}
 .sg-root.sg-open.rv-guide-in-header .sg-close{padding:8px 10px;font-size:11px;min-height:40px}
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.rv-avatar,.rv-head,.rv-hand,.rv-speaking-cue i{animation:none!important;transform:none!important;transition:none!important}.sg-root .rv-context-bubble{animation:none!important;transition:none!important}.sg-root .rv-typing i{animation:none!important;transform:none!important}}

/* Complete regenerated silhouette: leave hands and boots inside the control. */
.sg-root .sg-dock .sg-character-control.sg-character-control,.sg-root .sg-dock .sg-character-control .sg-character{width:70px!important;min-width:70px!important;height:199px!important;min-height:199px!important;max-height:none!important;overflow:visible!important}
.sg-root .sg-dock .sg-character-control .rv-avatar{width:70px;height:199px;aspect-ratio:540/1536}
.sg-root .sg-dock.sg-dock{width:80px!important}
@media(max-width:700px){
 .sg-root .sg-dock .sg-character-control.sg-character-control,.sg-root .sg-dock .sg-character-control .sg-character{width:48px!important;min-width:48px!important;height:137px!important;min-height:137px!important;max-height:none!important}
 .sg-root .sg-dock .sg-character-control .rv-avatar{width:48px;height:137px}
 .sg-root .sg-dock.sg-dock{width:60px!important}
 .sg-root.sg-open.rv-guide-in-header .sg-panel-head{min-height:192px;padding-left:92px}
}
/* Landscape phones keep the complete person without occupying the whole scene. */
@media(max-height:500px){
 .sg-root .sg-dock .sg-character-control.sg-character-control,.sg-root .sg-dock .sg-character-control .sg-character{width:41px!important;min-width:41px!important;height:116px!important;min-height:116px!important;max-height:none!important}
 .sg-root .sg-dock .sg-character-control .rv-avatar{width:41px;height:116px}
 .sg-root .sg-dock-label{font-size:9px!important;line-height:1.2}
 .sg-root .sg-motion-control{font-size:8px!important;line-height:1.2;min-height:24px!important;padding:2px 0!important;white-space:nowrap}
 .sg-root.sg-open.rv-guide-in-header .sg-dock .sg-character-control.sg-character-control,.sg-root.sg-open.rv-guide-in-header .sg-dock .sg-character{width:27px!important;min-width:27px!important;height:77px!important;min-height:77px!important}
 .sg-root.sg-open.rv-guide-in-header .sg-dock .sg-character-control .rv-avatar{width:27px;height:77px}
 .sg-root.sg-open.rv-guide-in-header .sg-panel-head{min-height:96px!important;padding-left:76px!important}
 .sg-root.sg-open.rv-guide-in-header .sg-dock-label,.sg-root.sg-open.rv-guide-in-header .sg-motion-control{display:none!important}
 .sg-root .rv-context-bubble{bottom:58px!important;max-height:calc(100svh - 90px);overflow-y:auto}
}
/* Short windows prioritize the conversation while keeping every action available. */
@media(max-height:500px){
 .sg-root.sg-open .sg-panel{top:12px!important;bottom:12px!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;min-height:0}
 .sg-root.sg-open .sg-panel-head{min-height:52px;padding:5px 18px;flex-shrink:0}
 .sg-root.sg-open .sg-panel-brand{font-size:12px;line-height:1.35}
 .sg-root.sg-open .sg-close{padding:6px 11px;min-height:36px;font-size:12px}
 .sg-root.sg-open .sg-panel-body{min-height:0;padding:14px 18px;flex:1 1 0}
 .sg-root.sg-open .sg-composer-dock{padding:8px 14px;flex-shrink:0}
 .sg-root.sg-open .sg-composer-dock .sg-compose{margin:0;padding:0;gap:8px}
 .sg-root.sg-open .sg-composer-dock .sg-compose textarea{height:44px;min-height:44px;max-height:70px;padding:9px 11px;line-height:1.35}
 .sg-root.sg-open .sg-composer-dock .sg-send{min-height:44px;padding:9px 16px}
 .sg-root.sg-open .sg-composer-dock .sg-actions{margin:6px 0 0;gap:8px}
 .sg-root.sg-open .sg-composer-dock .sg-actions .sg-button{min-height:28px;padding:4px 9px;font-size:11px;line-height:1.3}
 .sg-root.sg-open .sg-history{padding-bottom:10px;margin-bottom:12px}
}

/* A talking cloud belongs to the character, not a caption underneath him. */
.sg-root .sg-dock-label{display:none!important}
.sg-root .sg-dock .sg-character-control{overflow:visible!important}
.sg-root .sg-dock .rv-dock-invite{position:absolute;bottom:calc(100% + 12px);right:-8px;display:grid;place-items:center;width:162px;min-height:58px;padding:12px 18px;border:1px solid #00183812;border-radius:21px;background:#fff;color:#001838;box-shadow:0 5px 22px #00183820;font:500 14px/1.3 var(--body-font);text-align:center;text-shadow:none;white-space:normal;pointer-events:auto;transform-origin:85% 100%;animation:rv-cloud-arrive .32s ease-out both;isolation:isolate}
.sg-root .rv-dock-invite:before,.sg-root .rv-dock-invite:after{content:'';position:absolute;background:#fff;border-radius:50%;pointer-events:none;z-index:-1}
.sg-root .rv-dock-invite:before{width:15px;height:13px;right:23px;bottom:-6px;transform:rotate(-20deg)}
.sg-root .rv-dock-invite:after{width:6px;height:6px;right:17px;bottom:-13px;box-shadow:0 2px 3px #0018380b}
.sg-root .rv-invite-copy{animation:rv-cloud-copy .15s .85s both}
.sg-root .rv-invite-dots{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:5px;animation:rv-cloud-dots .1s .85s forwards}
.sg-root .rv-invite-dots i{width:6px;height:6px;border-radius:50%;background:#6e8197;animation:rv-cloud-dot .55s ease-in-out 2 alternate}
.sg-root .rv-invite-dots i:nth-child(2){animation-delay:.1s}.sg-root .rv-invite-dots i:nth-child(3){animation-delay:.2s}
.sg-root .sg-character-control:hover .rv-dock-invite{box-shadow:0 6px 24px #00183830}
.sg-root .sg-character-control:focus-visible .rv-dock-invite{outline:2px solid #507796;outline-offset:4px}
.sg-root.sg-open .rv-dock-invite{display:none}
@keyframes rv-cloud-arrive{from{opacity:0;transform:translateY(5px) scale(.94)}to{opacity:1;transform:none}}
@keyframes rv-cloud-copy{from{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}
@keyframes rv-cloud-dots{to{opacity:0;visibility:hidden}}
@keyframes rv-cloud-dot{from{opacity:.45;transform:translateY(1px)}to{opacity:1;transform:translateY(-3px)}}
@media(max-width:700px){.sg-root .sg-dock .rv-dock-invite{width:126px;min-height:50px;padding:10px 14px;font-size:12px;right:-5px;border-radius:18px}.sg-root .rv-dock-invite:before{right:16px}.sg-root .rv-dock-invite:after{right:10px}}
@media(max-width:350px) and (max-height:760px){
 body:has(#service-orbit) .sg-root:not(.sg-open) .sg-dock .sg-character-control.sg-character-control{height:56px!important;min-height:56px!important}
 body:has(#service-orbit) .sg-root:not(.sg-open) .sg-dock .sg-character-control .sg-character{width:20px!important;min-width:20px!important;height:56px!important;min-height:56px!important}
 body:has(#service-orbit) .sg-root:not(.sg-open) .sg-dock .sg-character-control .rv-avatar{width:20px;height:56px}
 body:has(#service-orbit) .sg-root .sg-dock .rv-dock-invite{bottom:100%;width:120px;min-height:36px;padding:3px 13px;font-size:11px;line-height:1.2;border-radius:15px}
 body:has(#service-orbit) .sg-root .rv-dock-invite:before{height:9px;bottom:-4px;width:10px;right:14px}
 body:has(#service-orbit) .sg-root .rv-dock-invite:after{display:none}
}
@media(prefers-reduced-motion:reduce){.sg-root .rv-dock-invite,.sg-root .rv-invite-copy{animation:none!important}.sg-root .rv-invite-dots{display:none!important}.sg-root .rv-invite-copy{opacity:1;visibility:visible}}
