.companion-launcher-control{position:fixed;z-index:75;width:72px;display:flex;align-items:center;flex-direction:column;gap:5px;filter:drop-shadow(0 7px 14px #75689825)}
.companion-launcher-control[hidden]{display:none}
.companion-launcher-open{position:relative;isolation:isolate;display:grid;place-items:center;width:72px;height:72px;border:1px solid #ffffffdf;padding:0;background:radial-gradient(circle at 30% 18%,#fffffff7,transparent 65%),linear-gradient(145deg,#eee9ffeb,#e7f4eceb);box-shadow:inset 0 0 0 1px #cbbfe253,0 0 25px #d6c9f133;border-radius:50%;cursor:grab;touch-action:none;transition:box-shadow .2s,transform .2s}
.companion-launcher-open:hover{box-shadow:inset 0 0 0 1px #b6a0d77d,0 4px 25px #bba6e34a;transform:translateY(-2px)}
.companion-launcher-open:active{cursor:grabbing;transform:none}
.companion-launcher-open:focus-visible{outline:3px solid #9c87bf;outline-offset:4px}
.companion-launcher-open .companion-avatar{display:block;position:relative;z-index:1;width:68px;max-width:none;height:68px;margin:0;pointer-events:none}
.companion-launcher-open .companion-avatar svg{display:block;width:100%;height:100%;overflow:visible}
.companion-launcher-orbit{position:absolute;inset:-4px;border-radius:50%;border:1px solid #b9a6da48;pointer-events:none}
.companion-launcher-orbit:before,.companion-launcher-orbit:after{content:"";position:absolute;border-radius:50%;box-shadow:0 0 7px currentColor}
.companion-launcher-orbit:before{width:5px;height:5px;right:7px;top:10px;color:#a695c6;background:currentColor}
.companion-launcher-orbit:after{width:4px;height:4px;left:8px;bottom:8px;color:#95baa8;background:currentColor}
.companion-launcher-label{font-size:10px;letter-spacing:.03em;line-height:1.8;color:#736187;padding:0 8px;border:1px solid #e4deec;border-radius:999px;background:#fffcf7ed;white-space:nowrap}
.companion-launcher-hide{position:absolute;z-index:2;right:-5px;top:-4px;display:grid;place-items:center;width:23px;height:23px;padding:0;border:1px solid #e4dfeb;border-radius:50%;background:#fffdfbf5;color:#887a96;font-size:16px;line-height:1;cursor:pointer}
.companion-launcher-hide:hover{color:#5e477d;background:#f2edf9}
.companion-drawer-shade{position:fixed;inset:0;z-index:120;background:#332b3e30;backdrop-filter:blur(3px)}
.companion-drawer-shade[hidden]{display:none}
.companion-drawer{position:absolute;right:20px;top:20px;width:min(560px,calc(100vw - 40px));height:calc(100dvh - 40px);background:#fbfaf7;border:1px solid #eeebf3;border-radius:24px;box-shadow:0 18px 65px #30213936;display:flex;flex-direction:column;overflow:hidden}
.companion-drawer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e9e3ed;background:linear-gradient(110deg,#f5f0fc,#fbfaf7 65%,#eef5ef);flex-shrink:0}
.companion-drawer-brand{display:flex;align-items:center;gap:9px;min-width:0}
.companion-drawer-mark{display:grid;place-items:center;width:29px;height:29px;flex:none;border:1px solid #e1d8ee;border-radius:10px;background:#ffffffb8;color:#8f78ae;font-size:19px}
.companion-drawer-brand strong{color:#5f5070;font-size:14px;white-space:nowrap}
.companion-drawer-brand strong span{margin-left:8px;font-size:10px;font-weight:400;color:#96899f}
.companion-drawer-actions{display:flex;gap:7px;flex:none}
.companion-drawer-bar button{border:1px solid #ded6e8;border-radius:9px;background:#ffffffa8;min-height:34px;padding:6px 10px;font:inherit;font-size:11px;color:#79668c;cursor:pointer}
.companion-drawer-bar button:hover{background:#f0eaf7;border-color:#c5b7d9}
.companion-drawer-bar button:focus-visible,.companion-launcher-hide:focus-visible{outline:3px solid #b4a1cf;outline-offset:2px}
.companion-drawer-content{min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:14px;overscroll-behavior:contain;flex:1;container-type:inline-size}
.companion-drawer-content .companion-workbench{flex:1;min-height:0}
.companion-drawer-content .companion-heading{display:none}
.companion-launcher-state{padding:18px;color:#7a7088;font-size:13px;line-height:1.8}
@media(prefers-reduced-motion:reduce){.companion-launcher-open{transition:none}.companion-launcher-open .companion-avatar *{animation:none!important}}
@media(max-width:700px){.companion-launcher-control{width:64px;gap:4px}.companion-launcher-open{width:62px;height:62px}.companion-launcher-open .companion-avatar{width:60px;height:60px}.companion-launcher-label{font-size:9px}.companion-launcher-hide{width:22px;height:22px;right:-1px;top:-4px}.companion-drawer{inset:0;width:100%;height:100dvh;border:0;border-radius:0}.companion-drawer-bar{padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}.companion-drawer-content{padding:10px;padding-bottom:max(12px,env(safe-area-inset-bottom))}}
@media(max-width:350px){.companion-drawer-brand strong span{display:none}.companion-drawer-bar{gap:8px;padding-inline:10px}.companion-drawer-actions{gap:5px}}
