.ai-coach-root{--coach-ink:#33443f;--coach-muted:#76817b;--coach-line:#e7e8e2;--coach-paper:#fcfbf7;font-family:inherit;color:var(--coach-ink)}
.ai-coach-root *{box-sizing:border-box}.ai-coach-root button,.ai-coach-root textarea{font:inherit}
.ai-coach-toggle{position:fixed;right:26px;bottom:25px;z-index:140;border:1px solid #dce0d9;border-radius:999px;background:var(--coach-paper);color:var(--coach-ink);display:flex;gap:8px;align-items:center;padding:12px 18px;box-shadow:0 8px 30px #2c3d3510;cursor:pointer;font-size:13px;font-weight:600}
.ai-coach-toggle svg,.ai-coach-symbol svg{width:21px;height:21px}.ai-coach-toggle:hover{border-color:#97a79a;background:#f3f5ef}.ai-coach-toggle:focus-visible,.ai-coach-root button:focus-visible,.ai-coach-root a:focus-visible{outline:3px solid #9daf9b;outline-offset:3px}
.ai-coach-panel{position:fixed;right:26px;bottom:82px;z-index:141;width:min(430px,calc(100vw - 32px));max-height:min(690px,calc(100dvh - 115px));border:1px solid var(--coach-line);border-radius:23px;background:var(--coach-paper);box-shadow:0 22px 80px #25352f20;overflow:hidden;display:flex;flex-direction:column;animation:coach-appear .2s ease-out}
.ai-coach-header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:25px 25px 20px;border-bottom:1px solid var(--coach-line)}.ai-coach-eyebrow{font-size:9px;letter-spacing:2px;color:#829084}.ai-coach-header h2{font-size:20px;letter-spacing:-.4px;margin:7px 0}.ai-coach-header p{font-size:12px;line-height:1.5;color:var(--coach-muted);margin:0}.ai-coach-close{width:30px;height:30px;border:0;border-radius:50%;background:#eef0e9;color:#69766b;font-size:24px;line-height:1;cursor:pointer;flex-shrink:0}
.ai-coach-conversation{overflow:auto;min-height:140px;padding:23px 24px;scrollbar-width:thin;flex:1}.ai-coach-welcome{text-align:center;padding:19px 10px 27px}.ai-coach-symbol{width:46px;height:46px;display:grid;place-items:center;border:1px solid #dfe5db;border-radius:16px;color:#748871;margin:0 auto 17px;background:#f1f4ec}.ai-coach-welcome h3{font-size:16px;margin:0 0 10px;font-weight:500}.ai-coach-welcome p{font-size:12px;line-height:1.8;color:var(--coach-muted);max-width:270px;margin:0 auto}
.ai-coach-message{margin:0 0 21px}.ai-coach-message:last-child{margin-bottom:0}.ai-coach-speaker{font-size:10px;color:#839080;letter-spacing:.5px}.ai-coach-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;margin:6px 0 0}.ai-coach-message.is-user p{border-radius:13px 13px 3px 13px;padding:12px 15px;background:#eef2e9}.ai-coach-message.is-user{margin-left:24px}.ai-coach-message.is-user .ai-coach-speaker{display:block;text-align:right}
.ai-coach-wait{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--coach-muted);padding:10px 0}.ai-coach-wait i{width:4px;height:4px;border-radius:50%;background:#8b9b85;animation:coach-dot 1s ease-in-out infinite}.ai-coach-wait i:nth-child(2){animation-delay:.12s}.ai-coach-wait i:nth-child(3){animation-delay:.24s}.ai-coach-wait span{margin-left:8px}
.ai-coach-compose{padding:18px 24px 20px;border-top:1px solid var(--coach-line);margin:0}.ai-coach-input-label{font-size:11px;font-weight:500;display:block;margin-bottom:9px}.ai-coach-compose textarea{display:block;width:100%;resize:vertical;max-height:150px;min-height:76px;border:1px solid #dfe3d9;border-radius:12px;background:#fffefb;padding:11px 12px;font-size:12px;line-height:1.7;color:var(--coach-ink);outline:none}.ai-coach-compose textarea:focus{border-color:#99ac91;box-shadow:0 0 0 3px #99ac9114}.ai-coach-compose textarea::placeholder{color:#a2a8a0}.ai-coach-consent{font-size:11px;display:flex!important;gap:7px;align-items:center;margin:12px 0 0;line-height:1.5}.ai-coach-consent input{width:13px;height:13px;margin:0;accent-color:#70836b;flex-shrink:0}.ai-coach-privacy{font-size:10px;line-height:1.7;color:#8b9488;margin:12px 0}.ai-coach-compose footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.ai-coach-limit{font-size:10px;color:#929a90}.ai-coach-send{border:0;border-radius:999px;background:#465b4d;color:#fff;padding:9px 17px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:12px}.ai-coach-send span{font-size:16px}.ai-coach-root button:disabled{opacity:.5;cursor:wait}.ai-coach-error{font-size:11px;line-height:1.7;color:#a25b4b;background:#fbf2ed;padding:9px 11px;border-radius:9px;overflow-wrap:anywhere}.ai-coach-unavailable{padding:20px 25px;font-size:12px;background:#f3f4ed;border-top:1px solid var(--coach-line)}.ai-coach-unavailable strong{font-weight:500}.ai-coach-unavailable p{line-height:1.8;color:var(--coach-muted)}.ai-coach-unavailable a{color:#52694f;text-underline-offset:4px}
@keyframes coach-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes coach-dot{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media(max-width:600px){.ai-coach-toggle{right:17px;bottom:18px;padding:10px 14px;font-size:12px}.ai-coach-panel{right:16px;bottom:71px;max-height:calc(100dvh - 96px);border-radius:19px}.ai-coach-header{padding:20px}.ai-coach-conversation{padding:20px}.ai-coach-compose{padding:16px 20px}.ai-coach-header h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ai-coach-panel,.ai-coach-wait i{animation:none}}
