:root{--vip-glass:color-mix(in srgb,var(--bg2) 82%,transparent);--vip-border:color-mix(in srgb,var(--txt) 32%,transparent);--vip-shadow:0 8px 28px color-mix(in srgb,var(--bg) 45%,transparent)}
#vip-dock{position:fixed;z-index:39;right:12px;bottom:calc(86px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px);touch-action:none;will-change:transform;transition:transform .38s cubic-bezier(.2,.85,.3,1.15)}
#vip-dock #cb{position:relative;inset:auto;width:226px;height:60px;display:flex;gap:10px;padding:8px 14px 8px 8px;border:1px solid var(--vip-border);border-radius:999px;background:var(--vip-glass);backdrop-filter:blur(20px) saturate(140%);color:var(--txt);box-shadow:var(--vip-shadow);font-size:14px;text-align:left;transition:width .3s cubic-bezier(.2,.85,.3,1.15)}
#cb .dock-avatar{width:42px;height:42px;flex:none;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.dock-label{min-width:0;flex:1;line-height:1.25}.dock-label strong{display:block;font-size:14px;font-weight:600}.dock-label small{display:flex;align-items:center;gap:5px;color:var(--mut);font-size:11px;margin-top:3px}.dock-online{width:6px;height:6px;border-radius:50%;background:var(--ok);animation:vip-online 2.4s ease-in-out infinite}
@keyframes vip-online{50%{opacity:.45}}
#vip-dock.compact #cb{width:60px;padding:8px}#vip-dock.compact .dock-label{display:none}
#vip-shortcuts{display:none;position:absolute;bottom:70px;right:0;width:226px;padding:8px;gap:6px;border:1px solid var(--vip-border);border-radius:24px;background:var(--vip-glass);backdrop-filter:blur(20px);box-shadow:var(--vip-shadow);touch-action:auto}
#vip-dock.active #vip-shortcuts{display:grid;animation:vip-expand .35s cubic-bezier(.2,.85,.3,1.15)}
#vip-shortcuts button{font:600 14px Outfit,sans-serif;background:transparent;color:var(--txt);border:0;border-radius:999px;text-align:left;min-height:42px;padding:8px 14px;cursor:pointer}#vip-shortcuts button:hover,#vip-shortcuts button:focus-visible{background:var(--card);color:var(--gold2)}
@keyframes vip-expand{from{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:none}}
#vip-dock.left #vip-shortcuts{right:auto;left:0}#vip-dock.dragging{transition:none}#vip-dock.occluded{visibility:hidden;pointer-events:none}
#nd{bottom:calc(158px + env(safe-area-inset-bottom,0px));right:12px;background:var(--bg2);color:var(--txt);border:1px solid var(--vip-border);box-shadow:var(--vip-shadow)}#nd button{color:var(--gold2)}
#ch.on{z-index:45;height:min(640px,calc(var(--vip-vh,100dvh) - 24px));max-height:calc(var(--vip-vh,100dvh) - 24px);min-height:0;bottom:calc(var(--vip-keyboard,0px) + 12px)}
.vip-handoff{display:grid;gap:4px;width:100%;padding:12px;border:1px solid var(--vip-border);border-radius:8px;background:var(--bg2);color:var(--txt)}.vip-handoff label{margin:4px 0;font-size:12px}.vip-handoff input{min-height:40px;font-size:16px}.vip-handoff .err{color:var(--gold2)}.vip-handoff .btn{padding:10px 14px;font-size:14px}
@media(max-width:600px){#ch.on{inset:calc(var(--vip-vtop,0px) + 6px) 6px auto;height:calc(var(--vip-vh,100dvh) - 12px);max-height:calc(var(--vip-vh,100dvh) - 12px);width:auto}#vip-dock{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}
@media(min-width:700px){#vip-dock{bottom:calc(20px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){#vip-dock,#vip-dock #cb,#vip-shortcuts,.dock-online{animation:none!important;transition:none!important}}