/* ============================================================
 *  wiki.css — el aspecto de TODAS las wikis, en un solo sitio
 * ============================================================
 *  Antes esto estaba copiado dentro de cada wiki (8 x ~20 KB). Tocar un
 *  color obligaba a editar ocho ficheros y siempre se quedaba alguno.
 *
 *  Todo cuelga de #crhub, asi que no se pisa con el resto de la web.
 *
 *  PARA CAMBIAR EL COLOR DE UNA WIKI no se toca este fichero: se anulan
 *  las variables en la propia pagina, despues de cargar este css:
 *
 *      <style>#crhub{ --gold:#e0a030; --grad-a:#f6c453; --grad-b:#c8791f; }</style>
 *
 *  Las que valen la pena:
 *    --gold / --gold-deep  botones y logo (el color principal)
 *    --grad-a / --grad-b   degradado del titulo grande
 *    --on-accent           color del texto ENCIMA del boton principal
 *    --accent-a/--accent-b degradado del logo y los botones (por defecto, el dorado)
 *    --ink                 fondo de cajas hundidas (filas, textarea)
 *    --code-bg/--code-fg   bloques de codigo
 * ============================================================ */

#crhub{
    --bg:#0a0713; --bg2:#0f0b1e; --panel:#171029; --panel2:#1e1636;
    --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.14);
    --gold:#f6c453; --gold-deep:#e0a92e; --green:#8b5cff; --teal:#b98bff; --purple:#e05cff;
    /* Tema: cada wiki puede anular estas seis en su propio <style>. */
    --grad-a:#34d2f2; --grad-b:#8b5cff; --on-accent:#2a1e04;
    --accent-a:var(--gold); --accent-b:var(--gold-deep); --lede-w:42ch;
    /* los mismos colores en RGB, para las transparencias */
    --green-rgb:139,92,255; --gold-rgb:246,196,83;
    --ink:#0f0b1e; --code-bg:#0a0714; --code-fg:#cfeefb;
    --card-fade:rgba(15,30,42,.55); --cmt:#5f7f8c; --off:#39505c;
    --text:#f2eefb; --muted:#a99fc7; --muted2:#7b7099; --maxw:1200px;
    --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    --mono:ui-monospace,"SF Mono","Cascadia Code",Consolas,monospace;
    background:
      radial-gradient(1100px 600px at 82% -10%, rgba(139,92,255,.16), transparent 60%),
      radial-gradient(900px 520px at 4% 2%, rgba(224,92,255,.10), transparent 55%),
      linear-gradient(180deg,var(--bg2),var(--bg) 42%);
    color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.62;min-height:100vh;overflow-x:hidden;
  }
  #crhub *{box-sizing:border-box}
  #crhub a{color:inherit;text-decoration:none}
  #crhub h1,#crhub h2,#crhub h3{line-height:1.12;margin:0;letter-spacing:-.02em}
  #crhub .eyebrow{font:600 12px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--green)}
  #crhub .top{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(10,7,19,.8);border-bottom:1px solid var(--line)}
  #crhub .top .in{max-width:var(--maxw);margin:0 auto;padding:0 22px;display:flex;align-items:center;gap:14px;height:62px;flex-wrap:wrap}
  #crhub .brand{display:flex;align-items:center;gap:11px;margin-right:auto}
  #crhub .brand .logo{width:38px;height:38px;border-radius:10px;flex:none;background:linear-gradient(145deg,var(--accent-a),var(--accent-b));display:grid;place-items:center;font-size:20px;box-shadow:0 6px 20px rgba(139,92,255,.35)}
  #crhub .brand b{font-size:15px;font-weight:800;display:block}
  #crhub .brand span{font:600 11px/1.3 var(--mono);color:var(--muted);letter-spacing:.06em}
  #crhub .navlink{font-size:13.5px;font-weight:700;color:var(--muted);padding:8px 10px;border-radius:9px}
  #crhub .navlink:hover{color:var(--text);background:var(--panel)}
  #crhub .langsw{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px}
  #crhub .langsw button{border:0;background:transparent;color:var(--muted);font-family:var(--mono);font-size:12px;font-weight:600;padding:6px 9px;border-radius:7px;cursor:pointer}
  #crhub .langsw button:hover{color:var(--text)}
  #crhub .langsw button.on{background:linear-gradient(145deg,var(--accent-a),var(--accent-b));color:var(--on-accent)}
  /* width:100% es imprescindible: #crhub es un flex en columna y, sin ancho,
     el margin:0 auto hace que .layout NO estire y se encoja al contenido. Eso
     dejaba Historial, Discusion y Resenas mas estrechas que el resto. */
  #crhub .layout{width:100%;max-width:var(--maxw);margin:0 auto;padding:24px 22px 0;display:grid;grid-template-columns:246px minmax(0,1fr);gap:34px;align-items:start}
  #crhub .side{position:sticky;top:86px}
  #crhub .plugsel{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:13px;margin-bottom:8px;border:1px solid var(--green);background:linear-gradient(180deg,rgba(139,92,255,.1),var(--panel))}
  #crhub .plugsel .ic{font-size:20px}
  #crhub .plugsel b{font-size:14.5px;font-weight:800;display:block}
  #crhub .plugsel small{font:600 10px/1.3 var(--mono);color:var(--muted2);letter-spacing:.08em}
  #crhub .sidelabel{font:600 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);padding:14px 12px 8px}
  #crhub .sidenav{display:flex;flex-direction:column;gap:2px}
  #crhub .sidenav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;border-left:2px solid transparent}
  #crhub .sidenav a .n{width:19px;text-align:center;opacity:.85}
  #crhub .sidenav a:hover{color:var(--text);background:var(--panel)}
  #crhub .sidenav a.on{color:var(--text);background:var(--panel);border-left-color:var(--green)}
  #crhub .content{min-width:0;padding-bottom:40px}
  #crhub .page{display:none}
  #crhub .page.active{display:block;animation:crfade .25s ease}
  @keyframes crfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  #crhub .crumb{font:600 12px/1 var(--mono);letter-spacing:.05em;color:var(--muted2);margin-bottom:14px}
  #crhub .crumb b{color:var(--green)}
  #crhub .ptitle{font-size:clamp(26px,4vw,36px);font-weight:800;margin-bottom:10px}
  #crhub .plead{color:var(--muted);font-size:16.5px;max-width:64ch;margin-bottom:24px}
  #crhub h3.sub{font-size:19px;font-weight:800;margin:32px 0 14px}
  #crhub .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;margin-bottom:14px}
  #crhub .badge{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:var(--panel);border:1px solid var(--line2);font:600 12.5px/1 var(--sans);color:var(--muted);margin-bottom:20px}
  #crhub .badge .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
  #crhub .hero h1{font-size:clamp(40px,6vw,66px);font-weight:900}
  #crhub .hero h1 .grad{background:linear-gradient(110deg,var(--grad-a),var(--grad-b));-webkit-background-clip:text;background-clip:text;color:transparent}
  #crhub .lede{color:var(--muted);font-size:clamp(15px,2vw,18px);margin:18px 0 26px;max-width:var(--lede-w)}
  #crhub .cta{display:flex;gap:12px;flex-wrap:wrap}
  #crhub .btn{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;border:1px solid transparent;transition:.18s}
  #crhub .btn.primary{background:linear-gradient(145deg,var(--accent-a),var(--accent-b));color:var(--on-accent);box-shadow:0 10px 26px rgba(139,92,255,.32)}
  #crhub .btn.primary:hover{transform:translateY(-2px)}
  #crhub .btn.ghost{background:var(--panel);border-color:var(--line2);color:var(--text)}
  #crhub .btn.ghost:hover{border-color:var(--green);color:var(--green)}
  #crhub .stats{display:flex;gap:24px;margin-top:30px;flex-wrap:wrap}
  #crhub .stats .s b{font-size:18px;font-weight:800;display:block}
  #crhub .stats .s span{font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
  #crhub .scroll{position:relative;justify-self:center;width:min(100%,380px);background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line2);border-radius:22px;padding:22px}
  #crhub .scroll .mrow{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;background:var(--ink);border:1px solid var(--line);margin-bottom:9px}
  #crhub .scroll .mrow .e{font-size:20px}
  #crhub .scroll .mrow b{font-size:13.5px;font-weight:800;display:block}
  #crhub .scroll .mrow small{font:600 11px/1.2 var(--mono);color:var(--muted2)}
  #crhub .scroll .mrow .rr{margin-left:auto;font:800 11px/1 var(--mono);color:var(--gold)}
  #crhub .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
  #crhub .card{background:linear-gradient(180deg,var(--panel),var(--card-fade));border:1px solid var(--line);border-radius:16px;padding:18px;transition:.2s}
  #crhub .card:hover{border-color:var(--line2);transform:translateY(-3px)}
  #crhub .card .ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:21px;margin-bottom:12px;background:var(--panel2);border:1px solid var(--line2)}
  #crhub .card h3{font-size:16px;font-weight:800}
  #crhub .card p{color:var(--muted);font-size:13.5px;margin:7px 0 0}
  #crhub .tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-top:8px}
  #crhub table{width:100%;border-collapse:collapse;min-width:480px}
  #crhub th,#crhub td{text-align:left;padding:12px 15px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
  #crhub th{font:600 11px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted2)}
  #crhub tr:last-child td{border-bottom:0}
  #crhub code{font-family:var(--mono);font-size:12.5px;background:rgba(139,92,255,.12);color:var(--green);padding:3px 7px;border-radius:6px;white-space:nowrap}
  #crhub .perm{font-family:var(--mono);font-size:12px;color:var(--teal);white-space:nowrap}
  #crhub pre{background:var(--code-bg);border:1px solid var(--line);border-radius:12px;padding:16px 18px;overflow-x:auto;margin:14px 0}
  #crhub pre code{background:none;color:var(--code-fg);padding:0;white-space:pre;font-size:13px;line-height:1.7}
  #crhub .cmt{color:var(--cmt)}
  #crhub .note{margin-top:18px;padding:15px 17px;border-radius:12px;background:rgba(139,92,255,.08);border:1px solid rgba(139,92,255,.25);color:var(--muted);font-size:14px;display:flex;gap:11px}
  #crhub .note b{color:var(--text)}
  #crhub ol.steps{counter-reset:s;list-style:none;padding:0;margin:8px 0 0}
  #crhub ol.steps li{position:relative;padding:12px 0 12px 44px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14.5px}
  #crhub ol.steps li:last-child{border-bottom:0}
  #crhub ol.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:10px;width:30px;height:30px;border-radius:9px;background:var(--panel2);border:1px solid var(--line2);color:var(--green);font:800 13px/30px var(--mono);text-align:center}
  #crhub ol.steps b{color:var(--text)}
  #crhub .rev-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
  #crhub .rev-avg{font-size:40px;font-weight:900}
  #crhub .rev-st{color:var(--gold);letter-spacing:2px} #crhub .off{color:var(--off)}
  #crhub .rev-form{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
  #crhub .starpick{display:flex;gap:6px;font-size:28px;color:var(--off);cursor:pointer}
  #crhub .starpick span.hot{color:var(--gold)}
  #crhub .rev-ta{width:100%;margin-top:12px;background:var(--ink);border:1px solid var(--line2);border-radius:10px;color:var(--text);padding:11px 13px;font-family:inherit;font-size:14px;min-height:80px;resize:vertical}
  #crhub .rev-cta{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;color:var(--muted)}
  #crhub .rev-item{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}
  #crhub .rev-item:last-child{border-bottom:0}
  #crhub .ra{width:40px;height:40px;border-radius:11px;flex:none;background:var(--panel2);border:1px solid var(--line2);display:grid;place-items:center;font-weight:800;color:var(--green)}
  #crhub .rev-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
  #crhub .who{font-weight:800} #crhub .when{font:600 11px/1 var(--mono);color:var(--muted2);margin-left:auto}
  #crhub .rev-body p{margin:6px 0 0;color:var(--muted);font-size:14px}
  #crhub .rev-empty{color:var(--muted2)}
  #crhub .pbadge{display:inline-flex;align-items:center;gap:4px;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;padding:3px 7px;border-radius:6px;background:linear-gradient(145deg,var(--gold),var(--gold-deep));color:#241a06}
  #crhub footer{border-top:1px solid var(--line);margin-top:30px}
  #crhub footer .in{max-width:var(--maxw);margin:0 auto;padding:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted2);font-size:13px}
  #crhub footer .dom{font-family:var(--mono)}
  @media(max-width:860px){#crhub .layout{grid-template-columns:1fr}#crhub .side{position:static}#crhub .sidenav{flex-direction:row;flex-wrap:wrap}#crhub .hero{grid-template-columns:1fr}#crhub .cards{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){#crhub .cards{grid-template-columns:1fr}}

  /* ===== header estilo web nueva ===== */
  #crhub header.site{position:sticky;top:0;z-index:60;background:rgba(10,7,19,.72);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}
  #crhub header.site .nav{max-width:var(--maxw);margin:0 auto;padding:0 22px;display:flex;align-items:center;gap:14px;height:64px}
  #crhub .brand2{display:flex;align-items:center;gap:11px;font-weight:900;font-size:17px;margin-right:auto;color:var(--text);letter-spacing:-.01em}
  #crhub .brand2 .logo{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:17px;background:linear-gradient(145deg,#8b5cff,#e05cff);box-shadow:0 6px 18px -6px rgba(139,92,255,.8)}
  #crhub .nlink2{padding:8px 12px;border-radius:9px;color:var(--muted);font-weight:600;font-size:14px;transition:.15s}
  #crhub .nlink2:hover{color:var(--text);background:var(--panel)}
  #crhub .lang{position:relative}
  #crhub .lang-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:10px;cursor:pointer;background:var(--panel);border:1px solid var(--line2);color:var(--text);font-weight:600;font-size:13.5px;font-family:var(--sans)}
  #crhub .lang-btn:hover{border-color:#8b5cff}
  #crhub .lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:168px;background:var(--panel2);border:1px solid var(--line2);border-radius:12px;padding:6px;box-shadow:0 24px 60px -18px rgba(0,0,0,.7);display:none;flex-direction:column;gap:2px;z-index:70}
  #crhub .lang-menu.open{display:flex}
  #crhub .lang-menu button{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;cursor:pointer;background:transparent;border:0;color:var(--text);font:600 14px/1 var(--sans);text-align:left;width:100%}
  #crhub .lang-menu button:hover{background:rgba(255,255,255,.06)}
  #crhub .lang-menu button.on{background:linear-gradient(145deg,rgba(139,92,255,.28),rgba(224,92,255,.18));color:#fff}
  #crhub .lang-menu .flag{font-size:16px}
  #crhub .enter{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:10px;font-weight:800;font-size:13.5px;background:linear-gradient(135deg,#8b5cff,#e05cff);color:#fff}
  @media(max-width:560px){#crhub .nlink2{display:none}}

  /* ===== historial de versiones ===== */
  .vh{display:flex;flex-direction:column;gap:14px;margin-top:6px}
  .vh-item{padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(180deg,rgba(139,92,255,.06),var(--panel))}
  .vh-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
  .vh-ver{font:800 16px/1 var(--mono);letter-spacing:.02em;color:#fff}
  .vh-date{font-size:12.5px;color:var(--muted)}
  .vh-latest{margin-left:auto;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:999px;color:#0a0714;background:linear-gradient(135deg,#8b5cff,#e05cff)}
  .vh-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
  .vh-log li{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.5;color:var(--text)}
  .vh-tag{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
  .vh-fix{background:rgba(255,138,76,.14);border-color:rgba(255,138,76,.4)}
  .vh-mejora{background:rgba(76,164,255,.14);border-color:rgba(76,164,255,.4)}
  .vh-nuevo{background:rgba(76,222,128,.14);border-color:rgba(76,222,128,.4)}
  .vh-none{color:var(--muted);font-size:13.5px;margin:0}

  /* ===== zona de discusión + reseñas ===== */
  .dz{margin-top:6px}
  .dz-vers{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
  .dz-ver{padding:8px 14px;border-radius:10px;font:700 13px/1 var(--mono);letter-spacing:.03em;cursor:pointer;background:var(--panel);border:1px solid rgba(255,255,255,.14);color:var(--muted);transition:.15s}
  .dz-ver:hover{color:var(--text);border-color:#8b5cff}
  .dz-ver.on{color:#fff;background:linear-gradient(145deg,rgba(139,92,255,.32),rgba(224,92,255,.18));border-color:rgba(139,92,255,.5)}
  .dz-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:linear-gradient(180deg,rgba(139,92,255,.07),var(--panel));margin-bottom:6px;color:var(--muted);font-size:14px}
  .dz-box svg{width:20px;height:20px;color:#b98bff;flex:none}
  .dz-btn{margin-left:auto;display:inline-flex;align-items:center;padding:9px 15px;border-radius:10px;font-weight:800;font-size:13px;background:linear-gradient(135deg,#8b5cff,#e05cff);color:#fff}
  .dz-thread{display:flex;flex-direction:column;gap:2px;padding-top:6px}
  /* El display de arriba le gana al [hidden] del navegador, así que salían las
     versiones todas apiladas. Hay que decirlo aquí. */
  .dz-thread[hidden]{display:none}
  .dz-c{display:flex;gap:13px;padding:16px 0;border-top:1px solid var(--line)}
  .dz-c:first-child{border-top:0}
  .dz-av{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;font:800 15px/1 var(--sans);color:#fff;background:linear-gradient(145deg,#8b5cff,#e05cff);border:1px solid rgba(255,255,255,.18)}
  .dz-av.admin{background:linear-gradient(145deg,#f6c453,#e0a92e);color:#2a1e04}
  .dz-cb{min-width:0;flex:1}
  .dz-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}
  .dz-user{font-weight:800;font-size:14.5px;color:#7cb8ff}
  .dz-user.admin{background:linear-gradient(120deg,#f6c453,#fff1c2,#f6c453);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ob-flow 3s linear infinite}
  .dz-badges{display:inline-flex;gap:6px;flex-wrap:wrap}
  .obadge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font:800 10px/1 var(--mono);letter-spacing:.02em;text-transform:uppercase;color:#1a1030;position:relative;overflow:hidden;white-space:nowrap;background-size:220% 100%;animation:ob-flow 3.4s linear infinite;box-shadow:0 1px 8px rgba(0,0,0,.25);background-image:linear-gradient(120deg,#8b5cff,#34d2f2,#8b5cff);color:#fff}
  .obadge::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:ob-shine 3.4s ease-in-out infinite}
  @keyframes ob-flow{to{background-position:220% 0}}
  @keyframes ob-shine{0%{left:-70%}55%,100%{left:150%}}
  .obadge.sm{background-image:linear-gradient(120deg,#f6c453,#e05cff,#f6c453)}
  .obadge.cr{background-image:linear-gradient(120deg,#42d98a,#34d2f2,#42d98a);color:#042318}
  .obadge.wb{background-image:linear-gradient(120deg,#34d2f2,#8b5cff,#34d2f2);color:#04121e}
  .obadge.ea{background-image:linear-gradient(120deg,#8b5cff,#e05cff,#8b5cff);color:#fff}
  .obadge.vt{background-image:linear-gradient(120deg,#ff4d5e,#25e0c8,#ff4d5e);color:#fff}
  .obadge.rm{background-image:linear-gradient(120deg,#ff4d5e,#2fbf6b,#ff4d5e);color:#fff}
  .obadge.ts{background-image:linear-gradient(120deg,#f6c453,#ff8a3d,#f6c453);color:#2a1e04}
  .obadge.user{background-image:linear-gradient(120deg,#3a6fd8,#6ea8ff);background-size:auto;color:#fff;animation:none}
  .obadge.user::after{content:none}
  .obadge.staff{background-image:linear-gradient(120deg,#e0a92e,#f6c453,#fff1c2,#f6c453,#e0a92e);color:#2a1e04}
  .dz-when{margin-left:auto;font:600 11.5px/1 var(--mono);color:var(--muted)}
  .dz-cb p{margin:0;color:var(--text);font-size:14px;opacity:.92}
  .dz-empty{color:var(--muted);padding:18px 0}
  /* reseñas */
  .rv-summary{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
  .rv-big{font-size:44px;font-weight:900;line-height:1}
  .rv-sub{display:flex;flex-direction:column;gap:4px}
  .rv-stars{color:#f6c453;font-size:16px;letter-spacing:2px}
  .rv-stars .off{color:#3a3450}
  .rv-cnt{font-size:12.5px;color:var(--muted)}
  .rv-rate{color:#f6c453;font-size:13px;letter-spacing:1px;margin:2px 0 6px}
  .rv-rate .off{color:#3a3450}
  @media(prefers-reduced-motion:reduce){.obadge,.obadge::after,.dz-user.admin{animation:none!important}}

  #crhub{display:flex;flex-direction:column}
  #crhub .layout{flex:1 0 auto}
  #crhub footer{border-top:1px solid var(--line);margin-top:24px;padding:22px;text-align:center}
  #crhub footer .in{max-width:var(--maxw);margin:0 auto;padding:0;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted2);font-size:13px}
  #crhub footer .dom{font-family:var(--mono);opacity:.75}

  /* ---- Buscador de configuracion (lo usan las wikis con config.yml) ---- */
  #crhub .cfgsearch{width:100%;max-width:340px;background:#0a0714;border:1px solid var(--line);border-radius:11px;color:var(--text);font-family:inherit;font-size:14px;padding:10px 13px;margin-bottom:12px}
  #crhub .cfgchips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
  #crhub .cfgchip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-weight:700;font-size:12.5px;cursor:pointer}
  #crhub .cfgchip:hover{color:var(--text)}
  #crhub .cfgchip.on{color:#fff;background:linear-gradient(135deg,rgba(255,77,94,.42),rgba(37,224,200,.26));border-color:rgba(255,77,94,.65)}
  #crhub .cfgpanel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
  #crhub .cfgpanel .ph{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  #crhub .cfgpanel .ph h3{font-size:20px;font-weight:900;margin:0}
  #crhub .cfgpanel .ph .ic{font-size:23px}
  #crhub .cfgpanel .ph .key{font:700 10px/1 ui-monospace,Consolas,monospace;color:#7b7099;background:#0a0714;border:1px solid var(--line);padding:5px 8px;border-radius:999px}
  #crhub .cfgpanel .pd{color:var(--muted);font-size:14px;margin:6px 0 12px}
  #crhub .cfgdef{color:#f6c453;font-family:ui-monospace,Consolas,monospace;font-size:12px;white-space:nowrap}
  #crhub .sysgroup{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#ff8a95;margin:24px 0 8px}

  /* ---- Enlace de licencia / no reembolso bajo el boton de compra.
       Iba sin prefijo y se colaba en el resto de la web; ahora va dentro de #crhub. ---- */
  #crhub .buy-terms{margin-top:8px;font-size:12px;text-align:center;opacity:.72}
  #crhub .buy-terms a{color:inherit;text-decoration:underline}
  #crhub .buy-terms a:hover{opacity:1}

  /* ============================================================
   *  BLOQUES DE CONTENIDO
   *  Lo que monta el editor. Cada tipo de bloque del JSON de una wiki
   *  (h1, lead, p, ul, table, note, code, mc, steps, cards, pills, stats, cta)
   *  se pinta con estas clases. Son iguales para todos los plugins: lo unico
   *  que cambia es el color, que sale de --green / --gold.
   * ============================================================ */
  #crhub h1 .grad{background:linear-gradient(110deg,var(--grad-a),var(--grad-b));-webkit-background-clip:text;background-clip:text;color:transparent}
  #crhub .wk-cta{margin:22px 0 6px}
  #crhub .wk-stats{margin:26px 0 10px}
  #crhub .wk-stats .s span{color:var(--muted);font-size:12.5px}
  /* Un h1 de bloque ES el titulo de la seccion: mismo estilo que el .ptitle de
     Historial/Discusion/Resenas, para que no se vea una mas grande que otra.
     El '>' evita pisar el .hero h1, que va anidado y es el titulo gigante. */
  #crhub .page > h1{font-size:clamp(26px,4vw,36px);font-weight:800;margin-bottom:10px}
  #crhub .wk-lead{font-size:16.5px;max-width:64ch;color:var(--muted);margin:0 0 24px}
  #crhub .wk-pills{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}
  #crhub .wk-pill{font:700 11.5px/1 var(--mono);padding:7px 11px;border-radius:999px;border:1px solid var(--line2);color:var(--muted)}
  #crhub .wk-pill.free{border-color:rgba(var(--green-rgb),.5);color:var(--green);background:rgba(var(--green-rgb),.09)}
  #crhub .wk-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 8px}
  #crhub .wk-card{background:linear-gradient(180deg,var(--panel),var(--card-fade));border:1px solid var(--line);border-radius:16px;padding:17px;transition:.2s}
  #crhub .wk-card:hover{border-color:rgba(var(--green-rgb),.35);transform:translateY(-2px)}
  #crhub .wk-card .ic{font-size:21px;margin-bottom:8px}
  #crhub .wk-card b{display:block;font-size:14.5px;margin-bottom:4px}
  #crhub .wk-card small{color:var(--muted);font-size:13px;line-height:1.55}
  #crhub .wk-steps{counter-reset:s;list-style:none;padding:0;margin:0 0 16px}
  #crhub .wk-steps li{counter-increment:s;position:relative;padding-left:42px;margin:0 0 14px;color:var(--muted)}
  #crhub .wk-steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font:800 13px/1 var(--mono);color:var(--bg);background:linear-gradient(145deg,var(--green),var(--gold))}
  #crhub .wk-steps li b{display:block;color:var(--text);margin-bottom:2px}
  #crhub .wk-note{border:1px solid var(--line2);background:var(--panel);border-radius:14px;padding:15px 17px;margin:16px 0;color:var(--muted)}
  #crhub .wk-note b{color:var(--text)}
  #crhub .wk-note.warn{border-color:rgba(var(--gold-rgb),.42);background:linear-gradient(180deg,rgba(var(--gold-rgb),.09),var(--panel))}
  #crhub .wk-note.warn b{color:var(--gold)}
  #crhub .wk-tbl{overflow-x:auto;margin:0 0 14px}
  #crhub .wk-tbl table{width:100%;border-collapse:collapse;font-size:14px}
  #crhub .wk-tbl th{text-align:left;font:700 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);padding:0 12px 9px;border-bottom:1px solid var(--line);white-space:nowrap}
  #crhub .wk-tbl td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:top}
  #crhub .wk-tbl td:first-child{color:var(--text);font-weight:600}
  #crhub .wk-code{background:var(--code-bg);border:1px solid var(--line);border-radius:13px;padding:15px 17px;overflow-x:auto;margin:0 0 14px}
  #crhub .wk-code code{background:none;color:var(--code-fg);padding:0;font-family:var(--mono);font-size:12.8px;line-height:1.65;white-space:pre}
  #crhub .wk-ul{color:var(--muted);padding-left:20px;margin:0 0 12px}
  #crhub .wk-ul li{margin:5px 0}

  /* Consola de Minecraft: los colores son los del juego, no los del plugin. */
  #crhub .wk-mc{background:#0b0b0f;border:1px solid var(--line);border-radius:13px;padding:15px 17px;font-family:var(--mono);font-size:13px;line-height:1.85;margin:0 0 14px;overflow-x:auto}
  #crhub .wk-mc .g{color:#8b8b96}#crhub .wk-mc .y{color:#f6c453}#crhub .wk-mc .gr{color:#4ade80}
  #crhub .wk-mc .r{color:#f87171}#crhub .wk-mc .w{color:#e8e8f0}
  #crhub .wk-mc .mcb{background:rgba(74,222,128,.16);border:1px solid rgba(74,222,128,.4);border-radius:5px;padding:1px 7px;color:#4ade80;font-weight:700}
  #crhub .wk-mc .mcr{background:rgba(248,113,113,.14);border:1px solid rgba(248,113,113,.38);border-radius:5px;padding:1px 7px;color:#f87171;font-weight:700}
  #crhub .wk-mc .mcy{background:rgba(255,169,61,.14);border:1px solid rgba(255,169,61,.38);border-radius:5px;padding:1px 7px;color:#ffa93d;font-weight:700}
  @media(max-width:900px){#crhub .wk-cards{grid-template-columns:1fr}}

  /* Imagen o GIF de la documentacion. */
  #crhub .wk-media{margin:18px 0;padding:0}
  #crhub .wk-media img{max-width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--line)}
  #crhub .wk-media figcaption{margin-top:9px;color:var(--muted2);font-size:12.5px;text-align:center}
  /* Boton de un plugin que YA es del visitante: verde, no dorado.
     El dorado dice 'paga'; el verde dice 'ya es tuyo'. */
  #crhub .btn.primary.owned{background:linear-gradient(135deg,#42d98a,#2fae70);color:#04231a;
    box-shadow:0 10px 26px rgba(66,217,138,.28)}
  #crhub .btn.primary.owned:hover{filter:brightness(1.06)}
