/* Página pública de transparência e verificador Provably Fair */
.fp{max-width:980px;margin:0 auto;padding:22px 16px 60px;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}   /* minmax(0,…): uma tabela larga desliza dentro da sua caixa em vez de alargar a página */
.fp-hero{padding:10px 2px 4px;background:var(--wm) right -10px top -34px/230px auto no-repeat}
.fp-hero h1{margin:0 0 8px;font:800 38px/1.05 var(--font-head);letter-spacing:.01em;text-transform:uppercase}
.fp-hero p{max-width:68ch;margin:0;color:var(--muted);font-size:16px}
.fp-card{padding:20px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--brand-hi)}
.fp-card h2{margin:0 0 8px;font:800 24px/1.1 var(--font-head);letter-spacing:.02em;text-transform:uppercase}
.fp-lead{margin:0 0 14px;color:var(--muted);max-width:75ch}
.fp-h{margin:20px 0 8px;font:700 16px/1.2 var(--font-head);letter-spacing:.025em;text-transform:uppercase}
.fp-steps{margin:0 0 12px;padding-left:22px;display:grid;gap:10px;color:var(--muted);max-width:75ch}
.fp-steps strong{color:var(--text)}
.fp-card code{padding:1px 6px;border-radius:var(--r-xs);background:var(--surface-3);font:600 12.5px var(--mono);color:var(--text);overflow-wrap:anywhere}
.fp-form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.fp-form .f{display:grid;gap:5px;font:700 13px/1.2 var(--font-head);letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.fp-form input,.fp-form select{width:100%;padding:11px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--input-bg);color:var(--text);font:500 15px/1.3 var(--font);letter-spacing:0;text-transform:none;min-width:0}
.fp-form input:focus,.fp-form select:focus{outline:0;border-color:var(--focus)}
.fp-params{grid-column:1/-1;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.fp-params:empty{display:none}
.fp-actions{grid-column:1/-1;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.fp-actions .form-err{margin:0;min-height:0}
.fp-out{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}   /* minmax(0,…): uma tabela larga desliza na sua caixa */
.fp-line{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}
.fp-line b{flex:none;display:grid;place-items:center;height:1.45em}
.fp-line b .ic{width:20px;height:20px}
.fp-line.ok{border-color:var(--ok);background:var(--ok-bg)}
.fp-line.ok b{color:var(--ok)}
.fp-line.bad{border-color:var(--live);background:var(--live-bg)}
.fp-line.bad b{color:var(--live)}
.fp-line.info b{color:var(--link)}
.fp-line p{margin:0;font-size:14px}
.fp-line small{display:block;margin-top:3px;color:var(--muted);font:12.5px/1.4 var(--mono);overflow-wrap:anywhere}
.fp-result{padding:14px 16px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}
.fp-result h3{margin:0 0 8px;font:700 16px/1.2 var(--font-head);letter-spacing:.025em;text-transform:uppercase}
.fp-result dl{display:grid;gap:8px;margin:0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.fp-result dt{font:600 11px/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.fp-result dd{margin:2px 0 0;font:800 18px/1.2 var(--font-head);overflow-wrap:anywhere}
.fp-raw{font:12px/1.55 var(--mono);color:var(--muted);overflow-wrap:anywhere}
.fp-mines{display:grid;grid-template-columns:repeat(5,34px);gap:4px;margin-top:8px}
.fp-mines span{display:grid;place-items:center;height:34px;border-radius:var(--r-sm);background:var(--surface-3)}
.fp-mines .m{background:var(--live-bg);color:var(--live)}
.fp-mines .ic{width:18px;height:18px}
.fp-road{display:flex;flex-wrap:wrap;gap:3px;margin-top:8px}
.fp-road span{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-sm);background:var(--surface-3);font-size:12px;font-weight:700;color:var(--muted)}
.fp-road .m{background:var(--live-bg);color:var(--live)}
.fp-boxes{display:grid;grid-template-columns:repeat(5,minmax(0,52px));gap:4px;margin-top:8px}
.fp-boxes[data-n="36"]{grid-template-columns:repeat(6,minmax(0,52px))}
.fp-boxes span{display:grid;place-items:center;height:34px;border-radius:var(--r-sm);background:var(--surface-3);font-size:11.5px;font-weight:700;white-space:nowrap}
.fp-boxes .is-empty{color:var(--muted);font-weight:500}
.fp-boxes .is-win{color:var(--ok)}
.fp-boxes .is-top{color:var(--warn)}
.fp-result .fp-wide{grid-column:1/-1}
.fp-mults{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.fp-mults span{display:inline-flex;align-items:baseline;gap:5px;padding:3px 9px;border-radius:999px;background:var(--surface-3);font:600 12.5px/1.35 var(--font)}
.fp-mults b{font-weight:800;color:var(--muted)}
.fp-boxes .is-pick{box-shadow:inset 0 0 0 2px var(--text)}
.fp-edge-up{color:var(--live)}
.fp-edge-down{color:var(--ok)}
@media(max-width:520px){.fp-hero h1{font-size:29px}}
.fp-card .tblwrap+.form-hint{margin-top:12px}
.fp-card .form-hint{color:var(--muted);font-size:13.5px;max-width:78ch}
#fpLiveBox h3{margin:18px 0 6px;font:800 16px/1.2 var(--font-head);letter-spacing:.03em;text-transform:uppercase}
.fp-ok{color:var(--ok)}.fp-bad{color:var(--live)}
.fp-ok .ic,.fp-bad .ic{width:18px;height:18px;vertical-align:-4px}

/* v0.7: passos simples primeiro, detalhes técnicos fechados */
.fp .pf-steps{margin-bottom:12px}
.fp-tech{margin-top:4px}
.fp-tech .fp-steps{margin-top:6px}
.fp-live-h{display:flex;align-items:baseline;gap:10px;margin:18px 0 8px;font:800 18px/1.2 var(--font-head);letter-spacing:.02em;text-transform:uppercase}
.fp-live-h:first-child{margin-top:4px}
.fp-chain{margin:8px 0 0}
:root[data-theme="light"] .fp-card{box-shadow:var(--card-sh)}

/* póquer: cartas recalculadas (sempre cartas claras, nos dois temas, como na mesa) */
.fp-pkcards{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.fp-pkc{display:inline-grid;place-items:center;min-width:34px;height:44px;padding:0 5px;margin:2px 4px 2px 0;border-radius:6px;background:#fdfbf7;color:#1c1416;font:800 15px/1 var(--font-head);box-shadow:0 1px 2px rgba(0,0,0,.25),inset 0 0 0 1px rgba(0,0,0,.12)}
.fp-pkcards .fp-pkc{margin:0}
.fp-pkc.is-red{color:#c41e3a}
.fp-pktbl{margin-top:12px}
.fp-pktbl td{vertical-align:middle}
.fp-result .fp-pktbl+.form-hint,.fp-result .fp-raw+.form-hint{margin:10px 0 0}
/* desafios entre jogadores: tipo de desafio e o formulário dos desafios antigos */
.fp-kind{max-width:420px;margin:0 0 14px}
.fp-old{margin-top:18px;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--line)}
.fp-old>summary{cursor:pointer;font:700 14px/1.4 var(--font);color:var(--text)}
.fp-old[open]>summary{margin-bottom:8px}
.fp-old .fp-lead{margin-top:0}
/* Remate ao Golo: os cinco remates (os que já não se bateram ficam esbatidos) */
.fp-shots{display:grid;gap:4px;margin:8px 0 0;padding:0;list-style:none}
.fp-shots li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:7px 10px;border-radius:var(--r-sm);background:var(--surface-3);border-left:3px solid var(--ok)}
.fp-shots li.is-save{border-left-color:var(--live)}
.fp-shots li.is-off{opacity:.55}
.fp-shots b{font-weight:700}
.fp-shots span{grid-column:1;color:var(--muted);font-size:12.5px}
.fp-shots em{grid-row:1;grid-column:2;justify-self:end;font:800 11.5px/1 var(--font-head);letter-spacing:.05em;text-transform:uppercase;font-style:normal;color:var(--ok)}
.fp-shots li.is-save em{color:var(--live)}
.fp-shots i{grid-row:2;grid-column:2;justify-self:end;font-style:normal;font-weight:700;font-size:12.5px}
/* verificador offline: "Queres verificar mais a fundo?" */
.fp-offline .pf-steps{margin-bottom:14px}
.fp-off-why{margin:0 0 16px;padding:12px 14px;max-width:80ch;border-left:3px solid var(--cash);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2);color:var(--muted);font-size:14.5px}
.fp-off-why strong{color:var(--text)}
.fp-off-dl{display:flex;gap:14px 18px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.fp-off-dl .btn{flex:0 1 auto;max-width:100%;text-align:center}
@media (max-width:480px){.fp-off-dl .btn{flex:1 1 100%}}
.fp-off-dl .form-hint{flex:1 1 300px;margin:0}
.fp-off-hash .cg-mono{overflow-wrap:anywhere}
