/* ai module: chat pill + panel (all pages), brief audio card, fear/greed gauge */
/* pill sits above the IG floating button (desktop) / above the IG bar (phones) */
.ai-fab{position:fixed;z-index:41;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));
  display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 13px;border:1px solid rgb(var(--gold-hi-rgb) / .45);border-radius:21px;cursor:pointer;
  background:var(--panel-grad);color:var(--gold-hi);font:600 0.875rem var(--f-body);box-shadow:0 10px 30px rgb(var(--shade) / .45);transition:transform .2s,border-color .2s}
.ai-fab:hover{transform:translateY(-2px);border-color:var(--gold-hi)}
.ai-fab:focus-visible,.ai-panel :focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}
.ai-spark{font-size:0.9375rem;line-height:1;color:var(--gold-hi)}
#intro:not([hidden])~.ai-fab,body.ai-open .ai-fab{display:none}
@media (max-width:720px){.ai-fab{bottom:calc(64px + env(safe-area-inset-bottom,0px));right:12px}}

.ai-panel{position:fixed;z-index:60;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));
  width:min(400px,calc(100vw - 32px));height:min(620px,calc(100dvh - 32px));display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 30px 80px rgb(var(--shade) / .6);overflow:hidden;color:var(--fg)}
.ai-panel[hidden]{display:none}
@media (max-width:560px){.ai-panel{left:8px;right:8px;width:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));height:calc(100dvh - 16px - env(safe-area-inset-bottom,0px))}}
.ai-head{display:flex;align-items:center;gap:10px;padding:12px 10px 12px 16px;border-bottom:1px solid var(--line);background:var(--navy)}
.ai-head div{flex:1;min-width:0;display:grid}
.ai-head b{font:700 0.9375rem var(--f-disp)}
.ai-head small{color:var(--muted);font-size:0.75rem}
.ai-x{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--muted);font:400 1.625rem/1 var(--f-body);cursor:pointer}
.ai-x:hover{color:var(--fg);background:var(--line)}
.ai-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.ai-msg{max-width:88%;padding:10px 12px;border-radius:10px;font-size:0.9062rem;line-height:1.65;overflow-wrap:anywhere}
.ai-msg p{margin:0}
.ai-a{align-self:flex-start;background:var(--navy);border:1px solid var(--line);border-bottom-left-radius:3px}
.ai-u{align-self:flex-end;background:rgb(var(--gold-rgb) / .14);border:1px solid rgb(var(--gold-rgb) / .35);border-bottom-right-radius:3px}
.ai-err{border-color:rgb(var(--down-rgb) / .5);color:var(--down-fg)}
.ai-shot{display:block;max-width:100%;max-height:160px;border-radius:6px;margin-bottom:4px}
.ai-ref{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 3px;margin-left:2px;border-radius:9px;background:rgb(var(--gold-rgb) / .18);color:var(--gold-hi);font:600 0.6562rem var(--f-mono);text-decoration:none;vertical-align:super;line-height:1}
.ai-src{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:0.75rem;color:var(--muted)}
.ai-src>span:first-child{color:var(--dim);width:100%}
.ai-src a{color:var(--gold)}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ai-chips button,.ai-clear{padding:5px 11px;border:1px solid var(--line-2);border-radius:16px;background:transparent;color:var(--muted);font:500 0.8125rem var(--f-body);cursor:pointer}
.ai-chips button:hover,.ai-clear:hover{border-color:var(--gold);color:var(--gold-hi)}
.ai-dots{display:inline-flex;gap:4px;padding:4px 0}
.ai-dots i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:ai-b 1s infinite}
.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}
@keyframes ai-b{0%,80%,100%{opacity:.25}40%{opacity:1}}
.ai-tools{display:flex;align-items:center;gap:8px;padding:8px 12px 0;flex-wrap:wrap}
.ai-up{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid rgb(var(--gold-rgb) / .5);border-radius:16px;color:var(--gold-hi);font:600 0.8125rem var(--f-body);cursor:pointer}
.ai-up:hover{background:rgb(var(--gold-rgb) / .1)}
.ai-up:focus-within{outline:2px solid var(--gold-hi);outline-offset:2px}
.ai-left{margin-left:auto;color:var(--dim);font-size:0.75rem}
.ai-form{display:flex;align-items:flex-end;gap:8px;padding:8px 12px}
.ai-form textarea{flex:1;min-width:0;resize:none;max-height:120px;padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--ink);color:var(--fg);font:400 0.9375rem/1.5 var(--f-body)}
.ai-form textarea:focus{outline:none;border-color:var(--gold)}
.ai-send{flex:none;width:42px;height:42px;border:0;border-radius:50%;background:var(--grad-gold);color:#1a1205;font-size:1rem;cursor:pointer}
.ai-foot{margin:0;padding:0 12px 10px;color:var(--dim);font-size:0.7188rem;line-height:1.5}
.ai-foot a{color:var(--gold)}

/* cards on market + home */
.ai-sec{padding-block:clamp(28px,4vw,48px) 0}
#ai-fg{padding-bottom:clamp(8px,2vw,24px)}
#ai-fg .sec-head{margin-bottom:24px}
#ai-fg .sec-head h2{font-size:clamp(1.5rem,3vw,2.125rem)}
#ai-fg .sec-head p{font-size:0.9375rem}
.ai-card{background:var(--navy);border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}
.ai-card h3{font-size:1rem;margin-bottom:12px}
.ai-note{margin:12px 0 0;color:var(--dim);font-size:0.7812rem;line-height:1.6}
.ai-brief{display:grid;gap:12px}
.ai-brief-h{display:flex;align-items:center;gap:12px}
.ai-brief-h div{display:grid}
.ai-brief-h b{font:700 1.0625rem var(--f-disp)}
.ai-brief-h small{color:var(--muted);font:500 0.7812rem var(--f-mono)}
.ai-sun{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:rgb(var(--gold-rgb) / .14);color:var(--gold-hi);font-size:1.25rem}
.ai-brief audio{width:100%;height:40px;color-scheme:dark}
.ai-brief details summary,.ai-how summary{cursor:pointer;color:var(--gold);font-size:0.875rem;width:max-content;max-width:100%}
.ai-brief-t{margin:10px 0 0;color:var(--muted);font-size:0.9375rem;line-height:1.75;white-space:pre-line}
.ai-fg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.ai-fg-main{display:grid;justify-items:center;text-align:center}
.ai-gauge{width:100%;max-width:260px;height:auto}
.ai-fg-v{font:700 2.75rem/1 var(--f-mono);margin-top:-6px}
.ai-fg-l{font:700 1.125rem var(--f-disp);margin-top:6px}
.ai-fg-scale{display:flex;justify-content:space-between;width:100%;color:var(--dim);font-size:0.75rem;margin-top:6px}
.ai-parts{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ai-parts li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:0.8438rem}
.ai-parts small{color:var(--muted);font:500 0.75rem var(--f-mono)}
.ai-bar{display:block;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.ai-bar i{display:block;height:100%;border-radius:3px}
.ai-parts b{font:600 0.8125rem var(--f-mono);min-width:2.2em;text-align:right}
.ai-spark-l{display:block;width:100%;height:70px}
.ai-how{margin-top:14px}
.ai-how ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:0.8125rem;line-height:1.65}
@media (max-width:960px){.ai-fg{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ai-fg>.ai-card:last-child{grid-column:1/-1}}
@media (max-width:640px){.ai-fg{grid-template-columns:minmax(0,1fr)}}

/* home: compact row under the live strip */
.ai-mini{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;margin-top:16px;align-items:start}
.ai-brief-mini{padding:12px 14px;gap:8px}
.ai-brief-mini .ai-brief-h b{font-size:0.9375rem}
.ai-brief-mini .ai-sun{width:32px;height:32px;font-size:1rem}
.ai-mini-fg{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--fg);padding:12px 14px}
.ai-mini-fg:hover{border-color:var(--line-2)}
.ai-mini-fg .ai-gauge{width:96px;flex:none}
.ai-mini-fg>span{display:grid;gap:2px}
.ai-mini-fg small{color:var(--muted);font-size:0.7812rem}
.ai-mini-fg b{font:700 1.625rem/1.1 var(--f-mono)}
@media (max-width:720px){.ai-mini{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.ai-fab{transition:none}.ai-fab:hover{transform:none}.ai-dots i{animation:none;opacity:.7}}
/* resets against page-level rules (pages.css section padding, home FAQ details/summary) */
.ai-panel{padding:0;scroll-margin:0}
#ai-fg{padding-top:0}
.ai-card details{border:0}
.ai-card summary{display:list-item;list-style:revert;padding:0;font-weight:500;font-size:0.875rem;justify-content:normal}
.ai-card summary::after{content:none}
.ai-card summary::-webkit-details-marker{display:revert}
.ai-card details p{margin:10px 0 0;max-width:none}
