Diferencia entre revisiones de «MediaWiki:Common.css»

De Oroza RO Wiki
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Etiqueta: Revertido
Sin resumen de edición
Etiqueta: Revertido
Línea 1: Línea 1:
/* =========================================================
/* =========================================================
   OROZA WIKI - WEB ALIGNED STYLE
   OROZA WIKI - EXTENSION DE ESTILOS PARA MEDIAWIKI
   Inspirado directamente en la identidad visual de tu web:
   Basado en: OROZA WIKI - PREMIUM FANTASY LIGHT
  - topbar oscura glass
   Cubre: Infoboxes · Drops · Navegacion · Mapas · Skills
   - verde Oroza
          Quests · Clases · Tabs · Badges · Barras de stats
  - dorado legendario
   Compatible con: MediaWiki 1.39+
   - paneles blancos
  - sombras suaves + hovers vivos
   ========================================================= */
   ========================================================= */




/* =========================================================
/* =========================================================
   1) VARIABLES
   VARIABLES (hereda de style.css, extiende lo necesario)
   ========================================================= */
   ========================================================= */
:root {
:root {
     /* Fondos generales */
     /* Rareza de items */
     --oroza-page-bg: #eef2f5;
     --rarity-common:      #6a7a6a;
     --oroza-page-bg-2: #e8edf2;
    --rarity-common-bg:  #f0f4f0;
     --oroza-page-bg-3: #dde5eb;
    --rarity-uncommon:    #2a6a2a;
    --rarity-uncommon-bg: #eef6ee;
    --rarity-rare:        #1a4a9a;
    --rarity-rare-bg:     #eef2fb;
    --rarity-epic:        #7a2a9a;
     --rarity-epic-bg:    #f4eefb;
    --rarity-legendary:   #a07a10;
     --rarity-legendary-bg:#fdf4dc;
    --rarity-mvp:        #9a1a1a;
    --rarity-mvp-bg:     #fbeeed;


     /* Superficies */
     /* Elementos */
     --oroza-surface: #ffffff;
     --elem-neutral: #607060;    --elem-neutral-bg: #f0f2f0;
     --oroza-surface-2: #fbfcfd;
    --elem-water:  #1a5a9a;    --elem-water-bg:  #eaf2fb;
     --oroza-surface-soft: #f6f9fb;
    --elem-earth:  #5a7a2a;    --elem-earth-bg:  #eef5e8;
     --oroza-surface-soft-2: #f1f5f8;
    --elem-fire:    #9a3a1a;    --elem-fire-bg:    #fbeee8;
    --elem-wind:    #2a7a6a;    --elem-wind-bg:    #eaf6f3;
     --elem-poison:  #5a3a7a;    --elem-poison-bg: #f2eefb;
     --elem-holy:    #8a7a1a;    --elem-holy-bg:   #faf6dc;
     --elem-dark:    #2a2a4a;    --elem-dark-bg:    #eeeef5;
    --elem-ghost:  #4a4a5a;    --elem-ghost-bg:  #f0f0f5;
    --elem-undead:  #5a1a1a;    --elem-undead-bg: #f5eeee;


     /* Texto */
     /* Stats de personaje */
     --oroza-text: #1f2a34;
     --stat-hp: #b83232;
     --oroza-text-body: #455564;
     --stat-sp:  #2858a8;
     --oroza-text-soft: #667686;
    --stat-str: #c05820;
     --oroza-text-muted: #8692a0;
     --stat-agi: #208040;
     --oroza-text-white: #ffffff;
    --stat-vit: #804820;
     --stat-int: #6030a0;
    --stat-dex: #207878;
     --stat-luk: #a07010;


     /* Bordes */
     /* Tipos de monstruo */
     --oroza-border: #dfe6ec;
     --race-demi:   #3a5a7a;
     --oroza-border-soft: #e9eef3;
     --race-brute:  #5a3a1a;
     --oroza-border-strong: #cfd8df;
    --race-plant:  #2a5a2a;
    --race-insect: #4a5a1a;
     --race-fish:    #1a4a6a;
    --race-demon:   #4a1a4a;
    --race-angel:  #7a6a1a;
    --race-dragon:  #6a1a1a;
    --race-formless:#3a3a3a;
    --race-undead:  #2a1a1a;
}


    /* Colores marca web */
    --oroza-dark: #121822;
    --oroza-dark-2: #1b2430;
    --oroza-dark-3: #24384b;


     --oroza-green: #b1d235;
/* =========================================================
     --oroza-green-2: #cee188;
  1) INFOBOX UNIVERSAL
     --oroza-green-deep: #8ea829;
  Usada en: Monstruos, Items, NPCs, Skills, Mapas
  ========================================================= */
.oroza-infobox {
    float: right;
    clear: right;
    margin: 0 0 20px 24px;
    width: 280px;
    background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
     border: 1px solid var(--oroza-border);
     border-radius: var(--oroza-radius-md);
     box-shadow: var(--oroza-shadow-sm);
    overflow: hidden;
    font-size: 13.5px;
}


    --oroza-gold: #f2c94c;
.oroza-infobox-title {
     --oroza-gold-2: #ffdf00;
    padding: 12px 14px;
     --oroza-gold-deep: #b88709;
    background: linear-gradient(180deg, #24384b 0%, #182634 100%);
    color: #f6dda0;
     font-size: 15px;
    font-weight: 800;
    text-align: center;
    letter-spacing: .02em;
     border-bottom: 2px solid var(--oroza-gold);
}


     --oroza-blue: #2000d6;
.oroza-infobox-subtitle {
     --oroza-blue-deep: #1b00b3;
    padding: 6px 14px 10px;
    background: linear-gradient(180deg, #24384b 0%, #182634 100%);
    color: rgba(246,221,160,.65);
     font-size: 12px;
    text-align: center;
    margin-top: -4px;
     border-bottom: 2px solid var(--oroza-gold);
}


     /* Estados */
.oroza-infobox-image {
     --oroza-info-bg: #eef6ff;
     display: flex;
     --oroza-info-border: #cadcf0;
     align-items: center;
    justify-content: center;
    padding: 16px;
    background: linear-gradient(180deg, #f8f3e8 0%, #f0e8d6 100%);
     border-bottom: 1px solid var(--oroza-border-soft);
    min-height: 120px;
    position: relative;
}


    --oroza-success-bg: #f1f9ef;
.oroza-infobox-image img {
     --oroza-success-border: #d1e5cc;
    max-width: 100%;
    max-height: 160px;
     object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 3px 8px rgba(24,38,52,.15));
}


    --oroza-warning-bg: #fff9ec;
.oroza-infobox table {
     --oroza-warning-border: #efd89e;
    width: 100%;
    border-collapse: collapse;
     margin: 0;
}


     --oroza-danger-bg: #fff3f3;
.oroza-infobox table tr {
     --oroza-danger-border: #eccaca;
     border-bottom: 1px solid var(--oroza-border-soft);
     transition: background var(--oroza-fast);
}


    /* Sombras */
.oroza-infobox table tr:last-child {
    --oroza-shadow-xs: 0 2px 8px rgba(18,24,34,.04);
     border-bottom: none;
    --oroza-shadow-sm: 0 8px 18px rgba(18,24,34,.06);
}
     --oroza-shadow-md: 0 14px 30px rgba(18,24,34,.08);
    --oroza-shadow-lg: 0 22px 46px rgba(18,24,34,.12);


    /* Radios */
.oroza-infobox table tr:hover {
    --oroza-radius-xs: 8px;
     background: rgba(200,161,74,.06);
    --oroza-radius-sm: 12px;
}
     --oroza-radius-md: 16px;
    --oroza-radius-lg: 22px;
    --oroza-radius-xl: 28px;
    --oroza-radius-pill: 999px;


     /* Tipografia */
.oroza-infobox table th {
     --oroza-font-main: "Segoe UI", Tahoma, Arial, sans-serif;
    padding: 8px 12px;
     --oroza-font-strong: "Montserrat", "Segoe UI", Arial, sans-serif;
    width: 42%;
     background: rgba(248,239,217,.55);
     color: var(--oroza-text);
    font-size: 12.5px;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
     border-right: 1px solid var(--oroza-border-soft);
}


     /* Transiciones */
.oroza-infobox table td {
     --oroza-fast: .18s ease;
     padding: 8px 12px;
     --oroza-mid: .28s ease;
     color: var(--oroza-text-body);
     --oroza-slow: .38s ease;
     font-size: 13px;
     vertical-align: middle;
}
}


.oroza-infobox-section {
    padding: 8px 12px 4px;
    background: linear-gradient(180deg, #f7eed8 0%, #ecd8a6 100%);
    border-top: 1px solid var(--oroza-gold-border);
    border-bottom: 1px solid var(--oroza-gold-border);
    color: var(--oroza-primary);
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}
/* Infobox para monstruos */
.oroza-infobox.monster .oroza-infobox-image {
    background:
        radial-gradient(ellipse at center, rgba(200,161,74,.08) 0%, transparent 70%),
        linear-gradient(180deg, #f8f3e8 0%, #f0e8d6 100%);
}


/* =========================================================
/* Infobox para items */
  2) BASE GLOBAL
.oroza-infobox.item .oroza-infobox-title {
  ========================================================= */
     background: linear-gradient(180deg, #2a3a52 0%, #1c2a3e 100%);
html,
body {
     scroll-behavior: smooth;
}
}


body {
/* Infobox para NPCs */
     background:
.oroza-infobox.npc .oroza-infobox-image {
        radial-gradient(circle at top, rgba(255,255,255,.85) 0%, rgba(255,255,255,0) 28%),
     background: linear-gradient(180deg, #eef5fb 0%, #ddeaf4 100%);
        linear-gradient(180deg, var(--oroza-page-bg) 0%, var(--oroza-page-bg-2) 100%);
    font-family: var(--oroza-font-main);
    color: var(--oroza-text);
    font-size: 16px;
    line-height: 1.75;
}
}


::selection {
/* Responsive infobox */
     background: rgba(177,210,53,.28);
@media screen and (max-width: 640px) {
    color: var(--oroza-dark);
     .oroza-infobox {
        float: none;
        width: 100%;
        margin: 0 0 20px 0;
    }
}
}




/* =========================================================
/* =========================================================
   3) CONTENIDO PRINCIPAL MEDIAWIKI
   2) TABLA DE DROPS
   ========================================================= */
   ========================================================= */
#content {
.oroza-drop-table {
     background: transparent;
     width: 100%;
     max-width: 1280px;
     border-collapse: separate;
     margin: 24px auto;
     border-spacing: 0;
     padding: 0;
     border: 1px solid var(--oroza-border);
     border: none;
     border-radius: var(--oroza-radius-sm);
     box-shadow: none;
    overflow: hidden;
     box-shadow: var(--oroza-shadow-xs);
    font-size: 14px;
    margin: 14px 0;
}
 
.oroza-drop-table thead tr {
    background: linear-gradient(180deg, #f7eed9 0%, #ecd7a0 100%);
}
}


.mw-body,
.oroza-drop-table thead th {
#bodyContent,
    padding: 11px 14px;
#mw-content-text {
    color: #53401a;
     color: var(--oroza-text);
    font-weight: 800;
    font-size: 13px;
    text-align: left;
     border-bottom: 1px solid rgba(200,161,74,.30);
}
}


.oroza-drop-table tbody tr {
    background: #fffdf9;
    border-bottom: 1px solid var(--oroza-border-soft);
    transition: background var(--oroza-fast);
}


/* =========================================================
.oroza-drop-table tbody tr:last-child {
  4) WRAPPER GENERAL
     border-bottom: none;
  ========================================================= */
.oroza-flex-wrapper {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    flex-wrap: wrap;
     margin-top: 18px;
}
}


.oroza-sidebar-wrap {
.oroza-drop-table tbody tr:hover {
     width: 260px;
     background: #faf5ec;
    flex-shrink: 0;
}
}


.oroza-main-wrap {
.oroza-drop-table td {
    flex: 1;
     padding: 10px 14px;
    min-width: 0;
     color: var(--oroza-text-body);
     padding: 10px;
     vertical-align: middle;
     color: var(--oroza-text);
     font-family: var(--oroza-font-main);
}
}


.oroza-drop-table .drop-icon {
    width: 36px;
    text-align: center;
    padding: 6px 8px;
}


/* =========================================================
.oroza-drop-table .drop-icon img {
  5) PANEL PRINCIPAL
     width: 28px;
  ========================================================= */
     height: 28px;
.oroza-main-card {
     object-fit: contain;
     background: linear-gradient(180deg, var(--oroza-surface) 0%, var(--oroza-surface-2) 100%);
     image-rendering: pixelated;
     border: 1px solid var(--oroza-border);
     border-radius: var(--oroza-radius-lg);
     box-shadow: var(--oroza-shadow-md);
    overflow: hidden;
    position: relative;
}
}


.oroza-main-card::before {
.oroza-drop-table .drop-name {
     content: "";
     font-weight: 700;
    display: block;
     color: var(--oroza-text);
    width: 100%;
    height: 4px;
     background: linear-gradient(90deg, var(--oroza-green), var(--oroza-gold));
}
}


.oroza-drop-table .drop-name a {
    color: var(--oroza-text) !important;
    font-weight: 700;
}


/* =========================================================
.oroza-drop-table .drop-name a:hover {
  6) HERO / ENCABEZADO PRINCIPAL
     color: var(--oroza-gold-deep) !important;
  ========================================================= */
.oroza-hero {
    padding: 34px 30px 28px;
    text-align: center;
     background:
        linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(247,250,252,1) 100%);
    border-bottom: 1px solid var(--oroza-border-soft);
}
}


.oroza-hero-logo {
.oroza-drop-table .drop-rate {
     margin-bottom: 18px;
     text-align: right;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    padding-right: 16px;
}
}


.oroza-hero-title,
/* Colores de tasa de drop */
.firstHeading,
.drop-rate-mvp    { color: var(--rarity-mvp); }
h1 {
.drop-rate-rare  { color: var(--rarity-epic); }
    margin: 0 0 12px;
.drop-rate-uncommon { color: var(--rarity-rare); }
    font-family: var(--oroza-font-strong);
.drop-rate-low    { color: var(--rarity-uncommon); }
     font-size: 34px;
.drop-rate-common { color: var(--rarity-common); }
     line-height: 1.2;
 
     font-weight: 800;
.drop-rate-bar {
     color: var(--oroza-dark);
     display: inline-block;
     text-align: center;
     width: 60px;
     border: none !important;
     height: 5px;
     background: none !important;
     background: var(--oroza-border);
    text-shadow: none;
     border-radius: 999px;
     letter-spacing: .01em;
     vertical-align: middle;
     margin-right: 8px;
     overflow: hidden;
}
}


.oroza-hero-subtitle {
.drop-rate-bar-fill {
     max-width: 920px;
     height: 100%;
    margin: 0 auto;
     border-radius: 999px;
    padding: 18px 20px;
     background: var(--oroza-gold);
    background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
     transition: width .6s ease;
    border: 1px solid var(--oroza-border-soft);
     border-radius: var(--oroza-radius-sm);
     color: var(--oroza-text-body);
     font-size: 15px;
    line-height: 1.85;
    box-shadow: var(--oroza-shadow-xs);
}
}




/* =========================================================
/* =========================================================
   7) CUERPO INTERNO
   3) BADGES DE RAREZA, ELEMENTO, RAZA Y CLASE
   ========================================================= */
   ========================================================= */
.oroza-main-body {
.oroza-badge-rarity,
     padding: 30px;
.oroza-badge-elem,
.oroza-badge-race,
.oroza-badge-class,
.oroza-badge-size {
    display: inline-flex;
    align-items: center;
    gap: 5px;
     padding: 3px 10px;
    border-radius: var(--oroza-radius-pill);
    font-size: 12px;
    font-weight: 800;
    border: 1px solid transparent;
    white-space: nowrap;
}
}
/* Rareza */
.rarity-common    { background: var(--rarity-common-bg);    color: var(--rarity-common);    border-color: rgba(106,122,106,.22); }
.rarity-uncommon  { background: var(--rarity-uncommon-bg);  color: var(--rarity-uncommon);  border-color: rgba(42,106,42,.22); }
.rarity-rare      { background: var(--rarity-rare-bg);      color: var(--rarity-rare);      border-color: rgba(26,74,154,.22); }
.rarity-epic      { background: var(--rarity-epic-bg);      color: var(--rarity-epic);      border-color: rgba(122,42,154,.22); }
.rarity-legendary { background: var(--rarity-legendary-bg); color: var(--rarity-legendary); border-color: rgba(160,122,16,.22); }
.rarity-mvp      { background: var(--rarity-mvp-bg);      color: var(--rarity-mvp);      border-color: rgba(154,26,26,.22); }
/* Elementos */
.elem-neutral { background: var(--elem-neutral-bg); color: var(--elem-neutral); border-color: rgba(96,112,96,.2); }
.elem-water  { background: var(--elem-water-bg);  color: var(--elem-water);  border-color: rgba(26,90,154,.2); }
.elem-earth  { background: var(--elem-earth-bg);  color: var(--elem-earth);  border-color: rgba(90,122,42,.2); }
.elem-fire    { background: var(--elem-fire-bg);    color: var(--elem-fire);    border-color: rgba(154,58,26,.2); }
.elem-wind    { background: var(--elem-wind-bg);    color: var(--elem-wind);    border-color: rgba(42,122,106,.2); }
.elem-poison  { background: var(--elem-poison-bg);  color: var(--elem-poison);  border-color: rgba(90,58,122,.2); }
.elem-holy    { background: var(--elem-holy-bg);    color: var(--elem-holy);    border-color: rgba(138,122,26,.2); }
.elem-dark    { background: var(--elem-dark-bg);    color: var(--elem-dark);    border-color: rgba(42,42,74,.2); }
.elem-ghost  { background: var(--elem-ghost-bg);  color: var(--elem-ghost);  border-color: rgba(74,74,90,.2); }
.elem-undead  { background: var(--elem-undead-bg);  color: var(--elem-undead);  border-color: rgba(90,26,26,.2); }
/* Tamaño de monstruo */
.size-small  { background: #f0f4f0; color: #4a6a4a; border-color: rgba(74,106,74,.2);  }
.size-medium { background: #f4f0ec; color: #6a5a3a; border-color: rgba(106,90,58,.2);  }
.size-large  { background: #f4eef0; color: #6a3a4a; border-color: rgba(106,58,74,.2);  }




/* =========================================================
/* =========================================================
   8) JERARQUIA DE TITULOS
   4) BARRAS DE STATS (HP, SP, ATRIBUTOS)
   ========================================================= */
   ========================================================= */
h2,
.oroza-stat-block {
h3,
    margin: 14px 0;
h4,
}
h5,
 
h6 {
.oroza-stat-row {
     font-family: var(--oroza-font-strong);
     display: flex;
     color: var(--oroza-dark-2);
    align-items: center;
     text-align: left;
     gap: 10px;
    margin-bottom: 8px;
}
 
.oroza-stat-label {
    width: 42px;
     font-size: 11.5px;
     font-weight: 800;
     font-weight: 800;
     border: none !important;
     color: var(--oroza-text-soft);
     background: none !important;
     text-transform: uppercase;
     text-shadow: none;
     letter-spacing: .04em;
     line-height: 1.28;
     flex-shrink: 0;
}
}


h2 {
.oroza-stat-bar-bg {
     margin: 34px 0 16px;
     flex: 1;
     padding: 0 0 12px;
     height: 8px;
     font-size: 28px;
     background: var(--oroza-border-soft);
    border-bottom: 1px solid var(--oroza-border-soft) !important;
    border-radius: 999px;
    overflow: hidden;
     position: relative;
     position: relative;
}
}


h2::after {
.oroza-stat-bar-fill {
     content: "";
    height: 100%;
    border-radius: 999px;
    transition: width .8s cubic-bezier(.4,0,.2,1);
    position: relative;
}
 
.oroza-stat-bar-fill::after {
     content: '';
     position: absolute;
     position: absolute;
     left: 0;
     top: 0; left: 0; right: 0;
    bottom: -1px;
     height: 40%;
     width: 90px;
     background: rgba(255,255,255,.25);
     height: 3px;
     border-radius: 999px;
     border-radius: 999px;
    background: linear-gradient(90deg, var(--oroza-green), var(--oroza-gold));
}
}


h3 {
.stat-bar-hp    { background: linear-gradient(90deg, #c04040, #e05050); }
     margin: 28px 0 14px;
.stat-bar-sp    { background: linear-gradient(90deg, #3060b0, #4080d0); }
     font-size: 22px;
.stat-bar-str  { background: linear-gradient(90deg, #b04820, #d06030); }
     color: var(--oroza-dark-3);
.stat-bar-agi  { background: linear-gradient(90deg, #208040, #30a050); }
.stat-bar-vit  { background: linear-gradient(90deg, #784020, #986040); }
.stat-bar-int  { background: linear-gradient(90deg, #5828a0, #7840c0); }
.stat-bar-dex  { background: linear-gradient(90deg, #187070, #249090); }
.stat-bar-luk  { background: linear-gradient(90deg, #906010, #b08020); }
 
.oroza-stat-val {
    width: 52px;
     text-align: right;
     font-size: 13px;
    font-weight: 700;
     color: var(--oroza-text);
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}
 
 
/* =========================================================
  5) TABS / PESTAÑAS DE CONTENIDO
  ========================================================= */
.oroza-tabs {
    margin: 20px 0;
}
}


h4 {
.oroza-tab-nav {
     margin: 24px 0 12px;
     display: flex;
     font-size: 18px;
     gap: 0;
     color: var(--oroza-green-deep);
     border-bottom: 2px solid var(--oroza-border);
    flex-wrap: wrap;
}
}


h5 {
.oroza-tab-btn {
     margin: 20px 0 10px;
     padding: 10px 18px;
     font-size: 15px;
    background: transparent;
    border: none;
     border-bottom: 2px solid transparent;
    margin-bottom: -2px;
     color: var(--oroza-text-soft);
     color: var(--oroza-text-soft);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition:
        color var(--oroza-fast),
        border-color var(--oroza-fast),
        background var(--oroza-fast);
    border-radius: var(--oroza-radius-xs) var(--oroza-radius-xs) 0 0;
}
}


h6 {
.oroza-tab-btn:hover {
    margin: 18px 0 10px;
     color: var(--oroza-primary);
    font-size: 13px;
     background: rgba(200,161,74,.06);
     color: var(--oroza-text-muted);
     letter-spacing: .05em;
    text-transform: uppercase;
}
}


p {
.oroza-tab-btn.active {
    margin: 0 0 16px;
     color: var(--oroza-primary-deep);
     color: var(--oroza-text-body);
     border-bottom-color: var(--oroza-gold);
     font-size: 15.5px;
     background: rgba(200,161,74,.06);
     line-height: 1.85;
}
}


ul,
.oroza-tab-panel {
ol {
    display: none;
     color: var(--oroza-text-body);
     padding: 20px 0;
     line-height: 1.85;
     animation: tabFadeIn .2s ease;
}
}


li {
.oroza-tab-panel.active {
     margin-bottom: 6px;
     display: block;
}
}


small,
@keyframes tabFadeIn {
.text-muted {
    from { opacity: 0; transform: translateY(4px); }
     color: var(--oroza-text-muted);
     to  { opacity: 1; transform: translateY(0); }
}
}




/* =========================================================
/* =========================================================
   9) ENLACES
   6) TABLA DE HABILIDADES / SKILLS
   ========================================================= */
   ========================================================= */
a,
.oroza-skill-grid {
.mw-body a {
     display: grid;
     color: #2f638f;
     grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
     text-decoration: none;
     gap: 14px;
     font-weight: 700;
     margin: 16px 0;
     transition: color var(--oroza-fast), opacity var(--oroza-fast);
}
}


a:hover,
.oroza-skill-card {
.mw-body a:hover {
    background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
     color: var(--oroza-gold-deep);
    border: 1px solid var(--oroza-border-soft);
     text-decoration: none;
    border-radius: var(--oroza-radius-sm);
    padding: 14px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
     transition:
        transform var(--oroza-fast),
        box-shadow var(--oroza-fast),
        border-color var(--oroza-fast);
     cursor: default;
}
}


.oroza-skill-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--oroza-shadow-sm);
    border-color: var(--oroza-gold-border);
}


/* =========================================================
.oroza-skill-icon {
  10) TARJETAS DE SECCION
     width: 44px;
  ========================================================= */
     height: 44px;
.oroza-section-card {
    border-radius: 10px;
     margin-bottom: 24px;
     border: 1px solid var(--oroza-border);
     background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
     background: var(--oroza-surface-soft);
     border: 1px solid var(--oroza-border-soft);
     display: flex;
     border-radius: var(--oroza-radius-md);
    align-items: center;
     box-shadow: var(--oroza-shadow-sm);
    justify-content: center;
    flex-shrink: 0;
     overflow: hidden;
     overflow: hidden;
}
}


.oroza-section-head {
.oroza-skill-icon img {
     padding: 16px 20px;
     width: 36px;
     background: linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%);
     height: 36px;
     border-bottom: 1px solid var(--oroza-border-soft);
     object-fit: contain;
     border-left: 5px solid var(--oroza-green);
     image-rendering: pixelated;
    color: var(--oroza-dark-2);
}
    font-family: var(--oroza-font-strong);
 
     font-size: 20px;
.oroza-skill-info .skill-name {
     font-size: 13.5px;
     font-weight: 800;
     font-weight: 800;
    color: var(--oroza-primary);
    margin-bottom: 3px;
}
}


.oroza-section-body {
.oroza-skill-info .skill-type {
     padding: 20px;
    font-size: 11.5px;
    color: var(--oroza-text-muted);
    margin-bottom: 5px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
 
.oroza-skill-info .skill-desc {
     font-size: 12.5px;
     color: var(--oroza-text-body);
     color: var(--oroza-text-body);
    font-size: 14.8px;
     line-height: 1.6;
     line-height: 1.88;
}
}
/* Skill tipo badge */
.skill-passive  { background: #eef5e8; color: #2a6a2a; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(42,106,42,.2); }
.skill-active  { background: #eef2fb; color: #1a4a9a; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(26,74,154,.2); }
.skill-toggle  { background: #f4eefb; color: #7a2a9a; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(122,42,154,.2); }
.skill-support  { background: #fdf4dc; color: #8a6810; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(138,104,16,.2); }




/* =========================================================
/* =========================================================
   11) TARJETAS PEQUENAS
   7) TABLA DE QUESTS / MISIONES
   ========================================================= */
   ========================================================= */
.oroza-mini-card {
.oroza-quest-list {
     background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
     list-style: none;
    border: 1px solid var(--oroza-border-soft);
     padding: 0;
     border-radius: var(--oroza-radius-md);
     margin: 16px 0;
     box-shadow: var(--oroza-shadow-sm);
    overflow: hidden;
}
}


.oroza-mini-card-head {
.oroza-quest-item {
     padding: 14px 18px;
    display: flex;
     background: linear-gradient(180deg, #ffffff 0%, #f2f7f0 100%);
    align-items: flex-start;
     border-bottom: 1px solid var(--oroza-border-soft);
    gap: 14px;
     border-left: 5px solid var(--oroza-gold);
     padding: 14px 16px;
     color: var(--oroza-dark-2);
     background: linear-gradient(180deg, #fffdf9 0%, #faf5ec 100%);
    font-family: var(--oroza-font-strong);
     border: 1px solid var(--oroza-border-soft);
    font-size: 18px;
     border-radius: var(--oroza-radius-sm);
    font-weight: 800;
     margin-bottom: 10px;
    transition:
        transform var(--oroza-fast),
        box-shadow var(--oroza-fast);
}
}


.oroza-mini-card-body {
.oroza-quest-item:hover {
     padding: 18px 20px;
     transform: translateX(3px);
     color: var(--oroza-text-body);
     box-shadow: var(--oroza-shadow-xs);
    font-size: 15px;
    line-height: 1.8;
}
}


 
.oroza-quest-num {
/* =========================================================
     width: 32px;
  12) TABLAS PERSONALIZADAS
     height: 32px;
  ========================================================= */
     border-radius: 50%;
.oroza-table {
     background: linear-gradient(180deg, var(--oroza-primary-2) 0%, var(--oroza-primary-deep) 100%);
     width: 100%;
     color: #f6dda0;
     margin: 16px 0 0;
    font-size: 13px;
     border-collapse: separate;
    font-weight: 800;
    border-spacing: 0;
     display: flex;
     background: var(--oroza-surface);
     align-items: center;
    border: 1px solid var(--oroza-border);
    justify-content: center;
     border-radius: var(--oroza-radius-sm);
    flex-shrink: 0;
     overflow: hidden;
     border: 1px solid rgba(246,221,160,.2);
     box-shadow: var(--oroza-shadow-xs);
     font-size: 15px;
}
}


.oroza-table th {
.oroza-quest-content .quest-title {
    padding: 14px 16px;
     font-size: 14.5px;
    background: linear-gradient(180deg, var(--oroza-green-2) 0%, var(--oroza-green) 100%);
    color: #243018;
    font-family: var(--oroza-font-strong);
     font-size: 15px;
     font-weight: 800;
     font-weight: 800;
     text-align: center;
     color: var(--oroza-primary);
     border-bottom: 1px solid rgba(142,168,41,.26);
     margin-bottom: 4px;
}
}


.oroza-table td {
.oroza-quest-content .quest-desc {
     padding: 12px 14px;
     font-size: 13.5px;
     color: var(--oroza-text-body);
     color: var(--oroza-text-body);
     vertical-align: middle;
     line-height: 1.65;
    border-bottom: 1px solid var(--oroza-border-soft);
    background: #ffffff;
}
}


.oroza-table tr:last-child td {
.oroza-quest-content .quest-reward {
     border-bottom: none;
     margin-top: 6px;
    font-size: 12.5px;
    color: var(--oroza-text-soft);
}
}


.oroza-table td.label {
.oroza-quest-content .quest-reward strong {
    width: 42%;
     color: var(--oroza-gold-deep);
    font-weight: 700;
     color: var(--oroza-text);
    background: #f7faf6;
}
}


.oroza-table tr:nth-child(even) td:not(.label) {
/* Estado de quest */
     background: #fbfcfd;
.quest-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 800;
     margin-left: 8px;
}
}
.quest-daily  { background: #eef2fb; color: #1a4a9a; border: 1px solid rgba(26,74,154,.2); }
.quest-main    { background: #fdf4dc; color: #8a6810; border: 1px solid rgba(138,104,16,.2); }
.quest-repeatable { background: #eef6ee; color: #2a6a2a; border: 1px solid rgba(42,106,42,.2); }
.quest-event  { background: #fbeeed; color: #9a1a1a; border: 1px solid rgba(154,26,26,.2); }




/* =========================================================
/* =========================================================
   13) WIKITABLE ADAPTADA
   8) TABLA DE EXPERIENCIA / NIVEL
   ========================================================= */
   ========================================================= */
table.wikitable {
.oroza-level-table {
     width: 100%;
     width: 100%;
    margin: 16px 0 0;
     border-collapse: separate;
     border-collapse: separate;
     border-spacing: 0;
     border-spacing: 0;
    background: var(--oroza-surface);
     border: 1px solid var(--oroza-border);
     border: 1px solid var(--oroza-border) !important;
     border-radius: var(--oroza-radius-sm);
     border-radius: var(--oroza-radius-sm);
     overflow: hidden;
     overflow: hidden;
    box-shadow: var(--oroza-shadow-xs);
     font-size: 14px;
     font-size: 15px;
     margin: 14px 0;
     color: var(--oroza-text-body);
}
}


table.wikitable > tr > th,
.oroza-level-table thead th {
table.wikitable > * > tr > th {
     padding: 11px 14px;
     padding: 14px 16px;
     background: linear-gradient(180deg, #24384b 0%, #182634 100%);
     background: linear-gradient(180deg, var(--oroza-green-2) 0%, var(--oroza-green) 100%) !important;
     color: #f6dda0;
     color: #243018 !important;
     font-size: 12.5px;
    font-family: var(--oroza-font-strong);
     font-size: 15px;
     font-weight: 800;
     font-weight: 800;
     text-align: center;
     text-align: center;
     border-color: rgba(142,168,41,.24) !important;
     border-bottom: 2px solid var(--oroza-gold);
}
}


table.wikitable > tr > td,
.oroza-level-table tbody tr {
table.wikitable > * > tr > td {
     background: #fffdf9;
     padding: 12px 14px;
     border-bottom: 1px solid var(--oroza-border-soft);
     color: var(--oroza-text-body) !important;
     transition: background var(--oroza-fast);
     border-color: var(--oroza-border-soft) !important;
    background: rgba(255,255,255,.94);
}
}


.oroza-level-table tbody tr:hover {
    background: #faf5ec;
}


/* =========================================================
.oroza-level-table tbody tr:nth-child(10n) {
  14) TOC
     background: linear-gradient(90deg, #fdf8ef, #fffdf9);
  ========================================================= */
     font-weight: 700;
#toc {
     border-bottom: 1px solid rgba(200,161,74,.25);
    margin: 24px 0 28px;
    padding: 18px 20px;
     background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
     border: 1px solid var(--oroza-border);
     border-radius: var(--oroza-radius-sm);
    box-shadow: var(--oroza-shadow-sm);
    font-size: 15px;
}
}


#toc .toctitle {
.oroza-level-table td {
    padding: 8px 14px;
     text-align: center;
     text-align: center;
     margin-bottom: 10px;
     color: var(--oroza-text-body);
}
}


#toc .toctitle h2 {
.oroza-level-table td:first-child {
     margin: 0;
     font-weight: 700;
     padding: 0;
     color: var(--oroza-primary);
    border: none !important;
     background: rgba(248,239,217,.45);
     font-size: 18px;
     border-right: 1px solid var(--oroza-border-soft);
     text-align: center;
    color: var(--oroza-dark-2);
}
}


#toc .toctitle h2::after {
 
     display: none;
/* =========================================================
  9) CARD DE CLASE / JOB
  ========================================================= */
.oroza-class-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
     margin: 16px 0;
}
}


#toc ul {
.oroza-class-card {
     margin: 8px 0 0;
     background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
     padding-left: 18px;
    border: 1px solid var(--oroza-border-soft);
    border-radius: var(--oroza-radius-md);
    overflow: hidden;
    text-align: center;
     transition:
        transform var(--oroza-mid),
        box-shadow var(--oroza-mid),
        border-color var(--oroza-mid);
    cursor: pointer;
}
}


#toc li {
.oroza-class-card:hover {
     margin: 6px 0;
     transform: translateY(-4px);
     color: var(--oroza-text-body);
     box-shadow: var(--oroza-shadow-md);
    border-color: var(--oroza-gold-border);
}
}


.oroza-class-card:hover .class-header {
    border-bottom-color: var(--oroza-gold);
}


/* =========================================================
.class-header {
  15) CAJAS INFORMATIVAS
     padding: 14px 12px;
  ========================================================= */
     background: linear-gradient(180deg, #24384b 0%, #182634 100%);
.box-info,
     border-bottom: 2px solid transparent;
.box-tip,
     transition: border-color var(--oroza-mid);
.box-warning,
.box-danger {
     margin: 18px 0;
     padding: 16px 18px;
    border-radius: var(--oroza-radius-sm);
     border: 1px solid var(--oroza-border);
     box-shadow: var(--oroza-shadow-xs);
    font-size: 15px;
    line-height: 1.8;
    color: var(--oroza-text-body);
}
}


.box-info {
.class-header img {
     background: var(--oroza-info-bg);
     width: 64px;
     border-color: var(--oroza-info-border);
    height: 64px;
    object-fit: contain;
    image-rendering: pixelated;
     filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}
}


.box-tip {
.class-body {
     background: var(--oroza-success-bg);
     padding: 12px;
    border-color: var(--oroza-success-border);
}
}


.box-warning {
.class-name {
     background: var(--oroza-warning-bg);
     font-size: 14px;
     border-color: var(--oroza-warning-border);
    font-weight: 800;
     color: var(--oroza-primary-deep);
    margin-bottom: 4px;
}
}


.box-danger {
.class-desc {
     background: var(--oroza-danger-bg);
     font-size: 12px;
     border-color: var(--oroza-danger-border);
    color: var(--oroza-text-soft);
     line-height: 1.55;
}
}


.oroza-alert-title {
.class-tier {
     display: block;
     display: inline-block;
     margin-bottom: 6px;
     margin-top: 8px;
     color: var(--oroza-dark-2);
     padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
     font-weight: 800;
     font-weight: 800;
    background: var(--oroza-gold-soft);
    color: var(--oroza-gold-deep);
    border: 1px solid var(--oroza-gold-border);
}
}




/* =========================================================
/* =========================================================
   16) CODIGO / COMANDOS
   10) MAPA / MINIMAP
   ========================================================= */
   ========================================================= */
code,
.oroza-map-frame {
.oroza-code,
    position: relative;
pre {
    border: 1px solid var(--oroza-border);
     font-family: Consolas, monospace;
    border-radius: var(--oroza-radius-md);
    overflow: hidden;
     box-shadow: var(--oroza-shadow-sm);
    background: #d4c9b0;
    margin: 16px 0;
}
}


code,
.oroza-map-frame img {
.oroza-code {
     display: block;
     display: inline-block;
     width: 100%;
     padding: 2px 8px;
     height: auto;
    background: #eef5f1;
     image-rendering: pixelated;
    border: 1px solid #d6e2d7;
    border-radius: 8px;
     color: #274031;
     font-size: 13px;
}
}


pre {
.oroza-map-legend {
    margin: 18px 0;
     padding: 10px 14px;
     padding: 16px 18px;
     background: linear-gradient(180deg, #fffaf1 0%, #f5ead0 100%);
     background: #f5f9fc;
     border-top: 1px solid var(--oroza-gold-border);
     border: 1px solid #dbe5ec;
     display: flex;
     border-radius: 14px;
     gap: 16px;
     color: #334755;
     flex-wrap: wrap;
     overflow-x: auto;
     font-size: 12.5px;
     line-height: 1.7;
}
}


 
.oroza-map-legend-item {
/* =========================================================
     display: flex;
  17) BOTONES Y LINKS VISUALES
  ========================================================= */
.oroza-btn,
.button-icon {
     display: inline-flex;
     align-items: center;
     align-items: center;
    justify-content: center;
     gap: 6px;
     gap: 8px;
     color: var(--oroza-text-body);
    padding: 11px 16px;
    border-radius: 10px;
    border: 1px solid rgba(142,168,41,.22);
    background: linear-gradient(180deg, var(--oroza-green-2) 0%, var(--oroza-green) 100%);
     color: #1b2615 !important;
    font-family: var(--oroza-font-strong);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.08);
    transition:
        transform var(--oroza-fast),
        box-shadow var(--oroza-fast),
        filter var(--oroza-fast);
}
}


.oroza-btn:hover,
.map-dot {
.button-icon:hover {
     width: 12px;
     transform: translateY(-2px);
     height: 12px;
     filter: brightness(1.03);
     border-radius: 50%;
     box-shadow: 0 0 8px rgba(177,210,53,.25), 0 8px 16px rgba(0,0,0,.10);
     flex-shrink: 0;
}
 
.oroza-btn-gold {
    background: linear-gradient(180deg, #ffe97a 0%, var(--oroza-gold-2) 100%);
     border-color: rgba(255,223,0,.24);
    color: #2b2407 !important;
    box-shadow: 0 0 5px rgba(255,223,0,.28);
}
}


.oroza-btn-gold:hover {
.map-dot-spawn  { background: #c04040; border: 2px solid #8a2020; }
    box-shadow:
.map-dot-npc    { background: #3060b0; border: 2px solid #1a3a80; }
        0 0 10px rgba(255,223,0,1),
.map-dot-warp  { background: #208040; border: 2px solid #105020; }
        0 0 25px rgba(255,255,255,.55),
.map-dot-shop  { background: #a07010; border: 2px solid #705008; }
        0 0 40px rgba(255,223,0,.35);
.map-dot-quest  { background: #8030a0; border: 2px solid #501870; }
    transform: translateY(-2px) scale(1.02);
}




/* =========================================================
/* =========================================================
   18) BADGES
   11) BREADCRUMB / MIGAS DE PAN
   ========================================================= */
   ========================================================= */
.oroza-badge {
.oroza-breadcrumb {
     display: inline-flex;
     display: flex;
     align-items: center;
     align-items: center;
     justify-content: center;
     gap: 6px;
    padding: 6px 12px;
     flex-wrap: wrap;
     border-radius: var(--oroza-radius-pill);
     padding: 10px 0;
     background: #f5f9f0;
     margin-bottom: 16px;
     border: 1px solid rgba(177,210,53,.24);
     font-size: 13.5px;
    color: #42551f;
     font-size: 12.5px;
    font-weight: 800;
}
}


.oroza-badge.gold {
.oroza-breadcrumb a {
     background: rgba(242,201,76,.16);
     color: var(--oroza-text-soft) !important;
     border-color: rgba(242,201,76,.28);
     font-weight: 600;
    color: #8a6820;
}
}


.oroza-breadcrumb a:hover {
    color: var(--oroza-gold-deep) !important;
}


/* =========================================================
.oroza-breadcrumb .sep {
  19) IMAGENES
    color: var(--oroza-border-strong);
  ========================================================= */
     font-size: 11px;
img {
     user-select: none;
     max-width: 100%;
     height: auto;
}
}


img.round-fade,
.oroza-breadcrumb .current {
.oroza-img {
     color: var(--oroza-primary-deep);
     display: block;
     font-weight: 700;
    margin: 14px auto;
    border-radius: 18px;
    border: 1px solid var(--oroza-border);
     box-shadow: var(--oroza-shadow-sm);
    transition: transform var(--oroza-mid), box-shadow var(--oroza-mid);
}
}


img.round-fade:hover,
.oroza-img:hover {
    transform: translateY(-2px);
    box-shadow: var(--oroza-shadow-md);
}


.zoom-img {
/* =========================================================
     cursor: zoom-in;
  12) CAJA DE NAVEGACION (NavBox)
     border-radius: 16px;
  ========================================================= */
     transition: transform var(--oroza-mid), box-shadow var(--oroza-mid);
.oroza-navbox {
     margin: 28px 0 20px;
    background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
     border: 1px solid var(--oroza-border);
     border-radius: var(--oroza-radius-md);
    overflow: hidden;
    box-shadow: var(--oroza-shadow-xs);
    font-size: 13.5px;
}
}


.zoom-img:hover {
.oroza-navbox-title {
     transform: translateY(-2px) scale(1.02);
    padding: 12px 16px;
     box-shadow: var(--oroza-shadow-md);
     background: linear-gradient(180deg, #24384b 0%, #182634 100%);
     position: relative;
     color: #f6dda0;
     z-index: 3;
    font-size: 13px;
    font-weight: 800;
    border-bottom: 2px solid var(--oroza-gold);
     display: flex;
    align-items: center;
     justify-content: space-between;
    gap: 10px;
}
}


.oroza-banner {
.oroza-navbox-body {
     display: block;
     padding: 14px 16px;
     width: 100%;
     display: flex;
     border-radius: 20px;
     flex-wrap: wrap;
    overflow: hidden;
     gap: 18px;
     border: 1px solid var(--oroza-border);
    box-shadow: var(--oroza-shadow-md);
}
}


 
.oroza-navbox-group {
/* =========================================================
     min-width: 140px;
  20) GRID
     flex: 1;
  ========================================================= */
.oroza-grid-2,
.oroza-grid-3,
.oroza-grid-4 {
     display: grid;
     gap: 20px;
}
}


.oroza-grid-2 {
.navbox-group-title {
     grid-template-columns: repeat(2, minmax(0, 1fr));
     font-size: 12px;
    font-weight: 800;
    color: var(--oroza-text-soft);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 6px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--oroza-border-soft);
}
}


.oroza-grid-3 {
.oroza-navbox-body a {
     grid-template-columns: repeat(3, minmax(0, 1fr));
     display: inline-block;
    margin: 2px 4px 2px 0;
    padding: 3px 9px;
    background: var(--oroza-surface-soft);
    border: 1px solid var(--oroza-border-soft);
    border-radius: var(--oroza-radius-pill);
    color: var(--oroza-text-body) !important;
    font-size: 13px;
    font-weight: 600;
    transition:
        background var(--oroza-fast),
        border-color var(--oroza-fast),
        color var(--oroza-fast);
}
}


.oroza-grid-4 {
.oroza-navbox-body a:hover {
     grid-template-columns: repeat(4, minmax(0, 1fr));
     background: var(--oroza-gold-soft);
    border-color: var(--oroza-gold-border);
    color: var(--oroza-gold-deep) !important;
}
}




/* =========================================================
/* =========================================================
   21) SIDEBAR
   13) PAGINA DE CATEGORIA
   ========================================================= */
   ========================================================= */
.oroza-sidebar {
.oroza-category-header {
     background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
    margin-bottom: 20px;
    padding: 20px 24px;
     background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
     border: 1px solid var(--oroza-border);
     border: 1px solid var(--oroza-border);
     border-radius: var(--oroza-radius-md);
     border-radius: var(--oroza-radius-md);
     box-shadow: var(--oroza-shadow-sm);
    border-left: 4px solid var(--oroza-gold);
    padding: 16px;
     box-shadow: var(--oroza-shadow-xs);
}
}


.oroza-sidebar .menu-title {
.oroza-category-title {
    margin: 18px 0 10px;
     font-size: 22px;
    padding: 11px 14px;
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(18,24,34,.90) 0%, rgba(27,36,48,.92) 100%);
    border-left: 4px solid var(--oroza-green);
    color: #ffffff;
    font-family: var(--oroza-font-strong);
     font-size: 15px;
     font-weight: 800;
     font-weight: 800;
     box-shadow: inset 0 1px 1px rgba(255,255,255,.05);
     color: var(--oroza-primary-deep);
    margin-bottom: 6px;
}
}


.oroza-sidebar ul {
.oroza-category-desc {
     list-style: none;
     font-size: 14.5px;
     padding: 0;
     color: var(--oroza-text-body);
     margin: 0;
     line-height: 1.75;
}
}


.oroza-sidebar li {
.oroza-category-grid {
     margin: 6px 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
     margin: 16px 0;
}
}


.oroza-sidebar li a {
.oroza-category-link {
     display: block;
     display: flex;
     padding: 10px 12px;
    align-items: center;
     border-radius: 10px;
    gap: 10px;
     color: var(--oroza-text);
     padding: 11px 14px;
    background: linear-gradient(180deg, #fffdf9 0%, #faf5ec 100%);
    border: 1px solid var(--oroza-border-soft);
     border-radius: var(--oroza-radius-sm);
     color: var(--oroza-text) !important;
    font-weight: 700;
     font-size: 14px;
     font-size: 14px;
     font-weight: 700;
     text-decoration: none !important;
     transition:
     transition:
        background var(--oroza-fast),
        color var(--oroza-fast),
         transform var(--oroza-fast),
         transform var(--oroza-fast),
         box-shadow var(--oroza-fast);
         box-shadow var(--oroza-fast),
        border-color var(--oroza-fast),
        background var(--oroza-fast);
}
}


.oroza-sidebar li a:hover {
.oroza-category-link:hover {
    background: #eef5ef;
    color: #2a3a1a;
     transform: translateX(3px);
     transform: translateX(3px);
    box-shadow: var(--oroza-shadow-xs);
    border-color: var(--oroza-gold-border);
    background: linear-gradient(180deg, #fffdfa 0%, #fdf5e6 100%);
    color: var(--oroza-primary-deep) !important;
}
}


.oroza-sidebar li.active a,
.oroza-category-link img {
.oroza-sidebar li a.is-active {
     width: 30px;
     background: linear-gradient(180deg, rgba(18,24,34,.95) 0%, rgba(27,36,48,.95) 100%);
     height: 30px;
     border: 1px solid rgba(255,255,255,.05);
     object-fit: contain;
     color: #f2c94c;
     image-rendering: pixelated;
     box-shadow: 0 10px 20px rgba(18,24,34,.14);
}
}




/* =========================================================
/* =========================================================
   22) NAVBAR
   14) SEARCH HIGHLIGHT
   ========================================================= */
   ========================================================= */
.oroza-navbar {
.searchresult .searchmatch,
     background: rgba(18, 24, 34, 0.72);
.oroza-highlight {
     backdrop-filter: blur(8px);
     background: rgba(200,161,74,.22);
    -webkit-backdrop-filter: blur(8px);
     color: var(--oroza-primary-deep);
     border: 1px solid rgba(255,255,255,.08);
     padding: 0 3px;
     border-bottom: 2px solid rgba(177,210,53,.60);
     border-radius: 3px;
     border-radius: 18px;
     font-weight: 700;
    box-shadow: 0 12px 26px rgba(0,0,0,.16);
}
     margin: 20px auto;
 
     max-width: 1240px;
 
     padding: 16px 24px;
/* =========================================================
     display: flex;
  15) TABLA DE COMPARACION DE ITEMS
     gap: 26px;
  ========================================================= */
     justify-content: center;
.oroza-compare-table {
     align-items: center;
     width: 100%;
     position: relative;
     border-collapse: separate;
     border-spacing: 0;
     border: 1px solid var(--oroza-border);
     border-radius: var(--oroza-radius-sm);
     overflow: hidden;
     font-size: 14px;
     margin: 14px 0;
}
}


.oroza-navbar a {
.oroza-compare-table thead th {
     color: #e0e0e0 !important;
     padding: 13px 14px;
     font-family: var(--oroza-font-strong);
     background: linear-gradient(180deg, #f7eed9 0%, #ecd7a0 100%);
     font-size: 15px;
     color: #53401a;
     font-weight: 800;
     font-weight: 800;
     text-transform: uppercase;
    font-size: 13.5px;
     text-shadow: 0 2px 5px rgba(0,0,0,.55);
     text-align: center;
     opacity: .96;
     border-bottom: 1px solid rgba(200,161,74,.30);
     border-right: 1px solid var(--oroza-border-soft);
}
}


.oroza-navbar a:hover {
.oroza-compare-table thead th:first-child {
     color: var(--oroza-gold-2) !important;
     text-align: left;
     transform: translateY(-1px);
     background: linear-gradient(180deg, #f0e8d6 0%, #e4d4b4 100%);
    opacity: 1;
}
}


.oroza-navbar-logo {
.oroza-compare-table tbody tr {
     position: absolute;
     border-bottom: 1px solid var(--oroza-border-soft);
     left: 24px;
     transition: background var(--oroza-fast);
    display: flex;
    align-items: center;
}
}


.oroza-navbar-logo img {
.oroza-compare-table tbody tr:hover {
     width: 78px;
     background: rgba(200,161,74,.04);
    height: auto;
}
}


.oroza-navbar a.is-active {
.oroza-compare-table td {
     color: var(--oroza-gold-2) !important;
    padding: 10px 14px;
     position: relative;
    text-align: center;
     color: var(--oroza-text-body);
     border-right: 1px solid var(--oroza-border-soft);
}
}


.oroza-navbar a.is-active::after {
.oroza-compare-table td:first-child {
     content: "";
     text-align: left;
    position: absolute;
     font-weight: 700;
    left: 8px;
     color: var(--oroza-text);
     right: 8px;
     background: rgba(248,239,217,.4);
     bottom: -8px;
    height: 3px;
    border-radius: 999px;
     background: var(--oroza-green);
}
}
.compare-better { color: #208040; font-weight: 800; }
.compare-worse  { color: #9a2020; }
.compare-equal  { color: var(--oroza-text-muted); }




/* =========================================================
/* =========================================================
   23) BLOQUES SUAVES Y UTILIDADES
   16) SPOILER / COLLAPSE
   ========================================================= */
   ========================================================= */
.oroza-soft-box {
.oroza-spoiler {
     padding: 18px 20px;
     margin: 14px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
     border: 1px solid var(--oroza-border);
     border: 1px solid var(--oroza-border);
     border-radius: var(--oroza-radius-sm);
     border-radius: var(--oroza-radius-sm);
     color: var(--oroza-text-body);
     overflow: hidden;
    box-shadow: var(--oroza-shadow-xs);
}
}


.oroza-divider {
.oroza-spoiler-toggle {
     width: 100%;
     width: 100%;
     height: 1px;
     padding: 12px 16px;
    margin: 24px 0;
     background: linear-gradient(180deg, #f8f0dd 0%, #efdfb0 100%);
     background: linear-gradient(
        90deg,
        rgba(223,230,236,0) 0%,
        rgba(177,210,53,.35) 45%,
        rgba(242,201,76,.45) 55%,
        rgba(223,230,236,0) 100%
    );
     border: none;
     border: none;
    border-left: 4px solid var(--oroza-gold);
    color: var(--oroza-primary);
    font-size: 14px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background var(--oroza-fast);
}
}


.text-center {
.oroza-spoiler-toggle:hover {
     text-align: center;
     background: linear-gradient(180deg, #fbf3e4 0%, #f3e4c0 100%);
}
}


.text-left {
.oroza-spoiler-toggle::after {
     text-align: left;
     content: "▼";
    font-size: 10px;
    transition: transform var(--oroza-fast);
}
}


.text-right {
.oroza-spoiler-toggle.open::after {
     text-align: right;
     transform: rotate(180deg);
}
}


.oroza-center {
.oroza-spoiler-body {
     margin-left: auto;
     display: none;
     margin-right: auto;
    padding: 16px;
    background: var(--oroza-surface);
    color: var(--oroza-text-body);
     font-size: 14.5px;
    line-height: 1.8;
    border-top: 1px solid var(--oroza-border-soft);
    animation: tabFadeIn .2s ease;
}
}


.oroza-mb-0 { margin-bottom: 0 !important; }
.oroza-spoiler-body.open {
.oroza-mb-1 { margin-bottom: 10px !important; }
    display: block;
.oroza-mb-2 { margin-bottom: 14px !important; }
}
.oroza-mb-3 { margin-bottom: 20px !important; }
.oroza-mb-4 { margin-bottom: 24px !important; }




/* =========================================================
/* =========================================================
   24) AJUSTES MEDIAWIKI OPCIONALES
   17) FOOTER DE PAGINA
   ========================================================= */
   ========================================================= */
/*
.oroza-page-footer {
#p-logo,
    margin-top: 40px;
#footer,
    padding-top: 20px;
#mw-panel {
    border-top: 1px solid var(--oroza-border-soft);
     display: none !important;
     display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: var(--oroza-text-muted);
}
}
*/


.toggle-checkbox,
.oroza-page-footer a {
.toggle-label {
     color: var(--oroza-text-soft) !important;
     display: none !important;
    font-weight: 600;
}
}


.oroza-page-footer a:hover {
    color: var(--oroza-gold-deep) !important;
}


/* =========================================================
.oroza-last-edited {
  25) RESPONSIVE
    font-size: 12.5px;
  ========================================================= */
     color: var(--oroza-text-muted);
@media screen and (max-width: 1024px) {
     font-style: italic;
    .oroza-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
     }
 
    .oroza-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
     }
 
    .oroza-hero-title,
    .firstHeading,
    h1 {
        font-size: 30px;
    }
}
}


@media screen and (max-width: 768px) {
    .oroza-flex-wrapper {
        flex-direction: column;
        gap: 20px;
    }


    .oroza-sidebar-wrap,
/* =========================================================
    .oroza-main-wrap,
  18) JS — SCRIPTS DE APOYO
    .oroza-flex-wrapper > div {
  Pegar en common.js o al final del skin
         width: 100% !important;
  ========================================================= */
     }
/*
// Tabs
document.querySelectorAll('.oroza-tab-btn').forEach(btn => {
    btn.addEventListener('click', () => {
        const tabs = btn.closest('.oroza-tabs');
        tabs.querySelectorAll('.oroza-tab-btn').forEach(b => b.classList.remove('active'));
        tabs.querySelectorAll('.oroza-tab-panel').forEach(p => p.classList.remove('active'));
        btn.classList.add('active');
         tabs.querySelector('#' + btn.dataset.tab).classList.add('active');
     });
});


    .oroza-main-body {
// Spoilers
         padding: 20px;
document.querySelectorAll('.oroza-spoiler-toggle').forEach(toggle => {
     }
    toggle.addEventListener('click', () => {
         toggle.classList.toggle('open');
        toggle.nextElementSibling.classList.toggle('open');
     });
});


     .oroza-hero {
// Animate stat bars on load
         padding: 26px 20px 22px;
const observer = new IntersectionObserver(entries => {
    }
     entries.forEach(e => {
 
         if (e.isIntersecting) {
    .oroza-hero-title,
            e.target.querySelectorAll('.oroza-stat-bar-fill').forEach(bar => {
    .firstHeading,
                bar.style.width = bar.dataset.value + '%';
    h1 {
            });
        font-size: 26px;
         }
    }
     });
 
}, { threshold: 0.2 });
    h2 {
document.querySelectorAll('.oroza-stat-block').forEach(b => observer.observe(b));
         font-size: 23px;
*/
     }
 
    h3 {
        font-size: 20px;
    }
 
    h4 {
        font-size: 17px;
    }
 
    .oroza-grid-2,
    .oroza-grid-3,
    .oroza-grid-4 {
        grid-template-columns: 1fr;
    }
 
    .oroza-navbar {
        flex-direction: column;
        gap: 14px;
        padding: 18px 18px 16px;
    }
 
    .oroza-navbar-logo {
        position: static;
        margin-bottom: 4px;
    }
 
    .oroza-navbar a {
        display: block;
        padding: 6px 0;
    }
}

Revisión del 02:07 4 abr 2026

/* =========================================================
   OROZA WIKI - EXTENSION DE ESTILOS PARA MEDIAWIKI
   Basado en: OROZA WIKI - PREMIUM FANTASY LIGHT
   Cubre: Infoboxes · Drops · Navegacion · Mapas · Skills
          Quests · Clases · Tabs · Badges · Barras de stats
   Compatible con: MediaWiki 1.39+
   ========================================================= */


/* =========================================================
   VARIABLES (hereda de style.css, extiende lo necesario)
   ========================================================= */
:root {
    /* Rareza de items */
    --rarity-common:      #6a7a6a;
    --rarity-common-bg:   #f0f4f0;
    --rarity-uncommon:    #2a6a2a;
    --rarity-uncommon-bg: #eef6ee;
    --rarity-rare:        #1a4a9a;
    --rarity-rare-bg:     #eef2fb;
    --rarity-epic:        #7a2a9a;
    --rarity-epic-bg:     #f4eefb;
    --rarity-legendary:   #a07a10;
    --rarity-legendary-bg:#fdf4dc;
    --rarity-mvp:         #9a1a1a;
    --rarity-mvp-bg:      #fbeeed;

    /* Elementos */
    --elem-neutral: #607060;    --elem-neutral-bg: #f0f2f0;
    --elem-water:   #1a5a9a;    --elem-water-bg:   #eaf2fb;
    --elem-earth:   #5a7a2a;    --elem-earth-bg:   #eef5e8;
    --elem-fire:    #9a3a1a;    --elem-fire-bg:    #fbeee8;
    --elem-wind:    #2a7a6a;    --elem-wind-bg:    #eaf6f3;
    --elem-poison:  #5a3a7a;    --elem-poison-bg:  #f2eefb;
    --elem-holy:    #8a7a1a;    --elem-holy-bg:    #faf6dc;
    --elem-dark:    #2a2a4a;    --elem-dark-bg:    #eeeef5;
    --elem-ghost:   #4a4a5a;    --elem-ghost-bg:   #f0f0f5;
    --elem-undead:  #5a1a1a;    --elem-undead-bg:  #f5eeee;

    /* Stats de personaje */
    --stat-hp:  #b83232;
    --stat-sp:  #2858a8;
    --stat-str: #c05820;
    --stat-agi: #208040;
    --stat-vit: #804820;
    --stat-int: #6030a0;
    --stat-dex: #207878;
    --stat-luk: #a07010;

    /* Tipos de monstruo */
    --race-demi:    #3a5a7a;
    --race-brute:   #5a3a1a;
    --race-plant:   #2a5a2a;
    --race-insect:  #4a5a1a;
    --race-fish:    #1a4a6a;
    --race-demon:   #4a1a4a;
    --race-angel:   #7a6a1a;
    --race-dragon:  #6a1a1a;
    --race-formless:#3a3a3a;
    --race-undead:  #2a1a1a;
}


/* =========================================================
   1) INFOBOX UNIVERSAL
   Usada en: Monstruos, Items, NPCs, Skills, Mapas
   ========================================================= */
.oroza-infobox {
    float: right;
    clear: right;
    margin: 0 0 20px 24px;
    width: 280px;
    background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
    border: 1px solid var(--oroza-border);
    border-radius: var(--oroza-radius-md);
    box-shadow: var(--oroza-shadow-sm);
    overflow: hidden;
    font-size: 13.5px;
}

.oroza-infobox-title {
    padding: 12px 14px;
    background: linear-gradient(180deg, #24384b 0%, #182634 100%);
    color: #f6dda0;
    font-size: 15px;
    font-weight: 800;
    text-align: center;
    letter-spacing: .02em;
    border-bottom: 2px solid var(--oroza-gold);
}

.oroza-infobox-subtitle {
    padding: 6px 14px 10px;
    background: linear-gradient(180deg, #24384b 0%, #182634 100%);
    color: rgba(246,221,160,.65);
    font-size: 12px;
    text-align: center;
    margin-top: -4px;
    border-bottom: 2px solid var(--oroza-gold);
}

.oroza-infobox-image {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: linear-gradient(180deg, #f8f3e8 0%, #f0e8d6 100%);
    border-bottom: 1px solid var(--oroza-border-soft);
    min-height: 120px;
    position: relative;
}

.oroza-infobox-image img {
    max-width: 100%;
    max-height: 160px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 3px 8px rgba(24,38,52,.15));
}

.oroza-infobox table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.oroza-infobox table tr {
    border-bottom: 1px solid var(--oroza-border-soft);
    transition: background var(--oroza-fast);
}

.oroza-infobox table tr:last-child {
    border-bottom: none;
}

.oroza-infobox table tr:hover {
    background: rgba(200,161,74,.06);
}

.oroza-infobox table th {
    padding: 8px 12px;
    width: 42%;
    background: rgba(248,239,217,.55);
    color: var(--oroza-text);
    font-size: 12.5px;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    border-right: 1px solid var(--oroza-border-soft);
}

.oroza-infobox table td {
    padding: 8px 12px;
    color: var(--oroza-text-body);
    font-size: 13px;
    vertical-align: middle;
}

.oroza-infobox-section {
    padding: 8px 12px 4px;
    background: linear-gradient(180deg, #f7eed8 0%, #ecd8a6 100%);
    border-top: 1px solid var(--oroza-gold-border);
    border-bottom: 1px solid var(--oroza-gold-border);
    color: var(--oroza-primary);
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* Infobox para monstruos */
.oroza-infobox.monster .oroza-infobox-image {
    background:
        radial-gradient(ellipse at center, rgba(200,161,74,.08) 0%, transparent 70%),
        linear-gradient(180deg, #f8f3e8 0%, #f0e8d6 100%);
}

/* Infobox para items */
.oroza-infobox.item .oroza-infobox-title {
    background: linear-gradient(180deg, #2a3a52 0%, #1c2a3e 100%);
}

/* Infobox para NPCs */
.oroza-infobox.npc .oroza-infobox-image {
    background: linear-gradient(180deg, #eef5fb 0%, #ddeaf4 100%);
}

/* Responsive infobox */
@media screen and (max-width: 640px) {
    .oroza-infobox {
        float: none;
        width: 100%;
        margin: 0 0 20px 0;
    }
}


/* =========================================================
   2) TABLA DE DROPS
   ========================================================= */
.oroza-drop-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--oroza-border);
    border-radius: var(--oroza-radius-sm);
    overflow: hidden;
    box-shadow: var(--oroza-shadow-xs);
    font-size: 14px;
    margin: 14px 0;
}

.oroza-drop-table thead tr {
    background: linear-gradient(180deg, #f7eed9 0%, #ecd7a0 100%);
}

.oroza-drop-table thead th {
    padding: 11px 14px;
    color: #53401a;
    font-weight: 800;
    font-size: 13px;
    text-align: left;
    border-bottom: 1px solid rgba(200,161,74,.30);
}

.oroza-drop-table tbody tr {
    background: #fffdf9;
    border-bottom: 1px solid var(--oroza-border-soft);
    transition: background var(--oroza-fast);
}

.oroza-drop-table tbody tr:last-child {
    border-bottom: none;
}

.oroza-drop-table tbody tr:hover {
    background: #faf5ec;
}

.oroza-drop-table td {
    padding: 10px 14px;
    color: var(--oroza-text-body);
    vertical-align: middle;
}

.oroza-drop-table .drop-icon {
    width: 36px;
    text-align: center;
    padding: 6px 8px;
}

.oroza-drop-table .drop-icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    image-rendering: pixelated;
}

.oroza-drop-table .drop-name {
    font-weight: 700;
    color: var(--oroza-text);
}

.oroza-drop-table .drop-name a {
    color: var(--oroza-text) !important;
    font-weight: 700;
}

.oroza-drop-table .drop-name a:hover {
    color: var(--oroza-gold-deep) !important;
}

.oroza-drop-table .drop-rate {
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    padding-right: 16px;
}

/* Colores de tasa de drop */
.drop-rate-mvp    { color: var(--rarity-mvp); }
.drop-rate-rare   { color: var(--rarity-epic); }
.drop-rate-uncommon { color: var(--rarity-rare); }
.drop-rate-low    { color: var(--rarity-uncommon); }
.drop-rate-common { color: var(--rarity-common); }

.drop-rate-bar {
    display: inline-block;
    width: 60px;
    height: 5px;
    background: var(--oroza-border);
    border-radius: 999px;
    vertical-align: middle;
    margin-right: 8px;
    overflow: hidden;
}

.drop-rate-bar-fill {
    height: 100%;
    border-radius: 999px;
    background: var(--oroza-gold);
    transition: width .6s ease;
}


/* =========================================================
   3) BADGES DE RAREZA, ELEMENTO, RAZA Y CLASE
   ========================================================= */
.oroza-badge-rarity,
.oroza-badge-elem,
.oroza-badge-race,
.oroza-badge-class,
.oroza-badge-size {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: var(--oroza-radius-pill);
    font-size: 12px;
    font-weight: 800;
    border: 1px solid transparent;
    white-space: nowrap;
}

/* Rareza */
.rarity-common    { background: var(--rarity-common-bg);    color: var(--rarity-common);    border-color: rgba(106,122,106,.22); }
.rarity-uncommon  { background: var(--rarity-uncommon-bg);  color: var(--rarity-uncommon);  border-color: rgba(42,106,42,.22); }
.rarity-rare      { background: var(--rarity-rare-bg);      color: var(--rarity-rare);      border-color: rgba(26,74,154,.22); }
.rarity-epic      { background: var(--rarity-epic-bg);      color: var(--rarity-epic);      border-color: rgba(122,42,154,.22); }
.rarity-legendary { background: var(--rarity-legendary-bg); color: var(--rarity-legendary); border-color: rgba(160,122,16,.22); }
.rarity-mvp       { background: var(--rarity-mvp-bg);       color: var(--rarity-mvp);       border-color: rgba(154,26,26,.22); }

/* Elementos */
.elem-neutral { background: var(--elem-neutral-bg); color: var(--elem-neutral); border-color: rgba(96,112,96,.2); }
.elem-water   { background: var(--elem-water-bg);   color: var(--elem-water);   border-color: rgba(26,90,154,.2); }
.elem-earth   { background: var(--elem-earth-bg);   color: var(--elem-earth);   border-color: rgba(90,122,42,.2); }
.elem-fire    { background: var(--elem-fire-bg);    color: var(--elem-fire);    border-color: rgba(154,58,26,.2); }
.elem-wind    { background: var(--elem-wind-bg);    color: var(--elem-wind);    border-color: rgba(42,122,106,.2); }
.elem-poison  { background: var(--elem-poison-bg);  color: var(--elem-poison);  border-color: rgba(90,58,122,.2); }
.elem-holy    { background: var(--elem-holy-bg);    color: var(--elem-holy);    border-color: rgba(138,122,26,.2); }
.elem-dark    { background: var(--elem-dark-bg);    color: var(--elem-dark);    border-color: rgba(42,42,74,.2); }
.elem-ghost   { background: var(--elem-ghost-bg);   color: var(--elem-ghost);   border-color: rgba(74,74,90,.2); }
.elem-undead  { background: var(--elem-undead-bg);  color: var(--elem-undead);  border-color: rgba(90,26,26,.2); }

/* Tamaño de monstruo */
.size-small  { background: #f0f4f0; color: #4a6a4a; border-color: rgba(74,106,74,.2);  }
.size-medium { background: #f4f0ec; color: #6a5a3a; border-color: rgba(106,90,58,.2);  }
.size-large  { background: #f4eef0; color: #6a3a4a; border-color: rgba(106,58,74,.2);  }


/* =========================================================
   4) BARRAS DE STATS (HP, SP, ATRIBUTOS)
   ========================================================= */
.oroza-stat-block {
    margin: 14px 0;
}

.oroza-stat-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.oroza-stat-label {
    width: 42px;
    font-size: 11.5px;
    font-weight: 800;
    color: var(--oroza-text-soft);
    text-transform: uppercase;
    letter-spacing: .04em;
    flex-shrink: 0;
}

.oroza-stat-bar-bg {
    flex: 1;
    height: 8px;
    background: var(--oroza-border-soft);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}

.oroza-stat-bar-fill {
    height: 100%;
    border-radius: 999px;
    transition: width .8s cubic-bezier(.4,0,.2,1);
    position: relative;
}

.oroza-stat-bar-fill::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 40%;
    background: rgba(255,255,255,.25);
    border-radius: 999px;
}

.stat-bar-hp    { background: linear-gradient(90deg, #c04040, #e05050); }
.stat-bar-sp    { background: linear-gradient(90deg, #3060b0, #4080d0); }
.stat-bar-str   { background: linear-gradient(90deg, #b04820, #d06030); }
.stat-bar-agi   { background: linear-gradient(90deg, #208040, #30a050); }
.stat-bar-vit   { background: linear-gradient(90deg, #784020, #986040); }
.stat-bar-int   { background: linear-gradient(90deg, #5828a0, #7840c0); }
.stat-bar-dex   { background: linear-gradient(90deg, #187070, #249090); }
.stat-bar-luk   { background: linear-gradient(90deg, #906010, #b08020); }

.oroza-stat-val {
    width: 52px;
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    color: var(--oroza-text);
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}


/* =========================================================
   5) TABS / PESTAÑAS DE CONTENIDO
   ========================================================= */
.oroza-tabs {
    margin: 20px 0;
}

.oroza-tab-nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--oroza-border);
    flex-wrap: wrap;
}

.oroza-tab-btn {
    padding: 10px 18px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    color: var(--oroza-text-soft);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition:
        color var(--oroza-fast),
        border-color var(--oroza-fast),
        background var(--oroza-fast);
    border-radius: var(--oroza-radius-xs) var(--oroza-radius-xs) 0 0;
}

.oroza-tab-btn:hover {
    color: var(--oroza-primary);
    background: rgba(200,161,74,.06);
}

.oroza-tab-btn.active {
    color: var(--oroza-primary-deep);
    border-bottom-color: var(--oroza-gold);
    background: rgba(200,161,74,.06);
}

.oroza-tab-panel {
    display: none;
    padding: 20px 0;
    animation: tabFadeIn .2s ease;
}

.oroza-tab-panel.active {
    display: block;
}

@keyframes tabFadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}


/* =========================================================
   6) TABLA DE HABILIDADES / SKILLS
   ========================================================= */
.oroza-skill-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
    margin: 16px 0;
}

.oroza-skill-card {
    background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
    border: 1px solid var(--oroza-border-soft);
    border-radius: var(--oroza-radius-sm);
    padding: 14px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    transition:
        transform var(--oroza-fast),
        box-shadow var(--oroza-fast),
        border-color var(--oroza-fast);
    cursor: default;
}

.oroza-skill-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--oroza-shadow-sm);
    border-color: var(--oroza-gold-border);
}

.oroza-skill-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid var(--oroza-border);
    background: var(--oroza-surface-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.oroza-skill-icon img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    image-rendering: pixelated;
}

.oroza-skill-info .skill-name {
    font-size: 13.5px;
    font-weight: 800;
    color: var(--oroza-primary);
    margin-bottom: 3px;
}

.oroza-skill-info .skill-type {
    font-size: 11.5px;
    color: var(--oroza-text-muted);
    margin-bottom: 5px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.oroza-skill-info .skill-desc {
    font-size: 12.5px;
    color: var(--oroza-text-body);
    line-height: 1.6;
}

/* Skill tipo badge */
.skill-passive  { background: #eef5e8; color: #2a6a2a; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(42,106,42,.2); }
.skill-active   { background: #eef2fb; color: #1a4a9a; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(26,74,154,.2); }
.skill-toggle   { background: #f4eefb; color: #7a2a9a; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(122,42,154,.2); }
.skill-support  { background: #fdf4dc; color: #8a6810; padding: 1px 7px; border-radius: 999px; border: 1px solid rgba(138,104,16,.2); }


/* =========================================================
   7) TABLA DE QUESTS / MISIONES
   ========================================================= */
.oroza-quest-list {
    list-style: none;
    padding: 0;
    margin: 16px 0;
}

.oroza-quest-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    background: linear-gradient(180deg, #fffdf9 0%, #faf5ec 100%);
    border: 1px solid var(--oroza-border-soft);
    border-radius: var(--oroza-radius-sm);
    margin-bottom: 10px;
    transition:
        transform var(--oroza-fast),
        box-shadow var(--oroza-fast);
}

.oroza-quest-item:hover {
    transform: translateX(3px);
    box-shadow: var(--oroza-shadow-xs);
}

.oroza-quest-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(180deg, var(--oroza-primary-2) 0%, var(--oroza-primary-deep) 100%);
    color: #f6dda0;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(246,221,160,.2);
}

.oroza-quest-content .quest-title {
    font-size: 14.5px;
    font-weight: 800;
    color: var(--oroza-primary);
    margin-bottom: 4px;
}

.oroza-quest-content .quest-desc {
    font-size: 13.5px;
    color: var(--oroza-text-body);
    line-height: 1.65;
}

.oroza-quest-content .quest-reward {
    margin-top: 6px;
    font-size: 12.5px;
    color: var(--oroza-text-soft);
}

.oroza-quest-content .quest-reward strong {
    color: var(--oroza-gold-deep);
}

/* Estado de quest */
.quest-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 800;
    margin-left: 8px;
}

.quest-daily   { background: #eef2fb; color: #1a4a9a; border: 1px solid rgba(26,74,154,.2); }
.quest-main    { background: #fdf4dc; color: #8a6810; border: 1px solid rgba(138,104,16,.2); }
.quest-repeatable { background: #eef6ee; color: #2a6a2a; border: 1px solid rgba(42,106,42,.2); }
.quest-event   { background: #fbeeed; color: #9a1a1a; border: 1px solid rgba(154,26,26,.2); }


/* =========================================================
   8) TABLA DE EXPERIENCIA / NIVEL
   ========================================================= */
.oroza-level-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--oroza-border);
    border-radius: var(--oroza-radius-sm);
    overflow: hidden;
    font-size: 14px;
    margin: 14px 0;
}

.oroza-level-table thead th {
    padding: 11px 14px;
    background: linear-gradient(180deg, #24384b 0%, #182634 100%);
    color: #f6dda0;
    font-size: 12.5px;
    font-weight: 800;
    text-align: center;
    border-bottom: 2px solid var(--oroza-gold);
}

.oroza-level-table tbody tr {
    background: #fffdf9;
    border-bottom: 1px solid var(--oroza-border-soft);
    transition: background var(--oroza-fast);
}

.oroza-level-table tbody tr:hover {
    background: #faf5ec;
}

.oroza-level-table tbody tr:nth-child(10n) {
    background: linear-gradient(90deg, #fdf8ef, #fffdf9);
    font-weight: 700;
    border-bottom: 1px solid rgba(200,161,74,.25);
}

.oroza-level-table td {
    padding: 8px 14px;
    text-align: center;
    color: var(--oroza-text-body);
}

.oroza-level-table td:first-child {
    font-weight: 700;
    color: var(--oroza-primary);
    background: rgba(248,239,217,.45);
    border-right: 1px solid var(--oroza-border-soft);
}


/* =========================================================
   9) CARD DE CLASE / JOB
   ========================================================= */
.oroza-class-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
    margin: 16px 0;
}

.oroza-class-card {
    background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
    border: 1px solid var(--oroza-border-soft);
    border-radius: var(--oroza-radius-md);
    overflow: hidden;
    text-align: center;
    transition:
        transform var(--oroza-mid),
        box-shadow var(--oroza-mid),
        border-color var(--oroza-mid);
    cursor: pointer;
}

.oroza-class-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--oroza-shadow-md);
    border-color: var(--oroza-gold-border);
}

.oroza-class-card:hover .class-header {
    border-bottom-color: var(--oroza-gold);
}

.class-header {
    padding: 14px 12px;
    background: linear-gradient(180deg, #24384b 0%, #182634 100%);
    border-bottom: 2px solid transparent;
    transition: border-color var(--oroza-mid);
}

.class-header img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

.class-body {
    padding: 12px;
}

.class-name {
    font-size: 14px;
    font-weight: 800;
    color: var(--oroza-primary-deep);
    margin-bottom: 4px;
}

.class-desc {
    font-size: 12px;
    color: var(--oroza-text-soft);
    line-height: 1.55;
}

.class-tier {
    display: inline-block;
    margin-top: 8px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    background: var(--oroza-gold-soft);
    color: var(--oroza-gold-deep);
    border: 1px solid var(--oroza-gold-border);
}


/* =========================================================
   10) MAPA / MINIMAP
   ========================================================= */
.oroza-map-frame {
    position: relative;
    border: 1px solid var(--oroza-border);
    border-radius: var(--oroza-radius-md);
    overflow: hidden;
    box-shadow: var(--oroza-shadow-sm);
    background: #d4c9b0;
    margin: 16px 0;
}

.oroza-map-frame img {
    display: block;
    width: 100%;
    height: auto;
    image-rendering: pixelated;
}

.oroza-map-legend {
    padding: 10px 14px;
    background: linear-gradient(180deg, #fffaf1 0%, #f5ead0 100%);
    border-top: 1px solid var(--oroza-gold-border);
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 12.5px;
}

.oroza-map-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--oroza-text-body);
}

.map-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

.map-dot-spawn  { background: #c04040; border: 2px solid #8a2020; }
.map-dot-npc    { background: #3060b0; border: 2px solid #1a3a80; }
.map-dot-warp   { background: #208040; border: 2px solid #105020; }
.map-dot-shop   { background: #a07010; border: 2px solid #705008; }
.map-dot-quest  { background: #8030a0; border: 2px solid #501870; }


/* =========================================================
   11) BREADCRUMB / MIGAS DE PAN
   ========================================================= */
.oroza-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 10px 0;
    margin-bottom: 16px;
    font-size: 13.5px;
}

.oroza-breadcrumb a {
    color: var(--oroza-text-soft) !important;
    font-weight: 600;
}

.oroza-breadcrumb a:hover {
    color: var(--oroza-gold-deep) !important;
}

.oroza-breadcrumb .sep {
    color: var(--oroza-border-strong);
    font-size: 11px;
    user-select: none;
}

.oroza-breadcrumb .current {
    color: var(--oroza-primary-deep);
    font-weight: 700;
}


/* =========================================================
   12) CAJA DE NAVEGACION (NavBox)
   ========================================================= */
.oroza-navbox {
    margin: 28px 0 20px;
    background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
    border: 1px solid var(--oroza-border);
    border-radius: var(--oroza-radius-md);
    overflow: hidden;
    box-shadow: var(--oroza-shadow-xs);
    font-size: 13.5px;
}

.oroza-navbox-title {
    padding: 12px 16px;
    background: linear-gradient(180deg, #24384b 0%, #182634 100%);
    color: #f6dda0;
    font-size: 13px;
    font-weight: 800;
    border-bottom: 2px solid var(--oroza-gold);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.oroza-navbox-body {
    padding: 14px 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.oroza-navbox-group {
    min-width: 140px;
    flex: 1;
}

.navbox-group-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--oroza-text-soft);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 6px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--oroza-border-soft);
}

.oroza-navbox-body a {
    display: inline-block;
    margin: 2px 4px 2px 0;
    padding: 3px 9px;
    background: var(--oroza-surface-soft);
    border: 1px solid var(--oroza-border-soft);
    border-radius: var(--oroza-radius-pill);
    color: var(--oroza-text-body) !important;
    font-size: 13px;
    font-weight: 600;
    transition:
        background var(--oroza-fast),
        border-color var(--oroza-fast),
        color var(--oroza-fast);
}

.oroza-navbox-body a:hover {
    background: var(--oroza-gold-soft);
    border-color: var(--oroza-gold-border);
    color: var(--oroza-gold-deep) !important;
}


/* =========================================================
   13) PAGINA DE CATEGORIA
   ========================================================= */
.oroza-category-header {
    margin-bottom: 20px;
    padding: 20px 24px;
    background: linear-gradient(180deg, #fffdf9 0%, #f8f2e8 100%);
    border: 1px solid var(--oroza-border);
    border-radius: var(--oroza-radius-md);
    border-left: 4px solid var(--oroza-gold);
    box-shadow: var(--oroza-shadow-xs);
}

.oroza-category-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--oroza-primary-deep);
    margin-bottom: 6px;
}

.oroza-category-desc {
    font-size: 14.5px;
    color: var(--oroza-text-body);
    line-height: 1.75;
}

.oroza-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.oroza-category-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: linear-gradient(180deg, #fffdf9 0%, #faf5ec 100%);
    border: 1px solid var(--oroza-border-soft);
    border-radius: var(--oroza-radius-sm);
    color: var(--oroza-text) !important;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none !important;
    transition:
        transform var(--oroza-fast),
        box-shadow var(--oroza-fast),
        border-color var(--oroza-fast),
        background var(--oroza-fast);
}

.oroza-category-link:hover {
    transform: translateX(3px);
    box-shadow: var(--oroza-shadow-xs);
    border-color: var(--oroza-gold-border);
    background: linear-gradient(180deg, #fffdfa 0%, #fdf5e6 100%);
    color: var(--oroza-primary-deep) !important;
}

.oroza-category-link img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    image-rendering: pixelated;
}


/* =========================================================
   14) SEARCH HIGHLIGHT
   ========================================================= */
.searchresult .searchmatch,
.oroza-highlight {
    background: rgba(200,161,74,.22);
    color: var(--oroza-primary-deep);
    padding: 0 3px;
    border-radius: 3px;
    font-weight: 700;
}


/* =========================================================
   15) TABLA DE COMPARACION DE ITEMS
   ========================================================= */
.oroza-compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--oroza-border);
    border-radius: var(--oroza-radius-sm);
    overflow: hidden;
    font-size: 14px;
    margin: 14px 0;
}

.oroza-compare-table thead th {
    padding: 13px 14px;
    background: linear-gradient(180deg, #f7eed9 0%, #ecd7a0 100%);
    color: #53401a;
    font-weight: 800;
    font-size: 13.5px;
    text-align: center;
    border-bottom: 1px solid rgba(200,161,74,.30);
    border-right: 1px solid var(--oroza-border-soft);
}

.oroza-compare-table thead th:first-child {
    text-align: left;
    background: linear-gradient(180deg, #f0e8d6 0%, #e4d4b4 100%);
}

.oroza-compare-table tbody tr {
    border-bottom: 1px solid var(--oroza-border-soft);
    transition: background var(--oroza-fast);
}

.oroza-compare-table tbody tr:hover {
    background: rgba(200,161,74,.04);
}

.oroza-compare-table td {
    padding: 10px 14px;
    text-align: center;
    color: var(--oroza-text-body);
    border-right: 1px solid var(--oroza-border-soft);
}

.oroza-compare-table td:first-child {
    text-align: left;
    font-weight: 700;
    color: var(--oroza-text);
    background: rgba(248,239,217,.4);
}

.compare-better { color: #208040; font-weight: 800; }
.compare-worse  { color: #9a2020; }
.compare-equal  { color: var(--oroza-text-muted); }


/* =========================================================
   16) SPOILER / COLLAPSE
   ========================================================= */
.oroza-spoiler {
    margin: 14px 0;
    border: 1px solid var(--oroza-border);
    border-radius: var(--oroza-radius-sm);
    overflow: hidden;
}

.oroza-spoiler-toggle {
    width: 100%;
    padding: 12px 16px;
    background: linear-gradient(180deg, #f8f0dd 0%, #efdfb0 100%);
    border: none;
    border-left: 4px solid var(--oroza-gold);
    color: var(--oroza-primary);
    font-size: 14px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background var(--oroza-fast);
}

.oroza-spoiler-toggle:hover {
    background: linear-gradient(180deg, #fbf3e4 0%, #f3e4c0 100%);
}

.oroza-spoiler-toggle::after {
    content: "▼";
    font-size: 10px;
    transition: transform var(--oroza-fast);
}

.oroza-spoiler-toggle.open::after {
    transform: rotate(180deg);
}

.oroza-spoiler-body {
    display: none;
    padding: 16px;
    background: var(--oroza-surface);
    color: var(--oroza-text-body);
    font-size: 14.5px;
    line-height: 1.8;
    border-top: 1px solid var(--oroza-border-soft);
    animation: tabFadeIn .2s ease;
}

.oroza-spoiler-body.open {
    display: block;
}


/* =========================================================
   17) FOOTER DE PAGINA
   ========================================================= */
.oroza-page-footer {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid var(--oroza-border-soft);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: var(--oroza-text-muted);
}

.oroza-page-footer a {
    color: var(--oroza-text-soft) !important;
    font-weight: 600;
}

.oroza-page-footer a:hover {
    color: var(--oroza-gold-deep) !important;
}

.oroza-last-edited {
    font-size: 12.5px;
    color: var(--oroza-text-muted);
    font-style: italic;
}


/* =========================================================
   18) JS — SCRIPTS DE APOYO
   Pegar en common.js o al final del skin
   ========================================================= */
/*
// Tabs
document.querySelectorAll('.oroza-tab-btn').forEach(btn => {
    btn.addEventListener('click', () => {
        const tabs = btn.closest('.oroza-tabs');
        tabs.querySelectorAll('.oroza-tab-btn').forEach(b => b.classList.remove('active'));
        tabs.querySelectorAll('.oroza-tab-panel').forEach(p => p.classList.remove('active'));
        btn.classList.add('active');
        tabs.querySelector('#' + btn.dataset.tab).classList.add('active');
    });
});

// Spoilers
document.querySelectorAll('.oroza-spoiler-toggle').forEach(toggle => {
    toggle.addEventListener('click', () => {
        toggle.classList.toggle('open');
        toggle.nextElementSibling.classList.toggle('open');
    });
});

// Animate stat bars on load
const observer = new IntersectionObserver(entries => {
    entries.forEach(e => {
        if (e.isIntersecting) {
            e.target.querySelectorAll('.oroza-stat-bar-fill').forEach(bar => {
                bar.style.width = bar.dataset.value + '%';
            });
        }
    });
}, { threshold: 0.2 });
document.querySelectorAll('.oroza-stat-block').forEach(b => observer.observe(b));
*/