/* Guia 04 · IA com segurança */

/* 01 · jogo */
.game { max-width: 1040px; }
.game-dots { display: flex; gap: 6px; }
.game-dots i { width: 18px; height: 3px; border-radius: 3px; background: #222; transition: background .4s; }
.game-dots i.is-ok { background: #fff; }
.game-dots i.is-no { background: #555; }
.game-dots i.is-now { background: #8c8c8c; }
.game-body { display: flex; flex-direction: column; gap: 26px; padding: clamp(24px, 3.4vw, 44px); }
.game-q { min-height: 2.6em; font: 300 clamp(24px, 2.6vw, 36px)/1.25 var(--display); letter-spacing: -.025em; color: #fff; }
.game-q.is-new { animation: sg-in .6s var(--ease); }
@keyframes sg-in { from { opacity: 0; transform: translateY(12px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
.game-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.game-opt { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px 20px; border: 1px solid var(--line-2); border-radius: 14px; background: #000; color: var(--soft); text-align: left; cursor: pointer; transition: border-color .3s, background .3s, color .3s, opacity .3s; }
.game-opt b { font: 300 clamp(19px, 1.7vw, 24px)/1.1 var(--display); letter-spacing: -.015em; font-weight: 300; }
.game-opt small { font: 500 9.5px/1 var(--label); letter-spacing: .18em; text-transform: uppercase; color: var(--dim); }
.game-opt:hover:not([disabled]) { border-color: #fff; color: #fff; }
.game-opt[disabled] { cursor: default; opacity: .35; }
.game-opt.is-right { opacity: 1; background: #fff; border-color: #fff; color: #000; }
.game-opt.is-right small { color: #555; }
.game-opt.is-wrong { opacity: 1; border-color: #555; color: var(--muted); }
.game-opt.is-wrong b { text-decoration: line-through; text-decoration-color: #666; }
.game-fb { min-height: 3.2em; max-width: 72ch; font-size: 16px; line-height: 1.65; color: var(--muted); }
.game-fb b { color: #fff; font-weight: 500; }
.game-end { display: flex; align-items: baseline; gap: 18px; }
.game-end b { font: 100 clamp(72px, 9vw, 120px)/.9 var(--thin); font-weight: 100; color: #fff; }
.game-end span { font: 300 clamp(20px, 2vw, 26px)/1.3 var(--display); color: var(--soft); }
@media (max-width: 700px) {
  .game-opts { grid-template-columns: 1fr; }
  .game-opt { flex-direction: row; justify-content: space-between; align-items: center; }
  .game .lx-bar { flex-wrap: wrap; }
  .game-dots { order: 3; width: 100%; }
  .game-dots i { flex: 1; }
}

/* 02 · anonimizador */
.anon { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(16px, 2.4vw, 28px); align-items: start; }
.anon-col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.anon-panel { display: flex; flex-direction: column; }
.anon-panel .lx-bar .chip { height: 28px; padding: 0 12px; font-size: 9.5px; }
.anon-in { display: block; width: 100%; min-height: 260px; padding: 20px 22px; background: transparent; border: 0; outline: none; resize: vertical; color: #fff; font: 400 14.5px/1.75 ui-monospace, "SF Mono", Menlo, Consolas, monospace; }
.anon-in::placeholder { color: var(--dim); }
.anon-panel:focus-within { border-color: #fff; }
.anon-out { min-height: 260px; padding: 20px 22px; font: 400 14.5px/1.75 ui-monospace, "SF Mono", Menlo, Consolas, monospace; color: var(--soft); white-space: pre-wrap; overflow-wrap: anywhere; }
.anon-out:empty::before { content: "O texto seguro aparece aqui."; color: var(--dim); }
.anon-out mark, .anon-restored mark { white-space: nowrap; padding: 1px 6px; border-radius: 6px; background: #fff; color: #000; font-weight: 500; animation: sg-in .5s var(--ease) both; }
.anon-restored mark { background: transparent; color: #fff; box-shadow: inset 0 -1px 0 #fff; padding: 0; border-radius: 0; }
.anon-actions { display: flex; gap: 10px; padding: 14px 22px 18px; border-top: 1px solid var(--line); }
.anon-count { font-variant-numeric: tabular-nums; }
.anon-back { margin-top: clamp(16px, 2.4vw, 28px); }
.anon-reply { min-height: 120px; }
.anon-restored { padding: 0 22px 18px; font: 400 14.5px/1.75 ui-monospace, "SF Mono", Menlo, Consolas, monospace; color: var(--soft); white-space: pre-wrap; overflow-wrap: anywhere; }
.anon-restored:empty { display: none; }
.anon-restored::before { content: "Com os dados de volta"; display: block; margin-bottom: 8px; font: 500 9.5px/1 var(--label); letter-spacing: .2em; text-transform: uppercase; color: var(--dim); }
@media (max-width: 900px) {
  .anon { grid-template-columns: 1fr; }
  .anon-in, .anon-out { min-height: 200px; }
  .anon-kinds { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
  .anon-kinds::-webkit-scrollbar { display: none; }
  .anon-kinds .chip { flex: none; }
}

/* 03 · checagem */
.chk { max-width: 1040px; }
.chk-body { display: flex; flex-direction: column; gap: 22px; padding: clamp(24px, 3.4vw, 44px); }
.chk-q { font: 500 10.5px/1.5 var(--label); letter-spacing: .2em; text-transform: uppercase; color: var(--dim); }
.chk-a { font: 300 clamp(21px, 2.1vw, 29px)/1.55 var(--display); letter-spacing: -.018em; }
.claim { display: inline; padding: 0 2px; background: none; border: 0; color: var(--soft); font: inherit; letter-spacing: inherit; text-align: left; cursor: pointer; text-decoration: underline; text-decoration-style: dotted; text-decoration-color: #444; text-underline-offset: 7px; transition: color .3s, text-decoration-color .3s, background .4s; border-radius: 6px; }
.claim:hover { color: #fff; text-decoration-color: #fff; }
.claim.is-ok { color: #fff; text-decoration: underline; text-decoration-style: solid; text-decoration-color: rgba(255,255,255,.4); }
.claim.is-ok::after { content: " ✓"; font-size: .7em; color: var(--muted); }
.claim.is-no { color: #000; background: #fff; text-decoration: line-through; text-decoration-color: rgba(0,0,0,.45); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.claim.is-no::after { content: " ✕"; font-size: .7em; }
.chk-fb { min-height: 3.2em; padding-top: 18px; border-top: 1px solid var(--line); font-size: 16px; line-height: 1.65; color: var(--muted); max-width: 74ch; }
.chk-fb b { color: #fff; font-weight: 500; }
.chk-count { font-variant-numeric: tabular-nums; }
.sg-sub { margin: clamp(64px, 8vw, 110px) 0 28px; font: 300 clamp(28px, 3vw, 40px)/1.1 var(--display); letter-spacing: -.03em; color: #fff; }
.sg-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .sg-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sg-cards .lx-card:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 900px) { .sg-cards { grid-template-columns: 1fr; } }
.sg-flow { margin-top: clamp(48px, 6vw, 80px); }

/* 04 · checklist: estilos em learn.css */
@media print {
  main > section:not(.sg-list) { display: none !important; }
  .sg-list .p-head, .reveal { opacity: 1 !important; transform: none !important; }
  .sg-list .p-head { display: none !important; }
  .cl { display: block !important; }
}
