/*
 * Hérnia de Disco — páginas legais (política de privacidade e termos de uso)
 *
 * ⚠️ ESTE CSS ERA UM BLOCO <style> DENTRO DAS DUAS PÁGINAS — e a CSP o bloqueava.
 *
 * A CSP do site é `style-src 'self'`, sem `'unsafe-inline'` (conf.d/seguranca.inc),
 * e vale para /privacidade e /termos como para qualquer rota que passa pelo @app. O
 * bloco inline era descartado pelo navegador EM SILÊNCIO: a página respondia 200, o
 * teste de rota passava, e a política ia ao ar crua, sem índice lateral, sem a tabela
 * em cartões e sem o destaque do encarregado. Achado na rodada 07, ao pôr a tarja.
 *
 * É a mesma família de falha da Correção 21 (o script inline da home). O CspTest agora
 * cobre as páginas legais também.
 */
:root{--bg:#0b0a08;--ink:#f1d9a6;--mute:#d6c39c;--mus:#ddaa20;--pet:#087d9a;--red:#c71919;--stamp:#781510;--line:#8a7a66;--paper:#f1d9a6;--dark:#1a1512;--disp:Impact,Haettenschweiler,"Arial Narrow Bold","Franklin Gothic Bold",sans-serif;--mono:"Courier New",Courier,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html:has(#oculos:checked){font-size:137.5%}
html:has(#g:target){font-size:200%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.7 var(--sans);overflow-x:hidden;overflow-wrap:anywhere;hyphens:auto}
a{color:var(--mus);text-underline-offset:.15em}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--mus);outline-offset:3px}
.skip{position:absolute;left:.5rem;top:-4rem;background:var(--mus);color:var(--dark);padding:.75rem 1rem;font-weight:700;z-index:9}
.skip:focus{top:.5rem}
.wrap{max-width:75rem;margin:0 auto;padding:0 1rem}
.lbl{font:700 .8125rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mus)}
.top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid #2b2620}
.top a.home{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;color:var(--ink);text-decoration:none}
.top img{display:block;height:2.75rem;width:auto}
.eye{position:absolute;opacity:0;width:1px;height:1px}
.eyeb{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 .75rem;border:2px solid var(--ink);border-radius:4px;font:700 .875rem var(--sans);cursor:pointer}
#oculos:checked+.eyeb{background:var(--ink);color:var(--bg)}
#oculos:focus-visible+.eyeb{outline:3px solid var(--mus);outline-offset:3px}
.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;padding:1.75rem 0 3rem}
.doc{min-width:0;max-width:68ch}
h1{font:400 min(2.75rem,11vw)/1 var(--disp);text-transform:uppercase;margin:.5rem 0 .75rem;overflow-wrap:anywhere;hyphens:auto}
.meta{color:var(--mute);font-size:1rem;margin:0}
.meta b{color:var(--ink)}
h2{font:400 min(1.75rem,9vw)/1.1 var(--disp);text-transform:uppercase;letter-spacing:.01em;margin:3rem 0 .75rem;padding-top:1rem;border-top:2px solid var(--ink);scroll-margin-top:1rem;overflow-wrap:anywhere;hyphens:auto}
h2 .n{display:block;font:700 .8125rem/1.3 var(--mono);letter-spacing:.1em;color:var(--mus);margin-bottom:.375rem}
h3{font:700 1.1875rem/1.35 var(--sans);margin:1.75rem 0 .5rem;scroll-margin-top:1rem}
p,ul,ol{margin:0 0 1rem}
ul,ol{padding-left:1.25rem}
li{margin:0 0 .5rem}
li::marker{color:var(--mus)}
strong{color:#fff4dc}
.back{display:inline-flex;align-items:center;min-height:2.75rem;font-size:1rem}
/* rascunho */
.rascunho{display:grid;grid-template-columns:minmax(0,1fr);gap:.875rem;align-items:start;background:var(--paper);color:var(--dark);border:3px dashed var(--stamp);padding:1rem;margin:0 0 1.5rem}
.rascunho .st{justify-self:start;font:400 1.125rem/1 var(--disp);color:var(--stamp);border:3px solid var(--stamp);padding:.25rem .5rem;transform:rotate(-6deg);margin-top:.25rem;letter-spacing:.04em}
.rascunho p{overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.5}
.rascunho strong{color:var(--dark)}
@media (min-width:30rem){.rascunho{grid-template-columns:auto minmax(0,1fr)}}
.doc p,.doc li,.doc dd{overflow-wrap:anywhere}
/* resumo */
.resumo{border:2px solid var(--ink);padding:1rem 1rem .25rem;margin:1.5rem 0}
.resumo .lbl{margin-bottom:.5rem}
/* índice */
.toc{border:2px solid var(--line);padding:1rem}
.toc .lbl{margin-bottom:.5rem}
.toc ol{list-style:none;padding:0;margin:0;counter-reset:t}
.toc li{margin:0;counter-increment:t}
.toc a{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:.25rem;align-items:baseline;min-height:2.75rem;padding:.5rem 0;color:var(--ink);text-decoration:none;border-bottom:1px dashed #3a332b;line-height:1.35}
.toc a::before{content:counter(t,decimal-leading-zero);font:700 .875rem var(--mono);color:var(--mus)}
.toc a:hover{color:var(--mus)}
.toc li:last-child a{border-bottom:0}
/* tabela */
.tbl{margin:1rem 0 1.5rem}
table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.5}
caption{text-align:left;font:700 .8125rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mus);padding-bottom:.5rem}
th,td{text-align:left;vertical-align:top;padding:.75rem;border:1px solid var(--line)}
thead th{background:#1d1916;font:700 .875rem var(--mono);letter-spacing:.06em;text-transform:uppercase}
tbody th{font-weight:700}
@media (max-width:47.99rem){
 table,tbody,tr,th,td{display:block}
 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 tr{border:2px solid var(--ink);margin:0 0 .75rem}
 tbody th{background:var(--ink);color:var(--dark);border:0;font-size:1.0625rem}
 td{border:0;border-top:1px solid #3a332b;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr));gap:.125rem .75rem;overflow-wrap:anywhere}
 td::before{content:attr(data-label);font:700 .8125rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mus)}
}
/* DPO */
.dpo{background:var(--paper);color:var(--dark);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--red);padding:1.25rem;margin:1.5rem 0;scroll-margin-top:1rem}
.dpo .lbl{color:var(--stamp)}
.dpo h2{border:0;margin:.375rem 0 .75rem;padding:0;color:var(--dark)}
.dpo dl{display:grid;grid-template-columns:minmax(0,1fr);gap:.125rem;margin:0 0 1rem}
.dpo dt{font:700 .8125rem var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:.5rem}
.dpo dd{margin:0;font-size:1.0625rem;overflow-wrap:anywhere}
.dpo a{color:var(--dark);font-weight:700}
.dpo .btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.5rem 1.25rem;background:var(--dark);color:var(--ink);text-decoration:none;font:400 1.25rem var(--disp);text-transform:uppercase;overflow-wrap:anywhere}
.dpo .btn:hover{color:var(--mus)}
.dpo p{margin:0 0 1rem}
.dpo strong{color:var(--dark)}
footer{border-top:1px solid var(--line);color:var(--mute);padding:1.25rem 0 2rem;font-size:1rem}
footer nav{display:flex;gap:1.25rem;flex-wrap:wrap}
footer nav a{color:var(--ink);min-height:2.75rem;display:inline-flex;align-items:center}
footer .brand{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
footer .brand img{height:1.375rem;width:auto;opacity:.85}
@media (min-width:64rem){
 .layout{grid-template-columns:17rem minmax(0,1fr);gap:3.5rem;align-items:start}
 .side{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}
}
@media print{body{background:#fff;color:#000}.top,.side,footer,.back{display:none}.dpo,.rascunho{box-shadow:none}}

/* A tarja "INGRESSOS LIMITADOS" das páginas legais (rodada 07, §5): mesma peça das
   outras páginas, com a linha de apoio NEUTRA, sem a piada da casa. */
.tarja{margin:.75rem 0 0;padding:.5rem .75rem;background:#781510;color:#f1d9a6;border-top:3px solid #c71919;border-bottom:3px solid #c71919;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem .875rem;text-align:center}
.tarja b{font:400 min(1.5rem,8vw)/1 var(--disp);letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere}
.tarja span{font:700 .8125rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.art{font:700 .875rem var(--mono);color:var(--mus);white-space:nowrap}
