.mam-xanh-companion{--mx-size:144px;--mx-bottom-requested:16px;--mx-bottom:max(var(--mx-bottom-requested),8px);--mx-dynamic-lift:0px;--mx-side-requested:16px;--mx-side:max(var(--mx-side-requested),8px);--mx-look-x:0px;--mx-look-y:0px;--mx-drag-x:0px;--mx-collapse-origin-x:100%;--mx-collapse-origin-y:100%;--mx-dock-x:0px;--mx-dock-y:0px;--mx-menu-width:300px;--mx-panel-available-height:430px;--mx-panel-bg:rgba(255,255,255,.82);--mx-panel-solid:#fff;--mx-panel-text:#243021;--mx-panel-border:rgba(123,151,103,.3);--mx-accent:#4e7d12;--mx-item-bg:rgba(247,251,244,.66);--mx-item-hover:rgba(238,247,232,.9);--mx-badge-bg:#eef7e8;--mx-badge-text:#4b6f31;position:fixed;right:var(--mx-side);bottom:calc(var(--mx-bottom) + var(--mx-dynamic-lift));width:var(--mx-size);height:var(--mx-size);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.35;box-sizing:border-box;transform:translate3d(var(--mx-drag-x),0,0);transition:bottom .42s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1);isolation:isolate;contain:layout style}
.mam-xanh-companion:not(.mx-position-ready){visibility:hidden!important}
.mam-xanh-companion.is-left{right:auto;left:var(--mx-side)}
.mam-xanh-companion *,.mam-xanh-companion *:before,.mam-xanh-companion *:after{box-sizing:border-box}
.mam-xanh-companion button,.mam-xanh-companion a,.mam-xanh-companion span,.mam-xanh-companion strong,.mam-xanh-companion small,.mam-xanh-companion div{font-family:inherit;letter-spacing:normal;text-transform:none;text-shadow:none}
.mam-xanh-companion button,.mam-xanh-companion a{outline-offset:3px}
.mam-xanh-companion button:focus-visible,.mam-xanh-companion a:focus-visible{outline:2px solid var(--mx-accent)!important}
.mam-xanh-toggle{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;cursor:pointer;border-radius:0!important;overflow:visible!important;appearance:none!important;-webkit-appearance:none!important;filter:drop-shadow(0 9px 15px rgba(43,84,31,.16));transform:scale(1);transform-origin:var(--mx-collapse-origin-x) var(--mx-collapse-origin-y);transition:transform .62s cubic-bezier(.22,1,.36,1),filter .35s ease}
.mam-xanh-toggle:focus-visible,.mam-xanh-dismiss:focus-visible,.mam-xanh-action:focus-visible{outline:3px solid #77a914;outline-offset:2px}
.mam-xanh-sprite{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;background-color:transparent!important;background-repeat:no-repeat!important;background-size:600% 100%;background-position:0 0;transform:translate(var(--mx-look-x),var(--mx-look-y));transform-origin:50% 92%;transition:transform .32s cubic-bezier(.2,.75,.25,1)}
.mam-xanh-companion.is-transitioning .mam-xanh-sprite{transform:translate(var(--mx-look-x),calc(var(--mx-look-y) + 1px)) scale(.996)}
.mam-xanh-companion.is-settling .mam-xanh-sprite{transition-duration:.44s}
.mam-xanh-companion.is-avoiding:not(.is-dragging) .mam-xanh-toggle{filter:drop-shadow(0 7px 12px rgba(43,84,31,.14))}
.mam-xanh-companion.has-natural-motion:not(.is-sleeping):not(.is-collapsed) .mam-xanh-toggle{animation:mx-breathe var(--mx-speed,3600ms) ease-in-out infinite}
.mam-xanh-companion.is-expressing .mam-xanh-toggle{animation:mx-greet .7s cubic-bezier(.2,.8,.25,1) 1}
.mam-xanh-companion.is-sleeping .mam-xanh-toggle{animation:mx-sleep 4.8s ease-in-out infinite;filter:drop-shadow(0 5px 9px rgba(43,84,31,.11));opacity:.9}
.mam-xanh-toggle:hover .mam-xanh-sprite{transform:translate(var(--mx-look-x),calc(var(--mx-look-y) - 3px)) scale(1.025)}
.mam-xanh-companion.is-dragging{user-select:none;touch-action:pan-y;transition:none}
.mam-xanh-companion.is-snapping{transition:none}
.mam-xanh-companion.can-drag .mam-xanh-toggle{touch-action:pan-y}
.mam-xanh-companion.is-dragging .mam-xanh-toggle{cursor:grabbing;animation:none!important}
.mam-xanh-companion.is-continuing{animation:none!important}
.mam-xanh-bubble,.mam-xanh-panel{position:absolute;right:calc(100% + 10px);bottom:28%;width:max-content;max-width:min(270px,calc(100vw - var(--mx-size) - 42px));box-sizing:border-box;background:var(--mx-panel-bg);color:var(--mx-panel-text);border:1px solid var(--mx-panel-border);border-radius:18px;box-shadow:0 12px 34px rgba(34,62,24,.16),inset 0 1px 0 rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px) saturate(135%);backdrop-filter:blur(14px) saturate(135%);overflow-wrap:anywhere;word-break:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px) scale(.96);transform-origin:100% 100%;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.25,1),visibility 0s linear .28s}
.mam-xanh-bubble.is-visible,.mam-xanh-panel.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition-delay:0s}
.mam-xanh-companion.is-left .mam-xanh-bubble,.mam-xanh-companion.is-left .mam-xanh-panel{right:auto;left:calc(100% + 10px)}
.mam-xanh-companion.is-left .mam-xanh-bubble,.mam-xanh-companion.is-left .mam-xanh-panel{transform-origin:0 100%}
.mam-xanh-bubble{padding:12px 14px;font-size:14px}
.mam-xanh-bubble:after{content:"";position:absolute;right:-8px;bottom:18px;width:14px;height:14px;background:var(--mx-panel-bg);border-top:1px solid var(--mx-panel-border);border-right:1px solid var(--mx-panel-border);transform:rotate(45deg)}
.mam-xanh-companion.is-left .mam-xanh-bubble:after{right:auto;left:-8px;border:0;border-bottom:1px solid #dce7d5;border-left:1px solid #dce7d5}
.mam-xanh-panel{bottom:45%;padding:16px;width:min(var(--mx-menu-width),calc(100vw - var(--mx-size) - 42px));max-width:calc(100vw - var(--mx-size) - 42px);max-height:var(--mx-panel-available-height);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.mam-xanh-panel-title{font-size:16px;font-weight:750;color:var(--mx-accent);margin-bottom:2px}
.mam-xanh-panel-subtitle{display:block;margin:0 0 12px;color:var(--mx-panel-text);opacity:.7;font-size:12px}
.mam-xanh-performance{display:inline-block;margin:0 0 9px;padding:3px 7px;border-radius:999px;background:var(--mx-badge-bg);color:var(--mx-badge-text);font-size:11px;line-height:1.35}
.mam-xanh-actions{display:grid;gap:8px}
.mam-xanh-action{display:flex;align-items:center;gap:9px;box-sizing:border-box;width:100%;min-width:0;padding:9px 10px;border:1px solid var(--mx-panel-border);border-radius:11px;background:var(--mx-item-bg);color:var(--mx-panel-text);text-align:left;text-decoration:none;font-size:13px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.mam-xanh-action:hover{border-color:var(--mx-accent);background:var(--mx-item-hover);color:var(--mx-panel-text);transform:translateY(-1px)}
.mam-xanh-action-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:var(--mx-item-hover);font-size:17px}
.mam-xanh-action-copy{display:block;min-width:0}.mam-xanh-action-copy strong,.mam-xanh-action-copy small{display:block}.mam-xanh-action-copy strong{font-size:13px;line-height:1.25}.mam-xanh-action-copy small{margin-top:2px;font-size:11px;line-height:1.25;opacity:.68}
.mx-layout-grid .mam-xanh-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.mx-layout-grid .mam-xanh-action{display:block;text-align:center}.mx-layout-grid .mam-xanh-action-icon{margin:0 auto 5px}.mx-layout-grid .mam-xanh-action-copy small{display:none}
.mx-layout-list .mam-xanh-action-copy small{display:none}.mx-layout-list .mam-xanh-action{padding:8px 10px}
.mx-theme-auto{font-family:inherit}
.mx-theme-auto.mx-color-light{--mx-panel-bg:rgba(255,255,255,.9);--mx-panel-solid:#fff;--mx-panel-text:#252525;--mx-panel-border:rgba(116,124,111,.32);--mx-accent:#315b17;--mx-item-bg:rgba(250,251,249,.76);--mx-item-hover:rgba(239,243,237,.96);--mx-badge-bg:#eef3eb;--mx-badge-text:#3d5532}
.mx-theme-auto.mx-color-dark{--mx-panel-bg:rgba(25,28,24,.9);--mx-panel-solid:#191c18;--mx-panel-text:#f5f7f3;--mx-panel-border:rgba(207,219,201,.24);--mx-accent:#b7e27e;--mx-item-bg:rgba(48,53,46,.78);--mx-item-hover:rgba(66,74,62,.96);--mx-badge-bg:#30392c;--mx-badge-text:#dcebd4}
.mx-theme-green{--mx-panel-bg:rgba(252,255,249,.88);--mx-panel-solid:#fcfff9;--mx-panel-text:#243021;--mx-panel-border:rgba(123,151,103,.32);--mx-accent:#4e7d12;--mx-item-bg:rgba(247,251,244,.72);--mx-item-hover:rgba(235,247,228,.96)}
.mx-theme-minimal,.mx-theme-light{--mx-panel-bg:rgba(255,255,255,.92);--mx-panel-solid:#fff;--mx-panel-text:#252525;--mx-panel-border:rgba(154,160,150,.36);--mx-accent:#315b17;--mx-item-bg:rgba(250,250,250,.8);--mx-item-hover:rgba(240,242,239,.96)}
.mx-theme-night,.mx-theme-dark{--mx-panel-bg:rgba(25,31,24,.92);--mx-panel-solid:#191f18;--mx-panel-text:#f3f7f0;--mx-panel-border:rgba(194,215,182,.22);--mx-accent:#b7e27e;--mx-item-bg:rgba(45,54,42,.76);--mx-item-hover:rgba(64,78,58,.96);--mx-badge-bg:#30392c;--mx-badge-text:#dcebd4}
.mx-device-all{display:flex}
.mam-xanh-dismiss{position:absolute;top:auto;right:-6px;bottom:-4px;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;margin:0!important;padding:0!important;border:1px solid rgba(69,108,35,.24)!important;border-radius:50%!important;background:rgba(255,255,255,.70)!important;background-image:none!important;box-shadow:0 4px 13px rgba(31,70,17,.13),inset 0 1px 0 rgba(255,255,255,.72)!important;-webkit-backdrop-filter:blur(10px) saturate(135%);backdrop-filter:blur(10px) saturate(135%);color:#476c2b!important;font-size:15px!important;font-weight:700!important;line-height:24px!important;cursor:pointer;appearance:none!important;-webkit-appearance:none!important}
.mam-xanh-companion.is-left .mam-xanh-dismiss{right:auto;left:-6px}
.mam-xanh-dismiss:before{content:"";position:absolute;inset:-9px;border-radius:50%}
.mam-xanh-companion.is-collapsing .mam-xanh-dismiss,.mam-xanh-companion.is-expanding .mam-xanh-dismiss{opacity:0;pointer-events:none}
.mam-xanh-companion.is-collapsing,.mam-xanh-companion.is-expanding{pointer-events:none;will-change:transform}
.mam-xanh-companion.is-collapsed{pointer-events:none;will-change:transform}
.mam-xanh-companion.is-collapsing,.mam-xanh-companion.is-collapsed{transform:translate3d(var(--mx-dock-x),var(--mx-dock-y),0)}
.mam-xanh-companion.is-expanding{transform:translate3d(0,0,0)}
.mam-xanh-companion.is-collapsing .mam-xanh-toggle,.mam-xanh-companion.is-collapsed .mam-xanh-toggle{transform:scale(var(--mx-collapse-scale,.3056));transform-origin:var(--mx-collapse-origin-x) var(--mx-collapse-origin-y);animation:none!important}
.mam-xanh-companion.is-expanding .mam-xanh-toggle{transform:scale(1);transform-origin:var(--mx-collapse-origin-x) var(--mx-collapse-origin-y);animation:none!important}
.mam-xanh-companion.is-collapsing .mam-xanh-toggle,.mam-xanh-companion.is-expanding .mam-xanh-toggle{pointer-events:none}
.mam-xanh-companion.is-collapsed .mam-xanh-toggle{pointer-events:auto}
.mam-xanh-companion.is-collapsed .mam-xanh-bubble,.mam-xanh-companion.is-collapsed .mam-xanh-panel,.mam-xanh-companion.is-collapsed .mam-xanh-dismiss{display:none!important}
.mam-xanh-companion.is-collapsed .mam-xanh-toggle{display:block!important;border:1px solid rgba(255,255,255,.58)!important;border-radius:50%!important;background:rgba(244,251,239,.70)!important;box-shadow:0 5px 16px rgba(31,70,17,.17),inset 0 1px 0 rgba(255,255,255,.72)!important;-webkit-backdrop-filter:blur(10px) saturate(135%);backdrop-filter:blur(10px) saturate(135%);overflow:hidden!important;filter:none}
.mam-xanh-companion.is-collapsed .mam-xanh-sprite{transform:none!important}
@media(min-width:783px){.mx-device-mobile{display:none!important}}
@media(max-width:782px){.mam-xanh-companion{--mx-side:max(var(--mx-side-requested),calc(12px + env(safe-area-inset-left,0px)),calc(12px + env(safe-area-inset-right,0px)));--mx-bottom:max(var(--mx-bottom-requested),calc(12px + env(safe-area-inset-bottom,0px)))}.mx-device-desktop{display:none!important}.mam-xanh-bubble,.mam-xanh-panel{position:fixed!important;left:auto!important;right:12px!important;bottom:calc(var(--mx-bottom) + var(--mx-dynamic-lift) + var(--mx-size) + 8px)!important;width:max-content!important;max-width:calc(100vw - 24px)!important}.mam-xanh-companion.is-left .mam-xanh-bubble,.mam-xanh-companion.is-left .mam-xanh-panel{left:12px!important;right:auto!important}.mam-xanh-bubble{min-width:0!important}.mam-xanh-bubble:after{display:none}.mam-xanh-panel{width:min(var(--mx-menu-width),calc(100vw - 24px))!important;min-width:min(260px,calc(100vw - 24px));max-height:min(58vh,var(--mx-panel-available-height));overflow-x:hidden;overflow-y:auto;padding:14px;overscroll-behavior:contain}.mam-xanh-panel-title,.mam-xanh-panel-subtitle,.mam-xanh-action-copy strong,.mam-xanh-action-copy small{overflow-wrap:anywhere;white-space:normal}.mam-xanh-actions{gap:7px}.mx-layout-grid .mam-xanh-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-layout-cards .mam-xanh-actions,.mx-layout-list .mam-xanh-actions{grid-template-columns:1fr}.mam-xanh-action{min-height:44px;padding:8px!important;font-size:13px;line-height:1.25}.mam-xanh-dismiss{top:auto;right:-4px;bottom:-3px;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;font-size:13px!important;line-height:20px!important}.mam-xanh-dismiss:before{inset:-11px}.mam-xanh-companion.is-left .mam-xanh-dismiss{right:auto;left:-4px}.mam-xanh-companion.is-keyboard-open:not(.is-collapsed){--mx-size:56px!important}.mam-xanh-companion.is-keyboard-open .mam-xanh-bubble,.mam-xanh-companion.is-keyboard-open .mam-xanh-panel{display:none!important}}
@media(max-width:782px) and (max-height:499px){.mam-xanh-panel{max-height:min(52vh,var(--mx-panel-available-height));padding:11px}.mam-xanh-panel-subtitle{display:none}.mam-xanh-action-copy small{display:none}.mam-xanh-companion:not(.is-open) .mam-xanh-dismiss{opacity:.72}}
@media(max-width:390px){.mx-layout-grid .mam-xanh-actions{grid-template-columns:1fr}}
@keyframes mx-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.012,.995)}}
@keyframes mx-greet{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-5px) rotate(-2deg)}70%{transform:translateY(-2px) rotate(1.5deg)}}
@keyframes mx-sleep{0%,100%{transform:translateY(1px) scale(1)}50%{transform:translateY(3px) scale(.992,1.008)}}
.mam-xanh-companion[data-performance="saver"] .mam-xanh-toggle,.mam-xanh-companion[data-performance="static"] .mam-xanh-toggle{animation:none!important}
.mam-xanh-companion[data-performance="static"] .mam-xanh-sprite{transition:none!important}
.mam-xanh-companion.mx-no-glass .mam-xanh-bubble,.mam-xanh-companion.mx-no-glass .mam-xanh-panel,.mam-xanh-companion.mx-no-glass .mam-xanh-dismiss,.mam-xanh-companion.mx-no-glass.is-collapsed .mam-xanh-toggle{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.mam-xanh-companion.mx-no-glass .mam-xanh-bubble,.mam-xanh-companion.mx-no-glass .mam-xanh-panel{--mx-panel-bg:var(--mx-panel-solid,#fff)}
.mam-xanh-companion.mx-ultralight .mam-xanh-toggle,.mam-xanh-companion.mx-ultralight .mam-xanh-sprite{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.mam-xanh-companion,.mam-xanh-toggle,.mam-xanh-sprite{animation:none!important;transition:none!important}.mam-xanh-bubble,.mam-xanh-panel{transition:none!important}}


/* Companion 2.9.0 — dialogue close controls, without changing the legacy mobile layout. */
.mam-xanh-dialog-close{position:absolute;z-index:3;top:7px;right:7px;display:grid!important;place-items:center;width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;margin:0!important;padding:0!important;border:1px solid var(--mx-panel-border)!important;border-radius:50%!important;background:var(--mx-item-bg)!important;color:var(--mx-panel-text)!important;box-shadow:none!important;font-size:15px!important;line-height:1!important;cursor:pointer;appearance:none!important;-webkit-appearance:none!important;touch-action:manipulation}.mam-xanh-dialog-close:hover{border-color:var(--mx-accent)!important;background:var(--mx-item-hover)!important}.mam-xanh-dialog-close:before{content:"";position:absolute;inset:-7px;border-radius:50%}.mam-xanh-bubble{padding-right:38px}.mam-xanh-panel{padding-top:18px}.mam-xanh-panel-close{top:8px;right:8px}.mam-xanh-bubble-close{top:50%;right:7px;transform:translateY(-50%)}.mam-xanh-companion.is-left .mam-xanh-dialog-close{right:7px;left:auto}
@media(max-width:782px){.mam-xanh-dialog-close{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}.mam-xanh-bubble-close{right:5px}.mam-xanh-panel{padding-top:18px}}
.mam-xanh-companion.is-open .mam-xanh-dismiss{opacity:0;visibility:hidden;pointer-events:none}

/* Companion 2.9.0 — mobile floating action card.
 * Keep the mascot visible and anchor the card above it, matching the proven
 * pre-bottom-sheet interaction. The panel stays outside document flow. */
@media(max-width:782px){
.mam-xanh-companion.is-open .mam-xanh-toggle,.mam-xanh-companion.is-open .mam-xanh-sprite{display:block!important;visibility:visible!important;opacity:1!important}
.mam-xanh-companion .mam-xanh-panel{position:absolute!important;left:auto!important;right:4px!important;bottom:calc(100% + 8px)!important;width:min(340px,calc(100vw - 40px))!important;min-width:0!important;max-width:none!important;max-height:min(58vh,var(--mx-panel-available-height));border-radius:18px;transform-origin:100% 100%}
.mam-xanh-companion.is-left .mam-xanh-panel{left:4px!important;right:auto!important;transform-origin:0 100%}
}
@media(max-width:390px){.mam-xanh-companion .mam-xanh-panel{width:calc(100vw - 40px)!important}}

