.ai-mascot-root{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:1200;font-family:inherit;color:var(--ink,#17202a)}
body.auth-locked .ai-mascot-root{display:none}
.ai-mascot-launcher{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:linear-gradient(135deg,#0c7c72,#145c8e);color:#fff;box-shadow:0 14px 38px rgba(13,65,86,.28);font:700 14px/1 inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.ai-mascot-launcher:hover{transform:translateY(-2px);box-shadow:0 17px 42px rgba(13,65,86,.34)}
.ai-mascot-launcher:focus-visible,.ai-mascot-panel button:focus-visible,.ai-mascot-panel textarea:focus-visible{outline:3px solid rgba(43,184,164,.4);outline-offset:2px}
.ai-mascot-face,.ai-mascot-avatar{display:grid;place-items:center;position:relative;flex:0 0 auto;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 50% 35%,#1a9bd0,#073c79 72%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.5),0 3px 10px rgba(5,42,76,.2)}
.ai-mascot-face{width:42px;height:42px}
.ai-mascot-avatar{width:44px;height:44px}
.ai-mascot-face img,.ai-mascot-avatar img{display:block;position:absolute;top:-10px;left:50%;width:205%;max-width:none;height:auto;transform:translateX(-50%);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2));pointer-events:none;user-select:none}
.ai-mascot-panel{position:absolute;right:0;bottom:64px;display:grid;grid-template-rows:auto auto minmax(150px,1fr) auto auto auto auto;width:min(440px,calc(100vw - 28px));height:min(650px,calc(100dvh - 105px));overflow:hidden;border:1px solid rgba(24,84,92,.18);border-radius:22px;background:var(--panel,#fff);box-shadow:0 24px 70px rgba(12,40,54,.28);opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.ai-mascot-root.is-open .ai-mascot-panel{opacity:1;visibility:visible;transform:none}
.ai-mascot-root.is-open .ai-mascot-launcher-label{display:none}
.ai-mascot-header{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;background:linear-gradient(135deg,rgba(22,151,137,.13),rgba(37,112,164,.1));border-bottom:1px solid var(--line,rgba(24,84,92,.13))}
.ai-mascot-header>div:nth-child(2){display:grid;gap:1px;min-width:0;margin-right:auto}
.ai-mascot-usage{font-size:10px;color:var(--muted,#64727a)}
.ai-mascot-header strong{font-size:16px}.ai-mascot-header small{font-size:12px;color:var(--muted,#64727a)}
.ai-mascot-clear,.ai-mascot-close{border:0;background:transparent;color:var(--muted,#64727a);cursor:pointer}
.ai-mascot-clear{padding:7px;font:700 12px/1 inherit}.ai-mascot-close{width:32px;height:32px;font:400 27px/1 system-ui}
.ai-mascot-controls{display:grid;grid-template-columns:1.1fr 1.35fr .55fr auto;gap:6px;align-items:end;padding:8px 10px;border-bottom:1px solid var(--line,rgba(24,84,92,.13));background:var(--panel,#fff)}
.ai-mascot-controls label{display:grid;gap:3px;color:var(--muted,#64727a);font-size:9px;font-weight:700}.ai-mascot-controls select{min-width:0;height:30px;border:1px solid var(--line,rgba(24,84,92,.18));border-radius:8px;background:var(--panel,#fff);color:inherit;padding:0 5px;font:600 10px/1 inherit}
.ai-mascot-control-actions{display:flex;gap:4px}.ai-mascot-review,.ai-mascot-profile{height:30px;border:1px solid var(--line,rgba(24,84,92,.18));border-radius:8px;background:transparent;color:var(--muted,#64727a);padding:0 7px;font:700 10px/1 inherit;cursor:pointer}.ai-mascot-review.has-due{border-color:#d88d22;background:#fff5df;color:#8a5700}
.ai-mascot-messages{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:16px;background:linear-gradient(180deg,rgba(241,249,247,.55),transparent 35%)}
.ai-mascot-message{display:grid;gap:4px;max-width:88%;font-size:14px;line-height:1.5}
.ai-mascot-message small{padding:0 4px;color:var(--muted,#64727a);font-size:11px;font-weight:700}
.ai-mascot-message>div{padding:10px 12px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-mascot-message.is-mascot{align-self:flex-start}.ai-mascot-message.is-mascot>div{border:1px solid var(--line,rgba(24,84,92,.13));border-bottom-left-radius:5px;background:var(--panel,#fff)}
.ai-mascot-message.is-user{align-self:flex-end}.ai-mascot-message.is-user small{text-align:right}.ai-mascot-message.is-user>div{border-bottom-right-radius:5px;background:#126f78;color:#fff}
.ai-mascot-reflection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px 12px;border-top:1px solid var(--line,rgba(24,84,92,.13))}.ai-mascot-reflection[hidden]{display:none}.ai-mascot-reflection small{grid-column:1/-1;color:var(--muted,#64727a);font-size:10px;font-weight:700}.ai-mascot-reflection button{border:1px solid var(--line,rgba(24,84,92,.18));border-radius:8px;background:transparent;color:inherit;padding:6px;font:600 10px/1.15 inherit;cursor:pointer}
.ai-mascot-status{display:none;padding:7px 16px 0;color:var(--muted,#64727a);font-size:12px}.ai-mascot-status.is-active{display:block}.ai-mascot-status.is-error{display:block;color:#b4233c}
.ai-mascot-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:12px 12px 7px}
.ai-mascot-form textarea{width:100%;max-height:110px;resize:none;border:1px solid var(--line,rgba(24,84,92,.18));border-radius:14px;background:var(--panel,#fff);color:inherit;padding:10px 12px;font:inherit;line-height:1.35}
.ai-mascot-form button{min-height:42px;border:0;border-radius:13px;background:#126f78;color:#fff;padding:0 15px;font:700 13px/1 inherit;cursor:pointer}.ai-mascot-form button:disabled{opacity:.55;cursor:wait}
.ai-mascot-disclaimer{margin:0;padding:0 14px 10px;text-align:center;color:var(--muted,#64727a);font-size:10px}
body.dark .ai-mascot-panel{background:#182325;border-color:rgba(255,255,255,.12);color:#eef7f5}body.dark .ai-mascot-messages{background:linear-gradient(180deg,rgba(31,77,74,.3),transparent 35%)}body.dark .ai-mascot-message.is-mascot>div,body.dark .ai-mascot-form textarea,body.dark .ai-mascot-controls,body.dark .ai-mascot-controls select{background:#202d30}
@media(max-width:600px){.ai-mascot-root{right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.ai-mascot-launcher-label{display:none}.ai-mascot-panel{position:fixed;inset:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));width:auto;height:auto;border-radius:20px;transform-origin:bottom center}.ai-mascot-controls{grid-template-columns:1fr 1fr .55fr}.ai-mascot-control-actions{grid-column:1/-1}.ai-mascot-root.is-open .ai-mascot-launcher{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.ai-mascot-launcher,.ai-mascot-panel{transition:none}}
