/* Flick — private 3D tool assistant */
.flick-assistant{position:fixed;z-index:880;inset-inline-end:18px;bottom:12px;width:168px;direction:ltr;pointer-events:none}.flick-robot-button{position:relative;width:168px;min-height:146px;margin:0;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;pointer-events:auto;filter:drop-shadow(0 18px 22px rgba(30,35,75,.22));transition:transform .22s var(--ease),filter .22s var(--ease)}.flick-robot-button:hover{transform:translateY(-4px) scale(1.02);filter:drop-shadow(0 22px 28px rgba(44,48,100,.3))}.flick-robot-button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 42%,transparent);outline-offset:2px;border-radius:36px}.flick-robot-stage{position:relative;display:block;width:168px;height:132px}.flick-robot-stage:before{content:"";position:absolute;inset:28px 18px 5px;border-radius:50%;background:radial-gradient(circle,rgba(100,232,255,.28),rgba(123,102,255,.12) 46%,transparent 72%);filter:blur(8px);animation:flickAura 3.2s ease-in-out infinite}.flick-canvas{position:relative;z-index:2;display:block;width:100%;height:100%}.flick-webgl-fallback{position:absolute;z-index:1;inset:39px 50px 15px;display:grid;place-items:center;border:1px solid rgba(123,102,255,.35);border-radius:48% 48% 42% 42%;background:linear-gradient(145deg,#edf4ff,#a8b2ca);color:#4d3ed1;font-size:29px;font-weight:950;box-shadow:inset -9px -10px 18px rgba(33,43,76,.18),inset 8px 8px 16px rgba(255,255,255,.72)}.webgl-ready .flick-webgl-fallback{display:none}.flick-robot-label{position:absolute;z-index:4;inset-inline-start:50%;bottom:0;transform:translateX(-50%);display:flex;align-items:center;gap:7px;min-width:106px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--surface-solid) 90%,transparent);box-shadow:0 9px 24px rgba(26,33,70,.16);backdrop-filter:blur(12px)}.flick-robot-label i{width:7px;height:7px;border-radius:50%;background:#38d996;box-shadow:0 0 0 4px rgba(56,217,150,.12),0 0 12px rgba(56,217,150,.7)}.flick-robot-label strong{font-size:10.5px}.flick-robot-label small{color:var(--muted);font-size:7.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.flick-callout{position:absolute;z-index:5;inset-inline-end:119px;top:15px;width:max-content;max-width:170px;padding:10px 12px;border:1px solid var(--line);border-radius:14px 14px 4px 14px;background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-sm);font-size:10.5px;font-weight:800;line-height:1.35;opacity:0;transform:translateX(8px) scale(.94);transition:.25s var(--ease);pointer-events:none}.flick-callout.show{opacity:1;transform:none}.flick-callout:after{content:"";position:absolute;inset-inline-end:-6px;bottom:8px;width:11px;height:11px;border-block-start:1px solid var(--line);border-inline-end:1px solid var(--line);background:var(--surface-solid);transform:rotate(45deg)}
.flick-panel{position:absolute;inset-inline-end:0;bottom:138px;width:min(390px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 170px));display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:24px;background:color-mix(in srgb,var(--surface-solid) 96%,transparent);box-shadow:0 28px 80px rgba(17,22,52,.28);backdrop-filter:blur(18px);opacity:0;transform:translateY(16px) scale(.96);transform-origin:bottom right;pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease)}html[dir=rtl] .flick-panel{direction:rtl;transform-origin:bottom left}.flick-assistant.open .flick-panel{opacity:1;transform:none;pointer-events:auto}.flick-panel-head{display:flex;align-items:center;gap:11px;padding:16px 17px 13px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-soft) 55%,var(--surface-solid)),var(--surface-solid))}.flick-panel-mark{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(123,102,255,.22);border-radius:13px;background:linear-gradient(145deg,#171d38,#5846d5);color:#9ff4ff;box-shadow:inset 0 0 17px rgba(100,232,255,.2),0 7px 18px rgba(54,48,129,.2);font-size:13px;font-weight:950}.flick-panel-title{min-width:0;flex:1}.flick-panel-title strong{display:block;font-size:14px}.flick-panel-title span{display:flex;align-items:center;gap:6px;margin-top:3px;color:var(--muted);font-size:9px}.flick-panel-title span:before{content:"";width:6px;height:6px;border-radius:50%;background:#38d996;box-shadow:0 0 7px rgba(56,217,150,.7)}.flick-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface-solid);color:var(--text);cursor:pointer;font-size:18px}.flick-messages{display:flex;flex-direction:column;gap:10px;min-height:160px;padding:16px;overflow:auto;overscroll-behavior:contain}.flick-message{max-width:90%;padding:11px 12px;border-radius:14px;font-size:11px;line-height:1.58;animation:flickMessage .2s var(--ease)}.flick-message.bot{align-self:flex-start;border:1px solid var(--line);border-start-start-radius:4px;background:var(--bg-soft);color:var(--text-soft)}.flick-message.user{align-self:flex-end;border-start-end-radius:4px;background:linear-gradient(135deg,var(--brand),#5541d5);color:#fff}.flick-message strong{color:var(--text)}
.flick-result-tools{display:grid;gap:7px;margin-top:9px}.flick-tool-link{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--surface-solid);color:var(--text);text-align:start;cursor:pointer}.flick-tool-link:hover{border-color:rgba(123,102,255,.36);background:var(--brand-soft)}.flick-tool-link>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--brand-soft);color:var(--brand-deep)}.flick-tool-link svg{width:17px;height:17px}.flick-tool-link strong{display:block;font-size:10.5px}.flick-tool-link small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px}.flick-tool-link>span:last-child{font-size:16px;color:var(--brand-deep)}.flick-quick{display:flex;gap:7px;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none}.flick-quick::-webkit-scrollbar{display:none}.flick-quick button{flex:0 0 auto;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-solid);color:var(--text-soft);cursor:pointer;font-size:9.5px;font-weight:800}.flick-quick button:hover{border-color:rgba(123,102,255,.34);color:var(--brand-deep)}.flick-compose{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:var(--bg-soft)}.flick-compose input{min-width:0;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);color:var(--text);padding:0 12px;font:inherit;font-size:11px;outline:none}.flick-compose input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.flick-send{height:42px;display:grid;place-items:center;border:0;border-radius:12px;background:linear-gradient(135deg,var(--brand),#5140ce);color:#fff;cursor:pointer;box-shadow:0 7px 17px rgba(102,87,245,.24)}.flick-send svg{width:17px;height:17px}.flick-private{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 14px 12px;background:var(--bg-soft);color:var(--muted);font-size:8px}.flick-private svg{width:11px;height:11px;color:var(--success)}html[data-theme=dark] .flick-panel-mark{background:linear-gradient(145deg,#11182e,#4034a3)}html[data-theme=dark] .flick-webgl-fallback{background:linear-gradient(145deg,#28324c,#11162a);color:#8cefff}
.flick-private button{margin-inline-start:5px;padding:2px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--muted);cursor:pointer;font:inherit}.flick-private button:hover{color:var(--brand-deep)}
@keyframes flickAura{50%{transform:scale(1.08);opacity:.72}}@keyframes flickMessage{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:620px){.flick-assistant{inset-inline-end:8px;bottom:7px;width:138px}.flick-robot-button,.flick-robot-stage{width:138px}.flick-robot-button{min-height:126px}.flick-robot-stage{height:115px}.flick-callout{inset-inline-end:105px;top:7px}.flick-panel{position:fixed;inset-inline:8px;bottom:130px;width:auto;max-height:calc(100vh - 146px);transform-origin:bottom center}.flick-messages{min-height:130px}.flick-quick{padding-bottom:10px}}@media(prefers-reduced-motion:reduce){.flick-robot-stage:before{animation:none}.flick-message{animation:none}.flick-robot-button,.flick-panel,.flick-callout{transition:none}}
.flick-assistant{right:18px;left:auto}.flick-panel{right:0;left:auto}.flick-callout{right:119px;left:auto}.flick-callout:after{right:-6px;left:auto}@media(max-width:620px){.flick-assistant{right:8px;left:auto}.flick-callout{right:105px;left:auto}.flick-panel{right:8px;left:8px}}

/* Keep Flick fully visible: the conversation sits beside him and the status badge lives below the 3D head. */
.flick-assistant{right:18px;left:auto;bottom:14px;width:190px}.flick-robot-button{z-index:3;display:flex;width:190px;min-height:188px;flex-direction:column;align-items:center;justify-content:flex-start}.flick-robot-stage{width:190px;height:156px}.flick-robot-label{position:relative;inset:auto;bottom:auto;transform:none;justify-content:center;width:118px;min-width:118px;margin-top:-1px;padding:6px 9px;border-radius:14px}.flick-robot-label>span{display:grid;line-height:1.12}.flick-robot-label strong{font-size:10px}.flick-robot-label small{margin-top:2px;font-size:7px;white-space:nowrap}.flick-callout{right:148px;left:auto;top:24px}.flick-panel{right:196px;left:auto;bottom:4px;width:min(430px,calc(100vw - 232px));max-height:min(660px,calc(100vh - 32px));transform-origin:bottom right;z-index:1}.flick-assistant.open .flick-robot-button{filter:drop-shadow(0 22px 30px rgba(54,48,129,.32))}.flick-message ol{margin:8px 0 5px;padding-inline-start:19px}.flick-message li+li{margin-top:4px}.flick-message small{display:block;margin-top:8px;line-height:1.5;color:var(--muted)}
@media(max-width:760px){.flick-assistant{right:8px;left:auto;bottom:7px;width:150px}.flick-robot-button{width:150px;min-height:158px}.flick-robot-stage{width:150px;height:128px}.flick-robot-label{width:112px;min-width:112px;padding:5px 8px}.flick-callout{right:118px;left:auto;top:8px}.flick-panel{position:fixed;right:8px;left:8px;bottom:171px;width:auto;max-height:calc(100vh - 188px);transform-origin:bottom right}.flick-messages{min-height:128px}}

/* Flick: float the social/intro callout above the robot instead of beside it, so it never covers page content (logical properties only — correct in both LTR and RTL, and this block wins the cascade as the last rule). */
.flick-callout{top:auto;bottom:calc(100% + 12px);inset-inline-end:-6px;max-width:210px}
.flick-callout:after{top:auto;bottom:-6px;inset-inline-end:24px;border-block-start:none;border-inline-end:none;border-block-end:1px solid var(--line);border-inline-start:1px solid var(--line)}
@media(max-width:760px){.flick-callout{bottom:calc(100% + 8px);inset-inline-end:-2px;max-width:180px}.flick-callout:after{inset-inline-end:18px}}

/* v0.12 native-keyboard, switch-control and high-contrast support */
.flick-close,.flick-send{min-width:44px;min-height:44px}.flick-quick button{min-height:44px;font-size:13px}.flick-compose{grid-template-columns:minmax(0,1fr) 44px}.flick-compose input{height:44px;font-size:16px}.flick-private{font-size:13px}.flick-private button{min-height:44px;padding:8px 4px}.flick-message{font-size:14px}.flick-tool-link{min-height:44px}.flick-tool-link strong{font-size:14px}.flick-tool-link small{font-size:13px}
@media(max-width:760px){
  body.virtual-keyboard-open:not(.flick-keyboard-open) .flick-assistant{opacity:0;visibility:hidden;pointer-events:none}
  body.flick-keyboard-open .flick-assistant{position:fixed;inset:0;width:auto;opacity:1;visibility:visible;pointer-events:none}
  body.flick-keyboard-open .flick-robot-button,body.flick-keyboard-open .flick-callout{display:none}
  body.flick-keyboard-open .flick-panel{position:fixed;inset-block-start:8px;inset-block-end:auto;inset-inline:8px;width:auto;max-height:calc(var(--visual-viewport-height,100vh) - 16px);pointer-events:auto;transform:none}
}
@media(forced-colors:active){.flick-panel,.flick-robot-button,.flick-close,.flick-send,.flick-quick button,.flick-compose input,.flick-tool-link{border:1px solid ButtonText!important;background:Canvas!important;color:CanvasText!important;box-shadow:none!important;filter:none!important}.flick-robot-stage:before,.flick-callout:after{display:none}.flick-robot-button:focus-visible,.flick-close:focus-visible,.flick-send:focus-visible,.flick-quick button:focus-visible,.flick-compose input:focus-visible{outline:3px solid Highlight!important;outline-offset:3px!important}}
