:host { font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif; color:#f7f5fa; }
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none!important; }
button { font:inherit; letter-spacing:normal; text-transform:none; margin:0; padding:0; border:0; color:inherit; background:transparent; cursor:pointer; }
.float { width:112px; display:flex; flex-direction:column; align-items:center; gap:4px; }
.launcher { width:112px; height:112px; display:grid; place-items:center; border-radius:16px; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; }
.launcher:active { cursor:grabbing; }
.avatar,.sprite { width:100%; height:100%; display:block; pointer-events:none; }
.sprite { overflow:hidden; }
.actions { display:flex; padding:2px; border:1px solid #34313e; border-radius:999px; background:#15131d; box-shadow:0 4px 12px #0003; opacity:0; visibility:hidden; }
.actions button { display:grid; place-items:center; width:38px; height:34px; border-radius:999px; }
.actions svg { width:17px; height:17px; }
.float:hover .actions,.float:focus-within .actions,.float[data-menu-open=true] .actions { opacity:1; visibility:visible; }
button:focus-visible { outline:2px solid #c47bff; outline-offset:3px; }
.actions button:hover,.menu button:hover { background:#a43cff26; }
.menu { position:fixed; width:228px; max-width:calc(100vw - 16px); padding:6px; background:#15131d; border:1px solid #34313e; border-radius:14px; box-shadow:0 10px 36px #0005; z-index:2; }
.menu button { width:100%; display:flex; align-items:center; gap:10px; min-height:44px; padding:9px 10px; border-radius:8px; text-align:left; font-size:13px; }
.menu svg { width:17px; height:17px; flex:0 0 auto; }
.show { position:fixed; right:16px; bottom:20px; min-height:40px; display:flex; gap:8px; align-items:center; padding:9px 13px; border:1px solid #34313e; border-radius:999px; background:#15131d; box-shadow:0 4px 12px #0003; font-size:12px; }
.show svg { width:18px; height:18px; color:#c47bff; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (max-width:900px) { .float,.launcher { width:88px; } .launcher { height:88px; } }
@media (pointer:coarse) { .actions { opacity:1; visibility:visible; } .actions button { height:36px; width:40px; } }
@media (max-height:500px) { .float,.launcher { width:64px; } .launcher { height:64px; } }
@media (prefers-reduced-motion:no-preference) { .float:not(:hover):not(:focus-within):not([data-paused=true]) .avatar { animation:lab-dolynho-breathe 7s ease-in-out infinite; } }
@keyframes lab-dolynho-breathe { 0%,100% { transform:translate(0,0) rotate(0); } 50% { transform:translate(-2px,-4px) rotate(-1deg); } }
