.indi-companion{position:fixed;right:24px;bottom:24px;z-index:23;width:128px;pointer-events:none;font-family:inherit;isolation:isolate}
.indi-companion button{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit;touch-action:manipulation}
.indi-companion [hidden]{display:none!important}
.indi-companion-open{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:116px;margin:0 auto;padding:0;border:0;background:transparent;color:#744759;outline-offset:5px;border-radius:20px}
.indi-companion-stage{display:block;position:relative;width:116px;height:120px;pointer-events:none}
.indi-companion-image{display:block;width:116px;height:116px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 1px #6e3b4624);animation:indi-float 4s ease-in-out infinite;transform-origin:50% 85%;position:relative;z-index:1;user-select:none;-webkit-user-select:none}
.indi-companion-shadow{position:absolute;left:36px;bottom:1px;width:44px;height:5px;background:#9d6f8230;border-radius:50%;filter:blur(2px);animation:indi-shadow 4s ease-in-out infinite}
.indi-companion-label,.indi-companion-restore{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;background:#fff5faf2;border:1px solid #fff;box-shadow:0 3px 14px #8e5a791b,inset 0 1px 0 #fff;border-radius:22px;color:#744759;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.05px}
.indi-companion-label{padding:8px 12px;min-height:32px;transition:background .18s ease,box-shadow .18s ease}
.indi-companion-dot{width:5px;height:5px;flex:0 0 5px;background:#a2738b;box-shadow:0 0 0 3px #eacdd944;border-radius:50%}
.indi-companion-collapse{position:absolute;right:0;top:0;display:grid;place-items:center;border:0;background:transparent;width:36px;height:36px;color:#91647c;border-radius:50%}
.indi-companion-collapse svg{box-sizing:content-box;padding:5px;border:1px solid #fff;background:#fff5fae8;border-radius:50%;box-shadow:0 2px 7px #83557612}
.indi-companion-restore{margin-left:auto;min-height:44px;min-width:82px;padding:9px 13px}
.indi-companion button:focus-visible{outline:3px solid #b56595;outline-offset:4px}
.indi-companion.is-dialog-open,body:has(dialog[open]) .indi-companion,body:has(.sidebar.open) .indi-companion{visibility:hidden;pointer-events:none}
.indi-companion.is-dialog-open button,body:has(dialog[open]) .indi-companion button,body:has(.sidebar.open) .indi-companion button{pointer-events:none}
@media(hover:hover){.indi-companion-open:hover .indi-companion-label,.indi-companion-restore:hover{background:#fffafd;box-shadow:0 4px 17px #8e5a792c}.indi-companion-open:hover .indi-companion-image{animation-play-state:paused}.indi-companion-collapse:hover svg{background:#f9e8f1;color:#734055}}
@media(max-width:760px){.indi-companion{right:12px;bottom:calc(max(13px,env(safe-area-inset-bottom)) + 83px);width:104px}.indi-companion-open{width:94px}.indi-companion-stage{width:88px;height:92px}.indi-companion-image{width:88px;height:88px}.indi-companion-shadow{left:28px;width:32px;bottom:1px;height:4px}.indi-companion-label{font-size:11px;padding:7px 10px;min-height:30px;gap:6px}.indi-companion-collapse{right:-3px;top:-8px;width:44px;height:44px}.indi-companion-restore{min-height:44px;font-size:11px}.indi-companion-open:active .indi-companion-label{background:#f4e2eb}}
@media(max-width:360px){.indi-companion{right:9px}}
@media(prefers-reduced-motion:reduce){.indi-companion-image,.indi-companion-shadow{animation:none}.indi-companion-label{transition:none}}
@keyframes indi-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes indi-shadow{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.78);opacity:.45}}
