/* App do Mapa da sua prova: modo app em tela cheia, copiado da LP Rota da Aprovação
   (2026/11-novembro/iniciativas/02-lp-freemium-rota/entregas/lp/assets/style.css).
   Tudo fica sob #app para não vazar na landing. As variáveis da Rota ficam em #app e só valem dentro dele. */
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/PlusJakartaSans-latin-var.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/InstrumentSerif-Italic-latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/InstrumentSerif-Regular-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

#app{
  --bg:#f4f7fb; --bg-alt:#e9eef5; --surface:#ffffff;
  --ink:#0f1c2e; --muted:#4e5d75; --subtle:#56667e; --line:#d5dde8;
  --primary:#2f5fc1; --primary-deep:#1f4fbf; --azure-soft:rgba(47,95,193,.1);
  --night:#061616; --night-2:#081c1c; --night-line:rgba(255,255,255,.12);
  --lime:#b6ff3c; --ok:#1c7d53; --ok-soft:rgba(28,125,83,.1); --err:#c24260; --err-soft:rgba(194,66,96,.09);
  --warn:#d65600;
  --r:16px; --r-lg:22px;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--ink);-webkit-font-smoothing:antialiased;
}
/* base da Rota, só dentro do app */
#app *,#app *::before,#app *::after{box-sizing:border-box}
#app img{max-width:100%;height:auto;display:block}
#app h2,#app h3,#app p,#app ul,#app ol,#app figure{margin:0}
#app ul,#app ol{padding:0;list-style:none}
#app :focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:8px}
#app [hidden]{display:none!important}
#app h2{font-size:clamp(1.7rem,6.2vw,2.7rem);line-height:1.1;font-weight:800;letter-spacing:-.028em;text-wrap:balance}
#app h3{font-size:1.1rem;font-weight:700}
#app .tela-t label{margin:0}

/* ---- regras do shell, na ordem original da Rota ---- */
#app .serif,#app em.serif{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--primary);letter-spacing:-.01em}
#app .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border:0;border-radius:14px;background:var(--primary);color:#fff;font:700 1rem/1 var(--sans);text-decoration:none;cursor:pointer;box-shadow:0 4px 0 var(--primary-deep),0 14px 28px -12px rgba(47,95,193,.6);transition:transform .08s ease,box-shadow .08s ease,background .15s}
#app .btn:hover{background:#3869cf}
#app .btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--primary-deep)}
#app .btn:disabled{background:#d3dbe8;color:#55657f;box-shadow:0 4px 0 #bcc7d8;cursor:not-allowed}
#app .btn-grande{min-height:58px;font-size:1.08rem;padding:0 32px}
#app .btn-bloco{width:100%}
#app h2 em.serif{font-size:1.1em}
#app .ok-selo{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:var(--ok);display:grid;place-items:center}
#app .ok-selo svg{width:36px;height:36px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#app .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes tremer{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
#app .tremer{animation:tremer .35s}
#app .chips-info{font-size:.88rem;color:var(--subtle);margin:14px 0 0;min-height:1.4em}
#app .chips-info.aviso{color:var(--warn);font-weight:600}
#app .tf-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#app .tf-op{min-height:56px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:700 1rem/1.2 var(--sans);padding:10px 12px;cursor:pointer;text-align:center;transition:border-color .15s,background .15s,transform .08s;box-shadow:0 3px 0 var(--line)}
#app .tf-op:hover{border-color:#9fb4d8}
#app .tf-op:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}
#app .tf-op[aria-pressed="true"]{border-color:var(--primary);background:var(--azure-soft);color:var(--primary-deep);box-shadow:0 3px 0 rgba(47,95,193,.45)}
#app .tf-select{margin-top:12px}
#app .tf-select select,#app .tela input[type=text],#app .tela input[type=tel],#app .tela input[type=email]{width:100%;min-height:58px;border:2px solid var(--line);border-radius:14px;background:#fff;padding:0 16px;font:600 1.1rem var(--sans);color:var(--ink);appearance:none;-webkit-appearance:none}
#app .tf-select select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%234e5d75' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
#app .tela input[type=text],#app .tela input[type=tel],#app .tela input[type=email]:focus,#app .tf-select select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px var(--azure-soft)}
#app .erro{display:block;font-size:.86rem;color:var(--err);font-weight:700;margin-top:10px}
#app .erro:empty{display:none}
@media (min-width:768px){#app .tf-opcoes{grid-template-columns:repeat(3,1fr)}}
body.app-aberto{position:fixed;left:0;right:0;width:100%;overflow:hidden}
#app{position:fixed;left:0;right:0;top:var(--vvt,0px);height:var(--vvh,100dvh);z-index:100;display:flex;flex-direction:column;background:var(--bg);overscroll-behavior:contain}
#app[hidden]{display:none!important}
#app .app-top{flex:none;display:flex;align-items:center;gap:12px;width:100%;max-width:680px;margin:0 auto;padding:calc(12px + env(safe-area-inset-top)) 16px 10px}
#app .app-btn{width:44px;height:44px;flex:none;border-radius:12px;border:2px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer}
#app .app-btn[hidden]{display:none}
#app .app-btn svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
#app .app-btn:hover{border-color:var(--primary)}
#app .app-voltar[hidden]{visibility:hidden;display:grid!important}
#app-voltar[hidden]{display:grid!important;visibility:hidden}
#app .app-prog{flex:1;height:8px;border-radius:99px;background:#dfe6f1;overflow:hidden}
#app .app-prog i{display:block;height:100%;width:4%;border-radius:99px;background:linear-gradient(90deg,var(--primary),#4d8eff);transition:width .45s var(--ease)}
#app .app-palco{position:relative;flex:1;min-height:0;overflow:hidden}
#app .tela{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg);margin:0}
#app .tela[hidden]{display:none!important}
#app .tela-corpo{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 0 28px}
#app .tela-miolo{width:100%;max-width:640px;margin:0 auto;padding:0 20px}
#app .tela-t{font-size:clamp(1.75rem,7.4vw,2.6rem);line-height:1.1;font-weight:800;letter-spacing:-.03em;text-wrap:balance;outline:none}
#app .tela-t em.serif{font-size:1.1em}
#app .tela-t label{font:inherit;display:block;cursor:text}
#app .tela-s{color:var(--muted);margin-top:16px;font-size:1.06rem;max-width:30em}
#app .tela-rodape{flex:none;padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(244,247,251,.96)}
#app .tela-rodape>*{display:flex;max-width:600px;margin-left:auto;margin-right:auto}
#app .busca{display:flex;align-items:center;gap:10px;margin-top:22px;min-height:58px;border:2px solid var(--line);border-radius:16px;background:#fff;padding:0 16px;transition:border-color .15s,box-shadow .15s}
#app .busca:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--azure-soft)}
#app .busca svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--subtle);stroke-width:2.2;stroke-linecap:round}
#app .busca input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:600 1.05rem var(--sans);color:var(--ink);min-height:54px;appearance:none;-webkit-appearance:none}
#app .busca input::-webkit-search-cancel-button{-webkit-appearance:none}
#app .lista-t{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin:24px 0 10px}
#app .lista{display:grid;gap:10px}
#app .lista-item{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:2px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:800 1.06rem/1.2 var(--sans);padding:12px 18px;cursor:pointer;box-shadow:0 3px 0 var(--line);transition:border-color .15s,background .15s,transform .08s,box-shadow .15s}
#app .lista-item:hover{border-color:#9fb4d8}
#app .lista-item:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}
#app .lista-item svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--primary);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
#app .lista-ck{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;flex:none}
#app .lista-ck svg{stroke:#fff;opacity:0}
#app .lista-item[aria-pressed="true"]{border-color:var(--primary);background:var(--azure-soft);color:var(--primary-deep);box-shadow:0 3px 0 rgba(47,95,193,.45)}
#app .lista-item[aria-pressed="true"] .lista-ck{background:var(--primary);border-color:var(--primary)}
#app .lista-item[aria-pressed="true"] .lista-ck svg{opacity:1}
#app .vazio{margin-top:16px;background:#fff6dc;border:1px solid #f0cf7a;color:#7a5200;border-radius:12px;padding:12px 14px;font-weight:600;font-size:.94rem}
#app .vazio[hidden]{display:none}
#app .tela .tf-opcoes{margin-top:2px}
#app .tela .btn:disabled{opacity:1}
@media (min-width:768px){#app .tela-corpo{padding-top:30px}
#app .tela-miolo{padding:0 28px}
#app .tela-rodape{padding-left:28px;padding-right:28px}
#app .tf-opcoes{grid-template-columns:repeat(3,1fr)}}
#app .tela{--telabg:var(--bg)}
#app .mb{position:sticky;top:-14px;z-index:6;display:flex;align-items:flex-start;gap:10px;margin:-14px -20px 14px;padding:14px 20px 10px;background:linear-gradient(var(--telabg) 86%,transparent)}
#app .mb-av{width:40px;height:40px;flex:none;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 8px 18px -10px rgba(15,28,46,.5)}
#app .mb-av img{width:24px;height:auto}
#app .mb-b{min-width:0;flex:1;background:#fff;border:1px solid var(--line);border-radius:6px 16px 16px 16px;padding:8px 14px 10px;box-shadow:0 10px 24px -16px rgba(15,28,46,.45)}
#app .mb-n{display:block;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}
#app .mb-t{font-size:.98rem;line-height:1.38;font-weight:600;color:var(--ink);margin:1px 0 0;min-height:1.38em}
@media (min-width:768px){#app .mb{margin-left:-28px;margin-right:-28px;padding-left:28px;padding-right:28px;top:-30px;margin-top:-30px}
#app .mb-t{font-size:1.05rem}}
#app .mb+.tela-t,#app .mb+.prova-sel{margin-top:2px}
#app .recomp{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 8px 20px;animation:recomp-in .45s var(--ease) both}
@keyframes recomp-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
#app .recomp-selo{width:60px;height:60px;border-radius:50%;background:var(--ok);display:grid;place-items:center;margin-bottom:12px}
#app .recomp-selo svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
#app .recomp-num{font-family:var(--serif);font-style:normal;font-size:clamp(4rem,22vw,6.4rem);line-height:1;color:var(--primary);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
#app .recomp-txt{font-size:1.2rem;font-weight:700;line-height:1.3;max-width:15em;margin-top:6px;text-wrap:balance}
#app .recomp-txt b{color:var(--primary-deep)}
#app .recomp-on .prova-sel{display:none}
#app .mb{gap:8px;padding-top:12px;padding-bottom:8px}
#app .mb-av{width:36px;height:36px;border-radius:11px}
#app .mb-b{padding:6px 12px 8px}
#app .mb-t{font-size:.92rem;line-height:1.34;min-height:1.34em}
#app .li-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
#app .li-txt small{font:500 .8rem/1.3 var(--sans);color:var(--muted)}
#app .lista-item[aria-pressed="true"] .li-txt small{color:var(--primary-deep)}
#app .lista-sep{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin:16px 0 0}
#app .tela-corpo{overscroll-behavior:contain;overflow-x:hidden}
#app .tela[data-tela="prova"] .tela-corpo{overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}
#app .tela[data-tela="prova"] .tela-miolo{flex:1;min-height:0;display:flex;flex-direction:column}
#app .tela[data-tela="prova"] .prova-sel{flex:1;min-height:0;display:flex;flex-direction:column}
#app .tela[data-tela="prova"] .lista{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:0 -20px;padding:2px 20px calc(28px + env(safe-area-inset-bottom))}
#app .tela[data-tela="prova"].recomp-on .tela-corpo{overflow-y:auto}
#app .recomp-ok{position:relative;overflow:hidden;margin-top:28px;min-width:220px}
#app .recomp-barra{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.25)}
#app .recomp-barra i{display:block;height:100%;width:0;background:#fff}
#app .ok-linha{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ok,#1f9d55);margin-bottom:10px}
#app .ok-selo.ok-selo-p{width:26px;height:26px;margin:0}
#app .ok-selo.ok-selo-p svg{width:15px;height:15px}
@keyframes painel-entra{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
#app .ponte-temas{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
#app .ponte-temas li{display:flex;align-items:center;gap:14px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:12px 14px;animation:painel-entra .45s var(--ease) both;animation-delay:calc(var(--i)*.12s)}
#app .pt-pct{flex:none;min-width:3.2ch;font-size:1.7rem;font-weight:800;color:var(--primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
#app .pt-txt b{display:block;line-height:1.25}
#app .pt-txt small{display:block;color:var(--muted);font-size:.8rem}
#app .tela .tf-op{display:flex;align-items:center;gap:12px;text-align:left;box-shadow:none;border-width:1.5px;min-height:56px;padding:12px 14px;font-weight:700}
#app .tela .tf-op::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #c9d3e2;background:#fff;transition:all .15s}
#app .tela .tf-op[aria-pressed="true"]{border-color:var(--primary);background:var(--azure-soft,#e8f0ff);color:var(--primary-deep,#1d4fb8)}
#app .tela .tf-op[aria-pressed="true"]::before{border-color:var(--primary);background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
#app .tela .tf-op:active{transform:scale(.98)}
#app .esp-grade{display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px!important}
@media (min-width:640px){#app .esp-grade{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){#app .esp-grade{grid-template-columns:repeat(4,1fr)}}
#app .esp-grade .tf-op{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-height:96px;padding:14px;position:relative}
#app .esp-grade .tf-op::before{position:absolute;top:12px;right:12px;width:18px;height:18px}
#app .esp-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--azure-soft,#e8f0ff);color:var(--primary);transition:all .2s}
#app .esp-ic svg{width:22px;height:22px}
#app .esp-n{font-size:.95rem;line-height:1.2}
#app .esp-grade .tf-op[aria-pressed="true"] .esp-ic{background:var(--primary);color:#fff;transform:scale(1.06)}
#app .esp-grade .tf-op:hover .esp-ic{transform:translateY(-1px)}
#app #esp-outra .esp-ic{background:#f1f4f9;color:var(--muted)}
/* ajuste do espelho: a Rota escreve .recomp-on .prova-sel{display:none}, mas a regra da tela da prova (mais específica) a vence e a lista fica visível sob a recompensa */
#app .tela[data-tela="prova"].recomp-on .prova-sel{display:none}

/* ---- mapa da sua prova: cartões dos 4 ofícios (visual .m2-of da Rota, parado) ---- */
.bf-ofs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bf-of{display:flex;flex-direction:column;justify-content:center;min-width:0;background:rgba(10,30,35,.92);border:1px solid rgba(182,255,60,.35);border-radius:14px;padding:12px 14px}
.bf-of b{color:#b6ff3c;font-size:.92rem;line-height:1.2;overflow-wrap:anywhere}
.bf-of span{color:rgba(255,255,255,.8);font-size:.8rem;line-height:1.3;margin-top:2px}
.bf-compacto{gap:8px}
.bf-compacto .bf-of{padding:9px 11px;border-radius:12px}
.bf-compacto .bf-of b{font-size:.84rem}
.bf-compacto .bf-of span{font-size:.74rem}
@media (min-width:768px){
  .bf-ofs{grid-template-columns:repeat(4,1fr)}
  .bf-quem .bf-ofs{margin-left:-80px;margin-right:-80px}
}

/* ---- ponte: questões esperadas por área e blocos ---- */
#app .tela[data-tela="ponte"] .tela-miolo{padding-bottom:6px}
#app .mp-prova{margin-top:8px;font-size:.88rem;font-weight:700;color:var(--muted)}
#app .mp-bloco{margin-top:20px}
#app .mp-t{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#app .mp-areas{margin:10px 0 0;display:grid;gap:12px}
#app .mp-areas li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:5px;align-items:baseline}
#app .mp-an{font-weight:700;font-size:.95rem;line-height:1.25;min-width:0}
#app .mp-aq{font-weight:800;font-size:1.05rem;color:var(--primary);font-variant-numeric:tabular-nums}
#app .mp-barra{grid-column:1/-1;height:8px;border-radius:99px;background:#dfe6f1;overflow:hidden}
#app .mp-barra i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),#4d8eff)}
#app .mp-total{margin-top:12px;font-size:.84rem;color:var(--muted);font-weight:600}
#app .mp-bloco .ponte-temas{margin-top:10px}
#app .mp-bloco .bf-ofs{margin-top:10px}
#app .mp-radar{margin-top:10px;font-size:.78rem;font-weight:700;color:var(--muted)}
#app .mp-comuns{margin-top:18px;background:var(--azure-soft,#e8f0ff);color:var(--primary-deep,#1d4fb8);border-radius:14px;padding:12px 14px;font-weight:700;font-size:.9rem;line-height:1.35}
#app .mp-comuns[hidden],#app .mp-prova[hidden]{display:none}

/* ---- ponte com névoa (04/11): o tema nº 1 aberto, os outros com a chance à vista e o nome coberto ---- */
#app .bf-medidor{margin-top:10px;background:var(--night);color:#fff;border-radius:14px;padding:12px 14px}
#app .bf-med-t{font-size:.9rem;line-height:1.35;color:rgba(255,255,255,.85)}
#app .bf-med-t b{color:var(--lime)}
#app .bf-med-barra{display:block;margin-top:8px;height:6px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}
#app .bf-med-barra i{display:block;height:100%;width:0;border-radius:99px;background:var(--lime);transition:width .6s var(--ease)}
#app .bf-temas .bf-aberto{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}
#app .bf-nevoa{position:relative;cursor:pointer;min-height:56px;background:linear-gradient(90deg,#fff 0,#fff 30%,#eef2f8 100%)}
#app .bf-nevoa .pt-txt{flex:1;min-width:0}
#app .bf-falso{filter:blur(6px);color:var(--ink);user-select:none;-webkit-user-select:none;pointer-events:none;opacity:.75}
#app .bf-nevoa .pt-pct{opacity:.8}
#app .bf-cad{flex:none;width:30px;height:30px;border-radius:50%;background:var(--bg-alt);display:grid;place-items:center}
#app .bf-cad svg{width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#app .bf-nevoa-area .mp-an{color:var(--muted)}
#app .bf-nevoa-area .mp-aq{color:var(--muted)}
#app .bf-barra-nevoa{background:repeating-linear-gradient(135deg,#dfe6f1 0 6px,#eef2f8 6px 12px)}
#app .bf-barra-nevoa i{display:none}
#app .bf-fechadas{margin-top:10px;display:grid;gap:8px}
#app .bf-fechada{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:12px 14px}
#app .bf-fechada .pt-txt small{color:var(--muted)}
@media (prefers-reduced-motion:reduce){#app .bf-med-barra i{transition:none}}

/* checklist 04/11: linha legal sob o WhatsApp (Rota: .legal) */
#app .bf-legal{font-size:.78rem;color:var(--subtle);margin-top:14px}
#app .bf-legal a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
#app .bf-legal a:hover{color:var(--primary)}
