/* Guides assistant panel (js/guides-ask.js). Tokens only, so it follows light and dark. */
.ga{position:fixed;inset:0;z-index:300}
.ga[hidden]{display:none}
.ga-scrim{position:absolute;inset:0;background:rgba(10,8,7,.6)}
html[data-theme="light"] .ga-scrim{background:rgba(25,24,25,.3)}
.ga-box{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);display:flex;flex-direction:column;
  background:var(--bg);border-left:1px solid var(--border-2);color:var(--text)}
.ga-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 16px;border-bottom:1px solid var(--border)}
.ga-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:4px}
.ga-head h2{font-family:var(--font-head);font-weight:700;text-transform:uppercase;font-size:26px;line-height:1;margin:0}
.ga-acts{display:flex;gap:6px}
.ga-new,.ga-x{font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;color:var(--muted);background:none;border:1px solid var(--border-2);min-height:34px;padding:0 10px}
.ga-x{font-size:20px;line-height:1;width:34px;padding:0}
.ga-new:hover,.ga-x:hover{color:var(--text);border-color:var(--accent)}
.ga-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px;display:flex;flex-direction:column;gap:14px}
.ga-empty p{color:var(--muted);font-size:15px;line-height:22px;margin:0 0 14px}
.ga-starters{display:flex;flex-direction:column;gap:8px}
.ga-starters button{font:inherit;font-size:14px;line-height:20px;text-align:left;cursor:pointer;color:var(--text);
  background:var(--card);border:1px solid var(--border-2);padding:10px 12px}
.ga-starters button:hover{border-color:var(--accent)}
.ga-m{font-size:15px;line-height:23px}
.ga-m p{margin:0 0 10px}
.ga-m p:last-child,.ga-m ul:last-child{margin-bottom:0}
.ga-m ul{margin:0 0 10px;padding-left:18px}
.ga-m li{margin:0 0 4px}
.ga-m a{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.ga-m b{font-weight:500;color:var(--text)}
.ga-u{align-self:flex-end;max-width:85%;background:var(--card);border:1px solid var(--border-2);padding:10px 12px}
.ga-a{color:var(--muted);border-left:2px solid var(--accent);padding-left:12px}
.ga-a.is-err{border-left-color:var(--border-2);color:var(--muted-2)}
.ga-dots{display:flex;gap:5px;height:23px;align-items:center}
.ga-dots span{width:6px;height:6px;background:var(--muted-2);animation:ga-blink 1s infinite}
.ga-dots span:nth-child(2){animation-delay:.15s}.ga-dots span:nth-child(3){animation-delay:.3s}
@keyframes ga-blink{0%,100%{opacity:.25}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ga-dots span{animation:none}}
.ga-form{display:flex;gap:8px;padding:14px 22px 10px;border-top:1px solid var(--border)}
.ga-form textarea{flex:1;resize:none;font:inherit;font-size:15px;line-height:21px;color:var(--text);
  background:var(--card);border:1px solid var(--border-2);padding:9px 11px;min-height:44px}
.ga-form textarea:focus{outline:none;border-color:var(--accent)}
.ga-send{align-self:stretch}
.ga-send:disabled{opacity:.5;cursor:wait}
.ga-note{padding:0 22px 16px;margin:0;font-size:12px;line-height:17px;color:var(--muted-2)}
.ga-note a{color:var(--muted)}
.ga-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html.ga-open,html.ga-open body{overflow:hidden}
@media (max-width:620px){.ga-head,.ga-log,.ga-form{padding-left:16px;padding-right:16px}.ga-note{padding:0 16px 14px}}

/* Triggers */
.gd-ask-btn{display:flex;align-items:center;gap:10px;width:100%;cursor:pointer;font:inherit;font-size:14px;line-height:20px;
  text-align:left;padding:9px 12px;margin:0 0 16px;color:var(--text);background:none;border:1px solid var(--accent)}
.gd-ask-btn:hover{background:var(--accent-bg)}
.gd-ask-btn .gd-ico{width:16px;height:16px;flex:none}
.gd-hub-head .gd-ask-btn{display:inline-flex;width:auto;margin:12px 0 0;padding:11px 16px;font-size:15px}

/* Floating button, bottom right. First Light in both themes, ink text on it. */
/* Inside the page frame: same edge maths as the frame's own margins (styles.css). */
.ga-fab{position:fixed;right:calc(max(var(--gutter,64px),(100vw - var(--frame-max,1400px)) / 2) + var(--pad,40px));bottom:24px;z-index:250;display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  font:inherit;font-size:15px;line-height:20px;font-weight:500;padding:13px 18px;min-height:48px;
  background:var(--to-first-light);color:var(--to-ink);border:1px solid var(--to-first-light);
  box-shadow:0 8px 28px rgba(0,0,0,.35);transition:transform .15s}
.ga-fab:hover{transform:translateY(-2px)}
.ga-fab:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.ga-fab svg{width:20px;height:20px;flex:none}
html[data-theme="light"] .ga-fab{border-color:var(--to-ink);box-shadow:0 8px 24px rgba(25,24,25,.18)}
html.ga-open .ga-fab{display:none}
@media (max-width:620px){.ga-fab{right:calc(var(--gutter,0px) + var(--pad,20px));bottom:16px;padding:0;width:52px;height:52px;justify-content:center}.ga-fab span{display:none}}
@media print{.ga-fab,.ga{display:none!important}}

/* Typing caret while an answer streams in */
.ga-caret{display:inline-block;width:.5em;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--accent);animation:ga-caret 1s steps(1) infinite}
@keyframes ga-caret{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.ga-caret{animation:none}}
