/* Mic — AJ's speaking guide. Intentionally self-contained to preserve site styling. */
#mic-widget{--mic-forest:#122d24;--mic-leaf:#315b46;--mic-cream:#f7f4ec;--mic-lime:#d9e6bf;--mic-line:#d9e1d7;color:#172b21;font:inherit;position:fixed;z-index:800;right:22px;bottom:22px;pointer-events:none;max-width:calc(100vw - 24px)}
#mic-widget *{box-sizing:border-box}
#mic-widget button,#mic-widget input{font:inherit}
#mic-widget a{text-decoration:underline;text-underline-offset:3px}
#mic-widget .mic-toggle{pointer-events:auto;margin-left:auto;display:flex;align-items:center;justify-content:center;gap:10px;min-height:55px;padding:0 19px;background:var(--mic-forest);color:white;border:1px solid #6c967c;border-radius:999px;font-weight:780;font-size:.9rem;box-shadow:0 11px 28px rgba(6,25,18,.3);cursor:pointer;transition:transform .18s,box-shadow .18s}
#mic-widget .mic-toggle:hover{transform:translateY(-3px);box-shadow:0 16px 33px rgba(6,25,18,.3)}
#mic-widget .mic-toggle:focus-visible,#mic-widget .mic-close:focus-visible,#mic-widget .mic-send:focus-visible,#mic-widget .mic-prompt:focus-visible{outline:3px solid #bb8b65;outline-offset:3px}
#mic-widget .mic-emoji{display:inline-grid;place-items:center;background:#d9e6bf;color:#173d2e;width:30px;height:30px;border-radius:50%;font-weight:850;font-size:1.05rem}
#mic-widget .mic-panel{pointer-events:auto;width:min(402px,calc(100vw - 24px));height:min(625px,calc(100dvh - 110px));margin-bottom:14px;background:#fbfaf5;border:1px solid #d2ded2;border-radius:17px;display:flex;flex-direction:column;box-shadow:0 24px 65px rgba(7,27,19,.27);overflow:hidden}
#mic-widget .mic-panel[hidden]{display:none!important}
#mic-widget .mic-head{background:var(--mic-forest);color:white;display:flex;align-items:center;gap:11px;padding:17px 17px 15px}
#mic-widget .mic-avatar{width:38px;height:38px;background:#e0e9cf;color:#133727;border-radius:50%;display:grid;place-items:center;font:700 1.5rem Georgia,serif}
#mic-widget .mic-title{flex:1;min-width:0;line-height:1.18}
#mic-widget .mic-title strong{display:block;font-size:1.05rem;letter-spacing:-.025em}
#mic-widget .mic-title small{color:#c8d7ca;font-size:.75rem}
#mic-widget .mic-close{border:1px solid #6a8b78;color:#fff;background:transparent;border-radius:6px;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;font-size:1.28rem}
#mic-widget .mic-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:17px;display:flex;flex-direction:column;gap:13px;scroll-behavior:smooth}
#mic-widget .mic-bubble{max-width:91%;font-size:.88rem;line-height:1.52;padding:11px 13px;border-radius:12px;white-space:pre-line;overflow-wrap:anywhere}
#mic-widget .mic-bubble.bot{align-self:flex-start;background:#e9eee4;border-radius:12px 12px 12px 3px;color:#183124}
#mic-widget .mic-bubble.user{align-self:flex-end;background:#234635;color:white;border-radius:12px 12px 3px 12px}
#mic-widget .mic-link-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
#mic-widget .mic-link{display:inline-flex;align-items:center;gap:5px;border-radius:5px;background:#e0e8d5;color:#1f4d33;border:1px solid #c1d3bc;padding:7px 9px;font-weight:700;font-size:.8rem;text-decoration:none}
#mic-widget .mic-link:hover{background:#d5e3c8}
#mic-widget .mic-suggestions{padding:0 16px 10px;display:flex;gap:7px;flex-wrap:wrap;background:#fbfaf5}
#mic-widget .mic-prompt{border:1px solid #c8d9c5;background:#fff;color:#26533c;padding:7px 10px;font-size:.76rem;border-radius:999px;cursor:pointer}
#mic-widget .mic-prompt:hover{background:#e9f0e4}
#mic-widget .mic-form{padding:10px 12px;display:flex;gap:8px;background:#f2f3e9;border-top:1px solid var(--mic-line)}
#mic-widget .mic-input{flex:1;min-width:0;background:#fff;border:1px solid #c8d7c6;border-radius:8px;padding:11px;color:#142a20;font-size:.86rem}
#mic-widget .mic-input:focus-visible{outline:2px solid #748e77;outline-offset:1px}
#mic-widget .mic-send{min-width:62px;border:0;background:var(--mic-forest);color:#fff;border-radius:8px;font-size:.84rem;font-weight:750;cursor:pointer}
#mic-widget .mic-foot{font-size:.66rem;line-height:1.42;padding:5px 14px 10px;color:#53685a;background:#f2f3e9}
@media(max-width:540px){#mic-widget{right:12px;bottom:12px}#mic-widget .mic-panel{height:min(660px,calc(100dvh - 96px));margin-bottom:9px}#mic-widget .mic-toggle{min-height:53px}}
@media(prefers-reduced-motion:reduce){#mic-widget .mic-toggle,#mic-widget .mic-messages{transition:none;scroll-behavior:auto}}
