/* =========================================================
   Eagle - AI assistant (light + dark themes). Additive: only .eg-* and #eagle* selectors.
   ========================================================= */
.eg-fab,.eg-page{
  --eg-bg:#f7f8fa;--eg-surface:#fff;--eg-soft:#eef1f5;--eg-ink:#17202a;--eg-muted:#6a7584;--eg-line:#e1e5ea;
  --eg-accent:#234a73;--eg-accent-ink:#fff;--eg-user:#234a73;--eg-user-ink:#fff;--eg-bot:#fff;--eg-bot-ink:#17202a;
  --eg-code:#f1f3f6;--eg-gold:#c98a14;--eg-shadow:0 8px 28px rgba(21,32,43,.12);
}
.eg-page[data-theme="dark"]{
  --eg-bg:#0b0f14;--eg-surface:#121821;--eg-soft:#1a222d;--eg-ink:#e8edf3;--eg-muted:#8d99a8;--eg-line:#253040;
  --eg-accent:#e3a82f;--eg-accent-ink:#1b1305;--eg-user:#24344d;--eg-user-ink:#eef3fa;--eg-bot:#141b25;--eg-bot-ink:#e8edf3;
  --eg-code:#0a0e13;--eg-gold:#e3a82f;--eg-shadow:0 8px 28px rgba(0,0,0,.5);
}

/* ---------- floating button (Home only, bottom-left, above the tab bar) ---------- */
.eg-fab{
  position:fixed;z-index:70;left:16px;bottom:24px;display:none;align-items:center;gap:9px;
  height:50px;padding:0 18px 0 8px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(135deg,#142b45,#234a73);color:#fff;font:700 14px/1 Inter,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.1px;
  box-shadow:0 10px 26px rgba(20,43,69,.38),0 2px 6px rgba(20,43,69,.25),inset 0 1px 0 rgba(255,255,255,.18);
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease;
}
.eg-fab.on{display:inline-flex;animation:egFabIn .35s cubic-bezier(.34,1.56,.64,1)}
.eg-fab:active{transform:scale(.95)}
.eg-fab:hover{box-shadow:0 12px 30px rgba(20,43,69,.45),0 2px 6px rgba(20,43,69,.25),inset 0 1px 0 rgba(255,255,255,.18)}
.eg-fab:focus-visible{outline:2px solid #e3a82f;outline-offset:3px}
.eg-fab-ico{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#f1c15a;flex:none}
.eg-fab-ico svg{width:23px;height:23px;display:block}
@keyframes egFabIn{from{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}
@media (max-width:760px){.eg-fab{bottom:calc(88px + env(safe-area-inset-bottom,0px));left:14px}}
html.ef-typing .eg-fab,html.ef-lock .eg-fab{display:none!important}

/* ---------- drawer menu entry ---------- */
.drawer-nav button.eg-menu-btn{display:flex;align-items:center;gap:10px}
.eg-menu-ico{width:22px;height:22px;display:inline-grid;place-items:center;color:#c98a14}
.eg-menu-ico svg{width:20px;height:20px;display:block}
.eg-menu-tag{margin-left:auto;font-size:9px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:3px 7px;border-radius:99px;background:#fff4dc;color:#a36a00}

/* ---------- full-screen chat ---------- */
html.eg-lock,html.eg-lock body{overflow:hidden!important;overscroll-behavior:none}
.eg-page{
  position:fixed;left:0;top:0;width:100%;height:100dvh;z-index:240;display:none;flex-direction:column;
  background:var(--eg-bg);color:var(--eg-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  overscroll-behavior:none;touch-action:manipulation;
}
.eg-page.show{display:flex;animation:egPageIn .22s ease-out}
@keyframes egPageIn{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:none}}
.eg-shell{width:min(760px,100%);height:100%;margin:0 auto;display:flex;flex-direction:column;min-height:0;background:var(--eg-bg)}
@media(min-width:760px){.eg-shell{border-left:1px solid var(--eg-line);border-right:1px solid var(--eg-line)}.eg-page{background:var(--eg-soft)}.eg-page[data-theme="dark"]{background:#06090d}}

.eg-head{display:flex;align-items:center;gap:10px;flex:none;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;background:var(--eg-surface);border-bottom:1px solid var(--eg-line)}
.eg-iconbtn{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--eg-soft);color:var(--eg-ink);display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease,transform .15s ease}
.eg-iconbtn:active{transform:scale(.92)}
.eg-iconbtn svg{width:20px;height:20px;display:block;pointer-events:none}
.eg-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#142b45,#234a73);color:#f1c15a;box-shadow:0 0 0 2px var(--eg-gold)}
.eg-avatar svg{width:25px;height:25px;display:block}
.eg-title{min-width:0;flex:1;line-height:1.2}
.eg-title b{display:block;font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:600;letter-spacing:-.2px}
.eg-title span{display:block;font-size:11px;color:var(--eg-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eg-title span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#2fa36b;margin-right:6px;vertical-align:1px}
.eg-sound .eg-vol-off{display:none}
.eg-sound.off .eg-vol-on{display:none}
.eg-sound.off .eg-vol-off{display:block}
.eg-sound.off{color:var(--eg-muted)}
.eg-theme .eg-sun{display:none}
.eg-page[data-theme="dark"] .eg-theme .eg-sun{display:block}
.eg-page[data-theme="dark"] .eg-theme .eg-moon{display:none}

.eg-msgs{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 14px 8px;display:flex;flex-direction:column;gap:12px;scroll-behavior:auto}
.eg-row{display:flex;gap:8px;align-items:flex-end;max-width:100%;animation:egMsgIn .22s ease-out}
.eg-row.me{justify-content:flex-end}
@keyframes egMsgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.eg-mini{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#142b45,#234a73);color:#f1c15a}
.eg-mini svg{width:17px;height:17px;display:block}
.eg-bubble{max-width:min(86%,560px);padding:10px 13px;border-radius:18px;font-size:15px;line-height:1.55;word-wrap:break-word;overflow-wrap:anywhere;min-width:0}
.eg-row.me .eg-bubble{background:var(--eg-user);color:var(--eg-user-ink);border-bottom-right-radius:6px;white-space:pre-wrap}
.eg-row.bot .eg-bubble{background:var(--eg-bot);color:var(--eg-bot-ink);border:1px solid var(--eg-line);border-bottom-left-radius:6px}
.eg-row.err .eg-bubble{border-color:#d46a6a;color:var(--eg-ink)}
.eg-bubble p{margin:0 0 .6em}.eg-bubble p:last-child{margin-bottom:0}
.eg-bubble h4{margin:.7em 0 .35em;font-size:15px;font-weight:800}.eg-bubble h4:first-child{margin-top:0}
.eg-bubble ul,.eg-bubble ol{margin:.2em 0 .6em;padding-left:1.25em}.eg-bubble li{margin:.18em 0}
.eg-bubble code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--eg-code);border:1px solid var(--eg-line);padding:1px 5px;border-radius:6px}
.eg-bubble pre{margin:.5em 0;background:var(--eg-code);border:1px solid var(--eg-line);border-radius:12px;padding:11px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.eg-bubble pre code{background:none;border:0;padding:0;font-size:12.5px;line-height:1.55;white-space:pre}
.eg-bubble a{color:var(--eg-accent);text-decoration:underline;text-underline-offset:2px}
.eg-page:not([data-theme="dark"]) .eg-bubble a{color:#1d5fa8}
.eg-tools{display:flex;gap:6px;margin-top:8px}
.eg-tool{border:1px solid var(--eg-line);background:transparent;color:var(--eg-muted);border-radius:99px;padding:4px 10px;font-size:11px;font-weight:650;cursor:pointer}
.eg-tool:active{background:var(--eg-soft)}
.eg-retry{margin-top:8px;border:0;background:var(--eg-accent);color:var(--eg-accent-ink);border-radius:99px;padding:7px 14px;font-size:12px;font-weight:750;cursor:pointer}

.eg-typing .eg-bubble{display:flex;gap:5px;align-items:center;padding:14px 15px}
.eg-typing i{width:7px;height:7px;border-radius:50%;background:var(--eg-muted);animation:egDot 1.1s infinite ease-in-out}
.eg-typing i:nth-child(2){animation-delay:.16s}.eg-typing i:nth-child(3){animation-delay:.32s}
@keyframes egDot{0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-5px);opacity:1}}

.eg-welcome{margin:auto 0;padding:10px 4px 4px;text-align:center;animation:egMsgIn .3s ease-out}
.eg-welcome .eg-big{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#142b45,#234a73);color:#f1c15a;box-shadow:0 0 0 3px var(--eg-gold),var(--eg-shadow)}
.eg-welcome .eg-big svg{width:48px;height:48px;display:block}
.eg-welcome h2{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:26px;letter-spacing:-.5px}
.eg-welcome p{color:var(--eg-muted);font-size:14px;max-width:360px;margin:8px auto 18px;line-height:1.65}
.eg-chips{display:grid;gap:8px;max-width:420px;margin:0 auto;text-align:left}
.eg-chip{border:1px solid var(--eg-line);background:var(--eg-surface);color:var(--eg-ink);border-radius:14px;padding:12px 14px;font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;line-height:1.35;transition:border-color .15s ease,transform .15s ease}
.eg-chip:hover{border-color:var(--eg-accent)}.eg-chip:active{transform:scale(.985)}

.eg-composer{flex:none;display:flex;align-items:flex-end;gap:9px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--eg-surface);border-top:1px solid var(--eg-line)}
.eg-input{flex:1;min-width:0;resize:none;border:1px solid var(--eg-line);background:var(--eg-soft);color:var(--eg-ink);border-radius:22px;padding:11px 16px;font:inherit;font-size:16px;line-height:1.4;max-height:130px;outline:none;transition:border-color .15s ease}
.eg-input::placeholder{color:var(--eg-muted)}
.eg-input:focus{border-color:var(--eg-accent)}
.eg-send{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--eg-accent);color:var(--eg-accent-ink);display:grid;place-items:center;cursor:pointer;transition:opacity .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}
.eg-send svg{width:20px;height:20px;display:block;pointer-events:none}
.eg-send:disabled{opacity:.4;cursor:default}
.eg-send:not(:disabled):active{transform:scale(.92)}
.eg-foot{flex:none;text-align:center;font-size:10.5px;color:var(--eg-muted);padding:0 12px 6px;background:var(--eg-surface)}

@media (prefers-reduced-motion:reduce){.eg-page.show,.eg-row,.eg-fab.on,.eg-welcome{animation:none}.eg-typing i{animation:none;opacity:.7}}
