/* ==========================================================================
   Nómadas — web pública · Estilo v2 (definitivo, 28/09/2026)

   Idea: estética limpia en dorado y azul. Una sola forma para cada cosa:
   · Cajas grandes (.nm-box): cristal suave con filo dorado arriba.
   · Bloques (.pp-set): panel interior discreto.
   · Fichas (.pp-chip), botones (.nm-btn), campos, pestañas: planos, esquina
     suave (--nm-radius-sm), sin relieve.
   · Toque Minecraft SOLO puntual: casilla hundida (.nm-slot) y letra
     Minecraft (--nm-font-mc) en estadísticas del perfil, Guías/Comunidad,
     top de votos y clasificaciones.

   Todas las variables de la sección 1 se editan en el panel:
   Web › Estilo › Web (App\Support\Theme::TOKENS['web']). Solo se guarda lo
   que difiere de estos valores.
   ========================================================================== */

/* 19/10: colores = paleta «Nómadas» (Theme::PALETTES, inspirada en hytale.com); la anterior es «Clásica». */
/* ==========================================================================
   1. Variables
   ========================================================================== */
:root {
    color-scheme: dark;

    /* Fondo y cajas */
    --nm-bg: #0b1322;
    --nm-shade: #0e1c3a;            /* sombreado de la foto de fondo */
    --nm-shade-alpha: 74%;          /* opacidad del sombreado (resto de la web) */
    --nm-home-shade: #33200f;       /* sombreado de la portada (otoñal) */
    --nm-home-shade-alpha: 45%;     /* opacidad del sombreado de la portada */
    --nm-home-photo-sat: 70%;       /* saturación de la foto de la portada (menos = menos naranja) */
    --nm-brand-size: 66px;          /* logo de la barra: algo más alto que ella */
    --nm-navbar-h: 54px;            /* altura de la barra de navegación */
    --nm-hero-logo: 200px;          /* logo de la portada */
    --nm-hero-gap: 14px;            /* separación entre elementos de la portada */
    --nm-surface: #131d33;          /* cajas grandes (cristal) */
    --nm-surface-2: #1b2843;        /* bloques interiores, campos, fichas */
    --nm-slot: #0c1527;             /* casilla Minecraft */
    --nm-line: #34445f;             /* bordes */

    /* Texto y colores */
    --nm-fg: #d3e1ee;
    --nm-muted: #97abbf;
    --nm-accent: #dea436;           /* dorado */
    --nm-accent-2: #f2bf55;         /* dorado claro */
    --nm-blue: #3f7fd0;             /* azul */
    --nm-blue-2: #82b6f5;           /* azul claro */
    --nm-ok: #2fb36b;
    --nm-danger: #d9534f;

    /* Tipografía */
    --nm-font-body: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
    --nm-font-heading: "Lexend", "Noto Sans", "Helvetica Neue", Arial, sans-serif;
    --nm-font-mc: "Minecraft Seven", "Noto Sans", "Helvetica Neue", Arial, sans-serif;
    --nm-font-mc-title: "Minecraft Ten", "Noto Sans", "Helvetica Neue", Arial, sans-serif;
    --nm-font-size: 16px;
    --nm-title-size: 2.5rem;

    /* Formas */
    --nm-radius: 10px;              /* cajas y bloques */
    --nm-radius-sm: 6px;            /* botones, campos, fichas, pestañas */
    --nm-content-width: 1440px;     /* ancho máximo de la web (17/10: antes 1200, cortado a 1180) */
    --nm-wiki-width: 1600px;        /* ancho de la wiki (17/10) */
    --nm-page-width: 1180px;        /* TODAS las páginas de la web salvo wiki y mapa (17/10: unificado; antes 900/920/960/1120/1180) */

    /* Cristal de las cajas grandes */
    --nm-glass-alpha: 88%;          /* 19/10: antes 74 % (cajas más nítidas, como el panel) */
    --nm-glass-blur: 14px;

    /* Derivados (no editables) */
    --nm-text-2: color-mix(in srgb, var(--nm-fg) 72%, transparent);
    --nm-hairline: color-mix(in srgb, var(--nm-fg) 10%, transparent);
    --nm-hover: color-mix(in srgb, var(--nm-fg) 6%, transparent);
    --nm-field: color-mix(in srgb, var(--nm-bg) 75%, #000);
    --nm-ring: 0 0 0 3px color-mix(in srgb, var(--nm-accent) 25%, transparent);

    /* Compatibilidad con estilos antiguos (mapa, vistas) — no editables */
    --nm-green: var(--nm-surface);
    --nm-green-light: var(--nm-line);
    --nm-bg-alt: var(--nm-surface-2);
    --nm-accent-dark: color-mix(in srgb, var(--nm-accent) 70%, #000);
    --nm-accent-rgb: 222, 164, 54;
    --nm-fg-rgb: 211, 225, 238;
    --nm-font-display: var(--nm-font-heading);
    --nm-font-hero-heading: var(--nm-font-mc);
    --nm-font-hero-display: var(--nm-font-mc-title);
    --mc-vanilla-fontlist: var(--nm-font-heading);
    --mc-default--fontlist: var(--nm-font-body);
    --mc-default-fontlist: var(--nm-font-body);
    --nm-home-gutter: clamp(16px, 4vw, 48px);
}

/* Letras de Minecraft (Mojang web theme, MIT), autoalojadas */
@font-face { font-family: "Minecraft Ten"; src: url("../fonts/Minecraft-Tenv2.woff2") format("woff2"), url("../fonts/Minecraft-Tenv2.woff") format("woff"); font-display: swap; }
@font-face { font-family: "Minecraft Seven"; src: url("../fonts/Minecraft-Seven_v2.woff") format("woff"), url("../fonts/Minecraft-Seven_v2.ttf") format("truetype"); font-display: swap; }

/* ==========================================================================
   2. Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { height: 100%; }
html, body { margin: 0; }
button { font: inherit; }

body.nm-body {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--nm-bg);
    color: var(--nm-fg);
    font-family: var(--nm-font-body);
    font-size: var(--nm-font-size);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
body.nm-body > header, body.nm-body > footer { flex: 0 0 auto; position: relative; z-index: 1; }
body.nm-body > main#app { flex: 1 1 auto; }

.nm-body a { color: inherit; text-decoration: none; }
.nm-body img { max-width: 100%; height: auto; }
.nm-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.nm-body h1, .nm-body h2, .nm-body h3, .nm-body h4, .nm-body h5, .nm-body h6 {
    margin: 0;
    font-family: var(--nm-font-heading);
    font-weight: 600;
    line-height: 1.2;
}

/* Título de página: dorado degradado y línea fina debajo */
.nm-body h1:not(.nm-hero-title):not(.nm-prose h1):not(.pp-name):not(.pp-private-name) {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 clamp(26px, 5vh, 44px);
    padding-bottom: 16px;
    text-align: center;
    font-size: clamp(1.8rem, 4vw, var(--nm-title-size));
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .01em;
    background: linear-gradient(180deg, var(--nm-accent-2), var(--nm-accent));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.nm-body h1:not(.nm-hero-title):not(.nm-prose h1):not(.pp-name):not(.pp-private-name)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--nm-accent) 20%, var(--nm-accent) 80%, transparent);
}

.mc-icon { width: 1.2em; height: 1.2em; object-fit: contain; image-rendering: pixelated; vertical-align: -.22em; }
.nm-mc { font-family: var(--nm-font-mc); font-weight: normal; }

/* Fondo: foto + sombreado en todas las páginas menos la portada */
body.nm-has-bg:not(.nm-home-page) { isolation: isolate; }
body.nm-has-bg:not(.nm-home-page)::before,
body.nm-has-bg:not(.nm-home-page)::after { content: ""; position: fixed; inset: 0; pointer-events: none; }
body.nm-has-bg:not(.nm-home-page)::before {
    z-index: -2;
    background: var(--nm-bg-image) center / cover no-repeat;
    filter: brightness(.55) saturate(1.1);
    will-change: transform;
}
body.nm-has-bg:not(.nm-home-page)::after {
    z-index: -1;
    background:
        radial-gradient(ellipse 90% 70% at 50% 38%, color-mix(in srgb, var(--nm-shade) clamp(0%, calc(var(--nm-shade-alpha) * .97), 100%), transparent), color-mix(in srgb, var(--nm-shade) clamp(0%, calc(var(--nm-shade-alpha) * .70), 100%), transparent) 60%, color-mix(in srgb, var(--nm-shade) clamp(0%, calc(var(--nm-shade-alpha) * 1.12), 100%), transparent) 100%),
        linear-gradient(180deg, color-mix(in srgb, var(--nm-shade) clamp(0%, calc(var(--nm-shade-alpha) * 1.18), 100%), transparent), color-mix(in srgb, var(--nm-shade) clamp(0%, calc(var(--nm-shade-alpha) * .73), 100%), transparent) 35%, color-mix(in srgb, var(--nm-shade) clamp(0%, calc(var(--nm-shade-alpha) * 1.33), 100%), transparent));
}
body.nm-has-bg:not(.nm-home-page) > main#app { position: relative; z-index: 0; }

/* ==========================================================================
   3. Maquetación: barra, pie y páginas
   ========================================================================== */

/* --- Barra ----------------------------------------------------------------- */
.nm-navbar { flex: 0 0 auto; position: sticky; top: clamp(14px, 3vh, 26px); margin-top: clamp(14px, 3vh, 26px); z-index: 20; padding: 0 clamp(12px, 3vw, 32px); transition: filter .15s ease; }
.nm-navbar.nm-navbar-scrolled { filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .35)); }
.nm-navbar-inner { width: 100%; display: flex; align-items: center; gap: 20px; }
.nm-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.nm-brand img { height: var(--nm-brand-size); width: auto; object-fit: contain; }
.nm-brand-text { font-family: var(--nm-font-heading); font-size: 1.3rem; }
.nm-navbar-box {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: 0;
    min-height: var(--nm-navbar-h);
    padding: 4px 20px;
    background: color-mix(in srgb, var(--nm-surface) var(--nm-glass-alpha), transparent);
    backdrop-filter: blur(var(--nm-glass-blur)) saturate(1.15);
    -webkit-backdrop-filter: blur(var(--nm-glass-blur)) saturate(1.15);
    border: 1px solid var(--nm-hairline);
    border-radius: var(--nm-radius);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
}
.nm-links-wrap { display: contents; }
.nm-mobile-panel-logo, .nm-mobile-only { display: none; }
.nm-links { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; list-style: none; margin: 0; padding: 0; }
.nm-links > li { flex: 0 0 auto; display: flex; }
.nm-links .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 2px;
    white-space: nowrap;
    color: color-mix(in srgb, var(--nm-fg) 94%, #fff); /* 19/10: más claro (antes --nm-text-2, 72 %) */
    font-family: var(--nm-font-heading);
    font-size: 1.02rem; /* 19/10: antes .85rem, con icono */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    transition: color .12s ease;
}
.nm-links .nav-link:hover, .nm-links .nav-link:focus-visible { color: #fff; }
.nm-links .nav-link.active { color: var(--nm-accent); }
/* Subrayado bajo icono + texto (toda la entrada del menú) */
.nm-links .nav-link::after { content: ""; position: absolute; left: 2px; right: 2px; bottom: -4px; height: 2px; border-radius: 2px; background: var(--nm-accent); transform: scaleX(0); transition: transform .2s ease, opacity .2s ease; }
.nm-links .nav-link:hover::after { transform: scaleX(1); opacity: .45; }
.nm-links .nav-link.active::after { transform: scaleX(1); opacity: 1; }
.nm-links .dropdown-item::after { display: none; }

/* 19/10: barra al estilo de hytale.com (solo escritorio; el móvil sigue con su panel):
   caja oscura translúcida sin borde, entradas en bloque con fondo degradado al pasar,
   la activa con fondo dorado suave y una raya dorada con brillo abajo (propia, no su flecha) y «Entrar» como botón principal azul. */
@media (min-width: 992px) {
    .nm-navbar-box { padding: 8px 8px 8px 12px; gap: 12px; background: color-mix(in srgb, var(--nm-bg) 58%, transparent); backdrop-filter: blur(6px) saturate(1.1); -webkit-backdrop-filter: blur(6px) saturate(1.1); border: 0; border-radius: 8px; box-shadow: none; }
    .nm-links { gap: 4px; }
    .nm-links .nav-link { padding: 12px 20px; border-radius: 6px; line-height: 1; font-size: .88rem; font-weight: 600; letter-spacing: .06em; color: color-mix(in srgb, var(--nm-fg) 88%, #fff); transition: color .12s ease, background-color .12s ease; }
    .nm-links .nav-link:hover, .nm-links .nav-link:focus-visible, .nm-dropdown.is-open > .nav-link { color: #fff; background: linear-gradient(0deg, color-mix(in srgb, var(--nm-blue) 18%, transparent), color-mix(in srgb, var(--nm-blue) 7%, transparent)); }
    .nm-links .nav-link.active { color: #fff; background: linear-gradient(0deg, color-mix(in srgb, var(--nm-accent) 14%, transparent), color-mix(in srgb, var(--nm-accent) 4%, transparent)); }
    .nm-links .nav-link::after { left: 50%; right: auto; top: 100%; bottom: auto; width: 22px; height: 2px; margin-top: -2px; border-radius: 2px; transform: translateX(-50%); opacity: 0; transition: opacity .15s ease, width .15s ease; background: linear-gradient(90deg, var(--nm-accent), var(--nm-accent-2)); box-shadow: 0 0 8px color-mix(in srgb, var(--nm-accent) 70%, transparent); }
    .nm-links .nav-link:hover::after { transform: translateX(-50%); opacity: 0; }
    .nm-links .nav-link.active::after { transform: translateX(-50%); opacity: 1; }
    .dropdown-menu { top: calc(100% + 12px); }
    .nm-navbar .nm-navbtn-login { height: 38px; padding: 0 26px; border: 2px solid color-mix(in srgb, var(--nm-blue-2) 70%, var(--nm-blue)); border-radius: 4px; background: linear-gradient(90deg, color-mix(in srgb, var(--nm-blue) 72%, #2a2f7a), var(--nm-blue)); color: #fff; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
    .nm-navbar .nm-navbtn-login:hover { border-color: var(--nm-blue-2); background: linear-gradient(90deg, color-mix(in srgb, var(--nm-blue) 82%, #2a2f7a), color-mix(in srgb, var(--nm-blue) 85%, #fff)); }
    .nm-navbar .nm-navbtn-login .bi { display: none; }
    .nm-navbar .nm-navbtn-head { border-color: transparent; background: transparent; }
    .nm-navbar .nm-navbtn-head:hover { border-color: color-mix(in srgb, var(--nm-blue-2) 60%, transparent); background: color-mix(in srgb, var(--nm-blue) 12%, transparent); }
}

/* Desplegables del menú y de la cuenta */
.nm-dropdown, .nm-account-dd { position: relative; }
.nm-dropdown > .nav-link { background: none; border: 0; cursor: pointer; }
.nm-dropdown > .nav-link .bi-chevron-down { font-size: .7em; transition: transform .15s ease; }
.nm-dropdown.is-open > .nav-link .bi-chevron-down { transform: rotate(180deg); }
.dropdown-menu {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    z-index: 30;
    display: none;
    min-width: 200px;
    margin: 0;
    padding: 6px;
    list-style: none;
    transform: translateX(-50%);
    background: color-mix(in srgb, var(--nm-surface) 94%, transparent);
    backdrop-filter: blur(var(--nm-glass-blur));
    -webkit-backdrop-filter: blur(var(--nm-glass-blur));
    border: 1px solid var(--nm-line);
    border-radius: var(--nm-radius);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .45);
}
.nm-dropdown.is-open .dropdown-menu, .nm-account-dd.is-open .dropdown-menu { display: block; }
.dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    border: 0;
    border-radius: var(--nm-radius-sm);
    background: none;
    color: var(--nm-text-2);
    font-family: var(--nm-font-heading);
    font-size: .8rem;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
    cursor: pointer;
}
.dropdown-item i { width: 1.1em; text-align: center; font-size: 1rem; color: var(--nm-accent); }
.dropdown-item:hover, .dropdown-item:focus { background: var(--nm-hover); color: var(--nm-fg); }
.dropdown-item.active { color: var(--nm-accent); }
.nm-account-dd .dropdown-menu { left: auto; right: 0; transform: none; min-width: 190px; }
.nm-account-dd form { margin: 0; }
.nm-dd-count { margin-left: auto; padding-left: .6rem; color: var(--nm-muted); font-family: var(--nm-font-body, inherit); font-size: .8rem; letter-spacing: 0; }
.nm-dd-sep { height: 1px; margin: 4px 10px; background: var(--nm-hairline); }

/* Botones de la barra (entrar, cara) */
.nm-account { display: flex; align-items: center; gap: .4rem; }
.nm-account-logout { margin: 0; }
.nm-navbtn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--nm-hairline);
    border-radius: var(--nm-radius-sm);
    background: var(--nm-hover);
    color: var(--nm-fg);
    font-weight: 600;
    font-size: .85rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}
.nm-navbtn:hover { border-color: var(--nm-accent); background: color-mix(in srgb, var(--nm-fg) 10%, transparent); }
.nm-navbtn-head { width: 42px; padding: 0; overflow: visible; }
.nm-navbtn-avatar { width: 30px; height: 30px; border-radius: 4px; image-rendering: pixelated; object-fit: cover; }
/* Bola de «hay notificaciones sin leer» (en la cara y, en móvil, en el botón de menú) */
.nm-navbtn-dot { position: absolute; top: -4px; right: -4px; width: 12px; height: 12px; border-radius: 50%; background: var(--nm-accent); box-shadow: 0 0 0 2px var(--nm-bg); }
.nm-navbtn-login { gap: .45rem; }
/* Botón de menú en móvil: mismo cuadrado que la cara (42 px), tres barras con la del medio más corta */
.nm-toggler { position: relative; display: none; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: var(--nm-hover); color: var(--nm-fg); cursor: pointer; transition: border-color .15s ease; }
.nm-toggler:hover, .nm-toggler:focus-visible { border-color: var(--nm-accent); }
.nm-toggler-bars { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; width: 18px; }
.nm-toggler-bars i { display: block; width: 100%; height: 2px; border-radius: 2px; background: currentColor; }
.nm-toggler-bars i:nth-child(2) { width: 70%; background: var(--nm-accent); }
.nm-links-close { display: none; }
@media (max-width: 600px) { .nm-navbtn-login span { display: none; } }

/* Barra en móvil: panel a pantalla completa */
@media (max-width: 991.98px) {
    .nm-navbar-inner { position: relative; justify-content: flex-end; }
    .nm-brand { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
    .nm-navbar-box { flex: 0 0 auto; padding: 0; background: none; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
    .nm-toggler { display: inline-flex; }
    .nm-account { display: none !important; }
    .nm-links-wrap { display: none; }
    .nm-links-wrap.show { display: block; position: fixed; inset: 0; z-index: 999; overflow-y: auto; padding: 28px 20px 40px; background: color-mix(in srgb, var(--nm-bg) 97%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
    .nm-links-close { display: block; position: absolute; top: 20px; right: 20px; border: 0; background: none; color: var(--nm-fg); font-size: 1.6rem; cursor: pointer; }
    .nm-mobile-panel-logo { display: flex; justify-content: center; padding-bottom: 24px; }
    .nm-mobile-panel-logo img { height: 56px; width: auto; }
    .nm-links, .nm-auth { width: 100%; flex-direction: column; align-items: stretch; gap: 6px; }
    .nm-links > li, .nm-auth > li { width: 100%; }
    .nm-links > li.nm-dropdown { flex-direction: column; }
    .nm-links .nav-link, .nm-auth .nav-link { width: 100%; justify-content: flex-start; padding: 14px 18px; white-space: normal; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 70%, transparent); }
    .nm-links .nav-link.active { box-shadow: inset 3px 0 0 var(--nm-accent); }
    .nm-links .nav-link::after { display: none; }
    .dropdown-menu { position: static; display: none; transform: none; min-width: 0; padding: 4px 0 0 18px; background: none; border: 0; box-shadow: none; backdrop-filter: none; }
    .nm-auth.nm-mobile-only { display: flex; list-style: none; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid var(--nm-hairline); }
    .nm-auth .nav-link { display: flex; align-items: center; gap: 8px; color: var(--nm-fg); font-family: var(--nm-font-heading); font-size: .9rem; text-transform: uppercase; letter-spacing: .04em; border: 0; cursor: pointer; }
    .nm-auth form { margin: 0; }
    .nm-auth-avatar { width: 22px; height: 22px; border-radius: 4px; image-rendering: pixelated; }
}

/* --- Barra de anuncios (temporada) ----------------------------------------- */
/* z-index: en la portada el fondo fijo (.nm-home::before/::after) se pintaba encima. */
.nm-season { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .35rem .8rem; width: min(960px, calc(100% - 32px)); margin: 14px auto 0; padding: .5rem 2.4rem .5rem 1rem; border: 1px solid color-mix(in srgb, var(--nm-accent) 45%, transparent); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-accent) 14%, transparent); backdrop-filter: blur(8px); color: var(--nm-fg); font-size: .9rem; line-height: 1.4; text-align: center; animation: nm-rise .5s ease-out; }
.nm-season > .bi-megaphone-fill, .nm-season-count, .nm-season-link { color: var(--nm-accent); }
.nm-season-count { font-weight: 700; font-variant-numeric: tabular-nums; }
.nm-season-link { font-weight: 600; white-space: nowrap; }
.nm-season-link:hover { text-decoration: underline; }
.nm-season-close { position: absolute; right: .4rem; top: 50%; transform: translateY(-50%); padding: .3rem; border: 0; background: none; color: var(--nm-muted); cursor: pointer; }

/* --- Pie --------------------------------------------------------------------- */
.nm-footer { border-top: 1px solid var(--nm-hairline); }
.nm-footer-inner { max-width: var(--nm-content-width); margin: 0 auto; padding: 12px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; font-size: .8rem; color: var(--nm-muted); }
.nm-footer-copy { margin: 0; }
.nm-footer-links { display: flex; flex-wrap: wrap; gap: 4px 18px; list-style: none; margin: 0; padding: 0; }
.nm-footer-links a:hover { color: var(--nm-fg); }
@media (max-width: 767.98px) { .nm-footer-inner { flex-direction: column-reverse; text-align: center; padding: 18px 24px; } .nm-footer-links { justify-content: center; } }

/* --- Páginas interiores ------------------------------------------------------ */
.nm-page { padding: clamp(32px, 6vh, 56px) clamp(16px, 4vw, 56px); color: color-mix(in srgb, var(--nm-fg) 92%, transparent); }
/* 17/10: el ancho sale solo del ajuste de Web › Estilo (antes se cortaba a 1180 px y subirlo no hacía nada). */
.nm-container { width: 100%; max-width: var(--nm-content-width); margin: 0 auto; }
.nm-container.nm-container-wiki { max-width: var(--nm-wiki-width); }
.nm-container.nm-container-page { max-width: var(--nm-page-width); }
.nm-container-narrow { max-width: var(--nm-page-width); }
.nm-page .nm-container > * { animation: nm-rise .45s ease-out both; }

/* ==========================================================================
   4. Componentes
   ========================================================================== */

/* --- Caja grande: cristal suave con filo dorado ------------------------------ */
.nm-box, .nm-page .card, .nm-feature-card {
    position: relative;
    background: color-mix(in srgb, var(--nm-surface) var(--nm-glass-alpha), transparent);
    backdrop-filter: blur(var(--nm-glass-blur)) saturate(1.2);
    -webkit-backdrop-filter: blur(var(--nm-glass-blur)) saturate(1.2);
    border: 1px solid var(--nm-hairline);
    border-radius: var(--nm-radius);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
}
.nm-box::before, .nm-page .card::before, .nm-feature-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: var(--nm-radius);
    right: var(--nm-radius);
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--nm-accent) 20%, var(--nm-accent) 80%, transparent);
    opacity: 1;
    pointer-events: none;
}
.nm-box-foot { padding: .8rem 1.2rem; border-top: 1px solid var(--nm-hairline); }
.nm-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: -24px -24px 20px; padding: 12px 24px; border-bottom: 1px solid var(--nm-hairline); }
.nm-empty-note, .pp-empty { margin: 0; padding: 32px 16px; text-align: center; color: var(--nm-muted); }

/* --- Bloque interior --------------------------------------------------------- */
.pp-settings { display: grid; gap: 12px; }
.pp-set { min-width: 0; padding: 14px 16px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); }
.pp-set-head { display: flex; align-items: center; gap: 10px; min-height: 34px; min-width: 0; }
.pp-set-head > i { flex: 0 0 22px; font-size: 1.15rem; color: var(--nm-accent); text-align: center; }
.nm-body .pp-set-title { margin: 0; padding: 0; font-family: var(--nm-font-heading); font-size: .85rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--nm-fg); white-space: nowrap; }
.pp-hl { min-width: 0; overflow: hidden; font-family: var(--nm-font-heading); font-weight: 600; font-size: .9rem; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.pp-set-aside { margin-left: auto; flex: 0 0 auto; font-size: .78rem; color: var(--nm-muted); white-space: nowrap; }
.pp-set-btn { margin-left: auto; flex: 0 0 auto; width: auto !important; white-space: nowrap; }
.pp-set-desc { margin: 4px 0 0; overflow: hidden; font-size: .84rem; color: var(--nm-muted); text-overflow: ellipsis; white-space: nowrap; }
.pp-set-desc a { color: var(--nm-accent); }
.pp-set-body { margin: 12px 0 0; }
.pp-set-error { margin: 8px 0 0; font-size: .84rem; font-weight: 700; color: #ff8b8f; }
.pp-set-badge { flex: 0 0 auto; padding: 1px 8px; border-radius: var(--nm-radius-sm); font-size: .7rem; font-weight: 700; background: var(--nm-hover); color: var(--nm-muted); }
.pp-set-badge.is-on { background: color-mix(in srgb, var(--nm-ok) 22%, transparent); color: #6fe0a0; }
@media (max-width: 600px) { .pp-set-head { flex-wrap: wrap; row-gap: 8px; } }

/* --- Fichas (dato con icono de color) ----------------------------------------- */
.pp-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.pp-chips form { display: contents; }
.pp-chips-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pp-chips-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pp-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 6px 8px 6px 6px;
    border: 1px solid var(--nm-hairline);
    border-radius: var(--nm-radius-sm);
    background: color-mix(in srgb, var(--nm-surface-2) 75%, transparent);
    color: var(--nm-fg);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .12s ease, background-color .12s ease;
}
span.pp-chip { cursor: default; }
a.pp-chip:hover, button.pp-chip:hover { border-color: color-mix(in srgb, var(--nm-accent) 60%, transparent); background: var(--nm-surface-2); color: var(--nm-fg); }
.pp-chip.is-empty { opacity: .55; }
.pp-chip.is-me { border-color: color-mix(in srgb, var(--nm-accent) 55%, transparent); }
.pp-chip-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.pp-chip-text small { overflow: hidden; font-size: .62rem; font-weight: 700; letter-spacing: 0; text-transform: uppercase; color: var(--nm-muted); text-overflow: ellipsis; white-space: nowrap; }
.pp-chip-text span { overflow: hidden; font-family: var(--nm-font-heading); font-weight: 600; font-size: .86rem; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.pp-chip-go { margin-left: auto; flex: 0 0 auto; color: var(--nm-muted); }
.pp-build-cat .pp-chip-go { color: var(--nm-accent); font-size: 1rem; }
a.pp-chip:hover .pp-chip-go { color: var(--nm-accent); }
.pp-chip .pp-icon-img { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 4px; image-rendering: pixelated; object-fit: contain; }
@media (max-width: 760px) { .pp-chips-3, .pp-chips-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Icono de color de las fichas: color = activo; gris = no */
.pp-icon-btn {
    --pp-btn: #f7c948;
    --pp-btn-fg: #fff;
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--nm-radius-sm);
    background: var(--pp-btn);
    color: var(--pp-btn-fg);
    font-size: 1rem;
}
.pp-icon-btn.is-off { --pp-btn: #5b6577; --pp-btn-fg: #dfe5f0; }
.pp-icon-btn.is-banned { --pp-btn: var(--nm-danger); }
.pp-icon-btn-privacy { --pp-btn: #8b5cf6; }
.pp-icon-btn-whitelist { --pp-btn: #22c55e; }
.pp-icon-btn-discord { --pp-btn: #5865f2; }
.pp-icon-btn-2fa { --pp-btn: #0ea5e9; }
.pp-icon-btn-uuid { --pp-btn: #64748b; }
.pp-icon-btn.pp-icon-info { --pp-btn: #ea580c; }
.pp-icon-btn.pp-icon-seen { --pp-btn: #0f766e; }
.pp-icon-btn.pp-icon-seen.is-now { --pp-btn: #22c55e; }
.pp-icon-btn.pp-icon-mob { --pp-btn: #65a30d; }
.pp-icon-btn.pp-icon-style { --pp-btn: #b45309; }
.pp-icon-btn.pp-icon-time { --pp-btn: var(--nm-blue); }
.pp-icon-btn.pp-icon-adv { --pp-btn: #7c3aed; }
.pp-icon-btn.pp-icon-heads { --pp-btn: #be123c; }
.pp-icon-btn.pp-icon-item { --pp-btn: var(--nm-field); }
.pp-icon-btn.pp-icon-item img, .pp-icon-btn.pp-icon-item .mc-icon { width: 24px; height: 24px; image-rendering: pixelated; }

/* --- Botones: una sola forma, planos ----------------------------------------- */
.nm-btn {
    --bb: var(--nm-accent);
    --bf: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1px solid transparent;
    border-radius: var(--nm-radius-sm);
    background: var(--bb);
    color: var(--bf);
    font-family: var(--nm-font-heading);
    font-weight: 600;
    font-size: .85rem;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .05em;
    text-decoration: none;
    cursor: pointer;
    transition: filter .15s ease, transform .15s ease, background-color .15s ease;
}
.nm-btn:hover { color: var(--bf); filter: brightness(1.08); transform: translateY(-1px); }
.nm-btn:active { transform: none; filter: brightness(.95); }
.nm-btn[disabled], .nm-btn.is-disabled { opacity: .5; cursor: not-allowed; transform: none; }
.nm-btn-sm { padding: 7px 14px; font-size: .74rem; }
.nm-btn-primary { --bb: var(--nm-btn-1-bg, var(--nm-accent)); --bf: var(--nm-btn-1-fg, #fff); }
.nm-btn-secondary { --bb: var(--nm-btn-2-bg, #5865f2); --bf: var(--nm-btn-2-fg, #fff); }
.nm-btn-success { --bb: var(--nm-btn-3-bg, var(--nm-ok)); --bf: var(--nm-btn-3-fg, #fff); }
.nm-btn-dark { --bb: var(--nm-btn-4-bg, var(--nm-blue)); --bf: var(--nm-btn-4-fg, #fff); }
.nm-btn-danger { --bb: var(--nm-btn-5-bg, var(--nm-danger)); --bf: var(--nm-btn-5-fg, #fff); }
.nm-btn-outline { --bb: transparent; --bf: var(--nm-btn-6-fg, var(--nm-fg)); border-color: color-mix(in srgb, var(--nm-btn-6-bg, var(--nm-fg)) 30%, transparent); }
.nm-btn-outline:hover { background: var(--nm-hover); border-color: var(--nm-accent); }
/* Botones de la portada con color elegido (tipo b1-b6) */
.nm-btn-style { --bb: var(--btn-bg); --bf: var(--btn-fg); }
.nm-btn-copied, .nm-btn-style.nm-btn-copied { --bb: var(--nm-ok); --bf: #fff; }
@media (max-width: 575.98px) { .nm-btn:not(.nm-btn-sm):not(.pp-set-btn) { width: 100%; } }

/* Botones visibles sin iconos: solo «← Volver» lleva flecha */
.nm-btn > i, .nm-btn > .bi, .nm-btn .mc-icon, .nm-auth-btn i, .nm-auth-discord i, .nm-error-btn i { display: none; }

/* Botones de fila (editar / borrar) */
.pp-row-btn { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 0; border-radius: var(--nm-radius-sm); color: #fff; font-size: .85rem; cursor: pointer; }
.pp-row-edit { background: var(--nm-blue); }
.pp-row-delete { background: var(--nm-danger); }
.pp-row-btn:hover { filter: brightness(1.15); }

/* --- Pestañas ---------------------------------------------------------------- */
.pp-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.pp-tab {
    appearance: none;
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 120px;
    padding: 11px 16px;
    border: 1px solid var(--nm-line);
    border-radius: var(--nm-radius-sm);
    background: color-mix(in srgb, var(--nm-surface-2) 60%, transparent);
    color: var(--nm-text-2);
    font-family: var(--nm-font-heading);
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .12s, border-color .12s, background-color .12s;
}
.pp-tab:hover { color: var(--nm-fg); border-color: color-mix(in srgb, var(--nm-accent) 50%, transparent); }
.pp-tab.is-active { background: var(--nm-accent); border-color: var(--nm-accent); color: #fff; }
.pp-tab i { font-size: .95em; }
@media (max-width: 576px) { .pp-tab-label { display: none; } .pp-tab { min-width: 0; padding: 10px; } .pp-tab i { font-size: 1.15rem; } }

/* --- Campos ------------------------------------------------------------------ */
.nm-input, .form-control, .form-select, .nm-page .form-control, .nm-page .form-select,
.nm-donate-form input[type=text], .nm-donate-form input:not([type]), .nm-auth-form input[type=text], .nm-auth-form input[type=password] {
    display: block;
    width: 100%;
    padding: .62rem .8rem;
    border: 1px solid var(--nm-line);
    border-radius: var(--nm-radius-sm);
    background: var(--nm-field);
    color: var(--nm-fg);
    font: inherit;
}
.nm-input:focus, .form-control:focus, .form-select:focus, .nm-donate-form input:focus, .nm-auth-form input:focus { outline: none; border-color: var(--nm-accent); box-shadow: var(--nm-ring); }
.form-control::placeholder, .nm-input::placeholder { color: color-mix(in srgb, var(--nm-fg) 40%, transparent); }
textarea.nm-input, textarea.form-control { resize: vertical; min-height: 90px; }
.form-select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 2.2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23a9b6cc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 6l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .8rem center;
    background-size: 12px;
}
.is-invalid { border-color: var(--nm-danger) !important; }
.invalid-feedback, .nm-form-error { display: block; margin-top: .3rem; color: #ff9b95; font-size: .82rem; }
.form-label, .nm-form-label, .pp-set-label { display: block; margin: .4rem 0 .3rem; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--nm-muted); }
.form-check { display: flex; align-items: center; gap: .5rem; }
.form-check-input { width: 18px; height: 18px; accent-color: var(--nm-accent); }
.nm-form { display: flex; flex-direction: column; gap: .45rem; padding: 1.2rem; }
.nm-form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .6rem; margin-top: .8rem; }
kbd { padding: .1rem .35rem; border-radius: 4px; background: var(--nm-line); font-size: .8em; }

/* --- Etiquetas y avisos -------------------------------------------------------- */
.badge { display: inline-block; padding: .22rem .55rem; border-radius: var(--nm-radius-sm); font-size: .72rem; font-weight: 700; line-height: 1.2; }
.bg-success { background: var(--nm-ok); color: #fff; }
.bg-danger { background: var(--nm-danger); color: #fff; }
.bg-secondary { background: var(--nm-line); color: var(--nm-fg); }
.alert { padding: .7rem .9rem; border-radius: var(--nm-radius-sm); border: 1px solid transparent; }
.alert-warning { background: color-mix(in srgb, var(--nm-accent) 14%, transparent); border-color: color-mix(in srgb, var(--nm-accent) 40%, transparent); }
.alert-danger { background: color-mix(in srgb, var(--nm-danger) 15%, transparent); color: #ffc3bf; }

/* --- Filas de lista (soporte, notificaciones, marcadores) --------------------- */
.nm-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; overflow: hidden; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); }
.nm-list a { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--nm-hairline); color: var(--nm-text-2); }
.nm-list li:first-child a { border-top: 0; }
.nm-list a:hover { background: var(--nm-hover); color: var(--nm-fg); }
.nm-list a.active { background: var(--nm-accent); color: #fff; font-weight: 700; }
.nm-list a i { color: var(--nm-accent); }
.nm-list a.active i { color: #fff; }
.pp-set-list { list-style: none; padding: 0; display: grid; gap: 6px; }
.pp-set-item { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 70%, transparent); }
.pp-set-item img { flex: 0 0 auto; image-rendering: pixelated; }
.pp-set-item-text { flex: 1 1 auto; min-width: 0; display: flex; align-items: baseline; gap: 8px; overflow: hidden; white-space: nowrap; }
.pp-set-item-meta { overflow: hidden; font-size: .8rem; color: var(--nm-muted); text-overflow: ellipsis; }
.pp-set-item form { display: contents; }
@media (max-width: 600px) { .pp-set-item-meta { display: none; } }

/* --- Ventanas, aviso flotante, paginación -------------------------------------- */
.pp-dialog, .nm-ip-modal { padding: 0; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: var(--nm-surface); color: var(--nm-fg); box-shadow: 0 24px 60px rgba(0, 0, 0, .6); }
.pp-dialog { width: min(480px, calc(100% - 32px)); }
.pp-dialog::backdrop, .nm-ip-modal::backdrop { background: rgba(4, 8, 14, .65); backdrop-filter: blur(3px); }
.pp-dialog .modal-header, .pp-dialog .modal-footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .9rem 1.1rem; }
.pp-dialog .modal-header { border-bottom: 1px solid var(--nm-hairline); }
.pp-dialog .modal-footer { justify-content: flex-end; border-top: 1px solid var(--nm-hairline); }
.pp-dialog .modal-title { margin: 0; font-size: 1.05rem; }
.pp-dialog .modal-body { padding: 1rem 1.1rem; }
.pp-dialog .btn-close { border: 0; background: none; color: var(--nm-fg); cursor: pointer; }
.nm-toast { position: fixed; z-index: 100; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; align-items: center; gap: .7rem; max-width: min(560px, calc(100% - 32px)); padding: .8rem 1rem; border: 1px solid color-mix(in srgb, var(--nm-ok) 50%, transparent); border-radius: var(--nm-radius); background: var(--nm-surface-2); box-shadow: 0 12px 32px rgba(0, 0, 0, .5); color: var(--nm-fg); font-size: .92rem; animation: nm-toast-in .35s ease-out; transition: opacity .4s, transform .4s; }
.nm-toast > i { color: var(--nm-ok); font-size: 1.2rem; }
.nm-toast button { margin-left: .3rem; border: 0; background: none; color: var(--nm-muted); cursor: pointer; }
.nm-toast.is-out { opacity: 0; transform: translate(-50%, 12px); }
.nm-pagination { display: flex; align-items: center; justify-content: center; gap: .6rem; margin: 1.2rem 0 .4rem; }
.nm-pager-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); color: var(--nm-fg); }
.nm-pager-btn:hover { border-color: var(--nm-accent); color: var(--nm-accent); }
.nm-pager-btn.is-disabled { opacity: .35; }
.nm-pager-info { font-size: .85rem; color: var(--nm-muted); }

/* --- Volver --------------------------------------------------------------------- */
.nm-back, .nm-back-btn {
    /* «← Volver»: el mismo en toda la web (único botón con icono) */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: flex-start;
    height: 36px;
    padding: 0 16px;
    border: 1px solid var(--nm-line);
    border-radius: var(--nm-radius-sm);
    background: var(--nm-hover);
    color: var(--nm-fg);
    font-family: var(--nm-font-heading);
    font-weight: 600;
    font-size: .74rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color .15s ease, background-color .15s ease;
}
.nm-back:hover, .nm-back-btn:hover { border-color: var(--nm-accent); background: color-mix(in srgb, var(--nm-fg) 10%, transparent); color: var(--nm-fg); }
.nm-guide-side .nm-back { align-self: stretch; width: 100%; }
.nm-back-link { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .8rem; color: var(--nm-text-2); font-size: .9rem; }
.nm-back-link:hover { color: var(--nm-accent); }
.nm-back-row { display: none; }

/* --- Casilla Minecraft (toque puntual) ----------------------------------------------
   Solo: estadísticas/logros/cabezas del perfil, iconos de Guías y Comunidad,
   top de votos y clasificaciones. Hundida: oscura arriba-izquierda, clara
   abajo-derecha; al pasar el ratón, borde dorado. */
.nm-slot, .pp-stat, .pp-adv, .pp-head, .nm-wiki-cat-icon, .nm-vote-player, .pp-rk-row, .pp-rk-cat {
    background: var(--nm-slot);
    border-style: solid;
    border-width: 2px 3px 3px 2px;
    border-top-color: color-mix(in srgb, var(--nm-slot) 45%, #000);
    border-left-color: color-mix(in srgb, var(--nm-slot) 45%, #000);
    border-right-color: color-mix(in srgb, var(--nm-line) 75%, #fff);
    border-bottom-color: color-mix(in srgb, var(--nm-line) 75%, #fff);
    border-radius: 3px;
}
a.nm-slot:hover, a.pp-stat:hover, .pp-rk-cat:hover, .pp-rk-row:hover, .nm-wiki-cat:hover .nm-wiki-cat-icon {
    border-right-color: var(--nm-accent);
    border-bottom-color: var(--nm-accent);
}
.is-rank-1.nm-vote-player, .pp-rk-row.is-top1 { background: color-mix(in srgb, var(--nm-accent) 14%, var(--nm-slot)); border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.is-rank-2.nm-vote-player, .pp-rk-row.is-top2 { border-right-color: #cfd6dd; border-bottom-color: #cfd6dd; }
.is-rank-3.nm-vote-player, .pp-rk-row.is-top3 { border-right-color: #d59a5c; border-bottom-color: #d59a5c; }
.nm-vote-player.is-me, .pp-rk-row.is-me { border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }

/* --- Animaciones ------------------------------------------------------------------ */
@keyframes nm-rise { from { opacity: 0; transform: translateY(12px); } }
@keyframes nm-pop { from { opacity: 0; transform: translateY(10px) scale(.97); } }
@keyframes nm-toast-in { from { opacity: 0; transform: translate(-50%, 16px); } }
@keyframes nm-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes nm-glow {
    from { filter: drop-shadow(0 6px 18px rgba(0, 0, 0, .5)) drop-shadow(0 0 14px color-mix(in srgb, var(--nm-accent) 35%, transparent)); }
    to { filter: drop-shadow(0 6px 18px rgba(0, 0, 0, .5)) drop-shadow(0 0 30px color-mix(in srgb, var(--nm-accent) 60%, transparent)); }
}
@keyframes nm-blink { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ==========================================================================
   5. Páginas
   ========================================================================== */

/* --- Portada ---------------------------------------------------------------------- */
body.nm-home-page { height: 100dvh; overflow: hidden; }
body.nm-home-page > main#app { min-height: 0; }
.nm-home { position: relative; isolation: isolate; height: 100%; display: flex; align-items: center; justify-content: center; padding: clamp(14px, 3vh, 36px) var(--nm-home-gutter); overflow: hidden; background-color: var(--nm-bg); }
.nm-home::before, .nm-home::after { content: ""; position: fixed; inset: 0; pointer-events: none; }
.nm-home::before { z-index: -2; background: var(--nm-hero-bg) center / cover no-repeat; filter: brightness(.9) saturate(var(--nm-home-photo-sat)); }
.nm-home::after {
    z-index: -1;
    background:
        radial-gradient(ellipse 80% 62% at 50% 48%, color-mix(in srgb, var(--nm-home-shade) clamp(0%, calc(var(--nm-home-shade-alpha) * 1.06), 100%), transparent), color-mix(in srgb, var(--nm-home-shade) clamp(0%, calc(var(--nm-home-shade-alpha) * .74), 100%), transparent) 55%, color-mix(in srgb, var(--nm-home-shade) clamp(0%, calc(var(--nm-home-shade-alpha) * .35), 100%), transparent) 100%),
        linear-gradient(180deg, color-mix(in srgb, var(--nm-home-shade) clamp(0%, calc(var(--nm-home-shade-alpha) * 1.18), 100%), transparent), color-mix(in srgb, var(--nm-home-shade) clamp(0%, calc(var(--nm-home-shade-alpha) * .65), 100%), transparent) 40%, color-mix(in srgb, var(--nm-home-shade) clamp(0%, calc(var(--nm-home-shade-alpha) * 1.35), 100%), transparent));
}
/* Portada: barra y cajas en el mismo azul que el resto de la web, algo más opacas (sobre la foto
   naranja el cristal se volvía gris). Sin mezclar el tono de la portada: con un sombreado claro
   (Web › Estilo) el azul se agrisaba. */
body.nm-home-page .nm-home .nm-box { background: color-mix(in srgb, var(--nm-surface) 92%, transparent); }
/* El menú y la barra de conectados se quedan translúcidos (con desenfoque), como antes: quedan mejor sobre la foto (01/10). */
/* 03/10: hojas cayendo entre la foto (y su sombreado) y las cajas. */
.nm-leaves { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
.nm-home-inner { position: relative; z-index: 1; width: 100%; max-width: 720px; max-height: 100%; display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1600px) { .nm-home-inner { max-width: 960px; } }
.nm-hero-panel { position: relative; display: flex; min-height: 0; }
.nm-hero-box { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: min(var(--nm-hero-gap), 2vh); width: 100%; padding: clamp(18px, 3.4vh, 40px) clamp(20px, 3vw, 46px); text-align: center; overflow: hidden; }
.nm-hero-box > * { animation: nm-rise .6s cubic-bezier(.2, .7, .2, 1) both; }
.nm-hero-box > *:nth-child(2) { animation-delay: .08s; }
.nm-hero-box > *:nth-child(3) { animation-delay: .16s; }
.nm-hero-box > *:nth-child(4) { animation-delay: .24s; }
.nm-hero-box > *:nth-child(5) { animation-delay: .32s; }
.nm-hero-logo { align-self: center; max-height: min(var(--nm-hero-logo), 22vh); width: auto; object-fit: contain; animation: nm-rise .6s both, nm-float 6s ease-in-out .6s infinite, nm-glow 3.2s ease-in-out infinite alternate; }
.nm-hero-title { width: 100%; font-family: var(--nm-font-mc-title); font-size: clamp(42px, 6.5vw, 76px); line-height: 1.05; text-transform: uppercase; background: linear-gradient(180deg, var(--nm-accent-2), var(--nm-accent)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nm-hero-tagline { width: 100%; margin: 0; font-family: var(--nm-font-mc-title); font-size: clamp(18px, 2vw, 24px); line-height: 1.15; text-transform: uppercase; color: var(--nm-fg); text-shadow: 2px 2px 0 rgba(0, 0, 0, .45); }
.nm-hero-subtitle { width: 100%; margin: 0; font-size: clamp(13.5px, .85rem + .2vh, 16.5px); line-height: 1.5; color: color-mix(in srgb, var(--nm-fg) 85%, transparent); }
.nm-hero-actions { display: flex; flex-wrap: wrap; width: 100%; gap: 12px; }
.nm-hero-actions .nm-btn { flex: 1 1 0; min-width: 150px; padding: 12px 18px; font-size: .88rem; box-shadow: 0 8px 18px rgba(0, 0, 0, .3); }
@media (min-width: 1600px) { .nm-hero-logo { max-height: min(calc(var(--nm-hero-logo) * 1.4), 26vh); } .nm-hero-tagline { font-size: clamp(20px, 1.6vw, 30px); } }
@media (min-width: 992px) and (max-height: 760px) { .nm-hero-logo { max-height: min(calc(var(--nm-hero-logo) * .65), 14vh); } .nm-hero-box { gap: min(calc(var(--nm-hero-gap) * .8), 1.4vh); } }
@media (max-width: 991.98px) {
    body.nm-home-page { height: auto; overflow: visible; }
    .nm-home { height: auto; display: block; padding-block: clamp(24px, 6vh, 48px); overflow: visible; }
    .nm-home-inner { margin: 0 auto; max-width: 640px; }
}
@media (max-width: 575.98px) { .nm-hero-actions { flex-direction: column; } }

/* Línea de estado del servidor */
.nm-status { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 14px; align-self: stretch; width: 100%; min-height: 44px; padding: 8px 16px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface) 55%, transparent); backdrop-filter: blur(8px); font-family: var(--nm-font-heading); font-size: .9rem; letter-spacing: .03em; color: color-mix(in srgb, var(--nm-fg) 88%, transparent); }
.nm-status strong { color: #fff; }
.nm-status-dot { flex-shrink: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--nm-ok); box-shadow: 0 0 8px var(--nm-ok); animation: nm-blink 1.6s ease-in-out infinite; }
.nm-status.is-off .nm-status-dot { background: var(--nm-danger); box-shadow: 0 0 8px var(--nm-danger); }
.nm-status.is-off .nm-status-text { color: #ff9b95; }
.nm-status-heads { display: flex; align-items: center; gap: 4px; }
.nm-status-heads a { display: inline-flex; line-height: 0; transition: transform .15s ease; }
.nm-status-heads a:hover { transform: translateY(-3px); }
.nm-status-heads img { width: 26px; height: 26px; border-radius: 4px; image-rendering: pixelated; }

/* Ventana «IP copiada» */
.nm-ip-modal { width: min(440px, calc(100vw - 32px)); padding: 1.6rem 1.5rem 1.3rem; text-align: center; }
.nm-ip-modal[open] { animation: nm-pop .22s ease-out; }
.nm-ip-close { position: absolute; top: .7rem; right: .7rem; border: 0; background: none; color: var(--nm-muted); font-size: 1rem; cursor: pointer; }
.nm-ip-close:hover { color: #fff; }
.nm-ip-copied { margin: 0 0 .3rem; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--nm-ok); }
.nm-ip-modal h2 { margin: 0 0 1.1rem; font-family: var(--nm-font-mc); font-weight: normal; font-size: 1.5rem; color: var(--nm-accent); }
.nm-ip-steps { list-style: none; counter-reset: ip; margin: 0 0 1.2rem; padding: 0; display: flex; flex-direction: column; gap: .55rem; text-align: left; }
.nm-ip-steps li { counter-increment: ip; position: relative; padding: .6rem .8rem .6rem 3rem; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 70%, transparent); }
.nm-ip-steps li::before { content: counter(ip); position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; border-radius: var(--nm-radius-sm); background: var(--nm-accent); color: #fff; font-weight: 800; font-size: .85rem; }
.nm-ip-steps strong { display: block; color: #fff; font-size: .95rem; }
.nm-ip-steps span { display: block; overflow: hidden; font-size: .83rem; color: var(--nm-muted); text-overflow: ellipsis; white-space: nowrap; }
.nm-ip-actions { display: flex; justify-content: center; gap: .6rem; flex-wrap: wrap; }

/* --- Textos largos (páginas, guías, FAQ) -------------------------------------------- */
.nm-prose { padding: clamp(20px, 4vw, 42px); color: color-mix(in srgb, var(--nm-fg) 90%, transparent); line-height: 1.7; overflow-wrap: break-word; }
/* 13/10: desplegables (<details class="nm-details">) y spoilers del editor */
.nm-prose .nm-details { margin: 1rem 0; border: 1px solid color-mix(in srgb, var(--nm-accent) 25%, transparent); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 60%, transparent); }
.nm-prose .nm-details > summary { display: flex; align-items: center; gap: 10px; padding: 12px 16px; cursor: pointer; list-style: none; font-family: var(--nm-font-heading); font-weight: 700; color: var(--nm-fg); }
.nm-prose .nm-details > summary::-webkit-details-marker { display: none; }
.nm-prose .nm-details > summary::after { content: "\F282"; margin-left: auto; font-family: bootstrap-icons; font-weight: 400; color: var(--nm-accent); transition: transform .2s ease; }
.nm-prose .nm-details[open] > summary::after { transform: rotate(180deg); }
.nm-prose .nm-details > :not(summary) { margin-left: 16px; margin-right: 16px; }
.nm-prose .nm-details > :last-child { margin-bottom: 14px; }
.nm-prose .nm-spoiler { padding: 0 .25em; border-radius: 4px; background: var(--nm-surface-2); color: transparent; cursor: pointer; transition: color .2s ease, background .2s ease; user-select: none; }
.nm-prose .nm-spoiler * { visibility: hidden; }
.nm-prose .nm-spoiler.is-shown { background: color-mix(in srgb, var(--nm-surface-2) 45%, transparent); color: inherit; cursor: auto; user-select: auto; }
.nm-prose .nm-spoiler.is-shown * { visibility: visible; }
.nm-prose > :first-child { margin-top: 0; }
.nm-prose > :last-child { margin-bottom: 0; }
.nm-prose h1, .nm-prose h2, .nm-prose h3, .nm-prose h4, .nm-prose h5 { margin: 1.9em 0 .6em; color: var(--nm-fg); line-height: 1.25; }
.nm-prose h2 { font-size: 1.5rem; }
.nm-prose h3 { padding-bottom: .35em; border-bottom: 2px solid color-mix(in srgb, var(--nm-accent) 80%, transparent); font-size: 1.2rem; }
.nm-prose h4 { font-size: 1rem; color: var(--nm-accent); text-transform: uppercase; letter-spacing: .03em; }
.nm-prose p { margin: 0 0 1em; }
.nm-prose a { color: var(--nm-accent); text-decoration: underline; text-underline-offset: 2px; }
.nm-prose a:hover { color: var(--nm-accent-2); }
.nm-prose ul, .nm-prose ol { margin: 0 0 1em; padding-left: 1.4em; }
.nm-prose li { margin-bottom: .4em; }
.nm-prose hr { height: 1px; margin: 2em 0; border: 0; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--nm-fg) 25%, transparent) 15%, color-mix(in srgb, var(--nm-fg) 25%, transparent) 85%, transparent); }
/* 19/10: fecha de actualización automática de las páginas (site/page), abajo a la derecha. */
.nm-page-updated { display: flex; justify-content: flex-end; align-items: center; gap: .4em; margin: 2em 0 0; color: var(--nm-muted); font-size: .85rem; text-align: right; }
.nm-page-updated i { color: var(--nm-accent); }
.nm-prose blockquote { margin: 0 0 1em; padding: .6em 1em; border-left: 3px solid var(--nm-accent); border-radius: 0 var(--nm-radius-sm) var(--nm-radius-sm) 0; background: var(--nm-hover); color: var(--nm-text-2); }
.nm-prose img { border-radius: var(--nm-radius-sm); }
.nm-prose img.mc-icon { border-radius: 0; }
/* 03/10: en las guías los subtítulos son dorados aunque no lleven el color a mano (Normas y Legal no cambian). */
.nm-guide-layout .nm-prose h3 { color: var(--nm-accent); }
/* 03/10: iconos en los títulos con tamaño fijo, los ponga el editor (clase mc-icon) o vengan con width a mano. */
.nm-prose h2 img, .nm-prose h3 img, .nm-prose h4 img { width: 26px; height: 26px; object-fit: contain; image-rendering: pixelated; border-radius: 0; vertical-align: middle; margin: 0 .45rem .12rem 0; }
.nm-prose h2 img { width: 30px; height: 30px; }
.nm-prose h4 img { width: 22px; height: 22px; }
.nm-prose h2 > i.bi, .nm-prose h3 > i.bi, .nm-prose h4 > i.bi, .nm-prose h2 :not(i) > i.bi, .nm-prose h3 :not(i) > i.bi, .nm-prose h4 :not(i) > i.bi { margin-right: .45rem; }
.nm-prose code { padding: .1em .35em; border-radius: 4px; background: color-mix(in srgb, var(--nm-fg) 10%, transparent); font-size: .9em; }
.nm-prose pre { padding: 1em; overflow-x: auto; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); background: var(--nm-field); }
.nm-prose pre code { padding: 0; background: none; }
.nm-prose table { width: 100%; margin: 0 0 1em; border-collapse: collapse; }
.nm-prose th, .nm-prose td { padding: .5em .75em; border: 1px solid var(--nm-line); text-align: left; }
.nm-prose th { background: var(--nm-hover); color: var(--nm-fg); }

/* --- Guías y Comunidad: tarjetas con icono en casilla Minecraft ------------------------ */
.nm-wiki-grid, .nm-comm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 220px)); justify-content: center; gap: 22px; max-width: var(--nm-page-width); margin: 8px auto 0; }
@media (max-width: 460px) { .nm-wiki-grid, .nm-comm-grid { grid-template-columns: minmax(0, 320px); } }
.nm-wiki-cat { position: relative; height: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 26px 18px; text-align: center; transition: transform .15s ease; }
a.nm-wiki-cat:hover, a.nm-comm-card:hover { transform: translateY(-3px); }
.nm-wiki-cat-icon { display: inline-flex; align-items: center; justify-content: center; width: 128px; height: 128px; transition: border-color .12s ease; }
.nm-wiki-cat-icon i { font-size: 3.6rem; line-height: 1; color: var(--nm-accent); }
.nm-wiki-cat-icon .mc-icon { width: 96px; height: 96px; object-fit: contain; image-rendering: pixelated; }
/* Imágenes de categoría (renders grandes): suavizadas; en «pixelated» al reducirlas salían dientes de sierra (01/10). */
.nm-wiki-cat-img { width: 96px; height: 96px; object-fit: contain; image-rendering: auto; }
.nm-wiki-cat h2 { font-size: 1.2rem; font-weight: 500; color: var(--nm-fg); }
.nm-comm-card p { margin: .35rem 0 0; font-size: .85rem; line-height: 1.45; color: var(--nm-muted); }
.nm-comm-card.is-soon { opacity: .55; filter: grayscale(.5); cursor: default; }
.nm-comm-soon { position: absolute; top: .6rem; right: .6rem; padding: .15rem .5rem; border-radius: var(--nm-radius-sm); background: var(--nm-hover); font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.nm-wiki-sub-img { width: 22px; height: 22px; margin-right: 4px; object-fit: contain; image-rendering: pixelated; vertical-align: -5px; }

/* Artículo de guía: barra lateral + texto */
.nm-guide-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; align-items: start; }
/* 03/10: el menú se va al bajar (vive en <header>), así que la columna se pega arriba con el mismo margen que el menú (antes 120px). */
.nm-guide-side { position: sticky; top: clamp(14px, 3vh, 26px); display: flex; flex-direction: column; gap: 14px; }
@media (max-width: 860px) { .nm-guide-layout { grid-template-columns: minmax(0, 1fr); } .nm-guide-side { position: static; } }

/* FAQ */
.nm-faq-group { margin-bottom: 28px; }
.nm-faq-group > h2 { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 1.1rem; color: var(--nm-accent); text-transform: uppercase; letter-spacing: .04em; }
.nm-faq-item { margin-bottom: 8px; }
.nm-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; list-style: none; cursor: pointer; font-family: var(--nm-font-heading); color: var(--nm-fg); }
.nm-faq-item summary::-webkit-details-marker { display: none; }
.nm-faq-item summary i { color: var(--nm-accent); transition: transform .15s ease; }
.nm-faq-item[open] summary i { transform: rotate(45deg); }
.nm-faq-item .nm-prose { padding: 0 18px 16px; }

/* --- Votar ---------------------------------------------------------------------------- */
.nm-vote { display: flex; flex-direction: column; gap: 16px; max-width: var(--nm-page-width); margin: 0 auto; padding: 26px; }
.nm-vote-title { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 8px 0 0; padding-top: 18px; border-top: 1px solid var(--nm-hairline); font-size: 1rem; text-align: center; text-transform: uppercase; letter-spacing: .05em; color: var(--nm-accent); }
.nm-vote-sites { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nm-vote-btn { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--nm-accent) 40%, transparent); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 85%, transparent); color: var(--nm-fg); text-decoration: none; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
a.nm-vote-btn:hover { transform: translateY(-2px); border-color: var(--nm-accent); box-shadow: 0 8px 22px rgba(0, 0, 0, .35), 0 0 18px color-mix(in srgb, var(--nm-accent) 25%, transparent); color: #fff; }
.nm-vote-btn-icon { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: var(--nm-radius-sm); background: var(--nm-accent); color: #fff; font-size: 1.3rem; }
.nm-vote-btn-text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.nm-vote-btn-text strong { font-family: var(--nm-font-heading); font-weight: 600; font-size: .98rem; letter-spacing: .03em; text-transform: uppercase; }
.nm-vote-btn-text small { font-size: .78rem; color: var(--nm-muted); }
.nm-vote-btn-text small b { color: var(--nm-accent); }
.nm-vote-btn.is-soon { opacity: .5; border-color: var(--nm-hairline); cursor: default; }
.nm-vote-btn.is-soon .nm-vote-btn-icon { background: #5b6577; }
.nm-vote-top { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.nm-vote-player { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 18px 8px 12px; text-align: center; }
.nm-vote-player img { width: 56px; height: 56px; border-radius: 4px; image-rendering: pixelated; box-shadow: 0 4px 10px rgba(0, 0, 0, .35); transition: transform .15s ease; }
.nm-vote-player a:hover img { transform: translateY(-3px); }
.nm-vote-player strong { max-width: 100%; overflow: hidden; font-family: var(--nm-font-mc); font-weight: normal; font-size: .85rem; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.nm-vote-player small { font-size: .74rem; color: var(--nm-muted); }
.nm-vote-player small a { color: var(--nm-accent); }
.nm-vote-player.is-empty { opacity: .55; }
.nm-vote-rank { position: absolute; top: 6px; left: 8px; font-family: var(--nm-font-mc); font-size: .8rem; color: var(--nm-muted); }
.is-rank-1 .nm-vote-rank { color: var(--nm-accent-2); } .is-rank-2 .nm-vote-rank { color: #d5dce6; } .is-rank-3 .nm-vote-rank { color: #e0a07a; } .is-me .nm-vote-rank { color: var(--nm-accent); }
.nm-vote-free { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 4px; background: var(--nm-hover); color: var(--nm-muted); font-size: 1.4rem; }
.nm-vote-rewards { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px 26px; }
.nm-vote-reward { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: help; transition: transform .15s ease; }
.nm-vote-reward:hover { transform: translateY(-4px); }
.nm-vote-reward-icon { line-height: 1; }
.nm-vote-reward-icon .mc-icon, .nm-vote-reward-icon img { width: 52px; height: 52px; image-rendering: pixelated; filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, .45)); }
.nm-vote-chance { padding: 1px 8px; border-radius: var(--nm-radius-sm); background: var(--nm-accent); color: #fff; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.nm-vote-tip { position: absolute; bottom: calc(100% + 10px); left: 50%; z-index: 3; transform: translate(-50%, 4px); padding: 5px 9px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); background: var(--nm-surface); color: #fff; font-size: .75rem; font-weight: 600; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s ease, transform .15s ease; }
.nm-vote-reward:hover .nm-vote-tip, .nm-vote-reward:focus .nm-vote-tip { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 860px) { .nm-vote-top { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .nm-vote-sites { grid-template-columns: 1fr; } }
@media (max-width: 460px) { .nm-vote-top { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* --- Clasificaciones ------------------------------------------------------------------ */
.pp-ranking-wrap { max-width: var(--nm-page-width); margin: 0 auto; padding: 22px; }
.pp-rk-cats { display: flex; flex-wrap: wrap; gap: 6px; }
.pp-rk-cat { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--nm-fg); }
.pp-rk-cat img { width: 22px; height: 22px; object-fit: contain; image-rendering: pixelated; }
.pp-rk-cat.is-active { background: color-mix(in srgb, var(--nm-accent) 20%, var(--nm-slot)); border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.pp-rk-cat.is-back { background: var(--nm-accent); color: #fff; font-size: 1.05rem; border-top-color: color-mix(in srgb, var(--nm-accent) 60%, #fff); border-left-color: color-mix(in srgb, var(--nm-accent) 60%, #fff); border-right-color: color-mix(in srgb, var(--nm-accent) 55%, #000); border-bottom-color: color-mix(in srgb, var(--nm-accent) 55%, #000); }
.pp-rk-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pp-rk-row { display: flex; align-items: center; gap: 12px; padding: 6px 12px 6px 8px; }
.pp-rk-pos { flex: 0 0 34px; text-align: center; font-family: var(--nm-font-mc); font-size: .9rem; color: var(--nm-muted); }
.is-top1 .pp-rk-pos { color: #ffd54a; } .is-top2 .pp-rk-pos { color: #cfd6dd; } .is-top3 .pp-rk-pos { color: #d59a5c; }
.pp-rk-row img { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 4px; image-rendering: pixelated; }
.pp-rk-name { flex: 1 1 auto; min-width: 0; overflow: hidden; font-family: var(--nm-font-mc); font-size: .85rem; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
a.pp-rk-name:hover { color: var(--nm-accent); }
.pp-rk-val { flex: 0 0 auto; font-family: var(--nm-font-mc); font-size: .85rem; color: var(--nm-fg); }
.pp-rk-sep { height: 1px; margin: 6px 0 0; list-style: none; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--nm-fg) 25%, transparent) 15%, color-mix(in srgb, var(--nm-fg) 25%, transparent) 85%, transparent); }
.pp-rk-foot { display: flex; justify-content: center; margin-top: 18px; }
.pp-rk-head { position: relative; justify-content: center; }
.pp-rk-head .pp-set-aside { position: absolute; right: 0; }
.pp-rk-foot .pp-chip { width: auto; min-width: 180px; }

/* --- Jugadores (listado) --------------------------------------------------------------- */
.pp-list { max-width: var(--nm-page-width); margin: 0 auto; }
.pp-list .pp-card { padding: 24px; }
.pp-search { display: flex; justify-content: flex-end; margin: 0; }
.pp-search .input-group { display: flex; width: 100%; max-width: 320px; }
.pp-search .form-control { flex: 1; min-width: 0; height: 36px; padding: 0 .8rem; border-right: 0; border-radius: var(--nm-radius-sm) 0 0 var(--nm-radius-sm); font-size: .9rem; }
.pp-search .btn { height: 36px; padding: 0 .9rem; border: 0; border-radius: 0 var(--nm-radius-sm) var(--nm-radius-sm) 0; background: var(--nm-accent); color: #fff; cursor: pointer; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding: .6rem .75rem; text-align: left; vertical-align: middle; }
.table thead th { border-bottom: 1px solid var(--nm-line); color: var(--nm-muted); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.table td { border-top: 1px solid var(--nm-hairline); }
.table-hover tbody tr:hover td { background: var(--nm-hover); }
.table-responsive { overflow-x: auto; }
.text-center { text-align: center !important; } .text-end { text-align: right !important; }
.rounded { border-radius: var(--nm-radius-sm); }
.pp-list-empty { color: var(--nm-muted); }
.pp-sort { margin-left: 2px; color: color-mix(in srgb, var(--nm-fg) 45%, transparent); }
.pp-sort:hover, .pp-sort.is-active { color: var(--nm-accent); }
.pp-list-head img { image-rendering: pixelated; transition: transform .12s; }
.pp-list-head:hover img { transform: scale(1.12); }
.pp-list-name { font-weight: 700; color: var(--nm-fg); }
.pp-list-name:hover { color: var(--nm-accent); }

/* --- Perfil público y Mi cuenta: cabecera ----------------------------------------------- */
.pp-profile, .pp-account { display: flex; flex-direction: column; gap: 20px; max-width: var(--nm-page-width); margin: 0 auto; }
.pp-card { padding: 24px; color: var(--nm-fg); }
.pp-header { position: relative; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
/* Lápiz de «editar mi perfil» (solo en tu propio perfil), mismo estilo que los botones de la barra */
.pp-edit-btn { position: absolute; top: 14px; right: 14px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: var(--nm-hover); color: var(--nm-fg); font-size: .95rem; transition: border-color .15s ease, color .15s ease; }
.pp-edit-btn:hover, .pp-edit-btn:focus-visible { border-color: var(--nm-accent); color: var(--nm-accent); }
.pp-avatar { position: relative; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 0 auto; }
.pp-skin-viewer { width: 170px; max-width: 100%; aspect-ratio: 260 / 340; filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .45)); }
.pp-skin-viewer canvas { width: 100% !important; height: 100% !important; display: block; cursor: grab; touch-action: none; }
.pp-skin-viewer canvas:active { cursor: grabbing; }
.pp-skin-fallback canvas { visibility: hidden; }
.pp-identity { display: flex; flex-direction: column; gap: 12px; flex: 1 1 240px; min-width: 0; }
.pp-name-row { display: flex; align-items: center; gap: 12px; }
.nm-body h1.pp-name { margin: 0; font-size: clamp(24px, 3vw, 32px); font-weight: 700; line-height: 1.1; color: #fff; }
.pp-role-badge { flex: 0 0 auto; }
.pp-conn { flex: 0 0 auto; width: 12px; height: 12px; border-radius: 50%; background: #6b7588; box-shadow: 0 0 0 3px rgba(107, 117, 136, .2); }
.pp-conn.is-on { background: #4fbf5f; box-shadow: 0 0 0 3px rgba(79, 191, 95, .25), 0 0 10px #4fbf5f; }
@media (max-width: 640px) {
    .pp-header { flex-direction: column; text-align: center; }
    .pp-identity { flex: 0 0 auto; align-self: stretch; }
    .pp-name-row { justify-content: center; flex-wrap: wrap; }
    .pp-chips { grid-template-columns: 1fr 1fr; }
}

/* Ficha pública: cabecera destacada */
.pp-hero { overflow: hidden; }
.pp-hero::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 120px; background: linear-gradient(180deg, color-mix(in srgb, var(--nm-accent) 12%, transparent), transparent); pointer-events: none; }
.pp-hero > * { position: relative; z-index: 1; }
.pp-hero .pp-avatar { padding: 6px 12px 0; }
.pp-hero .pp-avatar::before { content: ""; position: absolute; left: 50%; top: 45%; z-index: -1; width: 300px; height: 300px; transform: translate(-50%, -50%); background: radial-gradient(circle, color-mix(in srgb, var(--nm-accent) 50%, transparent), color-mix(in srgb, var(--nm-accent) 15%, transparent) 40%, transparent 68%); filter: blur(6px); pointer-events: none; }
.pp-hero .pp-skin-viewer { width: 190px; }
.nm-body .pp-hero h1.pp-name { font-size: clamp(26px, 3.4vw, 36px); text-shadow: 0 2px 0 rgba(0, 0, 0, .45), 0 0 24px color-mix(in srgb, var(--nm-accent) 35%, transparent); }
.pp-quote { position: relative; margin: 0; padding: 7px 12px 7px 32px; font-size: .85rem; line-height: 1.45; border-left: 3px solid var(--nm-accent); border-radius: 0 var(--nm-radius-sm) var(--nm-radius-sm) 0; background: var(--nm-hover); font-style: italic; color: color-mix(in srgb, var(--nm-fg) 88%, transparent); white-space: pre-line; text-align: left; }
.pp-quote i { position: absolute; left: 9px; top: 3px; font-size: 1.05rem; font-style: normal; color: var(--nm-accent); }
.pp-map-strip { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-map-group { display: flex; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 75%, transparent); }
.pp-map-label { margin-right: 4px; font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--nm-muted); white-space: nowrap; }
.pp-map-label i { color: var(--nm-accent); }
.pp-map-icon img { display: block; width: 26px; height: 26px; image-rendering: pixelated; transition: transform .1s; }
.pp-map-icon:hover img { transform: translateY(-2px) scale(1.08); }
@media (max-width: 640px) { .pp-map-strip { justify-content: center; } }

/* Ficha pública: estadísticas, logros y cabezas (casillas Minecraft) */
.pp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(158px, 1fr)); gap: 12px; margin: 0; }
.pp-stat { display: flex; align-items: center; gap: 12px; padding: 12px 14px; color: inherit; transition: transform .1s steps(2, end); }
.pp-stat-clickable { cursor: pointer; }
a.pp-stat:hover { transform: translateY(-3px); }
.pp-stat-icon { flex: 0 0 auto; width: 34px; height: 34px; image-rendering: pixelated; filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, .45)); }
.pp-stat-body { min-width: 0; }
.pp-grid dt { margin-bottom: 3px; font-size: .66rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--nm-muted); }
.pp-grid dd { margin: 0; font-family: var(--nm-font-mc); font-size: 1.15rem; line-height: 1; color: var(--nm-fg); text-shadow: 2px 2px 0 rgba(0, 0, 0, .3); }
.pp-grid dd i { font-size: .62rem; color: color-mix(in srgb, var(--nm-fg) 40%, transparent); vertical-align: middle; }
a.pp-stat:hover dd { color: var(--nm-accent); }
.pp-adv-cat { margin-bottom: 22px; }
.pp-adv-cat:last-child { margin-bottom: 0; }
.nm-body .pp-adv-cat-title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--nm-hairline); font-family: var(--nm-font-heading); font-size: .9rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--nm-fg); }
.pp-adv-count { margin-left: auto; font-size: .78rem; font-weight: 700; color: var(--nm-muted); }
.pp-adv-grid, .pp-heads-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(46px, 1fr)); gap: 8px; }
.pp-adv, .pp-head { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; padding: 6px; cursor: help; }
.pp-adv img, .pp-head img { width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.pp-head i { font-size: 1.1rem; color: color-mix(in srgb, var(--nm-fg) 35%, transparent); }
.pp-adv.is-locked img, .pp-head.is-locked img { filter: grayscale(1) brightness(.45); opacity: .7; }
.pp-adv.is-done, .pp-head.is-done { background: color-mix(in srgb, var(--nm-accent) 14%, var(--nm-slot)); border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.pp-adv-goal { border-radius: 12px; }
.pp-adv-challenge.is-done { background: color-mix(in srgb, #b478ff 15%, var(--nm-slot)); border-right-color: #b478ff; border-bottom-color: #b478ff; }
.pp-heads-counter { margin: 0 0 16px; text-align: center; font-family: var(--nm-font-mc); font-size: 1rem; color: var(--nm-fg); }
.pp-heads-counter strong { color: var(--nm-accent); font-weight: normal; }

.pp-build-cat { margin-bottom: 22px; }
.pp-build-cat:last-child { margin-bottom: 0; }

/* Perfil privado */
.pp-private { display: flex; flex-direction: column; align-items: center; gap: 18px; max-width: 520px; margin: 0 auto; padding: 24px; text-align: center; }
.nm-body .pp-private-name { font-size: clamp(22px, 3vw, 32px); margin: 0; }
.pp-private .pp-skin-viewer { width: 200px; }
.pp-private-notice { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 20px 16px 18px; border: 1px solid color-mix(in srgb, #8b5cf6 45%, transparent); border-radius: var(--nm-radius); background: color-mix(in srgb, #8b5cf6 14%, transparent); }
.pp-private-icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 4px; border-radius: var(--nm-radius-sm); background: #8b5cf6; color: #fff; font-size: 1.5rem; }
.pp-private-title { font-family: var(--nm-font-heading); font-size: 1.1rem; letter-spacing: .06em; text-transform: uppercase; }
.pp-private-text { font-size: .9rem; color: var(--nm-text-2); }

/* --- Mi cuenta --------------------------------------------------------------------------- */
.pp-set-input { max-width: 280px; }
.pp-set-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pp-set-field-wide { grid-column: 1 / -1; }
@media (max-width: 600px) { .pp-set-fields { grid-template-columns: 1fr; } }
.nm-marker-add { display: flex; justify-content: center; margin-top: 16px; }
/* Ventana del marcador: selector de icono de granja */
#nmMarkerModal .modal-content { margin: 0; }
#nmMarkerModal .mb-3 { margin-bottom: 1rem; }
#nmMarkerModal .row { display: flex; gap: .5rem; }
#nmMarkerModal .col-6 { flex: 1 1 0; }
.nm-icon-picker-toggle { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; cursor: pointer; }
.nm-icon-picker-toggle img { flex: 0 0 auto; image-rendering: pixelated; }
.nm-icon-picker-label { flex: 1 1 auto; }
.nm-icon-picker-panel { max-height: 320px; margin-top: 4px; padding: 8px; overflow-y: auto; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); background: var(--nm-field); }
.nm-icon-picker-group-label { padding: 8px 4px 4px; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--nm-muted); }
.nm-icon-picker-group-label:first-child { padding-top: 2px; }
.nm-icon-picker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 4px; }
.nm-icon-option { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 4px; border: 1px solid transparent; border-radius: var(--nm-radius-sm); background: transparent; color: var(--nm-fg); text-align: center; cursor: pointer; }
.nm-icon-option:hover { background: var(--nm-hover); }
.nm-icon-option.is-selected { border-color: var(--nm-accent); background: color-mix(in srgb, var(--nm-accent) 12%, transparent); }
.nm-icon-option img { width: 28px; height: 28px; image-rendering: pixelated; }
.nm-icon-option span { display: -webkit-box; overflow: hidden; font-size: .68rem; line-height: 1.15; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* --- Notificaciones ------------------------------------------------------------------------ */
.nm-notif-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.nm-notif-head h1 { margin: 0; }
.nm-notif-head form { margin: 0; }
.nm-notif-list { padding: .4rem; }
.nm-notif { display: flex; align-items: flex-start; gap: .8rem; padding: .8rem .9rem; border-radius: var(--nm-radius-sm); color: var(--nm-fg); }
.nm-notif + .nm-notif { border-top: 1px solid var(--nm-hairline); }
.nm-notif:hover { background: var(--nm-hover); }
.nm-notif > i { margin-top: .1rem; font-size: 1.2rem; color: var(--nm-blue-2); }
.nm-notif-success > i { color: var(--nm-ok); } .nm-notif-warning > i { color: var(--nm-accent); } .nm-notif-danger > i { color: var(--nm-danger); }
.nm-notif-text { flex: 1; display: flex; flex-direction: column; gap: .2rem; }
.nm-notif-text small { font-size: .78rem; color: var(--nm-muted); }
.nm-notif.is-unread .nm-notif-text { font-weight: 600; }
.nm-notif-dot { width: 9px; height: 9px; margin-top: .45rem; border-radius: 50%; background: var(--nm-accent); }
.nm-notif-empty { margin: 0; padding: 2rem 1rem; text-align: center; color: var(--nm-muted); }

/* --- Soporte ----------------------------------------------------------------------------------- */
.nm-support { padding: 0; }
.nm-support-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--nm-hairline); }
.nm-support-head h2 { margin: 0 0 .25rem; font-size: 1.15rem; color: #fff; }
.nm-support-head p { margin: 0; font-size: .88rem; color: var(--nm-muted); }
.nm-support-head .nm-btn, .nm-support-head form { flex-shrink: 0; margin: 0; }
.nm-support-back { text-decoration: none; }
.nm-head-end { justify-content: flex-end; }
.nm-tickets { padding: .4rem; }
.nm-ticket-row { display: flex; align-items: center; gap: .8rem; padding: .8rem .9rem; border-radius: var(--nm-radius-sm); color: var(--nm-fg); }
.nm-ticket-row + .nm-ticket-row { border-top: 1px solid var(--nm-hairline); }
.nm-ticket-row:hover { background: var(--nm-hover); }
.nm-ticket-row.is-closed { opacity: .6; }
.nm-ticket-icon { display: inline-flex; font-size: 1.3rem; color: var(--nm-accent); }
.nm-ticket-icon img { width: 24px; height: 24px; image-rendering: pixelated; }
.nm-ticket-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }
.nm-ticket-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nm-ticket-main small, .nm-ticket-meta { font-size: .8rem; color: var(--nm-muted); }
.nm-ticket-state { padding: .2rem .6rem; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-ok) 18%, transparent); color: #7ee2a8; font-size: .75rem; font-weight: 700; }
.nm-ticket-state.is-closed, .is-closed .nm-ticket-state { background: var(--nm-hover); color: var(--nm-muted); }
.nm-ticket-go { font-size: .85rem; color: color-mix(in srgb, var(--nm-fg) 35%, transparent); }
.nm-ticket-row:hover .nm-ticket-go { color: var(--nm-accent); }
.nm-ticket-title { display: flex; align-items: center; gap: .9rem; padding: 1.1rem 1.2rem .2rem; }
.nm-ticket-title .nm-ticket-icon { font-size: 1.6rem; }
.nm-ticket-title .nm-ticket-icon img { width: 32px; height: 32px; }
.nm-ticket-title h2 { margin: 0 0 .2rem; font-size: 1.2rem; color: #fff; overflow-wrap: anywhere; }
.nm-ticket-title .nm-ticket-meta { margin: 0; }
.nm-support-cats { display: flex; flex-wrap: wrap; gap: .5rem; }
.nm-support-cat input { position: absolute; opacity: 0; pointer-events: none; }
.nm-support-cat span { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); cursor: pointer; }
.nm-support-cat span img { width: 20px; height: 20px; image-rendering: pixelated; }
.nm-support-cat input:checked + span { border-color: var(--nm-accent); background: color-mix(in srgb, var(--nm-accent) 15%, transparent); color: #fff; }
.nm-chat { display: flex; flex-direction: column; gap: .8rem; margin: 0; padding: 1rem 1.2rem 1.2rem; }
.nm-msg { display: flex; align-items: flex-start; gap: .7rem; }
.nm-msg img { flex-shrink: 0; border-radius: 4px; image-rendering: pixelated; }
.nm-msg-body { flex: 1; min-width: 0; padding: .7rem .9rem; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 80%, transparent); }
.nm-msg.is-staff .nm-msg-body { border-color: color-mix(in srgb, var(--nm-accent) 35%, transparent); }
.nm-msg.is-mine .nm-msg-body { background: color-mix(in srgb, var(--nm-accent) 7%, var(--nm-surface-2)); }
.nm-msg-head { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-bottom: .3rem; }
.nm-msg-head strong { font-family: var(--nm-font-heading); font-weight: 600; font-size: .92rem; color: #fff; }
.nm-msg-head small { font-size: .75rem; color: var(--nm-muted); }
.nm-msg-role { padding: .05rem .45rem; border-radius: var(--nm-radius-sm); font-size: .68rem; font-weight: 700; }
.nm-msg-text { font-size: .94rem; line-height: 1.55; color: color-mix(in srgb, var(--nm-fg) 88%, transparent); overflow-wrap: anywhere; }
.nm-support-reply { padding: 1rem 1.2rem 1.2rem; border-top: 1px solid var(--nm-hairline); }
.nm-support-closed { margin: 0; padding: 1rem 1.2rem; border-top: 1px solid var(--nm-hairline); text-align: center; font-size: .9rem; color: var(--nm-muted); }
.nm-support-closed a { color: var(--nm-accent); }
@media (max-width: 560px) { .nm-support-head { flex-wrap: wrap; } .nm-support-head .nm-btn { width: 100%; } }

/* --- Donar (página discreta) ---------------------------------------------------------------------- */
.nm-donate-form { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
.nm-donate-form > label { margin-top: 6px; font-size: .9rem; color: var(--nm-text-2); }
.nm-donate-form > label span { color: var(--nm-muted); }
.nm-donate-form .nm-btn { align-self: flex-start; }
.nm-donate-packages { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; margin: 0 0 6px; padding: 44px 0 0; border: 0; }
.nm-donate-packages legend { margin-bottom: 8px; font-size: .9rem; color: var(--nm-text-2); }
.nm-donate-package { position: relative; display: flex; flex-direction: column; align-items: center; cursor: pointer; }
.nm-donate-package input { position: absolute; opacity: 0; }
.nm-donate-package img { position: absolute; top: -46px; left: 50%; z-index: 1; width: 54px; transform: translateX(-50%); filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .45)); transition: transform .18s ease; pointer-events: none; }
.nm-donate-package span { width: 100%; display: flex; flex-direction: column; align-items: center; padding: 30px 8px 10px; line-height: 1.1; border: 1px solid color-mix(in srgb, var(--nm-accent) 35%, transparent); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 85%, transparent); transition: border-color .15s ease, box-shadow .15s ease; }
.nm-donate-package strong { font-family: var(--nm-font-heading); font-size: 1.15rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--nm-fg); }
.nm-donate-package em { margin-top: 3px; font-style: normal; font-size: .78rem; font-weight: 700; color: var(--nm-accent); }
.nm-donate-package:hover img { transform: translateX(-50%) translateY(-4px) rotate(-4deg); }
.nm-donate-package input:checked + img + span, .nm-donate-package input:checked + span { border-color: var(--nm-accent); background: color-mix(in srgb, var(--nm-accent) 18%, var(--nm-surface-2)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--nm-accent) 30%, transparent), 0 0 18px color-mix(in srgb, var(--nm-accent) 35%, transparent); }
.nm-donate-package input:checked + img { transform: translateX(-50%) translateY(-6px) scale(1.08); }
.nm-donate-package input:focus-visible + img + span { outline: 2px solid #fff; }
/* 13/10: ventana con las mejoras de Colaborador al pulsar una duración en /donar (una línea por mejora) */
.pp-dialog.nm-donate-perks { width: min(460px, calc(100% - 32px)); }
/* 19/10: color web del rango (oscuro) con texto blanco */
.nm-donate-rank { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--rank); color: #fff; font-weight: 700; font-size: .95rem; }
.nm-donate-perks ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.nm-donate-perks li { display: flex; align-items: center; gap: 12px; padding: 6px 8px; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 70%, transparent); font-size: .85rem; line-height: 1.3; color: var(--nm-text-2); }
.nm-donate-perks li i { flex: 0 0 34px; display: grid; place-items: center; height: 34px; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, #9db57e 16%, transparent); color: #9db57e; font-size: 1.1rem; }
.nm-donate-perks li > span { display: flex; flex-direction: column; min-width: 0; }
.nm-donate-perks li > span > strong:first-child { color: var(--nm-fg); font-size: .92rem; }
.nm-donate-perks li strong { color: var(--nm-fg); }
.nm-donate-perks code { font-size: .85em; }
.nm-donate-terms { display: flex; align-items: flex-start; gap: 8px; margin: 8px 0 6px; }
.nm-donate-note { padding: 8px 12px; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-accent) 12%, transparent); color: var(--nm-accent); }
.nm-donate-errors { padding: 8px 12px; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-danger) 15%, transparent); color: #f5b5b3; }
.nm-donate-errors p { margin: 0; }

/* --- Acceso y registro (/acceso, /registro, 2FA) ------------------------------------------------------ */
body.nm-auth { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; background: #0b1017; color: var(--nm-fg); font-family: var(--nm-font-body); }
.nm-auth-bg { position: fixed; inset: 0; z-index: 0; background: var(--nm-bg) center / cover no-repeat; filter: blur(3px) brightness(.55) saturate(.85); transform: scale(1.05); }
.nm-auth-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, color-mix(in srgb, var(--nm-shade) 15%, transparent) 0%, color-mix(in srgb, var(--nm-shade) 85%, transparent) 80%); }
.nm-auth-card { position: relative; z-index: 1; width: min(440px, 100%); padding: 2rem 1.8rem 1.6rem; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface) var(--nm-glass-alpha), transparent); backdrop-filter: blur(var(--nm-glass-blur)); -webkit-backdrop-filter: blur(var(--nm-glass-blur)); box-shadow: 0 20px 60px rgba(0, 0, 0, .55); animation: nm-rise .4s ease-out both; }
.nm-auth-card::before { content: ""; position: absolute; top: -1px; left: var(--nm-radius); right: var(--nm-radius); height: 2px; background: linear-gradient(90deg, transparent, var(--nm-accent) 20%, var(--nm-accent) 80%, transparent); }
.nm-auth-brand { display: block; width: fit-content; margin: 0 auto 1rem; }
.nm-auth-brand img { display: block; width: 96px; height: 96px; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .5)); }
.nm-auth h1 { margin: 0 0 1.1rem; text-align: center; font-family: var(--nm-font-heading); font-size: 1.45rem; color: #fff; }
.nm-auth a { color: var(--nm-accent-2); text-decoration: none; }
.nm-auth-foot a, .nm-auth-link a { text-decoration: underline; text-underline-offset: 2px; }
.nm-auth-discord { display: flex; align-items: center; justify-content: center; gap: .6rem; width: 100%; padding: .8rem 1rem; border: 0; border-radius: var(--nm-radius-sm); background: var(--nm-btn-2-bg, #5865f2); color: #fff !important; font-family: var(--nm-font-heading); font-weight: 600; transition: transform .12s, filter .12s; }
.nm-auth-discord i { font-size: 1.3rem; }
.nm-auth-discord:hover { transform: translateY(-1px); filter: brightness(1.08); }
.nm-auth-sep { display: flex; align-items: center; gap: .8rem; margin: 1.2rem 0 1rem; font-size: .8rem; color: var(--nm-muted); }
.nm-auth-sep::before, .nm-auth-sep::after { content: ""; flex: 1; height: 1px; background: var(--nm-hairline); }
.nm-auth-form { display: flex; flex-direction: column; gap: .45rem; }
.nm-auth-form label { margin-top: .25rem; font-size: .82rem; color: var(--nm-text-2); }
.nm-auth-form input[readonly] { opacity: .7; }
.nm-auth-form .nm-auth-alert { margin: .4rem 0 .1rem; }
.nm-auth-check { display: flex !important; align-items: center; gap: .5rem; margin-top: .4rem !important; }
.nm-auth-check input { width: 16px; height: 16px; accent-color: var(--nm-accent); }
.nm-auth-btn { display: block; margin-top: .8rem; padding: .75rem 1rem; border: 0; border-radius: var(--nm-radius-sm); background: var(--nm-btn-1-bg, var(--nm-accent)); color: var(--nm-btn-1-fg, #fff); font-family: var(--nm-font-heading); font-weight: 700; font-size: .95rem; text-align: center; text-transform: uppercase; letter-spacing: .03em; cursor: pointer; transition: transform .12s, filter .12s; }
.nm-auth-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.nm-auth-error { color: #ff9b95; font-size: .85rem; }
.nm-auth-note { margin: 0 0 .4rem; text-align: center; font-size: .88rem; color: var(--nm-text-2); }
.nm-auth-note-below { margin-top: 1rem; font-size: .82rem; line-height: 1.5; }
.nm-auth-foot { margin: 1.3rem 0 0; text-align: center; font-size: .88rem; color: var(--nm-muted); }
.nm-auth-hint { margin: 0; font-size: .8rem; color: var(--nm-muted); }
.nm-auth-hint-center { margin-top: .6rem; text-align: center; }
.nm-auth-link { margin-top: .5rem; text-align: center; font-size: .85rem; }
.nm-auth-alert { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: 1rem; padding: .65rem .8rem; border: 1px solid color-mix(in srgb, var(--nm-danger) 40%, transparent); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-danger) 15%, transparent); color: #ffc3bf; font-size: .88rem; }
.nm-auth-alert.is-ok { border-color: color-mix(in srgb, var(--nm-ok) 40%, transparent); background: color-mix(in srgb, var(--nm-ok) 12%, transparent); color: #b6f0cd; }
.nm-auth-alert.is-info { border-color: color-mix(in srgb, var(--nm-blue) 45%, transparent); background: color-mix(in srgb, var(--nm-blue) 15%, transparent); color: #cfd8ff; }
.nm-auth-steps { list-style: none; display: grid; gap: .5rem; margin: 0 0 1.3rem; padding: 0; }
.nm-auth-steps li { display: flex; align-items: center; gap: .7rem; padding: .55rem .75rem; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: var(--nm-field); font-size: .92rem; }
.nm-auth-steps i { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-accent) 15%, transparent); color: var(--nm-accent); font-size: 1rem; }
.nm-auth-discord-user { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; padding: .6rem .8rem; border: 1px solid color-mix(in srgb, #5865f2 40%, transparent); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, #5865f2 15%, transparent); }
.nm-auth-discord-user img { width: 40px; height: 40px; border-radius: 50%; }
.nm-auth-discord-user div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.nm-auth-discord-user small { font-size: .75rem; color: var(--nm-muted); }
.nm-auth-discord-user strong { overflow: hidden; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.nm-auth-discord-user > i { font-size: 1.2rem; color: var(--nm-ok); }
.nm-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; margin-bottom: 1rem; padding: .25rem; border-radius: var(--nm-radius-sm); background: var(--nm-field); }
.nm-auth-tabs button { padding: .55rem; border: 0; border-radius: var(--nm-radius-sm); background: transparent; color: var(--nm-text-2); font-family: var(--nm-font-heading); font-weight: 600; cursor: pointer; }
.nm-auth-tabs button.is-active { background: var(--nm-line); color: #fff; box-shadow: inset 0 -2px 0 var(--nm-accent); }
.nm-auth-warning { display: flex; gap: .7rem; margin-bottom: .3rem; padding: .75rem .85rem; border: 1px solid color-mix(in srgb, var(--nm-accent) 45%, transparent); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-accent) 12%, transparent); font-size: .86rem; line-height: 1.45; }
.nm-auth-warning i { font-size: 1.3rem; line-height: 1; color: var(--nm-accent); }
.nm-auth-warning strong { display: block; margin-bottom: .15rem; color: var(--nm-accent-2); }
.nm-auth-qr { display: flex; justify-content: center; margin: 0 0 .8rem; }
.nm-auth-qr svg { width: 200px; height: 200px; padding: 10px; border-radius: var(--nm-radius-sm); background: #fff; }
.nm-auth-secret { font-size: .9rem; letter-spacing: .04em; word-break: break-all; }
.nm-auth-codes { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; margin: 0 0 1.2rem; padding: 0; }
.nm-auth-codes code { display: block; padding: .45rem; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: var(--nm-field); text-align: center; }

/* --- Invitar amigos (/jugador/invitar) ---------------------------------------------------- */
/* Invitar amigos: formato de Votar (premio + enlace, pasos en casillas, invitados como el top). */
.nm-ref-top { display: flex; align-items: center; gap: 18px; }
.nm-ref-prize { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 16px 10px; background: color-mix(in srgb, var(--nm-accent) 14%, var(--nm-slot)); border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.nm-ref-share { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.nm-ref-share-title { font-family: var(--nm-font-heading); font-weight: 600; font-size: 1.05rem; letter-spacing: .03em; text-transform: uppercase; color: #fff; }
.nm-ref-share-row { display: flex; gap: 10px; }
.nm-ref-share-row .nm-btn { flex: 0 0 auto; width: auto; }
.nm-ref-share-note { font-size: .8rem; color: var(--nm-muted); }
.nm-ref-link { flex: 1 1 auto; min-width: 0; font-family: var(--nm-font-mc); font-size: .9rem; cursor: text; }
.nm-ref-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 0; padding: 0; }
.nm-ref-step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 20px 10px 14px; text-align: center; }
.nm-ref-step:not(:last-child)::after { content: "›"; position: absolute; top: 50%; right: -21px; transform: translateY(-50%); font-family: var(--nm-font-mc); font-size: 1.6rem; line-height: 1; color: var(--nm-accent); }
.nm-ref-step strong { font-family: var(--nm-font-mc); font-weight: normal; font-size: .9rem; color: #fff; }
.nm-ref-step small { font-size: .76rem; color: var(--nm-muted); }
.nm-ref-step .nm-vote-rank { color: var(--nm-accent); }
.nm-ref-step.is-prize { background: color-mix(in srgb, var(--nm-accent) 14%, var(--nm-slot)); border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.nm-ref-guests { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.nm-ref-guest.is-rewarded { border-right-color: var(--nm-ok); border-bottom-color: var(--nm-ok); }
.nm-ref-guest.is-rejected { opacity: .55; }
.nm-ref-guest small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nm-ref-empty { margin: 0; text-align: center; font-size: .88rem; color: var(--nm-muted); }
@media (max-width: 860px) { .nm-ref-guests { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .nm-ref-top { flex-direction: column; align-items: stretch; }
    .nm-ref-prize { align-self: center; }
    .nm-ref-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .nm-ref-step::after { display: none; }
}
@media (max-width: 460px) { .nm-ref-share-row { flex-direction: column; } .nm-ref-guests { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* /armaduras: visor 3D de armaduras con adornos */
.nm-armor { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 24px; max-width: var(--nm-page-width); margin: 0 auto; padding: 26px; }
.nm-armor-view { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.nm-armor-view canvas { width: 320px; height: 420px; max-width: 100%; border-radius: var(--nm-radius); background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--nm-accent) 12%, transparent), transparent 70%); cursor: grab; }
.nm-armor-skin { display: flex; gap: 8px; width: 100%; max-width: 320px; }
.nm-armor-skin .form-control { flex: 1 1 auto; min-width: 0; }
.nm-armor-skin .nm-btn { width: auto; flex: 0 0 auto; }
.nm-armor-panel { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.nm-armor-panel .nm-vote-title { margin: 4px 0 0; padding-top: 6px; border-top: 0; }
.nm-armor-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.nm-armor-tab { padding: 9px 6px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 70%, transparent); color: var(--nm-muted); font-family: var(--nm-font-heading); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: .8rem; cursor: pointer; }
.nm-armor-tab.is-active { background: var(--nm-accent); border-color: var(--nm-accent); color: #fff; }
.nm-armor-grid { display: flex; flex-wrap: wrap; gap: 6px; }
.nm-armor-opt { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; cursor: pointer; color: var(--nm-muted); }
.nm-armor-opt img { width: 32px; height: 32px; image-rendering: pixelated; }
.nm-armor-opt[hidden] { display: none; }
.nm-armor-opt.is-selected { background: color-mix(in srgb, var(--nm-accent) 22%, var(--nm-slot)); border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.nm-armor-color { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
.nm-armor-color[hidden] { display: none; }
.nm-armor-color input { width: 38px; height: 38px; padding: 0; border: 0; background: none; cursor: pointer; }
.nm-armor-summary { margin: 4px 0 0; font-size: .82rem; color: var(--nm-muted); line-height: 1.5; }
.nm-armor-actions { display: flex; gap: 8px; }
.nm-armor-actions .nm-btn { width: auto; }
@media (max-width: 860px) { .nm-armor { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .nm-armor { padding: 16px; } .nm-armor-tabs { gap: 4px; } .nm-armor-tab { padding: 8px 2px; font-size: .64rem; letter-spacing: 0; } }

/* Ayuda discreta <x-info> (01/10): «i» en círculo («!» naranja en avisos). El texto va
   oculto en .nm-info-bubble y el JS lo muestra en una sola nube .nm-info-tip colgada de <body>. */
.nm-info { display: inline-flex; align-items: center; vertical-align: middle; margin-left: .3rem; color: currentColor; opacity: .6; cursor: help; outline: none; font-size: .95em; line-height: 1; letter-spacing: normal; }
.nm-info:hover, .nm-info:focus-visible { opacity: 1; }
.nm-info.is-warn { color: #e08a2c; opacity: 1; }
.nm-info-bubble { display: none; }
.nm-info-tip { position: fixed; z-index: 3000; top: 0; left: 0; max-width: min(320px, calc(100vw - 16px)); padding: .55rem .75rem; border-radius: 14px; background: color-mix(in srgb, var(--nm-surface) 94%, #000); color: var(--nm-fg); border: 1px solid color-mix(in srgb, var(--nm-accent) 35%, transparent); font-size: .8rem; font-weight: 400; line-height: 1.45; text-align: left; text-transform: none; letter-spacing: normal; box-shadow: 0 8px 24px rgba(0, 0, 0, .35); opacity: 0; visibility: hidden; transition: opacity .12s, visibility .12s; }
.nm-info-tip.is-on { opacity: 1; visibility: visible; }
.nm-info-tip.is-warn { border-left: 4px solid #e08a2c; }
.nm-info-tip::after { content: ""; position: absolute; left: var(--nm-info-arrow, 50%); top: 100%; transform: translateX(-50%); border: 7px solid transparent; border-top-color: color-mix(in srgb, var(--nm-accent) 35%, var(--nm-surface)); }
.nm-info-tip.is-below::after { top: auto; bottom: 100%; border-top-color: transparent; border-bottom-color: color-mix(in srgb, var(--nm-accent) 35%, var(--nm-surface)); }
.nm-info-tip a { color: var(--nm-accent); text-decoration: underline; }
.nm-info-tip kbd { padding: 0 .3em; border-radius: 4px; background: color-mix(in srgb, var(--nm-fg) 15%, transparent); color: var(--nm-fg); font-size: .9em; }

/* 01/10: lista de jugadores al mismo tamaño que las clasificaciones (cabeza 28 px, texto .85rem, filas compactas). */
.pp-list-table { font-size: .85rem; }
.pp-list-table > :not(caption) > * > * { padding-top: 6px; padding-bottom: 6px; }
.pp-list-head img { width: 28px; height: 28px; }
.pp-list-name { font-family: var(--nm-font-mc); font-weight: 400; }
/* Clasificaciones: el tipo como título y «X jugadores» debajo (antes «Clasificación» repetido arriba). */
.pp-chip-text-rev small { margin-top: 2px; text-transform: none; font-weight: 600; font-size: .7rem; }

/* Soporte: categoría como etiqueta del color de su botón en Discord (01/10). */
.nm-cat-tag, .pn-cat-tag { display: inline-flex; align-items: center; padding: 1px 9px; border-radius: 999px; background: var(--cat, #4E5058); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .02em; line-height: 1.6; white-space: nowrap; vertical-align: middle; }
.nm-support-cat > span { border-color: color-mix(in srgb, var(--cat, #4E5058) 70%, transparent) !important; }
.nm-support-cat input:checked + span { background: var(--cat, #4E5058) !important; border-color: var(--cat, #4E5058) !important; color: #fff !important; }

/* Normas y Legal (01/10): texto justificado; el decálogo de Normas, en tarjetas numeradas solo con CSS
   (el contenido sigue siendo HTML normal del editor: párrafos, cita y lista numerada). */
.nm-page-normas > p, .nm-page-normas blockquote p, .nm-page-legal p { text-align: justify; hyphens: auto; }
.nm-page-normas ol > li p { text-align: left; }
.nm-page-normas blockquote { margin: 0 0 1.4em; }
.nm-page-normas ol { counter-reset: decalogo; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 0; padding: 0; }
.nm-page-normas ol > li { counter-increment: decalogo; position: relative; margin: 0; padding: .95rem 1.1rem .95rem 3.7rem; border: 1px solid color-mix(in srgb, var(--nm-accent) 28%, transparent); border-radius: 14px; background: color-mix(in srgb, var(--nm-accent) 7%, transparent); transition: transform .15s ease, background .15s ease; }
.nm-page-normas ol > li:hover { transform: translateY(-2px); background: color-mix(in srgb, var(--nm-accent) 12%, transparent); }
.nm-page-normas ol > li::before { content: counter(decalogo); position: absolute; left: 1rem; top: 1rem; display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--nm-accent); color: #1a1204; font-weight: 800; box-shadow: 0 3px 0 color-mix(in srgb, var(--nm-accent) 55%, #000); }
.nm-page-normas ol > li p { margin: 0; font-size: .93rem; line-height: 1.45; }
.nm-page-normas ol > li strong:first-child { display: block; margin-bottom: .15rem; font-size: 1.02rem; color: #fff; }
@media (max-width: 760px) { .nm-page-normas ol { grid-template-columns: minmax(0, 1fr); } }
/* Guías: aviso en páginas ocultas (solo las ve el staff) (01/10). */
.nm-guide-hidden { margin: 0 0 1.2em !important; padding: .5em .8em; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, #e08a2c 18%, transparent); color: #ffd39a; font-size: .88rem; }
.nm-guide-side .bi-eye-slash { opacity: .7; font-size: .85em; }
/* 03/10: icono de cada página en la columna (Bootstrap o Minecraft). */
.nm-guide-side .nm-guide-ico { width: 20px; height: 20px; margin-right: .55rem; vertical-align: -4px; }
.nm-guide-side i.nm-guide-ico { display: inline-block; font-size: 1rem; line-height: 20px; text-align: center; color: var(--nm-accent); }
.nm-guide-side a.active i.nm-guide-ico { color: inherit; }

/* 03/10: campana con número junto a la cara (y junto al menú en móvil); desplegable con tarjeta */
.nm-navbtn-bell { width: 42px; padding: 0; font-size: 1.05rem; }
.nm-navbtn-count { position: absolute; top: -7px; right: -7px; display: grid; place-items: center; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--nm-accent); color: #1a1204; font-size: .68rem; font-weight: 800; line-height: 1; box-shadow: 0 0 0 2px var(--nm-bg); }
.nm-bell-mobile { display: none; }
@media (max-width: 991.98px) { .nm-bell-mobile { display: inline-flex; margin-right: 8px; } }
.nm-dd-count { margin-left: auto; min-width: 20px; padding: 1px 6px; border-radius: 999px; background: var(--nm-accent); color: #1a1204; font-size: .7rem; font-weight: 800; text-align: center; }
.nm-dd-user { display: flex; align-items: center; gap: 10px; padding: 8px 12px 10px; margin-bottom: 4px; border-bottom: 1px solid var(--nm-hairline); }
.nm-dd-user img { width: 36px; height: 36px; border-radius: 6px; image-rendering: pixelated; }
.nm-dd-user span { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.nm-dd-user strong { color: #fff; font-size: .92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nm-dd-user small { font-size: .74rem; font-weight: 700; }
.nm-account-dd .dropdown-menu { min-width: 220px; }
.nm-dd-danger, .nm-dd-danger i { color: #ff8f8a !important; }

/* 03/10: tarjetas de mods para jugadores en las guías de Modificadores */
.nm-pmods { display: grid; gap: 14px; margin: 18px 0; }
.nm-pmod { padding: 16px 18px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-fg) 4%, transparent); }
.nm-pmod-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 6px; }
.nm-pmod-head h3 { margin: 0 !important; font-size: 1.12rem; }
.nm-pmod-state { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; font-size: .74rem; font-weight: 700; cursor: help; }
.nm-pmod-state.is-ok { background: rgba(62, 207, 122, .14); color: #8be3b1; }
.nm-pmod-state.is-wait { background: rgba(240, 180, 41, .14); color: #f3cf74; }
.nm-pmod p { margin: 6px 0 !important; }
.nm-pmod-usage { color: color-mix(in srgb, var(--nm-fg) 80%, transparent); font-size: .93rem; }
.nm-pmod-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-weight: 700; color: var(--nm-accent); text-decoration: none; }
.nm-pmod-link:hover { text-decoration: underline; }

/* 03/10: Eventos — próximos, calendario y detalle */
.nm-ev-next { display: grid; gap: 14px; max-width: var(--nm-page-width); margin: 0 auto 26px; }
.nm-ev-card { display: flex; align-items: center; gap: 18px; padding: 16px 20px; }
.nm-ev-card.is-live { box-shadow: 0 0 0 1px var(--nm-ok, #3ecf7a) inset; }
.nm-ev-date { flex: 0 0 64px; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 68px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-accent) 12%, transparent); color: var(--nm-fg); text-decoration: none; line-height: 1; }
.nm-ev-date strong { font-size: 1.6rem; font-family: var(--nm-font-heading, inherit); color: var(--nm-accent); }
.nm-ev-date span { margin-top: 4px; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nm-ev-main { flex: 1 1 auto; min-width: 0; }
.nm-ev-main h2 { margin: 0 0 4px !important; font-size: 1.15rem; }
.nm-ev-main h2 a { color: inherit; text-decoration: none; }
.nm-ev-main h2 a:hover { color: var(--nm-accent); }
.nm-ev-when { margin: 0 !important; font-weight: 600; }
.nm-ev-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 6px 0 0 !important; color: var(--nm-muted); font-size: .88rem; }
.nm-ev-meta i { color: var(--nm-accent); }
.nm-ev-live, .nm-ev-over { display: inline-block; margin-right: 6px; padding: 2px 8px; border-radius: 999px; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; vertical-align: 2px; }
.nm-ev-live { background: var(--nm-ok, #3ecf7a); color: #062a14; }
.nm-ev-over { background: color-mix(in srgb, var(--nm-fg) 14%, transparent); color: var(--nm-muted); }
.nm-ev-act { flex: 0 0 auto; }
.nm-ev-attend { margin: 0; }
.nm-ev-empty { padding: 22px; text-align: center; color: var(--nm-muted); }
.nm-ev-empty i { color: var(--nm-accent); margin-right: 6px; }
@media (max-width: 640px) { .nm-ev-card { flex-wrap: wrap; } .nm-ev-main { flex-basis: calc(100% - 90px); } .nm-ev-act { width: 100%; } .nm-ev-act .nm-btn { width: 100%; justify-content: center; } }

.nm-cal { max-width: var(--nm-page-width); margin: 0 auto; padding: 18px; }
.nm-cal-head { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 14px; position: relative; }
.nm-cal-head h2 { margin: 0 !important; min-width: 190px; text-align: center; font-size: 1.2rem; }
.nm-cal-nav { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); color: var(--nm-fg); text-decoration: none; }
.nm-cal-nav:hover { border-color: var(--nm-accent); color: var(--nm-accent); }
.nm-cal-today { position: absolute; right: 0; font-size: .82rem; font-weight: 700; color: var(--nm-accent); }
.nm-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.nm-cal-dow { padding: 4px 0; text-align: center; font-size: .74rem; font-weight: 800; letter-spacing: .1em; color: var(--nm-muted); }
.nm-cal-day { min-height: 92px; padding: 6px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-fg) 3%, transparent); display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nm-cal-day.is-out { opacity: .4; }
.nm-cal-day.is-today { border-color: var(--nm-accent); }
.nm-cal-day.is-today .nm-cal-num { background: var(--nm-accent); color: #1a1204; }
.nm-cal-num { align-self: flex-start; min-width: 22px; padding: 1px 5px; border-radius: 999px; font-size: .78rem; font-weight: 700; text-align: center; }
.nm-cal-ev { display: block; padding: 2px 6px; border-radius: 4px; background: color-mix(in srgb, var(--nm-accent) 22%, transparent); color: var(--nm-fg); font-size: .74rem; line-height: 1.35; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nm-cal-ev:hover { background: var(--nm-accent); color: #1a1204; }
.nm-cal-ev.is-projected { background: transparent; border: 1px dashed color-mix(in srgb, var(--nm-accent) 60%, transparent); }
.nm-cal-ev.is-past { opacity: .55; }
.nm-cal-time { font-weight: 800; }
@media (max-width: 640px) {
    .nm-cal { padding: 12px 8px; }
    .nm-cal-grid { gap: 2px; }
    .nm-cal-day { min-height: 54px; padding: 3px; align-items: center; }
    .nm-cal-num { align-self: center; font-size: .72rem; }
    .nm-cal-ev { width: 8px; height: 8px; padding: 0; border-radius: 50%; background: var(--nm-accent); }
    .nm-cal-ev.is-projected { background: transparent; border: 2px solid var(--nm-accent); }
    .nm-cal-ev .nm-cal-time, .nm-cal-ev .nm-cal-title { display: none; }
    .nm-cal-day.has-events { display: flex; flex-flow: row wrap; justify-content: center; align-content: flex-start; }
    .nm-cal-day.has-events .nm-cal-num { flex-basis: 100%; text-align: center; }
}

.nm-ev-detail { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; max-width: var(--nm-page-width); margin: 0 auto; align-items: start; }
.nm-ev-info { padding: 22px; }
.nm-ev-info-head { display: flex; gap: 16px; align-items: center; margin-bottom: 14px; }
.nm-ev-desc { line-height: 1.65; margin-bottom: 16px; }
.nm-ev-following { margin-bottom: 14px !important; }
.nm-ev-people { padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.nm-ev-people h2 { margin: 0 !important; font-size: 1.05rem; display: flex; align-items: center; gap: 8px; }
.nm-ev-people h2 span { margin-left: auto; color: var(--nm-accent); }
.nm-ev-people .nm-btn { width: 100%; justify-content: center; }
.nm-ev-faces { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.nm-ev-faces img { display: block; width: 32px; height: 32px; border-radius: 5px; image-rendering: pixelated; }
.nm-ev-nobody { color: var(--nm-muted); font-size: .9rem; }
@media (max-width: 760px) { .nm-ev-detail { grid-template-columns: minmax(0, 1fr); } }


/* 03/10: desplegable con etiquetas de color (select[data-tag-select], site.js). Asunto de Contacto. */
.nm-tagsel { position: relative; }
.nm-tagsel-btn { display: flex; align-items: center; gap: .6rem; width: 100%; min-height: 42px; padding: .45rem .8rem; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); background: var(--nm-surface-2, var(--nm-surface)); color: var(--nm-fg); font: inherit; text-align: left; cursor: pointer; }
.nm-tagsel-btn:focus-visible, .nm-tagsel.is-open .nm-tagsel-btn { outline: none; border-color: var(--nm-accent); box-shadow: var(--nm-ring); }
.nm-tagsel-btn .nm-tagsel-ph { color: var(--nm-muted); }
.nm-tagsel-btn .bi-chevron-down { margin-left: auto; font-size: .8em; color: var(--nm-muted); transition: transform .15s ease; }
.nm-tagsel.is-open .nm-tagsel-btn .bi-chevron-down { transform: rotate(180deg); }
.nm-tagsel-list { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); display: none; max-height: 320px; overflow-y: auto; margin: 0; padding: .3rem; list-style: none; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); background: var(--nm-surface); box-shadow: 0 12px 30px rgba(0, 0, 0, .45); }
.nm-tagsel.is-open .nm-tagsel-list { display: block; }
.nm-tagsel-opt { display: flex; align-items: center; gap: .7rem; padding: .5rem .6rem; border-radius: var(--nm-radius-sm); cursor: pointer; }
.nm-tagsel-opt:hover, .nm-tagsel-opt.is-active { background: var(--nm-hover); }
.nm-tagsel-opt[aria-selected="true"] { background: color-mix(in srgb, var(--nm-accent) 14%, transparent); }
.nm-tagsel-opt small { font-size: .8rem; color: var(--nm-muted); }

/* 03/10: Sugerencias (/sugerencias). Filas: cara · título y descripción · votos en horizontal. */
.nm-sg-filters { display: flex; flex-wrap: wrap; gap: .5rem; padding: 1rem 1.2rem; border-top: 1px solid var(--nm-hairline); }
.nm-sg-filter { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .8rem; border: 1px solid color-mix(in srgb, var(--cat) 70%, transparent); border-radius: 999px; color: var(--cat); font-size: .85rem; font-weight: 700; text-decoration: none; transition: background .12s, color .12s; }
.nm-sg-filter span { padding: 0 .4rem; border-radius: 999px; background: color-mix(in srgb, var(--cat) 20%, transparent); font-size: .78em; }
.nm-sg-filter:hover { background: color-mix(in srgb, var(--cat) 14%, transparent); }
.nm-sg-filter.is-active { background: var(--cat); border-color: var(--cat); color: #fff; }
.nm-sg-filter.is-active span { background: rgba(255, 255, 255, .22); }
.nm-sg-list { border-top: 1px solid var(--nm-hairline); }
.nm-sg-row { display: flex; align-items: center; gap: 1rem; padding: .9rem 1.2rem; border-bottom: 1px solid var(--nm-hairline); }
.nm-sg-list .nm-sg-row:last-child { border-bottom: 0; }
.nm-sg-face { flex-shrink: 0; width: 44px; height: 44px; border-radius: 6px; image-rendering: pixelated; }
.nm-sg-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .2rem; color: inherit; text-decoration: none; }
a.nm-sg-main:hover strong { color: var(--nm-accent); }
.nm-sg-main strong { font-family: var(--nm-font-heading); font-weight: 600; color: #fff; overflow-wrap: anywhere; }
.nm-sg-desc { font-size: .9rem; color: color-mix(in srgb, var(--nm-fg) 82%, transparent); overflow-wrap: anywhere; }
.nm-sg-main small { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; font-size: .78rem; color: var(--nm-muted); }
.nm-sg-votes { display: flex; flex-direction: row; gap: .4rem; flex-shrink: 0; }
.nm-sg-votes form { margin: 0; }
.nm-sg-vote { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-width: 58px; padding: .3rem .55rem; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); background: transparent; color: var(--nm-muted); font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; transition: border-color .12s, color .12s, background .12s; }
.nm-sg-vote:disabled { cursor: default; opacity: .75; }
.nm-sg-vote.is-up:not(:disabled):hover, .nm-sg-vote.is-up.is-mine { border-color: #3ba55d; color: #3ba55d; }
.nm-sg-vote.is-down:not(:disabled):hover, .nm-sg-vote.is-down.is-mine { border-color: #da373c; color: #da373c; }
.nm-sg-vote.is-up.is-mine { background: color-mix(in srgb, #3ba55d 15%, transparent); }
.nm-sg-vote.is-down.is-mine { background: color-mix(in srgb, #da373c 15%, transparent); }
.nm-sg-detail { border-top: 1px solid var(--nm-hairline); }
.nm-sg-detail .nm-sg-main strong { font-size: 1.15rem; }
.nm-sg-body { padding: 1rem 1.2rem 1.2rem; line-height: 1.6; color: color-mix(in srgb, var(--nm-fg) 90%, transparent); overflow-wrap: anywhere; }
.nm-sg-answer { margin: 0 1.2rem 1.2rem; padding: .8rem 1rem; border-left: 4px solid var(--cat); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--cat) 10%, transparent); }
.nm-sg-answer strong { color: #fff; }
.nm-sg-answer small { margin-left: .4rem; color: var(--nm-muted); }
.nm-sg-answer p { margin: .4rem 0 0; }
@media (max-width: 560px) { .nm-sg-row { flex-wrap: wrap; } .nm-sg-votes { width: 100%; justify-content: flex-end; } }
.nm-tagsel select[hidden] { display: none !important; }
/* 03/10: el editor del panel mete <p> en cada celda; sin margen no queda hueco debajo. */
.nm-prose td > p, .nm-prose th > p { margin: 0; }
.nm-prose td, .nm-prose th { vertical-align: middle; }
.nm-prose td img + br + small, .nm-prose td img + br + strong { display: inline-block; margin-top: .25rem; }
/* 03/10: cabecera de tabla igual con o sin <thead> (el editor del panel lo quita al guardar). */
.nm-prose .table th { border-bottom: 1px solid var(--nm-line); color: var(--nm-muted); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }

/* 03/10: Sugerencias sin cabecera: el botón de proponer a la derecha de las etiquetas. */
.nm-sg-filters { border-top: 0; align-items: center; }
.nm-sg-new { margin-left: auto; }

/* --- Móvil: Comunidad (04/10) ------------------------------------------------ */
/* Tarjetas de Comunidad y Guías: dos por fila y más bajas (antes una por pantalla). */
@media (max-width: 460px) {
    .nm-wiki-grid, .nm-comm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .nm-wiki-cat { gap: 8px; padding: 16px 10px; }
    .nm-wiki-cat-icon { width: 76px; height: 76px; }
    .nm-wiki-cat-icon i { font-size: 2.2rem; }
    .nm-wiki-cat-icon .mc-icon, .nm-wiki-cat-img { width: 56px; height: 56px; }
    .nm-wiki-cat h2 { font-size: 1rem; }
}
/* Lista de jugadores: sin Registro ni Estado (y sin Rango en pantallas muy estrechas). */
@media (max-width: 600px) { .pp-list-table .pp-col-reg, .pp-list-table .pp-col-state { display: none; } }
@media (max-width: 420px) { .pp-list-table .pp-col-rank { display: none; } }
/* Sugerencias: los tres filtros en una fila y «Proponer» debajo a lo ancho. */
@media (max-width: 560px) {
    .nm-sg-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; padding: .9rem; }
    .nm-sg-filter { justify-content: center; gap: .3rem; padding: .35rem .3rem; font-size: .76rem; }
    .nm-sg-filter i { display: none; }
    .nm-sg-new { grid-column: 1 / -1; width: 100%; justify-content: center; }
}
/* Perfil: las etiquetas de las fichas pueden partirse en dos líneas en vez de cortarse. */
@media (max-width: 460px) { .pp-chip-text small { white-space: normal; overflow: visible; } }
/* 05/10: «¿No recuerdas la contraseña?» al vincular Discord */
.nm-auth-alt { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--nm-border, rgba(255,255,255,.1)); }
.nm-auth-alt .nm-auth-note { margin-bottom: .2rem; }
.nm-auth-btn-secondary { margin-top: .4rem; background: transparent; border: 1px solid var(--nm-accent); color: var(--nm-accent); text-transform: none; letter-spacing: 0; font-size: .88rem; }
/* 05/10: novedad flotante (anuncio global con destino «Web») */
.nm-news { position: fixed; z-index: 90; right: 20px; bottom: 20px; display: flex; gap: .8rem; width: min(380px, calc(100% - 32px)); padding: .9rem 1rem; border: 1px solid color-mix(in srgb, var(--nm-accent) 55%, transparent); border-radius: var(--nm-radius); background: var(--nm-surface-2); box-shadow: 0 14px 36px rgba(0, 0, 0, .55); color: var(--nm-fg); animation: nm-news-in .4s ease-out; transition: opacity .35s, transform .35s; }
.nm-news img { width: 64px; height: 64px; object-fit: cover; border-radius: calc(var(--nm-radius) - 2px); flex-shrink: 0; }
.nm-news-body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.nm-news-kicker { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--nm-accent); }
.nm-news-body strong { font-family: var(--nm-font-heading); font-size: 1rem; line-height: 1.25; }
.nm-news-body p { margin: 0; font-size: .86rem; line-height: 1.45; color: var(--nm-text-2); }
.nm-news-link { margin-top: .25rem; font-size: .85rem; font-weight: 600; color: var(--nm-accent); text-decoration: none; }
.nm-news-close { align-self: flex-start; margin-left: auto; border: 0; background: none; color: var(--nm-muted); cursor: pointer; padding: 2px; }
.nm-news.is-out { opacity: 0; transform: translateY(12px); }
@keyframes nm-news-in { from { opacity: 0; transform: translateY(16px); } }
@media (max-width: 520px) { .nm-news { right: 16px; left: 16px; width: auto; bottom: 16px; } }

/* ==========================================================================
   Wiki (12/10): portada con buscador, categorías en lista o cuadrícula y fichas.
   Lista = .nm-guide-layout de siempre; cuadrícula = botones con icono en casilla.
   ========================================================================== */
.nm-wiki-search { position: relative; max-width: 560px; margin: 0 auto 26px; }
.nm-wiki-search .nm-input { height: 46px; padding-left: 16px; font-size: 1rem; }
.nm-wiki-results { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 6px); max-height: 420px; margin: 0; padding: 6px; overflow-y: auto; list-style: none; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: var(--nm-surface); box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
.nm-wiki-results a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: var(--nm-radius-sm); color: var(--nm-fg); }
.nm-wiki-results a:hover, .nm-wiki-results a:focus { background: var(--nm-hover); color: var(--nm-fg); }
.nm-wiki-results img { width: 24px; height: 24px; object-fit: contain; image-rendering: pixelated; }
.nm-wiki-results i { width: 24px; text-align: center; color: var(--nm-accent); }
.nm-wiki-results span { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nm-wiki-results small { color: var(--nm-muted); font-size: .78rem; }
.nm-wiki-results .is-empty { padding: 10px; color: var(--nm-muted); }
.nm-wiki-badge-hidden { position: absolute; top: 10px; right: 12px; color: var(--nm-muted); }

/* Ruta y anterior/siguiente (cuadrícula) */
.nm-wiki-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; font-size: .9rem; color: var(--nm-muted); }
.nm-wiki-crumbs a { color: var(--nm-text-2); }
.nm-wiki-crumbs a:hover { color: var(--nm-accent); }
.nm-wiki-crumbs [aria-current] { color: var(--nm-fg); }
.nm-wiki-article { max-width: 980px; margin: 0 auto; }
.nm-wiki-crumbs, .nm-wiki-pager { max-width: 980px; margin-left: auto; margin-right: auto; }
.nm-wiki-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.nm-wiki-pager-links { display: flex; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.nm-wiki-pager-link { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 8px; align-items: center; min-width: 170px; padding: 6px 12px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); background: var(--nm-hover); color: var(--nm-fg); }
.nm-wiki-pager-link small { grid-column: 1 / -1; color: var(--nm-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; }
.nm-wiki-pager-link .mc-icon, .nm-wiki-pager-link i { width: 22px; height: 22px; object-fit: contain; image-rendering: pixelated; color: var(--nm-accent); }
.nm-wiki-pager-link:hover { border-color: var(--nm-accent); color: var(--nm-fg); }
.nm-wiki-pager-link.is-next { text-align: right; }

/* Menú lateral con grupos y filtro */
.nm-wiki-side-filter { height: 38px; }
.nm-list .nm-wiki-side-group { padding: 10px 14px 4px; border-top: 1px solid var(--nm-hairline); color: var(--nm-accent); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.nm-list .nm-wiki-side-group:first-child { border-top: 0; }
.nm-list .nm-wiki-side-group + li a { border-top: 0; }
.nm-guide-side .nm-list { max-height: calc(100dvh - 160px); overflow-y: auto; }

/* Cuadrícula */
.nm-wiki-grid-note { max-width: 980px; margin: 0 auto 14px !important; }
.nm-wiki-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 22px; }
.nm-wiki-tools .nm-input { flex: 1 1 240px; max-width: 360px; height: 38px; }
.nm-wiki-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.nm-wiki-chip { height: 32px; padding: 0 14px; border: 1px solid var(--nm-line); border-radius: 999px; background: var(--nm-hover); color: var(--nm-text-2); font-size: .85rem; cursor: pointer; }
.nm-wiki-chip:hover { border-color: var(--nm-accent); color: var(--nm-fg); }
.nm-wiki-chip.is-active { border-color: var(--nm-accent); background: var(--nm-accent); color: #fff; }
.nm-wiki-group { margin: 0 0 26px; }
.nm-wiki-group-title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--nm-accent); font-size: 1rem; text-transform: uppercase; letter-spacing: .05em; }
.nm-wiki-group-title span { padding: 1px 8px; border-radius: 999px; background: var(--nm-hover); color: var(--nm-muted); font-size: .75rem; letter-spacing: 0; }
.nm-wiki-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 12px; }
.nm-wiki-tile { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 8px 10px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface) 80%, transparent); color: var(--nm-fg); text-align: center; transition: transform .12s ease, border-color .12s ease; }
.nm-wiki-tile:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--nm-accent) 60%, transparent); color: var(--nm-fg); }
.nm-wiki-tile-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; }
.nm-wiki-tile-icon .mc-icon { width: 44px; height: 44px; object-fit: contain; image-rendering: pixelated; }
.nm-wiki-tile-icon i { font-size: 1.8rem; color: var(--nm-accent); }
.nm-wiki-tile:hover .nm-wiki-tile-icon { border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.nm-wiki-tile-name { font-size: .88rem; line-height: 1.25; }
.nm-wiki-tile-hidden { position: absolute; top: 6px; right: 8px; color: var(--nm-muted); font-size: .8rem; }
@media (max-width: 520px) { .nm-wiki-tiles { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; } .nm-wiki-tile-icon { width: 52px; height: 52px; } .nm-wiki-tile-icon .mc-icon { width: 36px; height: 36px; } }

/* Ficha */
.nm-wiki-head { display: flex; align-items: center; gap: 18px; margin: 0 0 18px; }
.nm-wiki-head-icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 84px; height: 84px; }
.nm-wiki-head-icon .mc-icon { width: 60px; height: 60px; object-fit: contain; image-rendering: pixelated; }
.nm-prose .nm-wiki-head h2 { margin: 0 0 6px; font-size: 1.8rem; }
.nm-wiki-head-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 !important; color: var(--nm-muted); font-size: .9rem; }
.nm-wiki-behavior { padding: 2px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700; letter-spacing: .03em; color: #fff; background: var(--nm-muted); }
.nm-wiki-behavior.is-hostil { background: #c94a46; }
.nm-wiki-behavior.is-neutral { background: #c98a2a; }
.nm-wiki-behavior.is-pasivo { background: #2f9d61; }
.nm-wiki-behavior.is-jefe { background: #8e4fb0; }
.nm-wiki-summary { font-size: 1.02rem; color: var(--nm-fg); }
.nm-wiki-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 0 0 8px; }
.nm-wiki-facts > div { padding: 10px 12px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: var(--nm-hover); }
.nm-wiki-facts dt { margin: 0 0 2px; color: var(--nm-muted); font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.nm-wiki-facts dd { margin: 0; color: var(--nm-fg); font-size: 1.05rem; font-weight: 600; }
.nm-wiki-facts small { color: var(--nm-muted); font-size: .78rem; font-weight: 400; }
.nm-wiki-heart { color: #e5534b; font-size: .75rem; }
.nm-prose .nm-wiki-label { margin: 14px 0 6px; color: var(--nm-muted); font-size: .76rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.nm-wiki-label span { margin-left: 4px; color: var(--nm-text-2); font-weight: 400; }
.nm-prose .nm-wiki-chiplist, .nm-prose .nm-wiki-items { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; padding: 0; list-style: none; }
.nm-prose .nm-wiki-chiplist li, .nm-prose .nm-wiki-items li { margin: 0; }
.nm-wiki-chiplist li { padding: 3px 10px; border: 1px solid var(--nm-hairline); border-radius: 999px; background: var(--nm-hover); color: var(--nm-text-2); font-size: .85rem; }
.nm-wiki-chiplist i { color: var(--nm-accent); }
.nm-prose .nm-wiki-item { display: inline-flex; align-items: center; gap: 6px; color: var(--nm-fg); text-decoration: none; }
.nm-wiki-items .nm-wiki-item { padding: 3px 10px 3px 4px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: var(--nm-hover); font-size: .88rem; }
.nm-wiki-item .mc-icon { width: 24px; height: 24px; object-fit: contain; image-rendering: pixelated; }
.nm-wiki-item > i { width: 24px; text-align: center; color: var(--nm-muted); }
a.nm-wiki-item:hover { color: var(--nm-accent); }
.nm-wiki-table-wrap { overflow-x: auto; margin: 0 0 1em; }
.nm-prose .nm-wiki-loot { margin: 0; }
.nm-prose .nm-wiki-loot th { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--nm-muted); }
.nm-prose .nm-wiki-loot td:nth-child(n+2), .nm-prose .nm-wiki-loot th:nth-child(n+2) { width: 1%; white-space: nowrap; text-align: right; }
.nm-wiki-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.nm-wiki-tags span { padding: 0 7px; border-radius: 999px; background: color-mix(in srgb, var(--nm-accent) 16%, transparent); color: color-mix(in srgb, var(--nm-accent) 70%, var(--nm-fg)); font-size: .72rem; }
.nm-prose .nm-wiki-heads { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px; margin: 0 0 1em; padding: 0; list-style: none; }
.nm-wiki-heads li { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; text-align: center; font-size: .78rem; line-height: 1.25; color: var(--nm-text-2); }
.nm-wiki-heads .nm-slot { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; }
.nm-wiki-heads img { width: 36px; height: 36px; image-rendering: pixelated; border-radius: 0 !important; }
.nm-wiki-muted { color: var(--nm-muted); }
.nm-prose .nm-wiki-related { padding: 0; list-style: none; }
.nm-wiki-related small { margin-left: 6px; color: var(--nm-muted); }
.nm-wiki-related .nm-guide-ico { width: 20px; height: 20px; margin-right: 8px; vertical-align: -4px; image-rendering: pixelated; }
.nm-prose .nm-wiki-source { margin-top: 2em; color: var(--nm-muted); font-size: .8rem; }
/* Enlaces a fichas dentro de los artículos (los del editor y los iconos de huevo) */
.nm-prose a.nm-wl { text-decoration: none; }
.nm-prose a.nm-wl:not(.is-auto) { display: inline-flex; align-items: center; gap: 4px; padding: 0 6px 0 2px; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-accent) 12%, transparent); color: var(--nm-fg); vertical-align: middle; }
.nm-prose a.nm-wl:not(.is-auto):hover { background: color-mix(in srgb, var(--nm-accent) 24%, transparent); }
.nm-prose .nm-wl img.mc-icon { width: 22px; height: 22px; object-fit: contain; image-rendering: pixelated; }
.nm-prose a.nm-wl.is-auto:hover img { filter: brightness(1.2) drop-shadow(0 0 4px color-mix(in srgb, var(--nm-accent) 60%, transparent)); }
.nm-prose .nm-wl.is-off { display: inline-flex; align-items: center; gap: 4px; }
.nm-wiki-search { z-index: 30; }
.nm-wiki-short { display: none; }
@media (max-width: 520px) {
    .nm-prose .nm-wiki-loot th, .nm-prose .nm-wiki-loot td { padding: .45em .5em; font-size: .86rem; }
    .nm-wiki-long { display: none; }
    .nm-wiki-short { display: inline; }
    .nm-wiki-head-icon { width: 64px; height: 64px; }
    .nm-wiki-head-icon .mc-icon { width: 44px; height: 44px; }
    .nm-prose .nm-wiki-head h2 { font-size: 1.4rem; }
    .nm-wiki-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pp-set-note { margin: .6rem 0 0; padding: .5rem .8rem; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, #e08a2c 16%, transparent); color: #ffd39a; font-size: .86rem; }
.pp-set-date { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 2px 9px; border: 1px solid color-mix(in srgb, var(--nm-accent) 45%, transparent); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-accent) 14%, transparent); color: var(--nm-accent); font-family: var(--nm-font-heading); font-size: .76rem; font-weight: 600; white-space: nowrap; }

/* ==========================================================================
   WIKI · sistema único (13/10, 2.ª) — mismo lenguaje en portada, cuadrícula y fichas.
   Casilla de Minecraft (.nm-slot) para todo lo del juego, cristal para contenedores, dorado
   solo en títulos, etiquetas de una palabra; color solo con significado (Sí/No, comportamiento).
   Tamaños de casilla: xs 26 · sm 36 · md 44 · xl 88.
   ========================================================================== */
.wk-ico { width: 18px; height: 18px; object-fit: contain; image-rendering: pixelated; border-radius: 0 !important; margin: 0 !important; flex: 0 0 auto; }
i.wk-ico { width: 18px; font-size: 15px; line-height: 18px; text-align: center; color: var(--nm-accent); }
.wk-slot-xs, .wk-slot-sm, .wk-slot-md, .wk-slot-xl { position: relative; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; }
.wk-slot-xs { width: 26px; height: 26px; }
.wk-slot-sm { width: 36px; height: 36px; }
.wk-slot-md { width: 44px; height: 44px; }
.wk-slot-xl { width: 88px; height: 88px; }
.wk-slot-xs .wk-ico, .wk-slot-xs .mc-icon { width: 18px; height: 18px; }
.wk-slot-sm .wk-ico, .wk-slot-sm .mc-icon { width: 24px; height: 24px; }
.wk-slot-md .wk-ico, .wk-slot-md .mc-icon { width: 30px; height: 30px; }
.wk-slot-xl .wk-ico, .wk-slot-xl .mc-icon { width: 60px; height: 60px; }
.wk-slot-xs i.wk-ico { font-size: 13px; }
.wk-slot-md i.wk-ico, .wk-slot-md i { font-size: 22px; width: auto; color: var(--nm-accent); }
.wk-slot-xl i.wk-ico, .wk-slot-xl i { font-size: 44px; width: auto; color: var(--nm-accent); }
.wk-slot-xs .mc-icon, .wk-slot-sm .mc-icon, .wk-slot-md .mc-icon, .wk-slot-xl .mc-icon { object-fit: contain; image-rendering: pixelated; margin: 0 !important; border-radius: 0 !important; }
.wk-slot-sm.is-empty { opacity: .55; }
a.nm-slot:hover { border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.wk-count-badge { position: absolute; right: 2px; bottom: 0; color: #fff; font-size: .8rem; font-weight: 700; text-shadow: 2px 2px 0 #3f3f3f; line-height: 1; }
.wk-count { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--nm-hover); color: var(--nm-muted); font-family: var(--nm-font-body, inherit); font-size: .72rem; font-weight: 600; letter-spacing: 0; text-transform: none; vertical-align: middle; }
.wk-hidden { color: var(--nm-muted); font-size: .85rem; }
.wk-muted { color: var(--nm-muted); }

/* Etiquetas: una palabra; neutras salvo las que significan algo */
.wk-tag, .wk-type { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 999px; background: var(--nm-hover); color: var(--nm-text-2); font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.wk-type { background: color-mix(in srgb, var(--nm-accent) 18%, transparent); color: var(--nm-accent); }
.wk-tag.is-hostil { background: #c94a46; color: #fff; }
.wk-tag.is-neutral { background: #c98a2a; color: #fff; }
.wk-tag.is-pasivo { background: #2f9d61; color: #fff; }
.wk-tag.is-jefe { background: #8e4fb0; color: #fff; }
.wk-yn { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; border-radius: 999px; font-size: .74rem; font-weight: 700; color: #fff; }
.wk-yn.is-yes { background: #2f9d61; }
.wk-yn.is-no { background: #c94a46; }

/* Portada: tarjetas de categoría */
.wk-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; max-width: 1100px; margin: 0 auto; }
.wk-cat { position: relative; display: flex; align-items: center; gap: 16px; padding: 14px 16px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface) 82%, transparent); color: var(--nm-fg); transition: transform .12s ease, border-color .12s ease; }
.wk-cat:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--nm-accent) 60%, transparent); color: var(--nm-fg); }
.wk-cat-img { width: 64px; height: 64px; object-fit: contain; }
.wk-cat-text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.wk-cat-text strong { font-family: var(--nm-font-heading); font-size: 1.15rem; font-weight: 600; }
.wk-cat-text small { color: var(--nm-muted); font-size: .82rem; }
.wk-cat .wk-hidden { position: absolute; top: 10px; right: 12px; }

/* Cuadrícula: herramientas, grupos y tarjetas */
.wk-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 0 0 22px; }
.wk-tools .nm-input { flex: 1 1 240px; max-width: 360px; height: 38px; }
.wk-total { color: var(--nm-muted); font-size: .85rem; }
.wk-filters { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 100%; }
.wk-filter { height: 30px; padding: 0 12px; border: 1px solid var(--nm-line); border-radius: 999px; background: var(--nm-hover); color: var(--nm-text-2); font-size: .82rem; cursor: pointer; }
.wk-filter:hover { border-color: var(--nm-accent); color: var(--nm-fg); }
.wk-filter.is-active { border-color: var(--nm-accent); background: var(--nm-accent); color: #fff; }
.wk-group { margin: 0 0 26px; }
.wk-group[hidden] { display: none; }
.wk-group-title { display: flex; align-items: center; margin: 0 0 12px; color: var(--nm-accent); font-size: 1rem; letter-spacing: .05em; text-transform: uppercase; }
.wk-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); align-items: start; gap: 10px; }
.wk-tile { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 9px 10px 10px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface) 82%, transparent); }
.wk-tile[hidden] { display: none; }
.wk-tile:hover { border-color: color-mix(in srgb, var(--nm-accent) 45%, transparent); }
.wk-tile-head { display: flex; align-items: center; gap: 9px; min-width: 0; color: var(--nm-fg); }
.wk-tile-head:hover { color: var(--nm-accent); }
.wk-tile-head:hover .nm-slot { border-right-color: var(--nm-accent); border-bottom-color: var(--nm-accent); }
.wk-tile-name { flex: 1 1 auto; min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; font-size: .95rem; line-height: 1.2; }
.wk-stats { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.wk-stats.is-1 { grid-template-columns: 1fr; }
.wk-stats.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wk-stats.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wk-stats.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wk-stats li { display: flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; height: 28px; padding: 0 6px; border-radius: var(--nm-radius-sm); background: var(--nm-hover); font-size: .8rem; font-weight: 600; white-space: nowrap; overflow: hidden; }
.wk-stats li > span { display: inline-flex; align-items: center; gap: 4px; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.wk-stats .wk-yn { height: 18px; padding: 0 7px; font-size: .7rem; }
.wk-tile-summary { margin: 0; color: var(--nm-text-2); font-size: .82rem; line-height: 1.35; }
.wk-tile-foot { display: flex; flex-wrap: wrap; gap: 3px; }
.wk-more { display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 9px; border-radius: var(--nm-radius-sm); background: var(--nm-hover); color: var(--nm-muted); font-size: .78rem; font-weight: 600; }

/* Ficha: cabecera, caja de datos (derecha, como la wiki de Minecraft) y secciones */
.wk-head { display: flex; align-items: center; gap: 18px; margin: 0 0 20px; }
.wk-head-text { min-width: 0; }
.nm-prose .wk-head h2 { margin: 0 0 8px; font-size: 1.9rem; line-height: 1.15; }
.nm-prose .wk-head-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; }
.wk-en { color: var(--nm-muted); font-size: .88rem; }
.wk-body { display: grid; grid-template-columns: minmax(0, 1fr) 290px; grid-template-areas: "main info"; gap: 24px; align-items: start; }
.wk-main { grid-area: main; min-width: 0; }
.wk-info { grid-area: info; position: sticky; top: 16px; padding: 12px 14px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: var(--nm-hover); }
.nm-prose .wk-info-title { margin: 0 0 8px; padding: 0 0 8px; border-bottom: 1px solid var(--nm-hairline); color: var(--nm-accent); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.wk-info dl { margin: 0; }
.wk-info dl > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 32px; padding: 4px 0; border-bottom: 1px solid var(--nm-hairline); }
.wk-info dl > div:last-child { border-bottom: 0; }
.wk-info dt { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--nm-text-2); font-size: .85rem; font-weight: 500; }
.wk-info dd { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin: 0; color: var(--nm-fg); font-size: .9rem; font-weight: 700; text-align: right; }
.nm-prose .wk-info-id { margin: 10px 0 0; font-size: .74rem; }
.nm-prose .wk-summary { margin: 0 0 14px; font-size: 1.02rem; }
.wk-sec { margin: 0 0 22px; }
.nm-prose .wk-sec h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0 0 8px; border-bottom: 1px solid color-mix(in srgb, var(--nm-accent) 45%, transparent); font-size: 1.15rem; }
.nm-prose .wk-sec h3 > i { color: var(--nm-accent); font-size: 1.05rem; }
.nm-prose .wk-label { display: flex; align-items: center; margin: 14px 0 7px; color: var(--nm-muted); font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.nm-prose .wk-label:first-of-type { margin-top: 0; }
.nm-prose .wk-line { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
.nm-prose .wk-line > i, .nm-prose .wk-list i { color: var(--nm-accent); }
.nm-prose .wk-list { margin: 0 0 8px; padding: 0; list-style: none; }
.nm-prose .wk-list li { margin: 0 0 4px; }
.wk-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 6px; }
.nm-prose .wk-chip, .wk-chip { white-space: nowrap; display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 2px 10px 2px 3px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: var(--nm-hover); color: var(--nm-fg); font-size: .86rem; text-decoration: none; }
a.wk-chip:hover { border-color: var(--nm-accent); color: var(--nm-fg); }
.wk-chip small { color: var(--nm-muted); font-size: .74rem; }
.wk-slots { display: flex; flex-wrap: wrap; gap: 4px; }
.wk-note { display: inline-block; margin: 2px; padding: 1px 8px; border-radius: 999px; background: color-mix(in srgb, var(--nm-accent) 16%, transparent); color: color-mix(in srgb, var(--nm-accent) 70%, var(--nm-fg)); font-size: .74rem; white-space: nowrap; }
.wk-table-wrap { overflow-x: auto; margin: 0 0 8px; }
.nm-prose .wk-table { width: 100%; margin: 0; }
.nm-prose .wk-table th, .nm-prose .wk-table td { text-align: center; vertical-align: middle; }
.nm-prose .wk-table th { color: var(--nm-muted); font-size: .74rem; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.nm-prose .wk-table td .wk-chip { margin: 0 auto; }
.nm-prose .wk-source { margin: 1.6em 0 0; color: var(--nm-muted); font-size: .8rem; }

/* Recetas con su forma (rejilla 3×3, horno, cortapiedras, herrería) */
.wk-recipes { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 8px; }
.nm-prose .wk-recipe { margin: 0; padding: 8px 12px 10px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: var(--nm-hover); }
.wk-recipe figcaption { margin: 0 0 6px; color: var(--nm-muted); font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.wk-recipe-body { display: flex; align-items: center; gap: 10px; }
.wk-recipe-in { display: grid; gap: 2px; }
.wk-recipe.is-crafting .wk-recipe-in { grid-template-columns: repeat(3, 36px); }
.wk-recipe.is-smithing .wk-recipe-in { grid-template-columns: repeat(3, 36px); }
.wk-recipe.is-furnace .wk-recipe-in, .wk-recipe.is-cutter .wk-recipe-in { grid-template-columns: 36px; }
.wk-recipe-arrow { color: var(--nm-muted); font-size: 1.2rem; }
.wk-recipe.is-furnace .wk-recipe-arrow { color: #e8673c; }

@media (max-width: 900px) {
    .wk-body { grid-template-columns: minmax(0, 1fr); grid-template-areas: "info" "main"; }
    .wk-info { position: static; }
}
@media (max-width: 520px) {
    .wk-tiles { grid-template-columns: minmax(0, 1fr); }
    .wk-head { gap: 12px; }
    .wk-slot-xl { width: 64px; height: 64px; }
    .wk-slot-xl .mc-icon, .wk-slot-xl .wk-ico { width: 44px; height: 44px; }
    .nm-prose .wk-head h2 { font-size: 1.4rem; }
    .wk-cats { grid-template-columns: minmax(0, 1fr); }
    .nm-prose .wk-table th, .nm-prose .wk-table td { padding: .45em .4em; font-size: .84rem; }
}

/* WIKI 13/10 (3.ª): fichas «más Minecraft». Paneles en relieve como la interfaz del juego (claro arriba-izq.,
   oscuro abajo-dcha., lo contrario que la casilla hundida), títulos con la letra de Minecraft y su sombra
   (sin subrayado dorado). Ficha = panel 1 (nombre, rejilla de datos, filas «de dónde sale / qué da») +
   panel 2 (Crafteo / Botín / Habitantes). */
.nm-wiki-article:has(.wk-card) { padding: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; }
.nm-wiki-article:has(.wk-card)::before { display: none; }
.wk-panel { margin: 0 0 16px; padding: 14px 16px 16px; background: #1b2230; border: 2px solid #0b0f17; box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .10), inset -2px -2px 0 rgba(0, 0, 0, .45); border-radius: 4px; }
.nm-prose .wk-panel-title, .wk-panel-title { margin: 0 0 12px; padding: 0; border: 0; color: #f2f2f2; font-family: var(--nm-font-mc); font-size: 1.15rem; font-weight: 400; letter-spacing: .02em; text-shadow: 2px 2px 0 #2a2a2a; }
.nm-prose .wk-name { margin: 0 0 6px; padding: 0; border: 0; color: #fff; font-family: var(--nm-font-mc); font-size: 1.7rem; font-weight: 400; text-shadow: 3px 3px 0 #2a2a2a; }
.wk-card .wk-head { margin: 0 0 14px; }
.nm-prose .wk-card .wk-summary { margin: 8px 0 0; color: var(--nm-text-2); font-size: .95rem; }
.wk-type, .wk-tag, .wk-yn, .wk-label, .wk-group-title, .wk-cat-text strong, .wk-recipe figcaption { font-family: var(--nm-font-mc); font-weight: 400; letter-spacing: .03em; }
.wk-type, .wk-tag { text-transform: none; font-size: .78rem; }
.nm-prose .wk-label { color: #c6c6c6; text-transform: none; font-size: .9rem; letter-spacing: .02em; text-shadow: 1px 1px 0 #2a2a2a; }
.wk-group-title { text-transform: none; font-size: 1.15rem; color: #f2f2f2; text-shadow: 2px 2px 0 #2a2a2a; }
/* Rejilla de datos: casilla con el icono del juego + valor + nombre */
.nm-prose .wk-statgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.nm-prose .wk-statgrid li { display: flex; align-items: center; gap: 9px; margin: 0; padding: 5px 8px 5px 5px; background: rgba(0, 0, 0, .22); border-radius: 3px; }
.wk-stat-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.wk-stat-text b { display: flex; align-items: center; gap: 4px; color: #fff; font-family: var(--nm-font-mc); font-size: 1rem; font-weight: 400; text-shadow: 1px 1px 0 #2a2a2a; white-space: nowrap; }
.wk-stat-text small { color: var(--nm-muted); font-size: .74rem; }
.wk-statgrid .wk-slot-sm .wk-ico { width: 24px; height: 24px; }
/* Filas de la ficha: etiqueta con icono | contenido */
.nm-prose .wk-facts { margin: 0; }
.wk-fact { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 10px; align-items: start; padding: 8px 0; border-top: 1px solid rgba(255, 255, 255, .07); }
.wk-fact:first-child { border-top: 0; }
.nm-prose .wk-fact dt { display: flex; align-items: center; gap: 8px; margin: 0; min-height: 32px; color: #c6c6c6; font-family: var(--nm-font-mc); font-size: .9rem; font-weight: 400; text-shadow: 1px 1px 0 #2a2a2a; }
.nm-prose .wk-fact dd { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 0; min-height: 32px; }
.wk-text { color: var(--nm-fg); font-size: .92rem; }
.wk-chip { background: rgba(0, 0, 0, .22); border-color: rgba(255, 255, 255, .08); }
/* Crafteo: fabricación y usos, juntos */
.wk-craft { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 18px; }
.wk-craft-col { min-width: 0; }
.nm-prose .wk-craft .wk-label { margin-top: 0; }
.nm-prose .wk-recipe { background: rgba(0, 0, 0, .22); border: 0; border-radius: 3px; }
.wk-panel .wk-table-wrap { margin: 0 0 6px; }
.nm-prose .wk-source { margin: 4px 0 0; font-size: .76rem; }
@media (max-width: 760px) {
    .wk-craft { grid-template-columns: minmax(0, 1fr); }
    .wk-fact { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .nm-prose .wk-fact dt { min-height: 0; }
    .nm-prose .wk-statgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nm-prose .wk-name { font-size: 1.35rem; }
}

/* Propiedades Sí/No de la ficha: el chip entero verde o rojo */
.wk-prop { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px 0 6px; border-radius: 3px; color: #fff; font-family: var(--nm-font-mc); font-size: .85rem; text-shadow: 1px 1px 0 rgba(0, 0, 0, .45); box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .15), inset -2px -2px 0 rgba(0, 0, 0, .25); }
.wk-prop.is-yes { background: #2f8a55; }
.wk-prop.is-no { background: #a63c38; }
.wk-prop .wk-ico { width: 18px; height: 18px; }
.wk-stat-text b { white-space: normal; }
/* Tarjetas de la cuadrícula y de la portada con el mismo panel en relieve que las fichas */
.wk-tile, .wk-cat { background: #1b2230; border: 2px solid #0b0f17; border-radius: 4px; box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .10), inset -2px -2px 0 rgba(0, 0, 0, .45); }
.wk-tile:hover, .wk-cat:hover { border-color: color-mix(in srgb, var(--nm-accent) 70%, #0b0f17); }
.wk-tile-name, .wk-stats li { font-family: var(--nm-font-mc); font-weight: 400; text-shadow: 1px 1px 0 #2a2a2a; }
.wk-stats li { background: rgba(0, 0, 0, .22); border-radius: 3px; }
/* WIKI 13/10 (4.ª): nada redondeado. Etiquetas, contadores, notas, filtros y chips en bloque, como en el juego. */
.wk-tag, .wk-type, .wk-yn, .wk-count, .wk-note, .wk-filter, .wk-more, .wk-chip, .nm-prose .wk-chip { border-radius: 2px; }
.wk-tag, .wk-type, .wk-yn, .wk-count, .wk-note { box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .14), inset -1px -1px 0 rgba(0, 0, 0, .3); }
.wk-filter { font-family: var(--nm-font-mc); box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .10), inset -2px -2px 0 rgba(0, 0, 0, .4); }
.wk-count, .wk-note { font-family: var(--nm-font-mc); font-weight: 400; }
/* Cuadrícula sencilla: solo casilla y nombre */
.wk-tiles { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.wk-tile { padding: 6px 8px; }
.wk-tile-head { gap: 10px; }
.wk-tile .wk-tag { display: none; }
@media (max-width: 520px) { .wk-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.wk-tile.wk-tile-head { flex-direction: row; align-items: center; }
/* Artículos generados (Pociones, Alimentos, Crafteos) */
.wk-special .nm-guide-hidden { margin: 0 0 12px; }
.wk-plus { color: var(--nm-muted); font-family: var(--nm-font-mc); }
.nm-prose .wk-table td.wk-td-left { text-align: left; }
.nm-prose .wk-table td.wk-td-left .wk-chip { margin: 0; }
.nm-prose .wk-table td.wk-td-text { max-width: 280px; color: var(--nm-text-2); font-size: .86rem; text-align: left; }
.wk-recipe-inline { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; margin: 2px; }
.wk-recipe-inline small { color: var(--nm-muted); font-size: .72rem; }
.wk-num { display: inline-flex; align-items: center; gap: 6px; font-family: var(--nm-font-mc); }
.wk-tools-in { margin: 12px 0 0; }
.wk-fold > summary { display: flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; margin: 0; }
.wk-fold > summary::-webkit-details-marker { display: none; }
.wk-fold > summary::before { content: "\F285"; font-family: "bootstrap-icons"; font-size: .9rem; color: var(--nm-muted); transition: transform .15s ease; }
.wk-fold[open] > summary::before { transform: rotate(90deg); }
.wk-fold[open] > summary { margin-bottom: 12px; }
.wk-fold[hidden] { display: none; }
.wk-craftrows { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 6px; }
.wk-craftrow { display: flex; align-items: center; gap: 8px; padding: 5px; background: rgba(0, 0, 0, .22); border-radius: 3px; }
.wk-craftrow[hidden] { display: none; }
.wk-craftrow .wk-slots { gap: 3px; }
.wk-craftrow-title { min-width: 110px; font-family: var(--nm-font-mc); font-size: .9rem; text-shadow: 1px 1px 0 #2a2a2a; }
@media (max-width: 520px) { .wk-craftrows { grid-template-columns: minmax(0, 1fr); } }
.wk-tag.is-nomadas { height: 16px; padding: 0 5px; background: #e8673c; color: #fff; font-size: .66rem; vertical-align: middle; }
.nm-prose .wk-table td.wk-td-text { min-width: 220px; }

/* Imagen del bioma o la estructura (minecraft.wiki), arriba de la ficha */
.nm-prose .wk-photo { position: relative; margin: -14px -16px 14px; border-bottom: 2px solid #0b0f17; background: #0b0f17; }
.nm-prose .wk-photo img { display: block; width: 100%; height: clamp(180px, 32vw, 340px); object-fit: cover; margin: 0; border-radius: 2px 2px 0 0; image-rendering: auto; }
.nm-prose .wk-photo.is-render { background: radial-gradient(ellipse at center, #2b3446 0%, #141a25 75%); }
.nm-prose .wk-photo.is-render img { object-fit: contain; padding: 10px; }
.nm-prose .wk-photo figcaption { position: absolute; right: 8px; bottom: 6px; padding: 1px 7px; background: rgba(0, 0, 0, .6); color: #ddd; font-size: .7rem; border-radius: 2px; }
.nm-prose .wk-photo figcaption a { color: #fff; }
.wk-steps { display: inline-flex; align-items: center; gap: 4px; margin: 2px 6px; }
.wk-steps .wk-plus { margin: 0 1px; }
/* Sierra: subcategorías desplegables (tipo de madera, piedra o fase del cobre) */
.wk-sub { margin: 0 0 6px; padding: 6px 8px; background: rgba(0, 0, 0, .18); border-radius: 3px; }
.wk-sub > summary { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; font-family: var(--nm-font-mc); font-size: .95rem; color: #f2f2f2; text-shadow: 1px 1px 0 #2a2a2a; }
.wk-sub > summary::-webkit-details-marker { display: none; }
.wk-sub > summary::before { content: "\F285"; font-family: "bootstrap-icons"; font-size: .8rem; color: var(--nm-muted); transition: transform .15s ease; }
.wk-sub[open] > summary::before { transform: rotate(90deg); }
.wk-sub[open] > summary { margin-bottom: 8px; }
.wk-sub[hidden], .wk-panel[hidden] { display: none; }
.wk-panel-title .wk-slot-xs { vertical-align: middle; margin-right: 4px; }
.nm-prose .wk-panel-title { display: flex; align-items: center; gap: 6px; }
/* Plantillas: materiales con su paleta de colores */
.wk-materials { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; }
.wk-material { display: flex; align-items: center; gap: 10px; padding: 5px; background: rgba(0, 0, 0, .22); border-radius: 3px; }
.wk-material-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.wk-material-text b { font-family: var(--nm-font-mc); font-weight: 400; text-shadow: 1px 1px 0 #2a2a2a; }
.nm-prose .wk-palette { width: 128px; height: 12px; margin: 0; border-radius: 0; image-rendering: pixelated; box-shadow: 0 0 0 2px #0b0f17; }
.wk-panel .nm-armor { margin: 0; background: none; border: 0; box-shadow: none; padding: 0; backdrop-filter: none; }
.wk-panel .nm-armor::before { display: none; }

/* Pestañas de la wiki (13/10, 5.ª): como las del inventario creativo. La activa se funde con el panel. */
.wk-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 12px; }
.wk-tab { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 12px 0 6px; border: 2px solid #0b0f17; border-radius: 3px 3px 0 0; background: #121824; color: #b9b9b9; font-family: var(--nm-font-mc); font-size: .9rem; text-shadow: 1px 1px 0 #2a2a2a; cursor: pointer; box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .06), inset -2px 0 0 rgba(0, 0, 0, .4); }
.wk-tab:not(:has(.nm-slot)) { padding-left: 12px; }
.wk-tab:hover { color: #fff; }
.wk-tab.is-active { background: #1b2230; color: #fff; border-color: var(--nm-accent) var(--nm-accent) #1b2230; box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .12); }
.wk-tools .wk-tabs { flex: 1 1 100%; margin: 0; }
.wk-tabset > .wk-tabs { margin: -4px 0 14px; padding-bottom: 0; border-bottom: 2px solid var(--nm-accent); }
.wk-tabset > .wk-tabs .wk-tab.is-active { margin-bottom: -2px; }
.wk-pane.is-off { display: none; }
.wk-tabset.is-searching .wk-pane.is-off { display: block; }
.wk-tabset.is-searching > .wk-tabs { opacity: .5; }
.wk-pane[hidden] { display: none !important; }

/* Artículos en formato ficha */
.nm-prose .wk-article > :first-child { margin-top: 0; }
.nm-prose .wk-article > :last-child { margin-bottom: 0; }
.nm-prose .wk-article img { image-rendering: pixelated; }
.nm-prose .wk-article .nm-details { margin: 0 0 8px; padding: 8px 12px; background: rgba(0, 0, 0, .22); border: 0; border-radius: 3px; }
.nm-prose .wk-article .nm-details summary { font-family: var(--nm-font-mc); font-size: 1.05rem; text-shadow: 1px 1px 0 #2a2a2a; }
.nm-prose .wk-article .nm-details p { margin: 6px 0 0; }

/* Portada por secciones y formato «única» (13/10, 6.ª) */
.wk-home { max-width: 1100px; margin: 0 auto 26px; }
.nm-prose .wk-home-title, .wk-home-title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0 0 6px; border: 0; border-bottom: 2px solid var(--nm-accent); color: #f2f2f2; font-family: var(--nm-font-mc); font-size: 1.3rem; font-weight: 400; letter-spacing: .02em; text-shadow: 2px 2px 0 #2a2a2a; }
.wk-home-title a { color: inherit; text-decoration: none; }
.wk-home-title a:hover { color: var(--nm-accent); }
.wk-home-title .wk-hidden { font-size: .9rem; color: var(--nm-muted); }
.wk-home-mini { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.wk-index { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.wk-index a { display: flex; align-items: center; gap: 8px; padding: 4px 8px 4px 4px; background: rgba(0, 0, 0, .22); border: 2px solid #0b0f17; border-radius: 2px; color: #e8e8e8; font-family: var(--nm-font-mc); text-decoration: none; text-shadow: 1px 1px 0 #2a2a2a; }
.wk-index a:hover { border-color: var(--nm-accent); color: #fff; }
.wk-single { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); align-items: start; gap: 0 16px; }
.wk-mech { scroll-margin-top: 90px; position: relative; }
.wk-mech:target { border-color: var(--nm-accent); }
.wk-mech-head { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; }
.nm-prose .wk-mech-head .wk-panel-title { margin: 0; }
.wk-mech-head .wk-hidden { margin-left: auto; color: var(--nm-muted); }
.nm-prose .wk-mech .wk-article h4 { margin: 12px 0 6px; color: #c6c6c6; font-family: var(--nm-font-mc); font-size: 1rem; font-weight: 400; text-shadow: 1px 1px 0 #2a2a2a; }
body .wk-home > h2.wk-home-title { font-family: var(--nm-font-mc); font-weight: 400; text-transform: none; letter-spacing: .02em; }

/* Marco de la wiki (13/10, 7.ª): estilo de la web por fuera (menú lateral, cajas, títulos);
   los paneles .wk-* de dentro siguen con el estilo Minecraft. Sustituye a la portada por secciones. */
.wk-layout { max-width: 1240px; margin: 0 auto; grid-template-columns: 250px minmax(0, 1fr); }
.wk-col { min-width: 0; }
.wk-col > .nm-wiki-crumbs { margin: 0 0 12px; }
.wk-nav { max-height: calc(100vh - 40px); overflow-y: auto; scrollbar-width: thin; }
.wk-nav-search { max-width: none; margin: 0; }
.wk-nav-search .nm-input { height: 40px; font-size: .92rem; }
.wk-nav-box > summary { display: none; }
.wk-nav .nm-list a { padding: 7px 12px; font-size: .92rem; }
.wk-nav .nm-wiki-side-group { display: flex; align-items: center; gap: 6px; }
.wk-nav .nm-wiki-side-group a { display: inline; padding: 0; border: 0; color: inherit; background: none; font-weight: inherit; }
.wk-nav .nm-wiki-side-group a:hover { color: var(--nm-fg); background: none; }
.wk-nav .nm-list a.active .nm-guide-ico.mc-icon { filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, .4)); }
@media (max-width: 860px) {
    .wk-layout { grid-template-columns: minmax(0, 1fr); }
    .wk-nav { max-height: none; overflow: visible; }
    .wk-nav-box > summary { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); color: var(--nm-fg); font-weight: 600; cursor: pointer; list-style: none; }
    .wk-nav-box > summary::-webkit-details-marker { display: none; }
    .wk-nav-box[open] > summary { margin-bottom: 8px; }
}
/* Títulos de sección: los de la web (no Minecraft). */
.wk-home { max-width: none; margin: 0 0 24px; }
.nm-prose .wk-home-title, .wk-home-title, body .wk-home > h2.wk-home-title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0; border: 0; color: var(--nm-accent); font-family: var(--nm-font-heading); font-size: 1rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-shadow: none; }
.wk-home-title .wk-count { font-family: inherit; }
.nm-prose .wk-home-title:not(:first-child) { margin-top: 22px; }
.wk-home-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.wk-home-card { position: relative; display: flex; align-items: center; gap: 14px; padding: 12px 14px; color: var(--nm-fg); transition: transform .15s ease, border-color .15s ease; }
.wk-home-card:hover { transform: translateY(-2px); color: var(--nm-fg); }
.wk-home-card strong { display: block; font-size: 1.02rem; }
.wk-home-card small { display: block; margin-top: 2px; color: var(--nm-muted); font-size: .82rem; line-height: 1.35; }
.wk-home-card .wk-hidden { position: absolute; top: 8px; right: 10px; color: var(--nm-muted); }
.wk-jump { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 18px; font-size: .9rem; }
.wk-jump a { color: var(--nm-text-2); }
.wk-jump a:hover { color: var(--nm-accent); }
.wk-group { scroll-margin-top: 20px; }
.wk-col .wk-tools { max-width: none; margin: 0 0 12px; }
.wk-col .wk-tiles { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.wk-col .nm-wiki-article { max-width: none; }
.wk-layout .nm-prose .wk-panel-title { color: #f2f2f2; }

/* WIKI 13/10 (8.ª): estilo de la web para las cajas; Minecraft solo en casillas de objetos (.nm-slot,
   chips, Sí/No), crafteos (.wk-recipe) y títulos de las fichas (.wk-name, .wk-panel-title). */
.wk-plain { padding: 0; }
.wk-panel {
    position: relative; margin: 0 0 18px; padding: 18px 20px 20px;
    background: color-mix(in srgb, var(--nm-surface) var(--nm-glass-alpha), transparent);
    backdrop-filter: blur(var(--nm-glass-blur)) saturate(1.2); -webkit-backdrop-filter: blur(var(--nm-glass-blur)) saturate(1.2);
    border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
}
.wk-panel::before { content: ""; position: absolute; top: -1px; left: var(--nm-radius); right: var(--nm-radius); height: 2px; background: linear-gradient(90deg, transparent, var(--nm-accent) 20%, var(--nm-accent) 80%, transparent); opacity: .85; pointer-events: none; }
.wk-layout .nm-prose .wk-panel-title, .nm-prose .wk-panel-title { color: #f2f2f2; }
.nm-prose .wk-statgrid li, .nm-prose .wk-recipe, .wk-stats li { border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 60%, transparent); }
.wk-fact { border-top-color: var(--nm-hairline); }
.nm-prose .wk-fact dt { font-family: inherit; font-size: .88rem; font-weight: 600; text-shadow: none; color: var(--nm-text-2); }
/* Tarjetas de la cuadrícula: caja de la web, casilla Minecraft dentro. */
.wk-tile { background: color-mix(in srgb, var(--nm-surface) var(--nm-glass-alpha), transparent); border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); box-shadow: none; }
.wk-tile:hover { border-color: color-mix(in srgb, var(--nm-accent) 60%, transparent); }
.wk-tile-name { font-family: inherit; font-weight: 600; text-shadow: none; font-size: .9rem; }
/* Desplegables (Rangos, Crafteos): los de la web. */
.nm-prose .wk-article .nm-details, .wk-fold.wk-sub { padding: 10px 14px; background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); }
.nm-prose .wk-article .nm-details summary { font-family: inherit; font-size: 1rem; font-weight: 700; text-shadow: none; }
.wk-mech-head .nm-slot { flex: 0 0 auto; }
.wk-single { gap: 0 18px; }
/* Barra única: ruta + buscador */
.wk-bar { display: flex; align-items: center; gap: 16px; max-width: 1240px; margin: 0 auto 22px; padding: 8px 8px 8px 18px; }
.wk-bar-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; min-width: 0; flex: 1 1 auto; color: var(--nm-muted); font-size: .92rem; }
.wk-bar-crumbs a { color: var(--nm-text-2); }
.wk-bar-crumbs a:hover { color: var(--nm-accent); }
.wk-bar-crumbs [aria-current] { color: var(--nm-fg); font-weight: 600; }
.wk-bar-crumbs .bi { color: var(--nm-accent); }
.wk-bar-search { position: relative; flex: 0 1 340px; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-bg, #0b1120) 55%, transparent); transition: border-color .15s ease; }
.wk-bar-search:focus-within { border-color: color-mix(in srgb, var(--nm-accent) 70%, transparent); }
.wk-bar-search .bi-search { color: var(--nm-muted); }
.wk-bar-search input { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: none; color: var(--nm-fg); font-size: .95rem; }
.wk-bar-search .nm-wiki-results { left: -1px; right: -1px; }
@media (max-width: 700px) {
    .wk-bar { flex-direction: column; align-items: stretch; gap: 8px; padding: 10px; }
    .wk-bar-search { flex-basis: auto; }
}
.wk-home-grid { max-width: none; justify-content: start; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 16px; margin: 0; }
.wk-home-grid .nm-wiki-cat { padding: 20px 14px; }
.wk-home-grid .nm-wiki-cat-icon { width: 104px; height: 104px; }
.wk-home-grid .nm-wiki-cat-icon .mc-icon { width: 72px; height: 72px; }
.wk-home-grid .nm-wiki-cat h2 { margin: 0; }
.wk-home-grid .wk-hidden { position: absolute; top: 10px; right: 12px; color: var(--nm-muted); }

/* WIKI 13/10 (9.ª): una sola caja (.wk-shell) con la barra, el menú y el contenido; dentro, cajas planas. */
.wk-shell { max-width: none; margin: 0 auto; padding: 0; }
.wk-shell > .wk-bar { max-width: none; margin: 0; padding: 10px 12px 10px 22px; border: 0; border-bottom: 1px solid var(--nm-hairline); border-radius: var(--nm-radius) var(--nm-radius) 0 0; background: none; box-shadow: none; backdrop-filter: none; }
.wk-shell > .wk-bar::before { display: none; }
.wk-shell > .wk-layout { padding: 20px 22px 24px; max-width: none; }
.wk-shell .nm-guide-side { top: 14px; }
.wk-shell .wk-panel, .wk-shell .wk-home-card, .wk-shell .nm-wiki-cat { background: color-mix(in srgb, var(--nm-surface-2) 50%, transparent); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.wk-shell .wk-panel::before, .wk-shell .wk-home-card::before, .wk-shell .nm-wiki-cat::before { display: none; }
.wk-shell .wk-tile { background: color-mix(in srgb, var(--nm-surface-2) 50%, transparent); }
.wk-bar-search input::placeholder { color: var(--nm-muted); opacity: 1; }
@media (max-width: 700px) {
    .wk-shell > .wk-bar { padding: 10px; }
    .wk-shell > .wk-layout { padding: 12px; }
}

/* WIKI 15/10 · Tintes y Cabezas: receta 3×3 al lado de su explicación; filas de colores a lo ancho. */
.wk-howto { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.wk-howto > .wk-recipe { flex: 0 0 auto; }
.wk-howto-text { flex: 1 1 260px; min-width: 0; }
.nm-prose .wk-howto-text p { margin: 0 0 8px; }
.nm-prose .wk-howto-list { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.nm-prose .wk-howto-list .wk-label { margin: 0 6px 0 0; }
.wk-dyerows { grid-template-columns: minmax(0, 1fr); }
.wk-dyerows .wk-craftrow { flex-wrap: wrap; }
.wk-dyerows .wk-craftrow-title { min-width: 190px; }
.wk-dyerows .wk-slots { flex-wrap: wrap; }
.wk-dye-wash { margin-left: auto; padding-left: 10px; border-left: 1px solid rgba(255, 255, 255, .1); }
.wk-dye { align-items: flex-start; }
.wk-dye-ways { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
.wk-tiers { display: grid; gap: 6px; }
.wk-tier { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px; align-items: start; padding: 6px; background: rgba(0, 0, 0, .22); border-radius: 3px; }
.wk-tier-head { display: flex; flex-direction: column; gap: 2px; }
.wk-tier-head strong { font-family: var(--nm-font-mc); font-weight: 400; text-shadow: 1px 1px 0 #2a2a2a; }
.wk-tier-head small { color: var(--nm-muted); font-size: .78rem; }
.wk-tier .wk-slots { flex-wrap: wrap; gap: 3px; }
@media (max-width: 560px) {
    .wk-tier { grid-template-columns: minmax(0, 1fr); }
    .wk-dye-wash { margin-left: 0; padding-left: 0; border-left: 0; }
}

/* WIKI 15/10 (2.ª) ------------------------------------------------------------------------------ */
/* Pestañas (filtros de sección): estilo de la web, como las del generador. */
.wk-tabs, .wk-tabset > .wk-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--nm-hairline); }
.wk-tab, .wk-tab:not(:has(.nm-slot)) { display: inline-flex; align-items: center; gap: 7px; height: 34px; margin: 0; padding: 0 12px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 60%, transparent); color: var(--nm-text-2, var(--nm-muted)); font-family: var(--nm-font-heading); font-size: .8rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; text-shadow: none; box-shadow: none; cursor: pointer; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.wk-tab:hover { color: var(--nm-fg); border-color: color-mix(in srgb, var(--nm-accent) 55%, transparent); }
.wk-tab.is-active, .wk-tabset > .wk-tabs .wk-tab.is-active { margin: 0; background: var(--nm-accent); border-color: var(--nm-accent); color: #fff; box-shadow: none; }
.wk-tab-ico { display: inline-flex; }
.wk-tab-ico .mc-icon, .wk-tab-ico img { width: 18px; height: 18px; image-rendering: pixelated; }
.wk-tab-count { padding: 1px 6px; border-radius: 999px; background: rgba(0, 0, 0, .25); font-size: .72rem; letter-spacing: 0; }
.wk-tab.is-active .wk-tab-count { background: rgba(0, 0, 0, .2); }
.wk-pane.is-off, [data-wk-pane].is-off { display: none; }
.wk-pane-text { margin: 0 0 12px; }

/* Títulos de bloque con aire debajo (no pegados a los botones/casillas). */
.nm-prose .wk-home-title, .wk-home-title, body .wk-home > h2.wk-home-title { margin-bottom: 16px; }
.wk-group > .wk-home-title { margin: 0 0 16px; }
.wk-group + .wk-group > .wk-home-title { margin-top: 8px; }
.nm-prose .wk-panel-title, .wk-panel-title { margin-bottom: 16px; }

/* Formato «única» (Criaturas, Ajustes): cajas a todo el ancho, una debajo de otra. */
.wk-single { grid-template-columns: minmax(0, 1fr); }

/* Ruta: fichas con icono. */
.wk-bar-crumbs { gap: 6px; font-size: .9rem; }
.wk-crumb { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border: 1px solid var(--nm-hairline); border-radius: 999px; background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); color: var(--nm-text-2, var(--nm-muted)); text-decoration: none; transition: border-color .15s ease, color .15s ease; }
.wk-crumb .bi { color: var(--nm-accent); font-size: .95rem; }
a.wk-crumb:hover { color: var(--nm-fg); border-color: color-mix(in srgb, var(--nm-accent) 60%, transparent); }
.wk-crumb.is-current { border-color: color-mix(in srgb, var(--nm-accent) 55%, transparent); background: color-mix(in srgb, var(--nm-accent) 14%, transparent); color: var(--nm-fg); font-weight: 600; }
.wk-crumb .wk-crumb-ico, .wk-crumb .mc-icon { width: 18px; height: 18px; image-rendering: pixelated; }
.wk-crumb i.wk-crumb-ico { width: auto; height: auto; }
.wk-crumb-sep { color: var(--nm-muted); font-size: .7rem; opacity: .7; }

/* Buscador: icono en la barra y ventana en el centro. */
.wk-bar-find { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); color: var(--nm-fg); font-size: 1.05rem; cursor: pointer; transition: border-color .15s ease, color .15s ease; }
.wk-bar-find:hover { border-color: var(--nm-accent); color: var(--nm-accent); }
@media (max-width: 700px) { .wk-shell > .wk-bar { flex-direction: row; align-items: center; } }
.wk-find { width: min(620px, calc(100% - 32px)); max-height: min(560px, calc(100vh - 64px)); margin: auto; padding: 14px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: var(--nm-surface); color: var(--nm-fg); box-shadow: 0 24px 60px rgba(0, 0, 0, .6); overflow: hidden; }
.wk-find[open] { display: flex; flex-direction: column; gap: 10px; }
.wk-find::backdrop { background: rgba(4, 8, 14, .65); backdrop-filter: blur(3px); }
.wk-find-box { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 6px 0 14px; border: 1px solid color-mix(in srgb, var(--nm-accent) 60%, transparent); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-bg) 60%, transparent); }
.wk-find-box > .bi-search { color: var(--nm-accent); }
.wk-find-box input { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: none; color: var(--nm-fg); font-size: 1.05rem; }
.wk-find-box input::placeholder { color: var(--nm-muted); opacity: 1; }
.wk-find-close { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 0; border-radius: var(--nm-radius-sm); background: none; color: var(--nm-muted); cursor: pointer; }
.wk-find-close:hover { color: var(--nm-fg); background: var(--nm-hover); }
.wk-find .wk-find-results { position: static; max-height: none; flex: 1 1 auto; overflow-y: auto; padding: 0; border: 0; background: none; box-shadow: none; }
.wk-find-hint { margin: 0; padding: 4px 4px 2px; color: var(--nm-muted); font-size: .85rem; }

/* Generador de armaduras: sin brillo detrás de la skin, títulos pequeños y columnas a la misma altura. */
.nm-armor { grid-template-columns: 230px minmax(0, 1fr); gap: 20px; align-items: stretch; }
.nm-armor-view { gap: 10px; }
.nm-armor-view canvas { width: 230px; height: 300px; background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); border: 1px solid var(--nm-hairline); }
.nm-armor-skin { max-width: 230px; }
.nm-armor-panel { gap: 8px; }
.nm-armor-title { margin: 6px 0 0; padding: 0; border: 0; color: var(--nm-muted); font-family: var(--nm-font-heading); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-shadow: none; }
.nm-armor-grid { gap: 5px; padding: 8px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 40%, transparent); }
.nm-armor-opt, .nm-armor-color { width: 40px; height: 40px; }
.nm-armor-opt img { width: 28px; height: 28px; }
.nm-armor-actions { margin-top: auto; padding-top: 6px; justify-content: flex-end; }
@media (max-width: 860px) { .nm-armor { grid-template-columns: minmax(0, 1fr); } .nm-armor-view canvas { width: 100%; max-width: 230px; } }

/* Plantillas: las dos recetas (herrería y duplicado) una al lado de otra. */
.wk-howtos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 14px 22px; margin-top: 14px; }
.nm-prose .nm-armor-title, .nm-armor-title { margin: 6px 0 0; padding: 0; border: 0; color: var(--nm-muted); font-family: var(--nm-font-heading); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-shadow: none; }
.wk-howtos .wk-howto { flex-direction: column; align-items: flex-start; gap: 10px; }
.wk-howtos .wk-howto-text { flex: 0 0 auto; }

/* 16/10: modificadores de pociones en columna; estación de la receta con su icono. */
.nm-prose .wk-fact dd.wk-dd-col { flex-direction: column; align-items: flex-start; }
.wk-recipe figcaption { display: flex; align-items: center; gap: 6px; }
.wk-recipe figcaption .mc-icon { width: 18px; height: 18px; image-rendering: pixelated; }

/* 16/10: portada de la wiki con todas las tarjetas iguales (icono · nombre · una línea). */
.wk-home-cards { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.wk-home-card-text { min-width: 0; flex: 1 1 auto; }
.wk-home-card:has(.wk-hidden) .wk-home-card-text { padding-right: 14px; }
/* Sin «…»: las descripciones se escriben cortas para que quepan en una línea. */

/* 16/10: aire entre la receta de ejemplo y las filas desglosadas; llama del horno del juego. */
.wk-howtos + .wk-craftrows { margin-top: 16px; }
.wk-recipe-fire { width: 28px; height: 28px; image-rendering: pixelated; }

/* 16/10: Esquemas — cuadrícula con vista previa, ficha con imagen grande y materiales. */
.wk-schems { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin: 0 0 18px; }
.wk-schem { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 50%, transparent); color: var(--nm-fg); text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.wk-schem:hover { transform: translateY(-2px); border-color: var(--nm-accent); color: var(--nm-fg); }
.wk-schem-img { display: block; aspect-ratio: 3 / 2; background: #141a24; }
.wk-schem-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wk-schem-text { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; min-width: 0; }
.wk-schem-text strong, .wk-schem-text small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wk-schem-text small { color: var(--nm-muted); font-size: .8rem; }
.wk-schem .wk-hidden { position: absolute; top: 8px; right: 10px; color: var(--nm-muted); }
.wk-schem-preview { display: block; width: 100%; height: auto; margin: 0 0 14px; border-radius: var(--nm-radius-sm); background: #141a24; }
.wk-head .wk-schem-download { margin-left: auto; align-self: center; width: auto; }
.nm-prose .wk-schem-materials { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 16px; margin: 0; padding: 0; list-style: none; }
.nm-prose .wk-schem-materials li { display: flex; align-items: center; gap: 10px; margin: 0; min-width: 0; }
.wk-schem-mat-name { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wk-schem-prod { display: inline-flex; align-items: center; gap: 8px; }
.wk-schem-prod b { color: var(--nm-accent); }
/* 16/10: negativos de la wiki: la barrera sola en su casilla (el texto, al pasar el ratón). */
.wk-nada { cursor: help; }
/* 16/10: el texto de cada mejora en su propia línea, con negritas y comandos en línea (antes se partían). */
.nm-donate-perks .nm-perk-text { display: block; }
.nm-donate-perks .nm-perk-text code { padding: 0 4px; border-radius: 4px; background: color-mix(in srgb, var(--nm-fg) 8%, transparent); }
/* 16/10: el texto de la wiki al mismo tamaño que sus botones y casillas (.9rem), no más grande. */
.wk-col .nm-prose { font-size: .9rem; line-height: 1.6; }
.wk-col .nm-prose .wk-panel-title { font-size: 1.05rem; }
.nm-prose .wk-sub-title { margin: 22px 0 10px; color: var(--nm-fg); font-size: 1rem; }
/* 16/10: títulos iguales en toda la wiki: el icono de la cabecera a la mitad (altura parecida al título). */
.wk-card .wk-head { align-items: center; }
.wk-card .wk-head .wk-slot-xl { width: 44px; height: 44px; }
.wk-card .wk-head .wk-slot-xl .wk-ico, .wk-card .wk-head .wk-slot-xl .mc-icon { width: 30px; height: 30px; }
.wk-card .wk-head .wk-slot-xl i { font-size: 22px; }
/* Pestañas separadas de lo que tienen encima. */
.wk-tabset { margin-top: 18px; }
/* 16/10 (noche): menú lateral con SECCIONES desplegables (Nómadas, Recetas, Utilidades, Minecraft). */
.wk-nav-section > summary { display: flex; align-items: center; list-style: none; cursor: pointer; user-select: none; }
.wk-nav-section > summary::-webkit-details-marker { display: none; }
.wk-nav-section > summary .wk-nav-chevron { margin-left: auto; padding: 0 4px; font-size: .7rem; color: var(--nm-muted); transition: transform .15s ease; }
.wk-nav-section:not([open]) > summary .wk-nav-chevron { transform: rotate(-90deg); }
.wk-nav-section > .nm-list { margin: 0; }
.wk-nav-section > summary.nm-wiki-side-group { padding: 10px 14px 6px; border-top: 1px solid var(--nm-hairline); color: var(--nm-accent); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.wk-nav-box > .wk-nav-section:first-of-type > summary { border-top: 0; }
.wk-nav-section > summary:hover { color: var(--nm-accent-2, var(--nm-accent)); }
/* 16/10: un único marco para todo el menú lateral; cada sección es una fila (título) y sus entradas, sin bordes propios. */
.wk-nav-frame { overflow: hidden auto; max-height: calc(100dvh - 160px); border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); }
.wk-nav-frame .nm-list { max-height: none; overflow: visible; border: 0; border-radius: 0; background: none; }
.wk-nav-frame .wk-nav-section + .wk-nav-section > summary { border-top: 1px solid var(--nm-hairline); }
.wk-nav-frame .wk-nav-section:first-child > summary { border-top: 0; }
.wk-nav-frame .wk-nav-section[open] > .nm-list li:first-child a { border-top: 1px solid var(--nm-hairline); }
/* 16/10 (noche): párrafo de Modificadores/Esquemas dentro de la cabecera, debajo del título. */
.wk-card .wk-card-text { margin-top: 12px; }
.wk-card .wk-card-text > :last-child { margin-bottom: 0; }
/* 16/10 (noche): recetas 3×3 que pasan por variantes (tintes) y rejilla de recetas de mesa. */
.wk-cycle { display: block; }
.wk-cycle > .wk-cycle-frame:not(.is-on) { display: none; }
.wk-cycle > .wk-cycle-frame { display: block; }
.wk-howtos.wk-grid3 { display: flex; flex-wrap: wrap; gap: 12px; }
.wk-craftrow .wk-slots > .wk-recipe-fire { margin: 0 6px; }
/* 16/10 (noche, 2.ª): icono de la cabecera a la altura de título + frase. */
.wk-card .wk-head .wk-slot-xl { width: 62px; height: 62px; flex: 0 0 62px; }
.wk-card .wk-head .wk-slot-xl .wk-ico, .wk-card .wk-head .wk-slot-xl .mc-icon { width: 42px; height: 42px; }
.wk-card .wk-head .wk-slot-xl i { font-size: 30px; }
.nm-prose .wk-card .wk-head .wk-summary { margin: 2px 0 0; }
.nm-prose .wk-card .wk-head .wk-name { margin: 0; line-height: 1.15; }
.nm-prose .wk-card .wk-head .wk-head-text { display: flex; flex-direction: column; justify-content: center; min-height: 62px; }
.wk-card .wk-head:last-child { margin-bottom: 0; }

/* 17/10: en las cabeceras de la wiki, título arriba y descripción debajo separados por una línea. */
.nm-prose .wk-card .wk-head .wk-summary { margin: 6px 0 0; padding-top: 6px; border-top: 1px solid var(--nm-line); }

/* 17/10: Utilidades › Portales, Estandartes y Paleta (herramientas en el navegador). */
.wk-portal { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px; align-items: center; }
.wk-portal-side { display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 40%, transparent); }
.nm-prose .wk-portal-dim { display: flex; align-items: center; gap: 8px; margin: 0; font-family: var(--nm-font-mc); color: #f2f2f2; }
.wk-portal-xyz { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.wk-portal-xyz label { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: .75rem; font-weight: 700; color: var(--nm-muted); }
.wk-portal-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
/* Botón al estilo de los paneles de la wiki (relieve de Minecraft); fuera el color y subrayado de los enlaces de .nm-prose. */
.nm-prose a.wk-mcbtn, .wk-mcbtn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px 0 6px; border: 2px solid #0b0f17; border-radius: 3px; background: #2a3344; color: #f2f2f2; font-family: var(--nm-font-mc); font-size: .85rem; text-decoration: none; text-shadow: 1px 1px 0 #2a2a2a; box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .14), inset -2px -2px 0 rgba(0, 0, 0, .45); cursor: pointer; }
.nm-prose a.wk-mcbtn:hover, .wk-mcbtn:hover { background: #34405a; color: #fff; }
.wk-mcbtn .wk-ico { width: 20px; height: 20px; image-rendering: pixelated; }
.wk-portal-xyz input { text-align: center; -moz-appearance: textfield; }
.wk-portal-xyz input::-webkit-outer-spin-button, .wk-portal-xyz input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.wk-portal-arrow { font-size: 1.4rem; color: var(--nm-accent); }
@media (max-width: 640px) { .wk-portal { grid-template-columns: minmax(0, 1fr); } .wk-portal-arrow { justify-self: center; transform: rotate(90deg); } }

.wk-banner { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 20px; align-items: start; }
.wk-banner-view { display: flex; flex-direction: column; align-items: center; gap: 8px; position: sticky; top: 16px; }
.wk-banner-view canvas { width: 160px; height: 320px; image-rendering: pixelated; border: 1px solid var(--nm-hairline); background: color-mix(in srgb, var(--nm-surface-2) 55%, transparent); }
.nm-prose .wk-banner-count { margin: 0; font-size: .8rem; color: var(--nm-muted); }
.wk-banner-panel { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.wk-banner-panel .nm-armor-title small { font-weight: 400; text-transform: none; letter-spacing: 0; }
.wk-banner-opt { position: relative; width: 34px; height: 58px; }
.wk-banner-opt canvas { width: 20px; height: 40px; image-rendering: pixelated; }
.wk-banner-opt:disabled { opacity: .45; cursor: not-allowed; }
.wk-banner-star { position: absolute; top: 2px; right: 2px; font-size: .55rem; color: var(--nm-accent); }
.nm-prose .wk-banner-layers, .nm-prose .wk-banner-steps { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.wk-banner-layers li, .wk-banner-steps li { display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 8px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-surface-2) 40%, transparent); }
.wk-banner-layers li.wk-banner-empty { color: var(--nm-muted); font-size: .85rem; }
.wk-banner-layers button { width: 28px; height: 28px; padding: 0; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: none; color: var(--nm-muted); cursor: pointer; }
.wk-banner-layers button:disabled { opacity: .35; cursor: default; }
.wk-banner-name { flex: 1 1 auto; min-width: 0; font-size: .9rem; }
.wk-banner-station { margin-right: 6px; padding-right: 10px; border-right: 1px solid var(--nm-hairline); }
.wk-banner-steps .bi-arrow-right { margin: 0 4px; color: var(--nm-accent); }
@media (max-width: 720px) { .wk-banner { grid-template-columns: minmax(0, 1fr); } .wk-banner-view { position: static; } }

.wk-palette-form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
.wk-palette-form .form-control { flex: 1 1 180px; min-width: 0; }
.wk-palette-form .bi-arrow-right { color: var(--nm-accent); }
.wk-palette-steps { flex: 0 0 auto; width: auto; }
.wk-palette-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nm-prose a.wk-palette-tile, .wk-palette-tile { display: inline-flex; text-decoration: none; }
.wk-palette-tile:hover .nm-slot { outline: 2px solid color-mix(in srgb, var(--nm-accent) 60%, transparent); outline-offset: 1px; }
.wk-palette-self .wk-palette-tile .nm-slot { outline: 2px solid var(--nm-accent); outline-offset: 1px; }
.wk-palette-self { margin-right: 6px; padding-right: 12px; border-right: 1px solid var(--nm-hairline); }
.wk-palette-sep { color: var(--nm-muted); }
.nm-prose .wk-palette-gap { margin-top: 22px; }
/* 17/10: desplegable de bloques con icono (Paleta). */
.wk-pick { position: relative; flex: 1 1 200px; min-width: 0; }
.wk-pick .form-control { width: 100%; }
.nm-prose .wk-pick-menu { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; right: 0; max-height: 300px; margin: 0; padding: 4px; overflow-y: auto; list-style: none; background: #1b2230; border: 2px solid #0b0f17; border-radius: 4px; box-shadow: inset 2px 2px 0 rgba(255, 255, 255, .10), 0 10px 24px rgba(0, 0, 0, .45); }
.wk-pick-menu li { display: flex; align-items: center; gap: 8px; margin: 0; padding: 3px 6px; border-radius: 3px; font-size: .88rem; cursor: pointer; }
.wk-pick-menu li:hover, .wk-pick-menu li.is-active { background: color-mix(in srgb, var(--nm-accent) 22%, transparent); }
.wk-pick-menu li.is-empty { color: var(--nm-muted); cursor: default; }

/* 17/10: menú lateral de la wiki entero, sin barra propia (como las wikis de juegos). Fijo mientras quepa
   en la pantalla; si no cabe (secciones abiertas), .is-tall lo deja bajar con la página (JS en _nav). */
.wk-nav, .wk-nav-frame, .wk-nav .nm-list { max-height: none; overflow: visible; }
.wk-nav-frame { overflow: clip; }
.nm-guide-side.wk-nav.is-tall { position: static; }

/* 17/10: portada de la wiki — introducción editable y modos por categoría (Bloque, Listado, Solo elementos, Destacada). */
.wk-home-intro { margin: 0 0 22px; padding: 0 0 16px; border-bottom: 1px solid var(--nm-hairline); }
.nm-prose .wk-home-intro-title, .wk-home-intro-title { margin: 0 0 6px; padding: 0; border: 0; color: #fff; font-family: var(--nm-font-mc); font-size: 1.5rem; font-weight: 400; text-shadow: 3px 3px 0 #2a2a2a; }
.nm-prose .wk-home-intro-text, .wk-home-intro-text { margin: 0; max-width: 80ch; color: var(--nm-text-2); }
.wk-home-cards + .wk-home-block, .wk-home-block + .wk-home-block, .wk-home-block + .wk-home-cards, .wk-home-feature + *, * + .wk-home-feature { margin-top: 14px; }
.wk-home-block { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; }
.nm-prose a.wk-home-block-head, .wk-home-block-head { display: flex; align-items: center; gap: 12px; color: var(--nm-fg); text-decoration: none; }
.wk-home-block-head strong { display: block; font-family: var(--nm-font-mc); font-weight: 400; font-size: 1.05rem; color: #fff; }
.wk-home-block-head small { display: block; color: var(--nm-muted); font-size: .85rem; }
.wk-home-block-head:hover strong { color: var(--nm-accent); }
.wk-home-block-head .wk-hidden { margin-left: auto; }
.wk-home-slots { gap: 6px; }
.nm-prose .wk-home-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 4px 14px; margin: 0; padding: 0; list-style: none; }
.wk-home-list li { margin: 0; }
.nm-prose .wk-home-list a { display: flex; align-items: center; gap: 8px; padding: 3px 4px; border-radius: 3px; color: var(--nm-fg); font-size: .9rem; text-decoration: none; }
.nm-prose .wk-home-list a:hover { background: color-mix(in srgb, var(--nm-accent) 14%, transparent); color: #fff; }
.nm-prose a.wk-home-more, .wk-home-more { align-self: flex-start; color: var(--nm-muted); font-size: .82rem; text-decoration: none; }
.wk-home-more:hover { color: var(--nm-accent); }
.nm-prose a.wk-home-feature, .wk-home-feature { position: relative; display: flex; align-items: center; gap: 18px; min-height: 120px; padding: 20px 22px; overflow: hidden; color: var(--nm-fg); text-decoration: none; background-image: linear-gradient(90deg, rgba(10, 14, 22, .92) 35%, rgba(10, 14, 22, .55)), var(--wk-feature, none); background-size: cover; background-position: center; }
.wk-home-feature-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.wk-home-feature-text strong { font-family: var(--nm-font-mc); font-weight: 400; font-size: 1.4rem; color: #fff; text-shadow: 2px 2px 0 #2a2a2a; }
.wk-home-feature-text span { color: var(--nm-text-2); font-size: .92rem; }
.wk-home-feature:hover .wk-mcbtn { background: #34405a; color: #fff; }
.wk-home-feature .wk-hidden { position: absolute; top: 8px; right: 10px; }
@media (max-width: 640px) { .wk-home-feature { flex-wrap: wrap; } }
/* 17/10: modo Bloque por sección: una fila por categoría dentro de la misma caja. */
.wk-home-row { display: flex; flex-direction: column; gap: 8px; padding: 10px 0; border-top: 1px solid var(--nm-hairline); }
.wk-home-row:first-child { padding-top: 0; border-top: 0; }
.wk-home-row:last-child { padding-bottom: 0; }
.wk-home-row .wk-home-slots { gap: 4px; padding-left: 56px; }
.wk-home-slots .wk-home-more { display: inline-flex; align-items: center; padding: 0 6px; }
@media (max-width: 640px) { .wk-home-row .wk-home-slots { padding-left: 0; } }

/* 18/10: Sugerencias en móvil. Filas en rejilla (cara arriba a la izquierda, texto y votos en la misma
   columna, sin la fila suelta de votos a la derecha), «Proponer» más bajo y formulario con «Volver» arriba. */
.nm-sg-form .nm-form-actions .nm-btn { min-width: 9rem; justify-content: center; }
@media (max-width: 560px) {
    .nm-sg-row { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: start; gap: .5rem .75rem; padding: .85rem 1rem; }
    .nm-sg-face { width: 36px; height: 36px; margin-top: .1rem; }
    .nm-sg-votes { grid-column: 2; width: auto; justify-content: flex-start; }
    .nm-sg-vote { min-width: 50px; padding: .25rem .5rem; font-size: .8rem; }
    .nm-sg-desc { font-size: .86rem; }
    .nm-sg-detail .nm-sg-main strong { font-size: 1.05rem; }
    .nm-sg-body { padding: .9rem 1rem 1rem; }
    .nm-sg-answer { margin: 0 1rem 1rem; }
    .nm-sg-new { padding-top: .45rem; padding-bottom: .45rem; }
    .nm-support .nm-support-head { padding: .75rem 1rem; }
    .nm-sg-form { padding: 1rem; }
    .nm-sg-form .nm-form-actions .nm-btn { width: 100%; }
}

/* 18/10: portada durante una temporada de Nómadas Events: niebla suave abajo (color en Seasons::PORTADA). */
.nm-season-fog { position: fixed; inset: auto 0 0 0; height: 45vh; z-index: 0; pointer-events: none;
    background: linear-gradient(to top, color-mix(in srgb, var(--fog) 55%, transparent), transparent);
    animation: nm-fog 9s ease-in-out infinite alternate; }
@keyframes nm-fog { from { opacity: .65; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .nm-season-fog { animation: none; } }

/* 19/10: portada de la wiki tipo portal (es.minecraft.wiki): intro + buscador, Historia y Destacado del día, botones de sección */
.wk-portal-intro { margin: 0 0 22px; text-align: center; }
.wk-portal-intro .wk-home-intro-text { max-width: 680px; margin: 6px auto 0; color: var(--nm-muted); }
.wk-portal-find { display: flex; align-items: center; gap: 12px; width: 100%; margin: 18px 0 0; padding: 12px 16px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-bg) 55%, transparent); color: var(--nm-muted); font: inherit; text-align: left; cursor: text; transition: border-color .15s ease; }
.wk-portal-find:hover { border-color: var(--nm-accent); color: var(--nm-fg); }
.wk-portal-find span { flex: 1; }
.wk-portal-find kbd { padding: 1px 7px; border: 1px solid var(--nm-line); border-radius: 4px; font-size: .75rem; color: var(--nm-muted); background: transparent; }
.wk-portal-duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; margin: 0 0 30px; align-items: stretch; }
.wk-portal-box { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; border: 1px solid var(--nm-line); border-top: 3px solid var(--nm-accent); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 50%, transparent); }
.nm-prose .wk-portal-head, .wk-portal-head { display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin: 0; padding: 0; border: 0; color: var(--nm-accent); font-family: var(--nm-font-heading); font-size: .95rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.wk-portal-history { flex: 1; color: color-mix(in srgb, var(--nm-fg) 88%, transparent); line-height: 1.65; }
.wk-portal-history p { margin: 0 0 .7em; }
.wk-portal-history p:last-child { margin-bottom: 0; }
.wk-portal-more { align-self: flex-end; display: inline-flex; align-items: center; gap: 6px; color: var(--nm-accent); font-weight: 600; font-size: .9rem; text-decoration: none; }
.wk-portal-more:hover { color: var(--nm-accent-2); }
.wk-portal-more.is-muted { color: var(--nm-muted); font-weight: 400; }
.wk-portal-more.is-muted:hover { color: var(--nm-fg); }
.wk-feat-main { display: flex; align-items: center; gap: 14px; color: var(--nm-fg); text-decoration: none; }
.wk-feat-slot { width: 64px; height: 64px; }
.wk-feat-slot .wk-ico, .wk-feat-slot .mc-icon { width: 44px; height: 44px; object-fit: contain; image-rendering: pixelated; }
.wk-feat-title strong { display: block; font-family: var(--nm-font-heading); font-size: 1.25rem; }
.wk-feat-title small { color: var(--nm-muted); font-size: .85rem; }
.wk-feat-main:hover strong { color: var(--nm-accent); }
.wk-feat-text { margin: 0; color: color-mix(in srgb, var(--nm-fg) 88%, transparent); }
.wk-feat-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.wk-feat-facts > div { padding: 6px 10px; border: 1px solid var(--nm-hairline); border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--nm-bg) 40%, transparent); }
.wk-feat-facts dt { color: var(--nm-muted); font-size: .7rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.wk-feat-facts dd { margin: 0; font-weight: 600; }
.wk-feat-related > span { display: block; margin-bottom: 6px; color: var(--nm-muted); font-size: .75rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.wk-feat-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 4px; }
/* 19/10 (2.ª): secciones como botones cuadrados, icono y debajo el nombre, las 5 en una línea */
.wk-portal-buttons { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 700px) { .wk-portal-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .wk-portal-btn { padding: 14px 4px 12px; } .wk-portal-btn .wk-slot-md { width: 52px; height: 52px; } .wk-portal-btn .wk-slot-md .wk-ico, .wk-portal-btn .wk-slot-md .mc-icon { width: 36px; height: 36px; } .wk-portal-btn strong { font-size: .8rem; letter-spacing: 0; } }
.wk-portal-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px 8px 16px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: color-mix(in srgb, var(--nm-surface-2) 50%, transparent); color: var(--nm-fg); text-align: center; text-decoration: none; transition: transform .15s ease, border-color .15s ease, background-color .15s ease; }
.wk-portal-btn:hover { transform: translateY(-2px); border-color: var(--nm-accent); color: var(--nm-fg); background: color-mix(in srgb, var(--nm-accent) 8%, color-mix(in srgb, var(--nm-surface-2) 50%, transparent)); }
.wk-portal-btn .wk-slot-md { width: 64px; height: 64px; }
.wk-portal-btn .wk-slot-md .wk-ico, .wk-portal-btn .wk-slot-md .mc-icon { width: 44px; height: 44px; }
.wk-portal-btn strong { max-width: 100%; font-family: var(--nm-font-heading); font-size: 1rem; letter-spacing: .02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wk-portal-edit { margin-left: auto; color: var(--nm-muted); font-size: .9rem; }
.wk-portal-edit:hover { color: var(--nm-accent); }

/* 19/10 (3.ª): Destacado a la misma altura que Historia, con la ficha centrada en el alto */
.wk-feat-cat { margin-left: auto; padding: 2px 10px; border: 1px solid var(--nm-hairline); border-radius: 999px; color: var(--nm-muted); font-family: var(--nm-font-body, inherit); font-size: .78rem; font-weight: 600; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; }
.wk-feat-cat:hover { border-color: var(--nm-accent); color: var(--nm-accent); }
.wk-feat-center { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.wk-feat-main { display: flex; align-items: center; gap: 16px; }
.wk-feat-slot { width: 72px; height: 72px; }
.wk-feat-slot .wk-ico, .wk-feat-slot .mc-icon { width: 50px; height: 50px; }
.wk-feat-title { min-width: 0; }
.wk-feat-title small { display: block; margin-top: 2px; color: color-mix(in srgb, var(--nm-fg) 80%, transparent); font-size: .9rem; }
@media (max-width: 420px) { .wk-portal-btn strong { font-size: .72rem; } }
.wk-portal-sections > h2.wk-home-title { margin: 0 0 14px; }

/* 22/10: /eventos/{temporada} — reto de la temporada (Nómadas Events 1.7). Calendario de adviento: casillas que se
   destapan el día que toca (las hechas en el juego, abiertas con ✓). --season = color de la temporada. */
.nm-season { max-width: var(--nm-page-width); margin: 0 auto; display: grid; gap: 18px; }
.nm-season-head h1 { margin-bottom: 6px; }
.nm-season-reto { padding: 18px 20px 22px; }
.nm-season-reto-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.nm-season-reto-head h2 { margin: 0 !important; font-size: 1.2rem; display: flex; align-items: center; gap: 8px; }
.nm-season-reto-head h2 i { color: var(--season); }
.nm-season-count { margin-left: auto; padding: 3px 12px; border-radius: 999px; font-weight: 800; background: color-mix(in srgb, var(--season) 22%, transparent); color: var(--nm-fg); }
.nm-season-login { margin-left: auto; font-size: .88rem; color: var(--nm-muted); }
.nm-advent { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.nm-advent-day { position: relative; aspect-ratio: 1 / 1.05; perspective: 700px; }
.nm-advent-door, .nm-advent-inside { position: absolute; inset: 0; border-radius: var(--nm-radius-sm); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.nm-advent-door { z-index: 2; border: 1px solid color-mix(in srgb, var(--season) 55%, transparent); background: linear-gradient(160deg, color-mix(in srgb, var(--season) 38%, var(--nm-surface)), color-mix(in srgb, var(--season) 14%, var(--nm-surface))); color: var(--nm-fg); cursor: pointer; transform-origin: left center; transition: transform .7s cubic-bezier(.3, .7, .3, 1), opacity .7s; font: inherit; padding: 0; }
.nm-advent-door strong { font-family: var(--nm-font-mc-title, var(--nm-font-heading)); font-size: 2rem; line-height: 1; }
.nm-advent-door span { margin-top: 6px; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--nm-muted); }
.nm-advent-door.is-shut { cursor: default; opacity: .45; background: color-mix(in srgb, var(--nm-fg) 5%, transparent); border-color: var(--nm-hairline); }
.nm-advent-day.is-today .nm-advent-door { box-shadow: 0 0 0 2px var(--season), 0 0 18px color-mix(in srgb, var(--season) 45%, transparent); animation: nm-advent-pulse 2.4s ease-in-out infinite; }
@keyframes nm-advent-pulse { 50% { box-shadow: 0 0 0 2px var(--season), 0 0 28px color-mix(in srgb, var(--season) 70%, transparent); } }
.nm-advent-inside { z-index: 1; gap: 4px; padding: 8px; border: 1px solid var(--nm-hairline); background: var(--nm-slot); }
.nm-advent-day.is-open .nm-advent-door { transform: rotateY(-105deg); opacity: 0; pointer-events: none; }
.nm-advent-day.is-open:not(.is-opening) .nm-advent-door { transition: none; }
.nm-advent-item { width: 36px; height: 36px; image-rendering: pixelated; filter: drop-shadow(0 0 6px color-mix(in srgb, #b46cff 55%, transparent)); }
.nm-advent-mission { margin: 0 !important; font-size: .82rem; font-weight: 600; line-height: 1.25; }
.nm-advent-mission small { color: var(--nm-muted); }
.nm-advent-prize { margin: 0 !important; font-family: var(--nm-font-mc); font-size: .76rem; line-height: 1.2; }
.nm-advent-num { position: absolute; top: 5px; left: 8px; font-size: .7rem; font-weight: 800; color: var(--nm-muted); }
.nm-advent-check { position: absolute; top: 5px; right: 7px; color: var(--nm-ok); }
.nm-advent-day.is-lost .nm-advent-inside { opacity: .55; }
.nm-advent-day.is-lost .nm-advent-check { color: var(--nm-muted); }
.nm-advent-day.is-done .nm-advent-inside { border-color: color-mix(in srgb, var(--nm-ok) 55%, transparent); }
.nm-season-recurrent { display: flex; align-items: center; gap: 14px; }
.nm-season-recurrent .nm-advent-mission { font-size: 1rem; }
.nm-season-recurrent .nm-advent-prize { font-size: .9rem; }
.nm-season-dots { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.nm-season-dots li { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 6px; font-size: .78rem; font-weight: 700; background: color-mix(in srgb, var(--nm-fg) 6%, transparent); color: var(--nm-muted); }
.nm-season-dots li.is-on { background: var(--season); color: #0b1322; }
.nm-season-more { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.nm-season-list { padding: 16px 18px; }
.nm-season-list h2 { margin: 0 0 10px !important; font-size: 1.05rem; display: flex; align-items: center; gap: 8px; }
.nm-season-list h2 i { color: var(--season); }
.nm-season-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.nm-season-list li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nm-season-list li img { width: 28px; height: 28px; image-rendering: pixelated; border-radius: 4px; }
.nm-season-list li .nm-muted { margin-left: auto; font-size: .85rem; }
.nm-season-list li.is-past { opacity: .5; }
.nm-season-list li.is-today strong { text-decoration: underline; }
.nm-season-date { min-width: 52px; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--nm-muted); }
@media (max-width: 900px) { .nm-advent { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 560px) { .nm-advent { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .nm-advent-door strong { font-size: 1.6rem; } .nm-advent-mission { font-size: .74rem; } }
@media (prefers-reduced-motion: reduce) { .nm-advent-door { transition: none; } .nm-advent-day.is-today .nm-advent-door { animation: none; } }
/* 22/10: tarjeta de la temporada en curso (o próxima) en /eventos, enlazada a su página. */
.nm-ev-season { display: flex; align-items: center; gap: 14px; max-width: var(--nm-page-width); margin: 0 auto 18px; padding: 14px 20px; color: var(--nm-fg); text-decoration: none; border-left: 4px solid var(--season); }
.nm-ev-season:hover { color: var(--nm-fg); box-shadow: 0 0 0 1px var(--season) inset; }
.nm-ev-season-icon { flex: none; width: 46px; height: 46px; display: grid; place-items: center; border-radius: var(--nm-radius-sm); background: color-mix(in srgb, var(--season) 22%, transparent); color: var(--season); font-size: 1.4rem; }
.nm-ev-season-main { flex: 1 1 auto; display: grid; gap: 2px; min-width: 0; }
.nm-ev-season-main strong { font-family: var(--nm-font-heading); font-size: 1.15rem; }
.nm-ev-season-main > span { color: var(--nm-muted); font-size: .9rem; }
.nm-ev-season > .bi-chevron-right { color: var(--nm-muted); }
.nm-season-icon { color: var(--season); }
