﻿/* One draggable orb: a fixed glass shell and a small independently moving liquid core. */
:root[data-ui-finish] .manager-orb:has([data-manager-avatar]),
:root .manager-orb:has([data-manager-avatar]) {
  width: 104px; height: 104px; padding: 0; border: 0; border-radius: 0;
  background: transparent; box-shadow: none; overflow: visible;
}
:root .manager-orb:has([data-manager-avatar]):hover { box-shadow: none; }
:root .manager-orb:has([data-manager-avatar]):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 16px; }
:root .manager-orb:has([data-manager-avatar][data-awake="false"]) { clip-path: circle(25px at 50% 45.3%); }
:root .manager-orb:focus-visible [data-manager-avatar][data-awake="false"] .ink-sphere { stroke-width: 4; }
.manager-orb [data-manager-avatar] { display: block; width: 100%; height: 100%; pointer-events: none; }
:root .manager-orb:has([data-manager-avatar]) { pointer-events: none; }
.manager-idle-avatar .ink-sphere { pointer-events: auto; cursor: grab; }
:root .manager-orb[data-manager-chat-open="true"]:not(:has([data-commanded="true"])) { display: none; }
.manager-idle-avatar {
  --ink-shell: #e3ecee; --ink-shell-opacity: .92; --ink-face-color: #26343c;
  --ink-liquid-highlight: #52616a; --ink-liquid-mid: #25343b;
  --ink-liquid-deep: #111b20; --ink-liquid-edge: #34434a; --ink-limb-color: #b4c5ca;
}
:root[data-theme="paper"] .manager-idle-avatar {
  --ink-shell: #18252d; --ink-shell-opacity: .96; --ink-face-color: #f4f5ef;
  --ink-liquid-highlight: #fff; --ink-liquid-mid: #f1f7f5;
  --ink-liquid-deep: #dbe7e8; --ink-liquid-edge: #b9cfd4; --ink-limb-color: #243138;
}
.manager-idle-avatar svg { display: block; width: 100%; height: 100%; overflow: visible; }
.manager-idle-avatar .ink-pet { transform-origin: 64px 58px; transform: scale(.8); }
/* Project the entire rig together. Counter-project the spherical volume so SVG
   flattening cannot turn the ball into a tilted disc when facing a wall. */
.manager-idle-avatar .ink-heading { transform-box: view-box; transform-origin: 64px 58px; transform: skewY(0) scaleX(1); transition: transform .65s cubic-bezier(.25,.8,.25,1); }
.manager-idle-avatar .ink-volume { transform-box: view-box; transform-origin: 64px 58px; transform: scaleX(1) skewY(0); transition: transform .65s cubic-bezier(.25,.8,.25,1); }
.manager-idle-avatar[data-facing="left"] .ink-heading { transform: skewY(3deg) scaleX(.82); }
.manager-idle-avatar[data-facing="right"] .ink-heading { transform: skewY(-3deg) scaleX(.82); }
.manager-idle-avatar[data-facing="back"] .ink-heading { transform: scaleX(-1); }
.manager-idle-avatar[data-facing="left"] .ink-volume { transform: scaleX(1.219512) skewY(-3deg); }
.manager-idle-avatar[data-facing="right"] .ink-volume { transform: scaleX(1.219512) skewY(3deg); }
.manager-idle-avatar[data-facing="back"] .ink-volume { transform: scaleX(-1); }
.manager-idle-avatar .ink-sphere { fill: var(--surface); fill-opacity: 1; stroke: var(--accent); stroke-width: 2; transition: fill 1.6s ease, fill-opacity 1.6s ease, stroke-width 1.6s ease; }
.manager-idle-avatar .ink-sphere-awake { fill: url(#ink-glass-light); stroke: url(#ink-glass-edge); stroke-width: 1.2; opacity: 0; transition: opacity 1.6s ease; }
.manager-idle-avatar .ink-idle-label { fill: var(--accent); font: 32px 'Songti SC','SimSun',serif; }
.manager-idle-avatar .ink-indicator { fill: var(--accent); stroke: var(--surface); stroke-width: 2.4; }
.manager-idle-avatar .ink-idle-label, .manager-idle-avatar .ink-indicator { transition: opacity 1.1s ease; }
.manager-idle-avatar .ink-liquid, .manager-idle-avatar .ink-glass-details, .manager-idle-avatar .ink-shadow { opacity: 0; transition: opacity 1.4s ease; }
.manager-idle-avatar .ink-liquid-flame { fill: url(#ink-liquid-color); }
.manager-idle-avatar .ink-flame-core { fill: var(--ink-liquid-highlight); opacity: .76; transform-origin: 64px 77px; }
.manager-idle-avatar .ink-flame-wisp { fill: var(--ink-liquid-mid); opacity: 0; transform-origin: 64px 72px; }
.manager-idle-avatar .ink-liquid-lag { transform-origin: 64px 81px; transform: translateX(0) rotate(0); transition: transform 1.1s cubic-bezier(.22,.9,.26,1.25); }
.manager-idle-avatar .ink-liquid-drift { transform-origin: 64px 70px; }
.manager-idle-avatar .ink-glass-details { fill: none; stroke-linecap: round; }
.manager-idle-avatar .ink-reflection { stroke: #fff; stroke-opacity: .85; stroke-width: 1.8; }
.manager-idle-avatar .ink-glint { fill: #fff; fill-opacity: .72; }
.manager-idle-avatar .ink-rim { stroke: #ead7ad; stroke-opacity: .7; stroke-width: 1; }
.manager-idle-avatar .ink-shadow { fill: #171f25; }
.manager-idle-avatar[data-awake="true"] .ink-sphere { fill: var(--ink-shell); fill-opacity: var(--ink-shell-opacity); stroke-width: 1; }
.manager-idle-avatar[data-awake="true"] .ink-sphere-awake { opacity: .68; }
.manager-idle-avatar[data-awake="true"] .ink-liquid { opacity: .28; }
.manager-idle-avatar[data-awake="true"] .ink-glass-details { opacity: .62; }
.manager-idle-avatar[data-awake="true"] .ink-idle-label,
.manager-idle-avatar[data-awake="true"] .ink-indicator { opacity: 0; }
.manager-idle-avatar[data-awake="true"] .ink-shadow { opacity: .1; }
/* The base stays gathered while the irregular tips curl upward. Small detached
   wisps fade at the top; the local filter only paints while the core is visible. */
.manager-idle-avatar[data-awake="true"] .ink-flame-contour { filter: url(#ink-flame-warp); }
.manager-idle-avatar[data-awake="true"] .ink-liquid-drift { animation: ink-liquid-float 6.2s ease-in-out infinite, ink-liquid-shimmer 7.2s ease-in-out infinite; }
.manager-idle-avatar[data-awake="true"] .ink-liquid-flame { animation: ink-liquid-flow 3.8s ease-in-out infinite; }
.manager-idle-avatar[data-awake="true"] .ink-flame-core { animation: ink-flame-core 3.1s ease-in-out infinite; }
.manager-idle-avatar[data-awake="true"] .ink-flame-wisp { animation: ink-flame-rise 3.4s linear infinite; }
.manager-idle-avatar[data-awake="true"] .ink-flame-wisp-right { animation-delay: -1.2s; animation-duration: 3.8s; }
.manager-idle-avatar[data-awake="true"] .ink-flame-wisp-tip { animation-delay: -2s; animation-duration: 3.2s; }
.manager-idle-avatar .ink-front { opacity: 0; transform-box: view-box; transform-origin: 64px 58px; transform: translateX(0); transition: opacity .5s ease,transform .65s cubic-bezier(.25,.8,.25,1); }
.manager-idle-avatar[data-awake="true"] .ink-front { opacity: 1; }
.manager-idle-avatar[data-facing="left"] .ink-front { transform: translateX(-9px); }
.manager-idle-avatar[data-facing="right"] .ink-front { transform: translateX(9px); }
.manager-idle-avatar[data-facing="back"] .ink-front { opacity: 0; }
.manager-idle-avatar .ink-awake { fill: var(--ink-face-color); transform-box: fill-box; transform-origin: center; }
.manager-idle-avatar .ink-eye { transform-box: fill-box; transform-origin: center; transform: scale(.05); opacity: 0; transition: transform .7s ease, opacity .7s ease; }
.manager-idle-avatar[data-awake="true"] .ink-eye { transform: scale(1); opacity: 1; }
.manager-idle-avatar[data-awake="true"] .ink-eye-left { transition-delay: 1.15s; }
.manager-idle-avatar[data-awake="true"] .ink-eye-right { transition-delay: 1.8s; }
.manager-idle-avatar[data-awake="true"] .ink-awake { animation: ink-blink 6s 3s infinite; }
.manager-idle-avatar .ink-smile, .manager-idle-avatar .ink-sleep { fill: none; stroke: var(--ink-face-color); stroke-width: 2; stroke-linecap: round; opacity: 0; transition: opacity .6s ease; }
.manager-idle-avatar[data-awake="true"] .ink-smile { opacity: 1; transition-delay: 2.6s; }
.manager-idle-avatar .ink-sleep { display: none; }
.manager-idle-avatar .ink-arm, .manager-idle-avatar .ink-leg { fill: var(--ink-limb-color); stroke: var(--ink-limb-color); stroke-width: 3.6; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transform-box: view-box; transform: scale(.2); transition: opacity .9s ease, transform .9s ease; }
.manager-idle-avatar .ink-arm-left { transform-origin: 32px 57px; }
.manager-idle-avatar .ink-arm-right { transform-origin: 96px 57px; }
.manager-idle-avatar .ink-leg-left { transform-origin: 51px 89px; }
.manager-idle-avatar .ink-leg-right { transform-origin: 77px 89px; }
.manager-idle-avatar .ink-limb-swing { transform-box: view-box; }
.manager-idle-avatar .ink-arm-left .ink-limb-swing { transform-origin: 32px 57px; }
.manager-idle-avatar .ink-arm-right .ink-limb-swing { transform-origin: 96px 57px; }
.manager-idle-avatar .ink-leg-left .ink-limb-swing { transform-origin: 51px 89px; }
.manager-idle-avatar .ink-leg-right .ink-limb-swing { transform-origin: 77px 89px; }
.manager-idle-avatar .ink-limbs { transform-box: view-box; transform-origin: 64px 58px; }
.manager-idle-avatar .ink-limbs path { transition: d .45s ease; }
.manager-idle-avatar .ink-limbs circle { transition: transform .45s ease; }
.manager-idle-avatar .ink-arm path:not(.ink-pen-body):not(.ink-pen-tip),.manager-idle-avatar .ink-leg path { fill: none; }
.manager-idle-avatar .ink-limb-tip { fill: #d6b77e; stroke: #d6b77e; }
.manager-idle-avatar[data-awake="true"] .ink-arm,
.manager-idle-avatar[data-awake="true"] .ink-leg { opacity: 1; transform: scale(1); transition-delay: 4.2s; }
.manager-idle-avatar .ink-pen-body { fill: #a27a45; stroke: #57432e; stroke-width: 1.5; stroke-linejoin: round; }
.manager-idle-avatar .ink-pen-tip { fill: #e0c18b; stroke: #57432e; stroke-width: 1.4; }
.manager-idle-avatar .ink-pen-band { fill: none; stroke: #f0d7a2; stroke-width: 1.5; }
.manager-idle-avatar .ink-pen { opacity: 0; transition: opacity .6s ease; }
.manager-idle-avatar[data-awake="true"][data-motion="pawing"] .ink-pen,
.manager-idle-avatar[data-awake="true"][data-activity="evening"] .ink-pen { opacity: 1; transition-delay: 4.2s; }
.manager-idle-avatar[data-motion="pawing"] .ink-pen { transition-delay: 0s; }
.manager-idle-avatar .ink-accent { fill: none; stroke: #b39568; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transition: opacity .8s ease; }
.manager-idle-avatar[data-awake="true"][data-activity="morning"] .ink-morning,
.manager-idle-avatar[data-awake="true"][data-activity="reading"] .ink-reading,
.manager-idle-avatar[data-awake="true"][data-activity="evening"] .ink-evening,
.manager-idle-avatar[data-awake="true"][data-activity="rest"] .ink-rest { opacity: 1; transition-delay: 4.2s; }
.manager-idle-avatar[data-activity="rest"]:not([data-commanded="true"]) .ink-awake,.manager-idle-avatar[data-expression="sleepy"] .ink-awake { display: none; }
.manager-idle-avatar[data-awake="true"][data-activity="rest"]:not([data-commanded="true"]) .ink-sleep,.manager-idle-avatar[data-awake="true"][data-expression="sleepy"] .ink-sleep { display: block; opacity: 1; transition-delay: 1.8s; }
.manager-idle-avatar[data-awake="true"][data-activity="rest"] .ink-liquid-drift { animation-duration: 8s,8.2s; }
.manager-idle-avatar[data-awake="true"][data-activity="rest"] .ink-liquid-flame { animation-duration: 4.8s; }
.manager-idle-avatar[data-motion="walking"][data-direction="left"] .ink-liquid-lag { transform: translateX(3.5px) rotate(5deg); }
.manager-idle-avatar[data-motion="walking"][data-direction="right"] .ink-liquid-lag { transform: translateX(-3.5px) rotate(-5deg); }
.manager-idle-avatar[data-motion="walking"] .ink-leg-left .ink-limb-swing,.manager-idle-avatar[data-motion="walking"] .ink-arm-right .ink-limb-swing { animation: ink-step .65s ease-in-out infinite alternate; }
.manager-idle-avatar[data-motion="walking"] .ink-leg-right .ink-limb-swing,.manager-idle-avatar[data-motion="walking"] .ink-arm-left .ink-limb-swing { animation: ink-step .65s ease-in-out infinite alternate-reverse; }
.manager-idle-avatar[data-motion="walking"] .ink-pet { animation: ink-body-step .65s ease-in-out infinite; }
.manager-idle-avatar[data-motion="pawing"] .ink-arm-right .ink-limb-swing { animation: ink-paw .8s ease-in-out infinite alternate; }
.manager-idle-avatar[data-motion="waving"] .ink-arm-right .ink-limb-swing { animation: ink-greet .65s ease-in-out infinite alternate; }
.manager-idle-avatar[data-motion="jumping"] .ink-pet { animation: ink-jump-pose .8s ease-in-out infinite; }
.manager-idle-avatar[data-motion="climbing"] .ink-pet { animation: ink-body-climb .8s ease-in-out infinite; }
.manager-idle-avatar[data-motion="climbing"][data-facing="right"] .ink-limbs { transform: scaleX(-1); }
.manager-idle-avatar[data-motion="climbing"] .ink-arm-left path:first-child { d:path('M35 58Q20 48 18 35'); }
.manager-idle-avatar[data-motion="climbing"] .ink-arm-left circle { transform: translate(4px,-39px); }
.manager-idle-avatar[data-motion="climbing"] .ink-arm-right path:first-child { d:path('M90 57Q52 33 20 46'); }
.manager-idle-avatar[data-motion="climbing"] .ink-arm-right circle { transform: translate(-91px,-1px); }
.manager-idle-avatar[data-motion="climbing"] .ink-leg-left path:first-child { d:path('M51 89Q33 89 25 78'); }
.manager-idle-avatar[data-motion="climbing"] .ink-leg-left .ink-limb-tip { d:path('M24 78Q21 79 17 79'); }
.manager-idle-avatar[data-motion="climbing"] .ink-leg-right path:first-child { d:path('M77 89Q45 79 25 65'); }
.manager-idle-avatar[data-motion="climbing"] .ink-leg-right .ink-limb-tip { d:path('M24 65Q21 66 17 66'); }
.manager-idle-avatar[data-motion="climbing"] .ink-arm-left .ink-limb-swing,.manager-idle-avatar[data-motion="climbing"] .ink-leg-right .ink-limb-swing { animation: ink-climb-reach .8s ease-in-out infinite alternate; }
.manager-idle-avatar[data-motion="climbing"] .ink-arm-right .ink-limb-swing,.manager-idle-avatar[data-motion="climbing"] .ink-leg-left .ink-limb-swing { animation: ink-climb-reach .8s ease-in-out infinite alternate-reverse; }
.manager-idle-avatar[data-motion="climbing"] .ink-pen { opacity: 0; transition-delay: 0s; }
.manager-idle-avatar .ink-frown,.manager-idle-avatar .ink-happy-eyes,.manager-idle-avatar .ink-curious-brow,.manager-idle-avatar .ink-thinking-brow { display: none; fill: none; stroke: var(--ink-face-color); stroke-width: 1.8; stroke-linecap: round; }
.manager-idle-avatar[data-expression="sad"] .ink-frown,.manager-idle-avatar[data-expression="happy"] .ink-happy-eyes,.manager-idle-avatar[data-expression="curious"] .ink-curious-brow,.manager-idle-avatar[data-expression="thinking"] .ink-thinking-brow { display: block; }
.manager-idle-avatar[data-expression="happy"] .ink-awake,.manager-idle-avatar[data-expression="sad"] .ink-smile { display: none; }
.manager-orb.is-dragging .ink-liquid-lag { transform: translateY(2px) scaleX(1.06) scaleY(.94); }
/* The controller stops movement immediately, then allows 1.2s to fold back before clipping. */
.manager-idle-avatar[data-motion="settling"] .ink-arm,
.manager-idle-avatar[data-motion="settling"] .ink-leg { opacity: 0; transform: scale(.2); animation: none; transition-delay: 0s; }
.manager-idle-avatar[data-motion="settling"] .ink-sphere { fill: var(--surface); fill-opacity: 1; transition-duration: 1.1s; }
.manager-idle-avatar[data-motion="settling"] .ink-sphere-awake,
.manager-idle-avatar[data-motion="settling"] .ink-liquid,
.manager-idle-avatar[data-motion="settling"] .ink-glass-details { opacity: 0; transition-duration: 1.1s; }
.manager-idle-avatar[data-motion="settling"] .ink-idle-label,
.manager-idle-avatar[data-motion="settling"] .ink-indicator { opacity: 1; }
.manager-idle-avatar[data-motion="settling"] .ink-front { opacity: 0; animation: none; }
.manager-idle-avatar[data-motion="settling"] .ink-shadow,
.manager-idle-avatar[data-awake="true"][data-motion="settling"] .ink-accent { opacity: 0; transition-delay: 0s; }
@keyframes ink-liquid-float {
  0%,100% { transform: translate(0,0) rotate(-1deg); }
  28% { transform: translate(.7px,-.7px) rotate(1.5deg); }
  56% { transform: translate(-.6px,-.3px) rotate(-1deg); }
  78% { transform: translate(.3px,.4px) rotate(.5deg); }
}
@keyframes ink-liquid-flow {
  0%,100% { d: path('M66 34C60 43 72 45 66 54C63 59 58 57 59 50C49 55 53 64 49 69C44 77 51 85 63 85C78 86 84 77 78 67C73 60 79 54 74 48C76 57 69 61 67 58C63 53 77 43 66 34Z'); }
  25% { d: path('M62 32C57 43 68 48 62 54C59 58 54 58 55 51C46 57 52 64 48 70C43 78 53 85 64 85C78 85 82 76 77 66C73 60 80 53 76 47C75 57 69 62 67 58C64 53 70 41 62 32Z'); }
  50% { d: path('M71 36C67 45 77 48 69 56C64 61 58 57 61 48C51 53 51 63 49 68C45 77 50 85 61 85C76 87 85 78 79 68C75 60 74 54 70 49C73 56 68 62 66 59C61 55 80 44 71 36Z'); }
  75% { d: path('M65 31C70 43 60 45 64 53C67 61 57 59 57 51C48 55 54 63 50 68C43 76 50 85 63 85C78 85 84 76 78 66C73 59 81 54 76 49C77 57 70 61 68 58C65 53 57 42 65 31Z'); }
}
@keyframes ink-liquid-shimmer {
  0%,100% { opacity: .62; }
  35% { opacity: 1; }
  72% { opacity: .45; }
}
@keyframes ink-flame-core {
  0%,100% { transform: translate(0,0) scale(1,.96); opacity: .72; }
  45% { transform: translate(-1px,-2px) scale(.9,1.08); opacity: .9; }
  72% { transform: translate(1px,-.5px) scale(1.04,.94); opacity: .78; }
}
@keyframes ink-flame-rise {
  0% { transform: translate(0,5px) scale(.8); opacity: 0; }
  18% { transform: translate(-1px,0) scale(.92); opacity: .26; }
  48% { transform: translate(2px,-5px) scale(.76,.9); opacity: .18; }
  78% { transform: translate(-1px,-10px) scale(.4,.7); opacity: .06; }
  100% { transform: translate(1px,-14px) scale(.12,.3); opacity: 0; }
}
@keyframes ink-body-step { 0%,100% { transform: scale(.8) translateY(0) rotate(-1deg); } 50% { transform: scale(.8) translateY(-1.6px) rotate(1deg); } }
@keyframes ink-body-climb { 0%,100% { transform: scale(.8) rotate(-2deg); } 50% { transform: scale(.8) translateY(-1.4px) rotate(1deg); } }
@keyframes ink-climb-reach { from { transform: translateY(-3px); } to { transform: translateY(3px); } }
@keyframes ink-greet { from { transform: rotate(-28deg); } to { transform: rotate(-62deg); } }
@keyframes ink-jump-pose { 0%,100% { transform: scale(.8); } 50% { transform: scale(.78,.83); } }
@keyframes ink-wave { from { transform: rotate(-6deg); } to { transform: rotate(8deg); } }
@keyframes ink-step { from { transform: rotate(-12deg); } to { transform: rotate(12deg); } }
@keyframes ink-paw { from { transform: rotate(-16deg); } to { transform: rotate(13deg); } }
@keyframes ink-blink { 0%,92%,96%,100% { transform: scaleY(1); } 94% { transform: scaleY(.08); } }
@media (prefers-reduced-motion: reduce) {
  .manager-idle-avatar *, .manager-idle-avatar { animation: none !important; transition: none !important; }
  .manager-idle-avatar[data-awake="true"] .ink-flame-contour { filter: none; }
}
