/* Docta (Ask the archive) widget. Scoped with the cta- prefix; uses the site palette with fallbacks. */
.cta-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Docta avatar */
.cta-av{flex:none;display:inline-block;width:28px;height:28px;border-radius:50%;line-height:0}
.cta-av .cta-mark,.cta-tile .cta-mark{width:100%;height:100%;display:block}
.cta-av-h{width:32px;height:32px}

/* floating button: avatar + label, yellow ring on the avatar */
.cta-fab{position:fixed;min-height:44px;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;gap:9px;
  padding:7px 18px 7px 7px;border:0;border-radius:999px;background:var(--green,#006b45);color:#fff;font:600 .92rem/1.2 var(--sans,system-ui,sans-serif);letter-spacing:.005em;
  box-shadow:0 2px 6px #03291c26,0 10px 28px #03291c2e;cursor:pointer;transition:background .2s,transform .25s cubic-bezier(.2,.7,.2,1),opacity .2s}
.cta-av-f{width:30px;height:30px;box-shadow:0 0 0 2px var(--gold,#f2c230)}
.cta-fab:hover{background:var(--green-d,#04402b);transform:translateY(-1px)}
.cta-fab:focus-visible{outline:3px solid var(--green-d,#04402b);outline-offset:3px}
.cta-fab.cta-on{background:var(--green-d,#04402b)}
.cta-fab.cta-away{transform:translateY(calc(100% + 32px));opacity:0;pointer-events:none}
.cta-fab.cta-away:focus-visible{transform:none;opacity:1;pointer-events:auto}
@media(max-width:560px){.cta-fab{padding:7px 16px 7px 7px;font-size:.9rem;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}}
/* keep the floating button from covering the end of the page */
.cta-has-fab .foot{padding-bottom:76px}
@media print{.cta-fab,.cta-panel{display:none!important}}

.cta-box{font:15.5px/1.6 var(--sans,system-ui,sans-serif);color:var(--ink,#10201a)}
.cta-panel{position:fixed;z-index:61;right:max(18px,env(safe-area-inset-right));bottom:calc(max(18px,env(safe-area-inset-bottom)) + 60px);
  width:min(420px,calc(100vw - 36px));max-height:min(660px,calc(100vh - 110px));overflow:auto;overscroll-behavior:contain;
  background:var(--paper,#fff);border:1px solid var(--line,#e3e0d6);border-radius:var(--r,16px);box-shadow:0 2px 6px #10201a14,0 18px 50px #10201a29;padding:14px 16px 12px;
  animation:cta-in .18s cubic-bezier(.2,.7,.2,1)}
.cta-panel[hidden]{display:none}
@keyframes cta-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:560px){.cta-panel{left:0;right:0;bottom:0;width:auto;max-height:86vh;border-radius:18px 18px 0 0;border-width:1px 0 0;padding:12px 14px calc(10px + env(safe-area-inset-bottom))}}

.cta-head{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.cta-h{font:600 1.14rem/1.2 var(--serif,Georgia,serif);margin:0;flex:1;color:var(--ink,#10201a)}
.cta-full{font-size:.8rem;font-weight:600;color:var(--green,#006b45)}
.cta-x{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--mute,#55635c);cursor:pointer}
.cta-x:hover{background:var(--g1,#e7f1eb);color:var(--ink,#10201a)}
.cta-hello{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.cta-hello[hidden]{display:none}
.cta-intro{margin:0;color:var(--mute,#55635c);font-size:.9rem;line-height:1.45}

.cta-sugg{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.cta-sugg[hidden]{display:none}
.cta-chip{min-height:36px;border:1px solid var(--line,#e3e0d6);background:var(--bg,#fff);color:var(--green-d,#04402b);border-radius:18px;padding:7px 13px;font:500 .84rem/1.3 var(--sans,system-ui,sans-serif);cursor:pointer;text-align:left}
.cta-chip:hover{border-color:var(--green,#006b45);background:var(--g0,#f3f8f5)}
.cta-fchip{display:inline-flex;gap:7px;align-items:baseline}
.cta-fchip::before{content:"\2192";color:var(--gold-d,#c99a06);font-weight:700}

.cta-form{display:flex;gap:8px;align-items:flex-end;border:1.5px solid var(--line,#e3e0d6);border-radius:14px;padding:5px 5px 5px 12px;background:var(--bg,#fff);transition:border-color .15s}
.cta-form:focus-within{border-color:var(--green,#006b45);box-shadow:0 0 0 2px var(--green,#006b45)}
.cta-full:focus-visible,.cta-ans a:focus-visible,.cta-card:focus-visible{outline:3px solid var(--green-d,#04402b);outline-offset:2px;border-radius:6px}
.cta-q{flex:1;min-height:44px;max-height:140px;resize:none;border:0;outline:0;background:transparent;font:inherit;font-size:16px;line-height:1.45;padding:10px 0 8px;color:inherit}
.cta-send{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:10px;background:var(--green,#006b45);color:#fff;font:600 .88rem/1 var(--sans,system-ui,sans-serif);padding:11px 14px;cursor:pointer;min-height:44px}
.cta-send:hover{background:var(--green-d,#04402b)}.cta-send:disabled{opacity:.55;cursor:default}
.cta-send:focus-visible,.cta-chip:focus-visible,.cta-x:focus-visible{outline:3px solid var(--green-d,#04402b);outline-offset:2px}
.cta-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:8px 0 0}
.cta-note{margin:0;font-size:.74rem;line-height:1.4;color:var(--mute,#55635c)}
.cta-fresh{flex:none;border:0;background:none;padding:6px 2px;min-height:32px;font:600 .78rem/1 var(--sans,system-ui,sans-serif);color:var(--green,#006b45);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cta-fresh[hidden]{display:none}
.cta-fresh:hover{color:var(--green-d,#04402b)}
.cta-fresh:focus-visible{outline:3px solid var(--green-d,#04402b);outline-offset:2px;border-radius:4px}

/* conversation */
.cta-out:empty{display:none}
.cta-out{margin:0 0 12px}
.cta-you{margin:0 0 12px auto;padding:8px 13px;background:var(--g1,#e7f1eb);color:var(--ink,#10201a);border-radius:14px 14px 4px 14px;font-weight:500;font-size:.92rem;max-width:88%;width:fit-content}
.cta-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start}
.cta-row>.cta-av{margin-top:1px}
.cta-ans{overflow-wrap:anywhere;max-width:64ch}
.cta-ans p{margin:0 0 .6em}.cta-ans>p:first-child{font-weight:560;font-size:1.03em;line-height:1.5;letter-spacing:-.003em}.cta-ans>p.cta-wait{font-weight:400;font-size:.88rem}
/* the closing line after the bullets reads as an aside */
.cta-ans ul+p{color:var(--mute,#55635c);font-size:.92em;border-left:2px solid var(--gold,#f2c230);padding-left:9px;margin-top:.7em}
/* streaming caret on the last block while the answer arrives */
.cta-live>:last-child::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:3px;vertical-align:-.17em;background:var(--green,#006b45);border-radius:1px;animation:cta-caret 1s steps(2,start) infinite}
.cta-live>ul:last-child::after{display:none}.cta-live>ul:last-child>li:last-child::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:3px;vertical-align:-.17em;background:var(--green,#006b45);border-radius:1px;animation:cta-caret 1s steps(2,start) infinite}
.cta-live>p.cta-wait::after{display:none}
@keyframes cta-caret{to{visibility:hidden}}
/* earlier exchanges stay readable, separated by a hairline */
.cta-turn+.cta-turn{margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#e3e0d6)}
.cta-old .cta-you{background:var(--g0,#f3f8f5)}
.cta-ans ul{list-style:none;margin:.2em 0 .6em;padding:0}
/* breathing room between the lead line and the bullets (and before the closing aside) */
.cta-ans>p+ul{margin-top:.8em}
.cta-ans li{position:relative;margin:0 0 .45em;padding-left:17px;line-height:1.52}
.cta-ans li::before{content:"";position:absolute;left:1px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--g6,#0b7a50)}
.cta-ans li:nth-child(3n+2)::before{background:#d9475a}
.cta-ans li:nth-child(3n)::before{background:#e5b31c}
.cta-ans strong{font-weight:650;color:var(--ink,#10201a)}
.cta-ans>:last-child{margin-bottom:0}
.cta-ans a{color:var(--green,#006b45);text-decoration:underline;text-underline-offset:2px}
/* citation chips, coloured to match their source card */
.cta-cite{display:inline-grid;place-items:center;min-width:1.45em;height:1.45em;margin:0 1px;padding:0 5px;border-radius:999px;background:var(--g1,#e7f1eb);color:var(--green-d,#04402b)!important;
  font-size:.7em;font-weight:700;line-height:1;text-decoration:none!important;vertical-align:.22em}
.cta-cite.cta-c1{background:#fbe8eb;color:#8a0c1b!important}
.cta-cite.cta-c2{background:#fcf1cc;color:#5c4500!important}
.cta-cw{white-space:nowrap}
.cta-cw .cta-cite:last-of-type{margin-right:0}
.cta-cite:hover{background:var(--green,#006b45);color:#fff!important}
.cta-cite.cta-c1:hover{background:#a50e20}.cta-cite.cta-c2:hover{background:#7a5c00}
.cta-cite:focus-visible{outline:2px solid var(--green-d,#04402b);outline-offset:1px}

/* thinking */
.cta-wait{display:inline-flex;align-items:center;gap:10px;color:var(--mute,#55635c);font-size:.88rem;background:var(--g0,#f3f8f5);border-radius:4px 14px 14px 14px;padding:8px 13px}
.cta-dots{display:inline-flex;gap:4px}
.cta-dots i{width:6px;height:6px;border-radius:50%;background:var(--green,#006b45);animation:cta-b 1.1s infinite ease-in-out}
.cta-dots i:nth-child(2){animation-delay:.15s;background:#d9475a}.cta-dots i:nth-child(3){animation-delay:.3s;background:#e5b31c}
@keyframes cta-b{0%,70%,100%{transform:none;opacity:.55}35%{transform:translateY(-4px);opacity:1}}
.cta-err{color:#8a1c1c;background:#ce11260d;border-radius:10px;padding:8px 12px}
.cta-err p{margin:0}.cta-err a{color:inherit;text-decoration:underline}

/* source cards */
.cta-src:empty,.cta-next:empty{display:none}
.cta-src{margin-top:12px}
.cta-sh{font:700 .68rem/1 var(--sans,system-ui,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--mute,#55635c);margin:0 0 7px}
.cta-cards{display:grid;gap:6px}
.cta-card{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;border:1px solid var(--line,#e3e0d6);border-radius:12px;background:var(--bg,#fff);color:var(--ink,#10201a);text-decoration:none;transition:border-color .15s,background .15s}
.cta-card:hover{border-color:var(--green,#006b45);background:var(--g0,#f3f8f5)}
.cta-thumb{position:relative;flex:none;width:76px;height:43px;border-radius:8px;overflow:hidden;background:var(--g1,#e7f1eb)}
.cta-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cta-num{position:absolute;left:3px;top:3px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;font:700 .66rem/1 var(--sans,system-ui,sans-serif);background:#fff;color:var(--green-d,#04402b);box-shadow:0 1px 2px #10201a33}
.cta-k1 .cta-num{color:#8a0c1b}.cta-k2 .cta-num{color:#5c4500}
.cta-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding-left:12px;background:var(--g1,#e7f1eb);color:var(--green-d,#04402b);line-height:1}
.cta-k1 .cta-tile{background:#fbe8eb;color:#8a0c1b}.cta-k2 .cta-tile{background:#fcf1cc;color:#5c4500}
.cta-tile b{font:600 1.05rem/1 var(--serif,Georgia,serif)}
.cta-tile small{font:600 .56rem/1.2 var(--sans,system-ui,sans-serif);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.cta-ct{min-width:0;display:flex;flex-direction:column;gap:1px}
.cta-cn{font-weight:600;font-size:.84rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cta-cd{font-size:.75rem;color:var(--mute,#55635c)}
/* "Watch on YouTube" under a source card: the card and the link are sibling links inside one framed item */
.cta-ci{position:relative}
.cta-ci-v .cta-card{padding-bottom:38px}
.cta-yt{position:absolute;left:91px;bottom:6px;display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:2px 9px 2px 7px;border-radius:999px;
  background:#fbe8eb;color:#8a0c1b;font:600 .74rem/1.2 var(--sans,system-ui,sans-serif);text-decoration:none;white-space:nowrap;max-width:calc(100% - 100px);overflow:hidden;text-overflow:ellipsis}
.cta-yt svg{flex:none}
.cta-yt:hover{background:#a50e20;color:#fff}
.cta-yt:focus-visible{outline:3px solid var(--green-d,#04402b);outline-offset:2px}
.cta-next{margin-top:12px}
.cta-follow{margin:0}

@media(max-width:560px){.cta-yt{min-height:28px}}
@media(prefers-reduced-motion:reduce){.cta-panel{animation:none}.cta-fab,.cta-card{transition:none}.cta-dots i{animation:none!important;opacity:1}.cta-live>:last-child::after,.cta-live>ul:last-child>li:last-child::after{animation:none}}

/* Inline (the /ask/ page) */
.cta-inline{max-width:760px;background:var(--bg,#fff);border:1px solid var(--line,#e3e0d6);border-radius:var(--r,16px);padding:20px 22px;box-shadow:var(--sh,0 1px 2px #10201a0d,0 10px 30px #10201a10)}
.cta-inline .cta-head{margin:0}
.cta-inline .cta-hello .cta-av{width:36px;height:36px}
.cta-inline .cta-intro{font-size:.95rem}
.cta-inline .cta-out{font-size:1rem}
.cta-inline .cta-row{grid-template-columns:32px minmax(0,1fr);gap:12px}
.cta-inline .cta-row>.cta-av{width:32px;height:32px}
@media(min-width:700px){.cta-inline .cta-cards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cta-inline{padding:14px;border-radius:14px}}
@media(max-width:560px){.cta-row,.cta-inline .cta-row{grid-template-columns:24px minmax(0,1fr);gap:8px}.cta-row>.cta-av,.cta-inline .cta-row>.cta-av{width:24px;height:24px}.cta-ans li{padding-left:15px}.cta-ans li::before{left:0}}

/* Docta page header (/ask/) */
.ask-head .lede{font-family:var(--serif,Georgia,serif);font-style:italic;color:var(--green,#006b45)}
.ask-explain{margin:10px 0 0;max-width:44em;color:var(--mute,#55635c);font-size:1rem;line-height:1.55}
/* small phones: the send button keeps its arrow and its accessible label, so the one-line placeholder fits */
@media(max-width:420px){.cta-send{padding:11px 13px}.cta-send span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
