/* revisão de contraste do modo escuro (founder 2026-07-23 · "cinzas difíceis de enxergar"):
   --mut #7e7e88→#9a9ba7 (~35% mais claro · usado em ~25 textos de 10.5-13px — qmeta/foot/legendas/contadores ·
   hierarquia preservada: mut < tx2 < tx) · --line .12→.17 (bordas de chip/card/input quase invisíveis).
   Tema claro NÃO é afetado (redefine as duas vars no bloco data-theme=light). */
:root{--bg:#0a0a0d;--scr:#0c0c10;--card:#16161c;--tx:#eceef2;--tx2:#bcbfc7;--mut:#9a9ba7;
--gold:#C8A84B;--goldd:#E0a838;--red:#e25a52;--redb:#DC2A24;--amber:#E0a838;--green:#54b98a;--line:rgba(255,255,255,.17);
/* Safe-area no app nativo (Android · medido no aparelho 2026-08-14): o WebView desenha edge-to-edge sob
   targetSdk 36 e reporta env(safe-area-inset-TOP) certo, mas env(safe-area-inset-BOTTOM) volta 0 — o rodapé
   (botão "+ Treino extra") nascia ATRÁS da barra ◁ ○ ||| e não dava pra tocar. O Capacitor 8 injeta os valores
   corretos em --safe-area-inset-* no documentElement (SystemBars.injectSafeAreaCSS) e a própria doc manda usar
   var(...) com env(...) de fallback. Web pura não define a var → cai em env() → byte-idêntico ao de antes. */
--sat:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--sab:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px))}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overscroll-behavior:none}   /* bloqueia navegação por overscroll horizontal + pull-to-refresh (Android) — vetor de reload mid-bateria (caso Leslen 12/07) */
.scr{touch-action:pan-y}   /* só o pan vertical é do browser; o swipe do app (touchend próprio) segue vivo */
body{background:radial-gradient(120% 50% at 85% -5%,rgba(200,168,75,.06),transparent 55%),radial-gradient(90% 45% at 0% 102%,rgba(220,42,36,.06),transparent 55%),var(--bg);background-attachment:fixed;
color:var(--tx);font-family:'Barlow',-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.cond{font-family:'Barlow Condensed'}
.app{max-width:480px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:max(16px,var(--sat)) 18px max(20px,var(--sab))}
/* top bar */
.bar{display:flex;align-items:center;gap:10px;padding:6px 0 14px}
.bar .wm{font-family:'Barlow Condensed';font-weight:900;font-size:18px;letter-spacing:.5px}.bar .wm b{color:var(--gold)}
.bar .r{margin-left:auto;font-family:'Barlow Condensed';font-weight:700;font-size:12px;letter-spacing:1.5px;color:var(--mut);text-transform:uppercase}
.mk{width:24px;height:24px}
/* toggle de tema (Phase 4) · discreto · só aparece nas telas de acesso (via observer da classe .intro) */
.themetgl{margin-left:10px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--tx2);font-size:15px;line-height:1;cursor:pointer;flex:0 0 auto;transition:transform .08s,color .12s}
.themetgl:active{transform:scale(.92)}
@media(hover:hover){.themetgl:hover{color:var(--gold);border-color:var(--gold)}}
.dots{display:flex;gap:5px;margin-bottom:18px}
.dots i{height:5px;flex:1;border-radius:3px;background:rgba(255,255,255,.16);transition:.2s}
.dots i.on{background:var(--green)}.dots i.miss{background:var(--redb)}.dots i.cur{background:var(--gold)}
.scr{flex:1;display:flex;flex-direction:column}
.scr:focus{outline:none}
/* generic */
.spacer{flex:1}
.btn{display:block;width:100%;text-align:center;background:linear-gradient(180deg,var(--goldd),var(--gold));color:#15110a;font-family:'Barlow Condensed';font-weight:900;font-size:20px;letter-spacing:.5px;text-transform:uppercase;padding:17px;border:none;border-radius:14px;cursor:pointer;margin-top:14px;transition:transform .08s}
.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;border:1.5px solid var(--line);color:var(--tx2)}
.small{font-size:12px;color:var(--mut);text-align:center;margin-top:12px;letter-spacing:.3px}
/* intro */
.intro{text-align:center;justify-content:flex-start;padding-top:max(7vh,32px)}
.intro .mkb{width:52px;height:52px;margin:0 auto 14px;filter:drop-shadow(0 0 16px rgba(220,42,36,.35))}
.intro h1{font-family:'Barlow Condensed';font-weight:900;font-size:40px;line-height:1.02;margin-bottom:8px}
.intro h1 .gold{color:var(--gold)}
.intro p{color:var(--tx2);font-size:16px;max-width:32ch;margin:0 auto}
.chip{display:inline-block;font-family:'Barlow Condensed';font-weight:800;letter-spacing:1px;text-transform:uppercase;font-size:12px;color:var(--gold);border:1px solid var(--line);border-radius:20px;padding:6px 14px;margin-bottom:14px}
/* MODO FUNDADOR (Adrio · gated por fone) · selo FINO na home (não compete com o CTA · Pilar 1) + tela solene 1ª vez */
.sf-ola{font-family:'Barlow Condensed';font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tx2);margin-bottom:5px}
.sf-line{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;font-family:'Barlow Condensed';font-weight:800;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(200,168,75,.4);border-radius:20px;padding:4px 12px}
.sf-line .sf-mkmini{width:15px;height:15px;flex:0 0 auto}
/* tela de boas-vindas do Fundador (1ª abertura) */
.fund-hero{width:72px;height:72px;margin:0 auto 18px;filter:drop-shadow(0 0 20px rgba(200,168,75,.35))}
.fund-eyebrow{font-family:'Barlow Condensed';font-weight:700;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.fund-num{display:inline-block;font-family:'Barlow Condensed';font-weight:900;font-size:15px;letter-spacing:2px;color:#15110a;background:var(--gold);border-radius:6px;padding:3px 16px;margin:12px 0 4px}
.fund-p{color:var(--tx2);font-size:15px;line-height:1.6;max-width:31ch;margin:14px auto 8px}
.fund-p b{color:var(--gold)}
/* question */
.qmeta{font-family:'Barlow Condensed';font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--mut);margin-bottom:12px}
.qtxt{font-size:21px;line-height:1.42;color:#fff;font-weight:500;text-align:left;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;overflow-wrap:break-word}
.qtxt .qlead{display:block}
.qtxt .it{display:block;margin-top:8px;padding-left:28px;text-indent:-28px;font-size:18px;line-height:1.4;color:var(--tx);text-align:left}
.qtxt .im{color:var(--gold);font-weight:800;margin-right:5px}
.qtxt .qask{display:block;margin-top:11px;color:#fff}
.ce{display:flex;gap:12px;margin-top:18px}
.ce button{flex:1;font-family:'Barlow Condensed';font-weight:900;font-size:20px;letter-spacing:1px;padding:18px 0;border-radius:14px;border:1.5px solid var(--line);background:var(--card);color:var(--tx2);cursor:pointer;transition:.12s}
.ce button.c:active{border-color:var(--green);color:#fff}
.ce button.e:active{border-color:var(--red);color:#fff}
.mc{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.mc button{display:flex;gap:11px;align-items:flex-start;text-align:left;width:100%;font-family:inherit;font-size:15px;line-height:1.34;padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--tx2);cursor:pointer;transition:.12s}
/* :hover só em dispositivo com mouse — no iPhone/touch o :hover GRUDA e a alternativa parece selecionada (bug 2026-07-08) */
@media(hover:hover){.ce button.c:hover{border-color:var(--green);color:#fff}.ce button.e:hover{border-color:var(--red);color:#fff}.mc button:hover{border-color:var(--gold);color:#fff}}
.mc button.right{border-color:var(--green);color:#fff;background:rgba(40,160,90,.09)}
.mc button.wrong{border-color:var(--red);color:#fff;background:rgba(200,42,36,.09)}
.mc button:disabled{cursor:default}
.mc .let{font-family:'Barlow Condensed';font-weight:900;color:var(--gold);flex:0 0 auto;min-width:15px}
.mc button.right .let{color:var(--green)}.mc button.wrong .let{color:var(--red)}
.foot-s{margin-top:14px;font-size:11px;color:var(--mut);text-align:center}
/* pular alvo: discreto, secundário — nunca compete com CERTO/ERRADO (o caminho principal é responder) */
.skip{display:block;margin:12px auto 0;background:transparent;border:none;color:var(--mut);font-size:12.5px;letter-spacing:.4px;padding:8px 14px;cursor:pointer;opacity:.75;transition:opacity .15s}
.skip:hover,.skip:active{opacity:1;color:var(--tx2)}
/* result */
.verdict{font-family:'Barlow Condensed';font-weight:900;font-size:46px;letter-spacing:1px;line-height:1}
.verdict.ok{color:var(--green)}.verdict.bad{color:var(--red)}
.youmark{color:var(--tx2);font-size:14px;margin:2px 0 14px}
.src{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mut);border:1px solid var(--line);border-radius:20px;padding:5px 13px;margin-bottom:12px}
.explain{background:rgba(255,255,255,.04);border-radius:14px;padding:16px;font-size:15.5px;line-height:1.5;color:var(--tx2)}
/* rever enunciado (founder 2026-07-12) · colapsado na tela de resposta — questão e explicação na MESMA tela (Pilar 1) */
.reveja{display:block;background:none;border:0;padding:0;margin:0 0 12px;color:var(--mut);font:inherit;font-size:13px;cursor:pointer;text-align:left}
.reveja:active{color:var(--tx2)}
@media(hover:hover){.reveja:hover{color:var(--tx2)}}
.enunrev{border-left:2px solid var(--line);padding:2px 0 2px 12px;margin:0 0 14px}
.enunrev .revtxt{font-size:14px}.enunrev .revtxt .it{font-size:13.5px}
.enunrev .ropts{margin-top:9px}.enunrev .ro{font-size:13px;padding:7px 9px}
/* hint do swipe-avançar · só aparece em touch (pointer:coarse) */
.swhint{display:none;text-align:center;font-size:11.5px;color:var(--mut);letter-spacing:.5px;margin-top:9px}
/* alternativa riscada (eliminação · gesto horizontal) — taxada mas legível e reversível */
.mc button.cut{opacity:.42}
.mc button.cut span:last-child{text-decoration:line-through}
.mc button.shake{animation:altshake .28s}
@keyframes altshake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(pointer:coarse){.swhint{display:block}}
/* reportar erro (founder 2026-07-12) · discreto abaixo do comentário — nunca compete com o "Próximo alvo" (Pilar 1) */
.repq{margin-top:14px;text-align:left}
.repbtn{background:none;border:1px solid var(--line);border-radius:9px;color:var(--mut);font:inherit;font-size:12.5px;padding:6px 12px;cursor:pointer}
.repbtn:active{color:var(--tx2)}
@media(hover:hover){.repbtn:hover{color:var(--tx2);border-color:var(--tx2)}}
.reptxt{width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--tx);font:inherit;font-size:14px;line-height:1.45;padding:10px 12px;resize:none}
.reptxt:focus{outline:none;border-color:var(--gold)}
.reprow{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.repcnt{font-size:11px;color:var(--mut)}
.repsend{background:none;border:1px solid var(--gold);border-radius:9px;color:var(--gold);font:inherit;font-size:12.5px;font-weight:600;padding:6px 14px;cursor:pointer}
.repsend:active{transform:scale(.97)}
.repdone{font-size:12.5px;color:var(--mut)}
.explain b{color:#fff}
.mtflag{background:linear-gradient(100deg,rgba(200,168,75,.16),rgba(200,168,75,.04));border-left:3px solid var(--gold);border-radius:10px;padding:12px 14px;font-size:13.5px;color:var(--gold);font-weight:600;margin-top:12px;display:flex;gap:8px;align-items:flex-start}
.requeue{font-size:13px;color:var(--amber);font-weight:600;margin-top:12px}
/* fundamento legal · chips (pós-resposta · extração determinística §4.2) */
.cites{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center}
.cites-h{font-family:'Barlow Condensed';font-weight:800;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut);width:100%;margin-bottom:1px}
.cite{font-family:'Barlow Condensed';font-weight:700;font-size:11.5px;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:7px;border:1px solid var(--line);color:var(--tx2);background:rgba(255,255,255,.03)}
.cite.v{border-color:rgba(200,168,75,.45);color:var(--gold);background:rgba(200,168,75,.09)}
.cite.lei{border-color:rgba(74,158,255,.35);color:#4a9eff}
.cite.jur{border-color:rgba(160,110,200,.4);color:#b89adf}
.requeue.ok{color:var(--green)}
.dp-lacre{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--gold);opacity:.75;margin-top:8px;font-family:'Barlow Condensed';font-weight:700;letter-spacing:.5px}
/* raio-x */
.rx h2{font-family:'Barlow Condensed';font-weight:900;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.kpi{font-family:'Barlow Condensed';font-weight:900;font-size:54px;line-height:.9}.kpi small{font-size:20px;color:var(--mut);font-weight:700}
.cov{display:flex;justify-content:space-between;font-size:13px;color:var(--mut);margin:18px 0 6px}
.bar2{height:12px;border-radius:7px;background:rgba(255,255,255,.21);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.bar2 i{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--gold));transition:width .8s ease}
.blind{margin-top:22px}
.blind .l{font-family:'Barlow Condensed';font-weight:800;letter-spacing:1px;text-transform:uppercase;font-size:12px;color:var(--red);margin-bottom:8px}
.blind .t{font-size:15px;color:var(--tx2);padding-left:18px;position:relative;margin-bottom:6px}
.blind .t::before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--red)}
.blind .t b{color:#fff}
.tomorrow{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:20px;font-size:14px;color:var(--tx2)}
.tomorrow b{color:var(--gold)}
/* Mapa do Edital · gamificação Fase 1 (território) */
.mapalink{display:block;width:100%;background:none;border:none;color:var(--gold);font-family:'Barlow Condensed';font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;text-align:right;padding:9px 2px 0;cursor:pointer}
.loadmsg{text-align:center;color:var(--mut);font-family:'Barlow Condensed';letter-spacing:2px;text-transform:uppercase}
.mhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 16px}
.mkpi b{font-family:'Barlow Condensed';font-weight:900;font-size:36px;color:var(--gold);line-height:1}
.mkpi small{color:var(--mut);font-size:13px;margin-left:6px}
.mleg{font-size:10px;color:var(--mut);display:flex;align-items:center;gap:8px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.5px}
.heat{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:22px}
.hc{width:12px;height:12px;border-radius:3px;display:inline-block;background:rgba(255,255,255,.13)}
.hc.dominado{background:var(--green)}.hc.fixacao{background:var(--gold)}
.hc.novo{background:rgba(255,255,255,.18)}.hc.em_breve{background:transparent;border:1px dashed rgba(255,255,255,.28)}
.mdisc{border-bottom:1px solid var(--line)}
.mdh{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;padding:13px 2px;cursor:pointer}
.mdn{font-family:'Barlow Condensed';font-weight:800;font-size:16px;letter-spacing:.3px;color:var(--tx)}
.mdc{font-family:'Barlow Condensed';font-weight:700;font-size:14px;color:var(--gold);white-space:nowrap}
.mdisc.vazia .mdn{color:var(--tx2)}.mdisc.vazia .mdc{color:var(--tx2);letter-spacing:1px;text-transform:uppercase;font-size:12px}
.mbar{grid-column:1/3;height:6px;border-radius:4px;background:rgba(255,255,255,.21);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.mbar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));transition:width .8s ease}
.mtops{display:none;padding:0 0 12px}
.mdisc.open .mtops{display:block}
.mt{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--tx2);padding:6px 2px}
.mt .mtd{width:8px;height:8px;border-radius:50%;flex:none;background:rgba(255,255,255,.14)}
.mt.dominado{color:var(--tx)}.mt.dominado .mtd{background:var(--green)}
.mt.fixacao .mtd{background:var(--gold)}
.mt.em_breve{color:var(--mut)}.mt.em_breve .mtd{background:transparent;border:1px dashed rgba(255,255,255,.28)}
/* menuzinho de extras (mapa · previsão) + tela Previsão Delta 2027 */
.submenu{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:12px}
.submenu button{background:none;border:none;color:var(--gold);font-family:'Barlow Condensed';font-weight:700;font-size:13px;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;padding:2px}
.submenu span{color:var(--mut);font-size:12px}
/* Cadência · janela móvel de 10 dias (gamificação Fase 1.5) */
.cad{margin:18px 0 4px}
.cadh{display:flex;justify-content:space-between;font-size:13px;color:var(--mut);margin-bottom:8px}
.cadbar{display:flex;gap:4px}
.cadbar .cseg{flex:1;height:11px;border-radius:3px;background:rgba(255,255,255,.21);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.cadbar .cseg.on{background:linear-gradient(180deg,var(--goldd),var(--gold))}
.cadbar .cseg.hoje{outline:1.5px solid var(--gold);outline-offset:1px}
.cadbar .cseg.hoje.on{background:var(--green)}
.cadmsg{font-size:12px;color:var(--tx2);text-align:center;margin-top:8px}
/* Patente · rank pessoal por domínio (gamificação Fase 1.5) */
.pat{margin:14px 0 4px}
.path{display:flex;justify-content:space-between;font-size:13px;color:var(--mut);margin-bottom:5px}
.patlv{font-family:'Barlow Condensed';font-weight:700;letter-spacing:.5px}
.patnome{font-family:'Barlow Condensed';font-weight:900;font-size:27px;letter-spacing:.5px;text-transform:uppercase;line-height:1;margin-bottom:10px}
.patbar{height:8px;border-radius:5px;background:rgba(255,255,255,.21);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.patbar i{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--gold));transition:width .8s ease}
.patn{font-size:12px;color:var(--tx2);margin-top:8px}
.patn b{color:var(--gold)}
.patwrap{display:flex;gap:16px;align-items:center}
.patselo{width:84px;height:84px;flex-shrink:0}
.patselo svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5))}
.patinfo{flex:1;min-width:0}
.patshare{margin-top:12px;width:100%;background:transparent;color:#25D366;border:1.5px solid rgba(37,211,102,.55);border-radius:10px;padding:11px;font-family:'Barlow Condensed';font-weight:800;font-size:15px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.patshare:active{transform:scale(.98)}
.pvsub{color:var(--tx2);font-size:14px;max-width:34ch;margin:0 auto 4px;line-height:1.5}
.pvsub b{color:var(--tx)}
/* Desempenho (anti-vaidade) */
.dsec{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}
.dsh{font-family:'Barlow Condensed';font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--tx2);margin-bottom:11px}
.dpbar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#00000030;margin-bottom:9px}
.dpbar i{display:block;height:100%}.dpbar .dom{background:var(--gold)}.dpbar .fix{background:#6a6a55}
.dpleg{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--tx2)}.dpleg b{color:var(--tx)}.dpleg .gold b{color:var(--gold)}.dpleg .mut{color:var(--mut)}
.dpn{font-size:12.5px;color:var(--mut);margin-top:9px;line-height:1.45}
.drow{display:flex;align-items:center;gap:9px;margin:7px 0}
.drn{flex:0 0 34%;font-size:12.5px;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drbar{flex:1;height:8px;border-radius:4px;background:#00000030;overflow:hidden}.drbar i{display:block;height:100%;background:var(--gold)}
.drp{font-size:12.5px;color:var(--gold);font-weight:700;min-width:34px;text-align:right}.drc{font-size:11px;color:var(--mut);min-width:38px;text-align:right}
.dcurve{display:flex;align-items:flex-end;gap:4px;height:74px}
.dcbar{flex:1;height:100%;display:flex;align-items:flex-end}
.dcbar .tot{display:block;width:100%;background:#4a4a3a;border-radius:3px 3px 0 0;position:relative;min-height:3px}
.dcbar .ac{position:absolute;bottom:0;left:0;width:100%;background:var(--gold);border-radius:3px 3px 0 0}
.drr{font-size:13px;color:var(--tx2);line-height:1.5;padding:8px 0;border-top:1px solid var(--line)}
.drr:first-of-type{border-top:0}.drr b{color:var(--tx)}
.pvchips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:18px 0 8px}
.pvchips span{font-size:12px;color:var(--mut);border:1px solid var(--line);border-radius:20px;padding:5px 11px}
.pvchips b{color:var(--tx2);font-family:'Barlow Condensed';font-weight:800;font-size:14px}
.pvchips .a b{color:var(--amber)}.pvchips .n b{color:var(--green)}.pvchips .s b{color:var(--red)}
.pvg{margin-top:22px;text-align:left}
.pvh{font-family:'Barlow Condensed';font-weight:900;font-size:13px;letter-spacing:1.5px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.pvh.novo{color:var(--green)}.pvh.substituir{color:var(--red)}.pvh.atualizar{color:var(--amber)}
.pv{border-left:2px solid var(--line);padding:1px 0 2px 12px;margin-bottom:14px}
.pv.novo{border-color:var(--green)}.pv.substituir{border-color:var(--red)}.pv.atualizar{border-color:var(--amber)}
.pvt{font-size:15px;color:var(--tx);font-weight:600;line-height:1.35}
.pvd{font-family:'Barlow Condensed';font-weight:700;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--mut);margin:3px 0 6px}
.pvm{font-size:13px;color:var(--tx2);line-height:1.45;background:var(--card);border-radius:8px;padding:8px 10px}
/* PWA · card de instalação pós Raio-X */
.pwa{background:linear-gradient(100deg,rgba(200,168,75,.15),rgba(200,168,75,.03));border:1px solid rgba(200,168,75,.32);border-radius:14px;padding:15px 16px;margin-top:18px}
.pwa-h{font-family:'Barlow Condensed';font-weight:900;font-size:18px;color:var(--gold);letter-spacing:.3px;margin-bottom:5px;text-transform:uppercase}
.pwa-b{font-size:14px;color:var(--tx2);line-height:1.5}
.pwa-b b{color:#fff}
.pwa .btn{margin-top:11px}
.mastery{font-family:'Barlow Condensed';font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);text-align:center;margin-top:16px}
.devnote{margin-top:26px;border-top:1px dashed var(--line);padding-top:12px;font-size:11px;color:var(--mut);text-align:center;line-height:1.5}
.doutrina{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;text-align:center}
.doutrina .dq{display:block;font-family:'Barlow Condensed';font-weight:600;font-size:17px;letter-spacing:.3px;color:var(--tx2);line-height:1.35}
.doutrina .ds{display:block;margin-top:6px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);opacity:.85}
/* revisão comentada da bateria (página aberta pelo link do zap · ?rev=) */
.revsub{color:var(--tx2);font-size:14px;margin:8px 0 4px;line-height:1.45}
.revlist{margin-top:8px}
.revq{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:14px}
.revh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.revn{font-family:'Barlow Condensed';font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut)}
.revbadge{font-family:'Barlow Condensed';font-weight:800;font-size:12px;letter-spacing:.5px;padding:3px 9px;border-radius:7px;white-space:nowrap}
.revbadge.ok{color:var(--green);background:rgba(84,185,138,.12);border:1px solid rgba(84,185,138,.35)}
.revbadge.bad{color:var(--red);background:rgba(226,90,82,.12);border:1px solid rgba(226,90,82,.35)}
.revtxt{font-size:16px;line-height:1.42;color:var(--tx);text-align:left;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word}
.revtxt .qlead{display:block}
.revtxt .it{display:block;margin-top:6px;padding-left:24px;text-indent:-24px;font-size:15px;color:var(--tx2)}
.revtxt .im{color:var(--gold);font-weight:800;margin-right:5px}
.revtxt .qask{display:block;margin-top:9px;color:var(--tx)}
.ropts{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.ro{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.34;padding:9px 11px;border-radius:10px;border:1px solid var(--line);color:var(--tx2)}
.ro.right{border-color:var(--green);color:#fff;background:rgba(40,160,90,.09)}
.rol{font-family:'Barlow Condensed';font-weight:900;color:var(--mut);flex:0 0 auto;min-width:14px}
.ro.right .rol{color:var(--green)}
.rgab{margin-top:12px;font-size:15px;color:var(--tx2)}
.rgab b{font-family:'Barlow Condensed';font-weight:900;font-size:17px;letter-spacing:.5px}
.rgab .gpos{color:var(--green)}.rgab .gneg{color:var(--red)}
.revsrc{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mut);border:1px solid var(--line);border-radius:20px;padding:4px 11px;margin:12px 0}
.revq .explain{margin-top:2px}
.fade{animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* rodapé de legitimidade · marca + institucional (porta da frente) */
.dfoot{margin-top:28px;text-align:center;padding-bottom:6px}
.dfoot-sobre{background:none;border:none;color:var(--mut);font-size:12px;letter-spacing:.5px;cursor:pointer;padding:8px 16px;font-family:'Barlow'}
.dfoot-sobre:active{color:var(--gold)}
/* sheet "Sobre" (bottom-sheet · legal + contato · cara de app de loja) */
.sheet,.dpmodal,.soc-ov{position:fixed;inset:0;display:flex;justify-content:center}   /* base de overlay (code-review · dedup dos 3 modais) — cada um só diverge em z-index/bg/align/anim */
.sheet{background:rgba(0,0,0,.62);z-index:120;align-items:flex-end;backdrop-filter:blur(2px)}
.sheet-card{background:var(--card);border:1px solid var(--line);border-bottom:none;border-radius:22px 22px 0 0;width:100%;max-width:480px;padding:10px 20px calc(20px + var(--sab));animation:sheetUp .22s cubic-bezier(.2,.8,.3,1)}
@keyframes sheetUp{from{transform:translateY(48px);opacity:.3}to{transform:translateY(0);opacity:1}}
.sheet-grab{width:38px;height:4px;border-radius:2px;background:var(--line);margin:4px auto 16px}
.sheet-head{display:flex;align-items:center;gap:13px;padding:0 4px 16px}
.sheet-mk{width:42px;height:42px;flex:0 0 auto;filter:drop-shadow(0 0 10px rgba(200,168,75,.25))}
.sheet-head-tx{text-align:left}
.sheet-wm{font-family:'Barlow Condensed';font-weight:900;font-size:22px;letter-spacing:.5px;color:var(--tx);line-height:1}.sheet-wm b{color:var(--gold)}
.sheet-ver{color:var(--mut);font-size:12px;letter-spacing:.3px;margin-top:3px}
.sheet-list{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.sheet-link{display:flex;align-items:center;gap:13px;padding:14px 15px;color:var(--tx);text-decoration:none;background:transparent;transition:background .12s}
.sheet-link + .sheet-link{border-top:1px solid var(--line)}
.sheet-link:active{background:rgba(200,168,75,.08)}
.sl-ic{width:34px;height:34px;border-radius:10px;background:rgba(200,168,75,.10);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.sl-ic svg{width:19px;height:19px}
.sl-tx{display:flex;flex-direction:column;line-height:1.25;text-align:left;min-width:0}
.sl-tx b{font-size:15px;font-weight:600;color:var(--tx)}
.sl-tx small{font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-ch{margin-left:auto;color:var(--mut);font-size:20px;line-height:1}
.sheet-foot{text-align:center;color:var(--mut);font-family:'Barlow Condensed';font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;margin:16px 0 12px}
.sheet-close{width:100%;background:transparent;border:1.5px solid var(--line);color:var(--tx2);border-radius:14px;padding:14px;font-family:'Barlow Condensed';font-weight:900;font-size:16px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}
.sheet-close:active{transform:scale(.98)}
/* ── TEMA CLARO (Phase 4) · opt-in nas telas de acesso · CSS vars fazem quase tudo; alguns brancos
   hardcoded (texto de questão/comentário/alternativa certa) recebem override escuro pra não sumir no branco.
   ⚠ dilui a identidade tática escura — é escolha do aluno (o ouro perde contraste no branco → gold mais fechado). */
html[data-theme=light]{--bg:#f1efe8;--scr:#faf8f3;--card:#ffffff;--tx:#191a1f;--tx2:#45474f;--mut:#8a8c94;
--gold:#9a7a1c;--goldd:#c8a84b;--red:#c2352e;--redb:#DC2A24;--amber:#a5761a;--green:#2f9469;--line:rgba(0,0,0,.13)}
html[data-theme=light] body{background:radial-gradient(120% 50% at 85% -5%,rgba(200,168,75,.09),transparent 55%),radial-gradient(90% 45% at 0% 102%,rgba(220,42,36,.09),transparent 55%),var(--bg);background-attachment:fixed}
html[data-theme=light] .qtxt,html[data-theme=light] .qtxt .qask,html[data-theme=light] .qtxt .it,
html[data-theme=light] .explain b,html[data-theme=light] .blind .t b,html[data-theme=light] .revtxt .qask,
html[data-theme=light] .mc button.right,html[data-theme=light] .mc button.wrong,html[data-theme=light] .ro.right{color:#141308}
html[data-theme=light] .dots i:not(.on):not(.cur):not(.miss){background:rgba(0,0,0,.12)}
/* trilhos/overlays brancos (tunados pro escuro) somem no branco → re-tinta escuro no tema claro */
html[data-theme=light] .bar2,html[data-theme=light] .mbar,html[data-theme=light] .cadbar .cseg,html[data-theme=light] .patbar{background:rgba(0,0,0,.11);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
html[data-theme=light] .explain{background:rgba(0,0,0,.045)}
html[data-theme=light] .cite{background:rgba(0,0,0,.03)}
html[data-theme=light] .hc,html[data-theme=light] .hc.novo{background:rgba(0,0,0,.11)}
/* o seletor acima (html[...] .hc) tem especificidade MAIOR que .hc.dominado/.fixacao/.em_breve e repintava
   TODO o heatmap de cinza no tema claro: território conquistado sumia e a legenda virava mentira. Re-crava. */
html[data-theme=light] .hc.dominado{background:var(--green)}
html[data-theme=light] .hc.fixacao{background:var(--gold)}
html[data-theme=light] .hc.em_breve{background:transparent;border-color:rgba(0,0,0,.3)}
html[data-theme=light] .cite.lei{color:#1f6fd6;border-color:rgba(31,111,214,.4)}
html[data-theme=light] .cite.jur{color:#6a3fa0;border-color:rgba(106,63,160,.4)}
/* estados interativos dos botões de resposta: no escuro viram texto branco; no claro seriam branco-no-branco → escurece */
html[data-theme=light] .ce button.c:active,html[data-theme=light] .ce button.e:active{color:#141308}
@media(hover:hover){html[data-theme=light] .ce button.c:hover,html[data-theme=light] .ce button.e:hover,html[data-theme=light] .mc button:hover{color:#141308}}
/* modal on-brand (voltar na bateria · founder 2026-07-14) — substitui o confirm() do sistema */
.dpmodal{z-index:9999;background:rgba(6,7,10,.74);backdrop-filter:blur(3px);align-items:center;padding:26px;animation:dpmf .14s ease}
@keyframes dpmf{from{opacity:0}to{opacity:1}}
.dpmbox{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 22px 20px;max-width:340px;width:100%;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.55);animation:dpmp .16s ease}
@keyframes dpmp{from{transform:translateY(10px) scale(.97);opacity:.4}to{transform:none;opacity:1}}
.dpmh{font-family:'Barlow Condensed';font-weight:900;font-size:27px;letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:9px}
.dpmt{font-size:15px;line-height:1.5;color:var(--tx2);margin-bottom:20px}
.dpmbtns{display:flex;gap:10px}
.dpmb{flex:1;padding:14px;border-radius:11px;border:none;font-family:'Barlow Condensed';font-weight:900;font-size:16px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:linear-gradient(180deg,var(--goldd),var(--gold));color:#15110a;transition:transform .08s}
.dpmb:active{transform:scale(.97)}
.dpmb.ghost{background:transparent;border:1.5px solid var(--line);color:var(--tx2)}
/* --- PROGRESS RING (Raio-X) --- */
.ring-wrap {
  position: relative;
  width: 140px;
  height: 140px;
  margin: 0 auto 20px;
}
.ring-svg {
  transform: rotate(-90deg);
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 0 10px rgba(0,0,0,0.5));
}
.ring-bg {
  fill: none;
  stroke: rgba(255,255,255,0.06);
  stroke-width: 8;
}
.ring-fill {
  fill: none;
  stroke: var(--gold);
  stroke-width: 8;
  stroke-linecap: round;
  stroke-dasharray: 377;
  stroke-dashoffset: 377;
  transition: stroke-dashoffset 1.5s cubic-bezier(0.1, 0.8, 0.2, 1);
}
.ring-fill.ok { stroke: var(--green); }
.ring-fill.bad { stroke: var(--red); }
.ring-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.ring-text .kpi {
  font-family: "Barlow Condensed";
  font-weight: 900;
  font-size: 42px;
  line-height: 1;
  color: var(--gold);
}
.ring-text .kpi small {
  display: block;
  font-size: 14px;
  color: var(--mut);
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: -2px;
}


/* ── SAGA · interstitial da corrida (arte do EP entre os blocos de 3 itens) ──
   Fundo escuro FIXO nos dois temas: a arte manda no clima (tema claro não lava a cena). */
.sagai { background: #050507; justify-content: flex-start; text-align: center; }
.sagai img { width: 100%; max-width: 460px; height: auto; max-height: 52vh; object-fit: contain; display: block; margin: 0 auto; }
.sagai .sg-ep { color: #a0a2ae; font-family: "Barlow Condensed"; font-weight: 900; font-size: 14px; letter-spacing: 3px; margin-top: 12px; text-transform: uppercase; }
.sagai .sg-tt { color: #C8A84B; font-family: "Barlow Condensed"; font-weight: 900; font-size: 30px; letter-spacing: 1.5px; line-height: 1.05; margin-top: 2px; }
.sagai .sg-base { color: #cfd0d6; font-size: 15px; line-height: 1.55; margin: 12px auto 0; max-width: 420px; padding: 0 18px; }
.sagai .sg-placar { color: #a0a2ae; font-size: 12px; letter-spacing: 2px; margin-top: 12px; text-transform: uppercase; }

/* ── MODO AMORZINHO (Leslen · presente do founder 23/07 · gated por duo_feature_flag · html[data-amor]) ──
   rose delicado no lugar do ouro · ponto do Δ vira rosa · ♥ no lockup e no CERTO · verde/vermelho de
   acerto/erro FICAM (semântica de treino). Vale nos dois temas (bloco light com rose mais fechado). */
html[data-amor="1"]{--gold:#E8A4B8;--goldd:#F2BCCB;--amber:#E8A4B8}
html[data-theme=light][data-amor="1"]{--gold:#C2688C;--goldd:#D883A6;--amber:#C2688C}
html[data-amor="1"] .mkb circle,html[data-amor="1"] .mk circle{fill:#E86A8F}
html[data-amor="1"] .bar .wm b::after{content:" ♥";color:#E8A4B8;font-size:15px;vertical-align:2px}
html[data-theme=light][data-amor="1"] .bar .wm b::after{color:#C2688C}
html[data-amor="1"] .dots i.cur{background:#E8A4B8}
.amor-h{color:#E86A8F}

/* ── SELO-HERÓI + placar do dia (founder 23/07 · substitui o anel em cotaCumprida/raiox) ── */
.shero{width:150px;margin:2px auto 10px;animation:sheroIn .5s cubic-bezier(.2,.8,.3,1.15)}
.shero svg{width:100%;height:100%;display:block;filter:drop-shadow(0 10px 30px rgba(0,0,0,.6))}
@keyframes sheroIn{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}
.splacar{font-family:'Barlow Condensed';font-weight:900;font-size:46px;line-height:1;color:var(--gold);text-align:center;margin-bottom:16px}
.splacar .sden{font-size:23px;color:var(--mut);font-weight:700}
.splacar small{display:block;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--mut);font-weight:700;margin-top:4px}
.splacar.ok{color:var(--green)}.splacar.bad{color:var(--red)}

/* ── MODO SOCRÁTICO · botão no alvo + painel de chat (piloto gated · 2026-07-23) ── */
.soc-open{display:block;width:100%;margin-top:12px;background:transparent;border:1px dashed rgba(200,168,75,.45);color:var(--gold);border-radius:11px;padding:10px;font-family:"Barlow Condensed";font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .12s}
.soc-open:active{background:rgba(200,168,75,.09)}
.soc-ov{z-index:950;background:rgba(0,0,0,.6);align-items:flex-end;animation:socfade .16s ease}
@keyframes socfade{from{opacity:0}to{opacity:1}}
.soc-sheet{width:100%;max-width:480px;height:87vh;background:var(--scr);border:1px solid rgba(200,168,75,.25);border-bottom:0;border-radius:18px 18px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 44px rgba(0,0,0,.55);animation:socup .2s cubic-bezier(.2,.8,.2,1)}
@keyframes socup{from{transform:translateY(24px)}to{transform:translateY(0)}}
.soc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);font-family:"Barlow Condensed";font-weight:900;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);font-size:15px}
.soc-x{background:transparent;border:1px solid var(--line);color:var(--tx2);border-radius:9px;padding:7px 11px;font-family:"Barlow Condensed";font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;flex:0 0 auto}
.soc-x:active{transform:scale(.96)}
.soc-log{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:11px}
.soc-msg{max-width:86%;padding:11px 14px;border-radius:14px;font-size:15.5px;line-height:1.5;word-wrap:break-word;white-space:normal}
.soc-msg.a{align-self:flex-start;background:var(--card);color:var(--tx);border:1px solid rgba(200,168,75,.16);border-bottom-left-radius:4px}
.soc-msg.u{align-self:flex-end;background:linear-gradient(180deg,var(--goldd),var(--gold));color:#15110a;border-bottom-right-radius:4px}
.soc-typing{display:flex;align-items:center;gap:9px;padding:6px 4px;color:var(--mut);font-size:14.5px}
.soc-tri{width:26px;height:26px;flex:0 0 auto;animation:soctri 1.05s ease-in-out infinite;filter:drop-shadow(0 0 5px rgba(200,168,75,.55))}
@keyframes soctri{0%,100%{opacity:.4;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
.soc-dots{display:inline-flex;gap:3px;align-items:flex-end}
.soc-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.3;animation:socbounce 1.2s infinite}
.soc-dots i:nth-child(2){animation-delay:.18s}.soc-dots i:nth-child(3){animation-delay:.36s}
@keyframes socbounce{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.soc-in{display:flex;gap:8px;padding:8px 12px calc(12px + var(--sab));border-top:1px solid var(--line);align-items:flex-end}
/* campo de texto: era bg #0a0a0d dentro do sheet #0c0c10 (invisível) + placeholder default do browser
   ilegível no escuro (founder 23/07) → elevação (--card), borda viva, placeholder e caret explícitos */
.soc-in textarea{flex:1;resize:none;background:var(--card);color:var(--tx);border:1px solid rgba(255,255,255,.24);border-radius:12px;padding:11px 13px;font-size:15.5px;font-family:inherit;line-height:1.4;max-height:120px;outline:none;caret-color:var(--gold)}
.soc-in textarea::placeholder{color:#90929e;opacity:1}
.soc-in textarea:focus{border-color:var(--gold);box-shadow:0 0 0 1px rgba(200,168,75,.35)}
html[data-theme=light] .soc-in textarea{border-color:rgba(0,0,0,.24)}
html[data-theme=light] .soc-in textarea::placeholder{color:#7c7e88}
.soc-send{background:linear-gradient(180deg,var(--goldd),var(--gold));color:#15110a;border:0;border-radius:12px;width:46px;font-size:22px;font-weight:900;cursor:pointer;flex:0 0 auto}
.soc-send:active{transform:scale(.96)}
.soc-msg.u.fail{opacity:.75;border:1px dashed rgba(226,90,82,.65)}
.soc-fail-note{font-size:10.5px;letter-spacing:.3px;margin-top:5px;color:#7a2e28;font-style:italic}
.soc-foot{padding:0 12px}
/* degustação usada: o textarea (.soc-in, que carrega o --sab) é removido → .soc-foot vira o último
   elemento e o botão "Quero o Sócrates liberado" ficava atrás da barra de navegação do Android.
   :last-child só dispara nesse caso (no fluxo normal o .soc-in segue o .soc-foot) — cirúrgico. */
.soc-foot:last-child{padding-bottom:calc(8px + var(--sab))}
.soc-ready{display:block;width:100%;margin:2px 0 8px;background:linear-gradient(180deg,var(--goldd),var(--gold));color:#15110a;border:0;border-radius:12px;padding:13px;font-family:"Barlow Condensed";font-weight:900;font-size:16px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}
.soc-ready:active{transform:scale(.98)}
.soc-ready.ghost{background:transparent;border:1px solid rgba(200,168,75,.5);color:var(--gold);margin-top:0}   /* CTA secundário do convite (falar com o Maurício) · não compete com o "Indicar" dourado */
.soc-refstat{font-size:13.5px;background:rgba(200,168,75,.08);border:1px solid rgba(200,168,75,.22)}   /* status das indicações na tela de degustação-usada */

/* ── NATIVE SPLASH OVERLAY (app nativo · fundo preto com Δ pulsando) ── */
#ns{position:fixed;inset:0;background:#000;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transition:opacity .5s ease,visibility .5s ease}
#ns.ns-out{opacity:0;visibility:hidden}
#ns .ns-tri{width:90px;height:90px;animation:nsPulse 1.5s ease-in-out infinite}
#ns .ns-label{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:18px;letter-spacing:3px;color:#C8A84B;opacity:.7;text-transform:uppercase;animation:nsFade 1.5s ease-in-out infinite}
@keyframes nsPulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@keyframes nsFade{0%,100%{opacity:.4}50%{opacity:.85}}

/* ── TEMA CLARO · corredor obrigatório (review 16/08): anamnese/telefone/modal nasciam branco-em-branco ──
   .dpmh era #fff hardcoded (invisível no modal claro) · inputs/selects da .anq herdavam rgba branca ·
   #phInput tem style inline → !important. 23 togglers reais de tema claro em 30d pagavam esse corredor. */
html[data-theme=light] .dpmh{color:var(--tx)}
html[data-theme=light] .anq select,html[data-theme=light] .anq textarea,html[data-theme=light] .anq input{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.2);color:var(--tx)}
html[data-theme=light] .anq>span{color:#5a5c64}
html[data-theme=light] .anchk{border-color:rgba(0,0,0,.25);color:var(--tx)}
html[data-theme=light] #phInput{background:rgba(0,0,0,.05)!important;border:1px solid rgba(0,0,0,.2)!important;color:var(--tx)!important}
