.page-companion{position:fixed;right:22px;bottom:22px;width:210px;z-index:140;color:var(--ink);pointer-events:none}
.companion-body,.companion-restore,.companion-panel{pointer-events:auto}.page-companion [hidden]{display:none!important}
.companion-panel{margin:0 0 10px;padding:17px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-surface);box-shadow:0 17px 34px -22px color-mix(in srgb,var(--ink) 35%,transparent)}
.companion-panel h2{font-size:16px;font-weight:700;line-height:1.5}.companion-panel>p{font-size:11px;line-height:1.7;margin-top:5px;color:var(--ink-2)}
.companion-panel nav{display:grid;margin-top:9px;gap:3px}.companion-panel nav a,.companion-panel nav button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:9px 11px;font-size:12px;line-height:1.5;text-align:left;background:var(--paper);border-radius:var(--radius-control);color:var(--signal)}.companion-panel nav a:hover,.companion-panel nav button:hover{background:var(--signal-soft)}.companion-panel .ic{width:13px;height:13px}
.companion-media{position:relative;display:block;width:210px;height:140px;overflow:visible;cursor:pointer;background:transparent;border:0;border-radius:var(--radius-control);filter:drop-shadow(0 7px 9px color-mix(in srgb,var(--ink) 15%,transparent))}
.companion-canvas{position:absolute;left:0;top:-34px;width:210px;height:210px;pointer-events:none}
#companion-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1}.companion-canvas video{position:absolute;left:0;top:21.875%;width:100%;height:56.25%;object-fit:fill;opacity:0;pointer-events:none}.companion-canvas video.is-current{opacity:1}.page-companion[data-video-ready=true] #companion-poster{opacity:0}
.companion-toolbar{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:5px 7px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:0 10px 23px -18px var(--ink)}
.companion-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px;font-size:12px;font-weight:500;color:var(--signal);line-height:1.5}.companion-toggle .ic{width:13px;height:13px}
.companion-controls{display:flex;gap:2px}.companion-controls button{display:grid;place-items:center;width:32px;min-height:44px;border-radius:var(--radius-pill);color:var(--ink-2);font-size:11px}.companion-controls button:hover{background:var(--paper);color:var(--signal)}
.companion-restore{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:64px;min-height:48px;padding:8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:0 10px 23px -18px var(--ink);color:var(--signal);font-size:12px}.page-companion[data-folded=true]{width:auto}
.page-companion a:focus-visible,.page-companion button:focus-visible{outline:3px solid var(--signal-cobalt);outline-offset:3px}.page-companion .companion-panel a:hover{color:var(--signal-hover)}
.intro-running .companion-canvas{visibility:hidden!important}.intro-running .page-companion{pointer-events:none}.intro-running .page-companion button{pointer-events:none}.intro-running #fish-character{visibility:visible!important}
.page-companion[data-viewer-paused=true] .companion-media{filter:none}
/* Keep the first-screen choice/replay controls out of the resting mascot area. */
@media(min-width:761px){.hero-profile .proof-links .scene-replay{order:-1}.hero-profile .proof-links>span{margin-right:125px}}
@media(min-width:1101px){.hero-profile .fish-picker{padding-right:175px}}
@media(min-width:761px) and (max-width:1100px){.page-companion{width:150px}.companion-media{width:150px;height:80px}.companion-canvas{width:150px;height:150px;top:-35px}.hero-profile .fish-picker{padding-right:88px}.companion-panel{width:210px;margin-left:auto}.companion-toggle{font-size:11px;padding:5px}.companion-controls button{width:25px}}
@media(max-width:760px){.page-companion{right:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:128px}.companion-media{width:128px;height:70px}.companion-canvas{width:128px;height:128px;top:-29px}.companion-toolbar{padding:3px 5px}.companion-toggle{font-size:11px;padding:6px;gap:3px}.companion-controls button{width:24px}.companion-panel{width:min(260px,calc(100vw - 36px));margin-left:auto}.page-companion[data-expanded=true]{width:210px}.page-companion[data-expanded=true] .companion-media{width:210px;height:140px}.page-companion[data-expanded=true] .companion-canvas{width:210px;height:210px;top:-34px}.page-companion[data-expanded=false] .companion-controls{display:none}}
@media(max-height:580px){.companion-panel{max-height:calc(100svh - 220px);overflow:auto}}
@media(prefers-reduced-motion:reduce){.page-companion *{animation:none!important;transition:none!important}}
@media print{.page-companion{display:none}}
@media(min-width:761px) and (max-width:850px){.page-companion{bottom:78px}}
@media(max-width:760px){.companion-panel{margin-left:calc(100% - min(260px,calc(100vw - 36px)))}}
.page-companion .companion-controls button{width:44px;min-height:44px}
@media(min-width:761px) and (max-width:1100px){.companion-toolbar{flex-wrap:wrap;justify-content:center}.page-companion .companion-panel{margin-left:calc(100% - 210px)}}
