/* BALL INTERACTIVE RULEBOOK — component styles only.
   Shared page chrome, typography, buttons and kickers are defined in ball-site-v2.css. */
body.page-interactive-reglamento{
  --paper:#0b0c10;--paper2:#0f1117;--ink:#f2f2f2;--muted:#a8abb4;
  --line:rgba(255,255,255,.14);--line2:rgba(255,255,255,.09);
  --accent:#5cc8ff;--danger:#ff6e8b;--good:#7ddc8c;--warn:#ffd86a;
  --defFill:#0a0f18;--defStroke:#c7d0dc;--atkFill:#13223a;--atkStroke:#f2f2f2;
  --ball:#ff3b6b;--energy:#ffd86a;
}
.heroCard{padding:18px}
.heroCard h1{margin:12px 0 10px;font-size:40px;line-height:1.02}
.heroLead{font-size:15px;color:var(--muted);max-width:72ch;line-height:1.7}
.heroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.stat{background:var(--paper2);border:1px solid var(--line);padding:12px}
.stat__k{font-size:22px;font-weight:900}
.stat__l{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}
.callout{
  margin-top:16px;padding:14px;border:1px solid rgba(255,216,106,.25);
  background:linear-gradient(180deg, rgba(255,216,106,.07), rgba(255,216,106,.02));
}
.callout strong{color:var(--warn)}
.heroSide{display:grid;gap:14px}
.quickBox{padding:18px}
.quickBox h2,.quickBox h3{margin:0 0 12px}
.quickList{display:grid;gap:8px}
.quickItem{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line2)}
.quickItem:first-child{border-top:none;padding-top:0}
.quickK{color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.quickV{font-size:13px;line-height:1.6}
.layoutSection{padding:20px 18px;border-bottom:1px solid var(--line)}
.layoutSection__head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}
.layoutSection__head h2{margin:10px 0 0;font-size:30px}
.layoutGrid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:14px;align-items:start}
.controls{padding:18px}
.controls h3{margin:0 0 14px;font-size:18px}
.sceneList{display:grid;gap:8px}
.sceneBtn{
  width:100%;text-align:left;padding:12px;border:1px solid var(--line);
  background:var(--paper2);color:var(--ink);transition:.2s ease;
}
.sceneBtn:hover,.sceneBtn.is-on{border-color:rgba(92,200,255,.65);background:rgba(92,200,255,.08)}
.sceneBtn small{display:block;margin-top:6px}
.controls .sep{height:1px;background:var(--line);margin:14px 0}
.miniHud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.miniCard{padding:12px;background:var(--paper2);border:1px solid var(--line)}
.miniCard__k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.miniCard__v{margin-top:8px;font-weight:700;line-height:1.5}
.boardPanel{padding:14px}
.boardTop{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.boardTop__title{font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.boardTop__controls{display:flex;gap:8px;flex-wrap:wrap}
.boardWrap{
  position:relative;background:
    radial-gradient(circle at 30% 0%, rgba(92,200,255,.06), transparent 35%),
    radial-gradient(circle at 70% 100%, rgba(255,255,255,.03), transparent 40%),
    var(--paper2);
  border:1px solid var(--line);overflow:hidden;
}
.boardCaption{
  margin-top:10px;padding:12px;border:1px solid var(--line);background:rgba(255,255,255,.02);
  color:var(--muted);line-height:1.6;min-height:72px;
}
.boardLegend{
  margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
}
.legendBox{padding:10px;border:1px solid var(--line);background:rgba(255,255,255,.02);font-size:12px;line-height:1.5}
.chip{display:inline-block;vertical-align:middle;width:12px;height:12px;border-radius:999px;border:1px solid var(--ink);margin-right:8px}
.chip--atk{background:var(--atkFill)}
.chip--def{background:var(--defFill)}
.chip--ball{background:var(--ball)}
.chip--hint{background:var(--accent)}
.chip--option{background:transparent;border-color:var(--energy)}
.chip--state{background:transparent;border-color:var(--danger)}
.ruleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ruleCard{padding:18px}
.ruleCard h3{margin:0 0 12px;font-size:20px}
.ruleCard p,.ruleCard li{font-size:13px;line-height:1.72;color:var(--muted)}
.ruleCard ul{margin:0;padding-left:18px}
.ruleCard table{width:100%;border-collapse:collapse;font-size:12px}
.turnManagement{margin:12px 0 0;padding:12px;border-left:3px solid var(--energy);background:rgba(255,216,106,.04)}
.miniCard--energy .miniCard__v{color:var(--energy)}
.ruleCard th,.ruleCard td{padding:10px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.ruleCard thead th{color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.faq{display:grid;gap:12px}
.faqItem{padding:16px}
.faqItem h3{margin:0 0 8px;font-size:16px}
.faqItem p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.footer{padding:18px;color:var(--muted);font-size:12px;line-height:1.6}
svg{display:block;width:100%;height:auto;aspect-ratio:860/1090}
.board-outline{stroke:rgba(255,255,255,.18);stroke-width:2;fill:none}
.coord-label{font-size:14px;fill:#a8abb4;font-weight:700;letter-spacing:.12em}
.coord-label.row{text-anchor:end}
.coord-label.col{text-anchor:middle}
.board-cell{fill:rgba(255,255,255,.015);stroke:rgba(255,255,255,.04);stroke-width:1}
.board-cell.playable{fill:url(#playPattern);stroke:rgba(92,200,255,.18)}
.board-cell.endzone{fill:url(#endPattern);stroke:rgba(92,200,255,.35)}
.board-cell.focus{fill:rgba(92,200,255,.18);stroke:rgba(92,200,255,.72);stroke-width:3}
.board-cell.option{fill:rgba(255,216,106,.035);stroke:rgba(255,216,106,.72);stroke-width:2;stroke-dasharray:7 5}
.board-cell.landing{fill:rgba(125,220,140,.18);stroke:rgba(125,220,140,.8);stroke-width:3}
.board-cell.blocked{fill:rgba(255,110,139,.12);stroke:rgba(255,110,139,.8);stroke-width:3}
.path{fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18 14;opacity:.9}
.path.pass{stroke:#f2f2f2;stroke-dasharray:10 10}
.path.shadow{stroke:rgba(0,0,0,.35);stroke-width:10;opacity:.5}
.burst{fill:none;stroke:rgba(255,216,106,.85);stroke-width:4;opacity:.95}
.push{fill:none;stroke:rgba(255,110,139,.9);stroke-width:5;stroke-dasharray:8 8}
.cellNote{font-size:14px;fill:#5cc8ff;font-weight:800}
.piece-position{transition:transform 720ms cubic-bezier(.2,.8,.2,1), opacity .4s ease}
.piece-body{transition:transform 420ms cubic-bezier(.2,.8,.2,1)}
.piece-body .token{stroke-width:3}
.piece-body.atk .token{fill:var(--atkFill);stroke:var(--atkStroke)}
.piece-body.def .token{fill:var(--defFill);stroke:var(--defStroke)}
.piece-body text{font-size:20px;font-weight:900;text-anchor:middle;dominant-baseline:middle}
.piece-body.atk .piece-label{fill:#fff}
.piece-body.def .piece-label{fill:#09080b}
.piece-body .n{font-size:11px;fill:#a8abb4;transform:translate(16px,-17px)}
.piece-body.tackled .token{stroke:#ff3b6b;stroke-width:5;filter:drop-shadow(0 0 7px rgba(255,59,107,.62))}
.piece-body.atk.tackled .piece-label{fill:#fff}
.piece-body.def.tackled .piece-label{fill:#09080b}
.tackled-stripe{stroke:#ff3b6b;stroke-width:5;stroke-linecap:round;pointer-events:none}
.tackled-ring{fill:none;stroke:rgba(255,59,107,.48);stroke-width:3;stroke-dasharray:4 4;pointer-events:none}
.tackled-flag{font-size:11px!important;letter-spacing:.08em;fill:#ff6f91!important;font-weight:900!important;text-anchor:middle;dominant-baseline:auto}
.piece-body.top-layer .token{filter:url(#pieceGlow)}
.piece-body.pulse .token{animation:pulseStroke 1.1s ease-in-out infinite}
.ball{transition:transform 720ms cubic-bezier(.2,.8,.2,1), opacity .3s ease}
.ball rect{fill:var(--ball);stroke:var(--ink);stroke-width:2;rx:5;ry:5}
.badge{
  padding:7px 9px;border:1px solid var(--line);font-size:11px;
  text-transform:uppercase;letter-spacing:.14em;color:var(--muted);
}
.badge strong{color:var(--ink)}
@keyframes pulseStroke{
  0%,100%{filter: drop-shadow(0 0 0 rgba(92,200,255,.0))}
  50%{filter: drop-shadow(0 0 12px rgba(92,200,255,.7))}
}
@media (max-width: 1200px){
  .layoutGrid{grid-template-columns:1fr}
}
@media (max-width: 980px){
.hero__inner{grid-template-columns:1fr}
  .ruleGrid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .boardLegend{grid-template-columns:repeat(2,minmax(0,1fr))}
  .heroCard h1{font-size:32px}
}
