/* Conclave — design system "dois mundos" (produto $50M · Health Business Tech).
   Mundo escuro = entrada conversacional (Vera). Mundo claro = parecer/landing clínico.
   Fontes: Hanken Grotesque (UI/números finos) + Fraunces (assinatura) + Geist Mono.
   Glass SELETIVO (só flutuantes). Mobile-first, WCAG 2.2 AA, reduced-motion. */
:root{
  /* mundo CLARO (default: parecer/landing) — canônicos em /static/brand/tokens.css */
  --bg:var(--brand-light-bg); --surface:#ffffff; --surface2:#f4f1ec; --line:#e9e3d9;
  --ink:var(--brand-light-ink); --muted:var(--brand-light-muted);
  --accent:var(--brand-light-accent); --accent2:var(--brand-aurora-2);
  --accent-rgb:31,111,235; --clin:var(--brand-light-accent); --gold:var(--brand-light-gold);
  --grad:linear-gradient(120deg,var(--brand-light-accent),var(--brand-aurora-2));
  --ok:#15803d; --ok-bg:#dcfce7; --warn:#b45309; --warn-bg:#fef3c7; --bad:#b91c1c; --bad-bg:#fee2e2;
  --glass:rgba(255,255,255,.66); --glass-line:rgba(23,20,32,.08); --glass-blur:16px;
  --glass-ctl:rgba(255,255,255,.55); --glass-ctl-line:rgba(23,20,32,.12); --glass-hi:rgba(255,255,255,.85);
  --serif:'Fraunces','Iowan Old Style',Georgia,serif;
  --sans:'Hanken Grotesque',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --r:18px; --r-sm:12px; --r-lg:26px; --maxw:1180px;
  --shadow:0 1px 2px rgba(23,20,32,.04),0 10px 30px rgba(23,20,32,.07);
  --shadow-lg:0 30px 70px rgba(31,111,235,.16);
}
/* mundo ESCURO = "Observatório": near-black tingido + acento AURORA (azul→teal→verde) */
[data-world="dark"]{
  --bg:var(--brand-dark-bg); --surface:var(--brand-dark-surface);
  --surface2:var(--brand-dark-surface2); --line:var(--brand-dark-line);
  --ink:var(--brand-dark-ink); --muted:var(--brand-dark-muted);
  --accent:var(--brand-dark-accent); --accent2:var(--brand-aurora-2);
  --accent-rgb:69,224,176; --clin:var(--brand-aurora-1); --gold:var(--brand-dark-gold);
  --grad:var(--brand-aurora);
  --glass:rgba(255,255,255,.045); --glass-line:rgba(255,255,255,.10); --glass-blur:8px;
  --glass-ctl:rgba(255,255,255,.09); --glass-ctl-line:rgba(255,255,255,.18); --glass-hi:rgba(255,255,255,.25);
  --shadow:0 1px 2px rgba(0,0,0,.5),0 20px 50px rgba(0,0,0,.6); --shadow-lg:0 30px 70px rgba(0,0,0,.55);
  --ok-bg:rgba(21,128,61,.16);--warn-bg:rgba(180,83,9,.16);--bad-bg:rgba(185,28,28,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;min-height:100dvh}
::selection{background:rgba(var(--accent-rgb),.22)}
a{color:var(--accent);text-decoration:none}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:8px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto}}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* mesh de fundo vivo (mundo escuro) */
.mesh{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.mesh::before,.mesh::after{content:'';position:absolute;width:62vw;height:62vw;border-radius:50%;filter:blur(100px);opacity:.55}
.mesh::before{background:radial-gradient(circle,#bcd0ff,transparent 62%);top:-18%;left:-12%;animation:drift 24s ease-in-out infinite}
.mesh::after{background:radial-gradient(circle,#bfe9f5,transparent 62%);bottom:-22%;right:-14%;animation:drift 30s ease-in-out infinite reverse}
[data-world="dark"] .mesh::before{background:radial-gradient(circle,#1f4fff,transparent 62%);opacity:.16}
[data-world="dark"] .mesh::after{background:radial-gradient(circle,#1fb6a6,transparent 62%);opacity:.14}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(6%,4%)}}

/* ---------- topbar ---------- */
.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.topbar .row{display:flex;align-items:center;justify-content:space-between;height:66px;gap:14px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--ink)}
.mark{width:36px;height:36px;border-radius:11px;background:var(--glass-ctl);border:1px solid var(--glass-ctl-line);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);display:grid;place-items:center;color:var(--ink);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow)}

/* ---------- portão de convidado (login de primeiro acesso) ---------- */
.gate{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)}
.gate[hidden]{display:none}
.gate-card{width:min(410px,94vw);padding:34px 30px 26px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:8px}
.gate-card .mark{width:44px;height:44px;margin-bottom:6px}
.gate-card h2{font-size:22px;letter-spacing:-.3px}
.gate-sub{color:var(--muted);font-size:14.5px;margin-bottom:12px}
#gate-form{display:flex;flex-direction:column;gap:12px}
#gate-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}
.gate-err{color:var(--bad);font-size:14px;margin:0}
.gate-alt{background:none;border:none;color:var(--muted);font-size:13px;font-family:inherit;cursor:pointer;margin-top:12px;text-decoration:underline;text-underline-offset:3px}
.gate-alt:hover{color:var(--ink)}
.brand b{font-size:17px;letter-spacing:-.2px}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:-2px}
.top-actions{display:flex;align-items:center;gap:8px}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.chip.ok{color:var(--ok);border-color:rgba(21,128,61,.35)}.chip.ok .dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}
.chip.demo{color:var(--warn)}.chip.demo .dot{background:var(--warn)}
.chip.err{color:var(--bad)}.chip.err .dot{background:var(--bad)}
.ghost{font-size:13.5px;font-weight:600;color:var(--muted);padding:8px 12px;border-radius:9px}.ghost:hover{color:var(--accent);background:var(--surface2)}
.iconbtn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;font-size:19px;cursor:pointer;transition:.15s}
.iconbtn:hover{border-color:var(--accent);color:var(--accent)}
.iconbtn.recording{border-color:var(--bad);color:var(--bad);animation:beat 1s infinite}

/* ---------- glass ---------- */
.glass{background:var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);border:1px solid var(--glass-line);border-radius:var(--r);box-shadow:var(--shadow)}

/* ---------- botões / inputs ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-weight:700;font-size:15px;padding:14px 24px;border-radius:14px;border:none;cursor:pointer;min-height:50px;transition:.16s}
.btn-primary{background:var(--glass-ctl);color:var(--ink);border:1px solid var(--glass-ctl-line);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow)}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.12)}.btn-primary:disabled{opacity:.5;transform:none;cursor:default}
.btn-soft{background:var(--surface);border:1.5px solid var(--line);color:var(--ink)}.btn-soft:hover{border-color:var(--accent);color:var(--accent)}
textarea,input[type=text],input[type=password],select{width:100%;background:var(--surface2);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;color:var(--ink);font-family:inherit;font-size:16px;transition:.15s}
textarea:focus,input:focus,select:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12)}
textarea{resize:vertical;line-height:1.5}
.field-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-bottom:9px}

/* ---------- ENTRADA conversacional (mundo escuro) ---------- */
.convo{min-height:calc(100dvh - 66px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 20px 40px;position:relative}
.orb-wrap{width:min(280px,64vw);aspect-ratio:1;position:relative;margin:0 auto}
.orb-wrap canvas{width:100%;height:100%;display:block}
.vera-say{font-family:var(--serif);font-weight:400;font-size:clamp(22px,4.6vw,34px);line-height:1.25;letter-spacing:-.4px;max-width:20ch;margin:22px auto 4px;min-height:2.5em}
.vera-say .cursor{display:inline-block;width:2px;height:1em;background:var(--accent);vertical-align:-2px;margin-left:2px;animation:blink 1.1s step-end infinite}
@keyframes blink{50%{opacity:0}}
.vera-hint{color:var(--muted);font-size:14.5px;max-width:34ch;margin:0 auto}
.pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:22px;max-width:640px}
.pill{font-size:14px;font-weight:600;color:var(--ink);padding:11px 18px;border-radius:99px;cursor:pointer;transition:.16s;min-height:44px;display:inline-flex;align-items:center}
.pill:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent)}
.attach-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.achip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:6px 8px 6px 12px;color:var(--muted)}
.achip button{border:none;background:var(--surface2);color:var(--muted);width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:13px;line-height:1}
.achip button:hover{color:var(--bad)}
.plus-menu[hidden]{display:none!important}
.plus-menu{position:absolute;bottom:calc(100% + 10px);left:8px;min-width:260px;padding:8px;display:flex;flex-direction:column;gap:2px;z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 50px rgba(13,10,20,.28),0 2px 8px rgba(13,10,20,.12)}
.plus-menu button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;color:var(--ink);font-family:inherit;font-size:14px;font-weight:600;padding:12px;border-radius:10px;cursor:pointer;text-align:left;min-height:44px}
.plus-menu button:hover{background:var(--surface2)}
.plus-menu button i{font-size:18px;color:var(--accent)}
.composer2{position:relative;margin:26px auto 0;width:min(680px,94vw);padding:8px 8px 8px 18px;display:flex;align-items:flex-end;gap:8px;border-radius:22px}
.composer2 textarea{background:transparent;border:none;box-shadow:none;padding:12px 0;font-size:16px;max-height:140px;font-family:var(--serif);font-weight:400;resize:none}
.composer2 textarea:focus{box-shadow:none}
.composer2 .send{width:46px;height:46px;border-radius:14px;flex-shrink:0;background:var(--glass-ctl);color:var(--ink);border:1px solid var(--glass-ctl-line);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow);display:grid;place-items:center;font-size:19px;cursor:pointer}
.composer2 .send:disabled{opacity:.4;cursor:default}
.turn-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}

/* picker de repositórios (lista + busca instantânea) */
.repo-picker[hidden]{display:none!important}
.repo-picker{width:min(560px,94vw);margin:20px auto 0;padding:10px;display:flex;flex-direction:column;gap:8px;text-align:left}
.rp-search{display:flex;align-items:center;gap:9px;background:var(--surface2);border:1.5px solid var(--line);border-radius:12px;padding:0 12px}
.rp-search i{color:var(--muted);font-size:17px;flex-shrink:0}
.rp-search input{border:none;background:transparent;padding:13px 0;font-size:15px}
.rp-search input:focus{box-shadow:none;border:none;background:transparent}
.rp-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.rp-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;cursor:pointer;border:none;background:transparent;text-align:left;font-family:inherit;width:100%;min-height:48px}
.rp-item:hover,.rp-item:focus-visible{background:var(--surface2)}
.rp-item i{font-size:18px;color:var(--accent);flex-shrink:0}
.rp-item .rp-txt{min-width:0;flex:1}
.rp-item .rp-name{font-weight:700;font-size:14px;color:var(--ink);display:block}
.rp-item .rp-desc{font-size:12px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-item .rp-badge{font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 7px;flex-shrink:0}
.rp-empty{padding:16px;color:var(--muted);font-size:13px;text-align:center}

/* chip de contexto do run (cronômetro + fase + motor) */
.run-meta[hidden]{display:none!important}
.run-meta{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;
  width:max-content;max-width:94vw;margin:24px auto 0;padding:9px 18px;border-radius:99px;
  font-size:12.5px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.run-meta i{color:var(--accent);font-size:15px}
.run-meta .rm-sep{opacity:.4}

/* jornada da deliberação (etapas elegantes — o que o usuário vê) */
.journey[hidden]{display:none!important}
.journey{display:flex;gap:2px;flex-wrap:wrap;justify-content:center;list-style:none;
  margin:26px auto 0;padding:12px 16px;width:min(680px,94vw);border-radius:99px}
.journey li{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--muted);
  padding:9px 14px;border-radius:99px;transition:.35s;opacity:.5}
.journey li i{font-size:17px}
.journey li{position:relative}
.journey li+li::before{content:'';width:14px;height:2px;border-radius:2px;background:var(--line);margin-right:6px;transition:background .4s}
.journey li.now::before,.journey li.done::before{background:var(--accent)}
.journey li .jcount{font-style:normal;font-size:10.5px;font-weight:700;color:var(--accent);margin-left:2px}
.journey li.done{background:rgba(21,128,61,.10)}
.journey li.done i{color:var(--ok)!important;animation:none}
.journey li.now{opacity:1;color:var(--ink);background:rgba(var(--accent-rgb),.16)}
.journey li.now i{color:var(--accent);animation:beat 1.4s infinite}
.journey li.done{opacity:.95;color:var(--accent)}

/* o conselho se materializa (avatares surgindo conforme a forja) */
.council[hidden]{display:none!important}
.council{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:min(680px,94vw);margin:14px auto 0}
.cmember{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);
  border-radius:99px;padding:6px 12px 6px 6px;box-shadow:var(--shadow);animation:rise .45s ease}
.cmember .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;
  font-weight:800;font-size:12px;flex-shrink:0}
.cmember .cm-n{font-size:12px;font-weight:700;line-height:1.1}
.cmember .cm-r{display:block;font-size:9.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}

/* indicador "pensando" no feed (nunca parece travado) */
.thinking-ind{color:var(--accent)!important;font-weight:700;letter-spacing:3px;animation:thinkpulse 1.2s ease-in-out infinite}
@keyframes thinkpulse{0%,100%{opacity:.25}50%{opacity:.9}}

/* bastidores (trilha técnica recolhida — não polui a experiência) */
.bastidores{width:min(680px,94vw);margin:14px auto 0;text-align:left}
.bastidores summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--muted);padding:9px 6px;
  list-style:none;display:flex;align-items:center;gap:7px;justify-content:center;border-radius:10px;transition:.15s}
.bastidores summary:hover{color:var(--accent)}
.bastidores summary::-webkit-details-marker{display:none}
.bastidores[open] summary{color:var(--accent)}

/* feed ao vivo (deliberação, dentro do mundo escuro) */
.feed{width:min(680px,94vw);margin:20px auto 0;max-height:300px;overflow-y:auto;text-align:left;padding:14px 18px;border-radius:var(--r)}
.ln{display:block;font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--muted);white-space:pre-wrap;word-break:break-word;opacity:.9}
.ln-head{color:var(--accent);font-weight:700;font-family:var(--sans);text-transform:uppercase;font-size:11px;letter-spacing:.6px;margin-top:8px}
.ln-persona{color:var(--accent2)}.ln-cycle{color:var(--ink);font-weight:600}.ln-verif{color:var(--warn)}.ln-cand{color:var(--ink);font-weight:600}

/* veredito (aparece na entrada; leva ao parecer completo) */
.verdict{width:min(680px,94vw);margin:22px auto 0;text-align:left;padding:26px;display:none}
.verdict.on{display:block;animation:rise .5s ease}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.verdict .eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent)}
.verdict h3{font-family:var(--serif);font-weight:400;font-size:clamp(20px,3.4vw,26px);line-height:1.25;margin:10px 0 16px}
.vitals{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.vital .v{font-family:var(--sans);font-weight:300;font-size:34px;line-height:1;letter-spacing:-1px}
.vital .l{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-top:4px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:6px 12px;border-radius:99px}
.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-bad{background:var(--bad-bg);color:var(--bad)}
.verdict-bar{display:flex;gap:10px;flex-wrap:wrap}

@keyframes beat{0%,100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.4)}70%{box-shadow:0 0 0 10px rgba(var(--accent-rgb),0)}}

/* tooltip cripto (regra permanente) */
.tip{border-bottom:1px dotted currentColor;cursor:help;position:relative}
.tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);background:#0d0a14;color:#f3eefb;padding:11px 13px;border-radius:10px;font-size:12px;font-weight:500;line-height:1.5;width:max-content;max-width:280px;white-space:normal;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:.15s;z-index:80;box-shadow:0 14px 34px rgba(0,0,0,.4)}
.tip:hover::after,.tip:focus::after{opacity:1;visibility:visible}

/* drawer config */
.overlay{position:fixed;inset:0;background:rgba(13,10,20,.55);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.2s;z-index:60}
.overlay.on{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100%;width:400px;max-width:92vw;background:var(--surface);border-left:1px solid var(--line);box-shadow:-24px 0 70px rgba(0,0,0,.3);transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:70;display:flex;flex-direction:column}
.drawer.on{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid var(--line)}
.drawer-head h2{font-family:var(--serif);font-weight:400;font-size:20px}
.drawer-body{padding:22px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}
.connector{display:flex;align-items:center;gap:12px;background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}
.with-btn{display:flex;gap:8px}.with-btn input{flex:1}
.models{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.models label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted)}
.hint{font-size:12.5px;color:var(--muted)}

.foot{text-align:center;color:var(--muted);font-size:12.5px;padding:36px 0}
@media (max-width:640px){.brand small{display:none}.models{grid-template-columns:1fr}.btn{width:100%}}

/* ---------- histórico de consultas (#16/#17) ---------- */
/* width explícita: sem ela a seção herda a largura intrínseca do texto nowrap
   dos itens e estoura a viewport pelos dois lados (flex centrado) */
.history{width:min(680px,94vw);margin-top:26px;padding:18px 20px;text-align:left}
.history[hidden]{display:none!important}
.hist-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:10px}
.hist-item{display:flex;gap:10px;align-items:center;padding:9px 6px;border-top:1px solid var(--line);font-size:13px}
.hist-item:first-child{border-top:none}
.hist-item .ht{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist-item .hm{font-family:var(--mono);font-size:11px;color:var(--muted);flex:none}
.hist-item a{flex:none;font-size:12px}
.hist-item input[type=checkbox]{accent-color:var(--accent)}
.hist-badge{flex:none;font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px}
.hist-badge.ok{background:rgba(22,163,74,.12);color:#16a34a}
.hist-badge.warn{background:rgba(217,119,6,.12);color:#d97706}
.hist-badge.bad{background:rgba(185,28,28,.12);color:#b91c1c}
#histCompare{margin-top:14px;border-top:2px solid var(--accent);padding-top:12px}
#histCompare[hidden]{display:none!important}
#histCompare table{width:100%;border-collapse:collapse;font-size:12.5px}
#histCompare th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:6px 8px}
#histCompare td{padding:6px 8px;border-top:1px solid var(--line);vertical-align:top}
.reconnect-note{color:var(--warn,#d97706);font-style:italic}

/* ---------- P4: acessibilidade ---------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink,#171420);color:#fff;
  padding:10px 18px;border-radius:0 0 12px 0;font-size:13px}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
@media (prefers-contrast: more){.hint,.muted{color:inherit;opacity:.85}}

/* ---------- P4: mobile fino ---------- */
@supports (padding: env(safe-area-inset-bottom)){
  .convo{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .composer2{margin-bottom:calc(env(safe-area-inset-bottom) + var(--kb,0px))}
}
@media (max-width: 640px){
  body.deliberating .journey{position:sticky;top:8px;z-index:40;padding:8px 10px;gap:4px;
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  body.deliberating .journey li span{display:none}
  body.deliberating .journey li.now span{display:inline;font-size:11px}
  body.deliberating .journey .jcount{font-size:10px}
  .run-meta{flex-wrap:wrap;font-size:11px}
}

/* ---------- P5: delight dourado (só validado ✓ + selado ✓ + real) ---------- */
@keyframes goldShine{
  0%{box-shadow:0 0 0 0 rgba(242,178,99,0)}
  35%{box-shadow:0 0 42px 8px rgba(242,178,99,.5)}
  100%{box-shadow:0 0 0 0 rgba(242,178,99,0)}
}
@keyframes badgePop{
  0%{transform:scale(1)}40%{transform:scale(1.14)}70%{transform:scale(.97)}100%{transform:scale(1)}
}
.gold-moment #orb{animation:goldShine 2.2s ease-out 1;border-radius:50%}
.gold-moment .badge-gold{animation:badgePop .9s cubic-bezier(.22,1,.36,1) 1;
  background:linear-gradient(120deg,rgba(242,178,99,.25),rgba(246,207,149,.4));color:#8a5a1c}
@media (prefers-reduced-motion: reduce){
  .gold-moment #orb,.gold-moment .badge-gold{animation:none}
}
