/* =========================================================
   Formulário de Segurança da Mesa · usa as cores e fontes do style.css
   Tela: escuro, à luz de vela. Impressão/PDF: papel claro, tinta escura.
   ========================================================= */
.safety-page{--ok-c:#7fbf6a;--veu-c:#e3b14b;--linha-c:#e0521f}
.top .back{margin-left:auto;font-family:var(--f-label);font-weight:700;letter-spacing:.06em;font-size:.95rem;text-decoration:none;color:var(--parchment-dim)}
.top .back:hover{color:var(--parchment)}
.safety{max-width:900px;padding-block:clamp(2rem,5vw,3.5rem)}
.print-head,.print-foot{display:none}

/* Abertura */
.intro h1{font-size:clamp(2.3rem,5.5vw,3.6rem);margin:.5rem 0 .9rem}
.intro .lede{font-size:var(--step-1);color:var(--parchment-dim);line-height:1.45;max-width:60ch}
.howto{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.4rem}
.howto b{font-family:var(--f-display);color:var(--gold);font-size:1.2rem;margin-right:.35rem}
.howto em{font-style:normal;color:var(--gold)}
.privacy{display:flex;gap:.6rem;align-items:flex-start;margin-top:1.2rem;padding:.8rem 1rem;border:1px solid rgb(127 191 106 / .4);border-radius:var(--radius);background:rgb(127 191 106 / .06);color:var(--parchment-dim);font-size:.98rem}
.privacy svg{width:20px;height:20px;flex:none;color:var(--ok-c);margin-top:.15rem}

/* Cartões / blocos */
form#safety{display:block;padding:0;border:0;background:none;margin-top:2.2rem}
fieldset.card{margin:0 0 1.2rem;padding:clamp(1.1rem,3vw,1.8rem);border:1px solid var(--wood-3);border-radius:var(--radius);background:var(--wood-2);min-width:0}
fieldset.card legend{width:100%;display:flex;align-items:center;gap:.7rem;padding:0;margin-bottom:1.1rem;font-family:var(--f-display);font-weight:700;font-size:var(--step-2);line-height:1.1}
.num{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;flex:none;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:1.25rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}
.grid2 .full{grid-column:1 / -1}
.safety section{padding-block:0}
.safety label{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.4rem;row-gap:.35rem}
.safety label > input:not([type=checkbox]):not([type=radio]),.safety label > select,.safety label > textarea{flex-basis:100%}
.req,.opt{font-size:.75rem;letter-spacing:.06em}
.req{color:var(--ember-text)}
.opt{color:var(--parchment-dim);opacity:.8}
.hint{color:var(--parchment-dim);font-size:.98rem;margin-bottom:1rem}
.mt{margin-top:1.2rem}
.q{font-family:var(--f-label);font-weight:700;letter-spacing:.06em;font-size:.92rem;color:var(--parchment);margin:0 0 .5rem}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--gold);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.linkish:hover{color:var(--parchment)}
textarea{min-height:110px}
input[type=date]{color-scheme:dark}
input[type=checkbox],input[type=radio]{accent-color:var(--gold);width:1.1rem;height:1.1rem;margin:0;flex:none}

/* Ferramentas */
.tools-list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.safety label.tool{display:flex;gap:.75rem;align-items:flex-start;padding:.8rem .9rem;border:1px solid var(--wood-3);border-radius:var(--radius);background:rgb(22 16 12 / .5);cursor:pointer;transition:border-color .2s,background .2s;font-family:var(--f-body);letter-spacing:0;font-size:.95rem;font-weight:400;color:var(--parchment-dim);line-height:1.4}
.safety label.tool,.safety .checks label,.safety label.agree{flex-wrap:nowrap}
.tool input{margin-top:.2rem}
.tool b{display:block;font-family:var(--f-display);font-weight:500;font-size:1.2rem;color:var(--parchment);line-height:1.15;margin-bottom:.15rem}
.tool:hover{border-color:rgb(227 177 75 / .5)}
.tool:has(input:checked){border-color:var(--gold);background:rgb(227 177 75 / .07)}

/* Escala dos temas */
.legend-scale{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;color:var(--parchment-dim);font-size:.92rem;margin-bottom:.6rem}
.k{font-family:var(--f-label);font-weight:700;letter-spacing:.06em;font-size:.78rem;padding:.15rem .6rem;border-radius:99px;border:1px solid}
.k.ok{color:var(--ok-c);border-color:rgb(127 191 106 / .6)}
.ls{display:inline-flex;align-items:center;gap:.5rem}
.k.veu{color:var(--veu-c);border-color:rgb(227 177 75 / .6)}
.k.linha{color:var(--ember-text);border-color:rgb(224 82 31 / .7)}
.topics{display:grid;gap:1.6rem}
.topic-group h3{font-size:1.45rem;color:var(--gold);margin-bottom:.4rem;font-weight:500}
.topic{display:flex;align-items:center;justify-content:space-between;gap:.6rem 1rem;padding:.5rem 0;border-bottom:1px solid var(--wood-3)}
.t-name{flex:1;min-width:0;line-height:1.3}
.t-pick{display:none}
.t-opts{display:inline-flex;border:1px solid var(--wood-3);border-radius:99px;overflow:hidden;flex:none}
.safety .t-opts label{display:block;position:relative;cursor:pointer}
.t-opts input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.t-opts span{display:block;padding:.38rem .85rem;font-family:var(--f-label);font-weight:700;letter-spacing:.06em;font-size:.82rem;color:var(--parchment-dim);transition:background .15s,color .15s}
.t-opts label + label span{border-left:1px solid var(--wood-3)}
.t-opts label:hover span{color:var(--parchment);background:rgb(255 255 255 / .04)}
.t-opts input:focus-visible + span{outline:2px solid var(--gold);outline-offset:-3px}
.o-ok input:checked + span{background:#2f5a24;color:#e8f6df}
.o-veu input:checked + span{background:#7a5a17;color:#fff3d6}
.o-linha input:checked + span{background:var(--ember-deep);color:#fff1e8}
.topic[data-pick="linha"] .t-name{color:var(--ember-text)}

/* Ao vivo */
.seg{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}
.seg .q{margin:0;flex-basis:100%}
.seg label{display:block;position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.seg label span{display:inline-block;padding:.55rem 1.4rem;border:1px solid var(--wood-3);border-radius:var(--radius);font-family:var(--f-label);font-weight:700;letter-spacing:.06em;color:var(--parchment-dim)}
.seg input:checked + span{border-color:var(--gold);background:rgb(227 177 75 / .1);color:var(--parchment)}
.seg input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}
.na{margin-top:1rem;color:var(--parchment-dim);font-style:italic}
.na[hidden]{display:none}
.live{margin-top:1.4rem;display:grid;gap:1.3rem}
.live[hidden]{display:none}
.checks{display:grid;gap:.45rem}
.safety .checks label,.safety label.agree{display:flex;gap:.65rem;align-items:center;font-family:var(--f-body);letter-spacing:0;font-size:1rem;font-weight:400;color:var(--parchment);cursor:pointer}
#guardian[hidden],#guardianSign[hidden]{display:none}
.term{padding:1.2rem 1.3rem;border:1px solid rgb(227 177 75 / .35);border-radius:var(--radius);background:rgb(22 16 12 / .6);font-size:.98rem;line-height:1.55;color:var(--parchment-dim)}
.term h3{font-size:1.4rem;color:var(--parchment);margin-bottom:.6rem;font-weight:500}
.term b{color:var(--parchment);font-weight:500}
.term ol{margin:.8rem 0 0;padding-left:1.2rem;display:grid;gap:.45rem}
.term .blank{border-bottom:1px dashed var(--gold);color:var(--gold);font-style:italic}
.safety label.agree{padding:.8rem 1rem;border:1px solid var(--wood-3);border-radius:var(--radius)}
.agree:has(input:checked){border-color:var(--ok-c)}

/* Assinatura */
.sign-wrap{margin-top:1.2rem}
.sign{display:block;width:100%;height:auto;aspect-ratio:900 / 260;border-radius:var(--radius);border:1px solid var(--gold);touch-action:none;cursor:crosshair;background:#f6eedb}
.sign-tools{display:flex;justify-content:flex-end;margin-top:.4rem;font-size:.92rem}

/* Ações */
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.6rem}
.actions .btn svg{width:1.15em;height:1.15em}
.out{font-size:.95rem;min-height:1.4em;flex-basis:100%}
.out.ok{color:var(--ok-c)}.out.err{color:var(--ember-text)}
.tip{color:var(--parchment-dim);font-size:.92rem;margin-top:.4rem}
.tip em{font-style:normal;color:var(--gold)}

/* Créditos */
.credits{padding:2rem 0 0;margin-top:2.5rem;border-top:1px solid var(--wood-3)}
.credits h2{font-size:1.6rem;margin-bottom:.7rem}
.credits p{color:var(--parchment-dim);font-size:.98rem;max-width:70ch}
.credits p + p{margin-top:.6rem}

@media (max-width:720px){
  .grid2,.tools-list{grid-template-columns:1fr}
  .topic{flex-direction:column;align-items:stretch;gap:.45rem;padding:.7rem 0}
  .t-opts{display:grid;grid-template-columns:repeat(3,1fr)}
  .t-opts span{text-align:center;padding:.55rem .4rem}
  .legend-scale{display:grid;gap:.4rem}
  .k{min-width:4.2rem;text-align:center}
}

/* =========================================================
   PDF (impressão): papel claro, compacto, sem botões
   ========================================================= */
@page{size:A4;margin:14mm 14mm 16mm}
@media print{
  :root{color-scheme:light}
  html,body{background:#fff!important;color:#1b130d;font-size:10.5pt;line-height:1.4}
  body{background-image:none!important}
  .top,.skip,footer.no-print,.intro .howto,.privacy,.actions,.tip,.credits,.hint,.legend-scale,.sign-tools,.linkish,.t-opts,.seg label:not(:has(input:checked)){display:none!important}
  .safety{max-width:none;padding:0}
  .print-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;margin-bottom:10px;border-bottom:2px solid #b8300a}
  .print-head img{width:34px;height:auto}
  .print-head b{display:block;font-family:var(--f-display);font-size:18pt;line-height:1}
  .print-head span{font-family:var(--f-label);font-size:8.5pt;letter-spacing:.06em;color:#6b5a43}
  .print-foot{display:block;margin-top:14px;padding-top:6px;border-top:1px solid #cbb994;font-size:8pt;color:#6b5a43}
  .intro .label,.intro h1{display:none}
  .intro .lede{font-size:9.5pt;color:#4a3d2d;max-width:none}
  form#safety{margin-top:8px}
  fieldset.card{background:#fff;border:1px solid #cbb994;padding:10px 12px;margin-bottom:9px;break-inside:auto}
  fieldset.card legend{font-size:13pt;margin-bottom:6px;color:#1b130d}
  .num{width:1.4rem;height:1.4rem;font-size:10pt;border-color:#b8300a;color:#b8300a}
  .safety label,.q{color:#4a3d2d;font-size:8.5pt}
  input,select,textarea{background:#fff!important;color:#1b130d!important;border:0!important;border-bottom:1px solid #cbb994!important;border-radius:0!important;padding:1px 0 3px!important;font-size:10pt!important;min-height:0!important;box-shadow:none!important}
  textarea{resize:none;height:auto;field-sizing:content}
  select{appearance:none;-webkit-appearance:none}
  ::placeholder{color:transparent}
  .grid2{gap:6px 14px}
  .tools-list{grid-template-columns:1fr 1fr;gap:3px 14px}
  .safety label.tool{padding:0;border:0;background:none;font-size:8.5pt;color:#4a3d2d;break-inside:avoid}
  .safety label.tool:not(:has(input:checked)){display:none}
  .tool b{font-size:10pt;color:#1b130d;font-family:var(--f-body);font-weight:700}
  input[type=checkbox],input[type=radio]{accent-color:#1b130d}
  .topics{display:block;columns:2;column-gap:18px}
  .topic-group{break-inside:avoid-column;margin-bottom:8px}
  .topic-group h3{font-size:11pt;color:#b8300a;margin-bottom:2px}
  .topic{flex-direction:row;align-items:baseline;padding:1.5px 0;border-bottom:1px dotted #d8caa8;gap:6px;break-inside:avoid}
  .t-name{font-size:9pt;color:#1b130d!important}
  .t-pick{display:inline-block;font-family:var(--f-label);font-weight:700;font-size:7.5pt;letter-spacing:.04em;padding:0 6px;border-radius:99px;border:1px solid #bbb;color:#777;white-space:nowrap}
  .topic[data-pick="ok"] .t-pick{border-color:#2f7a2a;color:#2f7a2a}
  .topic[data-pick="veu"] .t-pick{border-color:#a57a12;color:#8a640c;background:#fdf3d9}
  .topic[data-pick="linha"] .t-pick{border-color:#b8300a;color:#fff;background:#b8300a}
  .seg label span,.seg input:checked + span{border:0;padding:0;background:none;color:#1b130d;font-size:10pt}
  .req,.opt{display:none}
  .seg .q{flex-basis:auto}
  .safety .checks label,.safety label.agree{font-size:9.5pt;color:#1b130d;padding:0;border:0}
  .checks{gap:2px}
  .checks label:not(:has(input:checked)){display:none!important}
  .checks:not(:has(input:checked)){display:none}
  .live{gap:8px;margin-top:6px}
  .term{background:#fff;border:1px solid #cbb994;color:#1b130d;font-size:9pt;padding:8px 10px;break-inside:avoid}
  .term h3{font-size:11pt;color:#1b130d}
  .term b{color:#1b130d;font-weight:700}
  .term .blank{color:#999;border-color:#999}
  .sign-wrap{break-inside:avoid;margin-top:8px}
  .sign{max-width:360px;border:0;border-radius:0}
  .na{color:#4a3d2d;font-size:9pt}
  a{color:#1b130d}
}
