:root{--mati-size:80px;--mati-edge:max(12px,env(safe-area-inset-right));--mati-footer-space:0}
body[data-mati-enabled=true]{--mati-footer-space:calc(var(--mati-size) + var(--mati-edge) + 4px)}
/* Preserve the wheel edge's antialiasing in every pose without a scrollable clip. */
.mati-dock{position:fixed;z-index:35;right:0;font-size:var(--shell-footer-font-size);bottom:0;width:calc(112px + var(--mati-edge));height:104px;overflow:clip;overflow-clip-margin:4px;pointer-events:none}
.mati-launcher,.mati-travel-frames,.mati-launcher .mati-eyes,.mati-launcher .mati-eye,.mati-travel-wheels,.mati-wheel-rotor{animation-duration:var(--mati-trip-duration);animation-delay:var(--mati-trip-delay);animation-iteration-count:infinite;animation-fill-mode:both;animation-play-state:paused}
.mati-launcher{position:absolute;right:var(--mati-edge);bottom:0;display:grid;place-items:center;width:var(--mati-size);padding:0;border:0;background:transparent;cursor:pointer;border-radius:8px;pointer-events:auto;animation-name:mati-trip;animation-timing-function:cubic-bezier(.45,0,.55,1)}
.mati-dock:has(.mati-avatar[data-mati-motion=running]) .mati-launcher{animation-play-state:running}
.mati-avatar,.mati-launcher>img{display:block;width:76px;height:76px;pointer-events:none}
.mati-avatar{flex:none;overflow:visible}
/* Keep the atlas's proportional transparent margin below the wheelbase off the ground. */
.mati-launcher>.mati-avatar{translate:0 6.25%}
.mati-launcher>:is(img,.mati-avatar){object-fit:contain;filter:drop-shadow(0 2px 3px #173b7530)}
.mati-eye{animation:mati-blink 7s ease-in-out infinite;animation-play-state:paused;transform-box:view-box}
.mati-launcher .mati-eye{animation-name:mati-launcher-blink;animation-timing-function:linear}
.mati-eye--left{transform-origin:var(--mati-eye-left-origin)}
.mati-eye--right{transform-origin:var(--mati-eye-right-origin)}
.mati-travel-frames{transform-box:view-box;transform-origin:0 0;animation-name:mati-frames;animation-timing-function:steps(1,end)}
.mati-launcher .mati-eyes{animation-name:mati-eyes-visible;animation-timing-function:steps(1,end)}
.mati-travel-wheels{opacity:0;animation-name:mati-wheels-out;animation-timing-function:linear}
.mati-travel-wheels--back{animation-name:mati-wheels-back}
.mati-wheel-rotor{transform-box:view-box;transform-origin:0 0;animation-name:mati-roll;animation-timing-function:cubic-bezier(.45,0,.55,1)}
.mati-avatar[data-mati-motion=running] :is(.mati-eye,.mati-eyes,.mati-travel-frames,.mati-travel-wheels,.mati-wheel-rotor){animation-play-state:running}
.mati-dock:is(:hover,:focus-within) :is(.mati-launcher,.mati-eye,.mati-eyes,.mati-travel-frames,.mati-travel-wheels,.mati-wheel-rotor){animation:none;transform:none}
@keyframes mati-blink{0%,42%,47%,100%{transform:scaleY(1)}44%,45%{transform:scaleY(.07)}}
@media(prefers-reduced-motion:reduce){.mati-dock .mati-launcher,.mati-avatar :is(.mati-eye,.mati-eyes,.mati-travel-frames,.mati-travel-wheels,.mati-wheel-rotor){animation:none;transform:none}}
.mati-launcher:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.mati-launcher[aria-expanded=true]{visibility:hidden}
dialog.mati-assistant[open]{display:flex;flex-direction:column;overflow:hidden}
.mati-assistant>header{flex:none}
.mati-intro{display:flex;align-items:center;gap:12px;padding:16px 16px 8px}
.mati-intro>img{flex:none;object-fit:contain}
.mati-intro strong{font-size:17px;font-weight:600;color:#007073}
.mati-intro p{margin:5px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
.mati-search{padding:8px 12px 0;flex:none}
.mati-modes{margin:4px 12px 8px;flex:none}
.mati-modes>.button{flex:1;flex-direction:column;gap:6px;height:54px;padding:6px;font-size:12px}
.mati-modes [aria-pressed=true]{background:#e4f3f1;border-color:#30998f}
.mati-assistant>[data-mati-links]{min-height:0;overflow:auto}
.mati-ai{padding:0 12px 12px;overflow:auto;min-height:0}
.mati-ai textarea{resize:vertical;max-height:140px}
.mati-ai-answer{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}
.mati-ai-status{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0}
.mati-ai-sources{padding-left:18px;font-size:12px;line-height:1.6}
:is(.mati-ai-status,.mati-ai-sources):empty{display:none}
.mati-search .floating-field{margin-bottom:12px}
.mati-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 12px 12px;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.mati-results>.mati-shortcut{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:64px;white-space:normal;text-align:center;font-size:13px;padding:8px;background:#fafcf7}
.mati-shortcut>small{font-size:11px;color:var(--muted)}
.mati-shortcut:hover{background:#e4f3f1;border-color:var(--teal)}
.mati-shortcut:focus-visible{outline:2px solid var(--teal);outline-offset:-3px}
.mati-empty{grid-column:1/-1;margin:8px 0;font-size:14px;line-height:1.6;color:var(--muted)}
.mati-footer{display:flex;flex:none;justify-content:flex-end;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.mati-footer>span:first-child{padding:4px 8px;border-left:1px solid var(--line);border-radius:5px 0 0;background:#f2f4f7}
.mati-footer .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:768px){dialog.mati-assistant{inset:auto max(12px,env(safe-area-inset-right)) calc(124px + env(safe-area-inset-bottom)) auto;width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - var(--header) - 140px);margin:0}}
@media(max-width:767px){:root{--mati-size:64px;--mati-edge:max(8px,env(safe-area-inset-right))}.mati-launcher>:is(img,.mati-avatar){width:var(--mati-size);height:var(--mati-size)}.mati-intro{padding-top:12px}}
