.mc-coda-companion{position:fixed;right:24px;bottom:24px;z-index:70;color:var(--mc-ink,#142b26);font-family:inherit;}
.mc-coda-companion[hidden],.mc-coda-companion [hidden]{display:none!important;}
.mc-coda-companion button,.mc-coda-companion input{font:inherit;box-sizing:border-box;}
.mc-coda-companion button{cursor:pointer;min-height:44px;border-radius:14px;padding:10px 14px;}
.mc-coda-companion__launcher{display:block;margin-left:auto;background:#bdeedc;color:#163e34;border:1px solid #6baf97;box-shadow:0 5px 20px #122a2525;font-weight:650;min-width:76px;}
.mc-coda-companion__launcher::before{content:'✦';margin-right:8px;}
.mc-coda-companion__panel{width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;margin-bottom:12px;padding:24px;border:1px solid var(--mc-line,#bbcec5);border-radius:26px;background:var(--mc-surface-elevated,#fff);box-shadow:0 20px 65px #061e2933;box-sizing:border-box;}
.mc-coda-companion header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;}
.mc-coda-companion__eyebrow{font-size:.65rem;letter-spacing:.12em;color:var(--mc-teal,#2d6b56);margin:0 0 9px;font-weight:700;}
.mc-coda-companion h2{font-size:1.5rem;letter-spacing:-.035em;line-height:1.15;margin:0;}
.mc-coda-companion__close{flex:0 0 44px;padding:0!important;font-size:1.4rem!important;background:transparent;border:0;color:inherit;}
.mc-coda-companion__intro{font-size:.9rem;line-height:1.5;margin:16px 0;}
.mc-coda-companion__privacy{color:var(--mc-ink-secondary,#4e665e);font-size:.75rem;line-height:1.5;margin:14px 0;}
.mc-coda-companion__choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;}
.mc-coda-companion__choice{background:var(--mc-surface,#f5faf7);border:1px solid var(--mc-line,#c1d1ca);color:inherit;font-size:.8rem!important;text-align:left;}
.mc-coda-companion__allow{background:#bdeedc;color:#163e34;border:1px solid #6baf97;font-weight:600;}
.mc-coda-companion form{margin-top:16px;display:grid;gap:10px;}
.mc-coda-companion label{font-size:.8rem;line-height:1.5;}
.mc-coda-companion input{display:block;width:100%;margin-top:8px;min-height:46px;padding:10px 12px;border:1px solid var(--mc-line,#bbcec5);border-radius:12px;background:var(--mc-surface,#fff);color:inherit;font-size:1rem;}
.mc-coda-companion__off{background:transparent;border:0;color:var(--mc-ink-secondary,#4e665e);padding-left:0!important;font-size:.75rem!important;}
.mc-coda-companion__how{margin-top:12px;color:var(--mc-ink-secondary,#4e665e);font-size:.75rem;}
.mc-coda-companion__how>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;}
.mc-coda-companion__how>summary::after{content:'+';margin-left:auto;}
.mc-coda-companion__how[open]>summary::after{content:'−';}
.mc-coda-companion__progress{margin-top:18px;padding:18px;border:1px solid var(--mc-line,#bbcec5);border-radius:18px;background:var(--mc-surface,#f5faf7);}
.mc-coda-companion__progress h3{font-size:1.1rem;line-height:1.3;letter-spacing:-.025em;margin:16px 0 10px;}
.mc-coda-companion__progress>p:not(.mc-coda-companion__eyebrow){font-size:.85rem;line-height:1.55;margin:0 0 16px;}
.mc-coda-companion__totals{border-bottom:1px solid var(--mc-line,#bbcec5);padding-bottom:10px;}
.mc-coda-companion__totals p{font-size:.75rem;line-height:1.5;color:var(--mc-ink-secondary,#4e665e);margin:4px 0;}
.mc-coda-companion__progress>.mc-coda-companion__allow{width:100%;}
.mc-coda-companion__progress .mc-coda-companion__how p{font-size:.75rem;line-height:1.5;margin:8px 0;}
.mc-coda-companion__status{font-size:.9rem;line-height:1.5;margin:14px 0 0;padding:12px 14px;border-left:3px solid #83bda8;border-radius:4px 12px 12px 4px;background:var(--mc-surface,#f5faf7);}
.mc-coda-companion__status:empty{display:none;}
.mc-coda-companion :is(button,input):focus-visible{outline:3px solid var(--mc-teal,#2d6b56);outline-offset:3px;}
.mc-coda-companion button:disabled{opacity:.6;cursor:wait;}
body.is-marketing .mc-coda-companion,body.is-privacy-locked .mc-coda-companion{display:none!important;}
@media(max-width:760px){.mc-coda-companion{right:16px;bottom:calc(94px + env(safe-area-inset-bottom,0px));}.mc-coda-companion__panel{max-height:calc(100dvh - 185px - env(safe-area-inset-bottom,0px));padding:20px;width:min(380px,calc(100vw - 32px));}.mc-coda-companion h2{font-size:1.35rem;}}
@media(max-width:360px){
 .app-shell .mc-home-calm > .mc-clarity{padding:16px;}
 .app-shell .mc-clarity .today-next__body{gap:8px;}
 .app-shell .mc-clarity .home-start-focus{width:96px;min-height:96px!important;padding:14px!important;}
 .app-shell .mc-clarity .today-next__context{margin-bottom:6px;}
 .app-shell .mc-clarity [data-next-copy]{font-size:.875rem;line-height:1.45;}
 .app-shell .mc-clarity .mc-next-step{font-size:.875rem;line-height:1.45;margin-top:12px;padding-top:12px;}
}
@media(forced-colors:active){.mc-coda-companion__panel,.mc-coda-companion button{background:Canvas;color:CanvasText;border:1px solid ButtonText;box-shadow:none;}}

/* Keep the greeting still for both account and device accessibility choices. */
:root:is([data-reduced-motion="true"],[data-personalize-motion="true"]) .mc-coda-companion,
:root:is([data-reduced-motion="true"],[data-personalize-motion="true"]) .mc-coda-companion *,
:root:is([data-reduced-motion="true"],[data-personalize-motion="true"]) .mc-coda-companion *::before,
:root:is([data-reduced-motion="true"],[data-personalize-motion="true"]) .mc-coda-companion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
@media(prefers-reduced-motion:reduce){.mc-coda-companion,.mc-coda-companion *,.mc-coda-companion *::before,.mc-coda-companion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* A small edge companion: animation stays inside its own touch target. */
.mc-coda-companion[data-living-coda]{bottom:24px;right:22px;isolation:isolate}
.mc-coda-companion[data-living-coda=hidden]{visibility:hidden;pointer-events:none}
.mc-coda-companion[data-coda-side=left]{left:22px;right:auto}
.mc-coda-companion[data-coda-side=left] .mc-coda-companion__launcher{margin-left:0;margin-right:auto}
.mc-coda-companion[data-living-coda] .mc-coda-companion__launcher{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:80px;min-width:44px;min-height:88px;padding:4px;border:0;background:transparent;color:var(--mc-ink,#142b26);box-shadow:none;font-size:11px;font-weight:650;line-height:1.2}
.mc-coda-companion[data-living-coda] .mc-coda-companion__launcher::before{display:none}
.mc-coda-companion[data-living-coda] .mc-coda-companion__portrait{display:block;width:72px;height:72px;object-fit:contain;border-radius:16px;filter:drop-shadow(0 8px 8px #30436624)!important;transform-origin:50% 80%}
.mc-coda-companion[data-living-coda=idle] .mc-coda-companion__portrait{animation:coda-living-hover 5.8s ease-in-out infinite}
.mc-coda-companion[data-living-coda=thinking] .mc-coda-companion__portrait{animation:coda-living-think 3.6s ease-in-out infinite}
.mc-coda-companion[data-living-coda=replying] .mc-coda-companion__portrait{animation:coda-living-reply 2.6s ease-in-out infinite}
.mc-coda-companion[data-living-coda=resting] .mc-coda-companion__portrait{animation:none!important;transform:none!important}
.mc-coda-companion[data-living-coda] .mc-coda-companion__launcher:hover .mc-coda-companion__portrait,.mc-coda-companion[data-living-coda] .mc-coda-companion__launcher:focus-visible .mc-coda-companion__portrait{animation-play-state:paused}
.mc-coda-companion__hint{position:absolute;right:88px;bottom:24px;max-width:180px;width:max-content;padding:9px 13px;border:1px solid var(--mc-line,#d6dce7);border-radius:15px;background:var(--mc-surface-elevated,#fff);box-shadow:0 4px 14px #13214312;font-size:12px;line-height:1.4;opacity:0;pointer-events:none}
.mc-coda-companion[data-coda-side=left] .mc-coda-companion__hint{right:auto;left:88px}
.mc-coda-companion:has(.mc-coda-companion__launcher:is(:hover,:focus-visible)[aria-expanded=false]) .mc-coda-companion__hint{opacity:1}
.mc-coda-companion[data-coda-editing=true] .mc-coda-companion__hint{display:none}
.mc-coda-companion[data-living-coda] .mc-coda-companion__panel{margin-bottom:4px}
@keyframes coda-living-hover{0%,100%{transform:translate(0,0) rotate(-1deg)}50%{transform:translate(-3px,-7px) rotate(1.5deg)}}
@keyframes coda-living-think{0%,100%{transform:translateY(-2px) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}
@keyframes coda-living-reply{0%,100%{transform:translateY(-2px) scale(1)}50%{transform:translateY(-5px) scale(1.025)}}
@media(max-width:760px){.mc-coda-companion[data-living-coda]{right:10px;bottom:calc(90px + env(safe-area-inset-bottom,0px))}.mc-coda-companion[data-coda-side=left]{left:10px;right:auto}.mc-coda-companion[data-living-coda] .mc-coda-companion__launcher{width:62px;min-height:72px}.mc-coda-companion[data-living-coda] .mc-coda-companion__portrait{width:56px;height:56px}.mc-coda-companion[data-coda-editing=true]{visibility:hidden;pointer-events:none}.mc-coda-companion__hint{right:68px}.mc-coda-companion[data-coda-side=left] .mc-coda-companion__hint{left:68px}}
@media(prefers-reduced-motion:reduce){.mc-coda-companion[data-living-coda] .mc-coda-companion__portrait{animation:none!important;transform:none!important}}

/* Leave scroll room so the edge companion never traps the last control. */
body:has(.mc-coda-companion:not([hidden])) #app-shell{padding-bottom:180px}
@media(min-width:1000px){body:has(.app-sidebar) .mc-coda-companion[data-coda-side=left]{left:230px}}
