.campaign{
  --campaign-ink:#101720;--campaign-border:#384553;
  min-width:0;margin:10px 0 8px;padding:10px;
  color:#ece5d3;border:1px solid var(--campaign-border);border-top:2px solid #6b8390;
  background:linear-gradient(138deg,#1e2b35 0%,#111820 46%,#12171f 100%);
  box-shadow:0 3px 0 #05080c,inset 0 0 0 2px #10151c;
}
.campaign-head{display:flex;justify-content:space-between;align-items:end;gap:8px;margin:0 1px 9px}
.campaign-head small,.campaign-reedu small,.campaign-confirm small{
  display:block;color:#91adb9;font:700 10px/1.2 var(--hd);letter-spacing:.08em;
}
.campaign-head strong{display:block;color:#f1eadd;font:700 16px/1.2 var(--hd);margin-top:3px}
.campaign-head>span{border:1px solid #38505c;background:#0d151c;padding:5px 7px;color:#a9c5cd;font:600 13px/1.18 var(--px);white-space:nowrap}
.campaign-head>span b{color:#e0f3f4;font:700 13px var(--hd)}
.campaign-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.campaign-stage{
  --stage-line:#3a444e;display:grid;position:relative;justify-items:center;align-content:start;gap:2px;
  min-width:0;min-height:92px;padding:5px 3px 7px;cursor:pointer;
  color:#ebe6d6;border:1px solid var(--stage-line);
  background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 4px),linear-gradient(180deg,#1c2833,#0c1016 68%);
  box-shadow:inset 0 0 0 1px #10161d,0 2px 0 #080b10;
}
.campaign-stage.on{
  --stage-line:var(--dc);color:#fff;
  box-shadow:inset 0 2px 0 var(--dc),inset 0 0 18px color-mix(in srgb,var(--dc) 17%,transparent),0 2px 0 #080b10;
}
.campaign-stage[aria-disabled="true"]{cursor:default;background:linear-gradient(180deg,#17202a,#0c1016 64%)}
.campaign-stage[aria-disabled="true"] .campaign-medal{filter:grayscale(.7) brightness(.73)}
.campaign-stage[aria-disabled="true"] small{color:#a3abb5}
.campaign-stage-no{position:absolute;top:5px;left:5px;color:#9baab6;font:700 9px/1 var(--hd)}
.campaign-stage.on .campaign-stage-no{color:var(--dc)}
.campaign-medal{display:block;flex:none;object-fit:contain;width:48px;height:48px;image-rendering:pixelated}
.campaign-stage strong{display:block;color:inherit;font:700 11px/1.15 var(--hd);text-align:center;letter-spacing:0}
.campaign-stage small{display:flex;align-items:center;justify-content:center;gap:2px;color:#b9c6d3;font:600 13px/1.2 var(--px);white-space:nowrap}
.campaign-stage small .ic{width:12px;height:12px}
.campaign-stage.on small{color:var(--dc)}
.campaign-stage.won small{color:#8cdaa7}
.campaign-stage:focus-visible,.campaign-reedu button:focus-visible,.campaign-confirm button:focus-visible{outline:2px solid #f6dc9b;outline-offset:2px;z-index:1}
@media (hover:hover){.campaign-stage:not([aria-disabled="true"]):hover{border-color:var(--dc);filter:brightness(1.12)}}
.campaign-readout{display:grid;gap:1px;padding:7px 1px 0;color:#b8c4cd;font:500 13px/1.2 var(--px)}
.campaign-readout b{color:#e7e3d4}
.campaign-reedu{
  display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px 10px;margin:9px 0 12px;padding:11px;
  border:1px solid #7e6537;border-left:3px solid #e9ae50;background:linear-gradient(125deg,#2a241e,#13181f 65%);box-shadow:0 3px 0 #06090d;
}
.campaign-reedu small,.campaign-confirm small{color:#d3ad6d}
.campaign-reedu strong{display:block;margin-top:3px;color:#f4d599;font:700 12px/1.3 var(--hd)}
.campaign-reedu p{margin-top:3px;color:#d4cfbf;font:500 14px/1.25 var(--px)}
.campaign-reedu .btn{grid-column:1/-1;min-height:40px;width:100%;margin:0}
.campaign-confirm{max-width:510px}
.campaign-confirm header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.campaign-confirm h2{color:#f5d79c;font:700 16px/1.25 var(--hd);margin:5px 0 0}
.campaign-confirm p{color:#e0ded6;font:500 16px/1.27 var(--px);margin:8px 0}
.campaign-confirm .campaign-gains{padding:8px;border-left:2px solid #8cd5a3;color:#a9e6bb;background:#151f20}
.campaign-confirm footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
.campaign-confirm footer .btn{min-width:0;min-height:42px;margin:0;white-space:normal}
.campaign-result{
  display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:7px 8px;text-align:left;
  border:1px solid #8c7344;border-left:3px solid #f0b34e;background:linear-gradient(100deg,#2e281e,#171b22 78%);
}
.campaign-result .campaign-medal{width:40px;height:40px}
.campaign-result b{display:block;color:#ffd88f;font:700 12px/1.25 var(--hd)}
.campaign-result p{margin-top:3px;color:#e0ded6;font:500 14px/1.25 var(--px)}
@media (max-width:370px){
  .campaign{padding:7px}.campaign-stages{gap:5px}.campaign-stage{min-height:84px}
  .campaign-stage .campaign-medal{width:42px;height:42px}
  .campaign-head>span{padding:4px 5px}
}

/* Ficha e animação da Reeducação */
.reedu-file{max-width:540px}
.reedu-file .rd-lead{color:#cfd6df}
.rd-row{display:flex;gap:10px;align-items:flex-start;margin:8px 0;padding:8px 10px;background:#0d1117;border-left:3px solid #4a5563}
.rd-row img{image-rendering:pixelated;flex:none}
.rd-row b{display:block;font:700 11px/1.3 var(--hd);color:#f5d79c;text-transform:uppercase;letter-spacing:.04em}
.rd-row p{margin:3px 0 0;font:500 15px/1.3 var(--px);color:#e0ded6}
.rd-row p b{display:inline;font:inherit;color:#ffb12a}
.rd-row.lost{border-left-color:#ff4a4a}.rd-row.mem{border-left-color:#3fd6e0;background:#0b1719}.rd-row.kept{border-left-color:#8cd5a3}.rd-row.gain{border-left-color:#ffb12a}
.rd-mem{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.rd-mem i{display:inline-flex;align-items:center;gap:3px;font:700 11px var(--hd);font-style:normal;color:#3fd6e0;background:#05080b;border:1px solid #1d3a40;padding:2px 5px}
.rd-mem img{image-rendering:pixelated}
.reedu-scene{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#000d;animation:rsIn .25s steps(4)}
.reedu-scene.out{opacity:0;transition:opacity .25s steps(3)}
.rs-tv{width:min(92vw,520px);padding:14px;background:#0b0f14;border:3px solid #000;box-shadow:inset 0 0 0 2px #2a3442,0 0 0 2px #3fd6e033;text-align:center}
.rs-tv canvas{display:block;width:100%;aspect-ratio:4/3;image-rendering:pixelated;background:#05080b}
.rs-line{margin:10px 0 8px;min-height:1.3em;color:#3fd6e0;font:700 13px/1.3 var(--hd);letter-spacing:.06em}
.rs-bar{height:8px;background:#05080b;border:1px solid #2a3442}.rs-bar i{display:block;height:100%;width:0;background:#ffb12a}
.rs-tv small{display:block;margin-top:8px;color:#7d8794;font:500 12px var(--px)}
@keyframes rsIn{from{opacity:0}to{opacity:1}}

/* Locadora: pares de fitas */
.fpairs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.fpair{display:flex;gap:10px;align-items:center;padding:8px 10px;background:#0d1117;border:2px solid #000;box-shadow:inset 0 0 0 1px #1d2430}
.fpair.on{box-shadow:inset 0 0 0 2px #ffb12a;background:#17130a}
.fpair.lk{opacity:.55}
.fp-i{display:flex;gap:2px;flex:none}.fp-i>*{width:28px;height:28px}
.fp-t{min-width:0}.fp-t b{display:block;font:700 11px/1.3 var(--hd);color:#f5d79c}.fp-t b i{font-style:normal;color:#000;background:#ffb12a;padding:0 4px;margin-left:4px;font-size:8px}
.fp-t small{display:block;color:#8d96a3;font-size:12px}.fp-t em{display:block;font-style:normal;color:#e0ded6;font-size:13px;line-height:1.25}
