/* AskGenie — uses the site's colour tokens */
.ag-root{position:relative;z-index:90}
.ag-fab{position:fixed;right:max(20px,calc(env(safe-area-inset-right,0px) + 16px));bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 16px));z-index:91;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--sage-ink) 60%,transparent);background:var(--sage);color:#141832;font-family:var(--f-serif);font-size:1rem;font-weight:500;cursor:grab;touch-action:none;user-select:none;box-shadow:0 12px 28px -12px rgba(5,6,20,.75);transition:background .2s,box-shadow .2s}
.ag-fab:hover{background:var(--sage-ink)}
.ag-fab.ag-drag{cursor:grabbing;box-shadow:0 18px 36px -12px rgba(5,6,20,.9)}
.ag-fab.ag-on{background:var(--sage-ink)}
.ag-fab:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.ag-panel{position:fixed;z-index:92;display:flex;flex-direction:column;background:var(--paper-3);color:var(--ink);border:1px solid var(--rule);border-radius:14px;box-shadow:0 24px 60px -20px rgba(5,6,20,.85);overflow:hidden;max-height:min(560px,calc(100vh - 20px))}
.ag-panel[hidden]{display:none}
.ag-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 14px 12px 18px;border-bottom:1px solid var(--rule);background:var(--paper-2)}
.ag-head b{display:block;font-size:1.15rem;font-weight:500}
.ag-head span{display:block;font-size:.86rem;color:var(--ink-2)}
.ag-x{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--rule);background:transparent;color:var(--ink-2);cursor:pointer}
.ag-x:hover{color:var(--ink);border-color:var(--ink-2)}
.ag-body{flex:1;overflow:auto;padding:16px 18px;display:grid;gap:12px;align-content:start;font-size:.98rem;line-height:1.5}
.ag-hi{margin:0;color:var(--ink-2)}
.ag-sugs{display:flex;flex-wrap:wrap;gap:8px}
.ag-sug{font:inherit;font-size:.8rem;line-height:1.3;cursor:pointer;background:var(--field);color:var(--ink-2);border:1px solid var(--rule);border-radius:999px;padding:5px 10px;text-align:left}
.ag-sug:hover{color:var(--ink)}
.ag-sug:hover{border-color:var(--sage-ink)}
.ag-you{margin:0;justify-self:end;max-width:85%;background:var(--sage-soft);border:1px solid color-mix(in srgb,var(--sage-ink) 40%,transparent);border-radius:10px;padding:8px 12px}
.ag-wait{margin:0;color:var(--ink-2);font-style:italic}
.ag-ans{display:grid;gap:10px}
.ag-ans p{margin:0;color:var(--ink-2)}
.ag-ans mark{background:color-mix(in srgb,var(--sage) 35%,transparent);color:var(--ink);border-radius:3px;padding:0 2px}
.ag-from,.ag-more{font-family:var(--f-mono);font-size:.68rem!important;letter-spacing:.05em;text-transform:uppercase;color:var(--sage-ink)!important}
.ag-links{display:grid;gap:6px}
.ag-link{display:grid;gap:2px;text-decoration:none;color:var(--ink);background:var(--field);border:1px solid var(--rule);border-radius:8px;padding:9px 12px}
.ag-link b{font-weight:500}
.ag-link span{font-size:.8rem;color:var(--ink-2)}
.ag-link:hover{border-color:var(--sage-ink)}
.ag-link.ag-main{border-color:color-mix(in srgb,var(--sage-ink) 55%,transparent)}
.ag-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--rule);background:var(--paper-2)}
.ag-q{flex:1;min-width:0;font:inherit;font-size:1rem;color:var(--ink);background:var(--field);border:1px solid var(--rule);border-radius:8px;padding:10px 12px}
.ag-q:focus{outline:none;border-color:var(--sage-ink);box-shadow:0 0 0 3px var(--sage-soft)}
.ag-go{font:inherit;font-weight:500;cursor:pointer;background:var(--sage);color:#141832;border:0;border-radius:8px;padding:0 16px}
.ag-go:hover{background:var(--sage-ink)}
.ag-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:520px){.ag-fab{padding:11px 13px;font-size:.95rem}}
@media (prefers-reduced-motion:reduce){.ag-fab{transition:none}}

/* answers lead; related links and questions sit smaller underneath */
.ag-ans .ag-a{color:var(--ink)}
.ag-small{gap:4px}
.ag-small .ag-link{padding:6px 10px}
.ag-small .ag-link b{font-size:.84rem}
.ag-small .ag-link span{font-size:.72rem}
.ag-ans .ag-sugs{gap:6px}
