/* AI Invisibility Test - shared styles.
 *
 * Extracted verbatim from the inline <style> blocks of ai-invisibility-test.html
 * and ai-test/index.html so the widget can be embedded on the /ai-visibility/
 * content cluster without a second copy drifting out of sync. Those two pages now
 * link this file; nothing else about them changed.
 */

/* ---------- test widget (was inline in ai-invisibility-test.html) ---------- */
/* Page-local. This tool intentionally breaks from the site's Space Grotesk / Manrope
   palette to match the report page it hands off to (Task 12): Archivo for display,
   IBM Plex Sans for body copy, IBM Plex Mono for anything that reads as machine
   output. Scoped entirely under .ait so the shared header/footer keep the site's
   normal fonts and colors, and this stays light even if the site theme toggle is
   switched to dark - the whole point of this tool is a result the owner can trust,
   and a dark report reads as a mistake, not a mood. */
.ait{
  --g:#faf8f6; --s:#ffffff; --sunk:#f3efea;
  --ink:#191411; --ink2:#4a423b; --muted:#7a716a; --line:#e7e0d9;
  --accent:#ff6a1f; --accent-soft:#fff1e8;
  --good:#2d7a55; --good-soft:#e9f4ee;
  --warn:#9a6b12; --warn-soft:#fdf3e0;
  --bad:#c0311a; --bad-soft:#fdeeea;
  --shadow:0 1px 2px rgba(25,20,17,.05), 0 10px 28px -14px rgba(25,20,17,.16);
  --disp:"Archivo",sans-serif; --body:"IBM Plex Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  background:var(--g); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.ait *{box-sizing:border-box}
.ait .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ait h1,.ait h2{font-family:var(--disp);text-wrap:balance;margin:0;letter-spacing:-.02em;color:var(--ink)}
.ait .mono{font-family:var(--mono)}

.ait-hero{padding:64px 0 34px}
.ait-wrap{max-width:640px;margin:0 auto;padding:0 var(--gutter, 20px)}
.ait-eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);font-weight:500;margin:0 0 16px;
}
.ait-hero h1{font-size:clamp(30px,5.6vw,44px);font-weight:800;line-height:1.06}
.ait-lead{font-size:16.5px;line-height:1.65;color:var(--ink2);max-width:56ch;margin:16px 0 0}

.ait-tool{padding:8px 0 90px}
.ait-card{
  background:var(--s);border:1px solid var(--line);border-radius:16px;
  padding:30px 28px;box-shadow:var(--shadow);
}
.ait-stage h2{font-size:clamp(19px,3vw,23px);font-weight:700}
.ait-sub{font-size:14.5px;color:var(--ink2);line-height:1.6;margin:9px 0 0;max-width:58ch}

.ait-field{margin-top:20px}
.ait-field label{
  display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px;
}
.ait-opt{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);font-weight:500;margin-left:7px;background:var(--sunk);
  border-radius:99px;padding:2px 8px;
}
.ait-field input{
  width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line);
  border-radius:9px;background:var(--s);color:var(--ink);
}
.ait-field input::placeholder{color:var(--muted)}
.ait-field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.ait-help{font-size:12.5px;color:var(--muted);line-height:1.55;margin:8px 0 0}

.ait-error{
  margin-top:16px;font-size:13.5px;color:var(--bad);background:var(--bad-soft);
  border:1px solid rgba(192,49,26,.25);border-radius:9px;padding:11px 14px;
}

.ait-btn{
  font:inherit;font-family:var(--body);font-size:15px;font-weight:600;color:#fff;
  background:var(--accent);border:0;border-radius:10px;padding:14px 22px;
  cursor:pointer;margin-top:22px;width:100%;transition:filter .15s;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;
}
.ait-btn:hover{filter:brightness(1.06)}
.ait-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ait-btn[disabled]{cursor:not-allowed;filter:grayscale(.15) brightness(.92);opacity:.86}
.ait-btn .spin{
  width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;flex:none;display:none;animation:aitspin .7s linear infinite;
}
.ait-btn.is-busy .spin{display:inline-block}
@media (prefers-reduced-motion: reduce){ .ait-btn .spin{animation:none;opacity:.7} }
@keyframes aitspin{to{transform:rotate(360deg)}}

.ait-actions{display:flex;align-items:center;gap:16px;margin-top:22px}
.ait-actions .ait-btn{margin-top:0}
.ait-back{
  font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);background:none;
  border:0;cursor:pointer;padding:8px 0;white-space:nowrap;
}
.ait-back:hover{color:var(--ink)}

.ait-qhead{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin-bottom:7px;
}

/* ---- the live feed ---- */
.ait-term{
  margin-top:20px;background:var(--sunk);border:1px solid var(--line);border-radius:12px;
  padding:18px 18px;font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--ink2);
  max-height:400px;overflow-y:auto;
}
.ait-term p{margin:0}
.ait-term-line{opacity:0;transform:translateY(4px);animation:aitIn .3s ease forwards}
@media (prefers-reduced-motion: reduce){ .ait-term-line{animation:none;opacity:1;transform:none} }
@keyframes aitIn{to{opacity:1;transform:none}}
.ait-term-sys{color:var(--muted)}
.ait-term-ask{color:var(--ink);font-weight:600;margin-top:12px}
.ait-term-line:first-child{margin-top:0}
.ait-term-quote{color:var(--muted);padding-left:16px}
.ait-term-ok{color:var(--good);padding-left:16px}
.ait-term-warn{color:var(--warn);padding-left:16px}
.ait-term-done{color:var(--good);font-weight:600;margin-top:12px}
.ait-cursor{color:var(--accent);display:inline-flex;align-items:center;gap:8px}
.ait-blink{animation:aitBlink 1s step-end infinite}
@media (prefers-reduced-motion: reduce){ .ait-blink{animation:none} }
@keyframes aitBlink{50%{opacity:0}}

.ait-meter{
  margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--muted);
}
.ait-bar{flex:1;height:6px;background:var(--sunk);border:1px solid var(--line);border-radius:99px;overflow:hidden}
.ait-bar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .5s ease;width:0%}

.ait-note{
  margin-top:16px;font-size:14px;color:var(--good);background:var(--good-soft);
  border:1px solid rgba(45,122,85,.25);border-radius:9px;padding:11px 14px;
}

.ait-trust{
  margin-top:22px;padding-top:18px;border-top:1px solid var(--line);
  font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 16px;
}
.ait-trust span{display:inline-flex;align-items:center;gap:6px}
.ait-trust svg{width:14px;height:14px;stroke:var(--good);fill:none;stroke-width:2.2;flex:none}

@media (max-width:520px){
  .ait-hero{padding:44px 0 26px}
  .ait-card{padding:24px 18px;border-radius:13px}
  .ait-actions{flex-direction:column-reverse;align-items:stretch}
  .ait-back{text-align:center}
}

/* ---------- report renderer (was inline in ai-test/index.html) ---------- */
/* Page-local. This is the client-facing report the AI Invisibility Test hands off to
   (Task 12). It intentionally breaks from the site's Space Grotesk / Manrope palette to
   match the tool page that sends people here: Archivo for display, IBM Plex Sans for body
   copy, IBM Plex Mono for anything that reads as machine output or evidence. Scoped
   entirely under .aitr so the shared header/footer keep the site's normal fonts and
   colors. Light theme only, on purpose, even if the site's dark toggle is switched on:
   a dark report reads as a mistake, not a mood, and this is a document someone forwards
   to a business partner. */
.aitr{
  --g:#faf8f6; --s:#ffffff; --sunk:#f3efea;
  --ink:#191411; --ink2:#4a423b; --muted:#7a716a; --line:#e7e0d9;
  --accent:#ff6a1f; --accent-soft:#fff1e8;
  --good:#2d7a55; --good-soft:#e9f4ee;
  --warn:#9a6b12; --warn-soft:#fdf3e0;
  --bad:#c0311a; --bad-soft:#fdeeea;
  --shadow:0 1px 2px rgba(25,20,17,.05), 0 10px 28px -14px rgba(25,20,17,.16);
  --disp:"Archivo",sans-serif; --body:"IBM Plex Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  background:var(--g); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.aitr *{box-sizing:border-box}
.aitr h1,.aitr h2,.aitr h3{font-family:var(--disp);text-wrap:balance;margin:0;letter-spacing:-.02em;color:var(--ink)}
.aitr .mono{font-family:var(--mono)}
.aitr-wrap{max-width:760px;margin:0 auto;padding:0 20px 90px}

.aitr-loading{padding:70px 0;text-align:center}
.aitr-loading h1{font-size:clamp(22px,4vw,28px)}
.aitr-loading p{color:var(--ink2);margin:12px auto 0;max-width:46ch}
.aitr-loading a{color:var(--accent);font-weight:600;text-decoration:none}
.aitr-loading a:hover{text-decoration:underline}
.aitr-spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);margin:0 auto 18px;animation:aitrspin .8s linear infinite}
@keyframes aitrspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.aitr-spin{animation:none}}

/* ---- act rail ---- */
.aitr-act{
  display:flex;align-items:baseline;gap:11px;margin:56px 0 18px;
  padding-bottom:9px;border-bottom:2px solid var(--ink);flex-wrap:wrap;
}
.aitr-act .n{
  font-family:var(--mono);font-weight:700;font-size:11.5px;
  letter-spacing:.14em;color:var(--accent);
}
.aitr-act h2{font-size:18px;font-weight:600;letter-spacing:-.01em}
.aitr-act .aside{margin-left:auto;font-size:12px;color:var(--muted)}

/* ---- verdict ---- */
.aitr-masthead{padding:34px 0 6px}
.aitr-eyebrow{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin:0 0 16px;
}
.aitr-eyebrow b{color:var(--ink);font-weight:500}
.aitr-verdict{
  font-family:var(--disp);font-weight:800;line-height:.94;
  font-size:clamp(42px,10vw,84px);letter-spacing:-.04em;margin:0 0 6px;
}
.aitr-verdict.bad{color:var(--bad)}
.aitr-verdict.good{color:var(--good)}
.aitr-verdict.warn{color:var(--warn)}
.aitr-verdict.neutral{color:var(--muted)}
.aitr-vsub{font-size:16.5px;color:var(--ink2);max-width:58ch;margin:14px 0 0}
.aitr-scorerow{display:flex;align-items:flex-end;gap:24px;margin-top:24px;flex-wrap:wrap}
.aitr-score{display:flex;align-items:baseline;gap:6px}
.aitr-score .num{
  font-family:var(--disp);font-weight:800;font-size:38px;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;line-height:1;
}
.aitr-score .den{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--muted)}
.aitr-score .lbl{
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);margin-left:3px;
}
.aitr-bar{flex:1;min-width:160px;height:8px;background:var(--sunk);border-radius:99px;overflow:hidden}
.aitr-bar i{display:block;height:100%;border-radius:99px;transition:width .7s cubic-bezier(.2,.7,.2,1)}
.aitr-unreliable{
  margin-top:18px;font-size:13.5px;color:var(--warn);background:var(--warn-soft);
  border:1px solid rgba(154,107,18,.25);border-radius:9px;padding:11px 14px;max-width:60ch;
}
.aitr-meter{margin-top:20px;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--muted)}
.aitr-meter .track{flex:1;height:5px;background:var(--sunk);border-radius:99px;overflow:hidden;max-width:200px}
.aitr-meter .track i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .5s}

/* ---- the "building the rest of your report" placeholder, shown at the exact spot Act
   2 will render, so unlocking never jumps straight to Act 3 with Act 2 silently
   missing, and the reader gets an honest reason for the wait instead of a section that
   quietly reflows underneath them a few seconds later. ---- */
.aitr-building{
  background:var(--s);border:1px solid var(--line);border-radius:13px;
  padding:22px 24px;margin-top:8px;
}
.aitr-building p{margin:0;font-size:14.5px;color:var(--ink2)}
.aitr-building .aitr-meter{margin-top:14px}

/* ---- the emotional centre ---- */
.aitr-instead{
  background:var(--s);border:1px solid var(--line);border-radius:13px;
  padding:24px 24px 20px;box-shadow:var(--shadow);margin-top:24px;
}
.aitr-instead.win{border-color:var(--good);border-width:1.5px}
.aitr-instead h3{font-size:15px;font-weight:600;margin-bottom:4px}
.aitr-instead .note{font-size:13.5px;color:var(--muted);margin:0 0 16px;max-width:60ch}
.aitr-rivals{display:flex;flex-direction:column;gap:0}
.aitr-rival{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.aitr-rival:first-child{border-top:0}
.aitr-rival .rank{
  font-family:var(--mono);font-size:11px;color:var(--muted);
  width:19px;font-variant-numeric:tabular-nums;flex:none;
}
.aitr-rival .nm{font-weight:500;font-size:14.5px;min-width:0;overflow-wrap:anywhere}
.aitr-rival .cnt{
  margin-left:auto;font-family:var(--mono);font-size:10.5px;
  color:var(--muted);white-space:nowrap;padding-left:10px;
}
.aitr-youare{
  margin-top:15px;padding:12px 14px;border-radius:9px;
  background:var(--bad-soft);color:var(--bad);
  font-size:13.5px;font-weight:600;
}
.aitr-youare.good{background:var(--good-soft);color:var(--good)}
.aitr-youare.warn{background:var(--warn-soft);color:var(--warn)}

/* ---- source cards ---- */
.aitr-sources{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.aitr-src{background:var(--s);border:1px solid var(--line);border-radius:11px;overflow:hidden}
.aitr-src header{
  display:flex;align-items:center;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--line);flex-wrap:wrap;
}
.aitr-src header .who{font-weight:600;font-size:13.5px}
.aitr-pill{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;
  text-transform:uppercase;padding:3px 8px;border-radius:99px;font-weight:500;
  margin-left:auto;white-space:nowrap;
}
.aitr-pill.bad{background:var(--bad-soft);color:var(--bad)}
.aitr-pill.good{background:var(--good-soft);color:var(--good)}
.aitr-pill.neutral{background:var(--sunk);color:var(--muted)}
.aitr-src .body{padding:14px 16px 16px}
.aitr-qhead{font-size:12.5px;color:var(--muted);margin:0 0 10px}

/* ---- model tabs (one card per question, tabbed by model, not stacked mono blocks) ---- */
.aitr-tabs{
  display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line);
  padding:0 6px;-webkit-overflow-scrolling:touch;
}
.aitr-tab{
  display:flex;align-items:center;gap:7px;flex:none;
  font:inherit;font-family:var(--body);font-size:13px;font-weight:600;
  color:var(--muted);background:none;border:0;border-bottom:2.5px solid transparent;
  margin-bottom:-1px;padding:12px 12px 10px;cursor:pointer;white-space:nowrap;
}
.aitr-tab .dot{width:8px;height:8px;border-radius:50%;background:var(--dot);flex:none}
.aitr-tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--dot)}
.aitr-tab:hover{color:var(--ink)}
.aitr-tab:focus-visible{outline:2px solid var(--dot);outline-offset:2px;border-radius:5px}
.aitr-tab .aitr-pill{margin-left:2px}
.aitr-tabpanels{padding:16px 16px 16px}
.aitr-tabpanel .aitr-qhead{margin:0 0 10px}
.aitr-said{
  font-family:var(--mono);font-size:12px;line-height:1.65;
  color:var(--ink2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;
  max-height:130px;overflow:hidden;position:relative;
}
.aitr-said.open{max-height:none}
.aitr-fade{
  position:absolute;inset:auto 0 0 0;height:44px;pointer-events:none;
  background:linear-gradient(transparent,var(--s));
}
.aitr-said.open .aitr-fade{display:none}
.aitr-more{
  font:inherit;font-size:11.5px;font-weight:600;color:var(--accent);
  background:none;border:0;padding:8px 0 0;cursor:pointer;
}
.aitr-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.aitr-unsure{
  margin:0 0 9px;font-size:12.5px;color:var(--muted);font-style:italic;
}
.aitr-nf{
  margin-top:11px;font-size:13px;font-weight:600;color:var(--bad);
  letter-spacing:.01em;
}
.aitr-nf strong{font-weight:800}
.aitr-cites{
  margin-top:12px;padding-top:11px;border-top:1px dashed var(--line);
  font-family:var(--mono);font-size:11px;color:var(--muted);
  display:flex;flex-wrap:wrap;gap:5px 9px;overflow-wrap:anywhere;
}
.aitr-cites b{color:var(--accent);font-weight:500}

/* ---- the gate ---- */
.aitr-gate{margin:36px 0 0;border:1.5px dashed var(--accent);border-radius:13px;background:var(--accent-soft);padding:22px 22px}
.aitr-gate .k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500}
.aitr-gate p{margin:7px 0 0;font-size:14.5px;color:var(--ink2);max-width:58ch}
.aitr-gate form{display:flex;gap:9px;margin-top:15px;flex-wrap:wrap}
.aitr-gate input{
  flex:1;min-width:170px;font:inherit;font-size:14px;padding:10px 13px;
  border:1px solid var(--line);border-radius:8px;background:var(--s);color:var(--ink);
}
.aitr-gate input:focus{outline:2px solid var(--accent);outline-offset:1px}
.aitr-gate button{
  font:inherit;font-size:14px;font-weight:600;padding:10px 20px;border:0;
  border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;
}
.aitr-gate button:disabled{opacity:.6;cursor:not-allowed}
.aitr-gate .err{width:100%;font-size:13px;color:var(--bad);margin-top:2px}

/* ---- checks ---- */
.aitr-checks{display:flex;flex-direction:column;gap:0;margin-top:4px}
.aitr-chk{display:flex;gap:12px;padding:13px 0;border-top:1px solid var(--line)}
.aitr-chk:first-child{border-top:0}
.aitr-mk{
  flex:none;width:20px;height:20px;border-radius:6px;margin-top:1px;
  display:grid;place-items:center;font-size:11px;font-weight:700;font-family:var(--disp);
}
.aitr-mk.p{background:var(--good-soft);color:var(--good)}
.aitr-mk.f{background:var(--bad-soft);color:var(--bad)}
.aitr-mk.u{background:var(--sunk);color:var(--muted)}
.aitr-chk .t{font-weight:500;font-size:14px}
.aitr-chk .d{font-size:12.5px;color:var(--muted);margin-top:2px}
.aitr-callout{
  margin-top:14px;padding:14px 16px;border-radius:10px;background:var(--sunk);
  border-left:3px solid var(--warn);font-size:13.5px;color:var(--ink2);
}
.aitr-callout strong{color:var(--ink)}

/* ---- teardown findings ---- */
.aitr-platform{
  background:var(--ink);color:var(--g);border-radius:13px;padding:24px 24px;margin-top:8px;
}
.aitr-platform h3{color:var(--g);font-size:clamp(18px,3vw,22px);font-weight:800;letter-spacing:-.02em}
.aitr-platform .ev{background:rgba(255,255,255,.08);color:#cdc4bc}
.aitr-platform .mean{color:#cdc4bc}

.aitr-find{
  background:var(--s);border:1px solid var(--line);border-radius:11px;
  padding:18px 20px;margin-top:12px;border-left:3px solid var(--line);
}
.aitr-find.critical{border-left-color:var(--bad)}
.aitr-find.major{border-left-color:var(--warn)}
.aitr-find .sev{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:500;
}
.aitr-find.critical .sev{color:var(--bad)}
.aitr-find.major .sev{color:var(--warn)}
.aitr-find h3{font-size:15px;font-weight:600;margin:5px 0 11px;letter-spacing:-.01em}
.ev{
  background:var(--sunk);border-radius:8px;padding:11px 13px;
  font-family:var(--mono);font-size:12px;color:var(--ink2);
  overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;
}
.mean{font-size:13.5px;color:var(--ink2);margin:11px 0 0;max-width:62ch}
.aitr-fixlist{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.aitr-fixchip{
  font-size:11.5px;background:var(--sunk);border-radius:6px;padding:5px 9px;color:var(--ink2);
  overflow-wrap:anywhere;
}

/* ---- act 3 ---- */
.aitr-verdict3{background:var(--ink);color:var(--g);border-radius:15px;padding:30px 28px;margin-top:18px}
.aitr-verdict3 h3{font-size:clamp(20px,3.2vw,25px);font-weight:800;letter-spacing:-.02em;color:var(--g)}
.aitr-verdict3 p{font-size:15px;line-height:1.62;color:#cdc4bc;max-width:60ch;margin:0 0 15px}
.aitr-verdict3 p:last-of-type{margin-bottom:0}
.aitr-verdict3 .cta{
  display:inline-block;margin-top:18px;background:var(--accent);color:#fff;
  font-weight:600;font-size:15px;padding:13px 26px;border-radius:9px;text-decoration:none;
}
.aitr-who{display:flex;gap:15px;align-items:flex-start;margin-top:24px;padding-top:20px;border-top:1px solid #332c27}
.aitr-who .av{
  flex:none;width:42px;height:42px;border-radius:50%;background:var(--accent);
  display:grid;place-items:center;font-family:var(--disp);font-weight:800;color:#fff;font-size:14px;
}
.aitr-who .nm{font-weight:600;font-size:14px;color:var(--g)}
.aitr-who .rl{font-size:12.5px;color:#968b82;margin-top:1px}
.aitr-who p{font-size:13px;margin:8px 0 0;color:#cdc4bc}

.aitr-credit{text-align:center;margin-top:38px;padding-top:18px;border-top:1px solid var(--line)}
.aitr-credit a{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-family:inherit;
  font-size:12.5px;font-weight:600;line-height:1;color:var(--muted);letter-spacing:.01em;transition:color .3s;
}
.aitr-credit a strong{font-weight:800;color:var(--ink);transition:color .3s}
.aitr-credit a:hover{color:var(--ink)}
.aitr-credit a:hover strong{color:var(--accent)}
.aitr-orbit{position:relative;width:17px;height:17px;flex:0 0 auto}
.aitr-orbit .ring{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(25,20,17,.2)}
.aitr-orbit .core{position:absolute;inset:4px;border-radius:50%;background:var(--ink)}
.aitr-orbit .sat{position:absolute;top:50%;left:50%;width:17px;height:17px;margin:-8.5px 0 0 -8.5px;animation:aitrspinorbit 3.6s linear infinite}
.aitr-orbit .sat i{position:absolute;top:-1px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(255,106,31,.7)}
@keyframes aitrspinorbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.aitr-orbit .sat{animation:none}}

.aitr-foot{margin-top:38px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.6}

@media (max-width:560px){
  .aitr-wrap{padding:0 16px 70px}
  .aitr-masthead{padding:26px 0 6px}
  .aitr-instead,.aitr-gate,.aitr-platform,.aitr-verdict3{padding-left:18px;padding-right:18px}
  .aitr-src header{padding:11px 14px}
  .aitr-src .body{padding:12px 14px 14px}
  .aitr-gate form{flex-direction:column}
  .aitr-gate button{width:100%}
}
@media (prefers-reduced-motion:reduce){.aitr *{transition:none!important;animation:none!important}}

/* ==========================================================================
   Dark mode
   ==========================================================================

   Both .ait and .aitr declare a complete, self-contained token set so the tool
   reads as its own object wherever it is embedded. That was fine when it lived on
   two dedicated pages; now it sits mid-article on ten pages that all honour the
   site's theme toggle, and a hardcoded cream panel dropped into a dark page is the
   single most obvious thing on the screen.

   Only the tokens are redefined here. Every component rule already reads through
   them, so nothing else has to change. The accent stays the brand orange in both
   themes; the semantic good/warn/bad trio is lifted and desaturated so it still
   separates against a dark ground without glowing. */

:root[data-theme="dark"] .ait,
:root[data-theme="dark"] .aitr {
  --g:#111a2b; --s:#17223a; --sunk:#0e1626;
  --ink:#eef2fb; --ink2:#c2cce0; --muted:#95a3bf; --line:rgba(255,255,255,.14);
  --accent:#ff6a1f; --accent-soft:rgba(255,106,31,.16);
  --good:#5fc48f; --good-soft:rgba(95,196,143,.14);
  --warn:#e0ab4a; --warn-soft:rgba(224,171,74,.14);
  --bad:#ef7a63;  --bad-soft:rgba(239,122,99,.15);
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 14px 34px -14px rgba(0,0,0,.6);
}

/* The embedded widget sits inside a page that already paints its own background, so
   it should not also paint a full-bleed panel of its own. */
.ait-embed { background: none; }
