 :root{--bg:#070707;--panel:#141519;--panel2:#1b1c21;--ink:#fff;--muted:#cfcfcf;--gold:#ffcc00;--gold2:#ffd966;--line:#ffffff20;--ok:#3ccf4e;}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top,#18130a 0,#070707 42%,#000 100%);color:var(--ink);font-family:Montserrat,system-ui,Segoe UI,Arial,sans-serif}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 18px;background:#090909e8;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--gold);text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.brand img{width:36px;height:auto}.btn-back,.menu-btn{border:1px solid #b28900;background:linear-gradient(180deg,#ffd966,#ffcc00 65%,#e5b300);color:#151000;font-weight:900;border-radius:10px;padding:9px 14px;text-transform:uppercase;text-decoration:none;cursor:pointer}.menu-btn{display:none}.layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;width:min(1400px,96vw);margin:18px auto 40px}.sidebar{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 92px);overflow:auto;border:1px solid var(--line);background:linear-gradient(180deg,#18191d,#0f1013);border-radius:18px;box-shadow:0 12px 30px #0009}.sidebar-head{padding:18px;border-bottom:1px solid var(--line)}.sidebar-head h1{margin:0;color:var(--gold);font-size:22px;text-transform:uppercase}.sidebar-head p{margin:8px 0 14px;color:var(--muted);font-size:12px;line-height:1.35}#searchInput{width:100%;border:1px solid #4b4b4b;background:#050505;color:#fff;border-radius:10px;padding:12px;font:inherit;font-weight:700}#searchInput:focus{outline:2px solid #ffcc0044;border-color:var(--gold)}.toc{display:grid;gap:4px;padding:10px}.toc-link{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;color:#eaeaea;text-decoration:none;font-size:12px;line-height:1.25;border:1px solid transparent}.toc-link b{color:var(--gold2);font-size:11px}.toc-link:hover,.toc-link.active{background:#ffcc0018;border-color:#ffcc0045}.toc-link.main{color:var(--gold);font-weight:900;font-size:13px;margin-top:5px}.content{min-width:0}.hero-card,.page-card,.no-results{background:linear-gradient(180deg,#191a1f,#111216);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 28px #0008}.hero-card{padding:24px;margin-bottom:18px;text-align:center}.eyebrow{margin:0 0 8px;color:var(--gold2);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.hero-card h2{margin:0;color:#fff;font-size:clamp(28px,4vw,48px);text-transform:uppercase}.hero-card p{color:var(--muted);max-width:760px;margin:10px auto 0;line-height:1.5}.quick-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.quick-actions a{color:#111;background:var(--gold);text-decoration:none;font-weight:900;border-radius:999px;padding:9px 14px;text-transform:uppercase;font-size:12px}.page-card{scroll-margin-top:86px;padding:22px;margin-bottom:16px}.page-card.is-match{border-color:#ffcc00aa;box-shadow:0 0 0 2px #ffcc0025,0 12px 28px #0008}.page-top{display:flex;justify-content:space-between;align-items:center;margin:-4px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--gold);font-weight:900;text-transform:uppercase;font-size:12px}.page-top a{color:var(--gold2)}.page-card h2{margin:18px 0 8px;color:var(--gold);font-size:clamp(18px,2.2vw,28px);line-height:1.15}.page-card p{margin:10px 0;color:#f5f5f5;line-height:1.62;font-size:15px}.page-card .rule-line{background:#00000045;border-left:3px solid var(--gold);padding:9px 12px;border-radius:8px}.mark{background:#ffcc00;color:#000;border-radius:4px;padding:0 2px}.no-results{padding:18px;text-align:center;color:var(--gold);font-weight:900;margin-bottom:16px}.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:999px;border:1px solid #b28900;background:var(--gold);color:#111;font-size:24px;font-weight:900;cursor:pointer;display:none}.to-top.show{display:block}@media (max-width:900px){.menu-btn{display:inline-flex}.topbar{padding:10px}.brand span{font-size:13px}.brand img{width:30px}.layout{display:block;width:min(100%,96vw);margin-top:12px}.sidebar{position:fixed;left:10px;right:10px;top:62px;z-index:30;max-height:78vh;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.2s}.sidebar.open{transform:translateY(0);opacity:1;pointer-events:auto}.page-card{padding:16px;border-radius:14px}.page-card p{font-size:14px}.hero-card{padding:18px}.btn-back{padding:8px 10px;font-size:12px}.quick-actions a{flex:1 1 140px;text-align:center}}

/* ===== Asistente IA del reglamento ===== */
.ai-card{
  margin:18px auto 0;
  max-width:820px;
  text-align:left;
  border:1px solid rgba(255,204,0,.28);
  border-radius:16px;
  background:#090909;
  padding:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.ai-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.ai-card h3{margin:0;color:var(--gold);font-size:16px;text-transform:uppercase;letter-spacing:.04em}
.ai-card p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.ai-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:28px;border-radius:999px;background:var(--gold);color:#111;font-weight:900;font-size:12px}
.ai-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.ai-form input{min-height:42px;border:1px solid #4b4b4b;background:#050505;color:#fff;border-radius:12px;padding:10px 12px;font:inherit;font-weight:700}
.ai-form input:focus{outline:2px solid #ffcc0044;border-color:var(--gold)}
.ai-form button{border:1px solid #b28900;background:linear-gradient(180deg,#ffd966,#ffcc00 65%,#e5b300);color:#151000;font-weight:900;border-radius:12px;padding:10px 14px;text-transform:uppercase;cursor:pointer}
.ai-form button:disabled{opacity:.65;cursor:wait}
.ai-answer{margin-top:10px;border:1px solid rgba(255,255,255,.12);background:#111216;border-radius:12px;padding:12px;color:#f5f5f5;line-height:1.5;font-size:14px;white-space:pre-wrap}
.ai-answer.error{border-color:rgba(255,103,103,.55);color:#ffb3b3}
.ai-answer.loading{color:var(--gold2)}
@media (max-width:700px){.ai-form{grid-template-columns:1fr}.ai-form button{width:100%}.ai-card{padding:12px}}

.ai-citations{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:var(--muted)}
.ai-citations strong{color:var(--gold)}
.ai-citations a{color:var(--gold2);font-weight:900;text-decoration:underline;text-underline-offset:3px}


/* ===== Imágenes del reglamento ===== */
.rule-figure{
  margin:18px auto 8px;
  max-width:820px;
  text-align:center;
}
.rule-figure--wide{max-width:980px}
.rule-figure--medium{max-width:680px}
.rule-figure__button{
  display:block;
  width:100%;
  padding:0;
  border:1px solid rgba(255,204,0,.34);
  border-radius:16px;
  overflow:hidden;
  background:#070707;
  box-shadow:0 12px 26px rgba(0,0,0,.45);
  cursor:zoom-in;
}
.rule-figure img{
  display:block;
  width:100%;
  height:auto;
  background:#fff;
}
.rule-figure figcaption{
  margin-top:8px;
  color:var(--gold2);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.86);
  backdrop-filter:blur(4px);
}
.image-lightbox[hidden]{display:none}
.image-lightbox__panel{
  position:relative;
  width:min(1100px,96vw);
  max-height:92vh;
}
.image-lightbox img{
  display:block;
  max-width:100%;
  max-height:88vh;
  margin:0 auto;
  border:1px solid rgba(255,204,0,.45);
  border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,.75);
  background:#fff;
}
.image-lightbox__close{
  position:absolute;
  top:-12px;
  right:-12px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid #b28900;
  background:var(--gold);
  color:#111;
  font-size:24px;
  font-weight:900;
  cursor:pointer;
}
@media (max-width:700px){
  .rule-figure{margin:14px auto 6px}
  .rule-figure__button{border-radius:12px}
  .image-lightbox{padding:10px}
  .image-lightbox__close{right:4px;top:4px}
}
